summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/battle_1.s10
-rw-r--r--asm/battle_7.s6
-rw-r--r--asm/battle_controller_linkopponent.s4
-rw-r--r--asm/battle_controller_linkpartner.s2
-rw-r--r--asm/battle_controller_opponent.s4
-rw-r--r--asm/battle_controller_player.s10
-rw-r--r--asm/battle_controller_player_partner.s4
-rw-r--r--asm/battle_controller_recorded_opponent.s2
-rw-r--r--asm/battle_controller_recorded_player.s4
-rw-r--r--asm/battle_controller_safari.s2
-rw-r--r--asm/battle_controller_wally.s4
-rwxr-xr-xasm/battle_frontier_2.s4
-rw-r--r--asm/battle_link_817C95C.s14
-rw-r--r--asm/battle_message.s3089
-rw-r--r--asm/battle_setup.s12
-rwxr-xr-xasm/battle_tower.s12
-rw-r--r--asm/fldeff_emotion.s328
-rw-r--r--asm/main_menu.s14
-rwxr-xr-xasm/pokemon_summary_screen.s2
-rw-r--r--asm/reset_rtc_screen.s4
-rw-r--r--asm/reshow_battle_screen.s6
-rw-r--r--asm/rom6.s2
-rw-r--r--asm/rom_80A5C6C.s4
-rw-r--r--asm/trainer_see.s328
-rw-r--r--charmap.txt6
-rw-r--r--data/battle_1.s12
-rw-r--r--data/battle_anims.s742
-rw-r--r--data/battle_message.s2083
-rw-r--r--data/bike.s47
-rw-r--r--data/cable_club.s9
-rw-r--r--data/data2b.s4855
-rw-r--r--data/data2c.s137
-rw-r--r--data/enemy_mon_elevation.inc415
-rw-r--r--data/fanfares.s20
-rw-r--r--data/fldeff_emotion.s11
-rw-r--r--data/graphics.s122
-rw-r--r--data/graphics/pokemon/animation_delay_table.inc412
-rw-r--r--data/graphics/pokemon/back_pic_table.inc (renamed from data/graphics/pokemon/mon_back_pic_table.inc)0
-rw-r--r--data/graphics/pokemon/footprint_table.inc (renamed from data/graphics/pokemon/mon_footprint_table.inc)0
-rw-r--r--data/graphics/pokemon/front_anim_ids_table.inc412
-rw-r--r--data/graphics/pokemon/front_anims.inc6915
-rw-r--r--data/graphics/pokemon/front_pic_table.inc (renamed from data/graphics/pokemon/mon_front_pic_table.inc)0
-rw-r--r--data/graphics/pokemon/graphics.inc (renamed from data/graphics/pokemon/mon_graphics.inc)0
-rw-r--r--data/graphics/pokemon/icon_palette_indices.inc (renamed from data/graphics/pokemon/mon_icon_palette_indices.inc)0
-rw-r--r--data/graphics/pokemon/icon_palette_table.inc (renamed from data/graphics/pokemon/mon_icon_palette_table.inc)0
-rw-r--r--data/graphics/pokemon/icon_table.inc (renamed from data/graphics/pokemon/mon_icon_table.inc)0
-rw-r--r--data/graphics/pokemon/palette_table.inc (renamed from data/graphics/pokemon/mon_palette_table.inc)0
-rw-r--r--data/graphics/pokemon/shiny_palette_table.inc (renamed from data/graphics/pokemon/mon_shiny_palette_table.inc)0
-rw-r--r--data/graphics/pokemon/still_front_pic_table.inc (renamed from data/graphics/pokemon/mon_still_front_pic_table.inc)0
-rw-r--r--data/graphics/trainers/back_pic_coords.inc10
-rw-r--r--data/graphics/trainers/back_pic_palette_table.inc (renamed from data/graphics/trainers/trainer_back_pic_palette_table.inc)0
-rw-r--r--data/graphics/trainers/back_pic_table.inc (renamed from data/graphics/trainers/trainer_back_pic_table.inc)0
-rw-r--r--data/graphics/trainers/front_pic_coords.inc95
-rw-r--r--data/graphics/trainers/front_pic_palette_table.inc (renamed from data/graphics/trainers/trainer_front_pic_palette_table.inc)0
-rw-r--r--data/graphics/trainers/front_pic_table.inc (renamed from data/graphics/trainers/trainer_front_pic_table.inc)0
-rw-r--r--data/graphics/trainers/graphics.inc (renamed from data/graphics/trainers/trainer_graphics.inc)0
-rw-r--r--data/main_menu.s141
-rw-r--r--data/pokedex.s2
-rw-r--r--data/pokemon_icon.s9
-rw-r--r--data/reset_rtc_screen.s75
-rw-r--r--data/strings.s92
-rw-r--r--data/title_screen.s11
-rw-r--r--data/trainer_money.inc59
-rw-r--r--data/trainer_see.s83
-rw-r--r--data/type_effectiveness.inc119
-rw-r--r--graphics/birch_speech/bg0.pal19
-rw-r--r--graphics/birch_speech/bg1.pal19
-rw-r--r--graphics/birch_speech/bg2.pal11
-rw-r--r--graphics/birch_speech/map.binbin0 -> 1280 bytes
-rw-r--r--graphics/birch_speech/shadow.pngbin0 -> 433 bytes
-rw-r--r--graphics/link/minigame_digits.pal19
-rw-r--r--graphics/link/minigame_digits.pngbin0 -> 264 bytes
-rw-r--r--graphics/link/minigame_digits2.pngbin0 -> 296 bytes
-rw-r--r--graphics/misc/emotion_exclamation.pngbin0 -> 108 bytes
-rw-r--r--graphics/misc/emotion_heart.pngbin0 -> 126 bytes
-rw-r--r--graphics/misc/emotion_question.pngbin0 -> 117 bytes
-rw-r--r--graphics/misc/main_menu_bg.pal19
-rw-r--r--graphics/misc/main_menu_text.pal19
-rw-r--r--graphics/misc/reset_rtc_screen_arrow.pal7
-rw-r--r--graphics/misc/reset_rtc_screen_downarrow.pngbin0 -> 113 bytes
-rw-r--r--graphics/misc/reset_rtc_screen_rightarrow.pngbin0 -> 110 bytes
-rw-r--r--graphics/title_screen/unk_853EF78.pal115
-rw-r--r--include/battle.h2
-rw-r--r--include/battle_2.h3
-rw-r--r--include/battle_controllers.h4
-rw-r--r--include/battle_message.h124
-rw-r--r--include/battle_string_ids.h387
-rw-r--r--include/global.h37
-rw-r--r--include/text.h2
-rw-r--r--ld_script.txt8
-rw-r--r--src/battle_2.c21
-rw-r--r--src/battle_ai_script_commands.c840
-rw-r--r--src/battle_dome_cards.c4
-rw-r--r--src/battle_message.c2333
-rw-r--r--src/battle_script_commands.c27
-rw-r--r--src/pokemon_2.c6
-rw-r--r--src/util.c2
-rw-r--r--sym_ewram.txt21
98 files changed, 18128 insertions, 6686 deletions
diff --git a/asm/battle_1.s b/asm/battle_1.s
index 849736cb4..416fd87ec 100644
--- a/asm/battle_1.s
+++ b/asm/battle_1.s
@@ -1547,7 +1547,7 @@ _080358E0:
.4byte _08035A40
.4byte _08035A70
_08035904:
- ldr r4, =gUnknown_0831ABA8
+ ldr r4, =gBattleTerrainTable
ldr r5, =gBattleTerrain
ldrb r1, [r5]
lsls r0, r1, 2
@@ -2632,7 +2632,7 @@ _08036350:
lsls r0, 24
cmp r0, 0
bne _0803639C
- ldr r4, =gUnknown_0831ABA8
+ ldr r4, =gBattleTerrainTable
ldr r5, =gBattleTerrain
ldrb r1, [r5]
lsls r0, r1, 2
@@ -2778,7 +2778,7 @@ _080364A8:
.4byte _08036510
.4byte _08036518
_080364CC:
- ldr r2, =gUnknown_0831ABA8
+ ldr r2, =gBattleTerrainTable
ldr r0, =gBattleTerrain
ldrb r1, [r0]
lsls r0, r1, 2
@@ -2888,7 +2888,7 @@ _080365B4:
.4byte _0803661C
.4byte _08036624
_080365D8:
- ldr r2, =gUnknown_0831ABA8
+ ldr r2, =gBattleTerrainTable
ldr r0, =gBattleTerrain
ldrb r1, [r0]
lsls r0, r1, 2
@@ -3003,7 +3003,7 @@ _080366C8:
.4byte _08036738
.4byte _08036740
_080366EC:
- ldr r2, =gUnknown_0831ABA8
+ ldr r2, =gBattleTerrainTable
ldr r0, =gBattleTerrain
ldrb r1, [r0]
lsls r0, r1, 2
diff --git a/asm/battle_7.s b/asm/battle_7.s
index 7f82e790a..7aea39cff 100644
--- a/asm/battle_7.s
+++ b/asm/battle_7.s
@@ -2541,7 +2541,7 @@ _0805E662:
ldr r1, =gSprites
adds r1, 0x8
adds r0, r1
- ldr r1, =gUnknown_08309AAC
+ ldr r1, =gMonAnimationsSpriteAnimsPtrTable
mov r3, r8
lsls r2, r3, 2
adds r1, r2
@@ -3365,7 +3365,7 @@ _0805EDE4:
adds r4, r1, 0
cmp r0, 0
beq _0805EE06
- ldr r0, =gUnknown_08305DCC
+ ldr r0, =gEnemyMonElevation
ldrh r1, [r3, 0x2]
adds r1, r0
ldrb r0, [r1]
@@ -3441,7 +3441,7 @@ sub_805EE54: @ 805EE54
beq _0805EE7E
adds r5, r0, 0
_0805EE7E:
- ldr r0, =gUnknown_08305DCC
+ ldr r0, =gEnemyMonElevation
adds r0, r5, r0
ldrb r0, [r0]
cmp r0, 0
diff --git a/asm/battle_controller_linkopponent.s b/asm/battle_controller_linkopponent.s
index 58f3b95b7..5005a562e 100644
--- a/asm/battle_controller_linkopponent.s
+++ b/asm/battle_controller_linkopponent.s
@@ -4283,7 +4283,7 @@ _0806694C:
bl sub_806A12C
ldr r6, =gUnknown_0202499C
mov r9, r7
- ldr r1, =gUnknown_083054E0
+ ldr r1, =gTrainerFrontPicCoords
mov r2, r8
lsls r0, r2, 2
adds r0, r1
@@ -4411,7 +4411,7 @@ _08066A76:
mov r0, r8
bl sub_806A12C
ldr r0, =gUnknown_0202499C
- ldr r2, =gUnknown_083054E0
+ ldr r2, =gTrainerFrontPicCoords
mov r3, r8
lsls r1, r3, 2
adds r1, r2
diff --git a/asm/battle_controller_linkpartner.s b/asm/battle_controller_linkpartner.s
index 562b236d0..c2f6a4571 100644
--- a/asm/battle_controller_linkpartner.s
+++ b/asm/battle_controller_linkpartner.s
@@ -3706,7 +3706,7 @@ _0814D002:
bl sub_806A12C
ldr r6, =gUnknown_0202499C
mov r8, r7
- ldr r0, =gUnknown_08305D2C
+ ldr r0, =gTrainerBackPicCoords
lsls r4, 2
adds r4, r0
ldrb r0, [r4]
diff --git a/asm/battle_controller_opponent.s b/asm/battle_controller_opponent.s
index 066a0ceab..48b7c7bf4 100644
--- a/asm/battle_controller_opponent.s
+++ b/asm/battle_controller_opponent.s
@@ -4339,7 +4339,7 @@ _080617CA:
bl sub_806A12C
ldr r6, =gUnknown_0202499C
mov r9, r7
- ldr r1, =gUnknown_083054E0
+ ldr r1, =gTrainerFrontPicCoords
mov r2, r8
lsls r0, r2, 2
adds r0, r1
@@ -4564,7 +4564,7 @@ _080619DE:
mov r0, r8
bl sub_806A12C
ldr r0, =gUnknown_0202499C
- ldr r2, =gUnknown_083054E0
+ ldr r2, =gTrainerFrontPicCoords
mov r3, r8
lsls r1, r3, 2
adds r1, r2
diff --git a/asm/battle_controller_player.s b/asm/battle_controller_player.s
index 1ea1bb5f2..94d4cdef0 100644
--- a/asm/battle_controller_player.s
+++ b/asm/battle_controller_player.s
@@ -4401,7 +4401,7 @@ sub_8059B3C: @ 8059B3C
ldrb r0, [r0]
cmp r0, 0x1
beq _08059B98
- bl sub_814FBAC
+ bl SetPpNumbersPaletteInMoveSelection
ldrb r1, [r7]
lsls r4, r1, 9
adds r0, r5, 0x4
@@ -7371,11 +7371,11 @@ _0805B5E0:
beq _0805B618
movs r0, 0x5A
mov r9, r0
- ldr r1, =gUnknown_083054E0
+ ldr r1, =gTrainerFrontPicCoords
b _0805B642
.pool
_0805B618:
- ldr r1, =gUnknown_08305D2C
+ ldr r1, =gTrainerBackPicCoords
lsls r0, r4, 2
adds r0, r1
ldrb r1, [r0]
@@ -7392,7 +7392,7 @@ _0805B618:
_0805B63C:
movs r0, 0x50
mov r9, r0
- ldr r1, =gUnknown_08305D2C
+ ldr r1, =gTrainerBackPicCoords
_0805B642:
lsls r0, r4, 2
adds r0, r1
@@ -7733,7 +7733,7 @@ _0805B926:
adds r0, r4, 0
bl sub_806A12C
ldr r0, =gUnknown_0202499C
- ldr r1, =gUnknown_08305D2C
+ ldr r1, =gTrainerBackPicCoords
lsls r4, 2
adds r4, r1
ldrb r1, [r4]
diff --git a/asm/battle_controller_player_partner.s b/asm/battle_controller_player_partner.s
index c0ea9b87f..0ddd2a924 100644
--- a/asm/battle_controller_player_partner.s
+++ b/asm/battle_controller_player_partner.s
@@ -4182,7 +4182,7 @@ sub_81BD37C: @ 81BD37C
movs r4, 0x7
movs r0, 0x5A
mov r9, r0
- ldr r0, =gUnknown_08305D2C
+ ldr r0, =gTrainerBackPicCoords
ldrb r1, [r0, 0x1C]
b _081BD3BE
.pool
@@ -4193,7 +4193,7 @@ _081BD3A8:
lsrs r4, r0, 24
movs r0, 0x20
mov r9, r0
- ldr r1, =gUnknown_083054E0
+ ldr r1, =gTrainerFrontPicCoords
lsls r0, r4, 2
adds r0, r1
ldrb r1, [r0]
diff --git a/asm/battle_controller_recorded_opponent.s b/asm/battle_controller_recorded_opponent.s
index 0d9bb2331..152dfca9c 100644
--- a/asm/battle_controller_recorded_opponent.s
+++ b/asm/battle_controller_recorded_opponent.s
@@ -4096,7 +4096,7 @@ _0818892C:
bl sub_806A12C
ldr r6, =gUnknown_0202499C
mov r9, r7
- ldr r1, =gUnknown_083054E0
+ ldr r1, =gTrainerFrontPicCoords
mov r2, r8
lsls r0, r2, 2
adds r0, r1
diff --git a/asm/battle_controller_recorded_player.s b/asm/battle_controller_recorded_player.s
index 1b0cd52e3..a2ea742b7 100644
--- a/asm/battle_controller_recorded_player.s
+++ b/asm/battle_controller_recorded_player.s
@@ -4033,14 +4033,14 @@ _0818BD72:
beq _0818BD9C
movs r0, 0x5A
mov r9, r0
- ldr r1, =gUnknown_083054E0
+ ldr r1, =gTrainerFrontPicCoords
b _0818BD9E
.pool
_0818BD98:
movs r0, 0x50
mov r9, r0
_0818BD9C:
- ldr r1, =gUnknown_08305D2C
+ ldr r1, =gTrainerBackPicCoords
_0818BD9E:
lsls r0, r4, 2
adds r0, r1
diff --git a/asm/battle_controller_safari.s b/asm/battle_controller_safari.s
index 26f7ad8f7..a5acca8c1 100644
--- a/asm/battle_controller_safari.s
+++ b/asm/battle_controller_safari.s
@@ -580,7 +580,7 @@ sub_8159800: @ 8159800
adds r0, r6, 0
bl sub_806A12C
ldr r0, =gUnknown_0202499C
- ldr r2, =gUnknown_08305D2C
+ ldr r2, =gTrainerBackPicCoords
ldr r1, [r4]
ldrb r1, [r1, 0x8]
lsls r1, 2
diff --git a/asm/battle_controller_wally.s b/asm/battle_controller_wally.s
index 629fa308d..64c8b4442 100644
--- a/asm/battle_controller_wally.s
+++ b/asm/battle_controller_wally.s
@@ -3039,7 +3039,7 @@ sub_8169EC8: @ 8169EC8
movs r0, 0x6
bl sub_806A12C
ldr r0, =gUnknown_0202499C
- ldr r1, =gUnknown_08305D2C
+ ldr r1, =gTrainerBackPicCoords
ldrb r1, [r1, 0x18]
movs r2, 0x8
subs r2, r1
@@ -3124,7 +3124,7 @@ dp01t_07_6_: @ 8169F94
movs r0, 0x6
bl sub_806A12C
ldr r0, =gUnknown_0202499C
- ldr r1, =gUnknown_08305D2C
+ ldr r1, =gTrainerBackPicCoords
ldrb r1, [r1, 0x18]
movs r2, 0x8
subs r2, r1
diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s
index de5617167..9e01d22d1 100755
--- a/asm/battle_frontier_2.s
+++ b/asm/battle_frontier_2.s
@@ -20577,7 +20577,7 @@ _081A5328:
movs r0, 0x1
negs r0, r0
strb r0, [r1, 0x1]
- ldr r0, =gText_JapaneseHonorific
+ ldr r0, =gText_PlayerMon1Name
bl BattleStringExpandPlaceholdersToDisplayedString
ldr r4, =gDisplayedStringBattle
adds r0, r4, 0
@@ -20586,7 +20586,7 @@ _081A5328:
ldr r0, =gText_Vs
movs r1, 0x10
bl sub_814F9EC
- ldr r0, =gText_RivalBuffer
+ ldr r0, =gText_OpponentMon1Name
bl BattleStringExpandPlaceholdersToDisplayedString
adds r0, r4, 0
movs r1, 0x11
diff --git a/asm/battle_link_817C95C.s b/asm/battle_link_817C95C.s
index 39ae59d8b..ec5baadd9 100644
--- a/asm/battle_link_817C95C.s
+++ b/asm/battle_link_817C95C.s
@@ -665,7 +665,7 @@ _0817D16C:
bl _0817DFAC
.pool
_0817D1B8:
- ldr r1, =gUnknown_02022F5C
+ ldr r1, =gBattleTextBuff1 + 4
ldrb r0, [r1]
cmp r0, 0
beq _0817D1C4
@@ -917,7 +917,7 @@ _0817D3C0:
bne _0817D3CC
bl _0817E0A6
_0817D3CC:
- ldr r1, =gUnknown_02022F6A
+ ldr r1, =gBattleTextBuff2 + 2
ldrh r0, [r1]
cmp r0, 0xD1
bne _0817D3E8
@@ -946,7 +946,7 @@ _0817D3FE:
ldrb r1, [r1]
cmp r0, r1
bne _0817D436
- ldr r1, =gUnknown_02022F6A
+ ldr r1, =gBattleTextBuff2 + 2
ldrh r0, [r1]
cmp r0, 0xD1
bne _0817D42C
@@ -988,7 +988,7 @@ _0817D45C:
bne _0817D468
bl _0817E0A6
_0817D468:
- ldr r1, =gUnknown_02022F6A
+ ldr r1, =gBattleTextBuff2 + 2
ldrh r0, [r1]
cmp r0, 0xD3
bne _0817D484
@@ -2182,7 +2182,7 @@ _0817DE10:
b _0817DFAA
.pool
_0817DE58:
- ldr r1, =gUnknown_02022F5A
+ ldr r1, =gBattleTextBuff1 + 2
ldrh r0, [r1]
cmp r0, 0x73
bne _0817DE82
@@ -2204,7 +2204,7 @@ _0817DE58:
ands r0, r2
strb r0, [r1]
_0817DE82:
- ldr r2, =gUnknown_02022F5A
+ ldr r2, =gBattleTextBuff1 + 2
ldrh r0, [r2]
cmp r0, 0x71
bne _0817DEAA
@@ -2225,7 +2225,7 @@ _0817DE82:
ands r0, r2
strb r0, [r1]
_0817DEAA:
- ldr r1, =gUnknown_02022F5A
+ ldr r1, =gBattleTextBuff1 + 2
ldrh r0, [r1]
cmp r0, 0x36
beq _0817DEB4
diff --git a/asm/battle_message.s b/asm/battle_message.s
deleted file mode 100644
index b114a36f8..000000000
--- a/asm/battle_message.s
+++ /dev/null
@@ -1,3089 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start BufferStringBattle
-BufferStringBattle: @ 814E0C4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 16
- lsrs r6, r0, 16
- movs r7, 0
- ldr r4, =gStringInfo
- ldr r0, =gActiveBank
- mov r8, r0
- ldrb r1, [r0]
- lsls r1, 9
- ldr r0, =gBattleBufferA + 4
- adds r1, r0
- str r1, [r4]
- ldr r2, =gLastUsedItem
- ldrh r0, [r1, 0x4]
- strh r0, [r2]
- ldr r2, =gLastUsedAbility
- ldrb r0, [r1, 0x6]
- strb r0, [r2]
- ldr r5, =gBattleScripting
- ldrb r0, [r1, 0x7]
- strb r0, [r5, 0x17]
- ldr r3, =gBattleStruct
- ldr r0, [r3]
- adds r0, 0x52
- ldrb r1, [r1, 0x8]
- strb r1, [r0]
- ldr r0, [r3]
- adds r0, 0xB1
- ldr r1, [r4]
- ldrb r1, [r1, 0x9]
- strb r1, [r0]
- ldr r1, =gStringBank
- ldr r2, [r4]
- ldrb r0, [r2, 0xA]
- strb r0, [r1]
- ldr r0, [r3]
- adds r0, 0x8E
- ldrb r1, [r2, 0xB]
- strb r1, [r0]
- movs r2, 0
- mov r12, r8
- mov r9, r5
- ldr r1, =gBattleTextBuff1
- mov r10, r1
- ldr r3, =gAbilitiesPerBank
-_0814E126:
- adds r0, r2, r3
- ldr r1, [r4]
- adds r1, 0xC
- adds r1, r2
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x3
- ble _0814E126
- movs r2, 0
- ldr r0, =gBattleTextBuff1
- mov r8, r0
- ldr r3, =gStringInfo
- ldr r5, =gBattleTextBuff2
- ldr r4, =gBattleTextBuff3
-_0814E144:
- mov r0, r8
- adds r1, r2, r0
- ldr r0, [r3]
- adds r0, 0x10
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r1, r2, r5
- ldr r0, [r3]
- adds r0, 0x20
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r1, r2, r4
- ldr r0, [r3]
- adds r0, 0x30
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r2, 0x1
- cmp r2, 0xF
- ble _0814E144
- cmp r6, 0x5
- bls _0814E176
- b _0814E6B8
-_0814E176:
- lsls r0, r6, 2
- ldr r1, =_0814E1B4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0814E1B4:
- .4byte _0814E1CC
- .4byte _0814E2AC
- .4byte _0814E394
- .4byte _0814E430
- .4byte _0814E4F8
- .4byte _0814E55C
-_0814E1CC:
- ldr r0, =gBattleTypeFlags
- ldr r2, [r0]
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _0814E26C
- ldr r0, =0x02000002
- ands r0, r2
- cmp r0, 0
- beq _0814E248
- movs r0, 0x80
- lsls r0, 16
- ands r0, r2
- cmp r0, 0
- bne _0814E260
- movs r0, 0x40
- ands r0, r2
- cmp r0, 0
- beq _0814E214
- movs r0, 0x80
- lsls r0, 17
- ands r2, r0
- ldr r7, =gText_TwoTrainersWantToBattle
- cmp r2, 0
- bne _0814E200
- b _0814E6D8
-_0814E200:
- ldr r7, =gText_TwoTrainersWantToBattle3
- b _0814E6D8
- .pool
-_0814E214:
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r1, [r0]
- movs r0, 0xC0
- lsls r0, 4
- cmp r1, r0
- bne _0814E22C
- ldr r7, =gText_TrainerXYWantsToBattle
- b _0814E6D8
- .pool
-_0814E22C:
- movs r0, 0x80
- lsls r0, 17
- ands r2, r0
- ldr r7, =gText_TrainerXWantsToBattle
- cmp r2, 0
- bne _0814E23A
- b _0814E6D8
-_0814E23A:
- ldr r7, =gText_TrainerWantsToBattle
- b _0814E6D8
- .pool
-_0814E248:
- movs r0, 0x80
- lsls r0, 15
- ands r0, r2
- cmp r0, 0
- bne _0814E260
- movs r0, 0x80
- lsls r0, 8
- ands r2, r0
- ldr r7, =gText_TrainerXYWantsToBattle
- cmp r2, 0
- bne _0814E260
- b _0814E6D8
-_0814E260:
- ldr r7, =gText_TwoTrainersWantToBattle2
- b _0814E6D8
- .pool
-_0814E26C:
- movs r0, 0x80
- lsls r0, 6
- ands r0, r2
- cmp r0, 0
- beq _0814E280
- ldr r7, =gText_WildPkmnAppeared2
- b _0814E6D8
- .pool
-_0814E280:
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _0814E290
- ldr r7, =gText_TwoWildPkmnAppeared
- b _0814E6D8
- .pool
-_0814E290:
- movs r0, 0x80
- lsls r0, 2
- ands r2, r0
- ldr r7, =gText_WildPkmnAppeared
- cmp r2, 0
- bne _0814E29E
- b _0814E6D8
-_0814E29E:
- ldr r7, =gText_WildPkmnAppearedPause
- b _0814E6D8
- .pool
-_0814E2AC:
- mov r1, r12
- ldrb r0, [r1]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _0814E310
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0814E308
- movs r0, 0x80
- lsls r0, 15
- ands r0, r1
- cmp r0, 0
- beq _0814E2DC
- ldr r7, =gText_TrainerXYSentOutZGoN
- b _0814E6D8
- .pool
-_0814E2DC:
- movs r0, 0x80
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _0814E2F0
- ldr r7, =gText_GoTwoPkmn
- b _0814E6D8
- .pool
-_0814E2F0:
- movs r0, 0x40
- ands r1, r0
- ldr r7, =gText_GoTwoPkmn
- cmp r1, 0
- bne _0814E2FC
- b _0814E6D8
-_0814E2FC:
- ldr r7, =gText_EnemySentOutPkmnGoPkmn
- b _0814E6D8
- .pool
-_0814E308:
- ldr r7, =gText_GoPkmn
- b _0814E6D8
- .pool
-_0814E310:
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0814E368
- movs r0, 0x80
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- bne _0814E330
- movs r0, 0x80
- lsls r0, 16
- ands r0, r1
- cmp r0, 0
- beq _0814E33C
-_0814E330:
- ldr r7, =gText_TwoTrainersSentPkmn
- b _0814E6D8
- .pool
-_0814E33C:
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0814E34C
- ldr r7, =gText_TwoTrainersSentOutPkmn
- b _0814E6D8
- .pool
-_0814E34C:
- ldr r0, =0x02000002
- ands r1, r0
- ldr r7, =gText_TrainerXYSentOutTwoPkmn
- cmp r1, 0
- bne _0814E358
- b _0814E6D8
-_0814E358:
- ldr r7, =gText_TrainerXSentOutTwoPkmn
- b _0814E6D8
- .pool
-_0814E368:
- ldr r0, =0x02000002
- ands r1, r0
- cmp r1, 0
- beq _0814E380
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r1, [r0]
- movs r0, 0xC0
- lsls r0, 4
- ldr r7, =gText_TrainerXSentOutPkmn
- cmp r1, r0
- beq _0814E380
- b _0814E6D8
-_0814E380:
- ldr r7, =gText_TrainerXYSentOutPkmn
- b _0814E6D8
- .pool
-_0814E394:
- mov r1, r12
- ldrb r0, [r1]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _0814E3EC
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r0, 0xB1
- ldrb r2, [r0]
- cmp r2, 0
- bne _0814E3BC
- ldr r7, =gText_PkmnThatsEnough
- b _0814E6D8
- .pool
-_0814E3BC:
- cmp r2, 0x1
- beq _0814E3CC
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0814E3D8
-_0814E3CC:
- ldr r7, =gText_PkmnComeBack
- b _0814E6D8
- .pool
-_0814E3D8:
- ldr r7, =gText_PkmnGoodComeBack
- cmp r2, 0x2
- beq _0814E3E0
- b _0814E6D8
-_0814E3E0:
- ldr r7, =gText_PkmnOkComeBack
- b _0814E6D8
- .pool
-_0814E3EC:
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 4
- ldr r2, =gBattleTypeFlags
- cmp r1, r0
- beq _0814E406
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 18
- ands r0, r1
- cmp r0, 0
- beq _0814E428
-_0814E406:
- ldr r0, [r2]
- movs r1, 0x40
- ands r0, r1
- ldr r7, =gText_TrainerXWithdrewPkmn
- cmp r0, 0
- bne _0814E414
- b _0814E6D8
-_0814E414:
- ldr r7, =gText_TrainerXWithdrewPkmn2
- b _0814E6D8
- .pool
-_0814E428:
- ldr r7, =gText_TrainerXYWithdrewPkmn
- b _0814E6D8
- .pool
-_0814E430:
- mov r4, r9
- ldrb r0, [r4, 0x17]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _0814E488
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r0, 0xB1
- ldrb r2, [r0]
- cmp r2, 0
- beq _0814E456
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0814E468
-_0814E456:
- ldr r7, =gText_GoPkmn2
- b _0814E6D8
- .pool
-_0814E468:
- cmp r2, 0x1
- bne _0814E474
- ldr r7, =gText_DoItPkmn
- b _0814E6D8
- .pool
-_0814E474:
- ldr r7, =gText_YourFoesWeakGetEmPkmn
- cmp r2, 0x2
- beq _0814E47C
- b _0814E6D8
-_0814E47C:
- ldr r7, =gText_GoForItPkmn
- b _0814E6D8
- .pool
-_0814E488:
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- ldr r0, =0x02000002
- ands r0, r1
- cmp r0, 0
- beq _0814E4DC
- movs r0, 0x80
- lsls r0, 16
- ands r0, r1
- cmp r0, 0
- beq _0814E4AC
- ldrb r0, [r4, 0x17]
- b _0814E4EA
- .pool
-_0814E4AC:
- movs r0, 0x40
- ands r1, r0
- cmp r1, 0
- beq _0814E4BC
- ldr r7, =gText_TrainerXSentOutPkmn3
- b _0814E6D8
- .pool
-_0814E4BC:
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r1, [r0]
- movs r0, 0xC0
- lsls r0, 4
- ldr r7, =gText_TrainerXSentOutPkmn2
- cmp r1, r0
- beq _0814E4CC
- b _0814E6D8
-_0814E4CC:
- ldr r7, =gText_TrainerXYSentOutPkmn2
- b _0814E6D8
- .pool
-_0814E4DC:
- movs r0, 0x80
- lsls r0, 8
- ands r1, r0
- cmp r1, 0
- beq _0814E4CC
- mov r1, r9
- ldrb r0, [r1, 0x17]
-_0814E4EA:
- ldr r7, =gText_TrainerXYSentOutPkmn3
- cmp r0, 0x1
- beq _0814E4F2
- b _0814E6D8
-_0814E4F2:
- b _0814E4CC
- .pool
-_0814E4F8:
- mov r0, r10
- bl sub_814F8F8
- ldr r0, =gStringInfo
- ldr r2, [r0]
- ldrh r1, [r2]
- movs r0, 0xB1
- lsls r0, 1
- cmp r1, r0
- bls _0814E534
- ldr r0, =gBattleTextBuff2
- ldr r1, =gBattleStruct
- ldr r1, [r1]
- adds r1, 0x8E
- ldrb r2, [r1]
- lsls r1, r2, 4
- adds r1, r2
- ldr r2, =gText_UnknownMoveTypes
- adds r1, r2
- bl StringCopy
- b _0814E544
- .pool
-_0814E534:
- ldr r0, =gBattleTextBuff2
- ldrh r2, [r2]
- movs r1, 0xD
- muls r1, r2
- ldr r2, =gMoveNames
- adds r1, r2
- bl StringCopy
-_0814E544:
- ldr r0, =gBattleTextBuff2
- bl sub_814F950
- ldr r7, =gText_XUsedY2
- b _0814E6D8
- .pool
-_0814E55C:
- ldr r4, =gBattleTextBuff1
- ldrb r1, [r4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0814E5C4
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r4]
- mov r1, r12
- ldrb r0, [r1]
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0814E58A
- ldrb r1, [r4]
- cmp r1, 0x3
- beq _0814E58A
- movs r0, 0x3
- eors r0, r1
- strb r0, [r4]
-_0814E58A:
- ldr r0, =gBattleTextBuff1
- ldrb r0, [r0]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _0814E5A4
- ldr r7, =gText_GotAwaySafely
- b _0814E6D8
- .pool
-_0814E5A4:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- ldr r7, =gText_WildFled
- cmp r0, 0
- bne _0814E5B4
- b _0814E6D8
-_0814E5B4:
- ldr r7, =gText_TwoWildFled
- b _0814E6D8
- .pool
-_0814E5C4:
- mov r1, r12
- ldrb r0, [r1]
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0814E5E0
- ldrb r1, [r4]
- cmp r1, 0x3
- beq _0814E5E0
- movs r0, 0x3
- eors r0, r1
- strb r0, [r4]
-_0814E5E0:
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0814E638
- ldr r0, =gBattleTextBuff1
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _0814E628
- cmp r0, 0x2
- bgt _0814E608
- cmp r0, 0x1
- beq _0814E60E
- b _0814E6D8
- .pool
-_0814E608:
- cmp r0, 0x3
- beq _0814E630
- b _0814E6D8
-_0814E60E:
- movs r0, 0x80
- lsls r0, 16
- ands r1, r0
- ldr r7, =gText_PlayerBeatTwo
- cmp r1, 0
- beq _0814E6D8
- ldr r7, =gText_TwoEnemiesDefeated
- b _0814E6D8
- .pool
-_0814E628:
- ldr r7, =gText_PlayerLostToTwo
- b _0814E6D8
- .pool
-_0814E630:
- ldr r7, =gText_PlayerBattledToDrawVsTwo
- b _0814E6D8
- .pool
-_0814E638:
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r1, [r0]
- movs r0, 0xC0
- lsls r0, 4
- cmp r1, r0
- bne _0814E680
- ldr r0, =gBattleTextBuff1
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _0814E670
- cmp r0, 0x2
- bgt _0814E660
- cmp r0, 0x1
- beq _0814E666
- b _0814E6D8
- .pool
-_0814E660:
- cmp r0, 0x3
- beq _0814E678
- b _0814E6D8
-_0814E666:
- ldr r7, =gText_PlayerDefeatedXY
- b _0814E6D8
- .pool
-_0814E670:
- ldr r7, =gText_PlayerLostAgainst2
- b _0814E6D8
- .pool
-_0814E678:
- ldr r7, =gText_PlayerBattledToDraw2
- b _0814E6D8
- .pool
-_0814E680:
- ldr r0, =gBattleTextBuff1
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _0814E6A8
- cmp r0, 0x2
- bgt _0814E698
- cmp r0, 0x1
- beq _0814E69E
- b _0814E6D8
- .pool
-_0814E698:
- cmp r0, 0x3
- beq _0814E6B0
- b _0814E6D8
-_0814E69E:
- ldr r7, =gText_PlayerDefeated
- b _0814E6D8
- .pool
-_0814E6A8:
- ldr r7, =gText_PlayerLostAgainst
- b _0814E6D8
- .pool
-_0814E6B0:
- ldr r7, =gText_PlayerBattledToDraw
- b _0814E6D8
- .pool
-_0814E6B8:
- movs r0, 0xBE
- lsls r0, 1
- cmp r6, r0
- bls _0814E6CC
- ldr r1, =gDisplayedStringBattle
- movs r0, 0xFF
- strb r0, [r1]
- b _0814E6DE
- .pool
-_0814E6CC:
- ldr r1, =gBattleStringsTable
- adds r0, r6, 0
- subs r0, 0xC
- lsls r0, 2
- adds r0, r1
- ldr r7, [r0]
-_0814E6D8:
- adds r0, r7, 0
- bl BattleStringExpandPlaceholdersToDisplayedString
-_0814E6DE:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end BufferStringBattle
-
- thumb_func_start BattleStringExpandPlaceholdersToDisplayedString
-BattleStringExpandPlaceholdersToDisplayedString: @ 814E6F0
- push {lr}
- ldr r1, =gDisplayedStringBattle
- bl BattleStringExpandPlaceholders
- pop {r1}
- bx r1
- .pool
- thumb_func_end BattleStringExpandPlaceholdersToDisplayedString
-
- thumb_func_start AppendStatusString
-AppendStatusString: @ 814E700
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r1, =gUnknown_085CD422
- mov r0, sp
- movs r2, 0x8
- bl memcpy
- mov r2, sp
- movs r3, 0
- b _0814E728
- .pool
-_0814E71C:
- strb r1, [r2]
- adds r4, 0x1
- adds r2, 0x1
- adds r3, 0x1
- cmp r3, 0x7
- bhi _0814E730
-_0814E728:
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _0814E71C
-_0814E730:
- ldr r5, [sp]
- ldr r4, [sp, 0x4]
- movs r3, 0
- ldr r2, =gStatusConditionStringsTable
-_0814E738:
- ldr r1, [r2]
- ldr r0, [r1]
- cmp r5, r0
- bne _0814E750
- ldr r0, [r1, 0x4]
- cmp r4, r0
- bne _0814E750
- ldr r0, [r2, 0x4]
- b _0814E75A
- .pool
-_0814E750:
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, 0x6
- bls _0814E738
- movs r0, 0
-_0814E75A:
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end AppendStatusString
-
- thumb_func_start BattleStringExpandPlaceholders
- BattleStringExpandPlaceholders: @ 814E764
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x20
- mov r9, r0
- mov r8, r1
- movs r6, 0
- movs r4, 0
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 18
- ands r0, r1
- cmp r0, 0
- beq _0814E794
- ldr r0, =gUnknown_0203C7B4
- ldrb r7, [r0]
- b _0814E79C
- .pool
-_0814E794:
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r7, r0, 24
-_0814E79C:
- mov r0, r9
- ldrb r1, [r0]
- bl _0814F620
-_0814E7A4:
- cmp r1, 0xFD
- beq _0814E7AC
- bl _0814F610
-_0814E7AC:
- movs r1, 0x1
- add r9, r1
- mov r2, r9
- ldrb r0, [r2]
- cmp r0, 0x34
- bls _0814E7BC
- bl _0814F5C0
-_0814E7BC:
- lsls r0, 2
- ldr r1, =_0814E7CC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0814E7CC:
- .4byte _0814E8A0
- .4byte _0814E8CE
- .4byte _0814E90A
- .4byte _0814E914
- .4byte _0814E920
- .4byte _0814E92C
- .4byte _0814E960
- .4byte _0814E994
- .4byte _0814E9C8
- .4byte _0814E9FC
- .4byte _0814EA38
- .4byte _0814EA78
- .4byte _0814EAB8
- .4byte _0814EAF8
- .4byte _0814EBB0
- .4byte _0814EC38
- .4byte _0814ECD4
- .4byte _0814ED70
- .4byte _0814EE0C
- .4byte _0814EEA8
- .4byte _0814EF44
- .4byte _0814EF5C
- .4byte _0814EF98
- .4byte _0814F080
- .4byte _0814F088
- .4byte _0814F098
- .4byte _0814F0A8
- .4byte _0814F0B8
- .4byte _0814F0D8
- .4byte _0814F164
- .4byte _0814F220
- .4byte _0814F230
- .4byte _0814F244
- .4byte _0814F258
- .4byte _0814F27C
- .4byte _0814F298
- .4byte _0814F2C0
- .4byte _0814F300
- .4byte _0814F330
- .4byte _0814F3C4
- .4byte _0814F410
- .4byte _0814F418
- .4byte _0814F3E4
- .4byte _0814F3EC
- .4byte _0814F43C
- .4byte _0814F444
- .4byte _0814F468
- .4byte _0814F4B8
- .4byte _0814F508
- .4byte _0814F548
- .4byte _0814F594
- .4byte _0814F5B4
- .4byte _0814E8E4
-_0814E8A0:
- ldr r5, =gBattleTextBuff1
- ldrb r0, [r5]
- cmp r0, 0xFD
- bne _0814E8B8
- ldr r4, =gStringVar1
- adds r0, r5, 0
- b _0814E8F0
- .pool
-_0814E8B8:
- adds r0, r5, 0
- bl AppendStatusString
- adds r4, r0, 0
- cmp r4, 0
- beq _0814E8C8
- bl _0814F5C0
-_0814E8C8:
- adds r4, r5, 0
- bl _0814F5C0
-_0814E8CE:
- ldr r1, =gBattleTextBuff2
- ldrb r0, [r1]
- cmp r0, 0xFD
- bne _0814E904
- ldr r4, =gStringVar2
- b _0814E8EE
- .pool
-_0814E8E4:
- ldr r1, =gBattleTextBuff3
- ldrb r0, [r1]
- cmp r0, 0xFD
- bne _0814E904
- ldr r4, =gStringVar3
-_0814E8EE:
- adds r0, r1, 0
-_0814E8F0:
- adds r1, r4, 0
- bl ExpandBattleTextBuffPlaceholders
- bl _0814F5C0
- .pool
-_0814E904:
- adds r4, r1, 0
- bl _0814F5C0
-_0814E90A:
- ldr r4, =gStringVar1
- bl _0814F5C0
- .pool
-_0814E914:
- ldr r4, =gStringVar2
- bl _0814F5C0
- .pool
-_0814E920:
- ldr r4, =gStringVar3
- bl _0814F5C0
- .pool
-_0814E92C:
- movs r0, 0
- bl GetBankByIdentity
- ldr r1, =gBattlePartyID
- lsls r0, 24
- lsrs r0, 23
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- mov r0, sp
- bl StringGetEnd10
- bl _0814F5BE
- .pool
-_0814E960:
- movs r0, 0x1
- bl GetBankByIdentity
- ldr r1, =gBattlePartyID
- lsls r0, 24
- lsrs r0, 23
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- mov r0, sp
- bl StringGetEnd10
- bl _0814F5BE
- .pool
-_0814E994:
- movs r0, 0x2
- bl GetBankByIdentity
- ldr r1, =gBattlePartyID
- lsls r0, 24
- lsrs r0, 23
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- mov r0, sp
- bl StringGetEnd10
- bl _0814F5BE
- .pool
-_0814E9C8:
- movs r0, 0x3
- bl GetBankByIdentity
- ldr r1, =gBattlePartyID
- lsls r0, 24
- lsrs r0, 23
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- mov r0, sp
- bl StringGetEnd10
- bl _0814F5BE
- .pool
-_0814E9FC:
- ldr r2, =gBattlePartyID
- ldr r1, =gLinkPlayers
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x18]
- lsls r0, 1
- adds r0, r2
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- mov r0, sp
- bl StringGetEnd10
- bl _0814F5BE
- .pool
-_0814EA38:
- ldr r2, =gBattlePartyID
- ldr r1, =gLinkPlayers
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0, 0x18]
- movs r0, 0x1
- eors r0, r1
- lsls r0, 1
- adds r0, r2
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- mov r0, sp
- bl StringGetEnd10
- bl _0814F5BE
- .pool
-_0814EA78:
- ldr r2, =gBattlePartyID
- ldr r1, =gLinkPlayers
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0, 0x18]
- movs r0, 0x2
- eors r0, r1
- lsls r0, 1
- adds r0, r2
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- mov r0, sp
- bl StringGetEnd10
- bl _0814F5BE
- .pool
-_0814EAB8:
- ldr r2, =gBattlePartyID
- ldr r1, =gLinkPlayers
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0, 0x18]
- movs r0, 0x3
- eors r0, r1
- lsls r0, 1
- adds r0, r2
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- mov r0, sp
- bl StringGetEnd10
- bl _0814F5BE
- .pool
-_0814EAF8:
- ldr r4, =gBankAttacker
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- adds r2, r4, 0
- cmp r0, 0
- beq _0814EB74
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x8
- ands r1, r0
- ldr r4, =gText_WildPkmnPrefix
- cmp r1, 0
- beq _0814EB36
- ldr r4, =gText_FoePkmnPrefix
- b _0814EB36
- .pool
-_0814EB2C:
- mov r3, r8
- adds r0, r3, r6
- strb r1, [r0]
- adds r6, 0x1
- adds r4, 0x1
-_0814EB36:
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _0814EB2C
- ldrb r0, [r2]
- bl GetBankIdentity
- adds r1, r0, 0
- movs r0, 0x1
- ands r0, r1
- bl GetBankByIdentity
- ldr r1, =gBattlePartyID
- lsls r0, 24
- lsrs r0, 23
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- b _0814EB9E
- .pool
-_0814EB74:
- ldrb r0, [r2]
- bl GetBankIdentity
- adds r1, r0, 0
- movs r0, 0x1
- ands r0, r1
- bl GetBankByIdentity
- ldr r1, =gBattlePartyID
- lsls r0, 24
- lsrs r0, 23
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
-_0814EB9E:
- mov r0, sp
- bl StringGetEnd10
- bl _0814F5BE
- .pool
-_0814EBB0:
- ldr r4, =gBankAttacker
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _0814EBF8
- ldrb r0, [r4]
- bl GetBankIdentity
- adds r1, r0, 0
- movs r0, 0x1
- ands r0, r1
- bl GetBankByIdentity
- ldr r1, =gBattlePartyID
- lsls r0, 24
- lsrs r0, 23
- adds r0, 0x4
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- b _0814EC24
- .pool
-_0814EBF8:
- ldrb r0, [r4]
- bl GetBankIdentity
- adds r1, r0, 0
- movs r0, 0x1
- ands r0, r1
- bl GetBankByIdentity
- ldr r1, =gBattlePartyID
- lsls r0, 24
- lsrs r0, 23
- adds r0, 0x4
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
-_0814EC24:
- mov r0, sp
- bl StringGetEnd10
- bl _0814F5BE
- .pool
-_0814EC38:
- ldr r5, =gBankAttacker
- ldrb r0, [r5]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _0814ECA8
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x8
- ands r1, r0
- ldr r4, =gText_WildPkmnPrefix
- cmp r1, 0
- beq _0814EC56
- ldr r4, =gText_FoePkmnPrefix
-_0814EC56:
- ldrb r1, [r4]
- adds r0, r1, 0
- ldr r3, =gBattlePartyID
- ldr r2, =gEnemyParty
- mov r12, r2
- adds r2, r5, 0
- cmp r0, 0xFF
- beq _0814EC78
-_0814EC66:
- mov r5, r8
- adds r0, r5, r6
- strb r1, [r0]
- adds r6, 0x1
- adds r4, 0x1
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _0814EC66
-_0814EC78:
- ldrb r0, [r2]
- lsls r0, 1
- adds r0, r3
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- add r0, r12
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- b _0814ECC2
- .pool
-_0814ECA8:
- ldr r1, =gBattlePartyID
- ldrb r0, [r5]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
-_0814ECC2:
- mov r0, sp
- bl StringGetEnd10
- bl _0814F5BE
- .pool
-_0814ECD4:
- ldr r5, =gBankTarget
- ldrb r0, [r5]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _0814ED44
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x8
- ands r1, r0
- ldr r4, =gText_WildPkmnPrefix
- cmp r1, 0
- beq _0814ECF2
- ldr r4, =gText_FoePkmnPrefix
-_0814ECF2:
- ldrb r1, [r4]
- adds r0, r1, 0
- ldr r3, =gBattlePartyID
- ldr r2, =gEnemyParty
- mov r12, r2
- adds r2, r5, 0
- cmp r0, 0xFF
- beq _0814ED14
-_0814ED02:
- mov r5, r8
- adds r0, r5, r6
- strb r1, [r0]
- adds r6, 0x1
- adds r4, 0x1
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _0814ED02
-_0814ED14:
- ldrb r0, [r2]
- lsls r0, 1
- adds r0, r3
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- add r0, r12
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- b _0814ED5E
- .pool
-_0814ED44:
- ldr r1, =gBattlePartyID
- ldrb r0, [r5]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
-_0814ED5E:
- mov r0, sp
- bl StringGetEnd10
- bl _0814F5BE
- .pool
-_0814ED70:
- ldr r5, =gEffectBank
- ldrb r0, [r5]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _0814EDE0
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x8
- ands r1, r0
- ldr r4, =gText_WildPkmnPrefix
- cmp r1, 0
- beq _0814ED8E
- ldr r4, =gText_FoePkmnPrefix
-_0814ED8E:
- ldrb r1, [r4]
- adds r0, r1, 0
- ldr r3, =gBattlePartyID
- ldr r2, =gEnemyParty
- mov r12, r2
- adds r2, r5, 0
- cmp r0, 0xFF
- beq _0814EDB0
-_0814ED9E:
- mov r5, r8
- adds r0, r5, r6
- strb r1, [r0]
- adds r6, 0x1
- adds r4, 0x1
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _0814ED9E
-_0814EDB0:
- ldrb r0, [r2]
- lsls r0, 1
- adds r0, r3
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- add r0, r12
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- b _0814EDFA
- .pool
-_0814EDE0:
- ldr r1, =gBattlePartyID
- ldrb r0, [r5]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
-_0814EDFA:
- mov r0, sp
- bl StringGetEnd10
- bl _0814F5BE
- .pool
-_0814EE0C:
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _0814EE7C
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x8
- ands r1, r0
- ldr r4, =gText_WildPkmnPrefix
- cmp r1, 0
- beq _0814EE2A
- ldr r4, =gText_FoePkmnPrefix
-_0814EE2A:
- ldrb r1, [r4]
- adds r0, r1, 0
- ldr r3, =gBattlePartyID
- ldr r2, =gEnemyParty
- mov r12, r2
- adds r2, r5, 0
- cmp r0, 0xFF
- beq _0814EE4C
-_0814EE3A:
- mov r5, r8
- adds r0, r5, r6
- strb r1, [r0]
- adds r6, 0x1
- adds r4, 0x1
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _0814EE3A
-_0814EE4C:
- ldrb r0, [r2]
- lsls r0, 1
- adds r0, r3
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- add r0, r12
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- b _0814EE96
- .pool
-_0814EE7C:
- ldr r1, =gBattlePartyID
- ldrb r0, [r5]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
-_0814EE96:
- mov r0, sp
- bl StringGetEnd10
- b _0814F5BE
- .pool
-_0814EEA8:
- ldr r5, =gBattleScripting
- ldrb r0, [r5, 0x17]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _0814EF18
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x8
- ands r1, r0
- ldr r4, =gText_WildPkmnPrefix
- cmp r1, 0
- beq _0814EEC6
- ldr r4, =gText_FoePkmnPrefix
-_0814EEC6:
- ldrb r1, [r4]
- adds r0, r1, 0
- ldr r3, =gBattlePartyID
- ldr r2, =gEnemyParty
- mov r12, r2
- adds r2, r5, 0
- cmp r0, 0xFF
- beq _0814EEE8
-_0814EED6:
- mov r5, r8
- adds r0, r5, r6
- strb r1, [r0]
- adds r6, 0x1
- adds r4, 0x1
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _0814EED6
-_0814EEE8:
- ldrb r0, [r2, 0x17]
- lsls r0, 1
- adds r0, r3
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- add r0, r12
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- b _0814EF32
- .pool
-_0814EF18:
- ldr r1, =gBattlePartyID
- ldrb r0, [r5, 0x17]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
-_0814EF32:
- mov r0, sp
- bl StringGetEnd10
- b _0814F5BE
- .pool
-_0814EF44:
- ldr r0, =gStringInfo
- ldr r2, [r0]
- ldrh r1, [r2]
- movs r0, 0xB1
- lsls r0, 1
- cmp r1, r0
- bhi _0814EF6A
- ldrh r1, [r2]
- b _0814EF8A
- .pool
-_0814EF5C:
- ldr r0, =gStringInfo
- ldr r2, [r0]
- ldrh r1, [r2, 0x2]
- movs r0, 0xB1
- lsls r0, 1
- cmp r1, r0
- bls _0814EF88
-_0814EF6A:
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r0, 0x8E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- ldr r1, =gText_UnknownMoveTypes
- adds r4, r0, r1
- b _0814F5C0
- .pool
-_0814EF88:
- ldrh r1, [r2, 0x2]
-_0814EF8A:
- movs r0, 0xD
- muls r1, r0
- ldr r0, =gMoveNames
- adds r4, r1, r0
- b _0814F5C0
- .pool
-_0814EF98:
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- ldr r0, =0x02000002
- ands r0, r1
- cmp r0, 0
- beq _0814F06E
- ldr r2, =gLastUsedItem
- ldrh r0, [r2]
- cmp r0, 0xAF
- bne _0814F064
- movs r0, 0x40
- ands r1, r0
- cmp r1, 0
- bne _0814F014
- ldr r0, =gBattleScripting
- adds r0, 0x25
- ldrb r0, [r0]
- cmp r0, 0
- beq _0814EFE0
- ldr r2, =gStringBank
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0814EFEC
- b _0814F05C
- .pool
-_0814EFE0:
- ldr r2, =gStringBank
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0814F05C
-_0814EFEC:
- ldrb r0, [r2]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r0, =gEnigmaBerries
- adds r1, r0
- mov r0, sp
- bl StringCopy
- ldr r1, =gText_BerrySuffix
- mov r0, sp
- bl StringAppend
- b _0814F5BE
- .pool
-_0814F014:
- ldr r2, =gLinkPlayers
- ldr r0, =gBattleScripting
- adds r0, 0x25
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, =gStringBank
- ldrb r2, [r1]
- ldrh r0, [r0, 0x18]
- cmp r0, r2
- bne _0814F05C
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- ldr r0, =gEnigmaBerries
- adds r1, r0
- mov r0, sp
- bl StringCopy
- ldr r1, =gText_BerrySuffix
- mov r0, sp
- bl StringAppend
- b _0814F5BE
- .pool
-_0814F05C:
- ldr r4, =gText_EnigmaBerry
- b _0814F5C0
- .pool
-_0814F064:
- ldrh r0, [r2]
- mov r1, sp
- bl CopyItemName
- b _0814F5BE
-_0814F06E:
- ldr r0, =gLastUsedItem
- ldrh r0, [r0]
- mov r1, sp
- bl CopyItemName
- b _0814F5BE
- .pool
-_0814F080:
- ldr r0, =gLastUsedAbility
- b _0814F0C0
- .pool
-_0814F088:
- ldr r1, =gAbilitiesPerBank
- ldr r0, =gBankAttacker
- b _0814F0BC
- .pool
-_0814F098:
- ldr r1, =gAbilitiesPerBank
- ldr r0, =gBankTarget
- b _0814F0BC
- .pool
-_0814F0A8:
- ldr r1, =gAbilitiesPerBank
- ldr r0, =gBattleScripting
- ldrb r0, [r0, 0x17]
- b _0814F0BE
- .pool
-_0814F0B8:
- ldr r1, =gAbilitiesPerBank
- ldr r0, =gEffectBank
-_0814F0BC:
- ldrb r0, [r0]
-_0814F0BE:
- adds r0, r1
-_0814F0C0:
- ldrb r1, [r0]
- movs r0, 0xD
- muls r1, r0
- ldr r0, =gAbilityNames
- adds r4, r1, r0
- b _0814F5C0
- .pool
-_0814F0D8:
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x80
- lsls r0, 20
- ands r0, r1
- cmp r0, 0
- beq _0814F0F0
- bl GetSecretBaseTrainerNameIndex
- b _0814F59C
- .pool
-_0814F0F0:
- ldr r3, =gTrainerBattleOpponent_A
- ldrh r2, [r3]
- movs r0, 0xC0
- lsls r0, 4
- cmp r2, r0
- bne _0814F10C
- bl sub_8068BB0
- lsls r0, 16
- lsrs r0, 16
- b _0814F5A0
- .pool
-_0814F10C:
- ldr r0, =0x000003fe
- cmp r2, r0
- bne _0814F11C
- bl sub_81A4D00
- b _0814F59C
- .pool
-_0814F11C:
- ldr r0, =0x003f0100
- ands r0, r1
- cmp r0, 0
- beq _0814F12C
- ldrh r0, [r3]
- b _0814F598
- .pool
-_0814F12C:
- movs r0, 0x80
- lsls r0, 19
- ands r0, r1
- cmp r0, 0
- beq _0814F13E
- ldrh r0, [r3]
- bl sub_81D5530
- b _0814F59C
-_0814F13E:
- movs r0, 0x80
- lsls r0, 4
- ands r1, r0
- cmp r1, 0
- beq _0814F14E
- bl sub_8165264
- b _0814F59C
-_0814F14E:
- ldr r2, =gTrainers
- ldrh r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r1, [r0, 0x1]
- movs r0, 0xD
- b _0814F5A2
- .pool
-_0814F164:
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x80
- lsls r0, 20
- ands r0, r1
- cmp r0, 0
- beq _0814F1AC
- movs r2, 0
- ldr r4, =gBattleResources
- ldr r3, [r4]
-_0814F178:
- mov r1, sp
- adds r0, r1, r2
- ldr r1, [r3]
- adds r1, 0x2
- adds r1, r2
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x6
- ble _0814F178
- mov r3, sp
- adds r1, r3, r2
- movs r0, 0xFF
- strb r0, [r1]
- ldr r0, [r4]
- ldr r0, [r0]
- ldrb r1, [r0, 0xD]
- mov r0, sp
- bl ConvertInternationalString
- b _0814F5BE
- .pool
-_0814F1AC:
- ldr r3, =gTrainerBattleOpponent_A
- ldrh r2, [r3]
- movs r0, 0xC0
- lsls r0, 4
- cmp r2, r0
- bne _0814F1C4
- movs r1, 0x1
- adds r0, r7, 0
- eors r0, r1
- b _0814F284
- .pool
-_0814F1C4:
- ldr r0, =0x000003fe
- cmp r2, r0
- bne _0814F1D8
- mov r0, sp
- bl sub_81A4D50
- b _0814F5BE
- .pool
-_0814F1D8:
- ldr r0, =0x003f0100
- ands r0, r1
- cmp r0, 0
- beq _0814F1E8
- ldrh r1, [r3]
- b _0814F5B8
- .pool
-_0814F1E8:
- movs r0, 0x80
- lsls r0, 19
- ands r0, r1
- cmp r0, 0
- beq _0814F1FC
- ldrh r1, [r3]
- mov r0, sp
- bl sub_81D5554
- b _0814F5BE
-_0814F1FC:
- movs r0, 0x80
- lsls r0, 4
- ands r1, r0
- cmp r1, 0
- beq _0814F20E
- mov r0, sp
- bl sub_8165284
- b _0814F5BE
-_0814F20E:
- ldrh r0, [r3]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTrainers + 0x4 @ name offset
- adds r4, r1, r0
- b _0814F5C0
- .pool
-_0814F220:
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- ldr r1, =gLinkPlayers + 8
- adds r4, r0, r1
- b _0814F5C0
- .pool
-_0814F230:
- ldr r4, =gLinkPlayers
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x18]
- movs r0, 0x2
- b _0814F266
- .pool
-_0814F244:
- ldr r4, =gLinkPlayers
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x18]
- movs r0, 0x1
- b _0814F266
- .pool
-_0814F258:
- ldr r4, =gLinkPlayers
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x18]
- movs r0, 0x3
-_0814F266:
- eors r0, r1
- bl sub_806D864
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r4, 0x8
- adds r4, r1, r4
- b _0814F5C0
- .pool
-_0814F27C:
- ldr r0, =gBattleScripting
- ldrb r0, [r0, 0x17]
- bl sub_806D864
-_0814F284:
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r0, =gLinkPlayers + 8
- adds r4, r1, r0
- b _0814F5C0
- .pool
-_0814F298:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- beq _0814F2B4
- ldr r4, =gLinkPlayers + 8
- b _0814F5C0
- .pool
-_0814F2B4:
- ldr r0, =gSaveBlock2Ptr
- ldr r4, [r0]
- b _0814F5C0
- .pool
-_0814F2C0:
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- ldr r0, =0x003f0100
- ands r0, r1
- cmp r0, 0
- beq _0814F2E0
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r1, [r0]
- movs r0, 0x2
- b _0814F55A
- .pool
-_0814F2E0:
- movs r0, 0x80
- lsls r0, 19
- ands r1, r0
- cmp r1, 0
- beq _0814F2F8
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r1, [r0]
- movs r0, 0x4
- b _0814F584
- .pool
-_0814F2F8:
- bl sub_80B1CA4
- adds r4, r0, 0
- b _0814F5C0
-_0814F300:
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- ldr r0, =0x003f0100
- ands r0, r1
- cmp r0, 0
- beq _0814F31C
- ldr r0, =gTrainerBattleOpponent_A
- b _0814F556
- .pool
-_0814F31C:
- movs r0, 0x80
- lsls r0, 19
- ands r1, r0
- cmp r1, 0
- bne _0814F328
- b _0814F5C0
-_0814F328:
- ldr r0, =gTrainerBattleOpponent_A
- b _0814F580
- .pool
-_0814F330:
- ldr r0, =gBattleScripting
- ldrb r0, [r0, 0x17]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _0814F39C
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x8
- ands r1, r0
- ldr r4, =gText_WildPkmnPrefix
- cmp r1, 0
- beq _0814F34E
- ldr r4, =gText_FoePkmnPrefix
-_0814F34E:
- ldrb r1, [r4]
- adds r0, r1, 0
- ldr r5, =gEnemyParty
- mov r12, r5
- ldr r2, =gBattleStruct
- cmp r0, 0xFF
- beq _0814F36E
-_0814F35C:
- mov r3, r8
- adds r0, r3, r6
- strb r1, [r0]
- adds r6, 0x1
- adds r4, 0x1
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _0814F35C
-_0814F36E:
- ldr r0, [r2]
- adds r0, 0x52
- ldrb r1, [r0]
- movs r0, 0x64
- muls r0, r1
- add r0, r12
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- b _0814F3B4
- .pool
-_0814F39C:
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r0, 0x52
- ldrb r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
-_0814F3B4:
- mov r0, sp
- bl StringGetEnd10
- b _0814F5BE
- .pool
-_0814F3C4:
- ldr r0, =0x000008ab
- bl FlagGet
- lsls r0, 24
- ldr r4, =gText_Someones
- cmp r0, 0
- bne _0814F3D4
- b _0814F5C0
-_0814F3D4:
- ldr r4, =gText_Lanettes
- b _0814F5C0
- .pool
-_0814F3E4:
- ldr r0, =gBankAttacker
- b _0814F3EE
- .pool
-_0814F3EC:
- ldr r0, =gBankTarget
-_0814F3EE:
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- ldr r4, =gText_FoePkmnPrefix3
- cmp r0, 0
- beq _0814F3FE
- b _0814F5C0
-_0814F3FE:
- ldr r4, =gText_AllyPkmnPrefix2
- b _0814F5C0
- .pool
-_0814F410:
- ldr r0, =gBankAttacker
- b _0814F41A
- .pool
-_0814F418:
- ldr r0, =gBankTarget
-_0814F41A:
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- ldr r4, =gText_FoePkmnPrefix2
- cmp r0, 0
- beq _0814F42A
- b _0814F5C0
-_0814F42A:
- ldr r4, =gText_AllyPkmnPrefix
- b _0814F5C0
- .pool
-_0814F43C:
- ldr r0, =gBankAttacker
- b _0814F446
- .pool
-_0814F444:
- ldr r0, =gBankTarget
-_0814F446:
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- ldr r4, =gText_FoePkmnPrefix4
- cmp r0, 0
- beq _0814F456
- b _0814F5C0
-_0814F456:
- ldr r4, =gText_AllyPkmnPrefix3
- b _0814F5C0
- .pool
-_0814F468:
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- ldr r0, =0x003f0100
- ands r0, r1
- cmp r0, 0
- beq _0814F484
- ldr r0, =gTrainerBattleOpponent_B
- b _0814F596
- .pool
-_0814F484:
- movs r0, 0x80
- lsls r0, 19
- ands r1, r0
- cmp r1, 0
- beq _0814F49C
- ldr r0, =gTrainerBattleOpponent_B
- ldrh r0, [r0]
- bl sub_81D5530
- b _0814F59C
- .pool
-_0814F49C:
- ldr r2, =gTrainers
- ldr r0, =gTrainerBattleOpponent_B
- ldrh r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r1, [r0, 0x1]
- movs r0, 0xD
- b _0814F5A2
- .pool
-_0814F4B8:
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- ldr r0, =0x003f0100
- ands r0, r1
- cmp r0, 0
- beq _0814F4D4
- ldr r0, =gTrainerBattleOpponent_B
- b _0814F5B6
- .pool
-_0814F4D4:
- movs r0, 0x80
- lsls r0, 19
- ands r1, r0
- cmp r1, 0
- beq _0814F4F0
- ldr r0, =gTrainerBattleOpponent_B
- ldrh r1, [r0]
- mov r0, sp
- bl sub_81D5554
- b _0814F5BE
- .pool
-_0814F4F0:
- ldr r0, =gTrainerBattleOpponent_B
- ldrh r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, =gTrainers + 0x4 @ name offset
- adds r4, r0, r1
- b _0814F5C0
- .pool
-_0814F508:
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- ldr r0, =0x003f0100
- ands r0, r1
- cmp r0, 0
- beq _0814F528
- ldr r0, =gTrainerBattleOpponent_B
- ldrh r1, [r0]
- movs r0, 0x2
- b _0814F55A
- .pool
-_0814F528:
- movs r0, 0x80
- lsls r0, 19
- ands r1, r0
- cmp r1, 0
- beq _0814F540
- ldr r0, =gTrainerBattleOpponent_B
- ldrh r1, [r0]
- movs r0, 0x4
- b _0814F584
- .pool
-_0814F540:
- bl sub_80B1CE0
- adds r4, r0, 0
- b _0814F5C0
-_0814F548:
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- ldr r0, =0x003f0100
- ands r0, r1
- cmp r0, 0
- beq _0814F574
- ldr r0, =gTrainerBattleOpponent_B
-_0814F556:
- ldrh r1, [r0]
- movs r0, 0x1
-_0814F55A:
- bl sub_81A36D0
- ldr r4, =gStringVar4
- b _0814F5C0
- .pool
-_0814F574:
- movs r0, 0x80
- lsls r0, 19
- ands r1, r0
- cmp r1, 0
- beq _0814F5C0
- ldr r0, =gTrainerBattleOpponent_B
-_0814F580:
- ldrh r1, [r0]
- movs r0, 0x3
-_0814F584:
- bl sub_81D572C
- ldr r4, =gStringVar4
- b _0814F5C0
- .pool
-_0814F594:
- ldr r0, =gPartnerTrainerId
-_0814F596:
- ldrh r0, [r0]
-_0814F598:
- bl GetFrontierOpponentClass
-_0814F59C:
- lsls r0, 24
- lsrs r0, 24
-_0814F5A0:
- movs r1, 0xD
-_0814F5A2:
- muls r1, r0
- ldr r0, =gTrainerClassNames
- adds r4, r1, r0
- b _0814F5C0
- .pool
-_0814F5B4:
- ldr r0, =gPartnerTrainerId
-_0814F5B6:
- ldrh r1, [r0]
-_0814F5B8:
- mov r0, sp
- bl GetFrontierTrainerName
-_0814F5BE:
- mov r4, sp
-_0814F5C0:
- ldrb r1, [r4]
- adds r0, r1, 0
- mov r5, r9
- ldrb r2, [r5]
- mov r3, r9
- adds r3, 0x1
- cmp r0, 0xFF
- beq _0814F5E2
-_0814F5D0:
- mov r5, r8
- adds r0, r5, r6
- strb r1, [r0]
- adds r6, 0x1
- adds r4, 0x1
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _0814F5D0
-_0814F5E2:
- lsls r0, r2, 24
- lsrs r0, 24
- cmp r0, 0x24
- beq _0814F5F6
- cmp r0, 0x30
- beq _0814F5F6
- cmp r0, 0x25
- beq _0814F5F6
- cmp r0, 0x31
- bne _0814F61C
-_0814F5F6:
- mov r0, r8
- adds r1, r0, r6
- movs r0, 0xFC
- strb r0, [r1]
- adds r6, 0x1
- mov r2, r8
- adds r1, r2, r6
- movs r0, 0x9
- strb r0, [r1]
- adds r6, 0x1
- b _0814F61C
- .pool
-_0814F610:
- mov r3, r8
- adds r0, r3, r6
- strb r1, [r0]
- adds r6, 0x1
- mov r3, r9
- adds r3, 0x1
-_0814F61C:
- mov r9, r3
- ldrb r1, [r3]
-_0814F620:
- adds r0, r1, 0
- cmp r0, 0xFF
- beq _0814F62A
- bl _0814E7A4
-_0814F62A:
- mov r5, r8
- adds r1, r5, r6
- mov r2, r9
- ldrb r0, [r2]
- strb r0, [r1]
- adds r6, 0x1
- adds r0, r6, 0
- add sp, 0x20
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end BattleStringExpandPlaceholders
-
- thumb_func_start ExpandBattleTextBuffPlaceholders
-ExpandBattleTextBuffPlaceholders: @ 814F648
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- adds r7, r0, 0
- adds r6, r1, 0
- movs r5, 0x1
- movs r0, 0
- mov r8, r0
- movs r0, 0xFF
- strb r0, [r6]
- ldrb r0, [r7, 0x1]
- cmp r0, 0xFF
- bne _0814F666
- b _0814F8EA
-_0814F666:
- adds r0, r7, r5
- ldrb r1, [r0]
- adds r4, r0, 0
- cmp r1, 0xA
- bls _0814F672
- b _0814F8E0
-_0814F672:
- lsls r0, r1, 2
- ldr r1, =_0814F680
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0814F680:
- .4byte _0814F6AC
- .4byte _0814F6C8
- .4byte _0814F71C
- .4byte _0814F734
- .4byte _0814F744
- .4byte _0814F7BC
- .4byte _0814F7D0
- .4byte _0814F7E2
- .4byte _0814F828
- .4byte _0814F83C
- .4byte _0814F858
-_0814F6AC:
- adds r0, r5, r7
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldr r0, =gBattleStringsTable
- subs r1, 0xC
- lsls r1, 2
- adds r1, r0
- ldr r1, [r1]
- b _0814F8BE
- .pool
-_0814F6C8:
- ldrb r0, [r4, 0x1]
- cmp r0, 0x2
- beq _0814F6E4
- cmp r0, 0x2
- bgt _0814F6D8
- cmp r0, 0x1
- beq _0814F6DE
- b _0814F706
-_0814F6D8:
- cmp r0, 0x4
- beq _0814F6EC
- b _0814F706
-_0814F6DE:
- ldrb r4, [r4, 0x3]
- mov r8, r4
- b _0814F706
-_0814F6E4:
- ldrb r1, [r4, 0x3]
- ldrb r0, [r4, 0x4]
- lsls r0, 8
- b _0814F702
-_0814F6EC:
- ldrb r0, [r4, 0x3]
- mov r8, r0
- ldrb r0, [r4, 0x4]
- lsls r0, 8
- mov r1, r8
- orrs r1, r0
- ldrb r0, [r4, 0x5]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r4, 0x6]
- lsls r0, 24
-_0814F702:
- orrs r1, r0
- mov r8, r1
-_0814F706:
- adds r4, r5, r7
- ldrb r3, [r4, 0x2]
- adds r0, r6, 0
- mov r1, r8
- movs r2, 0
- bl ConvertIntToDecimalStringN
- adds r0, r5, 0x3
- ldrb r4, [r4, 0x1]
- adds r5, r0, r4
- b _0814F8E0
-_0814F71C:
- adds r0, r5, r7
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0, 0x2]
- lsls r0, 8
- orrs r1, r0
- movs r0, 0xD
- muls r1, r0
- ldr r0, =gMoveNames
- adds r1, r0
- b _0814F8BE
- .pool
-_0814F734:
- adds r0, r5, r7
- ldrb r0, [r0, 0x1]
- lsls r1, r0, 3
- subs r1, r0
- ldr r0, =gTypeNames
- b _0814F846
- .pool
-_0814F744:
- ldrb r0, [r4, 0x1]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _0814F768
- ldrb r1, [r4, 0x2]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- b _0814F7A4
- .pool
-_0814F768:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0814F788
- ldr r1, =gText_FoePkmnPrefix
- adds r0, r6, 0
- bl StringAppend
- b _0814F790
- .pool
-_0814F788:
- ldr r1, =gText_WildPkmnPrefix
- adds r0, r6, 0
- bl StringAppend
-_0814F790:
- adds r0, r5, r7
- ldrb r1, [r0, 0x2]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
-_0814F7A4:
- mov r0, sp
- bl StringGetEnd10
- adds r0, r6, 0
- mov r1, sp
- bl StringAppend
- b _0814F8DE
- .pool
-_0814F7BC:
- ldr r1, =gStatNamesTable
- adds r0, r5, r7
- ldrb r0, [r0, 0x1]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- b _0814F848
- .pool
-_0814F7D0:
- adds r0, r5, r7
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0, 0x2]
- lsls r0, 8
- orrs r1, r0
- adds r0, r6, 0
- bl GetSpeciesName
- b _0814F8DE
-_0814F7E2:
- adds r4, r5, r7
- ldrb r0, [r4, 0x1]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _0814F808
- ldrb r1, [r4, 0x2]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2
- adds r2, r6, 0
- bl GetMonData
- b _0814F81A
- .pool
-_0814F808:
- ldrb r1, [r4, 0x2]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- adds r0, r1
- movs r1, 0x2
- adds r2, r6, 0
- bl GetMonData
-_0814F81A:
- adds r0, r6, 0
- bl StringGetEnd10
- b _0814F8DE
- .pool
-_0814F828:
- ldr r1, =gPokeblockWasTooXStringTable
- adds r0, r5, r7
- ldrb r0, [r0, 0x1]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- b _0814F848
- .pool
-_0814F83C:
- adds r0, r5, r7
- ldrb r1, [r0, 0x1]
- movs r0, 0xD
- muls r1, r0
- ldr r0, =gAbilityNames
-_0814F846:
- adds r1, r0
-_0814F848:
- adds r0, r6, 0
- bl StringAppend
- adds r5, 0x2
- b _0814F8E0
- .pool
-_0814F858:
- adds r0, r5, r7
- ldrb r2, [r0, 0x1]
- ldrb r0, [r0, 0x2]
- lsls r0, 8
- orrs r2, r0
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- ldr r1, =0x02000002
- ands r0, r1
- cmp r0, 0
- beq _0814F8D6
- cmp r2, 0xAF
- bne _0814F8CC
- ldr r2, =gLinkPlayers
- ldr r0, =gBattleScripting
- adds r0, 0x25
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, =gStringBank
- ldrb r2, [r1]
- ldrh r0, [r0, 0x18]
- cmp r0, r2
- bne _0814F8BC
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- ldr r0, =gEnigmaBerries
- adds r1, r0
- adds r0, r6, 0
- bl StringCopy
- ldr r1, =gText_BerrySuffix
- b _0814F8BE
- .pool
-_0814F8BC:
- ldr r1, =gText_EnigmaBerry
-_0814F8BE:
- adds r0, r6, 0
- bl StringAppend
- b _0814F8DE
- .pool
-_0814F8CC:
- adds r0, r2, 0
- adds r1, r6, 0
- bl CopyItemName
- b _0814F8DE
-_0814F8D6:
- adds r0, r2, 0
- adds r1, r6, 0
- bl CopyItemName
-_0814F8DE:
- adds r5, 0x3
-_0814F8E0:
- adds r0, r7, r5
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _0814F8EA
- b _0814F666
-_0814F8EA:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end ExpandBattleTextBuffPlaceholders
-
- thumb_func_start sub_814F8F8
-sub_814F8F8: @ 814F8F8
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r2, 0
- ldr r5, =gStringInfo
- ldr r3, =gUnknown_085CD336
-_0814F902:
- cmp r2, 0x4
- beq _0814F918
- ldrh r1, [r3]
- cmp r1, 0
- bne _0814F90E
- adds r2, 0x1
-_0814F90E:
- ldr r0, [r5]
- adds r3, 0x2
- ldrh r0, [r0]
- cmp r1, r0
- bne _0814F902
-_0814F918:
- cmp r2, 0
- blt _0814F944
- cmp r2, 0x2
- bgt _0814F938
- ldr r1, =gText_SpaceIs
- adds r0, r4, 0
- bl StringCopy
- b _0814F944
- .pool
-_0814F938:
- cmp r2, 0x4
- bgt _0814F944
- ldr r1, =gText_ApostropheS
- adds r0, r4, 0
- bl StringCopy
-_0814F944:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_814F8F8
-
- thumb_func_start sub_814F950
-sub_814F950: @ 814F950
- push {r4,r5,lr}
- adds r3, r0, 0
- movs r4, 0
- b _0814F95A
-_0814F958:
- adds r3, 0x1
-_0814F95A:
- ldrb r0, [r3]
- cmp r0, 0xFF
- bne _0814F958
- ldr r1, =gUnknown_085CD336
- ldr r5, =gStringInfo
- movs r0, 0
- lsls r0, 1
- adds r2, r0, r1
-_0814F96A:
- cmp r4, 0x4
- beq _0814F984
- ldrh r1, [r2]
- cmp r1, 0
- bne _0814F976
- adds r4, 0x1
-_0814F976:
- ldr r0, [r5]
- adds r2, 0x2
- ldrh r0, [r0]
- cmp r1, r0
- bne _0814F96A
- cmp r4, 0x4
- bhi _0814F9E0
-_0814F984:
- lsls r0, r4, 2
- ldr r1, =_0814F99C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0814F99C:
- .4byte _0814F9B0
- .4byte _0814F9B8
- .4byte _0814F9C0
- .4byte _0814F9C8
- .4byte _0814F9D8
-_0814F9B0:
- ldr r1, =gText_ExclamationMark
- b _0814F9CA
- .pool
-_0814F9B8:
- ldr r1, =gText_ExclamationMark2
- b _0814F9CA
- .pool
-_0814F9C0:
- ldr r1, =gText_ExclamationMark3
- b _0814F9CA
- .pool
-_0814F9C8:
- ldr r1, =gText_ExclamationMark4
-_0814F9CA:
- adds r0, r3, 0
- bl StringCopy
- b _0814F9E0
- .pool
-_0814F9D8:
- ldr r1, =gText_ExclamationMark5
- adds r0, r3, 0
- bl StringCopy
-_0814F9E0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_814F950
-
- thumb_func_start sub_814F9EC
-sub_814F9EC: @ 814F9EC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- adds r4, r0, 0
- lsls r1, 24
- lsrs r7, r1, 24
- ldr r1, =gUnknown_085CD660
- ldr r0, =gBattleScripting
- adds r0, 0x24
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- mov r8, r0
- movs r0, 0x80
- ands r0, r7
- cmp r0, 0
- beq _0814FA24
- movs r0, 0x7F
- ands r7, r0
- movs r0, 0
- b _0814FA36
- .pool
-_0814FA24:
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 2
- add r0, r8
- ldrb r1, [r0]
- adds r0, r7, 0
- bl FillWindowPixelBuffer
- movs r0, 0x1
-_0814FA36:
- mov r9, r0
- str r4, [sp]
- mov r0, sp
- strb r7, [r0, 0x4]
- mov r1, sp
- lsls r6, r7, 1
- adds r3, r6, r7
- lsls r3, 2
- add r3, r8
- ldrb r0, [r3, 0x1]
- strb r0, [r1, 0x5]
- ldrb r0, [r3, 0x2]
- strb r0, [r1, 0x6]
- ldrb r0, [r3, 0x3]
- strb r0, [r1, 0x7]
- mov r0, sp
- ldrb r0, [r0, 0x6]
- strb r0, [r1, 0x8]
- mov r0, sp
- ldrb r0, [r0, 0x7]
- strb r0, [r1, 0x9]
- ldrb r0, [r3, 0x4]
- strb r0, [r1, 0xA]
- ldrb r0, [r3, 0x5]
- strb r0, [r1, 0xB]
- mov r4, sp
- ldrb r2, [r4, 0xC]
- movs r1, 0x10
- negs r1, r1
- adds r0, r1, 0
- ands r0, r2
- strb r0, [r4, 0xC]
- mov r2, sp
- ldrb r0, [r3, 0x7]
- lsls r0, 4
- movs r5, 0xF
- strb r0, [r2, 0xC]
- ldrb r2, [r3, 0x8]
- adds r0, r5, 0
- ands r0, r2
- ldrb r2, [r4, 0xD]
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0xD]
- mov r2, sp
- ldrb r0, [r3, 0x9]
- lsls r0, 4
- ands r1, r5
- orrs r1, r0
- strb r1, [r2, 0xD]
- mov r0, sp
- ldrb r0, [r0, 0x6]
- cmp r0, 0xFF
- bne _0814FAC6
- ldr r0, =gBattleScripting
- adds r0, 0x24
- ldrb r0, [r0]
- adds r1, r7, 0
- bl sub_80397C4
- adds r2, r0, 0
- mov r0, sp
- ldrb r0, [r0, 0x5]
- ldr r1, [sp]
- mov r3, sp
- ldrb r3, [r3, 0xA]
- bl GetStringCenterAlignXOffsetWithLetterSpacing
- mov r2, sp
- mov r1, sp
- strb r0, [r1, 0x8]
- strb r0, [r2, 0x6]
-_0814FAC6:
- cmp r7, 0x16
- bne _0814FAE0
- ldr r0, =gTextFlags
- ldrb r2, [r0]
- movs r1, 0x3
- negs r1, r1
- ands r1, r2
- b _0814FAE8
- .pool
-_0814FAE0:
- ldr r0, =gTextFlags
- ldrb r1, [r0]
- movs r2, 0x2
- orrs r1, r2
-_0814FAE8:
- strb r1, [r0]
- adds r3, r0, 0
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- ldr r2, =0x01000002
- ands r1, r2
- adds r2, r0, 0
- cmp r1, 0
- beq _0814FB10
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- b _0814FB18
- .pool
-_0814FB10:
- ldrb r1, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
-_0814FB18:
- strb r0, [r3]
- cmp r7, 0
- beq _0814FB22
- cmp r7, 0x16
- bne _0814FB6C
-_0814FB22:
- ldr r1, [r2]
- ldr r0, =0x02000002
- ands r0, r1
- cmp r0, 0
- beq _0814FB34
- movs r6, 0x1
- b _0814FB5C
- .pool
-_0814FB34:
- movs r0, 0x80
- lsls r0, 17
- ands r1, r0
- cmp r1, 0
- beq _0814FB54
- ldr r4, =gUnknown_085CD668
- bl sub_8185FC4
- lsls r0, 24
- lsrs r0, 24
- adds r0, r4
- ldrb r6, [r0]
- b _0814FB5C
- .pool
-_0814FB54:
- bl sav2_get_text_speed
- lsls r0, 24
- lsrs r6, r0, 24
-_0814FB5C:
- ldr r0, =gTextFlags
- ldrb r1, [r0]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0]
- b _0814FB7E
- .pool
-_0814FB6C:
- adds r0, r6, r7
- lsls r0, 2
- add r0, r8
- ldrb r6, [r0, 0x6]
- ldrb r1, [r3]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
-_0814FB7E:
- mov r0, sp
- adds r1, r6, 0
- movs r2, 0
- bl AddTextPrinter
- mov r0, r9
- cmp r0, 0
- beq _0814FB9C
- adds r0, r7, 0
- bl PutWindowTilemap
- adds r0, r7, 0
- movs r1, 0x3
- bl CopyWindowToVram
-_0814FB9C:
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_814F9EC
-
- thumb_func_start sub_814FBAC
-sub_814FBAC: @ 814FBAC
- push {r4,r5,lr}
- ldr r0, =gActiveBank
- ldrb r2, [r0]
- lsls r1, r2, 9
- ldr r0, =gBattleBufferA + 4
- adds r1, r0
- ldr r4, =gUnknown_08D85620
- ldr r0, =gMoveSelectionCursor
- adds r2, r0
- ldrb r2, [r2]
- adds r0, r1, 0
- adds r0, 0x8
- adds r0, r2
- ldrb r0, [r0]
- adds r1, 0xC
- adds r1, r2
- ldrb r1, [r1]
- bl sub_814FC20
- lsls r0, 24
- ldr r5, =gPlttBufferUnfaded
- lsrs r0, 22
- adds r0, r4
- ldrh r1, [r0]
- adds r2, r5, 0
- adds r2, 0xB8
- strh r1, [r2]
- ldrh r0, [r0, 0x2]
- adds r5, 0xB6
- strh r0, [r5]
- ldr r4, =gPlttBufferFaded + 0xB8
- adds r0, r2, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl CpuSet
- subs r4, 0x2
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl CpuSet
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_814FBAC
-
- thumb_func_start sub_814FC20
-sub_814FC20: @ 814FC20
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- adds r3, r2, 0
- lsls r1, 24
- lsrs r0, r1, 24
- cmp r0, r2
- beq _0814FC68
- cmp r0, 0x2
- bhi _0814FC3A
- cmp r2, 0x1
- bhi _0814FC68
- b _0814FC42
-_0814FC3A:
- cmp r0, 0x7
- bhi _0814FC4C
- cmp r2, 0x2
- bhi _0814FC68
-_0814FC42:
- movs r0, 0x2
- subs r0, r2
- lsls r0, 24
- lsrs r0, 24
- b _0814FC6A
-_0814FC4C:
- cmp r2, 0
- bne _0814FC54
- movs r0, 0x2
- b _0814FC6A
-_0814FC54:
- lsrs r0, r1, 26
- cmp r2, r0
- bhi _0814FC5E
- movs r0, 0x1
- b _0814FC6A
-_0814FC5E:
- lsrs r0, r1, 25
- cmp r3, r0
- bhi _0814FC68
- movs r0, 0
- b _0814FC6A
-_0814FC68:
- movs r0, 0x3
-_0814FC6A:
- pop {r1}
- bx r1
- thumb_func_end sub_814FC20
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_setup.s b/asm/battle_setup.s
index fcc0de95b..fbedfff2f 100644
--- a/asm/battle_setup.s
+++ b/asm/battle_setup.s
@@ -2617,8 +2617,8 @@ _080B1C96:
.pool
thumb_func_end sub_80B1C7C
- thumb_func_start sub_80B1CA4
-sub_80B1CA4: @ 80B1CA4
+ thumb_func_start GetTrainer1LoseText
+GetTrainer1LoseText: @ 80B1CA4
push {r4,lr}
ldr r0, =gTrainerBattleOpponent_A
ldrh r1, [r0]
@@ -2643,10 +2643,10 @@ _080B1CC0:
pop {r1}
bx r1
.pool
- thumb_func_end sub_80B1CA4
+ thumb_func_end GetTrainer1LoseText
- thumb_func_start sub_80B1CE0
-sub_80B1CE0: @ 80B1CE0
+ thumb_func_start GetTrainer2LoseText
+GetTrainer2LoseText: @ 80B1CE0
push {r4,lr}
ldr r4, =gStringVar4
ldr r0, =gUnknown_02038BE0
@@ -2660,7 +2660,7 @@ sub_80B1CE0: @ 80B1CE0
pop {r1}
bx r1
.pool
- thumb_func_end sub_80B1CE0
+ thumb_func_end GetTrainer2LoseText
thumb_func_start sub_80B1D04
sub_80B1D04: @ 80B1D04
diff --git a/asm/battle_tower.s b/asm/battle_tower.s
index eb91121ae..59971c5d2 100755
--- a/asm/battle_tower.s
+++ b/asm/battle_tower.s
@@ -5857,8 +5857,8 @@ sub_8165244: @ 8165244
.pool
thumb_func_end sub_8165244
- thumb_func_start sub_8165264
-sub_8165264: @ 8165264
+ thumb_func_start GetEreaderTrainerClassId
+GetEreaderTrainerClassId: @ 8165264
ldr r1, =gTrainerClassToNameIndex
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
@@ -5869,10 +5869,10 @@ sub_8165264: @ 8165264
ldrb r0, [r0]
bx lr
.pool
- thumb_func_end sub_8165264
+ thumb_func_end GetEreaderTrainerClassId
- thumb_func_start sub_8165284
-sub_8165284: @ 8165284
+ thumb_func_start GetEreaderTrainerName
+GetEreaderTrainerName: @ 8165284
push {r4,lr}
adds r3, r0, 0
movs r2, 0
@@ -5896,7 +5896,7 @@ _08165294:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8165284
+ thumb_func_end GetEreaderTrainerName
thumb_func_start sub_81652B4
sub_81652B4: @ 81652B4
diff --git a/asm/fldeff_emotion.s b/asm/fldeff_emotion.s
deleted file mode 100644
index 37096a438..000000000
--- a/asm/fldeff_emotion.s
+++ /dev/null
@@ -1,328 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start oei_exclamation_mark
-oei_exclamation_mark: @ 80B4620
- push {lr}
- ldr r0, =gUnknown_085507B4
- movs r1, 0
- movs r2, 0
- movs r3, 0x53
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080B4648
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0
- movs r2, 0
- bl sub_80B46D8
-_080B4648:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end oei_exclamation_mark
-
- thumb_func_start sub_80B4658
-sub_80B4658: @ 80B4658
- push {lr}
- ldr r0, =gUnknown_085507B4
- movs r1, 0
- movs r2, 0
- movs r3, 0x52
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080B4680
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0x21
- movs r2, 0x1
- bl sub_80B46D8
-_080B4680:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B4658
-
- thumb_func_start sub_80B4690
-sub_80B4690: @ 80B4690
- push {r4,lr}
- ldr r0, =gUnknown_085507CC
- movs r1, 0
- movs r2, 0
- movs r3, 0x52
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080B46C6
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x2E
- movs r2, 0
- bl sub_80B46D8
- ldrb r1, [r4, 0x5]
- movs r0, 0xF
- ands r0, r1
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r4, 0x5]
-_080B46C6:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B4690
-
- thumb_func_start sub_80B46D8
-@ void sub_80B46D8(struct obj *object, s16 a2, u8 a3)
-sub_80B46D8: @ 80B46D8
- push {r4,lr}
- lsls r2, 24
- lsrs r2, 24
- ldrb r4, [r0, 0x5]
- movs r3, 0xD
- negs r3, r3
- ands r3, r4
- movs r4, 0x4
- orrs r3, r4
- strb r3, [r0, 0x5]
- movs r3, 0x3E
- adds r3, r0
- mov r12, r3
- ldrb r3, [r3]
- movs r4, 0x2
- orrs r3, r4
- mov r4, r12
- strb r3, [r4]
- ldr r4, =gFieldEffectSpawnParams
- ldr r3, [r4]
- strh r3, [r0, 0x2E]
- ldr r3, [r4, 0x4]
- strh r3, [r0, 0x30]
- ldr r3, [r4, 0x8]
- strh r3, [r0, 0x32]
- ldr r3, =0x0000fffb
- strh r3, [r0, 0x34]
- strh r1, [r0, 0x3C]
- adds r1, r2, 0
- bl StartSpriteAnim
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B46D8
-
- thumb_func_start objc_exclamation_mark_probably
-objc_exclamation_mark_probably: @ 80B4724
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x30]
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r4, 0x32]
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _080B4756
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080B4764
-_080B4756:
- ldrh r1, [r4, 0x3C]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldEffectStop
- b _080B47B2
-_080B4764:
- ldr r2, =gMapObjects
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- ldrh r3, [r4, 0x34]
- ldrh r0, [r4, 0x36]
- adds r2, r3, r0
- strh r2, [r4, 0x36]
- ldrh r0, [r1, 0x20]
- strh r0, [r4, 0x20]
- ldrh r0, [r1, 0x22]
- subs r0, 0x10
- strh r0, [r4, 0x22]
- ldrh r0, [r1, 0x24]
- strh r0, [r4, 0x24]
- ldrh r0, [r1, 0x26]
- adds r0, r2
- strh r0, [r4, 0x26]
- lsls r2, 16
- asrs r2, 16
- cmp r2, 0
- beq _080B47B0
- adds r0, r3, 0x1
- strh r0, [r4, 0x34]
- b _080B47B2
- .pool
-_080B47B0:
- strh r2, [r4, 0x34]
-_080B47B2:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end objc_exclamation_mark_probably
-
- thumb_func_start sub_80B47BC
-sub_80B47BC: @ 80B47BC
- push {lr}
- ldr r0, =gUnknown_02038BFC
- ldrb r0, [r0]
- cmp r0, 0
- beq _080B47D4
- ldr r0, =gUnknown_03006090
- ldrb r0, [r0, 0xC]
- b _080B47D8
- .pool
-_080B47D4:
- ldr r0, =gUnknown_03006090
- ldrb r0, [r0]
-_080B47D8:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B47BC
-
- thumb_func_start sub_80B47E0
-sub_80B47E0: @ 80B47E0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _080B47EE
- movs r0, 0
- b _080B4800
-_080B47EE:
- cmp r0, 0
- beq _080B47FC
- ldr r0, =gUnknown_03006090
- ldrb r0, [r0, 0xC]
- b _080B4800
- .pool
-_080B47FC:
- ldr r0, =gUnknown_03006090
- ldrb r0, [r0]
-_080B4800:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B47E0
-
- thumb_func_start sub_80B4808
-sub_80B4808: @ 80B4808
- push {lr}
- ldr r0, =gUnknown_030060AC
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080B4870
- ldr r2, =gUnknown_03006090
- ldr r0, =gUnknown_03006080
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- ldrb r0, [r0, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetOppositeDirection
- lsls r0, 24
- lsrs r0, 24
- bl GetFaceDirectionAnimId
- ldr r3, =gUnknown_03006084
- strb r0, [r3]
- movs r0, 0xFE
- strb r0, [r3, 0x1]
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrb r1, [r0, 0x5]
- ldrb r2, [r0, 0x4]
- movs r0, 0xFF
- bl exec_movement
- b _080B489E
- .pool
-_080B4870:
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- ldrb r0, [r0, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetFaceDirectionAnimId
- ldr r3, =gUnknown_03006084
- strb r0, [r3]
- movs r0, 0xFE
- strb r0, [r3, 0x1]
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrb r1, [r0, 0x5]
- ldrb r2, [r0, 0x4]
- movs r0, 0xFF
- bl exec_movement
-_080B489E:
- movs r0, 0xFF
- bl sub_809BE48
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B4808
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/main_menu.s b/asm/main_menu.s
index 40466ae1b..6194f0487 100644
--- a/asm/main_menu.s
+++ b/asm/main_menu.s
@@ -119,11 +119,11 @@ InitMainMenu: @ 802F6F4
str r0, [r1, 0x8]
ldr r0, [r1, 0x8]
bl ResetPaletteFade
- ldr r0, =gUnknown_082FF0A0
+ ldr r0, =gMainMenuBgPal
movs r1, 0
movs r2, 0x20
bl LoadPalette
- ldr r0, =gUnknown_082FF0C0
+ ldr r0, =gMainMenuTextPal
movs r1, 0xF0
movs r2, 0x20
bl LoadPalette
@@ -1914,7 +1914,7 @@ task_new_game_prof_birch_speech_1: @ 80307B0
movs r0, 0x54
movs r1, 0
bl SetGpuReg
- ldr r0, =gUnknown_082FED3C
+ ldr r0, =gBirchIntroShadowGfx
movs r1, 0xC0
lsls r1, 19
bl LZ77UnCompVram
@@ -3679,7 +3679,7 @@ new_game_prof_birch_speech_part2_start: @ 8031678
str r0, [r1, 0x8]
ldr r0, [r1, 0x8]
bl ResetPaletteFade
- ldr r0, =gUnknown_082FED3C
+ ldr r0, =gBirchIntroShadowGfx
adds r1, r4, 0
bl LZ77UnCompVram
ldr r0, =gUnknown_082FEEF0
@@ -3689,7 +3689,7 @@ new_game_prof_birch_speech_part2_start: @ 8031678
movs r1, 0
movs r2, 0x40
bl LoadPalette
- ldr r0, =gUnknown_082FF01A
+ ldr r0, =gUnknown_082FF018+2
movs r1, 0x1
movs r2, 0x10
bl LoadPalette
@@ -4459,11 +4459,11 @@ set_default_player_name: @ 8031DC4
adds r5, r1, 0
cmp r0, 0
bne _08031DE4
- ldr r1, =gUnknown_082FF128
+ ldr r1, =gMalePresetNames
b _08031DE6
.pool
_08031DE4:
- ldr r1, =gUnknown_082FF178
+ ldr r1, =gFemalePresetNames
_08031DE6:
lsls r0, r2, 2
adds r0, r1
diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s
index bcc52c172..e1a5e4e4c 100755
--- a/asm/pokemon_summary_screen.s
+++ b/asm/pokemon_summary_screen.s
@@ -7571,7 +7571,7 @@ sub_81C3B08: @ 81C3B08
adds r7, r4, 0
ldrb r0, [r5]
adds r1, r6, 0
- bl sub_814FC20
+ bl GetCurrentPpToMaxPpState
lsls r0, 24
lsrs r0, 24
adds r5, r0, 0
diff --git a/asm/reset_rtc_screen.s b/asm/reset_rtc_screen.s
index ac2c1181c..1f5ef83d8 100644
--- a/asm/reset_rtc_screen.s
+++ b/asm/reset_rtc_screen.s
@@ -291,7 +291,7 @@ sub_809EB04: @ 809EB04
lsrs r5, 24
ldr r0, =gUnknown_085104C4
bl LoadSpritePalette
- ldr r0, =gUnknown_085104F0
+ ldr r0, =gSpriteTemplate_85104F0
mov r8, r0
movs r1, 0x35
movs r2, 0x44
@@ -655,7 +655,7 @@ sub_809EDE8: @ 809EDE8
lsls r0, r4, 1
adds r0, r4
lsls r0, 2
- ldr r1, =gUnknown_0851041C
+ ldr r1, =gUnknown_08510420 - 0x4
adds r2, r0, r1
ldr r1, =gMain
ldrh r3, [r1, 0x2E]
diff --git a/asm/reshow_battle_screen.s b/asm/reshow_battle_screen.s
index d9b679750..64ebcdd00 100644
--- a/asm/reshow_battle_screen.s
+++ b/asm/reshow_battle_screen.s
@@ -618,7 +618,7 @@ _080A986C:
adds r0, r4, 0
bl sub_806A12C
ldr r6, =gUnknown_0202499C
- ldr r1, =gUnknown_08305D2C
+ ldr r1, =gTrainerBackPicCoords
ldr r0, [r5]
ldrb r0, [r0, 0x8]
lsls r0, 2
@@ -656,7 +656,7 @@ _080A98D0:
movs r0, 0x6
bl sub_806A12C
ldr r5, =gUnknown_0202499C
- ldr r0, =gUnknown_08305D2C
+ ldr r0, =gTrainerBackPicCoords
ldrb r0, [r0, 0x18]
movs r4, 0x8
subs r4, r0
@@ -825,7 +825,7 @@ _080A9A50:
adds r0, r5, 0
adds r0, 0x8
adds r1, r0
- ldr r0, =gUnknown_08309AAC
+ ldr r0, =gMonAnimationsSpriteAnimsPtrTable
ldr r2, =0x00000604
adds r0, r2
ldr r0, [r0]
diff --git a/asm/rom6.s b/asm/rom6.s
index 0a8960811..2ed9d888e 100644
--- a/asm/rom6.s
+++ b/asm/rom6.s
@@ -7347,7 +7347,7 @@ sub_8139228: @ 8139228
sub_8139238: @ 8139238
push {lr}
ldr r0, =gStringVar1
- bl sub_8165284
+ bl GetEreaderTrainerName
pop {r0}
bx r0
.pool
diff --git a/asm/rom_80A5C6C.s b/asm/rom_80A5C6C.s
index bb74b3713..cf09bf148 100644
--- a/asm/rom_80A5C6C.s
+++ b/asm/rom_80A5C6C.s
@@ -419,11 +419,11 @@ _080A5FE8:
lsls r0, 1
cmp r4, r0
bls _080A5FF8
- ldr r0, =gUnknown_08305DCC
+ ldr r0, =gEnemyMonElevation
b _080A5FFC
.pool
_080A5FF8:
- ldr r0, =gUnknown_08305DCC
+ ldr r0, =gEnemyMonElevation
adds r0, r7, r0
_080A5FFC:
ldrb r5, [r0]
diff --git a/asm/trainer_see.s b/asm/trainer_see.s
index d57ad1815..d638498ee 100644
--- a/asm/trainer_see.s
+++ b/asm/trainer_see.s
@@ -267,7 +267,7 @@ CheckIfTrainerCanApproachPlayer: @ 80B3DF0
mov r8, r4
cmp r0, 0x1
bne _080B3E50
- ldr r1, =gUnknown_0855072C
+ ldr r1, =gIsTrainerInRange
ldrb r0, [r7, 0x18]
lsls r0, 28
lsrs r0, 26
@@ -300,7 +300,7 @@ _080B3E4C:
_080B3E50:
movs r5, 0
_080B3E52:
- ldr r0, =gUnknown_0855072C
+ ldr r0, =gIsTrainerInRange
lsls r4, r5, 2
adds r4, r0
ldrb r1, [r7, 0x1D]
@@ -702,7 +702,7 @@ c3_8081EDC: @ 80B4118
b _080B416C
.pool
_080B4150:
- ldr r7, =gUnknown_0855073C
+ ldr r7, =gTrainerSeeFuncList
_080B4152:
movs r1, 0x8
ldrsh r0, [r4, r1]
@@ -1186,7 +1186,7 @@ sub_80B44C8: @ 80B44C8
adds r0, 0x1
strh r0, [r4, 0x16]
_080B44FA:
- ldr r1, =gUnknown_0855076C
+ ldr r1, =gTrainerSeeFuncList2
movs r2, 0x8
ldrsh r0, [r4, r2]
lsls r0, 2
@@ -1322,4 +1322,324 @@ _080B4616:
.pool
thumb_func_end sub_80B45D0
+ thumb_func_start oei_exclamation_mark
+oei_exclamation_mark: @ 80B4620
+ push {lr}
+ ldr r0, =gSpriteTemplate_85507B4
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x53
+ bl CreateSpriteAtEnd
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0x40
+ beq _080B4648
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ movs r1, 0
+ movs r2, 0
+ bl sub_80B46D8
+_080B4648:
+ movs r0, 0
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end oei_exclamation_mark
+
+ thumb_func_start sub_80B4658
+sub_80B4658: @ 80B4658
+ push {lr}
+ ldr r0, =gSpriteTemplate_85507B4
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x52
+ bl CreateSpriteAtEnd
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0x40
+ beq _080B4680
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ movs r1, 0x21
+ movs r2, 0x1
+ bl sub_80B46D8
+_080B4680:
+ movs r0, 0
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_80B4658
+
+ thumb_func_start sub_80B4690
+sub_80B4690: @ 80B4690
+ push {r4,lr}
+ ldr r0, =gSpriteTemplate_85507CC
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x52
+ bl CreateSpriteAtEnd
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x40
+ beq _080B46C6
+ lsls r4, r0, 4
+ adds r4, r0
+ lsls r4, 2
+ ldr r0, =gSprites
+ adds r4, r0
+ adds r0, r4, 0
+ movs r1, 0x2E
+ movs r2, 0
+ bl sub_80B46D8
+ ldrb r1, [r4, 0x5]
+ movs r0, 0xF
+ ands r0, r1
+ movs r1, 0x20
+ orrs r0, r1
+ strb r0, [r4, 0x5]
+_080B46C6:
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_80B4690
+
+ thumb_func_start sub_80B46D8
+@ void sub_80B46D8(struct obj *object, s16 a2, u8 a3)
+sub_80B46D8: @ 80B46D8
+ push {r4,lr}
+ lsls r2, 24
+ lsrs r2, 24
+ ldrb r4, [r0, 0x5]
+ movs r3, 0xD
+ negs r3, r3
+ ands r3, r4
+ movs r4, 0x4
+ orrs r3, r4
+ strb r3, [r0, 0x5]
+ movs r3, 0x3E
+ adds r3, r0
+ mov r12, r3
+ ldrb r3, [r3]
+ movs r4, 0x2
+ orrs r3, r4
+ mov r4, r12
+ strb r3, [r4]
+ ldr r4, =gFieldEffectSpawnParams
+ ldr r3, [r4]
+ strh r3, [r0, 0x2E]
+ ldr r3, [r4, 0x4]
+ strh r3, [r0, 0x30]
+ ldr r3, [r4, 0x8]
+ strh r3, [r0, 0x32]
+ ldr r3, =0x0000fffb
+ strh r3, [r0, 0x34]
+ strh r1, [r0, 0x3C]
+ adds r1, r2, 0
+ bl StartSpriteAnim
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80B46D8
+
+ thumb_func_start objc_exclamation_mark_probably
+objc_exclamation_mark_probably: @ 80B4724
+ push {r4,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x2E]
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r1, [r4, 0x30]
+ lsls r1, 24
+ lsrs r1, 24
+ ldrh r2, [r4, 0x32]
+ lsls r2, 24
+ lsrs r2, 24
+ mov r3, sp
+ bl TryGetFieldObjectIdByLocalIdAndMap
+ lsls r0, 24
+ cmp r0, 0
+ bne _080B4756
+ adds r0, r4, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _080B4764
+_080B4756:
+ ldrh r1, [r4, 0x3C]
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r4, 0
+ bl FieldEffectStop
+ b _080B47B2
+_080B4764:
+ ldr r2, =gMapObjects
+ mov r0, sp
+ ldrb r1, [r0]
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrb r0, [r0, 0x4]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ ldr r0, =gSprites
+ adds r1, r0
+ ldrh r3, [r4, 0x34]
+ ldrh r0, [r4, 0x36]
+ adds r2, r3, r0
+ strh r2, [r4, 0x36]
+ ldrh r0, [r1, 0x20]
+ strh r0, [r4, 0x20]
+ ldrh r0, [r1, 0x22]
+ subs r0, 0x10
+ strh r0, [r4, 0x22]
+ ldrh r0, [r1, 0x24]
+ strh r0, [r4, 0x24]
+ ldrh r0, [r1, 0x26]
+ adds r0, r2
+ strh r0, [r4, 0x26]
+ lsls r2, 16
+ asrs r2, 16
+ cmp r2, 0
+ beq _080B47B0
+ adds r0, r3, 0x1
+ strh r0, [r4, 0x34]
+ b _080B47B2
+ .pool
+_080B47B0:
+ strh r2, [r4, 0x34]
+_080B47B2:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end objc_exclamation_mark_probably
+
+ thumb_func_start sub_80B47BC
+sub_80B47BC: @ 80B47BC
+ push {lr}
+ ldr r0, =gUnknown_02038BFC
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _080B47D4
+ ldr r0, =gUnknown_03006090
+ ldrb r0, [r0, 0xC]
+ b _080B47D8
+ .pool
+_080B47D4:
+ ldr r0, =gUnknown_03006090
+ ldrb r0, [r0]
+_080B47D8:
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_80B47BC
+
+ thumb_func_start sub_80B47E0
+sub_80B47E0: @ 80B47E0
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bls _080B47EE
+ movs r0, 0
+ b _080B4800
+_080B47EE:
+ cmp r0, 0
+ beq _080B47FC
+ ldr r0, =gUnknown_03006090
+ ldrb r0, [r0, 0xC]
+ b _080B4800
+ .pool
+_080B47FC:
+ ldr r0, =gUnknown_03006090
+ ldrb r0, [r0]
+_080B4800:
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_80B47E0
+
+ thumb_func_start sub_80B4808
+sub_80B4808: @ 80B4808
+ push {lr}
+ ldr r0, =gUnknown_030060AC
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _080B4870
+ ldr r2, =gUnknown_03006090
+ ldr r0, =gUnknown_03006080
+ ldrh r1, [r0]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrb r1, [r0]
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gMapObjects
+ adds r0, r1
+ ldrb r0, [r0, 0x18]
+ lsls r0, 28
+ lsrs r0, 28
+ bl GetOppositeDirection
+ lsls r0, 24
+ lsrs r0, 24
+ bl GetFaceDirectionAnimId
+ ldr r3, =gUnknown_03006084
+ strb r0, [r3]
+ movs r0, 0xFE
+ strb r0, [r3, 0x1]
+ ldr r0, =gSaveBlock1Ptr
+ ldr r0, [r0]
+ ldrb r1, [r0, 0x5]
+ ldrb r2, [r0, 0x4]
+ movs r0, 0xFF
+ bl exec_movement
+ b _080B489E
+ .pool
+_080B4870:
+ ldr r0, =gPlayerAvatar
+ ldrb r1, [r0, 0x5]
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gMapObjects
+ adds r0, r1
+ ldrb r0, [r0, 0x18]
+ lsls r0, 28
+ lsrs r0, 28
+ bl GetFaceDirectionAnimId
+ ldr r3, =gUnknown_03006084
+ strb r0, [r3]
+ movs r0, 0xFE
+ strb r0, [r3, 0x1]
+ ldr r0, =gSaveBlock1Ptr
+ ldr r0, [r0]
+ ldrb r1, [r0, 0x5]
+ ldrb r2, [r0, 0x4]
+ movs r0, 0xFF
+ bl exec_movement
+_080B489E:
+ movs r0, 0xFF
+ bl sub_809BE48
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80B4808
+
.align 2, 0 @ Don't pad with nop.
diff --git a/charmap.txt b/charmap.txt
index 8fe4147cc..05eff3012 100644
--- a/charmap.txt
+++ b/charmap.txt
@@ -355,12 +355,12 @@ B_LINK_OPPONENT_MON1_NAME = FD 0A
B_LINK_PLAYER_MON2_NAME = FD 0B
B_LINK_OPPONENT_MON2_NAME = FD 0C
B_ATK_NAME_WITH_PREFIX_MON1 = FD 0D
-B_ATK_NAME = FD 0E
+B_ATK_PARTNER_NAME = FD 0E
B_ATK_NAME_WITH_PREFIX = FD 0F
B_DEF_NAME_WITH_PREFIX = FD 10
B_EFF_NAME_WITH_PREFIX = FD 11 @ EFF = short for gEffectBank
-B_SCR_ACTIVE_NAME_WITH_PREFIX = FD 12
-B_ACTIVE_NAME_WITH_PREFIX = FD 13
+B_ACTIVE_NAME_WITH_PREFIX = FD 12
+B_SCR_ACTIVE_NAME_WITH_PREFIX = FD 13
B_CURRENT_MOVE = FD 14
B_LAST_MOVE = FD 15
B_LAST_ITEM = FD 16
diff --git a/data/battle_1.s b/data/battle_1.s
new file mode 100644
index 000000000..37f68bfd6
--- /dev/null
+++ b/data/battle_1.s
@@ -0,0 +1,12 @@
+
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .section .rodata
+
+ .align 2
+gUnknown_082FF1C8:: @ 82FF1C8
+ .byte 0x01, 0x04, 0x10, 0x40
+ .byte 0x02, 0x04, 0x08, 0x20
+ .byte 0x02, 0x04, 0x08, 0x20
+ .byte 0x00, 0x00, 0x00, 0x00
diff --git a/data/battle_anims.s b/data/battle_anims.s
index 8b285f7be..13e1bdc2f 100644
--- a/data/battle_anims.s
+++ b/data/battle_anims.s
@@ -4,6 +4,8 @@
.section .rodata
.align 2, 0
+ @ only partially done because this file terrifies me
+
gUnknown_08524904:: @ 8524904
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
@@ -291,62 +293,740 @@ gUnknown_08524B34:: @ 8524B34
gUnknown_08524B3C:: @ 8524B3C
.byte 0x00, 0x87, 0x00, 0xc0, 0x00, 0x08, 0x00, 0x00
+ .align 2
gUnknown_08524B44:: @ 8524B44
- .incbin "baserom.gba", 0x524b44, 0x1d0
-
+ obj_tiles 0x08c02538, 0x0200, 0x2710
+ obj_tiles 0x08c1c6e0, 0x0300, 0x2711
+ obj_tiles 0x08c20784, 0x0200, 0x2712
+ obj_tiles 0x08c025e8, 0x0100, 0x2713
+ obj_tiles 0x08c0265c, 0x0200, 0x2714
+ obj_tiles 0x08c0270c, 0x0400, 0x2715
+ obj_tiles 0x08c027e0, 0x0180, 0x2716
+ obj_tiles 0x08c029cc, 0x0800, 0x2717
+ obj_tiles 0x08c02b68, 0x0020, 0x2718
+ obj_tiles 0x08c02fa4, 0x0400, 0x2719
+ obj_tiles 0x08c02bc4, 0x1200, 0x271a
+ obj_tiles 0x08c032ac, 0x0180, 0x271b
+ obj_tiles 0x08c0334c, 0x0080, 0x271c
+ obj_tiles 0x08c03438, 0x0080, 0x271d
+ obj_tiles 0x08c1fbd4, 0x0280, 0x271e
+ obj_tiles 0x08c03484, 0x0080, 0x271f
+ obj_tiles 0x08c03518, 0x0100, 0x2720
+ obj_tiles 0x08c03598, 0x0020, 0x2721
+ obj_tiles 0x08c24d7c, 0x0080, 0x2722
+ obj_tiles 0x08c035f8, 0x0400, 0x2723
+ obj_tiles 0x08c036b8, 0x0200, 0x2724
+ obj_tiles 0x08c03a28, 0x0a00, 0x2725
+ obj_tiles 0x08c03a28, 0x0a00, 0x2726
+ obj_tiles 0x08c037d4, 0x0380, 0x2727
+ obj_tiles 0x08c03ea0, 0x0300, 0x2728
+ obj_tiles 0x08c03db0, 0x0a00, 0x2729
+ obj_tiles 0x08c04494, 0x0a00, 0x272a
+ obj_tiles 0x08c0481c, 0x0a00, 0x272b
+ obj_tiles 0x08c04b40, 0x0a00, 0x272c
+ obj_tiles 0x08c04e90, 0x0a00, 0x272d
+ obj_tiles 0x08c05170, 0x0a00, 0x272e
+ obj_tiles 0x08c03f80, 0x0e00, 0x272f
+ obj_tiles 0x08c043a8, 0x0380, 0x2730
+ obj_tiles 0x08c0557c, 0x1000, 0x2731
+ obj_tiles 0x08c05eec, 0x0800, 0x2732
+ obj_tiles 0x08c062b8, 0x0a00, 0x2733
+ obj_tiles 0x08c06678, 0x0800, 0x2734
+ obj_tiles 0x08c06a4c, 0x0a00, 0x2735
+ obj_tiles 0x08c07964, 0x0a00, 0x2736
+ obj_tiles 0x08c07b88, 0x0a00, 0x2737
+ obj_tiles 0x08c07e84, 0x0a00, 0x2738
+ obj_tiles 0x08c08090, 0x0a00, 0x2739
+ obj_tiles 0x08c082c4, 0x0a00, 0x273a
+ obj_tiles 0x08c085bc, 0x0a00, 0x273b
+ obj_tiles 0x08c08a0c, 0x0a00, 0x273c
+ obj_tiles 0x08c08ca0, 0x0a00, 0x273d
+ obj_tiles 0x08c09604, 0x1000, 0x273e
+ obj_tiles 0x08c09604, 0x1000, 0x273f
+ obj_tiles 0x08c09cf0, 0x1000, 0x2740
+ obj_tiles 0x08c09cf0, 0x1000, 0x2741
+ obj_tiles 0x08c09ffc, 0x0200, 0x2742
+ obj_tiles 0x08c0a09c, 0x0200, 0x2743
+ obj_tiles 0x08c0a148, 0x0200, 0x2744
+ obj_tiles 0x08c2e830, 0x0800, 0x2745
+ obj_tiles 0x08c0a3a8, 0x0080, 0x2746
+ obj_tiles 0x08c0a8bc, 0x0200, 0x2747
+ obj_tiles 0x08c0a3ec, 0x1000, 0x2748
+ obj_tiles 0x08c0a980, 0x0180, 0x2749
+
+ .align 2
gUnknown_08524D14:: @ 8524D14
- .incbin "baserom.gba", 0x524d14, 0x270
-
+ obj_tiles 0x08c0aa2c, 0x0c00, 0x274a
+ obj_tiles 0x08c0aebc, 0x0100, 0x274b
+ obj_tiles 0x08c0af38, 0x0040, 0x274c
+ obj_tiles 0x08c0af7c, 0x0180, 0x274d
+ obj_tiles 0x08c0b04c, 0x0800, 0x274e
+ obj_tiles 0x08c0b444, 0x0480, 0x274f
+ obj_tiles 0x08c23104, 0x0200, 0x2750
+ obj_tiles 0x08c0b6bc, 0x0200, 0x2751
+ obj_tiles 0x08c0b7f0, 0x0100, 0x2752
+ obj_tiles 0x08c0b6bc, 0x0200, 0x2753
+ obj_tiles 0x08c0b6bc, 0x0200, 0x2754
+ obj_tiles 0x08c0b6bc, 0x0200, 0x2755
+ obj_tiles 0x08c0b864, 0x0200, 0x2756
+ obj_tiles 0x08c0b90c, 0x0a00, 0x2757
+ obj_tiles 0x08c0bb38, 0x0300, 0x2758
+ obj_tiles 0x08c0bc20, 0x0180, 0x2759
+ obj_tiles 0x08c1b29c, 0x00a0, 0x275a
+ obj_tiles 0x08c0bd5c, 0x0700, 0x275b
+ obj_tiles 0x08c14cec, 0x0400, 0x275c
+ obj_tiles 0x08c14f50, 0x0200, 0x275d
+ obj_tiles 0x08c0bffc, 0x0300, 0x275e
+ obj_tiles 0x08c0c1bc, 0x0c00, 0x275f
+ obj_tiles 0x08c0c5ec, 0x0a00, 0x2760
+ obj_tiles 0x08c0c974, 0x0080, 0x2761
+ obj_tiles 0x08c0cb90, 0x0040, 0x2762
+ obj_tiles 0x08c0ce18, 0x0e00, 0x2763
+ obj_tiles 0x08c0d2bc, 0x0e00, 0x2764
+ obj_tiles 0x08c0d680, 0x0280, 0x2765
+ obj_tiles 0x08c0d738, 0x0200, 0x2766
+ obj_tiles 0x08c24cfc, 0x0080, 0x2767
+ obj_tiles 0x08c0d8a8, 0x00c0, 0x2768
+ obj_tiles 0x08c0d8f8, 0x0a00, 0x2769
+ obj_tiles 0x08c0db6c, 0x0200, 0x276a
+ obj_tiles 0x08c0dbfc, 0x0180, 0x276b
+ obj_tiles 0x08c0dd30, 0x0080, 0x276c
+ obj_tiles 0x08c0ddac, 0x1000, 0x276d
+ obj_tiles 0x08c0e47c, 0x0a00, 0x276e
+ obj_tiles 0x08c0e620, 0x0180, 0x276f
+ obj_tiles 0x08c0e6d0, 0x0380, 0x2770
+ obj_tiles 0x08c0e840, 0x0c00, 0x2771
+ obj_tiles 0x08c0ea20, 0x0200, 0x2772
+ obj_tiles 0x08c27cec, 0x0200, 0x2773
+ obj_tiles 0x08c0eb58, 0x0200, 0x2774
+ obj_tiles 0x08c0ec58, 0x0200, 0x2775
+ obj_tiles 0x08c0ed88, 0x0400, 0x2776
+ obj_tiles 0x08c0ef20, 0x0080, 0x2777
+ obj_tiles 0x08c0ef8c, 0x0400, 0x2778
+ obj_tiles 0x08c0f174, 0x0c00, 0x2779
+ obj_tiles 0x08c0f720, 0x0200, 0x277a
+ obj_tiles 0x08c0f810, 0x1000, 0x277b
+ obj_tiles 0x08c0fbe4, 0x0a00, 0x277c
+ obj_tiles 0x08c0ff68, 0x0020, 0x277d
+ obj_tiles 0x08c0ffb8, 0x0e00, 0x277e
+ obj_tiles 0x08c1039c, 0x0080, 0x277f
+ obj_tiles 0x08c10404, 0x0a00, 0x2780
+ obj_tiles 0x08c10754, 0x0400, 0x2781
+ obj_tiles 0x08c109e8, 0x0200, 0x2782
+ obj_tiles 0x08c115e4, 0x0700, 0x2783
+ obj_tiles 0x08c12e88, 0x0800, 0x2784
+ obj_tiles 0x08c1315c, 0x0a00, 0x2785
+ obj_tiles 0x08c133b4, 0x0600, 0x2786
+ obj_tiles 0x08c13568, 0x0800, 0x2787
+ obj_tiles 0x08c13820, 0x0200, 0x2788
+ obj_tiles 0x08c1393c, 0x0040, 0x2789
+ obj_tiles 0x08c1398c, 0x0180, 0x278a
+ obj_tiles 0x08c13aa4, 0x0600, 0x278b
+ obj_tiles 0x08c13be0, 0x0600, 0x278c
+ obj_tiles 0x08c13ea0, 0x0200, 0x278d
+ obj_tiles 0x08c13fb4, 0x0080, 0x278e
+ obj_tiles 0x08c1403c, 0x0200, 0x278f
+ obj_tiles 0x08c14200, 0x0800, 0x2790
+ obj_tiles 0x08c1448c, 0x0080, 0x2791
+ obj_tiles 0x08c144f0, 0x0a00, 0x2792
+ obj_tiles 0x08c148e8, 0x0280, 0x2793
+ obj_tiles 0x08c14a58, 0x0280, 0x2794
+ obj_tiles 0x08c14b78, 0x0100, 0x2795
+ obj_tiles 0x08c14c1c, 0x0200, 0x2796
+ obj_tiles 0x08c1a3a0, 0x0200, 0x2797
+
+ .align 2
gUnknown_08524F84:: @ 8524F84
- .incbin "baserom.gba", 0x524f84, 0x308
-
+ obj_tiles 0x08c1a540, 0x0020, 0x2798
+ obj_tiles 0x08c1a58c, 0x0a00, 0x2799
+ obj_tiles 0x08c1ab40, 0x0800, 0x279a
+ obj_tiles 0x08c1a790, 0x0800, 0x279b
+ obj_tiles 0x08c1ac8c, 0x00c0, 0x279c
+ obj_tiles 0x08c1ad2c, 0x01c0, 0x279d
+ obj_tiles 0x08c1ae54, 0x0100, 0x279e
+ obj_tiles 0x08c2cbac, 0x0800, 0x279f
+ obj_tiles 0x08c1bc64, 0x0200, 0x27a0
+ obj_tiles 0x08c1a9a0, 0x0800, 0x27a1
+ obj_tiles 0x08c02478, 0x0180, 0x27a2
+ obj_tiles 0x08c1af6c, 0x0180, 0x27a3
+ obj_tiles 0x08c1b178, 0x0200, 0x27a4
+ obj_tiles 0x08c1b0a8, 0x0200, 0x27a5
+ obj_tiles 0x08c1b328, 0x0180, 0x27a6
+ obj_tiles 0x08c1b418, 0x0400, 0x27a7
+ obj_tiles 0x08c033cc, 0x0080, 0x27a8
+ obj_tiles 0x08c1b510, 0x0100, 0x27a9
+ obj_tiles 0x08c1b594, 0x0100, 0x27aa
+ obj_tiles 0x08c1b660, 0x0140, 0x27ab
+ obj_tiles 0x08c1b748, 0x0800, 0x27ac
+ obj_tiles 0x08c1b988, 0x0200, 0x27ad
+ obj_tiles 0x08c1ba04, 0x0100, 0x27ae
+ obj_tiles 0x08c1baf0, 0x00a0, 0x27af
+ obj_tiles 0x08c1bb94, 0x0100, 0x27b0
+ obj_tiles 0x08c0297c, 0x0080, 0x27b1
+ obj_tiles 0x08c1be40, 0x0300, 0x27b2
+ obj_tiles 0x08c1bee4, 0x0100, 0x27b3
+ obj_tiles 0x08c1bee4, 0x0100, 0x27b4
+ obj_tiles 0x08c1bee4, 0x0100, 0x27b5
+ obj_tiles 0x08c1bfa4, 0x0800, 0x27b6
+ obj_tiles 0x08c1bfa4, 0x0800, 0x27b7
+ obj_tiles 0x08c1bfa4, 0x0800, 0x27b8
+ obj_tiles 0x08c1bfa4, 0x0800, 0x27b9
+ obj_tiles 0x08c1bfa4, 0x0800, 0x27ba
+ obj_tiles 0x08c1c350, 0x0080, 0x27bb
+ obj_tiles 0x08c1bc64, 0x0200, 0x27bc
+ obj_tiles 0x08c1c7bc, 0x0200, 0x27bd
+ obj_tiles 0x08c1d5fc, 0x0200, 0x27be
+ obj_tiles 0x08c1d6c4, 0x0080, 0x27bf
+ obj_tiles 0x08c1d750, 0x0200, 0x27c0
+ obj_tiles 0x08c1d8d0, 0x0500, 0x27c1
+ obj_tiles 0x08c1d9ac, 0x0800, 0x27c2
+ obj_tiles 0x08c1db64, 0x0400, 0x27c3
+ obj_tiles 0x08c1dc40, 0x0020, 0x27c4
+ obj_tiles 0x08c1dc58, 0x0800, 0x27c5
+ obj_tiles 0x08c1dfe8, 0x0100, 0x27c6
+ obj_tiles 0x08c1e0b4, 0x0800, 0x27c7
+ obj_tiles 0x08c1e354, 0x0400, 0x27c8
+ obj_tiles 0x08c1e4d0, 0x0a00, 0x27c9
+ obj_tiles 0x08c1edd8, 0x1000, 0x27ca
+ obj_tiles 0x08c1ebc8, 0x0800, 0x27cb
+ obj_tiles 0x08d966c0, 0x0400, 0x27cc
+ obj_tiles 0x08c20198, 0x0200, 0x27cd
+ obj_tiles 0x08c1fc84, 0x0800, 0x27ce
+ obj_tiles 0x08c1ff04, 0x0800, 0x27cf
+ obj_tiles 0x08c2023c, 0x0800, 0x27d0
+ obj_tiles 0x08c204e4, 0x0200, 0x27d1
+ obj_tiles 0x08c20c4c, 0x0800, 0x27d2
+ obj_tiles 0x08c20fac, 0x0200, 0x27d3
+ obj_tiles 0x08c20890, 0x0800, 0x27d4
+ obj_tiles 0x08c21084, 0x0200, 0x27d5
+ obj_tiles 0x08c2121c, 0x0800, 0x27d6
+ obj_tiles 0x08c21634, 0x0400, 0x27d7
+ obj_tiles 0x08c21718, 0x0200, 0x27d8
+ obj_tiles 0x08c21874, 0x0a80, 0x27d9
+ obj_tiles 0x08c220a8, 0x0600, 0x27da
+ obj_tiles 0x08c22234, 0x0800, 0x27db
+ obj_tiles 0x08c21f0c, 0x0200, 0x27dc
+ obj_tiles 0x08c226a4, 0x0600, 0x27dd
+ obj_tiles 0x08c22404, 0x0800, 0x27de
+ obj_tiles 0x08c228fc, 0x0180, 0x27df
+ obj_tiles 0x08c229ec, 0x0800, 0x27e0
+ obj_tiles 0x08c22ddc, 0x0800, 0x27e1
+ obj_tiles 0x08c23218, 0x0080, 0x27e2
+ obj_tiles 0x08c242b0, 0x0080, 0x27e3
+ obj_tiles 0x08c2407c, 0x0800, 0x27e4
+ obj_tiles 0x08c24300, 0x0800, 0x27e5
+ obj_tiles 0x08c24590, 0x0600, 0x27e6
+ obj_tiles 0x08c24820, 0x0600, 0x27e7
+ obj_tiles 0x08c23218, 0x0080, 0x27e8
+ obj_tiles 0x08c23ff4, 0x0080, 0x27e9
+ obj_tiles 0x08c24c50, 0x0180, 0x27ea
+ obj_tiles 0x08c23218, 0x0080, 0x27eb
+ obj_tiles 0x08c24dfc, 0x0200, 0x27ec
+ obj_tiles 0x08c24f48, 0x0400, 0x27ed
+ obj_tiles 0x08c251ac, 0x0a00, 0x27ee
+ obj_tiles 0x08c254e0, 0x0800, 0x27ef
+ obj_tiles 0x08c25794, 0x0200, 0x27f0
+ obj_tiles 0x08c27764, 0x0400, 0x27f1
+ obj_tiles 0x08c27a58, 0x0080, 0x27f2
+ obj_tiles 0x08c27910, 0x0800, 0x27f3
+ obj_tiles 0x08c25b1c, 0x0200, 0x27f4
+ obj_tiles 0x08c27b08, 0x0300, 0x27f5
+ obj_tiles 0x08c258b8, 0x0800, 0x27f6
+ obj_tiles 0x08c28394, 0x0380, 0x27f7
+ obj_tiles 0x08c27e34, 0x0800, 0x27f8
+
+ .align 2
gUnknown_0852528C:: @ 852528C
- .incbin "baserom.gba", 0x52528c, 0x120
-
+ obj_tiles 0x08c28564, 0x00c0, 0x27f9
+ obj_tiles 0x08c28610, 0x0800, 0x27fa
+ obj_tiles 0x08c28880, 0x0060, 0x27fb
+ obj_tiles 0x08c28880, 0x0060, 0x27fc
+ obj_tiles 0x08c28880, 0x0060, 0x27fd
+ obj_tiles 0x08c287f4, 0x0080, 0x27fe
+ obj_tiles 0x08c2caa0, 0x0180, 0x27ff
+ obj_tiles 0x08c2cdf4, 0x0180, 0x2800
+ obj_tiles 0x08c2d348, 0x0200, 0x2801
+ obj_tiles 0x08c2d570, 0x0200, 0x2802
+ obj_tiles 0x08c2d6d0, 0x0020, 0x2803
+ obj_tiles 0x08c2e554, 0x0400, 0x2804
+ obj_tiles 0x08c2df08, 0x0600, 0x2805
+ obj_tiles 0x08c2e0ac, 0x1000, 0x2806
+ obj_tiles 0x08c2e64c, 0x0400, 0x2807
+ obj_tiles 0x08c2eba4, 0x0020, 0x2808
+ obj_tiles 0x08c2ebd4, 0x0080, 0x2809
+ obj_tiles 0x08c2ec44, 0x0800, 0x280a
+ obj_tiles 0x08c2ee38, 0x0080, 0x280b
+ obj_tiles 0x08c2eeb4, 0x0200, 0x280c
+ obj_tiles 0x08c2eff0, 0x0400, 0x280d
+ obj_tiles 0x08c2f1f4, 0x0200, 0x280e
+ obj_tiles 0x08c2f354, 0x0200, 0x280f
+ obj_tiles 0x08c2f4f0, 0x0800, 0x2810
+ obj_tiles 0x08c2f8a4, 0x0280, 0x2811
+ obj_tiles 0x08c2f3e0, 0x0200, 0x2812
+ obj_tiles 0x08c1b0a8, 0x0200, 0x2813
+ obj_tiles 0x08d8dae0, 0x0400, 0x2814
+ obj_tiles 0x08d8d2a4, 0x0200, 0x2815
+ obj_tiles 0x08d8e840, 0x0200, 0x2816
+ obj_tiles 0x08d93b44, 0x0080, 0x2817
+ obj_tiles 0x08d8ea54, 0x0020, 0x2818
+ obj_tiles 0x08d8ea54, 0x0020, 0x2819
+ obj_tiles 0x08d93b9c, 0x0080, 0x281a
+ obj_tiles 0x08c2407c, 0x0800, 0x281b
+ obj_tiles 0x08d8ea54, 0x0020, 0x281c
+
+ .align 2
gUnknown_085253AC:: @ 85253AC
- .incbin "baserom.gba", 0x5253ac, 0x270
-
+ obj_tiles 0x08d8ef2c, 0x0080, 0x281d
+ obj_tiles 0x08dba378, 0x0400, 0x281e
+ obj_tiles 0x08dba4b8, 0x0080, 0x281f
+ obj_tiles 0x08d8ecc4, 0x0800, 0x2820
+ obj_tiles 0x08d8ef04, 0x0020, 0x2821
+ obj_tiles 0x08d8ef98, 0x0800, 0x2822
+ obj_tiles 0x08d8f118, 0x0800, 0x2823
+ obj_tiles 0x08d8f284, 0x0800, 0x2824
+ obj_tiles 0x08d92eec, 0x1000, 0x2825
+ obj_tiles 0x08d93c24, 0x0800, 0x2826
+ obj_tiles 0x08d93e4c, 0x00a0, 0x2827
+ obj_tiles 0x08d8f780, 0x0800, 0x2828
+ obj_tiles 0x08d93eb4, 0x0200, 0x2829
+ obj_tiles 0x08dba174, 0x0600, 0x282a
+ obj_tiles 0x08d93474, 0x0200, 0x282b
+ obj_tiles 0x08d94658, 0x0800, 0x282c
+ obj_tiles 0x08d949f0, 0x0200, 0x282d
+ obj_tiles 0x08c1e0b4, 0x0800, 0x282e
+ obj_tiles 0x08c0a3ec, 0x1000, 0x282f
+ obj_tiles 0x08c1bee4, 0x0100, 0x2830
+
+ obj_pal 0x08c028cc, 0x2710
+ obj_pal 0x08c1c794, 0x2711
+ obj_pal 0x08c20868, 0x2712
+ obj_pal 0x08c028f0, 0x2713
+ obj_pal 0x08c02918, 0x2714
+ obj_pal 0x08c0292c, 0x2715
+ obj_pal 0x08c02954, 0x2716
+ obj_pal 0x08c02b48, 0x2717
+ obj_pal 0x08c02b88, 0x2718
+ obj_pal 0x08c0328c, 0x2719
+ obj_pal 0x08c02ba4, 0x271a
+ obj_pal 0x08c03324, 0x271b
+ obj_pal 0x08c033b4, 0x271c
+ obj_pal 0x08c0346c, 0x271d
+ obj_pal 0x08c1fc68, 0x271e
+ obj_pal 0x08c034f0, 0x271f
+ obj_pal 0x08c03588, 0x2720
+ obj_pal 0x08c03588, 0x2721
+ obj_pal 0x08c24db8, 0x2722
+ obj_pal 0x08c035dc, 0x2723
+ obj_pal 0x08c03784, 0x2724
+ obj_pal 0x08c03a00, 0x2725
+ obj_pal 0x08c03d60, 0x2726
+ obj_pal 0x08c037ac, 0x2727
+ obj_pal 0x08c03f6c, 0x2728
+ obj_pal 0x08c03d88, 0x2729
+ obj_pal 0x08c047cc, 0x272a
+ obj_pal 0x08c047f4, 0x272b
+ obj_pal 0x08c04b18, 0x272c
+ obj_pal 0x08c05148, 0x272d
+ obj_pal 0x08c05530, 0x272e
+ obj_pal 0x08c04360, 0x272f
+ obj_pal 0x08c04380, 0x2730
+ obj_pal 0x08c05554, 0x2731
+ obj_pal 0x08c05554, 0x2732
+ obj_pal 0x08c05554, 0x2733
+ obj_pal 0x08c06650, 0x2734
+ obj_pal 0x08c06650, 0x2735
+ obj_pal 0x08c07914, 0x2736
+ obj_pal 0x08c0793c, 0x2737
+ obj_pal 0x08c07914, 0x2738
+ obj_pal 0x08c07914, 0x2739
+ obj_pal 0x08c08594, 0x273a
+ obj_pal 0x08c089bc, 0x273b
+ obj_pal 0x08c089e4, 0x273c
+ obj_pal 0x08c08c78, 0x273d
+ obj_pal 0x08c099e4, 0x273e
+ obj_pal 0x08c09a04, 0x273e
+ obj_pal 0x08c09f88, 0x2740
+ obj_pal 0x08c09fb0, 0x2741
+ obj_pal 0x08c09fd8, 0x2742
+ obj_pal 0x08c09fd8, 0x2743
+ obj_pal 0x08c09fd8, 0x2744
+ obj_pal 0x08c047cc, 0x2745
+ obj_pal 0x08c0a3d4, 0x2746
+ obj_pal 0x08c09fd8, 0x2747
+ obj_pal 0x08c0a894, 0x2748
+ obj_pal 0x08c0aa08, 0x2749
+
+ .align 2
gUnknown_0852561C:: @ 852561C
- .incbin "baserom.gba", 0x52561c, 0x270
-
+ obj_pal 0x08c0ae94, 0x274a
+ obj_pal 0x08c0af1c, 0x274b
+ obj_pal 0x08c0af60, 0x274c
+ obj_pal 0x08c0b02c, 0x274d
+ obj_pal 0x08c0b41c, 0x274e
+ obj_pal 0x08c0b600, 0x274f
+ obj_pal 0x08c231f4, 0x2750
+ obj_pal 0x08c0b7d0, 0x2751
+ obj_pal 0x08c0b83c, 0x2752
+ obj_pal 0x08d8eaa4, 0x2753
+ obj_pal 0x08d8eac4, 0x2754
+ obj_pal 0x08c0b7d0, 0x2755
+ obj_pal 0x08c0b8e4, 0x2756
+ obj_pal 0x08c0b8e4, 0x2757
+ obj_pal 0x08c0bc08, 0x2758
+ obj_pal 0x08c0bd3c, 0x2759
+ obj_pal 0x08c1b304, 0x275a
+ obj_pal 0x08c0bfd8, 0x275b
+ obj_pal 0x08c14f28, 0x275c
+ obj_pal 0x08c14f28, 0x275d
+ obj_pal 0x08c0c194, 0x275e
+ obj_pal 0x08c0c194, 0x275f
+ obj_pal 0x08c0c950, 0x2760
+ obj_pal 0x08c0c9f8, 0x2761
+ obj_pal 0x08c0cbb4, 0x2762
+ obj_pal 0x08c0cbc8, 0x2763
+ obj_pal 0x08c0cbf0, 0x2764
+ obj_pal 0x08c0cc18, 0x2765
+ obj_pal 0x08c0cc30, 0x2766
+ obj_pal 0x08c24d54, 0x2767
+ obj_pal 0x08c0cc58, 0x2768
+ obj_pal 0x08c0cc74, 0x2769
+ obj_pal 0x08c0cc9c, 0x276a
+ obj_pal 0x08c0b698, 0x276b
+ obj_pal 0x08c0ccc0, 0x276c
+ obj_pal 0x08c0ccdc, 0x276d
+ obj_pal 0x08c0cd04, 0x276e
+ obj_pal 0x08c0cd44, 0x276f
+ obj_pal 0x08c0cd6c, 0x2770
+ obj_pal 0x08c0cd88, 0x2771
+ obj_pal 0x08c0cd04, 0x2772
+ obj_pal 0x08c27e0c, 0x2773
+ obj_pal 0x08c0cdb0, 0x2774
+ obj_pal 0x08c0cdcc, 0x2775
+ obj_pal 0x08c0cdcc, 0x2776
+ obj_pal 0x08c0cdf4, 0x2777
+ obj_pal 0x08c0f14c, 0x2778
+ obj_pal 0x08c0f6f8, 0x2779
+ obj_pal 0x08c0f6f8, 0x277a
+ obj_pal 0x08c0fbbc, 0x277b
+ obj_pal 0x08c0fbbc, 0x277c
+ obj_pal 0x08c0ff90, 0x277d
+ obj_pal 0x08c0ff90, 0x277e
+ obj_pal 0x08c103e0, 0x277f
+ obj_pal 0x08c1072c, 0x2780
+ obj_pal 0x08c109c0, 0x2781
+ obj_pal 0x08c10adc, 0x2782
+ obj_pal 0x08c028ac, 0x2783
+ obj_pal 0x08c13134, 0x2784
+ obj_pal 0x08c13398, 0x2785
+ obj_pal 0x08c1354c, 0x2786
+ obj_pal 0x08c137f8, 0x2787
+ obj_pal 0x08c13914, 0x2788
+ obj_pal 0x08c13968, 0x2789
+ obj_pal 0x08c13a88, 0x278a
+ obj_pal 0x08c13a88, 0x278b
+ obj_pal 0x08c13e78, 0x278c
+ obj_pal 0x08c13f8c, 0x278d
+ obj_pal 0x08c1401c, 0x278e
+ obj_pal 0x08c141dc, 0x278f
+ obj_pal 0x08c1446c, 0x2790
+ obj_pal 0x08c1446c, 0x2791
+ obj_pal 0x08c148c0, 0x2792
+ obj_pal 0x08c148c0, 0x2793
+ obj_pal 0x08c14b58, 0x2794
+ obj_pal 0x08c14bf4, 0x2795
+ obj_pal 0x08c14bf4, 0x2796
+ obj_pal 0x08c1a478, 0x2797
+
+ .align 2
gUnknown_0852588C:: @ 852588C
- .incbin "baserom.gba", 0x52588c, 0x308
-
+ obj_pal 0x08c1a564, 0x2798
+ obj_pal 0x08c1a478, 0x2799
+ obj_pal 0x08c1a478, 0x279a
+ obj_pal 0x08c1a980, 0x279b
+ obj_pal 0x08c1ad0c, 0x279c
+ obj_pal 0x08c1ae34, 0x279d
+ obj_pal 0x08c1ae34, 0x279e
+ obj_pal 0x08c2cddc, 0x279f
+ obj_pal 0x08c1bcdc, 0x27a0
+ obj_pal 0x08c1a980, 0x27a1
+ obj_pal 0x08c028ac, 0x27a2
+ obj_pal 0x08c1b080, 0x27a3
+ obj_pal 0x08c1b25c, 0x27a4
+ obj_pal 0x08c1b25c, 0x27a5
+ obj_pal 0x08c1b3fc, 0x27a6
+ obj_pal 0x08c1b3fc, 0x27a7
+ obj_pal 0x08c03414, 0x27a8
+ obj_pal 0x08c1b57c, 0x27a9
+ obj_pal 0x08c1b640, 0x27aa
+ obj_pal 0x08c1b728, 0x27ab
+ obj_pal 0x08c1b960, 0x27ac
+ obj_pal 0x08c1b9ec, 0x27ad
+ obj_pal 0x08c1bacc, 0x27ae
+ obj_pal 0x08c1bb6c, 0x27af
+ obj_pal 0x08c1bc3c, 0x27b0
+ obj_pal 0x08c029a4, 0x27b1
+ obj_pal 0x08c1bec4, 0x27b2
+ obj_pal 0x08c1bf44, 0x27b3
+ obj_pal 0x08c1bf74, 0x27b4
+ obj_pal 0x08c1bf8c, 0x27b5
+ obj_pal 0x08c1c2b0, 0x27b6
+ obj_pal 0x08c1c2d0, 0x27b7
+ obj_pal 0x08c1c2f0, 0x27b8
+ obj_pal 0x08c1c310, 0x27b9
+ obj_pal 0x08c1c330, 0x27ba
+ obj_pal 0x08c1c39c, 0x27bb
+ obj_pal 0x08c1c3c4, 0x27bc
+ obj_pal 0x08c1c794, 0x27bd
+ obj_pal 0x08c1d69c, 0x27be
+ obj_pal 0x08c1d728, 0x27bf
+ obj_pal 0x08c1d8a8, 0x27c0
+ obj_pal 0x08c1d994, 0x27c1
+ obj_pal 0x08c1db14, 0x27c2
+ obj_pal 0x08c1db3c, 0x27c3
+ obj_pal 0x08c1db3c, 0x27c4
+ obj_pal 0x08c1db3c, 0x27c5
+ obj_pal 0x08c1e08c, 0x27c6
+ obj_pal 0x08c1e32c, 0x27c7
+ obj_pal 0x08c1e4a8, 0x27c8
+ obj_pal 0x08c1e8e4, 0x27c9
+ obj_pal 0x08c1f1a4, 0x27ca
+ obj_pal 0x08c1edb8, 0x27cb
+ obj_pal 0x08d967d4, 0x27cc
+ obj_pal 0x08c2021c, 0x27cd
+ obj_pal 0x08c1fee0, 0x27ce
+ obj_pal 0x08c20170, 0x27cf
+ obj_pal 0x08c204bc, 0x27d0
+ obj_pal 0x08c20640, 0x27d1
+ obj_pal 0x08c20f84, 0x27d2
+ obj_pal 0x08c21064, 0x27d3
+ obj_pal 0x08c20c34, 0x27d4
+ obj_pal 0x08c211f4, 0x27d5
+ obj_pal 0x08c2160c, 0x27d6
+ obj_pal 0x08c216fc, 0x27d7
+ obj_pal 0x08c21858, 0x27d8
+ obj_pal 0x08c21ee4, 0x27d9
+ obj_pal 0x08c22210, 0x27da
+ obj_pal 0x08c223e0, 0x27db
+ obj_pal 0x08c22080, 0x27dc
+ obj_pal 0x08c228d8, 0x27dd
+ obj_pal 0x08c22610, 0x27de
+ obj_pal 0x08c229c8, 0x27df
+ obj_pal 0x08c1c2d0, 0x27e0
+ obj_pal 0x08c230e4, 0x27e1
+ obj_pal 0x08c232a0, 0x27e2
+ obj_pal 0x08c2456c, 0x27e3
+ obj_pal 0x08c2456c, 0x27e4
+ obj_pal 0x08c2456c, 0x27e5
+ obj_pal 0x08c231f4, 0x27e6
+ obj_pal 0x08c249ac, 0x27e7
+ obj_pal 0x08c232c0, 0x27e8
+ obj_pal 0x08c2405c, 0x27e9
+ obj_pal 0x08c24c28, 0x27ea
+ obj_pal 0x08c23280, 0x27eb
+ obj_pal 0x08c24dd4, 0x27ec
+ obj_pal 0x08c24f28, 0x27ed
+ obj_pal 0x08c25498, 0x27ee
+ obj_pal 0x08c254c0, 0x27ef
+ obj_pal 0x08c25774, 0x27f0
+ obj_pal 0x08c278e8, 0x27f1
+ obj_pal 0x08c27ae4, 0x27f2
+ obj_pal 0x08c27ae4, 0x27f3
+ obj_pal 0x08c25afc, 0x27f4
+ obj_pal 0x08c27cc4, 0x27f5
+ obj_pal 0x08c25890, 0x27f6
+ obj_pal 0x08c2836c, 0x27f7
+ obj_pal 0x08c2836c, 0x27f8
+
+ .align 2
gUnknown_08525B94:: @ 8525B94
- .incbin "baserom.gba", 0x525b94, 0x120
-
+ obj_pal 0x08c285e8, 0x27f9
+ obj_pal 0x08c287d0, 0x27fa
+ obj_pal 0x08c288d0, 0x27fb
+ obj_pal 0x08c288ec, 0x27fc
+ obj_pal 0x08c28908, 0x27fd
+ obj_pal 0x08c2885c, 0x27fe
+ obj_pal 0x08c2cb84, 0x27ff
+ obj_pal 0x08c2ce94, 0x2800
+ obj_pal 0x08c2d40c, 0x2801
+ obj_pal 0x08c2d6ac, 0x2802
+ obj_pal 0x08c2d6f8, 0x2803
+ obj_pal 0x08c2e630, 0x2804
+ obj_pal 0x08c2dee0, 0x2805
+ obj_pal 0x08c2dee0, 0x2806
+ obj_pal 0x08c231f4, 0x2807
+ obj_pal 0x08c2ebbc, 0x2808
+ obj_pal 0x08c2ec24, 0x2809
+ obj_pal 0x08c2ec24, 0x280a
+ obj_pal 0x08c2ee9c, 0x280b
+ obj_pal 0x08c2efcc, 0x280c
+ obj_pal 0x08c2f1cc, 0x280d
+ obj_pal 0x08c2f32c, 0x280e
+ obj_pal 0x08c2f3cc, 0x280f
+ obj_pal 0x08c2f87c, 0x2810
+ obj_pal 0x08c2f9c0, 0x2811
+ obj_pal 0x08c2f4c8, 0x2812
+ obj_pal 0x08c1b27c, 0x2813
+ obj_pal 0x08d8dc9c, 0x2814
+ obj_pal 0x08d8dab8, 0x2815
+ obj_pal 0x08d8e914, 0x2816
+ obj_pal 0x08d93b84, 0x2817
+ obj_pal 0x08d8ea74, 0x2818
+ obj_pal 0x08d8ea8c, 0x2819
+ obj_pal 0x08d93bdc, 0x281a
+ obj_pal 0x08d93bf4, 0x281b
+ obj_pal 0x08d93c0c, 0x281c
+
+ .align 2
gUnknown_08525CB4:: @ 8525CB4
- .incbin "baserom.gba", 0x525cb4, 0xa0
-
+ obj_pal 0x08d8ef80, 0x281d
+ obj_pal 0x08dba35c, 0x281e
+ obj_pal 0x08dba4a0, 0x281f
+ obj_pal 0x08d8eee0, 0x2820
+ obj_pal 0x08d8eee0, 0x2821
+ obj_pal 0x08d8f3ec, 0x2822
+ obj_pal 0x08d8f3ec, 0x2823
+ obj_pal 0x08d8f3ec, 0x2824
+ obj_pal 0x08d92ec4, 0x2825
+ obj_pal 0x08d93e30, 0x2826
+ obj_pal 0x08d93e98, 0x2827
+ obj_pal 0x08d8fb7c, 0x2828
+ obj_pal 0x08d9403c, 0x2829
+ obj_pal 0x08dba14c, 0x282a
+ obj_pal 0x08d93458, 0x282b
+ obj_pal 0x08d949d4, 0x282c
+ obj_pal 0x08d94a90, 0x282d
+ obj_pal 0x08d96698, 0x282e
+ obj_pal 0x08d9104c, 0x282f
+ obj_pal 0x08c1bf5c, 0x2830
+
+ .align 2
gUnknown_08525D54:: @ 8525D54
- .incbin "baserom.gba", 0x525d54, 0x144
-
+ .4byte 0x08c1c844, 0x08c1ce3c, 0x08c1ce5c
+ .4byte 0x08c1c844, 0x08c1ce3c, 0x08c1ce5c
+ .4byte 0x08d90074, 0x08d90d3c, 0x08d90d58
+ .4byte 0x08c1e90c, 0x08c1eadc, 0x08c1eb00
+ .4byte 0x08c25bec, 0x08c25bc4, 0x08c26958
+ .4byte 0x08c25bec, 0x08c25bc4, 0x08c26e54
+ .4byte 0x08c25bec, 0x08c25bc4, 0x08c27324
+ .4byte 0x08c28924, 0x08c28acc, 0x08c28b1c
+ .4byte 0x08c28924, 0x08c28acc, 0x08c28cac
+ .4byte 0x08c29dbc, 0x08c29d7c, 0x08c29a84
+ .4byte 0x08c29dbc, 0x08c29d7c, 0x08c2a33c
+ .4byte 0x08c2bde4, 0x08c2c780, 0x08c2c7a8
+ .4byte 0x08c2b05c, 0x08c2bdc4, 0x08c2a808
+ .4byte 0x08c2b05c, 0x08c2bdc4, 0x08c2aad0
+ .4byte 0x08c2b05c, 0x08c2bdc4, 0x08c2adcc
+ .4byte 0x08d8dcb4, 0x08d8e624, 0x08d8e648
+ .4byte 0x08d92b28, 0x08d92b00, 0x08d92d88
+ .4byte 0x08d8f414, 0x08d8f570, 0x08d8f598
+ .4byte 0x08c28924, 0x08c28af4, 0x08c28b1c
+ .4byte 0x08c28924, 0x08c28af4, 0x08c28cac
+ .4byte 0x08c28e38, 0x08c29860, 0x08c29880
+ .4byte 0x08d9405c, 0x08d94350, 0x08d9436c
+ .4byte 0x08c29dbc, 0x08c29d9c, 0x08c29a84
+ .4byte 0x08c29dbc, 0x08c29d9c, 0x08c2a33c
+ .4byte 0x08c25bec, 0x08d91074, 0x08c26958
+ .4byte 0x08c25bec, 0x08d91074, 0x08c26e54
+ .4byte 0x08c25bec, 0x08d91074, 0x08c27324
+
+ .align 2
gUnknown_08525E98:: @ 8525E98
- .incbin "baserom.gba", 0x525e98, 0xc0
-
+ .4byte ma00_load_graphics
+ .4byte ma01_080728D0
+ .4byte ma02_instanciate_template
+ .4byte sub_80A3ECC
+ .4byte ma04_wait_countdown
+ .4byte sub_80A3F88
+ .4byte nullsub_6
+ .4byte nullsub_7
+ .4byte sub_80A3FC4
+ .4byte ma09_play_sound
+ .4byte sub_80A41D8
+ .4byte ma0B_0807324C
+ .4byte ma0C_set_BLDCNT_to_x3F40_and_BLDALPHA_to_argument
+ .4byte ma0D_reset_BLDCNT_and_BLDALPHA
+ .4byte ma0E_call
+ .4byte sub_80A4D00
+ .4byte ma10_080736AC
+ .4byte ma11_if_else
+ .4byte ma12_cond_if
+ .4byte ma13_goto
+ .4byte ma14_load_background
+ .4byte ma15_load_battle_screen_elements
+ .4byte ma16_wait_for_battle_screen_elements_s2
+ .4byte sub_80A5124
+ .4byte ma18_load_background_probably
+ .4byte ma19_08073BC8
+ .4byte ma1A_8073C00
+ .4byte ma1B_8073C2C
+ .4byte ma1C_8073ED0
+ .4byte ma1D_08073FB4
+ .4byte ma1E_set_BLDCNT
+ .4byte sub_80A57F8
+ .4byte ma20_wait_for_something
+ .4byte ma21_08074164
+ .4byte sub_80A4A18
+ .4byte ma23_8073484
+ .4byte sub_80A5944
+ .4byte sub_80A4E5C
+ .4byte sub_80A5508
+ .4byte sub_80A559C
+ .4byte sub_80A5984
+ .4byte sub_80A59DC
+ .4byte sub_80A5A0C
+ .4byte ma2B_make_side_invisible
+ .4byte ma2C_make_side_visible
+ .4byte sub_80A5AFC
+ .4byte sub_80A5BAC
+ .4byte ma2F_stop_music
+
+ .align 2
gUnknown_08525F58:: @ 8525F58
- .incbin "baserom.gba", 0x525f58, 0x20
+ .byte 0x48, 0x50, 0x00, 0x00, 0xb0, 0x28, 0x00, 0x00
+ .byte 0x30, 0x28, 0x00, 0x00, 0x70, 0x50, 0x00, 0x00
+ .byte 0x20, 0x50, 0x00, 0x00, 0xc8, 0x28, 0x00, 0x00
+ .byte 0x5a, 0x58, 0x00, 0x00, 0x98, 0x20, 0x00, 0x00
+ .align 2
gCastformFrontSpriteCoords:: @ 8525F78
- .incbin "baserom.gba", 0x525f78, 0x10
+ .byte 0x44, 0x11, 0x00, 0x00, 0x66, 0x09, 0x00, 0x00
+ .byte 0x46, 0x09, 0x00, 0x00, 0x86, 0x08, 0x00, 0x00
+ .align 2
gUnknown_08525F88:: @ 8525F88
- .incbin "baserom.gba", 0x525f88, 0x4
+ .byte 0x0d, 0x0e, 0x0d, 0x0d
+ .align 2
gUnknown_08525F8C:: @ 8525F8C
- .incbin "baserom.gba", 0x525f8c, 0x4
+ .byte 0x00, 0x00, 0x00, 0x00
+ .align 2
gUnknown_08525F90:: @ 8525F90
- .incbin "baserom.gba", 0x525f90, 0x30
+ spr_template 0xd755, 0xd755, gUnknown_0852497C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+ spr_template 0xd756, 0xd756, gUnknown_0852497C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+ .align 2
gUnknown_08525FC0:: @ 8525FC0
- .incbin "baserom.gba", 0x525fc0, 0x18f80
+ obj_tiles gMiscBlank_Gfx, 0x0800, 0xd755
+ obj_tiles gMiscBlank_Gfx, 0x0800, 0xd756
+ .align 2
+@ the mother of all baserom includes
+ .incbin "baserom.gba", 0x525fd0, 0x18f60
+
+ .align 2
+gUnknown_0853EF30:: @ 853EF30
+ .byte 0xf0, 0xf0, 0x0c, 0x80, 0xf0, 0x30, 0x0d, 0x84, 0x30, 0xf0, 0x0e, 0x86, 0x30, 0x30, 0x08, 0x88
+
+ .align 2
gUnknown_0853EF40:: @ 853EF40
- .incbin "baserom.gba", 0x53ef40, 0x8
+ .4byte 0x00000004, gUnknown_0853EF30
+ .align 2
gUnknown_0853EF48:: @ 853EF48
- .incbin "baserom.gba", 0x53ef48, 0x18
+ spr_template 0x271a, 0x271a, gUnknown_08524A3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+ .align 2
gUnknown_0853EF60:: @ 853EF60
- .incbin "baserom.gba", 0x53ef60, 0xf8
+ spr_template 0x2798, 0x2798, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A9E44
+
diff --git a/data/battle_message.s b/data/battle_message.s
deleted file mode 100644
index 4c72557d8..000000000
--- a/data/battle_message.s
+++ /dev/null
@@ -1,2083 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
-gText_Buffer36:: @ 85C9B78
- .string "{STRING 36}$"
-
-gText_PkmnGainedEXP:: @ 85C9B7B
- .string "{STRING 0} gained{PLAYER}\n{STRING 52} EXP. Points!\p$"
-
-gText_EmptyString4:: @ 85C9B98
- .string "$"
-
-gText_ABoosted:: @ 85C9B99
- .string " a boosted$"
-
-gText_PkmnGrewToLv:: @ 85C9BA4
- .string "{STRING 0} grew to\nLV. {PLAYER}!{UNKNOWN_A}\p$"
-
-gText_PkmnLearnedMove:: @ 85C9BBA
- .string "{STRING 0} learned\n{PLAYER}!{UNKNOWN_A}\p$"
-
-gText_TryToLearnMove1:: @ 85C9BCC
- .string "{STRING 0} is trying to\nlearn {PLAYER}.\p$"
-
-gText_TryToLearnMove2:: @ 85C9BE7
- .string "But, {STRING 0} can’t learn\nmore than four moves.\p$"
-
-gText_TryToLearnMove3:: @ 85C9C12
- .string "Delete a move to make\nroom for {PLAYER}?$"
-
-gText_PkmnForgotMove:: @ 85C9C35
- .string "{STRING 0} forgot\n{PLAYER}.\p$"
-
-gText_StopLearningMove:: @ 85C9C44
- .string "{PAUSE 32}Stop learning\n{PLAYER}?$"
-
-gText_DidNotLearnMove:: @ 85C9C59
- .string "{STRING 0} did not learn\n{PLAYER}.\p$"
-
-gText_UseNextPkmn:: @ 85C9C6F
- .string "Use next POKéMON?$"
-
-gText_AttackMissed:: @ 85C9C81
- .string "{STRING 15}’s\nattack missed!$"
-
-gText_PkmnProtectedItself:: @ 85C9C95
- .string "{STRING 16}\nprotected itself!$"
-
-gText_AvoidedDamage:: @ 85C9CAA
- .string "{STRING 16} avoided\ndamage with {STRING 25}!$"
-
-gText_PkmnMakesGroundMiss:: @ 85C9CC5
- .string "{STRING 16} makes GROUND\nmoves miss with {STRING 25}!$"
-
-gText_PkmnAvoidedAttack:: @ 85C9CE9
- .string "{STRING 16} avoided\nthe attack!$"
-
-gText_ItDoesntAffect:: @ 85C9D00
- .string "It doesn’t affect\n{STRING 16}…$"
-
-gText_PkmnFainted:: @ 85C9D16
- .string "{STRING 15}\nfainted!\p$"
-
-gText_PkmnFainted2:: @ 85C9D23
- .string "{STRING 16}\nfainted!\p$"
-
-gText_PlayerGotMoney:: @ 85C9D30
- .string "{STRING 35} got ¥{STRING 0}\nfor winning!\p$"
-
-gText_PlayerWhiteout:: @ 85C9D49
- .string "{STRING 35} is out of\nusable POKéMON!\p$"
-
-gText_PlayerWhiteout2:: @ 85C9D67
- .string "{STRING 35} whited out!{PAUSE_UNTIL_PRESS}$"
-
-gText_PreventsEscape:: @ 85C9D78
- .string "{STRING 19} prevents\nescape with {STRING 26}!\p$"
-
-gText_CantEscape2:: @ 85C9D95
- .string "Can’t escape!\p$"
-
-gText_PkmnCantEscape2:: @ 85C9DA4
- .string "{STRING 15} can’t escape!$"
-
-gText_HitXTimes:: @ 85C9DB5
- .string "Hit {STRING 0} time(s)!$"
-
-gText_PkmnFellAsleep:: @ 85C9DC5
- .string "{STRING 17}\nfell asleep!$"
-
-gText_PkmnMadeSleep:: @ 85C9DD5
- .string "{STRING 19}’s {STRING 26}\nmade {STRING 17} sleep!$"
-
-gText_PkmnAlreadyAsleep:: @ 85C9DEC
- .string "{STRING 16} is\nalready asleep!$"
-
-gText_PkmnAlreadyAsleep2:: @ 85C9E02
- .string "{STRING 15} is\nalready asleep!$"
-
-gText_PkmnWasntAffected:: @ 85C9E18
- .string "{STRING 16}\nwasn’t affected!$"
-
-gText_PkmnWasPoisoned:: @ 85C9E2C
- .string "{STRING 17}\nwas poisoned!$"
-
-gText_PkmnPoisonedBy:: @ 85C9E3D
- .string "{STRING 19}’s {STRING 26}\npoisoned {STRING 17}!$"
-
-gText_PkmnHurtByPoison:: @ 85C9E52
- .string "{STRING 15} is hurt\nby poison!$"
-
-gText_PkmnAlreadyPoisoned:: @ 85C9E68
- .string "{STRING 16} is already\npoisoned.$"
-
-gText_PkmnBadlyPoisoned:: @ 85C9E80
- .string "{STRING 17} is badly\npoisoned!$"
-
-gText_PkmnEnergyDrained:: @ 85C9E96
- .string "{STRING 16} had its\nenergy drained!$"
-
-gText_PkmnWasBurned:: @ 85C9EB1
- .string "{STRING 17} was burned!$"
-
-gText_PkmnBurnedBy:: @ 85C9EC0
- .string "{STRING 19}’s {STRING 26}\nburned {STRING 17}!$"
-
-gText_PkmnHurtByBurn:: @ 85C9ED3
- .string "{STRING 15} is hurt\nby its burn!$"
-
-gText_PkmnAlreadyHasBurn:: @ 85C9EEB
- .string "{STRING 16} already\nhas a burn.$"
-
-gText_PkmnWasFrozen:: @ 85C9F02
- .string "{STRING 17} was\nfrozen solid!$"
-
-gText_PkmnFrozenBy:: @ 85C9F17
- .string "{STRING 19}’s {STRING 26}\nfroze {STRING 17} solid!$"
-
-gText_PkmnIsFrozen:: @ 85C9F2F
- .string "{STRING 15} is\nfrozen solid!$"
-
-gText_PkmnWasDefrosted:: @ 85C9F43
- .string "{STRING 16} was\ndefrosted!$"
-
-gText_PkmnWasDefrosted2:: @ 85C9F55
- .string "{STRING 15} was\ndefrosted!$"
-
-gText_PkmnWasDefrostedBy:: @ 85C9F67
- .string "{STRING 15} was\ndefrosted by {STRING 20}!$"
-
-gText_PkmnWasParalyzed:: @ 85C9F7F
- .string "{STRING 17} is paralyzed!\nIt may be unable to move!$"
-
-gText_PkmnWasParalyzedBy:: @ 85C9FAA
- .string "{STRING 19}’s {STRING 26}\nparalyzed {STRING 17}!\lIt may be unable to move!$"
-
-gText_PkmnIsParalyzed:: @ 85C9FDA
- .string "{STRING 15} is paralyzed!\nIt can’t move!$"
-
-gText_PkmnIsAlreadyParalyzed:: @ 85C9FFA
- .string "{STRING 16} is\nalready paralyzed!$"
-
-gText_PkmnHealedParalysis:: @ 85CA013
- .string "{STRING 16} was\nhealed of paralysis!$"
-
-gText_PkmnDreamEaten:: @ 85CA02F
- .string "{STRING 16}’s\ndream was eaten!$"
-
-gText_StatsWontIncrease:: @ 85CA045
- .string "{STRING 15}’s {STRING 0}\nwon’t go higher!$"
-
-gText_StatsWontDecrease:: @ 85CA05E
- .string "{STRING 16}’s {STRING 0}\nwon’t go lower!$"
-
-gText_TeamStoppedWorking:: @ 85CA076
- .string "Your team’s {STRING 0}\nstopped working!$"
-
-gText_FoeStoppedWorking:: @ 85CA096
- .string "The foe’s {STRING 0}\nstopped working!$"
-
-gText_PkmnIsConfused:: @ 85CA0B4
- .string "{STRING 15} is\nconfused!$"
-
-gText_PkmnHealedConfusion:: @ 85CA0C4
- .string "{STRING 15} snapped\nout of confusion!$"
-
-gText_PkmnWasConfused:: @ 85CA0E1
- .string "{STRING 17} became\nconfused!$"
-
-gText_PkmnAlreadyConfused:: @ 85CA0F5
- .string "{STRING 16} is\nalready confused!$"
-
-gText_PkmnFellInLove:: @ 85CA10D
- .string "{STRING 16}\nfell in love!$"
-
-gText_PkmnInLove:: @ 85CA11E
- .string "{STRING 15} is in love\nwith {STRING 19}!$"
-
-gText_PkmnImmobilizedByLove:: @ 85CA135
- .string "{STRING 15} is\nimmobilized by love!$"
-
-gText_PkmnBlownAway:: @ 85CA150
- .string "{STRING 16} was\nblown away!$"
-
-gText_PkmnChangedType:: @ 85CA163
- .string "{STRING 15} transformed\ninto the {STRING 0} type!$"
-
-gText_PkmnFlinched:: @ 85CA184
- .string "{STRING 15} flinched!$"
-
-gText_PkmnRegainedHealth:: @ 85CA191
- .string "{STRING 16} regained\nhealth!$"
-
-gText_PkmnHPFull:: @ 85CA1A5
- .string "{STRING 16}’s\nHP is full!$"
-
-gText_PkmnRaisedSpDef:: @ 85CA1B6
- .string "{STRING 42}’s {STRING 20}\nraised SP. DEF!$"
-
-gText_PkmnRaisedSpDefALittle:: @ 85CA1CE
- .string "{STRING 42}’s {STRING 20}\nraised SP. DEF a little!$"
-
-gText_PkmnRaisedDef:: @ 85CA1EF
- .string "{STRING 42}’s {STRING 20}\nraised DEFENSE!$"
-
-gText_PkmnRaisedDefALittle:: @ 85CA207
- .string "{STRING 42}’s {STRING 20}\nraised DEFENSE a little!$"
-
-gText_PkmnCoveredByVeil:: @ 85CA228
- .string "{STRING 42}’s party is covered\nby a veil!$"
-
-gText_PkmnUsedSafeguard:: @ 85CA249
- .string "{STRING 16}’s party is protected\nby SAFEGUARD!$"
-
-gText_PkmnSafeguardExpired:: @ 85CA26F
- .string "{STRING 44}’s party is no longer\nprotected by SAFEGUARD!$"
-
-gText_PkmnWentToSleep:: @ 85CA29F
- .string "{STRING 15} went\nto sleep!$"
-
-gText_PkmnSleptHealthy:: @ 85CA2B1
- .string "{STRING 15} slept and\nbecame healthy!$"
-
-gText_PkmnWhippedWhirlwind:: @ 85CA2CE
- .string "{STRING 15} whipped\nup a whirlwind!$"
-
-gText_PkmnTookSunlight:: @ 85CA2E9
- .string "{STRING 15} took\nin sunlight!$"
-
-gText_PkmnLoweredHead:: @ 85CA2FE
- .string "{STRING 15} lowered\nits head!$"
-
-gText_PkmnIsGlowing:: @ 85CA313
- .string "{STRING 15} is glowing!$"
-
-gText_PkmnFlewHigh:: @ 85CA322
- .string "{STRING 15} flew\nup high!$"
-
-gText_PkmnDugHole:: @ 85CA333
- .string "{STRING 15} dug a hole!$"
-
-gText_PkmnHidUnderwater:: @ 85CA342
- .string "{STRING 15} hid\nunderwater!$"
-
-gText_PkmnSprangUp:: @ 85CA355
- .string "{STRING 15} sprang up!$"
-
-gText_PkmnSqueezedByBind:: @ 85CA363
- .string "{STRING 16} was squeezed by\n{STRING 15}’s BIND!$"
-
-gText_PkmnTrappedInVortex:: @ 85CA381
- .string "{STRING 16} was trapped\nin the vortex!$"
-
-gText_PkmnTrappedBySandTomb:: @ 85CA39F
- .string "{STRING 16} was trapped\nby SAND TOMB!$"
-
-gText_PkmnWrappedBy:: @ 85CA3BC
- .string "{STRING 16} was WRAPPED by\n{STRING 15}!$"
-
-gText_PkmnClamped:: @ 85CA3D2
- .string "{STRING 15} CLAMPED\n{STRING 16}!$"
-
-gText_PkmnHurtBy:: @ 85CA3E1
- .string "{STRING 15} is hurt\nby {STRING 0}!$"
-
-gText_PkmnFreedFrom:: @ 85CA3F3
- .string "{STRING 15} was freed\nfrom {STRING 0}!$"
-
-gText_PkmnCrashed:: @ 85CA409
- .string "{STRING 15} kept going\nand crashed!$"
-
-gText_PkmnShroudedInMist:: @ 85CA424
- .string "{STRING 42} became\nshrouded in MIST!$"
-
-gText_PkmnProtectedByMist:: @ 85CA440
- .string "{STRING 19} is protected\nby MIST!$"
-
-gText_PkmnGettingPumped:: @ 85CA459
- .string "{STRING 15} is getting\npumped!$"
-
-gText_PkmnHitWithRecoil:: @ 85CA46F
- .string "{STRING 15} is hit\nwith recoil!$"
-
-gText_PkmnProtectedItself2:: @ 85CA486
- .string "{STRING 15} protected\nitself!$"
-
-gText_PkmnBuffetedBySandstorm:: @ 85CA49B
- .string "{STRING 15} is buffeted\nby the sandstorm!$"
-
-gText_PkmnPeltedByHail:: @ 85CA4BC
- .string "{STRING 15} is pelted\nby HAIL!$"
-
-gText_PkmnsXWoreOff:: @ 85CA4D2
- .string "{STRING 40}’s {STRING 0}\nwore off!$"
-
-gText_PkmnSeeded:: @ 85CA4E4
- .string "{STRING 16} was seeded!$"
-
-gText_PkmnEvadedAttack:: @ 85CA4F3
- .string "{STRING 16} evaded\nthe attack!$"
-
-gText_PkmnSappedByLeechSeed:: @ 85CA509
- .string "{STRING 15}’s health is\nsapped by LEECH SEED!$"
-
-gText_PkmnFastAsleep:: @ 85CA52E
- .string "{STRING 15} is fast\nasleep.$"
-
-gText_PkmnWokeUp:: @ 85CA541
- .string "{STRING 15} woke up!$"
-
-gText_PkmnUproarKeptAwake:: @ 85CA54D
- .string "But {STRING 19}’s UPROAR\nkept it awake!$"
-
-gText_PkmnWokeUpInUproar:: @ 85CA56C
- .string "{STRING 15} woke up\nin the UPROAR!$"
-
-gText_PkmnCausedUproar:: @ 85CA586
- .string "{STRING 15} caused\nan UPROAR!$"
-
-gText_PkmnMakingUproar:: @ 85CA59B
- .string "{STRING 15} is making\nan UPROAR!$"
-
-gText_PkmnCalmedDown:: @ 85CA5B3
- .string "{STRING 15} calmed down.$"
-
-gText_PkmnCantSleepInUproar:: @ 85CA5C3
- .string "But {STRING 16} can’t\nsleep in an UPROAR!$"
-
-gText_PkmnStockpiled:: @ 85CA5E4
- .string "{STRING 15} STOCKPILED\n{STRING 0}!$"
-
-gText_PkmnCantStockpile:: @ 85CA5F6
- .string "{STRING 15} can’t\nSTOCKPILE any more!$"
-
-gText_PkmnCantSleepInUproar2:: @ 85CA613
- .string "But {STRING 16} can’t\nsleep in an UPROAR!$"
-
-gText_UproarKeptPkmnAwake:: @ 85CA634
- .string "But the UPROAR kept\n{STRING 16} awake!$"
-
-gText_PkmnStayedAwakeUsing:: @ 85CA652
- .string "{STRING 16} stayed awake\nusing its {STRING 25}!$"
-
-gText_PkmnStoringEnergy:: @ 85CA670
- .string "{STRING 15} is storing\nenergy!$"
-
-gText_PkmnUnleashedEnergy:: @ 85CA686
- .string "{STRING 15} unleashed\nenergy!$"
-
-gText_PkmnFatigueConfusion:: @ 85CA69B
- .string "{STRING 15} became\nconfused due to fatigue!$"
-
-gText_PkmnPickedUpItem:: @ 85CA6BE
- .string "{STRING 35} picked up\n¥{STRING 0}!\p$"
-
-gText_PkmnUnaffected:: @ 85CA6D1
- .string "{STRING 16} is\nunaffected!$"
-
-gText_PkmnTransformedInto:: @ 85CA6E3
- .string "{STRING 15} transformed\ninto {STRING 0}!$"
-
-gText_PkmnMadeSubstitute:: @ 85CA6FB
- .string "{STRING 15} made\na SUBSTITUTE!$"
-
-gText_PkmnHasSubstitute:: @ 85CA711
- .string "{STRING 15} already\nhas a SUBSTITUTE!$"
-
-gText_SubstituteDamaged:: @ 85CA72E
- .string "The SUBSTITUTE took damage\nfor {STRING 16}!\p$"
-
-gText_PkmnSubstituteFaded:: @ 85CA752
- .string "{STRING 16}’s\nSUBSTITUTE faded!\p$"
-
-gText_PkmnMustRecharge:: @ 85CA76A
- .string "{STRING 15} must\nrecharge!$"
-
-gText_PkmnRageBuilding:: @ 85CA76C
- .string "{STRING 16}’s RAGE\nis building!$"
-
-gText_PkmnMoveWasDisabled:: @ 85CA793
- .string "{STRING 16}’s {STRING 0}\nwas disabled!$"
-
-gText_PkmnMoveDisabledNoMore:: @ 85CA7A9
- .string "{STRING 15} is disabled\nno more!$"
-
-gText_PkmnGotEncore:: @ 85CA7C1
- .string "{STRING 16} got\nan ENCORE!$"
-
-gText_PkmnEncoreEnded:: @ 85CA7D3
- .string "{STRING 15}’s ENCORE\nended!$"
-
-gText_PkmnTookAim:: @ 85CA7E6
- .string "{STRING 15} took aim\nat {STRING 16}!$"
-
-gText_PkmnSketchedMove:: @ 85CA7F9
- .string "{STRING 15} SKETCHED\n{STRING 0}!$"
-
-gText_PkmnTryingToTakeFoe:: @ 85CA809
- .string "{STRING 15} is trying\nto take its foe with it!$"
-
-gText_PkmnTookFoe:: @ 85CA82F
- .string "{STRING 16} took\n{STRING 15} with it!$"
-
-gText_PkmnReducedPP:: @ 85CA843
- .string "Reduced {STRING 16}’s\n{STRING 0} by {PLAYER}!$"
-
-gText_PkmnStoleItem:: @ 85CA85A
- .string "{STRING 15} stole\n{STRING 16}’s {STRING 22}!$"
-
-gText_PkmnCantEscape:: @ 85CA86C
- .string "{STRING 16} can’t\nescape now!$"
-
-gText_PkmnFellIntoNightmare:: @ 85CA881
- .string "{STRING 16} fell into\na NIGHTMARE!$"
-
-gText_PkmnLockedInNightmare:: @ 85CA89B
- .string "{STRING 15} is locked\nin a NIGHTMARE!$"
-
-gText_PkmnLaidCurse:: @ 85CA8B8
- .string "{STRING 15} cut its own HP and\nlaid a CURSE on {STRING 16}!$"
-
-gText_PkmnAfflictedByCurse:: @ 85CA8E2
- .string "{STRING 15} is afflicted\nby the CURSE!$"
-
-gText_SpikesScattered:: @ 85CA900
- .string "SPIKES were scattered all around\nthe opponent’s side!$"
-
-gText_PkmnHurtBySpikes:: @ 85CA936
- .string "{STRING 19} is hurt\nby SPIKES!$"
-
-gText_PkmnIdentified:: @ 85CA94C
- .string "{STRING 15} identified\n{STRING 16}!$"
-
-gText_PkmnPerishCountFell:: @ 85CA95E
- .string "{STRING 15}’s PERISH count\nfell to {STRING 0}!$"
-
-gText_PkmnBracedItself:: @ 85CA97C
- .string "{STRING 15} braced\nitself!$"
-
-gText_PkmnEnduredHit:: @ 85CA98E
- .string "{STRING 16} ENDURED\nthe hit!$"
-
-gText_MagnitudeStrength:: @ 85CA9A2
- .string "MAGNITUDE {STRING 0}!$"
-
-gText_PkmnCutHPMaxedAttack:: @ 85CA9B0
- .string "{STRING 15} cut its own HP\nand maximized ATTACK!$"
-
-gText_PkmnCopiedStatChanges:: @ 85CA9D8
- .string "{STRING 15} copied\n{STRING 16}’s stat changes!$"
-
-gText_PkmnGotFree:: @ 85CA9F5
- .string "{STRING 15} got free of\n{STRING 16}’s {STRING 0}!$"
-
-gText_PkmnShedLeechSeed:: @ 85CAA0D
- .string "{STRING 15} shed\nLEECH SEED!$"
-
-gText_PkmnBlewAwaySpikes:: @ 85CAA21
- .string "{STRING 15} blew away\nSPIKES!$"
-
-gText_PkmnFledFromBattle:: @ 85CAA36
- .string "{STRING 15} fled from\nbattle!$"
-
-gText_PkmnForesawAttack:: @ 85CAA4B
- .string "{STRING 15} foresaw\nan attack!$"
-
-gText_PkmnTookAttack:: @ 85CAA61
- .string "{STRING 16} took the\n{STRING 0} attack!$"
-
-gText_PkmnChoseXAsDestiny:: @ 85CAA78
- .string "{STRING 15} chose\n{STRING 20} as its destiny!$"
-
-gText_PkmnAttack:: @ 85CAA94
- .string "{STRING 0}’s attack!$"
-
-gText_PkmnCenterAttention:: @ 85CAAA1
- .string "{STRING 15} became the\ncenter of attention!$"
-
-gText_PkmnChargingPower:: @ 85CAAC4
- .string "{STRING 15} began\ncharging power!$"
-
-gText_NaturePowerTurnedInto:: @ 85CAADD
- .string "NATURE POWER turned into\n{STRING 20}!$"
-
-gText_PkmnStatusNormal:: @ 85CAAFA
- .string "{STRING 15}’s status\nreturned to normal!$"
-
-gText_PkmnSubjectedToTorment:: @ 85CAB1A
- .string "{STRING 16} was subjected\nto TORMENT!$"
-
-gText_PkmnTighteningFocus:: @ 85CAB37
- .string "{STRING 15} is tightening\nits focus!$"
-
-gText_PkmnFellForTaunt:: @ 85CAB53
- .string "{STRING 16} fell for\nthe TAUNT!$"
-
-gText_PkmnReadyToHelp:: @ 85CAB6A
- .string "{STRING 15} is ready to\nhelp {STRING 16}!$"
-
-gText_PkmnSwitchedItems:: @ 85CAB82
- .string "{STRING 15} switched\nitems with its opponent!$"
-
-gText_PkmnObtainedX:: @ 85CABA7
- .string "{STRING 15} obtained\n{STRING 0}.$"
-
-gText_PkmnObtainedX2:: @ 85CABB7
- .string "{STRING 16} obtained\n{PLAYER}.$"
-
-gText_PkmnObtainedXYObtainedZ:: @ 85CABC7
- .string "{STRING 15} obtained\n{STRING 0}.\p{STRING 16} obtained\n{PLAYER}.$"
-
-gText_PkmnCopiedFoe:: @ 85CAB82
- .string "{STRING 15} copied\n{STRING 16}’s {STRING 25}!$"
-
-gText_PkmnMadeWish:: @ 85CABFA
- .string "{STRING 15} made a WISH!$"
-
-gText_PkmnWishCameTrue:: @ 85CAC0A
- .string "{STRING 0}’s WISH\ncame true!$"
-
-gText_PkmnPlantedRoots:: @ 85CAC1F
- .string "{STRING 15} planted its roots!$"
-
-gText_PkmnAbsorbedNutrients:: @ 85CAC35
- .string "{STRING 15} absorbed\nnutrients with its roots!$"
-
-gText_PkmnAnchoredItself:: @ 85CAC5B
- .string "{STRING 16} anchored\nitself with its roots!$"
-
-gText_PkmnWasMadeDrowsy:: @ 85CAC7E
- .string "{STRING 15} made\n{STRING 16} drowsy!$"
-
-gText_PkmnKnockedOff:: @ 85CAC91
- .string "{STRING 15} knocked off\n{STRING 16}’s {STRING 22}!$"
-
-gText_PkmnSwappedAbilities:: @ 85CACA9
- .string "{STRING 15} swapped abilities\nwith its opponent!$"
-
-gText_PkmnSealedOpponentMove:: @ 85CACD1
- .string "{STRING 15} sealed the\nopponent’s move(s)!$"
-
-gText_PkmnWantsGrudge:: @ 85CACF3
- .string "{STRING 15} wants the\nopponent to bear a GRUDGE!$"
-
-gText_PkmnLostPPGrudge:: @ 85CAD1B
- .string "{STRING 15}’s {STRING 0} lost\nall its PP due to the GRUDGE!$"
-
-gText_PkmnShroudedItself:: @ 85CAD46
- .string "{STRING 15} shrouded\nitself in {STRING 20}!$"
-
-gText_PkmnMoveBounced:: @ 85CAD60
- .string "{STRING 15}’s {STRING 20}\nwas bounced back by MAGIC COAT!$"
-
-gText_PkmnWaitsForTarget:: @ 85CAD88
- .string "{STRING 15} waits for a target\nto make a move!$"
-
-gText_PkmnSnatchedMove:: @ 85CADAE
- .string "{STRING 16} SNATCHED\n{STRING 19}’s move!$"
-
-gText_ElectricityWeakened:: @ 85CADC5
- .string "Electricity’s power was\nweakened!$"
-
-gText_FireWeakened:: @ 85CADE7
- .string "Fire’s power was\nweakened!$"
-
-gText_XFoundOneY:: @ 85CAE02
- .string "{STRING 15} found\none {STRING 22}!$"
-
-gText_SoothingAroma:: @ 85CAE13
- .string "A soothing aroma wafted\nthrough the area!$"
-
-gText_ItemsCantBeUsedNow:: @ 85CAE3D
- .string "Items can’t be used now.{PAUSE 64}$"
-
-gText_ForXCommaYZ:: @ 85CAE59
- .string "For {STRING 19},\n{STRING 22} {STRING 0}$"
-
-gText_PkmnUsedXToGetPumped:: @ 85CAE67
- .string "{STRING 19} used\n{STRING 22} to get pumped!$"
-
-gText_PkmnLostFocus:: @ 85CAE81
- .string "{STRING 15} lost its\nfocus and couldn’t move!$"
-
-gText_PkmnWasDraggedOut:: @ 85CAEA6
- .string "{STRING 16} was\ndragged out!\p$"
-
-gText_TheWallShattered:: @ 85CAEBB
- .string "The wall shattered!$"
-
-gText_ButNoEffect:: @ 85CAECF
- .string "But it had no effect!$"
-
-gText_PkmnHasNoMovesLeft:: @ 85CAEE5
- .string "{STRING 18} has no\nmoves left!\p$"
-
-gText_PkmnMoveIsDisabled:: @ 85CAEFC
- .string "{STRING 18}’s {STRING 20}\nis disabled!\p$"
-
-gText_PkmnCantUseMoveTorment:: @ 85CAF12
- .string "{STRING 18} can’t use the same\nmove in a row due to the TORMENT!\p$"
-
-gText_PkmnCantUseMoveTaunt:: @ 85CAF4B
- .string "{STRING 18} can’t use\n{STRING 20} after the TAUNT!\p$"
-
-gText_PkmnCantUseMoveSealed:: @ 85CAF6D
- .string "{STRING 18} can’t use the\nsealed {STRING 20}!\p$"
-
-gText_PkmnMadeItRain:: @ 85CAF8A
- .string "{STRING 19}’s {STRING 26}\nmade it rain!$"
-
-gText_PkmnRaisedSpeed:: @ 85CAFA0
- .string "{STRING 19}’s {STRING 26}\nraised its SPEED!$"
-
-gText_PkmnProtectedBy:: @ 85CAFBA
- .string "{STRING 16} was protected\nby {STRING 25}!$"
-
-gText_PkmnPreventsUsage:: @ 85CAFD2
- .string "{STRING 16}’s {STRING 25}\nprevents {STRING 15}\lfrom using {STRING 20}!$"
-
-gText_PkmnRestoredHPUsing:: @ 85CAFF5
- .string "{STRING 16} restored HP\nusing its {STRING 25}!$"
-
-gText_PkmnsXMadeYUseless:: @ 85CB012
- .string "{STRING 16}’s {STRING 25}\nmade {STRING 20} useless!$"
-
-gText_PkmnChangedTypeWith:: @ 85CB02B
- .string "{STRING 16}’s {STRING 25}\nmade it the {STRING 0} type!$"
-
-gText_PkmnPreventsParalysisWith:: @ 85CB048
- .string "{STRING 17}’s {STRING 25}\nprevents paralysis!$"
-
-gText_PkmnPreventsRomanceWith:: @ 85CB064
- .string "{STRING 16}’s {STRING 25}\nprevents romance!$"
-
-gText_PkmnPreventsPoisoningWith:: @ 85CB07E
- .string "{STRING 17}’s {STRING 25}\nprevents poisoning!$"
-
-gText_PkmnPreventsConfusionWith:: @ 85CB09A
- .string "{STRING 16}’s {STRING 25}\nprevents confusion!$"
-
-gText_PkmnRaisedFirePowerWith:: @ 85CB0B6
- .string "{STRING 16}’s {STRING 25}\nraised its FIRE power!$"
-
-gText_PkmnAnchorsItselfWith:: @ 85CB0D5
- .string "{STRING 16} anchors\nitself with {STRING 25}!$"
-
-gText_PkmnCutsAttackWith:: @ 85CB0F0
- .string "{STRING 19}’s {STRING 26}\ncuts {STRING 16}’s ATTACK!$"
-
-gText_PkmnPreventsStatLossWith:: @ 85CB10A
- .string "{STRING 19}’s {STRING 26}\nprevents stat loss!$"
-
-gText_PkmnHurtsWith:: @ 85CB126
- .string "{STRING 16}’s {STRING 25}\nhurt {STRING 15}!$"
-
-gText_PkmnTraced:: @ 85CB137
- .string "{STRING 19} TRACED\n{STRING 0}’s {PLAYER}!$"
-
-gText_PkmnsXPreventsBurns:: @ 85CB14A
- .string "{STRING 17}’s {STRING 27}\nprevents burns!$"
-
-gText_PkmnsXBlocksY:: @ 85CB162
- .string "{STRING 16}’s {STRING 25}\nblocks {STRING 20}!$"
-
-gText_PkmnsXBlocksY2:: @ 85CB175
- .string "{STRING 19}’s {STRING 26}\nblocks {STRING 20}!$"
-
-gText_PkmnsXRestoredHPALittle2:: @ 85CB188
- .string "{STRING 15}’s {STRING 24}\nrestored its HP a little!$"
-
-gText_PkmnsXWhippedUpSandstorm:: @ 85CB1AA
- .string "{STRING 19}’s {STRING 26}\nwhipped up a sandstorm!$"
-
-gText_PkmnsXIntensifiedSun:: @ 85CB1CA
- .string "{STRING 19}’s {STRING 26}\nintensified the sun’s rays!$"
-
-gText_PkmnsXPreventsYLoss:: @ 85CB1EE
- .string "{STRING 19}’s {STRING 26}\nprevents {STRING 0} loss!$"
-
-gText_PkmnsXInfatuatedY:: @ 85CB208
- .string "{STRING 16}’s {STRING 25}\ninfatuated {STRING 15}!$"
-
-gText_PkmnsXMadeYIneffective:: @ 85CB21F
- .string "{STRING 16}’s {STRING 25}\nmade {STRING 20} ineffective!$"
-
-gText_PkmnsXCuredYProblem:: @ 85CB23C
- .string "{STRING 19}’s {STRING 26}\ncured its {STRING 0} problem!$"
-
-gText_ItSuckedLiquidOoze:: @ 85CB25A
- .string "It sucked up the\nLIQUID OOZE!$"
-
-gText_PkmnTransformed:: @ 85CB278
- .string "{STRING 19} transformed!$"
-
-gText_PkmnsXTookAttack:: @ 85CB288
- .string "{STRING 16}’s {STRING 25}\ntook the attack!$"
-
-gText_PkmnsXPreventsSwitching:: @ 85CB2A1
- .string "{STRING 0}’s {STRING 23}\nprevents switching!\p$"
-
-gText_PreventedFromWorking:: @ 85CB2BE
- .string "{STRING 16}’s {STRING 25}\nprevented {STRING 19}’s\l{STRING 0} from working!$"
-
-gText_PkmnsXMadeItIneffective:: @ 85CB2E6
- .string "{STRING 19}’s {STRING 26}\nmade it ineffective!$"
-
-gText_PkmnsXPreventsFlinching:: @ 85CB303
- .string "{STRING 17}’s {STRING 27}\nprevents flinching!$"
-
-gText_PkmnsXPreventsYsZ:: @ 85CB31F
- .string "{STRING 15}’s {STRING 24}\nprevents {STRING 16}’s\l{STRING 25} from working!$"
-
-gText_PkmnsXCuredItsYProblem:: @ 85CB346
- .string "{STRING 19}’s {STRING 26}\ncured its {STRING 0} problem!$"
-
-gText_PkmnsXHadNoEffectOnY:: @ 85CB364
- .string "{STRING 19}’s {STRING 26}\nhad no effect on {STRING 17}!$"
-
-gText_StatSharply:: @ 85CB381
- .string "sharply $"
-
-gText_StatRose:: @ 85CB38A
- .string "rose!$"
-
-gText_StatHarshly:: @ 85CB390
- .string "harshly $"
-
-gText_StatFell:: @ 85CB399
- .string "fell!$"
-
-gText_PkmnsStatChanged:: @ 85CB39F
- .string "{STRING 15}’s {STRING 0}\n{PLAYER}$"
-
-gText_PkmnsStatChanged2:: @ 85CB3AA
- .string "{STRING 16}’s {STRING 0}\n{PLAYER}$"
-
-gText_UsingXTheYOfZN:: @ 85CB3B5
- .string "Using {STRING 22}, the {STRING 0}\nof {STRING 19} {PLAYER}$"
-
-gText_PkmnsStatChanged3:: @ 85CB3CF
- .string "{STRING 15}’s {STRING 0}\n{PLAYER}$"
-
-gText_PkmnsStatChanged4:: @ 85CB3DA
- .string "{STRING 16}’s {STRING 0}\n{PLAYER}$"
-
-gText_StatsWontIncrease2:: @ 85CB3E5
- .string "{STRING 15}’s stats won’t\ngo any higher!$"
-
-gText_StatsWontDecrease2:: @ 85CB405
- .string "{STRING 16}’s stats won’t\ngo any lower!$"
-
-gText_CriticalHit:: @ 85CB424
- .string "A critical hit!$"
-
-gText_OneHitKO:: @ 85CB434
- .string "It’s a one-hit KO!$"
-
-gText_123Poof:: @ 85CB447
- .string "{PAUSE 32}1, {PAUSE 15}2, and{PAUSE 15}… {PAUSE 15}… {PAUSE 15}… {PAUSE 15}{PLAY_SE 0x0038}Poof!\p$"
-
-gText_AndEllipsis:: @ 85CB473
- .string "And…\p$"
-
-gText_HMMovesCantBeForgotten:: @ 85CB479
- .string "HM moves can’t be\nforgotten now.\p$"
-
-gText_NotVeryEffective:: @ 85CB49B
- .string "It’s not very effective…$"
-
-gText_SuperEffective:: @ 85CB4B4
- .string "It’s super effective!$"
-
-gText_GotAwaySafely:: @ 85CB4CA
- .string "{PLAY_SE 0x0011}Got away safely!\p$"
-
-gText_PkmnFledUsingIts:: @ 85CB4E0
- .string "{PLAY_SE 0x0011}{STRING 15} fled\nusing its {STRING 22}!\p$"
-
-gText_PkmnFledUsing:: @ 85CB4FB
- .string "{PLAY_SE 0x0011}{STRING 15} fled\nusing {STRING 24}!\p$"
-
-gText_WildPkmnFled:: @ 85CB512
- .string "{PLAY_SE 0x0011}Wild {STRING 0} fled!$"
-
-gText_PlayerDefeated:: @ 85CB524
- .string "Player defeated\n{STRING 32}!$"
-
-gText_PlayerBeatTwo:: @ 85CB538
- .string "Player beat {STRING 32}\nand {STRING 33}!$"
-
-gText_PlayerLostAgainst:: @ 85CB54F
- .string "Player lost against\n{STRING 32}!$"
-
-gText_PlayerLostToTwo:: @ 85CB567
- .string "Player lost to {STRING 32}\nand {STRING 33}!$"
-
-gText_PlayerBattledToDraw:: @ 85CB581
- .string "Player battled to a draw against\n{STRING 32}!$"
-
-gText_PlayerBattledToDrawVsTwo:: @ 85CB5A6
- .string "Player battled to a draw against\n{STRING 32} and {STRING 33}!$"
-
-gText_WildFled:: @ 85CB5D2
- .string "{PLAY_SE 0x0011}{STRING 32} fled!$"
-
-gText_TwoWildFled:: @ 85CB5DF
- .string "{PLAY_SE 0x0011}{STRING 32} and\n{STRING 33} fled!$"
-
-gText_NoRunningFromTrainers:: @ 85CB5F3
- .string "No! There’s no running\nfrom a TRAINER battle!\p$"
-
-gText_CantEscape:: @ 85CB622
- .string "Can’t escape!\p$"
-
-gText_DontLeaveBirch:: @ 85CB631
- .string "PROF. BIRCH: Don’t leave me like this!\p$"
-
-gText_ButNothingHappened:: @ 85CB659
- .string "But nothing happened!$"
-
-gText_ButItFailed:: @ 85CB66F
- .string "But it failed!$"
-
-gText_ItHurtConfusion:: @ 85CB67E
- .string "It hurt itself in its\nconfusion!$"
-
-gText_MirrorMoveFailed:: @ 85CB69F
- .string "The MIRROR MOVE failed!$"
-
-gText_StartedToRain:: @ 85CB6B7
- .string "It started to rain!$"
-
-gText_DownpourStarted:: @ 85CB6CB
- .string "A downpour started!$"
-
-gText_RainContinues:: @ 85CB6DF
- .string "Rain continues to fall.$"
-
-gText_DownpourContinues:: @ 85CB6F7
- .string "The downpour continues.$"
-
-gText_RainStopped:: @ 85CB70F
- .string "The rain stopped.$"
-
-gText_SandstormBrewed:: @ 85CB721
- .string "A sandstorm brewed!$"
-
-gText_SandstormRages:: @ 85CB735
- .string "The sandstorm rages.$"
-
-gText_SandstormSubsided:: @ 85CB74A
- .string "The sandstorm subsided.$"
-
-gText_SunlightGotBright:: @ 85CB762
- .string "The sunlight got bright!$"
-
-gText_SunlightStrong:: @ 85CB77B
- .string "The sunlight is strong.$"
-
-gText_SunlightFaded:: @ 85CB793
- .string "The sunlight faded.$"
-
-gText_StartedHail:: @ 85CB7A7
- .string "It started to hail!$"
-
-gText_HailContinues:: @ 85CB7BB
- .string "Hail continues to fall.$"
-
-gText_HailStopped:: @ 85CB7D3
- .string "The hail stopped.$"
-
-gText_FailedToSpitUp:: @ 85CB7E5
- .string "But it failed to SPIT UP\na thing!$"
-
-gText_FailedToSwallow:: @ 85CB807
- .string "But it failed to SWALLOW\na thing!$"
-
-gText_WindBecameHeatWave:: @ 85CB829
- .string "The wind turned into a\nHEAT WAVE!$"
-
-gText_StatChangesGone:: @ 85CB84B
- .string "All stat changes were\neliminated!$"
-
-gText_CoinsScattered:: @ 85CB86D
- .string "Coins scattered everywhere!$"
-
-gText_TooWeakForSubstitute:: @ 85CB889
- .string "It was too weak to make\na SUBSTITUTE!$"
-
-gText_SharedPain:: @ 85CB8AF
- .string "The battlers shared\ntheir pain!$"
-
-gText_BellChimed:: @ 85CB8CF
- .string "A bell chimed!$"
-
-gText_FaintInThree:: @ 85CB8DE
- .string "All affected POKéMON will\nfaint in three turns!$"
-
-gText_NoPPLeft:: @ 85CB90E
- .string "There’s no PP left for\nthis move!\p$"
-
-gText_ButNoPPLeft:: @ 85CB931
- .string "But there was no PP left\nfor the move!$"
-
-gText_PkmnIgnoresAsleep:: @ 85CB958
- .string "{STRING 15} ignored\norders while asleep!$"
-
-gText_PkmnIgnoredOrders:: @ 85CB978
- .string "{STRING 15} ignored\norders!$"
-
-gText_PkmnBeganToNap:: @ 85CB98B
- .string "{STRING 15} began to nap!$"
-
-gText_PkmnLoafing:: @ 85CB99C
- .string "{STRING 15} is\nloafing around!$"
-
-gText_PkmnWontObey:: @ 85CB9B2
- .string "{STRING 15} won’t\nobey!$"
-
-gText_PkmnTurnedAway:: @ 85CB9C1
- .string "{STRING 15} turned away!$"
-
-gText_PkmnPretendNotNotice:: @ 85CB9D1
- .string "{STRING 15} pretended\nnot to notice!$"
-
-gText_EnemyAboutToSwitchPkmn:: @ 85CB9ED
- .string "{STRING 28} {STRING 29} is\nabout to use {PLAYER}.\pWill {STRING 35} change\nPOKéMON?$"
-
-gText_PkmnLearnedMove2:: @ 85CBA1F
- .string "{STRING 15} learned\n{STRING 0}!$"
-
-gText_PlayerDefeatedXY:: @ 85CBA2E
- .string "Player defeated\n{STRING 28} {STRING 29}!\p$"
-
-gText_CreptCloser:: @ 85CBA46
- .string "{STRING 35} crept closer to\n{RIVAL}!$"
-
-gText_CantGetCloser:: @ 85CBA5D
- .string "{STRING 35} can’t get any closer!$"
-
-gText_PkmnWatchingCarefully:: @ 85CBA76
- .string "{RIVAL} is watching\ncarefully!$"
-
-gText_PkmnCuriousAboutX:: @ 85CBA90
- .string "{RIVAL} is curious about\nthe {STRING 0}!$"
-
-gText_PkmnEnthralledByX:: @ 85CBAAC
- .string "{RIVAL} is enthralled by\nthe {STRING 0}!$"
-
-gText_PkmnIgnoredX:: @ 85CBAC8
- .string "{RIVAL} completely ignored\nthe {STRING 0}!$"
-
-gText_ThrewPokeblockAtPkmn:: @ 85CBAE6
- .string "{STRING 35} threw a {POKEBLOCK}\nat the {RIVAL}!$"
-
-gText_OutOfSafariBalls:: @ 85CBB02
- .string "{PLAY_SE 0x0049}ANNOUNCER: You’re out of\nSAFARI BALLS! Game over!\p$"
-
- .string "{RIVAL} appeared!\p$"
-
-gText_WildPkmnAppeared:: @ 85CBB47
- .string "Wild {RIVAL} appeared!\p$"
-
-gText_WildPkmnAppeared2:: @ 85CBB5A
- .string "Wild {RIVAL} appeared!\p$"
-
-gText_WildPkmnAppearedPause:: @ 85CBB6D
- .string "Wild {RIVAL} appeared!{PAUSE 127}$"
-
-gText_TwoWildPkmnAppeared:: @ 85CBB82
- .string "Wild {RIVAL} and\n{AQUA} appeared!\p$"
-
-gText_TrainerXYWantsToBattle:: @ 85CBB9C
- .string "{STRING 28} {STRING 29}\nwould like to battle!\p$"
-
-gText_TrainerXWantsToBattle:: @ 85CBBB9
- .string "{STRING 32}\nwants to battle!$"
-
-gText_TwoTrainersWantToBattle:: @ 85CBBCD
- .string "{STRING 32} and {STRING 33}\nwant to battle!$"
-
-gText_TrainerXYSentOutPkmn:: @ 85CBBE7
- .string "{STRING 28} {STRING 29} sent\nout {RIVAL}!$"
-
-gText_TrainerXYSentOutTwoPkmn:: @ 85CBBFA
- .string "{STRING 28} {STRING 29} sent\nout {RIVAL} and {AQUA}!$"
-
-gText_TrainerXYSentOutPkmn2:: @ 85CBC14
- .string "{STRING 28} {STRING 29} sent\nout {STRING 0}!$"
-
-gText_TrainerXSentOutPkmn:: @ 85CBC27
- .string "{STRING 32} sent out\n{RIVAL}!$"
-
-gText_TrainerXSentOutTwoPkmn:: @ 85CBC37
- .string "{STRING 32} sent out\n{RIVAL} and {AQUA}!$"
-
-gText_TwoTrainersSentOutPkmn:: @ 85CBC4E
- .string "{STRING 32} sent out {STRING 10}!\n{STRING 33} sent out {STRING 12}!$"
-
-gText_TrainerXSentOutPkmn2:: @ 85CBC6E
- .string "{STRING 32} sent out\n{STRING 0}!$"
-
-gText_TrainerXSentOutPkmn3:: @ 85CBC7E
- .string "{STRING 34} sent out\n{STRING 0}!$"
-
-gText_GoPkmn:: @ 85CBC8E
- .string "Go! {STRING 5}!$"
-
-gText_GoTwoPkmn:: @ 85CBC96
- .string "Go! {STRING 5} and\n{VERSION}!$"
-
-gText_GoPkmn2:: @ 85CBCA5
- .string "Go! {STRING 0}!$"
-
-gText_DoItPkmn:: @ 85CBCAD
- .string "Do it! {STRING 0}!$"
-
-gText_GoForItPkmn:: @ 85CBCB8
- .string "Go for it, {STRING 0}!$"
-
-gText_YourFoesWeakGetEmPkmn:: @ 85CBCC7
- .string "Your foe’s weak!\nGet ’em, {STRING 0}!$"
-
-gText_EnemySentOutPkmnGoPkmn:: @ 85CBCE5
- .string "{STRING 31} sent out {STRING 11}!\nGo! {STRING 9}!$"
-
-gText_PkmnThatsEnough:: @ 85CBCFD
- .string "{STRING 0}, that’s enough!\nCome back!$"
-
-gText_PkmnComeBack:: @ 85CBD1B
- .string "{STRING 0}, come back!$"
-
-gText_PkmnOkComeBack:: @ 85CBD2A
- .string "{STRING 0}, OK!\nCome back!$"
-
-gText_PkmnGoodComeBack:: @ 85CBD3D
- .string "{STRING 0}, good!\nCome back!$"
-
-gText_TrainerXYWithdrewPkmn:: @ 85CBD52
- .string "{STRING 28} {STRING 29}\nwithdrew {STRING 0}!$"
-
-gText_TrainerXWithdrewPkmn:: @ 85CBD65
- .string "{STRING 32} withdrew\n{STRING 0}!$"
-
-gText_TrainerXWithdrewPkmn2:: @ 85CBD75
- .string "{STRING 34} withdrew\n{STRING 0}!$"
-
-gText_WildPkmnPrefix:: @ 85CBD85
- .string "Wild $"
-
-gText_FoePkmnPrefix:: @ 85CBD8B
- .string "Foe $"
-
- .string "$"
-
-gText_FoePkmnPrefix2:: @ 85CBD91
- .string "Foe$"
-
-gText_AllyPkmnPrefix:: @ 85CBD95
- .string "Ally$"
-
-gText_FoePkmnPrefix3:: @ 85CBD9A
- .string "Foe$"
-
-gText_AllyPkmnPrefix2:: @ 85CBD9E
- .string "Ally$"
-
-gText_FoePkmnPrefix4:: @ 85CBDA3
- .string "Foe$"
-
-gText_AllyPkmnPrefix3:: @ 85CBDA7
- .string "Ally$"
-
-gText_XUsedY2:: @ 85CBDAC
- .string "{STRING 15} used\n{PLAYER}$"
-
-gText_ExclamationMark:: @ 85CBDB7
- .string "!$"
-
-gText_ExclamationMark2:: @ 85CBDB9
- .string "!$"
-
-gText_ExclamationMark3:: @ 85CBDBB
- .string "!$"
-
-gText_ExclamationMark4:: @ 85CBDBD
- .string "!$"
-
-gText_ExclamationMark5:: @ 85CBDBF
- .string "!$"
-
-gText_HP2:: @ 85CBDC1
- .string "HP$"
-
-gText_Attack2:: @ 85CBDC4
- .string "ATTACK$"
-
-gText_Defense2:: @ 85CBDCB
- .string "DEFENSE$"
-
-gText_Speed:: @ 85CBDD3
- .string "SPEED$"
-
-gText_SpAtk2:: @ 85CBDD9
- .string "SP. ATK$"
-
-gText_SpDef2:: @ 85CBDE1
- .string "SP. DEF$"
-
-gText_Accuracy:: @ 85CBDE9
- .string "accuracy$"
-
-gText_Evasiveness:: @ 85CBDF2
- .string "evasiveness$"
-
- .align 2
-gStatNamesTable:: @ 85CBE00
- .4byte gText_HP2
- .4byte gText_Attack2
- .4byte gText_Defense2
- .4byte gText_Speed
- .4byte gText_SpAtk2
- .4byte gText_SpDef2
- .4byte gText_Accuracy
- .4byte gText_Evasiveness
-
-gText_PokeblockWasTooSpicy:: @ 85CBE20
- .string "was too spicy!$"
-
-gText_PokeblockWasTooDry:: @ 85CBE2F
- .string "was too dry!$"
-
-gText_PokeblockWasTooSweet:: @ 85CBE3C
- .string "was too sweet!$"
-
-gText_PokeblockWasTooBitter:: @ 85CBE4B
- .string "was too bitter!$"
-
-gText_PokeblockWasTooSour:: @ 85CBE5B
- .string "was too sour!$"
-
- .align 2
-gPokeblockWasTooXStringTable:: @ 85CBE6C
- .4byte gText_PokeblockWasTooSpicy
- .4byte gText_PokeblockWasTooDry
- .4byte gText_PokeblockWasTooSweet
- .4byte gText_PokeblockWasTooBitter
- .4byte gText_PokeblockWasTooSour
-
-gText_XUsedY:: @ 85CBE80
- .string "{STRING 35} used\n{STRING 22}!$"
-
-gText_WallyUsedY:: @ 85CBE8C
- .string "WALLY used\n{STRING 22}!$"
-
-gText_XYUsedZ:: @ 85CBE9B
- .string "{STRING 28} {STRING 29}\nused {STRING 22}!$"
-
-gText_TrainerBlockedBall:: @ 85CBEAA
- .string "The TRAINER blocked the BALL!$"
-
-gText_DontBeAThief:: @ 85CBEC8
- .string "Don’t be a thief!$"
-
-gText_ItDodgedBall:: @ 85CBEDA
- .string "It dodged the thrown BALL!\nThis POKéMON can’t be caught!$"
-
-gText_YouMissedPkmn:: @ 85CBF13
- .string "You missed the POKéMON!$"
-
-gText_PkmnBrokeFree:: @ 85CBF2B
- .string "Oh, no!\nThe POKéMON broke free!$"
-
-gText_ItAppearedCaught:: @ 85CBF4B
- .string "Aww!\nIt appeared to be caught!$"
-
-gText_AarghAlmostHadIt:: @ 85CBF6A
- .string "Aargh!\nAlmost had it!$"
-
-gText_ShootSoClose:: @ 85CBF80
- .string "Shoot!\nIt was so close, too!$"
-
-gText_GotchaPkmnCaught:: @ 85CBF9D
- .string "Gotcha!\n{RIVAL} was caught!{UNKNOWN_A}{PLAY_BGM BGM_KACHI22}\p$"
-
-gText_GotchaPkmnCaught2:: @ 85CBFBB
- .string "Gotcha!\n{RIVAL} was caught!{UNKNOWN_A}{PLAY_BGM BGM_KACHI22}{PAUSE 127}$"
-
-gText_GiveNicknameCaptured:: @ 85CBFDB
- .string "Give a nickname to the\ncaptured {RIVAL}?$"
-
-gText_PkmnSentToPC:: @ 85CBFFF
- .string "{RIVAL} was sent to\n{STRING 39} PC.$"
-
-gText_Someones:: @ 85CC015
- .string "someone’s$"
-
-gText_Lanettes:: @ 85CC01F
- .string "LANETTE’s$"
-
-gText_PkmnDataAddedToDex:: @ 85CC029
- .string "{RIVAL}’s data was\nadded to the POKéDEX.\p$"
-
-gText_ItIsRaining:: @ 85CC04E
- .string "It is raining.$"
-
-gText_SandstormIsRaging:: @ 85CC05D
- .string "A sandstorm is raging.$"
-
-gText_BoxIsFull:: @ 85CC074
- .string "The BOX is full!\nYou can’t catch any more!\p$"
-
-gText_EnigmaBerry:: @ 85CC0A0
- .string "ENIGMA BERRY$"
-
-gText_BerrySuffix:: @ 85CC0AD
- .string " BERRY$"
-
-gText_PkmnsXCuredParalysis:: @ 85CC0B4
- .string "{STRING 19}’s {STRING 22}\ncured paralysis!$"
-
-gText_PkmnsXCuredPoison:: @ 85CC0CD
- .string "{STRING 19}’s {STRING 22}\ncured poison!$"
-
-gText_PkmnsXHealedBurn:: @ 85CC0E3
- .string "{STRING 19}’s {STRING 22}\nhealed its burn!$"
-
-gText_PkmnsXDefrostedIt:: @ 85CC0FC
- .string "{STRING 19}’s {STRING 22}\ndefrosted it!$"
-
-gText_PkmnsXWokeIt:: @ 85CC112
- .string "{STRING 19}’s {STRING 22}\nwoke it from its sleep!$"
-
-gText_PkmnsXSnappedOut:: @ 85CC132
- .string "{STRING 19}’s {STRING 22}\nsnapped it out of confusion!$"
-
-gText_PkmnsXCuredProblem:: @ 85CC157
- .string "{STRING 19}’s {STRING 22}\ncured its {STRING 0} problem!$"
-
-gText_PkmnsXNormalizedStatus:: @ 85CC175
- .string "{STRING 19}’s {STRING 22}\nnormalized its status!$"
-
-gText_PkmnsXRestoredHealth:: @ 85CC194
- .string "{STRING 19}’s {STRING 22}\nrestored health!$"
-
-gText_PkmnsXRestoredPP:: @ 85CC1AD
- .string "{STRING 19}’s {STRING 22}\nrestored {STRING 0}’s PP!$"
-
-gText_PkmnsXRestoredStatus:: @ 85CC1C7
- .string "{STRING 19}’s {STRING 22}\nrestored its status!$"
-
-gText_PkmnsXRestoredHPALittle:: @ 85CC1E4
- .string "{STRING 19}’s {STRING 22}\nrestored its HP a little!$"
-
-gText_XAllowsOnlyY:: @ 85CC206
- .string "{STRING 22} allows the\nuse of only {STRING 20}!\p$"
-
-gText_PkmnHungOnWithX:: @ 85CC225
- .string "{STRING 16} hung on\nusing its {STRING 22}!$"
-
-gText_EmptyString3:: @ 85CC23E
- .string "$"
-
-gText_YouThrowABallNowRight:: @ 85CC23F
- .string "You throw a BALL now, right?\nI… I’ll do my best!$"
-
- .align 2
-gBattleStringsTable:: @ 85CC270
- .4byte gText_Buffer36
- .4byte gText_PkmnGainedEXP
- .4byte gText_PkmnGrewToLv
- .4byte gText_PkmnLearnedMove
- .4byte gText_TryToLearnMove1
- .4byte gText_TryToLearnMove2
- .4byte gText_TryToLearnMove3
- .4byte gText_PkmnForgotMove
- .4byte gText_StopLearningMove
- .4byte gText_DidNotLearnMove
- .4byte gText_PkmnLearnedMove2
- .4byte gText_AttackMissed
- .4byte gText_PkmnProtectedItself
- .4byte gText_StatsWontIncrease2
- .4byte gText_AvoidedDamage
- .4byte gText_ItDoesntAffect
- .4byte gText_PkmnFainted
- .4byte gText_PkmnFainted2
- .4byte gText_PlayerGotMoney
- .4byte gText_PlayerWhiteout
- .4byte gText_PlayerWhiteout2
- .4byte gText_PreventsEscape
- .4byte gText_HitXTimes
- .4byte gText_PkmnFellAsleep
- .4byte gText_PkmnMadeSleep
- .4byte gText_PkmnAlreadyAsleep
- .4byte gText_PkmnAlreadyAsleep2
- .4byte gText_PkmnWasntAffected
- .4byte gText_PkmnWasPoisoned
- .4byte gText_PkmnPoisonedBy
- .4byte gText_PkmnHurtByPoison
- .4byte gText_PkmnAlreadyPoisoned
- .4byte gText_PkmnBadlyPoisoned
- .4byte gText_PkmnEnergyDrained
- .4byte gText_PkmnWasBurned
- .4byte gText_PkmnBurnedBy
- .4byte gText_PkmnHurtByBurn
- .4byte gText_PkmnWasFrozen
- .4byte gText_PkmnFrozenBy
- .4byte gText_PkmnIsFrozen
- .4byte gText_PkmnWasDefrosted
- .4byte gText_PkmnWasDefrosted2
- .4byte gText_PkmnWasDefrostedBy
- .4byte gText_PkmnWasParalyzed
- .4byte gText_PkmnWasParalyzedBy
- .4byte gText_PkmnIsParalyzed
- .4byte gText_PkmnIsAlreadyParalyzed
- .4byte gText_PkmnHealedParalysis
- .4byte gText_PkmnDreamEaten
- .4byte gText_StatsWontIncrease
- .4byte gText_StatsWontDecrease
- .4byte gText_TeamStoppedWorking
- .4byte gText_FoeStoppedWorking
- .4byte gText_PkmnIsConfused
- .4byte gText_PkmnHealedConfusion
- .4byte gText_PkmnWasConfused
- .4byte gText_PkmnAlreadyConfused
- .4byte gText_PkmnFellInLove
- .4byte gText_PkmnInLove
- .4byte gText_PkmnImmobilizedByLove
- .4byte gText_PkmnBlownAway
- .4byte gText_PkmnChangedType
- .4byte gText_PkmnFlinched
- .4byte gText_PkmnRegainedHealth
- .4byte gText_PkmnHPFull
- .4byte gText_PkmnRaisedSpDef
- .4byte gText_PkmnRaisedDef
- .4byte gText_PkmnCoveredByVeil
- .4byte gText_PkmnUsedSafeguard
- .4byte gText_PkmnSafeguardExpired
- .4byte gText_PkmnWentToSleep
- .4byte gText_PkmnSleptHealthy
- .4byte gText_PkmnWhippedWhirlwind
- .4byte gText_PkmnTookSunlight
- .4byte gText_PkmnLoweredHead
- .4byte gText_PkmnIsGlowing
- .4byte gText_PkmnFlewHigh
- .4byte gText_PkmnDugHole
- .4byte gText_PkmnSqueezedByBind
- .4byte gText_PkmnTrappedInVortex
- .4byte gText_PkmnWrappedBy
- .4byte gText_PkmnClamped
- .4byte gText_PkmnHurtBy
- .4byte gText_PkmnFreedFrom
- .4byte gText_PkmnCrashed
- .4byte gText_PkmnShroudedInMist
- .4byte gText_PkmnProtectedByMist
- .4byte gText_PkmnGettingPumped
- .4byte gText_PkmnHitWithRecoil
- .4byte gText_PkmnProtectedItself2
- .4byte gText_PkmnBuffetedBySandstorm
- .4byte gText_PkmnPeltedByHail
- .4byte gText_PkmnSeeded
- .4byte gText_PkmnEvadedAttack
- .4byte gText_PkmnSappedByLeechSeed
- .4byte gText_PkmnFastAsleep
- .4byte gText_PkmnWokeUp
- .4byte gText_PkmnUproarKeptAwake
- .4byte gText_PkmnWokeUpInUproar
- .4byte gText_PkmnCausedUproar
- .4byte gText_PkmnMakingUproar
- .4byte gText_PkmnCalmedDown
- .4byte gText_PkmnCantSleepInUproar
- .4byte gText_PkmnStockpiled
- .4byte gText_PkmnCantStockpile
- .4byte gText_PkmnCantSleepInUproar2
- .4byte gText_UproarKeptPkmnAwake
- .4byte gText_PkmnStayedAwakeUsing
- .4byte gText_PkmnStoringEnergy
- .4byte gText_PkmnUnleashedEnergy
- .4byte gText_PkmnFatigueConfusion
- .4byte gText_PkmnPickedUpItem
- .4byte gText_PkmnUnaffected
- .4byte gText_PkmnTransformedInto
- .4byte gText_PkmnMadeSubstitute
- .4byte gText_PkmnHasSubstitute
- .4byte gText_SubstituteDamaged
- .4byte gText_PkmnSubstituteFaded
- .4byte gText_PkmnMustRecharge
- .4byte gText_PkmnRageBuilding
- .4byte gText_PkmnMoveWasDisabled
- .4byte gText_PkmnMoveIsDisabled
- .4byte gText_PkmnMoveDisabledNoMore
- .4byte gText_PkmnGotEncore
- .4byte gText_PkmnEncoreEnded
- .4byte gText_PkmnTookAim
- .4byte gText_PkmnSketchedMove
- .4byte gText_PkmnTryingToTakeFoe
- .4byte gText_PkmnTookFoe
- .4byte gText_PkmnReducedPP
- .4byte gText_PkmnStoleItem
- .4byte gText_PkmnCantEscape
- .4byte gText_PkmnFellIntoNightmare
- .4byte gText_PkmnLockedInNightmare
- .4byte gText_PkmnLaidCurse
- .4byte gText_PkmnAfflictedByCurse
- .4byte gText_SpikesScattered
- .4byte gText_PkmnHurtBySpikes
- .4byte gText_PkmnIdentified
- .4byte gText_PkmnPerishCountFell
- .4byte gText_PkmnBracedItself
- .4byte gText_PkmnEnduredHit
- .4byte gText_MagnitudeStrength
- .4byte gText_PkmnCutHPMaxedAttack
- .4byte gText_PkmnCopiedStatChanges
- .4byte gText_PkmnGotFree
- .4byte gText_PkmnShedLeechSeed
- .4byte gText_PkmnBlewAwaySpikes
- .4byte gText_PkmnFledFromBattle
- .4byte gText_PkmnForesawAttack
- .4byte gText_PkmnTookAttack
- .4byte gText_PkmnAttack
- .4byte gText_PkmnCenterAttention
- .4byte gText_PkmnChargingPower
- .4byte gText_NaturePowerTurnedInto
- .4byte gText_PkmnStatusNormal
- .4byte gText_PkmnHasNoMovesLeft
- .4byte gText_PkmnSubjectedToTorment
- .4byte gText_PkmnCantUseMoveTorment
- .4byte gText_PkmnTighteningFocus
- .4byte gText_PkmnFellForTaunt
- .4byte gText_PkmnCantUseMoveTaunt
- .4byte gText_PkmnReadyToHelp
- .4byte gText_PkmnSwitchedItems
- .4byte gText_PkmnCopiedFoe
- .4byte gText_PkmnMadeWish
- .4byte gText_PkmnWishCameTrue
- .4byte gText_PkmnPlantedRoots
- .4byte gText_PkmnAbsorbedNutrients
- .4byte gText_PkmnAnchoredItself
- .4byte gText_PkmnWasMadeDrowsy
- .4byte gText_PkmnKnockedOff
- .4byte gText_PkmnSwappedAbilities
- .4byte gText_PkmnSealedOpponentMove
- .4byte gText_PkmnCantUseMoveSealed
- .4byte gText_PkmnWantsGrudge
- .4byte gText_PkmnLostPPGrudge
- .4byte gText_PkmnShroudedItself
- .4byte gText_PkmnMoveBounced
- .4byte gText_PkmnWaitsForTarget
- .4byte gText_PkmnSnatchedMove
- .4byte gText_PkmnMadeItRain
- .4byte gText_PkmnRaisedSpeed
- .4byte gText_PkmnProtectedBy
- .4byte gText_PkmnPreventsUsage
- .4byte gText_PkmnRestoredHPUsing
- .4byte gText_PkmnChangedTypeWith
- .4byte gText_PkmnPreventsParalysisWith
- .4byte gText_PkmnPreventsRomanceWith
- .4byte gText_PkmnPreventsPoisoningWith
- .4byte gText_PkmnPreventsConfusionWith
- .4byte gText_PkmnRaisedFirePowerWith
- .4byte gText_PkmnAnchorsItselfWith
- .4byte gText_PkmnCutsAttackWith
- .4byte gText_PkmnPreventsStatLossWith
- .4byte gText_PkmnHurtsWith
- .4byte gText_PkmnTraced
- .4byte gText_StatSharply
- .4byte gText_StatRose
- .4byte gText_StatHarshly
- .4byte gText_StatFell
- .4byte gText_PkmnsStatChanged
- .4byte gText_PkmnsStatChanged2
- .4byte gText_PkmnsStatChanged3
- .4byte gText_PkmnsStatChanged4
- .4byte gText_CriticalHit
- .4byte gText_OneHitKO
- .4byte gText_123Poof
- .4byte gText_AndEllipsis
- .4byte gText_NotVeryEffective
- .4byte gText_SuperEffective
- .4byte gText_GotAwaySafely
- .4byte gText_WildPkmnFled
- .4byte gText_NoRunningFromTrainers
- .4byte gText_CantEscape
- .4byte gText_DontLeaveBirch
- .4byte gText_ButNothingHappened
- .4byte gText_ButItFailed
- .4byte gText_ItHurtConfusion
- .4byte gText_MirrorMoveFailed
- .4byte gText_StartedToRain
- .4byte gText_DownpourStarted
- .4byte gText_RainContinues
- .4byte gText_DownpourContinues
- .4byte gText_RainStopped
- .4byte gText_SandstormBrewed
- .4byte gText_SandstormRages
- .4byte gText_SandstormSubsided
- .4byte gText_SunlightGotBright
- .4byte gText_SunlightStrong
- .4byte gText_SunlightFaded
- .4byte gText_StartedHail
- .4byte gText_HailContinues
- .4byte gText_HailStopped
- .4byte gText_FailedToSpitUp
- .4byte gText_FailedToSwallow
- .4byte gText_WindBecameHeatWave
- .4byte gText_StatChangesGone
- .4byte gText_CoinsScattered
- .4byte gText_TooWeakForSubstitute
- .4byte gText_SharedPain
- .4byte gText_BellChimed
- .4byte gText_FaintInThree
- .4byte gText_NoPPLeft
- .4byte gText_ButNoPPLeft
- .4byte gText_XUsedY
- .4byte gText_WallyUsedY
- .4byte gText_TrainerBlockedBall
- .4byte gText_DontBeAThief
- .4byte gText_ItDodgedBall
- .4byte gText_YouMissedPkmn
- .4byte gText_PkmnBrokeFree
- .4byte gText_ItAppearedCaught
- .4byte gText_AarghAlmostHadIt
- .4byte gText_ShootSoClose
- .4byte gText_GotchaPkmnCaught
- .4byte gText_GotchaPkmnCaught2
- .4byte gText_GiveNicknameCaptured
- .4byte gText_PkmnSentToPC
- .4byte gText_PkmnDataAddedToDex
- .4byte gText_ItIsRaining
- .4byte gText_SandstormIsRaging
- .4byte gText_CantEscape2
- .4byte gText_PkmnIgnoresAsleep
- .4byte gText_PkmnIgnoredOrders
- .4byte gText_PkmnBeganToNap
- .4byte gText_PkmnLoafing
- .4byte gText_PkmnWontObey
- .4byte gText_PkmnTurnedAway
- .4byte gText_PkmnPretendNotNotice
- .4byte gText_EnemyAboutToSwitchPkmn
- .4byte gText_CreptCloser
- .4byte gText_CantGetCloser
- .4byte gText_PkmnWatchingCarefully
- .4byte gText_PkmnCuriousAboutX
- .4byte gText_PkmnEnthralledByX
- .4byte gText_PkmnIgnoredX
- .4byte gText_ThrewPokeblockAtPkmn
- .4byte gText_OutOfSafariBalls
- .4byte gText_PkmnsXCuredParalysis
- .4byte gText_PkmnsXCuredPoison
- .4byte gText_PkmnsXHealedBurn
- .4byte gText_PkmnsXDefrostedIt
- .4byte gText_PkmnsXWokeIt
- .4byte gText_PkmnsXSnappedOut
- .4byte gText_PkmnsXCuredProblem
- .4byte gText_PkmnsXRestoredHealth
- .4byte gText_PkmnsXRestoredPP
- .4byte gText_PkmnsXRestoredStatus
- .4byte gText_PkmnsXRestoredHPALittle
- .4byte gText_XAllowsOnlyY
- .4byte gText_PkmnHungOnWithX
- .4byte gText_EmptyString3
- .4byte gText_PkmnsXPreventsBurns
- .4byte gText_PkmnsXBlocksY
- .4byte gText_PkmnsXRestoredHPALittle2
- .4byte gText_PkmnsXWhippedUpSandstorm
- .4byte gText_PkmnsXPreventsYLoss
- .4byte gText_PkmnsXInfatuatedY
- .4byte gText_PkmnsXMadeYIneffective
- .4byte gText_PkmnsXCuredYProblem
- .4byte gText_ItSuckedLiquidOoze
- .4byte gText_PkmnTransformed
- .4byte gText_ElectricityWeakened
- .4byte gText_FireWeakened
- .4byte gText_PkmnHidUnderwater
- .4byte gText_PkmnSprangUp
- .4byte gText_HMMovesCantBeForgotten
- .4byte gText_XFoundOneY
- .4byte gText_PlayerDefeatedXY
- .4byte gText_SoothingAroma
- .4byte gText_ItemsCantBeUsedNow
- .4byte gText_ForXCommaYZ
- .4byte gText_UsingXTheYOfZN
- .4byte gText_PkmnUsedXToGetPumped
- .4byte gText_PkmnsXMadeYUseless
- .4byte gText_PkmnTrappedBySandTomb
- .4byte gText_EmptyString4
- .4byte gText_ABoosted
- .4byte gText_PkmnsXIntensifiedSun
- .4byte gText_PkmnMakesGroundMiss
- .4byte gText_YouThrowABallNowRight
- .4byte gText_PkmnsXTookAttack
- .4byte gText_PkmnChoseXAsDestiny
- .4byte gText_PkmnLostFocus
- .4byte gText_UseNextPkmn
- .4byte gText_PkmnFledUsingIts
- .4byte gText_PkmnFledUsing
- .4byte gText_PkmnWasDraggedOut
- .4byte gText_PreventedFromWorking
- .4byte gText_PkmnsXNormalizedStatus
- .4byte gText_XYUsedZ
- .4byte gText_BoxIsFull
- .4byte gText_PkmnAvoidedAttack
- .4byte gText_PkmnsXMadeItIneffective
- .4byte gText_PkmnsXPreventsFlinching
- .4byte gText_PkmnAlreadyHasBurn
- .4byte gText_StatsWontDecrease2
- .4byte gText_PkmnsXBlocksY2
- .4byte gText_PkmnsXWoreOff
- .4byte gText_PkmnRaisedDefALittle
- .4byte gText_PkmnRaisedSpDefALittle
- .4byte gText_TheWallShattered
- .4byte gText_PkmnsXPreventsYsZ
- .4byte gText_PkmnsXCuredItsYProblem
- .4byte gText_PkmnCantEscape2
- .4byte gText_PkmnObtainedX
- .4byte gText_PkmnObtainedX2
- .4byte gText_PkmnObtainedXYObtainedZ
- .4byte gText_ButNoEffect
- .4byte gText_PkmnsXHadNoEffectOnY
- .4byte gText_TwoEnemiesDefeated
- .4byte gText_String48
- .4byte gText_PkmnIncapableOfPower
- .4byte gText_GlintAppearsInEye
- .4byte gText_PkmnGettingIntoPosition
- .4byte gText_PkmnBeganGrowlingDeeply
- .4byte gText_PkmnEagerForMore
- .4byte gText_DefeatedOpponentByReferee
- .4byte gText_LostToOpponentByReferee
- .4byte gText_TiedOpponentByReferee
- .4byte gText_QuestionForfeitMatch
- .4byte gText_ForfeitedMatch
- .4byte gText_PkmnTransferredSomeonesPC
- .4byte gText_PkmnTransferredLanettesPC
- .4byte gText_PkmnBoxSomeonesPCFull
- .4byte gText_PkmnBoxLanettesPCFull
- .4byte gText_String37
- .4byte gText_String49
-
- .align 2
-gMissStringIds:: @ 85CC834
- .2byte 0x0017, 0x0018, 0x0159, 0x001a, 0x014c
-
-gUnknown_085CC83E:: @ 85CC83E
- .2byte 0x00e2, 0x00e3, 0x0021
- .2byte 0x0112, 0x0165, 0x00e8, 0x00e9, 0x00e5, 0x00ed, 0x00f0, 0x00f3
- .2byte 0x00ee, 0x00f4, 0x0066, 0x0067, 0x00ef, 0x00f5, 0x00ea, 0x00eb
- .2byte 0x00ec, 0x0065, 0x0098, 0x00e5, 0x00e5, 0x004e, 0x0160, 0x004d
- .2byte 0x0161, 0x004f, 0x0068, 0x0069, 0x001b, 0x006a, 0x0139, 0x0052
- .2byte 0x0053, 0x0070, 0x0071, 0x0073, 0x0074, 0x006c, 0x006e, 0x00f7
- .2byte 0x004c, 0x0075, 0x0076, 0x0077, 0x00d5, 0x00d6, 0x003d, 0x0130
- .2byte 0x0145, 0x0146, 0x00d7, 0x00d8, 0x003e, 0x0130, 0x0054, 0x0055
- .2byte 0x0056, 0x0057, 0x0058, 0x0059, 0x013d, 0x013e, 0x005a, 0x005c
- .2byte 0x005b, 0x005d, 0x005b, 0x0148, 0x0061, 0x00e5, 0x0063, 0x00e5
- .2byte 0x007d, 0x00e5, 0x007e, 0x00fb, 0x0028, 0x0029, 0x0037, 0x0038
- .2byte 0x0023, 0x0024, 0x002e, 0x002f, 0x0031, 0x0032, 0x0035, 0x0036
- .2byte 0x0017, 0x007c, 0x0045, 0x0136, 0x002d, 0x0139, 0x013b, 0x013c
- .2byte 0x00fd, 0x00fd, 0x00fd, 0x00fd, 0x0142, 0x00a1, 0x014f, 0x0107
- .2byte 0x0108, 0x0109, 0x010a, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110
- .2byte 0x0110, 0x0110, 0x0110, 0x0111, 0x0110, 0x0110, 0x0110, 0x00f1
- .2byte 0x0110, 0x0110, 0x0110, 0x0116, 0x0117, 0x0118, 0x0119, 0x016d
- .2byte 0x011b, 0x011c, 0x011e, 0x011f, 0x0120, 0x0128, 0x0123, 0x0126
- .2byte 0x0125, 0x0124, 0x0127, 0x0129, 0x0156, 0x0131, 0x0163, 0x016a
- .2byte 0x00c7, 0x0163, 0x016a, 0x00c9, 0x0163, 0x016a, 0x0166, 0x0167
- .2byte 0x0168, 0x00cb, 0x0137, 0x0177, 0x0178, 0x0179, 0x017a
-
-gTrappingMoves:: @ 85CC982
- .2byte MOVE_BIND, MOVE_WRAP, MOVE_FIRE_SPIN, MOVE_CLAMP, MOVE_WHIRLPOOL, MOVE_SAND_TOMB, 0xffff
-
-gText_PkmnIsEvolving:: @ 85CC990
- .string "What?\n{STR_VAR_1} is evolving!$"
-
-gText_CongratsPkmnEvolved:: @ 85CC9A6
- .string "Congratulations! Your {STR_VAR_1}\nevolved into {STR_VAR_2}!{UNKNOWN_A}\p$"
-
-gText_PkmnStoppedEvolving:: @ 85CC9D3
- .string "Huh? {STR_VAR_1}\nstopped evolving!\p$"
-
-gText_EllipsisQuestionMark:: @ 85CC9EE
- .string "……?\p$"
-
-gText_WhatWillPkmnDo:: @ 85CC9F3
- .string "What will\n{STRING 18} do?$"
-
-gText_WhatWillPkmnDo2:: @ 85CCA04
- .string "What will\n{STRING 35} do?$"
-
-gText_WhatWillWallyDo:: @ 85CCA15
- .string "What will\nWALLY do?$"
-
-gText_LinkStandby:: @ 85CCA29
- .string "{PAUSE 16}Link standby…$"
-
-gText_BattleMenu:: @ 85CCA3A
- .string "FIGHT{CLEAR_TO 56}BAG\nPOKéMON{CLEAR_TO 56}RUN$"
-
-gText_SafariZoneMenu:: @ 85CCA54
- .string "BALL{CLEAR_TO 56}{POKEBLOCK}\nGO NEAR{CLEAR_TO 56}RUN$"
-
-gText_MoveInterfacePP:: @ 85CCA6F
- .string "PP $"
-
-gText_MoveInterfaceType:: @ 85CCA73
- .string "TYPE/$"
-
- .string "{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW DYNAMIC_COLOR4 DYNAMIC_COLOR5 DYNAMIC_COLOR6}PP\nTYPE/$"
- .string "{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW DYNAMIC_COLOR4 DYNAMIC_COLOR5 DYNAMIC_COLOR6}$"
- .string "{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW DYNAMIC_COLOR4 DYNAMIC_COLOR5 DYNAMIC_COLOR6}Which move should\nbe forgotten?$"
-
-gText_BattleYesNoChoice:: @ 85CCABB
- .string "{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW DYNAMIC_COLOR4 DYNAMIC_COLOR5 DYNAMIC_COLOR6}Yes\nNo$"
-
-gText_BattleSwitchWhich:: @ 85CCACA
- .string "{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW DYNAMIC_COLOR4 DYNAMIC_COLOR5 DYNAMIC_COLOR6}Switch\nwhich?$"
-
- .string "{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW DYNAMIC_COLOR4 DYNAMIC_COLOR5 DYNAMIC_COLOR6}$"
- .string "{UP_ARROW}$"
- .string "{ESCAPE 4}$"
- .string "-$"
-
-gText_HP:: @ 85CCAF1
- .string "HP$"
-
-gText_Attack:: @ 85CCAF4
- .string "ATTACK$"
-
-gText_Defense:: @ 85CCAFB
- .string "DEFENSE$"
-
-gText_SpAtk:: @ 85CCB03
- .string "SP. ATK$"
-
-gText_SpDef:: @ 85CCB0B
- .string "SP. DEF$"
-
- .align 2
- .4byte gText_HP
- .4byte gText_SpAtk
- .4byte gText_Attack
- .4byte gText_SpDef
- .4byte gText_Defense
- .4byte gText_Speed
-
-gText_SafariBalls:: @ 85CCB2C
- .string "{HIGHLIGHT DARK_GREY}SAFARI BALLS$"
-
-gText_SafariBallLeft:: @ 85CCB3C
- .string "{HIGHLIGHT DARK_GREY}Left: $"
- .string "{HIGHLIGHT DARK_GREY}$"
-gText_Sleep::
- .string "sleep$"
-gText_Poison::
- .string "poison$"
-gText_Burn::
- .string "burn$"
-gText_Paralysis::
- .string "paralysis$"
-gText_Ice::
- .string "ice$"
-gText_Confusion::
- .string "confusion$"
-gText_Love::
- .string "love$"
-
-gText_SpaceAndSpace:: @ 85CCB79
- .string " and $"
-
-gText_CommaSpace:: @ 85CCB7F
- .string ", $"
-
-gText_Space2:: @ 85CCB82
- .string " $"
-
-gText_ScrollTextUp:: @ 85CCB84
- .string "\l$"
-
-gText_NewLine:: @ 85CCB86
- .string "\n$"
-
-gText_Are:: @ 85CCB88
- .string "are$"
-
-gText_Are2:: @ 85CCB8C
- .string "are$"
-
-gText_BadEgg:: @ 85CCB90
- .string "Bad EGG$"
-
-gText_BattleWallyName:: @ 85CCB98
- .string "WALLY$"
-
-gText_Win:: @ 85CCB9E
- .string "{HIGHLIGHT TRANSPARENT}Win$"
-
-gText_Loss:: @ 85CCBA5
- .string "{HIGHLIGHT TRANSPARENT}Loss$"
-
-gText_Draw:: @ 85CCBAD
- .string "{HIGHLIGHT TRANSPARENT}Draw$"
-
-gText_SpaceIs:: @ 85CCBB5
- .string " is$"
-
-gText_ApostropheS:: @ 85CCBB9
- .string "’s$"
-
-gText_UnknownMoveTypes:: @ 85CCBBC
- .string "a NORMAL move$ "
- .string "a FIGHTING move$ "
- .string "a FLYING move$ "
- .string "a POISON move$ "
- .string "a GROUND move$ "
- .string "a ROCK move$ "
- .string "a BUG move$ "
- .string "a GHOST move$ "
- .string "a STEEL move$ "
- .string "a ??? move$ "
- .string "a FIRE move$ "
- .string "a WATER move$ "
- .string "a GRASS move$ "
- .string "an ELECTRIC move$"
- .string "a PSYCHIC move$ "
- .string "an ICE move$ "
- .string "a DRAGON move$ "
- .string "a DARK move$ "
-
-gText_BattleTourney:: @ 85CCCEE
- .string "BATTLE TOURNEY$"
-
-gText_Round1:: @ 85CCCFD
- .string "Round 1$"
-
-gText_Round2:: @ 85CCD05
- .string "Round 2$"
-
-gText_Semifinal:: @ 85CCC0D
- .string "Semifinal$"
-
-gText_Final:: @ 85CCD17
- .string "Final$"
-
- .align 2
-gRoundsStringTable:: @ 85CCD20
- .4byte gText_Round1
- .4byte gText_Round2
- .4byte gText_Semifinal
- .4byte gText_Final
-
- .string "The great new hope!\p$"
- .string "Will the championship dream come true?!\p$"
- .string "A former CHAMPION!\p$"
- .string "The previous CHAMPION!\p$"
- .string "The unbeaten CHAMPION!\p$"
-
-gText_JapaneseHonorific:: @ 85CCDB2
- .string "{KUN}$"
-
-gText_Vs:: @ 85CCDB5
- .string "VS$"
-
-gText_RivalBuffer:: @ 85CCDB8
- .string "{RIVAL}$"
-
-gText_Mind:: @ 85CCDBB
- .string "Mind$"
-
-gText_Skill:: @ 85CCDC0
- .string "Skill$"
-
-gText_Body:: @ 85CCDC6
- .string "Body$"
-
-gText_Judgement:: @ 85CCDCB
- .string "{STRING 0}{CLEAR 13}Judgment{CLEAR 13}{PLAYER}$"
-
-gText_TwoTrainersSentPkmn:: @ 85CCDDE
- .string "{STRING 28} {STRING 29} sent\nout {RIVAL}!\p{STRING 46} {STRING 47} sent\nout {AQUA}!$"
-
-gText_TrainerXYSentOutPkmn3:: @ 85CCE04
- .string "{STRING 46} {STRING 47} sent\nout {STRING 0}!$"
-
-gText_TwoTrainersWantToBattle2:: @ 85CCE17
- .string "{STRING 28} {STRING 29} and\n{STRING 46} {STRING 47}\lwant to battle!\p$"
-
-gText_TrainerXYSentOutZGoN:: @ 85CCE38
- .string "{STRING 50} {STRING 51} sent\nout {VERSION}!\lGo, {STRING 5}!$"
-
-gText_TwoEnemiesDefeated:: @ 85CCE53
- .string "{STRING 28} {STRING 29} and\n{STRING 46} {STRING 47}\lwere defeated!\p$"
-
-gText_String48:: @ 85CCE73
- .string "{STRING 48}$"
-
-gText_PkmnIncapableOfPower:: @ 85CCE76
- .string "{STRING 15} appears incapable\nof using its power!$"
-
-gText_GlintAppearsInEye:: @ 85CCE9F
- .string "A glint appears in\n{STRING 19}’s eyes!$"
-
-gText_PkmnGettingIntoPosition:: @ 85CCEBD
- .string "{STRING 19} is getting into\nposition!$"
-
-gText_PkmnBeganGrowlingDeeply:: @ 85CCEDA
- .string "{STRING 19} began growling deeply!$"
-
-gText_PkmnEagerForMore:: @ 85CCEF4
- .string "{STRING 19} is eager for more!$"
-
-gUnknown_085CCF0A:: @ 85CCF0A
- .2byte 0x016E, 0x016F, 0x0170, 0x0171
-
-gText_RefIfNothingIsDecided:: @ 85CCF12
- .string "REFEREE: If nothing is decided in\n3 turns, we will go to judging!$"
-
-gText_RefThatsIt:: @ 85CCF54
- .string "REFEREE: That’s it! We will now go to\njudging to determine the winner!$"
-
-gText_RefJudgeMind:: @ 85CCF9B
- .string "REFEREE: Judging category 1, Mind!\nThe POKéMON showing the most guts!\p$"
-
-gText_RefJudgeSkill:: @ 85CCFE2
- .string "REFEREE: Judging category 2, Skill!\nThe POKéMON using moves the best!\p$"
-
-gText_RefJudgeBody:: @ 85CD029
- .string "REFEREE: Judging category 3, Body!\nThe POKéMON with the most vitality!\p$"
-
-gText_RefJudgement1:: @ 85CD071
- .string "REFEREE: Judgment: {STRING 0} to {PLAYER}!\nThe winner is {STRING 35}’s {STRING 5}!\p$"
-
-gText_RefJudgement2:: @ 85CD0A6
- .string "REFEREE: Judgment: {STRING 0} to {PLAYER}!\nThe winner is {STRING 29}’s {RIVAL}!\p$"
-
-gText_RefJudgement3:: @ 85CD0DB
- .string "REFEREE: Judgment: 3 to 3!\nWe have a draw!\p$"
-
-gText_DefeatedOpponentByReferee:: @ 85CD107
- .string "{STRING 5} defeated the opponent\n{RIVAL} in a REFEREE’s decision!$"
-
-gText_LostToOpponentByReferee:: @ 85CD13C
- .string "{STRING 5} lost to the opponent\n{RIVAL} in a REFEREE’s decision!$"
-
-gText_TiedOpponentByReferee:: @ 85CD170
- .string "{STRING 5} tied the opponent\n{RIVAL} in a REFEREE’s decision!$"
-
-gText_RefCommenceBattle:: @ 85CD1A1
- .string "REFEREE: {STRING 5} VS {RIVAL}!\nCommence battling!$"
-
- .align 2
-gRefereeStringsTable:: @ 85CD1C8
- .4byte gText_RefIfNothingIsDecided
- .4byte gText_RefThatsIt
- .4byte gText_RefJudgeMind
- .4byte gText_RefJudgeSkill
- .4byte gText_RefJudgeBody
- .4byte gText_RefJudgement1
- .4byte gText_RefJudgement2
- .4byte gText_RefJudgement3
- .4byte gText_RefCommenceBattle
-
-gText_QuestionForfeitMatch:: @ 85CD1EC
- .string "Would you like to forfeit the match\nand quit now?$"
-
-gText_ForfeitedMatch:: @ 85CD21E
- .string "{STRING 35} forfeited the match!$"
-
-gText_String37:: @ 85CD236
- .string "{STRING 37}$"
-
-gText_String49:: @ 85CD239
- .string "{STRING 49}$"
-
- .string "{PLAY_SE 0x0011}{STRING 28} {STRING 29} fled!$"
-
-gText_PlayerLostAgainst2:: @ 85CD24C
- .string "Player lost against\n{STRING 28} {STRING 29}!$"
-
-gText_PlayerBattledToDraw2:: @ 85CD267
- .string "Player battled to a draw against\n{STRING 28} {STRING 29}!$"
-
-gText_RecordBattleToPass:: @ 85CD28F
- .string "Would you like to record your battle\non your FRONTIER PASS?$"
-
-gText_BattleRecordedOnPass:: @ 85CD2CB
- .string "{STRING 35}’s battle result was recorded\non the FRONTIER PASS.$"
-
-gText_TrainerWantsToBattle:: @ 85CD301
- .string "{STRING 32}\nwants to battle!{PAUSE 49}$"
-
-gText_TwoTrainersWantToBattle3:: @ 85CD318
- .string "{STRING 32} and {STRING 33}\nwant to battle!{PAUSE 49}$"
-
- .align 1
-gUnknown_085CD336:: @ 85CD336
- .2byte 0x000e, 0x0046, 0x004a, 0x006a, 0x006b, 0x006c, 0x006e, 0x006f
- .2byte 0x0079, 0x007b, 0x007d, 0x0094, 0x0096, 0x0097, 0x009b, 0x009c
- .2byte 0x009f, 0x00a4, 0x00aa, 0x00ad, 0x00b6, 0x00bf, 0x00cb, 0x00cd
- .2byte 0x00cf, 0x00d6, 0x00ed, 0x00f4, 0x00f5, 0x010a, 0x010f, 0x0112
- .2byte 0x0113, 0x011a, 0x0125, 0x0136, 0x013c, 0x0140, 0x0149, 0x014a
- .2byte 0x014e, 0x0154, 0x0000, 0x0064, 0x0069, 0x0075, 0x0085, 0x00af
- .2byte 0x010d, 0x0153, 0x0000, 0x0060, 0x0061, 0x0066, 0x0068, 0x008c
- .2byte 0x0090, 0x00a5, 0x00b8, 0x010c, 0x0111, 0x0118, 0x0119, 0x0129
- .2byte 0x012a, 0x012c, 0x0139, 0x015a, 0x015b, 0x0000, 0x0001, 0x000a
- .2byte 0x000b, 0x0011, 0x0013, 0x0014, 0x0015, 0x001e, 0x0023, 0x0025
- .2byte 0x0027, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, 0x0040, 0x0047
- .2byte 0x0051, 0x0059, 0x005a, 0x005b, 0x005c, 0x0067, 0x0076, 0x007a
- .2byte 0x0080, 0x0084, 0x008b, 0x0091, 0x00a3, 0x00a9, 0x00ab, 0x00ae
- .2byte 0x00c1, 0x00cc, 0x00d5, 0x00f9, 0x00fd, 0x00ff, 0x0100, 0x0103
- .2byte 0x0104, 0x0110, 0x011b, 0x0141, 0x0157, 0x0000
-
-gUnknown_085CD422:: @ 85CD422
- .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
-
- .align 2
-gUnknown_085CD42C:: @ 85CD42C
- .2byte 0x01ff, 0x0100, 0x0000, 0x0101, 0x060f, 0x0000, 0x01ff, 0x0101
- .2byte 0x0000, 0x0100, 0x060f, 0x0000, 0x01ee, 0x0100, 0x0000, 0x0d00
- .2byte 0x0f0e, 0x0000, 0x07ee, 0x0100, 0x0000, 0x0d00, 0x0f0e, 0x0000
- .2byte 0x07ee, 0x0100, 0x0000, 0x0d00, 0x0f0e, 0x0000, 0x07ee, 0x0100
- .2byte 0x0000, 0x0d00, 0x0f0e, 0x0000, 0x07ee, 0x0100, 0x0000, 0x0d00
- .2byte 0x0f0e, 0x0000, 0x07ee, 0x0100, 0x0000, 0x0c00, 0x0b0e, 0x0000
- .2byte 0x01ee, 0x0100, 0x0000, 0x0d00, 0x0f0e, 0x0000, 0x01ee, 0x0102
- .2byte 0x0000, 0x0c00, 0x0b0e, 0x0000, 0x07ee, 0x0100, 0x0000, 0x0d00
- .2byte 0x0f0e, 0x0000, 0x07ee, 0x0100, 0x0000, 0x0d00, 0x0f0e, 0x0000
- .2byte 0x01ee, 0x0100, 0x0000, 0x0d00, 0x0f0e, 0x0000, 0x01ee, 0x0100
- .2byte 0x0000, 0x0d00, 0x0f0e, 0x0000, 0x0100, 0x0120, 0x0000, 0x0100
- .2byte 0x0200, 0x0000, 0x01ee, 0x01ff, 0x0000, 0x0d00, 0x0f0e, 0x0000
- .2byte 0x01ee, 0x01ff, 0x0000, 0x0d00, 0x0f0e, 0x0000, 0x01ee, 0x01ff
- .2byte 0x0000, 0x0d00, 0x0f0e, 0x0000, 0x01ee, 0x01ff, 0x0000, 0x0d00
- .2byte 0x0f0e, 0x0000, 0x01ee, 0x01ff, 0x0000, 0x0d00, 0x0f0e, 0x0000
- .2byte 0x01ee, 0x01ff, 0x0000, 0x0d00, 0x0f0e, 0x0000, 0x0100, 0x01ff
- .2byte 0x0000, 0x0100, 0x0600, 0x0000, 0x0100, 0x01ff, 0x0000, 0x0100
- .2byte 0x0600, 0x0000, 0x0100, 0x01ff, 0x0000, 0x0100, 0x0600, 0x0000
-
- .align 2
-gUnknown_085CD54C:: @ 85C54C
- .2byte 0x01ff, 0x0100, 0x0000, 0x0101, 0x060f, 0x0000, 0x01ff, 0x0101
- .2byte 0x0000, 0x0100, 0x060f, 0x0000, 0x01ee, 0x0100, 0x0000, 0x0d00
- .2byte 0x0f0e, 0x0000, 0x07ee, 0x0100, 0x0000, 0x0d00, 0x0f0e, 0x0000
- .2byte 0x07ee, 0x0100, 0x0000, 0x0d00, 0x0f0e, 0x0000, 0x07ee, 0x0100
- .2byte 0x0000, 0x0d00, 0x0f0e, 0x0000, 0x07ee, 0x0100, 0x0000, 0x0d00
- .2byte 0x0f0e, 0x0000, 0x07ee, 0x0100, 0x0000, 0x0c00, 0x0b0e, 0x0000
- .2byte 0x01ee, 0x0100, 0x0000, 0x0d00, 0x0f0e, 0x0000, 0x01ee, 0x0102
- .2byte 0x0000, 0x0c00, 0x0b0e, 0x0000, 0x07ee, 0x0100, 0x0000, 0x0d00
- .2byte 0x0f0e, 0x0000, 0x07ee, 0x0100, 0x0000, 0x0d00, 0x0f0e, 0x0000
- .2byte 0x01ee, 0x0100, 0x0000, 0x0d00, 0x0f0e, 0x0000, 0x01ee, 0x0100
- .2byte 0x0000, 0x0d00, 0x0f0e, 0x0000, 0x0100, 0x0120, 0x0000, 0x0100
- .2byte 0x0200, 0x0000, 0x01ee, 0x01ff, 0x0000, 0x0100, 0x0f0e, 0x0000
- .2byte 0x01ee, 0x01ff, 0x0000, 0x0d00, 0x0f0e, 0x0000, 0x01ee, 0x01ff
- .2byte 0x0000, 0x0d00, 0x0f0e, 0x0000, 0x01ee, 0x01ff, 0x0000, 0x0d00
- .2byte 0x0f0e, 0x0000, 0x01ee, 0x01ff, 0x0000, 0x0d00, 0x0f0e, 0x0000
- .2byte 0x01ee, 0x01ff, 0x0000, 0x0d00, 0x0f0e, 0x0000, 0x01ee, 0x01ff
- .2byte 0x0000, 0x0d00, 0x0f0e, 0x0000, 0x0111, 0x0100, 0x0000, 0x0201
- .2byte 0x0301, 0x0000
-
- .align 2
-gUnknown_085CD660:: @ 85CD660
- .4byte gUnknown_085CD42C
- .4byte gUnknown_085CD54C
-
- .align 2
-gUnknown_085CD668:: @ 85CD668
- .byte 0x08, 0x04, 0x01, 0x00
diff --git a/data/bike.s b/data/bike.s
index 26bcc8745..ffb33e52b 100644
--- a/data/bike.s
+++ b/data/bike.s
@@ -5,19 +5,54 @@
.align 2, 0
gUnknown_0859744C:: @ 859744C
- .incbin "baserom.gba", 0x59744c, 0x10
+ .4byte sub_8119224
+ .4byte sub_8119238
+ .4byte sub_8119280
+ .4byte sub_8119344
+ .align 2
gUnknown_0859745C:: @ 859745C
- .incbin "baserom.gba", 0x59745c, 0xc
+ .4byte PlayerGoSpeed0
+ .4byte PlayerGoSpeed1
+ .4byte PlayerGoSpeed3
+ .align 2
gUnknown_08597468:: @ 8597468
- .incbin "baserom.gba", 0x597468, 0x34
+ .4byte sub_81197E4
+ .4byte sub_81197F4
+ .4byte sub_8119830
+ .4byte sub_81198C0
+ .4byte sub_81198FC
+ .4byte sub_8119938
+ .4byte sub_8119974
+ .4byte sub_81199B0
+ .4byte sub_8119A24
+ .4byte sub_8119A94
+ .4byte sub_8119AA4
+ .4byte sub_8119B34
+ .4byte sub_8119BC4
+ .align 2
gUnknown_0859749C:: @ 859749C
- .incbin "baserom.gba", 0x59749c, 0x1c
+ .4byte CheckMovementInputAcroBikeNormal
+ .4byte CheckMovementInputAcroBikeChangingDirection
+ .4byte CheckMovementInputAcroBikeStandingWheelie
+ .4byte CheckMovementInputAcroBikeBunnyHop
+ .4byte CheckMovementInputAcroBikeMovingWheelie
+ .4byte CheckMovementInputAcroBikeUnknownMode5
+ .4byte CheckMovementInputAcroBikeUnknownMode6
+ .align 2
gUnknown_085974B8:: @ 85974B8
- .incbin "baserom.gba", 0x5974b8, 0x8
+ .2byte 0x0001, 0x0002, 0x0004
+ .align 1
+gUnknown_085974BE:: @ 85974BE
+ .2byte 0x0004
+
+ .align 2
gUnknown_085974C0:: @ 85974C0
- .incbin "baserom.gba", 0x5974c0, 0x70
+ .4byte 0x00000001, 0x00000002, 0x0000000f, 0x0000000f, gUnknown_085974BE, gUnknown_085974BE, 0x00000001
+ .4byte 0x00000002, 0x00000002, 0x0000000f, 0x0000000f, gUnknown_085974BE, gUnknown_085974BE, 0x00000002
+ .4byte 0x00000003, 0x00000002, 0x0000000f, 0x0000000f, gUnknown_085974BE, gUnknown_085974BE, 0x00000003
+ .4byte 0x00000004, 0x00000002, 0x0000000f, 0x0000000f, gUnknown_085974BE, gUnknown_085974BE, 0x00000004
diff --git a/data/cable_club.s b/data/cable_club.s
index 4961cb1cc..f62b0b90a 100644
--- a/data/cable_club.s
+++ b/data/cable_club.s
@@ -4,8 +4,13 @@
.section .rodata
.align 2, 0
+ .align 2
gUnknown_08550594:: @ 8550594
- .incbin "baserom.gba", 0x550594, 0x8
+ window_template 0x00, 0x10, 0x0b, 0x0b, 0x02, 0x0f, 0x0125
+ .align 2
gUnknown_0855059C:: @ 855059C
- .incbin "baserom.gba", 0x55059c, 0x190
+ .4byte gText_BronzeCard
+ .4byte gText_CopperCard
+ .4byte gText_SilverCard
+ .4byte gText_GoldCard
diff --git a/data/data2b.s b/data/data2b.s
index 802399fca..2565f4c04 100644
--- a/data/data2b.s
+++ b/data/data2b.s
@@ -6,154 +6,4626 @@
.section .rodata
.align 2
+gUnknown_082FF1D8:: @ 82FF1D8
+ .incbin "graphics/link/minigame_digits.gbapal"
+ .align 2
+gUnknown_082FF1F8:: @ 82FF1F8
+ .incbin "graphics/link/minigame_digits.4bpp.lz"
-gUnknown_082FECFC:: @ 82FECFC
- .incbin "baserom.gba", 0x2fecfc, 0x40
+ .align 2
+gUnknown_082FF2B8:: @ 82FF2B8
+ .incbin "graphics/link/minigame_digits2.4bpp.lz"
-gUnknown_082FED3C:: @ 82FED3C
- .incbin "baserom.gba", 0x2fed3c, 0x1b4
+ .align 2
+gUnknown_082FF3A8:: @ 82FF3A8
+ .byte 0x00, 0x80, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00
+ .byte 0x00, 0x88, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00
+ .byte 0x00, 0x90, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00
+ .byte 0x00, 0x98, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00
-gUnknown_082FEEF0:: @ 82FEEF0
- .incbin "baserom.gba", 0x2feef0, 0x128
+ .align 2
+gUnknown_082FF3C8:: @ 82FF3C8
+ .byte 0x00, 0xa0, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00
+ .byte 0x00, 0xa8, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00
+ .byte 0x00, 0xb0, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00
+ .byte 0x00, 0xb8, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00
-gUnknown_082FF018:: @ 82FF018
- .incbin "baserom.gba", 0x2ff018, 0x2
+ .align 2
+gUnknown_082FF3E8:: @ 82FF3E8
+ .byte 0x00, 0xc0, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00
+ .byte 0x00, 0xc8, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00
+ .byte 0x00, 0xd0, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00
+ .byte 0x00, 0xd8, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00
-gUnknown_082FF01A:: @ 82FF01A
- .incbin "baserom.gba", 0x2ff01a, 0xe
+ .align 2
+gUnknown_082FF408:: @ 82FF408
+ .byte 0x00, 0xe0, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00
+ .byte 0x00, 0xe8, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00
+ .byte 0x00, 0xf0, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00
+ .byte 0x00, 0xf8, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00
-gUnknown_082FF028:: @ 82FF028
- .incbin "baserom.gba", 0x2ff028, 0x10
+ .align 2
+gUnknown_082FF428:: @ 82FF428
+ obj_frame_tiles gTrainerBackPic_Brendan, 0x0800
+ obj_frame_tiles gTrainerBackPic_Brendan + 0x0800, 0x0800
+ obj_frame_tiles gTrainerBackPic_Brendan + 0x1000, 0x0800
+ obj_frame_tiles gTrainerBackPic_Brendan + 0x1800, 0x0800
-gUnknown_082FF038:: @ 82FF038
- .incbin "baserom.gba", 0x2ff038, 0x10
+ .align 2
+gUnknown_082FF448:: @ 82FF448
+ obj_frame_tiles gTrainerBackPic_May, 0x0800
+ obj_frame_tiles gTrainerBackPic_May + 0x0800, 0x0800
+ obj_frame_tiles gTrainerBackPic_May + 0x1000, 0x0800
+ obj_frame_tiles gTrainerBackPic_May + 0x1800, 0x0800
-gUnknown_082FF048:: @ 82FF048
- .incbin "baserom.gba", 0x2ff048, 0x28
+ .align 2
+gUnknown_082FF468:: @ 82FF468
+ obj_frame_tiles gTrainerBackPic_Red, 0x0800
+ obj_frame_tiles gTrainerBackPic_Red + 0x0800, 0x0800
+ obj_frame_tiles gTrainerBackPic_Red + 0x1000, 0x0800
+ obj_frame_tiles gTrainerBackPic_Red + 0x1800, 0x0800
+ obj_frame_tiles gTrainerBackPic_Red + 0x2000, 0x0800
-gUnknown_082FF070:: @ 82FF070
- .incbin "baserom.gba", 0x2ff070, 0x10
+ .align 2
+gUnknown_082FF490:: @ 82FF490
+ obj_frame_tiles gTrainerBackPic_Leaf, 0x0800
+ obj_frame_tiles gTrainerBackPic_Leaf + 0x0800, 0x0800
+ obj_frame_tiles gTrainerBackPic_Leaf + 0x1000, 0x0800
+ obj_frame_tiles gTrainerBackPic_Leaf + 0x1800, 0x0800
+ obj_frame_tiles gTrainerBackPic_Leaf + 0x2000, 0x0800
-gUnknown_082FF080:: @ 82FF080
- .incbin "baserom.gba", 0x2ff080, 0x8
+ .align 2
+gUnknown_082FF4B8:: @ 82FF4B8
+ obj_frame_tiles gTrainerBackPic_RubySapphireBrendan, 0x0800
+ obj_frame_tiles gTrainerBackPic_RubySapphireBrendan + 0x0800, 0x0800
+ obj_frame_tiles gTrainerBackPic_RubySapphireBrendan + 0x1000, 0x0800
+ obj_frame_tiles gTrainerBackPic_RubySapphireBrendan + 0x1800, 0x0800
-gUnknown_082FF088:: @ 82FF088
- .incbin "baserom.gba", 0x2ff088, 0x18
+ .align 2
+gUnknown_082FF4D8:: @ 82FF4D8
+ obj_frame_tiles gTrainerBackPic_RubySapphireMay, 0x0800
+ obj_frame_tiles gTrainerBackPic_RubySapphireMay + 0x0800, 0x0800
+ obj_frame_tiles gTrainerBackPic_RubySapphireMay + 0x1000, 0x0800
+ obj_frame_tiles gTrainerBackPic_RubySapphireMay + 0x1800, 0x0800
-gUnknown_082FF0A0:: @ 82FF0A0
- .incbin "baserom.gba", 0x2ff0a0, 0x20
+ .align 2
+gUnknown_082FF4F8:: @ 82FF4F8
+ obj_frame_tiles gTrainerBackPic_Wally, 0x0800
+ obj_frame_tiles gTrainerBackPic_Wally + 0x0800, 0x0800
+ obj_frame_tiles gTrainerBackPic_Wally + 0x1000, 0x0800
+ obj_frame_tiles gTrainerBackPic_Wally + 0x1800, 0x0800
-gUnknown_082FF0C0:: @ 82FF0C0
- .incbin "baserom.gba", 0x2ff0c0, 0x20
+ .align 2
+gUnknown_082FF518:: @ 82FF518
+ obj_frame_tiles gTrainerBackPic_Steven, 0x0800
+ obj_frame_tiles gTrainerBackPic_Steven + 0x0800, 0x0800
+ obj_frame_tiles gTrainerBackPic_Steven + 0x1000, 0x0800
+ obj_frame_tiles gTrainerBackPic_Steven + 0x1800, 0x0800
-gUnknown_082FF0E0:: @ 82FF0E0
- .incbin "baserom.gba", 0x2ff0e0, 0x3
+ .align 2
+gAnimCmd_General_Frame0:: @ 82FF538
+ obj_image_anim_frame 0, 0
+ obj_image_anim_end
-gUnknown_082FF0E3:: @ 82FF0E3
- .incbin "baserom.gba", 0x2ff0e3, 0x5
+ .align 2
+AnimCmd_82FF540:: @ 82FF540
+ .2byte 0x0003, 0x0000, 0xffff, 0x0000
-gUnknown_082FF0E8:: @ 82FF0E8
- .incbin "baserom.gba", 0x2ff0e8, 0x8
+ .align 2
+gUnknown_082FF548:: @ 82FF548
+ .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-gUnknown_082FF0F0:: @ 82FF0F0
- .incbin "baserom.gba", 0x2ff0f0, 0x4
+ .align 2
+gUnknown_082FF558:: @ 82FF558
+ .2byte 0xff00, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-gUnknown_082FF0F4:: @ 82FF0F4
- .incbin "baserom.gba", 0x2ff0f4, 0x20
+ .align 2
+gUnknown_082FF568:: @ 82FF568
+ .2byte 0x0028, 0x0028, 0x0000, 0x0000, 0x0012, 0x0012, 0x0c00, 0x0000
+ .2byte 0x7fff, 0x0000, 0x0000, 0x0000
-gUnknown_082FF114:: @ 82FF114
- .incbin "baserom.gba", 0x2ff114, 0x4
+ .align 2
+gUnknown_082FF580:: @ 82FF580
+ .2byte 0xfffe, 0xfffe, 0x1200, 0x0000, 0xfff0, 0xfff0, 0x0f00, 0x0000
+ .2byte 0x7fff, 0x0000, 0x0000, 0x0000
-gUnknown_082FF118:: @ 82FF118
- .incbin "baserom.gba", 0x2ff118, 0x10
+ .align 2
+gUnknown_082FF598:: @ 82FF598
+ .2byte 0x00a0, 0x0100, 0x0000, 0x0000, 0x0004, 0x0000, 0x0800, 0x0000
+ .2byte 0xfffc, 0x0000, 0x0800, 0x0000, 0x7ffe, 0x0001, 0x0000, 0x0000
-gUnknown_082FF128:: @ 82FF128
- .incbin "baserom.gba", 0x2ff128, 0x50
+ .align 2
+gUnknown_082FF5B8:: @ 82FF5B8
+ .2byte 0x0002, 0x0002, 0x1400, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-gUnknown_082FF178:: @ 82FF178
- .incbin "baserom.gba", 0x2ff178, 0x50
+ .align 2
+gUnknown_082FF5C8:: @ 82FF5C8
+ .2byte 0xfffe, 0xfffe, 0x1400, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-gUnknown_082FF1C8:: @ 82FF1C8
- .incbin "baserom.gba", 0x2ff1c8, 0x10
+ .align 2
+gUnknown_082FF5D8:: @ 82FF5D8
+ .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0xfff0, 0xfff0, 0x0900, 0x0000
+ .2byte 0x7fff, 0x0000, 0x0000, 0x0000
-gUnknown_082FF1D8:: @ 82FF1D8
- .incbin "baserom.gba", 0x2ff1d8, 0x20
+ .align 2
+gUnknown_082FF5F0:: @ 82FF5F0
+ .2byte 0x0004, 0x0004, 0x3f00, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-gUnknown_082FF1F8:: @ 82FF1F8
- .incbin "baserom.gba", 0x2ff1f8, 0x420
+ .align 2
+gUnknown_082FF600:: @ 82FF600
+ .2byte 0x0000, 0x0000, 0x05fd, 0x0000, 0x0000, 0x0000, 0x0503, 0x0000
+ .2byte 0x7fff, 0x0000, 0x0000, 0x0000
+ .align 2
gUnknown_082FF618:: @ 82FF618
- .incbin "baserom.gba", 0x2ff618, 0x7c
+ .4byte gUnknown_082FF548
+ .4byte gUnknown_082FF568
+ .4byte gUnknown_082FF580
+ .4byte gUnknown_082FF598
+ .4byte gUnknown_082FF5B8
+ .4byte gUnknown_082FF5C8
+ .4byte gUnknown_082FF5F0
+ .4byte gUnknown_082FF600
+ .4byte gUnknown_082FF5D8
+
+ .align 2
+gUnknown_082FF63C:: @ 82FF63C
+ .2byte 0xfffc, 0xfffc, 0x3f04, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
+
+ .align 2
+gUnknown_082FF64C:: @ 82FF64C
+ .2byte 0x0000, 0x0000, 0x0503, 0x0000, 0x0000, 0x0000, 0x05fd, 0x0000
+ .2byte 0x7fff, 0x0000, 0x0000, 0x0000
+
+ .align 2
+gUnknown_082FF664:: @ 82FF664
+ .2byte 0x0000, 0x0000, 0x14fb, 0x0000, 0x0000, 0x0000, 0x1400, 0x0000
+ .2byte 0x0000, 0x0000, 0x1405, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
+ .align 2
+gUnknown_082FF684:: @ 82FF684
+ .2byte 0x0000, 0x0000, 0x6e09, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
+
+ .align 2
gUnknown_082FF694:: @ 82FF694
- .incbin "baserom.gba", 0x2ff694, 0x2c
+ .4byte gUnknown_082FF548
+ .4byte gUnknown_082FF568
+ .4byte gUnknown_082FF580
+ .4byte gUnknown_082FF598
+ .4byte gUnknown_082FF5B8
+ .4byte gUnknown_082FF5C8
+ .4byte gUnknown_082FF63C
+ .4byte gUnknown_082FF64C
+ .4byte gUnknown_082FF664
+ .4byte gUnknown_082FF5D8
+ .4byte gUnknown_082FF684
+ .align 2
gUnknown_082FF6C0:: @ 82FF6C0
- .incbin "baserom.gba", 0x2ff6c0, 0x4c
+ .4byte gUnknown_082FF558
+ .4byte gUnknown_082FF568
+ .4byte gUnknown_082FF580
+ .4byte gUnknown_082FF598
+ .4byte gUnknown_082FF5B8
+ .4byte gUnknown_082FF5C8
+ .4byte gUnknown_082FF63C
+ .4byte gUnknown_082FF64C
+ .4byte gUnknown_082FF664
+ .4byte gUnknown_082FF5D8
+ .4byte gUnknown_082FF684
+
+ .align 2
+gUnknown_082FF6EC:: @ 82FF6EC
+ .2byte 0x0000, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF6F4:: @ 82FF6F4
+ .2byte 0x0001, 0x0000, 0xffff, 0x0000
+ .align 2
+gUnknown_082FF6FC:: @ 82FF6FC
+ .2byte 0x0002, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF704:: @ 82FF704
+ .2byte 0x0003, 0x0000, 0xffff, 0x0000
+
+ .align 2
gUnknown_082FF70C:: @ 82FF70C
- .incbin "baserom.gba", 0x2ff70c, 0x162c
+ .4byte gUnknown_082FF6EC
+ .4byte gUnknown_082FF6F4
+ .4byte gUnknown_082FF6FC
+ .4byte gUnknown_082FF704
+
+ .align 2
+gUnknown_082FF71C:: @ 82FF71C
+ .2byte 0x0000, 0x0001, 0x0001, 0x0019, 0x0000, 0x0007, 0x0001, 0x0007
+ .2byte 0x0000, 0x0007, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF734:: @ 82FF734
+ .2byte 0x0000, 0x0001, 0x0002, 0x0008, 0x0000, 0x0008, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF744:: @ 82FF744
+ .2byte 0x0000, 0x000a, 0x0002, 0x000a, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF750:: @ 82FF750
+ .2byte 0x0000, 0x000a, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF758:: @ 82FF758
+ .2byte 0x0000, 0x0001, 0x0001, 0x0005, 0x0000, 0x0005, 0x0001, 0x0005
+ .2byte 0x0000, 0x0005, 0x0001, 0x0005, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF774:: @ 82FF774
+ .2byte 0x0000, 0x0001, 0x0002, 0x000c, 0x0000, 0x000e, 0x0002, 0x000c
+ .2byte 0x0000, 0x000e, 0x0002, 0x000c, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF790:: @ 82FF790
+ .2byte 0x0000, 0x000e, 0x0002, 0x000c, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF79C:: @ 82FF79C
+ .2byte 0x0000, 0x000a, 0x0001, 0x000a, 0x0000, 0x000a, 0x0001, 0x000a, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF7B0:: @ 82FF7B0
+ .2byte 0x0000, 0x000a, 0x0002, 0x000a, 0x0000, 0x000a, 0x0002, 0x000a, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF7C4:: @ 82FF7C4
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF7CC:: @ 82FF7CC
+ .2byte 0x0000, 0x0005, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF7D4:: @ 82FF7D4
+ .2byte 0x0000, 0x0005, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF7DC:: @ 82FF7DC
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF7E4:: @ 82FF7E4
+ .2byte 0x0001, 0x0001, 0xffff, 0x0000
+ .align 2
+gUnknown_082FF7EC:: @ 82FF7EC
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF7F4:: @ 82FF7F4
+ .2byte 0x0001, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF7FC:: @ 82FF7FC
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF804:: @ 82FF804
+ .2byte 0x0001, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF80C:: @ 82FF80C
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF814:: @ 82FF814
+ .2byte 0x0001, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF81C:: @ 82FF81C
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF824:: @ 82FF824
+ .2byte 0x0001, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF82C:: @ 82FF82C
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF834:: @ 82FF834
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF83C:: @ 82FF83C
+ .2byte 0x0001, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF844:: @ 82FF844
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF84C:: @ 82FF84C
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF854:: @ 82FF854
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF85C:: @ 82FF85C
+ .2byte 0x0001, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF864:: @ 82FF864
+ .2byte 0x0000, 0x0005, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF86C:: @ 82FF86C
+ .2byte 0x0000, 0x0005, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF874:: @ 82FF874
+ .2byte 0x0000, 0x0005, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF87C:: @ 82FF87C
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF884:: @ 82FF884
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF88C:: @ 82FF88C
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF894:: @ 82FF894
+ .2byte 0x0001, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF89C:: @ 82FF89C
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF8A4:: @ 82FF8A4
+ .2byte 0x0001, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF8AC:: @ 82FF8AC
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF8B4:: @ 82FF8B4
+ .2byte 0x0001, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF8BC:: @ 82FF8BC
+ .2byte 0x0000, 0x000f, 0x0008, 0x000f, 0x0002, 0x0016, 0x0008, 0x0005
+ .2byte 0x0003, 0x0008, 0x0004, 0x0005, 0x0006, 0x0005, 0x0004, 0x0005
+ .2byte 0x0006, 0x0005, 0x0004, 0x0005, 0x0006, 0x0005, 0x0004, 0x0005
+ .2byte 0x0006, 0x0005, 0x0005, 0x0005, 0x0007, 0x0005, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF8FC:: @ 82FF8FC
+ .2byte 0x0000, 0x000a, 0x0008, 0x000f, 0x0002, 0x000f, 0x0008, 0x000f
+ .2byte 0x0009, 0x000f, 0x0000, 0x000a, 0x0009, 0x000a, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF91C:: @ 82FF91C
+ .2byte 0x0000, 0x000a, 0x0009, 0x000a, 0x0000, 0x000a, 0x000a, 0x0014, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF930:: @ 82FF930
+ .2byte 0x0000, 0x000f, 0x000b, 0x000f, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF93C:: @ 82FF93C
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF944:: @ 82FF944
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF94C:: @ 82FF94C
+ .2byte 0x0000, 0x000a, 0x0001, 0x0007, 0x0002, 0x0007, 0x0003, 0x0004
+ .2byte 0x0004, 0x0004, 0x0003, 0x0004, 0x0004, 0x0004, 0x0003, 0x0004
+ .2byte 0x0004, 0x0004, 0x0003, 0x0004, 0x0001, 0x0006, 0x0005, 0x0002
+ .2byte 0x0000, 0x0002, 0x0005, 0x0002, 0x0000, 0x0002, 0x0005, 0x0002
+ .2byte 0x0006, 0x0002, 0x0005, 0x0002, 0x0006, 0x0002, 0x0006, 0x000a
+ .2byte 0x0005, 0x0004, 0x0000, 0x000a, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FF9A8:: @ 82FF9A8
+ .2byte 0x0000, 0x000c, 0x0007, 0x000c, 0x0008, 0x000c, 0x0000, 0x000c
+ .2byte 0x0007, 0x000c, 0x0008, 0x000c, 0x0000, 0x000c, 0x0007, 0x000c
+ .2byte 0x0008, 0x000c, 0x0000, 0x000c, 0x0007, 0x000c, 0x0008, 0x000c
+ .2byte 0x0000, 0x000c, 0x0007, 0x000c, 0x0008, 0x000c, 0x0009, 0x0003
+ .2byte 0x0000, 0x0003, 0x0009, 0x0003, 0x0000, 0x0003, 0x0007, 0x000c
+ .2byte 0x0008, 0x000c, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFA00:: @ 82FFA00
+ .2byte 0x0000, 0x000c, 0x0007, 0x000c, 0x0008, 0x000c, 0x0000, 0x000c
+ .2byte 0x0007, 0x000c, 0x0008, 0x000c, 0x0000, 0x000c, 0x0007, 0x000c
+ .2byte 0x0008, 0x000c, 0x0000, 0x000c, 0x0007, 0x000c, 0x0008, 0x000c
+ .2byte 0x0000, 0x000c, 0x0007, 0x000c, 0x0008, 0x000c, 0x0009, 0x0003
+ .2byte 0x0000, 0x0003, 0x0009, 0x0003, 0x0000, 0x0003, 0x0007, 0x000c
+ .2byte 0x0008, 0x000c, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFA58:: @ 82FFA58
+ .2byte 0x0000, 0x0012, 0x000a, 0x0012, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFA64:: @ 82FFA64
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFA6C:: @ 82FFA6C
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFA74:: @ 82FFA74
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFA7C:: @ 82FFA7C
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFA84:: @ 82FFA84
+ .2byte 0x0001, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFA8C:: @ 82FFA8C
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFA94:: @ 82FFA94
+ .2byte 0x0001, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFA9C:: @ 82FFA9C
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFAA4:: @ 82FFAA4
+ .2byte 0x0001, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFAAC:: @ 82FFAAC
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFAB4:: @ 82FFAB4
+ .2byte 0x0001, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFABC:: @ 82FFABC
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFAC4:: @ 82FFAC4
+ .2byte 0x0001, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFACC:: @ 82FFACC
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFAD4:: @ 82FFAD4
+ .2byte 0x0001, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFADC:: @ 82FFADC
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFAE4:: @ 82FFAE4
+ .2byte 0x0000, 0x003f, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFAEC:: @ 82FFAEC
+ .2byte 0x0000, 0x003f, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFAF4:: @ 82FFAF4
+ .2byte 0x0000, 0x003f, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFAFC:: @ 82FFAFC
+ .2byte 0x0000, 0x003f, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFB04:: @ 82FFB04
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFB0C:: @ 82FFB0C
+ .2byte 0x0001, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFB14:: @ 82FFB14
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFB1C:: @ 82FFB1C
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFB24:: @ 82FFB24
+ .2byte 0x0001, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFB2C:: @ 82FFB2C
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFB34:: @ 82FFB34
+ .2byte 0x0000, 0x0005, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFB3C:: @ 82FFB3C
+ .2byte 0x0000, 0x0005, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFB44:: @ 82FFB44
+ .2byte 0x0000, 0x0001, 0x0001, 0x0012, 0x0000, 0x0012, 0x0001, 0x0012
+ .2byte 0x0000, 0x0012, 0x0001, 0x0012, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFB60:: @ 82FFB60
+ .2byte 0x0000, 0x0001, 0x0002, 0x0012, 0x0000, 0x0012, 0x0002, 0x0012
+ .2byte 0x0000, 0x0012, 0x0002, 0x0012, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFB7C:: @ 82FFB7C
+ .2byte 0x0000, 0x0005, 0x0002, 0x0005, 0x0003, 0x0006, 0x0001, 0x0005
+ .2byte 0x0000, 0x0005, 0x0002, 0x0005, 0x0003, 0x0005, 0x0001, 0x0005
+ .2byte 0x0000, 0x0005, 0x0001, 0x0007, 0x0000, 0x0004, 0x0004, 0x0004
+ .2byte 0x0000, 0x0004, 0x0004, 0x0004, 0x0000, 0x0014, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFBBC:: @ 82FFBBC
+ .2byte 0x0000, 0x0006, 0x0001, 0x0006, 0x0002, 0x0006, 0x0003, 0x0006
+ .2byte 0x0001, 0x0006, 0x0000, 0x0006, 0x0001, 0x0006, 0x0000, 0x001e
+ .2byte 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFBE0:: @ 82FFBE0
+ .2byte 0x0000, 0x000c, 0x0005, 0x000c, 0x0000, 0x000c, 0x0006, 0x000c, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFBF4:: @ 82FFBF4
+ .2byte 0x0007, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFBFC:: @ 82FFBFC
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFC04:: @ 82FFC04
+ .2byte 0x0001, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFC0C:: @ 82FFC0C
+ .2byte 0x0000, 0x003f, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFC14:: @ 82FFC14
+ .2byte 0x0000, 0x003f, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFC1C:: @ 82FFC1C
+ .2byte 0x0000, 0x003f, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFC24:: @ 82FFC24
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFC2C:: @ 82FFC2C
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFC34:: @ 82FFC34
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFC3C:: @ 82FFC3C
+ .2byte 0x0000, 0x0001, 0x0001, 0x000a, 0x0000, 0x000a, 0x0001, 0x000a
+ .2byte 0x0000, 0x000a, 0x0001, 0x000a, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFC58:: @ 82FFC58
+ .2byte 0x0000, 0x0001, 0x0002, 0x0008, 0x0000, 0x000c, 0x0002, 0x0008
+ .2byte 0x0000, 0x000c, 0x0002, 0x0008, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFC74:: @ 82FFC74
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFC7C:: @ 82FFC7C
+ .2byte 0x0000, 0x000a, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFC84:: @ 82FFC84
+ .2byte 0x0001, 0x0009, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFC8C:: @ 82FFC8C
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFC94:: @ 82FFC94
+ .2byte 0x0001, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFC9C:: @ 82FFC9C
+ .2byte 0x0000, 0x000a, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFCA4:: @ 82FFCA4
+ .2byte 0x0001, 0x000a, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFCAC:: @ 82FFCAC
+ .2byte 0x0000, 0x0005, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFCB4:: @ 82FFCB4
+ .2byte 0x0000, 0x0005, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFCBC:: @ 82FFCBC
+ .2byte 0x0000, 0x0005, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFCC4:: @ 82FFCC4
+ .2byte 0x0000, 0x0005, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFCCC:: @ 82FFCCC
+ .2byte 0x0000, 0x0005, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFCD4:: @ 82FFCD4
+ .2byte 0x0000, 0x0005, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFCDC:: @ 82FFCDC
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFCE4:: @ 82FFCE4
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFCEC:: @ 82FFCEC
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFCF4:: @ 82FFCF4
+ .2byte 0x0001, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFCFC:: @ 82FFCFC
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFD04:: @ 82FFD04
+ .2byte 0x0000, 0x0005, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFD0C:: @ 82FFD0C
+ .2byte 0x0000, 0x0005, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFD14:: @ 82FFD14
+ .2byte 0x0000, 0x0005, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFD1C:: @ 82FFD1C
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFD24:: @ 82FFD24
+ .2byte 0x0001, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFD2C:: @ 82FFD2C
+ .2byte 0x0002, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFD34:: @ 82FFD34
+ .2byte 0x0003, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFD3C:: @ 82FFD3C
+ .2byte 0x0000, 0x003f, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFD44:: @ 82FFD44
+ .2byte 0x0000, 0x003f, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFD4C:: @ 82FFD4C
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFD54:: @ 82FFD54
+ .2byte 0x0001, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFD5C:: @ 82FFD5C
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFD64:: @ 82FFD64
+ .2byte 0x0001, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFD6C:: @ 82FFD6C
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFD74:: @ 82FFD74
+ .2byte 0x0001, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFD7C:: @ 82FFD7C
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFD84:: @ 82FFD84
+ .2byte 0x0001, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFD8C:: @ 82FFD8C
+ .2byte 0x0000, 0x0014, 0x0001, 0x001e, 0x0000, 0x0014, 0x0001, 0x001e, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFDA0:: @ 82FFDA0
+ .2byte 0x0000, 0x0014, 0x0002, 0x0014, 0x0000, 0x0014, 0x0002, 0x0014, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFDB4:: @ 82FFDB4
+ .2byte 0x0000, 0x000a, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFDBC:: @ 82FFDBC
+ .2byte 0x0000, 0x000a, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFDC4:: @ 82FFDC4
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_082FFDCC:: @ 82FFDCC
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFDD0:: @ 82FFDD0
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFDD4:: @ 82FFDD4
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFDD8:: @ 82FFDD8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFDDC:: @ 82FFDDC
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFDE0:: @ 82FFDE0
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFDE4:: @ 82FFDE4
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFDE8:: @ 82FFDE8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFDEC:: @ 82FFDEC
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFDF0:: @ 82FFDF0
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFDF4:: @ 82FFDF4
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFDF8:: @ 82FFDF8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFDFC:: @ 82FFDFC
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE00:: @ 82FFE00
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE04:: @ 82FFE04
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE08:: @ 82FFE08
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE0C:: @ 82FFE0C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE10:: @ 82FFE10
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE14:: @ 82FFE14
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE18:: @ 82FFE18
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE1C:: @ 82FFE1C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE20:: @ 82FFE20
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE24:: @ 82FFE24
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE28:: @ 82FFE28
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE2C:: @ 82FFE2C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE30:: @ 82FFE30
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE34:: @ 82FFE34
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE38:: @ 82FFE38
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE3C:: @ 82FFE3C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE40:: @ 82FFE40
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE44:: @ 82FFE44
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE48:: @ 82FFE48
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE4C:: @ 82FFE4C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE50:: @ 82FFE50
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE54:: @ 82FFE54
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE58:: @ 82FFE58
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE5C:: @ 82FFE5C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE60:: @ 82FFE60
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE64:: @ 82FFE64
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE68:: @ 82FFE68
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE6C:: @ 82FFE6C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE70:: @ 82FFE70
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE74:: @ 82FFE74
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE78:: @ 82FFE78
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE7C:: @ 82FFE7C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE80:: @ 82FFE80
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE84:: @ 82FFE84
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE88:: @ 82FFE88
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE8C:: @ 82FFE8C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE90:: @ 82FFE90
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE94:: @ 82FFE94
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE98:: @ 82FFE98
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFE9C:: @ 82FFE9C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFEA0:: @ 82FFEA0
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFEA4:: @ 82FFEA4
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFEA8:: @ 82FFEA8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFEAC:: @ 82FFEAC
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFEB0:: @ 82FFEB0
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFEB4:: @ 82FFEB4
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFEB8:: @ 82FFEB8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFEBC:: @ 82FFEBC
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFEC0:: @ 82FFEC0
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFEC4:: @ 82FFEC4
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFEC8:: @ 82FFEC8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFECC:: @ 82FFECC
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFED0:: @ 82FFED0
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFED4:: @ 82FFED4
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFED8:: @ 82FFED8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFEDC:: @ 82FFEDC
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFEE0:: @ 82FFEE0
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFEE4:: @ 82FFEE4
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFEE8:: @ 82FFEE8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFEEC:: @ 82FFEEC
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFEF0:: @ 82FFEF0
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFEF4:: @ 82FFEF4
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFEF8:: @ 82FFEF8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFEFC:: @ 82FFEFC
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF00:: @ 82FFF00
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF04:: @ 82FFF04
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF08:: @ 82FFF08
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF0C:: @ 82FFF0C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF10:: @ 82FFF10
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF14:: @ 82FFF14
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF18:: @ 82FFF18
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF1C:: @ 82FFF1C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF20:: @ 82FFF20
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF24:: @ 82FFF24
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF28:: @ 82FFF28
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF2C:: @ 82FFF2C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF30:: @ 82FFF30
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF34:: @ 82FFF34
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF38:: @ 82FFF38
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF3C:: @ 82FFF3C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF40:: @ 82FFF40
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF44:: @ 82FFF44
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF48:: @ 82FFF48
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF4C:: @ 82FFF4C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF50:: @ 82FFF50
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF54:: @ 82FFF54
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF58:: @ 82FFF58
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF5C:: @ 82FFF5C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF60:: @ 82FFF60
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF64:: @ 82FFF64
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF68:: @ 82FFF68
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF6C:: @ 82FFF6C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF70:: @ 82FFF70
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF74:: @ 82FFF74
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF78:: @ 82FFF78
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF7C:: @ 82FFF7C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF80:: @ 82FFF80
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF84:: @ 82FFF84
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF88:: @ 82FFF88
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF8C:: @ 82FFF8C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF90:: @ 82FFF90
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF94:: @ 82FFF94
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF98:: @ 82FFF98
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFF9C:: @ 82FFF9C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFFA0:: @ 82FFFA0
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFFA4:: @ 82FFFA4
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFFA8:: @ 82FFFA8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFFAC:: @ 82FFFAC
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFFB0:: @ 82FFFB0
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFFB4:: @ 82FFFB4
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFFB8:: @ 82FFFB8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFFBC:: @ 82FFFBC
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFFC0:: @ 82FFFC0
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFFC4:: @ 82FFFC4
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFFC8:: @ 82FFFC8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFFCC:: @ 82FFFCC
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFFD0:: @ 82FFFD0
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFFD4:: @ 82FFFD4
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFFD8:: @ 82FFFD8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFFDC:: @ 82FFFDC
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFFE0:: @ 82FFFE0
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFFE4:: @ 82FFFE4
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFFE8:: @ 82FFFE8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFFEC:: @ 82FFFEC
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFFF0:: @ 82FFFF0
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFFF4:: @ 82FFFF4
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFFF8:: @ 82FFFF8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_082FFFFC:: @ 82FFFFC
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300000:: @ 8300000
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300004:: @ 8300004
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300008:: @ 8300008
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830000C:: @ 830000C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300010:: @ 8300010
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300014:: @ 8300014
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300018:: @ 8300018
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830001C:: @ 830001C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300020:: @ 8300020
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300024:: @ 8300024
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300028:: @ 8300028
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830002C:: @ 830002C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300030:: @ 8300030
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300034:: @ 8300034
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300038:: @ 8300038
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830003C:: @ 830003C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300040:: @ 8300040
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300044:: @ 8300044
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300048:: @ 8300048
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830004C:: @ 830004C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300050:: @ 8300050
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300054:: @ 8300054
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300058:: @ 8300058
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830005C:: @ 830005C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300060:: @ 8300060
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300064:: @ 8300064
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300068:: @ 8300068
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830006C:: @ 830006C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300070:: @ 8300070
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300074:: @ 8300074
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300078:: @ 8300078
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830007C:: @ 830007C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300080:: @ 8300080
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300084:: @ 8300084
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300088:: @ 8300088
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830008C:: @ 830008C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300090:: @ 8300090
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300094:: @ 8300094
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300098:: @ 8300098
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830009C:: @ 830009C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083000A0:: @ 83000A0
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083000A4:: @ 83000A4
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083000A8:: @ 83000A8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083000AC:: @ 83000AC
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083000B0:: @ 83000B0
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083000B4:: @ 83000B4
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083000B8:: @ 83000B8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083000BC:: @ 83000BC
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083000C0:: @ 83000C0
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083000C4:: @ 83000C4
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083000C8:: @ 83000C8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083000CC:: @ 83000CC
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083000D0:: @ 83000D0
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083000D4:: @ 83000D4
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083000D8:: @ 83000D8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083000DC:: @ 83000DC
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083000E0:: @ 83000E0
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083000E4:: @ 83000E4
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083000E8:: @ 83000E8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083000EC:: @ 83000EC
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083000F0:: @ 83000F0
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083000F4:: @ 83000F4
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083000F8:: @ 83000F8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083000FC:: @ 83000FC
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300100:: @ 8300100
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300104:: @ 8300104
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300108:: @ 8300108
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830010C:: @ 830010C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300110:: @ 8300110
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300114:: @ 8300114
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300118:: @ 8300118
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830011C:: @ 830011C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300120:: @ 8300120
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300124:: @ 8300124
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300128:: @ 8300128
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830012C:: @ 830012C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300130:: @ 8300130
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300134:: @ 8300134
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300138:: @ 8300138
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830013C:: @ 830013C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300140:: @ 8300140
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300144:: @ 8300144
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300148:: @ 8300148
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830014C:: @ 830014C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300150:: @ 8300150
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300154:: @ 8300154
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300158:: @ 8300158
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830015C:: @ 830015C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300160:: @ 8300160
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300164:: @ 8300164
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300168:: @ 8300168
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830016C:: @ 830016C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300170:: @ 8300170
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300174:: @ 8300174
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300178:: @ 8300178
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830017C:: @ 830017C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300180:: @ 8300180
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300184:: @ 8300184
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300188:: @ 8300188
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830018C:: @ 830018C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300190:: @ 8300190
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300194:: @ 8300194
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300198:: @ 8300198
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830019C:: @ 830019C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083001A0:: @ 83001A0
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083001A4:: @ 83001A4
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083001A8:: @ 83001A8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083001AC:: @ 83001AC
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083001B0:: @ 83001B0
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083001B4:: @ 83001B4
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083001B8:: @ 83001B8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083001BC:: @ 83001BC
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083001C0:: @ 83001C0
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083001C4:: @ 83001C4
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083001C8:: @ 83001C8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083001CC:: @ 83001CC
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083001D0: @ 83001D0
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083001D4:: @ 83001D4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FF71C
+ .4byte gUnknown_082FF734
+ .4byte gUnknown_082FF744
+ .4byte gUnknown_082FF750
+
+ .align 2
+gUnknown_083001E8:: @ 83001E8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083001EC:: @ 83001EC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FF758
+ .4byte gUnknown_082FF774
+ .4byte gUnknown_082FF790
+
+ .align 2
+gUnknown_083001FC:: @ 83001FC
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300200:: @ 8300200
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FF79C
+ .4byte gUnknown_082FF7B0
+
+ .align 2
+gUnknown_0830020C:: @ 830020C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FF7C4
+
+ .align 2
+gUnknown_08300214:: @ 8300214
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FF7CC
+
+ .align 2
+gUnknown_0830021C:: @ 830021C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FF7D4
+
+ .align 2
+gUnknown_08300224:: @ 8300224
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FF7DC
+ .4byte gUnknown_082FF7E4
+
+ .align 2
+gUnknown_08300230:: @ 8300230
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FF7EC
+ .4byte gUnknown_082FF7F4
+
+ .align 2
+gUnknown_0830023C:: @ 830023C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FF7FC
+ .4byte gUnknown_082FF804
+
+ .align 2
+gUnknown_08300248:: @ 8300248
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FF80C
+ .4byte gUnknown_082FF814
+
+ .align 2
+gUnknown_08300254:: @ 8300254
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FF81C
+ .4byte gUnknown_082FF824
+
+ .align 2
+gUnknown_08300260:: @ 8300260
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300264:: @ 8300264
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FF82C
+
+ .align 2
+gUnknown_0830026C:: @ 830026C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FF834
+ .4byte gUnknown_082FF83C
+
+ .align 2
+gUnknown_08300278:: @ 8300278
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FF844
+
+ .align 2
+gUnknown_08300280:: @ 8300280
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FF84C
+
+ .align 2
+gUnknown_08300288:: @ 8300288
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FF854
+ .4byte gUnknown_082FF85C
+
+ .align 2
+gUnknown_08300294:: @ 8300294
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300298:: @ 8300298
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830029C:: @ 830029C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083002A0:: @ 83002A0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FF864
+
+ .align 2
+gUnknown_083002A8:: @ 83002A8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FF86C
+
+ .align 2
+gUnknown_083002B0:: @ 83002B0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FF874
+
+ .align 2
+gUnknown_083002B8:: @ 83002B8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FF87C
+
+ .align 2
+gUnknown_083002C0:: @ 83002C0
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083002C4:: @ 83002C4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FF884
+
+ .align 2
+gUnknown_083002CC:: @ 83002CC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FF88C
+ .4byte gUnknown_082FF894
+
+ .align 2
+gUnknown_083002D8:: @ 83002D8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FF89C
+ .4byte gUnknown_082FF8A4
+
+ .align 2
+gUnknown_083002E4:: @ 83002E4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FF8AC
+ .4byte gUnknown_082FF8B4
+
+ .align 2
+gUnknown_083002F0:: @ 83002F0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FF8BC
+ .4byte gUnknown_082FF8FC
+ .4byte gUnknown_082FF91C
+ .4byte gUnknown_082FF930
+
+ .align 2
+gUnknown_08300304:: @ 8300304
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300308:: @ 8300308
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FF93C
+
+ .align 2
+gUnknown_08300310:: @ 8300310
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FF944
+
+ .align 2
+gUnknown_08300318:: @ 8300318
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FF94C
+ .4byte gUnknown_082FF9A8
+ .4byte gUnknown_082FFA00
+ .4byte gUnknown_082FFA58
+
+ .align 2
+gUnknown_0830032C:: @ 830032C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFA64
+
+ .align 2
+gUnknown_08300334:: @ 8300334
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFA6C
+
+ .align 2
+gUnknown_0830033C:: @ 830033C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFA74
+
+ .align 2
+gUnknown_08300344:: @ 8300344
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300348:: @ 8300348
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFA7C
+ .4byte gUnknown_082FFA84
+
+ .align 2
+gUnknown_08300354:: @ 8300354
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300358:: @ 8300358
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830035C:: @ 830035C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFA8C
+ .4byte gUnknown_082FFA94
+
+ .align 2
+gUnknown_08300368:: @ 8300368
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830036C:: @ 830036C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300370:: @ 8300370
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFA9C
+ .4byte gUnknown_082FFAA4
+
+ .align 2
+gUnknown_0830037C:: @ 830037C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFAAC
+ .4byte gUnknown_082FFAB4
+
+ .align 2
+gUnknown_08300388:: @ 8300388
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFABC
+ .4byte gUnknown_082FFAC4
+
+ .align 2
+gUnknown_08300394:: @ 8300394
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFACC
+ .4byte gUnknown_082FFAD4
+
+ .align 2
+gUnknown_083003A0:: @ 83003A0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFADC
+
+ .align 2
+gUnknown_083003A8:: @ 83003A8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFAE4
+
+ .align 2
+gUnknown_083003B0:: @ 83003B0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFAEC
+
+ .align 2
+gUnknown_083003B8:: @ 83003B8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFAF4
+
+ .align 2
+gUnknown_083003C0:: @ 83003C0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFAFC
+
+ .align 2
+gUnknown_083003C8:: @ 83003C8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFB04
+ .4byte gUnknown_082FFB0C
+
+ .align 2
+gUnknown_083003D4:: @ 83003D4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFB14
+
+ .align 2
+gUnknown_083003DC:: @ 83003DC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFB1C
+ .4byte gUnknown_082FFB24
+
+ .align 2
+gUnknown_083003E8:: @ 83003E8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFB2C
+
+ .align 2
+gUnknown_083003F0:: @ 83003F0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFB34
+
+ .align 2
+gUnknown_083003F8:: @ 83003F8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFB3C
+
+ .align 2
+gUnknown_08300400:: @ 8300400
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFB44
+ .4byte gUnknown_082FFB60
+
+ .align 2
+gUnknown_0830040C:: @ 830040C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300410:: @ 8300410
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300414:: @ 8300414
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300418:: @ 8300418
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830041C:: @ 830041C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300420:: @ 8300420
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300424:: @ 8300424
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFB7C
+ .4byte gUnknown_082FFBBC
+ .4byte gUnknown_082FFBE0
+ .4byte gUnknown_082FFBF4
+
+ .align 2
+gUnknown_08300438:: @ 8300438
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFBFC
+ .4byte gUnknown_082FFC04
+
+ .align 2
+gUnknown_08300444:: @ 8300444
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFC0C
+
+ .align 2
+gUnknown_0830044C:: @ 830044C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFC14
+
+ .align 2
+gUnknown_08300454:: @ 8300454
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFC1C
+
+ .align 2
+gUnknown_0830045C:: @ 830045C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFC24
+
+ .align 2
+gUnknown_08300464:: @ 8300464
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFC2C
+
+ .align 2
+gUnknown_0830046C:: @ 830046C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFC34
+
+ .align 2
+gUnknown_08300474:: @ 8300474
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFC3C
+ .4byte gUnknown_082FFC58
+
+ .align 2
+gUnknown_08300480:: @ 8300480
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFC74
+
+ .align 2
+gUnknown_08300488:: @ 8300488
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFC7C
+ .4byte gUnknown_082FFC84
+
+ .align 2
+gUnknown_08300494:: @ 8300494
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFC8C
+ .4byte gUnknown_082FFC94
+
+ .align 2
+gUnknown_083004A0:: @ 83004A0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFC9C
+ .4byte gUnknown_082FFCA4
+
+ .align 2
+gUnknown_083004AC:: @ 83004AC
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083004B0:: @ 83004B0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFCAC
+
+ .align 2
+gUnknown_083004B8:: @ 83004B8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFCB4
+
+ .align 2
+gUnknown_083004C0:: @ 83004C0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFCBC
+
+ .align 2
+gUnknown_083004C8:: @ 83004C8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFCC4
+
+ .align 2
+gUnknown_083004D0:: @ 83004D0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFCCC
+
+ .align 2
+gUnknown_083004D8:: @ 83004D8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFCD4
+
+ .align 2
+gUnknown_083004E0:: @ 83004E0
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083004E4:: @ 83004E4
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083004E8:: @ 83004E8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083004EC:: @ 83004EC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFCDC
+
+ .align 2
+gUnknown_083004F4:: @ 83004F4
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083004F8:: @ 83004F8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083004FC:: @ 83004FC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFCE4
+
+ .align 2
+gUnknown_08300504:: @ 8300504
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFCEC
+ .4byte gUnknown_082FFCF4
+
+ .align 2
+gUnknown_08300510:: @ 8300510
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFCFC
+
+ .align 2
+gUnknown_08300518:: @ 8300518
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830051C:: @ 830051C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300520:: @ 8300520
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300524:: @ 8300524
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFD04
+
+ .align 2
+gUnknown_0830052C:: @ 830052C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFD0C
+
+ .align 2
+gUnknown_08300534:: @ 8300534
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFD14
+
+ .align 2
+gUnknown_0830053C:: @ 830053C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFD1C
+ .4byte gUnknown_082FFD24
+ .4byte gUnknown_082FFD2C
+ .4byte gUnknown_082FFD34
+
+ .align 2
+gUnknown_08300550:: @ 8300550
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFD3C
+
+ .align 2
+gUnknown_08300558:: @ 8300558
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFD44
+
+ .align 2
+gUnknown_08300560:: @ 8300560
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300564:: @ 8300564
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300568:: @ 8300568
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830056C:: @ 830056C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300570:: @ 8300570
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300574:: @ 8300574
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300578:: @ 8300578
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830057C:: @ 830057C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFD4C
+ .4byte gUnknown_082FFD54
+
+ .align 2
+gUnknown_08300588:: @ 8300588
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830058C:: @ 830058C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFD5C
+ .4byte gUnknown_082FFD64
+
+ .align 2
+gUnknown_08300598:: @ 8300598
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830059C:: @ 830059C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083005A0:: @ 83005A0
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083005A4:: @ 83005A4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFD6C
+
+ .align 2
+gUnknown_083005AC:: @ 83005AC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFD74
+
+ .align 2
+gUnknown_083005B4:: @ 83005B4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFD7C
+ .4byte gUnknown_082FFD84
+
+ .align 2
+gUnknown_083005C0:: @ 83005C0
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083005C4:: @ 83005C4
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083005C8:: @ 83005C8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFD8C
+ .4byte gUnknown_082FFDA0
+
+ .align 2
+gUnknown_083005D4:: @ 83005D4
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083005D8:: @ 83005D8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083005DC:: @ 83005DC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_082FFDC4
+
+ .align 2
+gUnknown_083005E4:: @ 83005E4
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083005E8:: @ 83005E8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083005EC:: @ 83005EC
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083005F0:: @ 83005F0
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083005F4:: @ 83005F4
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083005F8:: @ 83005F8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083005FC:: @ 83005FC
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300600:: @ 8300600
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300604:: @ 8300604
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300608:: @ 8300608
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830060C:: @ 830060C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300610:: @ 8300610
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300614:: @ 8300614
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300618:: @ 8300618
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830061C:: @ 830061C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300620:: @ 8300620
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300624:: @ 8300624
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300628:: @ 8300628
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830062C:: @ 830062C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300630:: @ 8300630
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300634:: @ 8300634
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300638:: @ 8300638
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830063C:: @ 830063C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300640:: @ 8300640
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300644:: @ 8300644
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300648:: @ 8300648
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830064C:: @ 830064C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300650:: @ 8300650
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08300654:: @ 8300654
+ .4byte gAnimCmd_General_Frame0
+
+ .4byte gUnknown_082FFDCC
+ .4byte gUnknown_082FFDD0
+ .4byte gUnknown_082FFDD4
+ .4byte gUnknown_082FFDD8
+ .4byte gUnknown_082FFDDC
+ .4byte gUnknown_082FFDE0
+ .4byte gUnknown_082FFDE4
+ .4byte gUnknown_082FFDE8
+ .4byte gUnknown_082FFDEC
+ .4byte gUnknown_082FFDF0
+ .4byte gUnknown_082FFDF4
+ .4byte gUnknown_082FFDF8
+ .4byte gUnknown_082FFDFC
+ .4byte gUnknown_082FFE00
+ .4byte gUnknown_082FFE04
+ .4byte gUnknown_082FFE08
+ .4byte gUnknown_082FFE0C
+ .4byte gUnknown_082FFE10
+ .4byte gUnknown_082FFE14
+ .4byte gUnknown_082FFE18
+ .4byte gUnknown_082FFE1C
+ .4byte gUnknown_082FFE20
+ .4byte gUnknown_082FFE24
+ .4byte gUnknown_082FFE28
+ .4byte gUnknown_082FFE2C
+ .4byte gUnknown_082FFE30
+ .4byte gUnknown_082FFE34
+ .4byte gUnknown_082FFE38
+ .4byte gUnknown_082FFE3C
+ .4byte gUnknown_082FFE40
+ .4byte gUnknown_082FFE44
+ .4byte gUnknown_082FFE48
+ .4byte gUnknown_082FFE4C
+ .4byte gUnknown_082FFE50
+ .4byte gUnknown_082FFE54
+ .4byte gUnknown_082FFE58
+ .4byte gUnknown_082FFE5C
+ .4byte gUnknown_082FFE60
+ .4byte gUnknown_082FFE64
+ .4byte gUnknown_082FFE68
+ .4byte gUnknown_082FFE6C
+ .4byte gUnknown_082FFE70
+ .4byte gUnknown_082FFE74
+ .4byte gUnknown_082FFE78
+ .4byte gUnknown_082FFE7C
+ .4byte gUnknown_082FFE80
+ .4byte gUnknown_082FFE84
+ .4byte gUnknown_082FFE88
+ .4byte gUnknown_082FFE8C
+ .4byte gUnknown_082FFE90
+ .4byte gUnknown_082FFE94
+ .4byte gUnknown_082FFE98
+ .4byte gUnknown_082FFE9C
+ .4byte gUnknown_082FFEA0
+ .4byte gUnknown_082FFEA4
+ .4byte gUnknown_082FFEA8
+ .4byte gUnknown_082FFEAC
+ .4byte gUnknown_082FFEB0
+ .4byte gUnknown_082FFEB4
+ .4byte gUnknown_082FFEB8
+ .4byte gUnknown_082FFEBC
+ .4byte gUnknown_082FFEC0
+ .4byte gUnknown_082FFEC4
+ .4byte gUnknown_082FFEC8
+ .4byte gUnknown_082FFECC
+ .4byte gUnknown_082FFED0
+ .4byte gUnknown_082FFED4
+ .4byte gUnknown_082FFED8
+ .4byte gUnknown_082FFEDC
+ .4byte gUnknown_082FFEE0
+ .4byte gUnknown_082FFEE4
+ .4byte gUnknown_082FFEE8
+ .4byte gUnknown_082FFEEC
+ .4byte gUnknown_082FFEF0
+ .4byte gUnknown_082FFEF4
+ .4byte gUnknown_082FFEF8
+ .4byte gUnknown_082FFEFC
+ .4byte gUnknown_082FFF00
+ .4byte gUnknown_082FFF04
+ .4byte gUnknown_082FFF08
+ .4byte gUnknown_082FFF0C
+ .4byte gUnknown_082FFF10
+ .4byte gUnknown_082FFF14
+ .4byte gUnknown_082FFF18
+ .4byte gUnknown_082FFF1C
+ .4byte gUnknown_082FFF20
+ .4byte gUnknown_082FFF24
+ .4byte gUnknown_082FFF28
+ .4byte gUnknown_082FFF2C
+ .4byte gUnknown_082FFF30
+ .4byte gUnknown_082FFF34
+ .4byte gUnknown_082FFF38
+ .4byte gUnknown_082FFF3C
+ .4byte gUnknown_082FFF40
+ .4byte gUnknown_082FFF44
+ .4byte gUnknown_082FFF48
+ .4byte gUnknown_082FFF4C
+ .4byte gUnknown_082FFF50
+ .4byte gUnknown_082FFF54
+ .4byte gUnknown_082FFF58
+ .4byte gUnknown_082FFF5C
+ .4byte gUnknown_082FFF60
+ .4byte gUnknown_082FFF64
+ .4byte gUnknown_082FFF68
+ .4byte gUnknown_082FFF6C
+ .4byte gUnknown_082FFF70
+ .4byte gUnknown_082FFF74
+ .4byte gUnknown_082FFF78
+ .4byte gUnknown_082FFF7C
+ .4byte gUnknown_082FFF80
+ .4byte gUnknown_082FFF84
+ .4byte gUnknown_082FFF88
+ .4byte gUnknown_082FFF8C
+ .4byte gUnknown_082FFF90
+ .4byte gUnknown_082FFF94
+ .4byte gUnknown_082FFF98
+ .4byte gUnknown_082FFF9C
+ .4byte gUnknown_082FFFA0
+ .4byte gUnknown_082FFFA4
+ .4byte gUnknown_082FFFA8
+ .4byte gUnknown_082FFFAC
+ .4byte gUnknown_082FFFB0
+ .4byte gUnknown_082FFFB4
+ .4byte gUnknown_082FFFB8
+ .4byte gUnknown_082FFFBC
+ .4byte gUnknown_082FFFC0
+ .4byte gUnknown_082FFFC4
+ .4byte gUnknown_082FFFC8
+ .4byte gUnknown_082FFFCC
+ .4byte gUnknown_082FFFD0
+ .4byte gUnknown_082FFFD4
+ .4byte gUnknown_082FFFD8
+ .4byte gUnknown_082FFFDC
+ .4byte gUnknown_082FFFE0
+ .4byte gUnknown_082FFFE4
+ .4byte gUnknown_082FFFE8
+ .4byte gUnknown_082FFFEC
+ .4byte gUnknown_082FFFF0
+ .4byte gUnknown_082FFFF4
+ .4byte gUnknown_082FFFF8
+ .4byte gUnknown_082FFFFC
+ .4byte gUnknown_08300000
+ .4byte gUnknown_08300004
+ .4byte gUnknown_08300008
+ .4byte gUnknown_0830000C
+ .4byte gUnknown_08300010
+ .4byte gUnknown_08300014
+ .4byte gUnknown_08300018
+ .4byte gUnknown_0830001C
+ .4byte gUnknown_08300020
+ .4byte gUnknown_08300024
+ .4byte gUnknown_08300028
+ .4byte gUnknown_0830002C
+ .4byte gUnknown_08300030
+ .4byte gUnknown_08300034
+ .4byte gUnknown_08300038
+ .4byte gUnknown_0830003C
+ .4byte gUnknown_08300040
+ .4byte gUnknown_08300044
+ .4byte gUnknown_08300048
+ .4byte gUnknown_0830004C
+ .4byte gUnknown_08300050
+ .4byte gUnknown_08300054
+ .4byte gUnknown_08300058
+ .4byte gUnknown_0830005C
+ .4byte gUnknown_08300060
+ .4byte gUnknown_08300064
+ .4byte gUnknown_08300068
+ .4byte gUnknown_0830006C
+ .4byte gUnknown_08300070
+ .4byte gUnknown_08300074
+ .4byte gUnknown_08300078
+ .4byte gUnknown_0830007C
+ .4byte gUnknown_08300080
+ .4byte gUnknown_08300084
+ .4byte gUnknown_08300088
+ .4byte gUnknown_0830008C
+ .4byte gUnknown_08300090
+ .4byte gUnknown_08300094
+ .4byte gUnknown_08300098
+ .4byte gUnknown_0830009C
+ .4byte gUnknown_083000A0
+ .4byte gUnknown_083000A4
+ .4byte gUnknown_083000A8
+ .4byte gUnknown_083000AC
+ .4byte gUnknown_083000B0
+ .4byte gUnknown_083000B4
+ .4byte gUnknown_083000B8
+ .4byte gUnknown_083000BC
+ .4byte gUnknown_083000C0
+ .4byte gUnknown_083000C4
+ .4byte gUnknown_083000C8
+ .4byte gUnknown_083000CC
+ .4byte gUnknown_083000D0
+ .4byte gUnknown_083000D4
+ .4byte gUnknown_083000D8
+ .4byte gUnknown_083000DC
+ .4byte gUnknown_083000E0
+ .4byte gUnknown_083000E4
+ .4byte gUnknown_083000E8
+ .4byte gUnknown_083000EC
+ .4byte gUnknown_083000F0
+ .4byte gUnknown_083000F4
+ .4byte gUnknown_083000F8
+ .4byte gUnknown_083000FC
+ .4byte gUnknown_08300100
+ .4byte gUnknown_08300104
+ .4byte gUnknown_08300108
+ .4byte gUnknown_0830010C
+ .4byte gUnknown_08300110
+ .4byte gUnknown_08300114
+ .4byte gUnknown_08300118
+ .4byte gUnknown_0830011C
+ .4byte gUnknown_08300120
+ .4byte gUnknown_08300124
+ .4byte gUnknown_08300128
+ .4byte gUnknown_0830012C
+ .4byte gUnknown_08300130
+ .4byte gUnknown_08300134
+ .4byte gUnknown_08300138
+ .4byte gUnknown_0830013C
+ .4byte gUnknown_08300140
+ .4byte gUnknown_08300144
+ .4byte gUnknown_08300148
+ .4byte gUnknown_0830014C
+ .4byte gUnknown_08300150
+ .4byte gUnknown_08300154
+ .4byte gUnknown_08300158
+ .4byte gUnknown_0830015C
+ .4byte gUnknown_08300160
+ .4byte gUnknown_08300164
+ .4byte gUnknown_08300168
+ .4byte gUnknown_0830016C
+ .4byte gUnknown_08300170
+ .4byte gUnknown_08300174
+ .4byte gUnknown_08300178
+ .4byte gUnknown_0830017C
+ .4byte gUnknown_08300180
+ .4byte gUnknown_08300184
+ .4byte gUnknown_08300188
+ .4byte gUnknown_0830018C
+ .4byte gUnknown_08300190
+ .4byte gUnknown_08300194
+ .4byte gUnknown_08300198
+ .4byte gUnknown_0830019C
+ .4byte gUnknown_083001A0
+ .4byte gUnknown_083001A4
+ .4byte gUnknown_083001A8
+ .4byte gUnknown_083001AC
+ .4byte gUnknown_083001B0
+ .4byte gUnknown_083001B4
+ .4byte gUnknown_083001B8
+ .4byte gUnknown_083001BC
+ .4byte gUnknown_083001BC
+ .4byte gUnknown_083001BC
+ .4byte gUnknown_083001BC
+ .4byte gUnknown_083001BC
+ .4byte gUnknown_083001BC
+ .4byte gUnknown_083001BC
+ .4byte gUnknown_083001BC
+ .4byte gUnknown_083001BC
+ .4byte gUnknown_083001BC
+ .4byte gUnknown_083001BC
+ .4byte gUnknown_083001BC
+ .4byte gUnknown_083001BC
+ .4byte gUnknown_083001BC
+ .4byte gUnknown_083001BC
+ .4byte gUnknown_083001BC
+ .4byte gUnknown_083001BC
+ .4byte gUnknown_083001BC
+ .4byte gUnknown_083001BC
+ .4byte gUnknown_083001BC
+ .4byte gUnknown_083001BC
+ .4byte gUnknown_083001BC
+ .4byte gUnknown_083001BC
+ .4byte gUnknown_083001BC
+ .4byte gUnknown_083001BC
+ .4byte gUnknown_083001C0
+ .4byte gUnknown_083001C4
+ .4byte gUnknown_083001C8
+ .4byte gUnknown_083001CC
+ .4byte gUnknown_083001D0
+ .4byte gUnknown_083001D4
+ .4byte gUnknown_083001E8
+ .4byte gUnknown_083001EC
+ .4byte gUnknown_083001FC
+ .4byte gUnknown_08300200
+ .4byte gUnknown_0830020C
+ .4byte gUnknown_08300214
+ .4byte gUnknown_0830021C
+ .4byte gUnknown_08300224
+ .4byte gUnknown_08300230
+ .4byte gUnknown_0830023C
+ .4byte gUnknown_08300248
+ .4byte gUnknown_08300254
+ .4byte gUnknown_08300260
+ .4byte gUnknown_08300264
+ .4byte gUnknown_0830026C
+ .4byte gUnknown_08300278
+ .4byte gUnknown_08300280
+ .4byte gUnknown_08300288
+ .4byte gUnknown_08300294
+ .4byte gUnknown_08300298
+ .4byte gUnknown_0830029C
+ .4byte gUnknown_083002A0
+ .4byte gUnknown_083002A8
+ .4byte gUnknown_083002B0
+ .4byte gUnknown_083002B8
+ .4byte gUnknown_083002C0
+ .4byte gUnknown_083002C4
+ .4byte gUnknown_083002CC
+ .4byte gUnknown_083002D8
+ .4byte gUnknown_083002E4
+ .4byte gUnknown_083002F0
+ .4byte gUnknown_08300304
+ .4byte gUnknown_08300308
+ .4byte gUnknown_08300310
+ .4byte gUnknown_08300318
+ .4byte gUnknown_0830032C
+ .4byte gUnknown_08300334
+ .4byte gUnknown_0830033C
+ .4byte gUnknown_08300344
+ .4byte gUnknown_08300348
+ .4byte gUnknown_08300354
+ .4byte gUnknown_08300358
+ .4byte gUnknown_0830035C
+ .4byte gUnknown_08300368
+ .4byte gUnknown_0830036C
+ .4byte gUnknown_08300370
+ .4byte gUnknown_0830037C
+ .4byte gUnknown_08300388
+ .4byte gUnknown_08300394
+ .4byte gUnknown_083003A0
+ .4byte gUnknown_083003A8
+ .4byte gUnknown_083003B0
+ .4byte gUnknown_083003B8
+ .4byte gUnknown_083003C0
+ .4byte gUnknown_083003C8
+ .4byte gUnknown_083003D4
+ .4byte gUnknown_083003DC
+ .4byte gUnknown_083003E8
+ .4byte gUnknown_083003F0
+ .4byte gUnknown_083003F8
+ .4byte gUnknown_08300400
+ .4byte gUnknown_0830040C
+ .4byte gUnknown_08300410
+ .4byte gUnknown_08300414
+ .4byte gUnknown_08300418
+ .4byte gUnknown_0830041C
+ .4byte gUnknown_08300420
+ .4byte gUnknown_08300424
+ .4byte gUnknown_08300438
+ .4byte gUnknown_08300444
+ .4byte gUnknown_0830044C
+ .4byte gUnknown_08300454
+ .4byte gUnknown_0830045C
+ .4byte gUnknown_08300464
+ .4byte gUnknown_0830046C
+ .4byte gUnknown_08300474
+ .4byte gUnknown_08300480
+ .4byte gUnknown_08300488
+ .4byte gUnknown_08300494
+ .4byte gUnknown_083004A0
+ .4byte gUnknown_083004AC
+ .4byte gUnknown_083004B0
+ .4byte gUnknown_083004B8
+ .4byte gUnknown_083004C0
+ .4byte gUnknown_083004C8
+ .4byte gUnknown_083004D0
+ .4byte gUnknown_083004D8
+ .4byte gUnknown_083004E0
+ .4byte gUnknown_083004E4
+ .4byte gUnknown_083004E8
+ .4byte gUnknown_083004EC
+ .4byte gUnknown_083004F4
+ .4byte gUnknown_083004F8
+ .4byte gUnknown_083004FC
+ .4byte gUnknown_08300504
+ .4byte gUnknown_08300510
+ .4byte gUnknown_08300518
+ .4byte gUnknown_0830051C
+ .4byte gUnknown_08300520
+ .4byte gUnknown_08300524
+ .4byte gUnknown_0830052C
+ .4byte gUnknown_08300534
+ .4byte gUnknown_0830053C
+ .4byte gUnknown_08300550
+ .4byte gUnknown_08300558
+ .4byte gUnknown_08300560
+ .4byte gUnknown_08300564
+ .4byte gUnknown_08300568
+ .4byte gUnknown_0830056C
+ .4byte gUnknown_08300570
+ .4byte gUnknown_08300574
+ .4byte gUnknown_08300578
+ .4byte gUnknown_0830057C
+ .4byte gUnknown_08300588
+ .4byte gUnknown_0830058C
+ .4byte gUnknown_08300598
+ .4byte gUnknown_0830059C
+ .4byte gUnknown_083005A0
+ .4byte gUnknown_083005A4
+ .4byte gUnknown_083005AC
+ .4byte gUnknown_083005B4
+ .4byte gUnknown_083005C0
+ .4byte gUnknown_083005C4
+ .4byte gUnknown_083005C8
+ .4byte gUnknown_083005D4
+ .4byte gUnknown_083005D8
+ .4byte gUnknown_083005DC
+ .4byte gUnknown_083005E4
+ .4byte gUnknown_083005E8
+ .4byte gUnknown_083005EC
+ .4byte gUnknown_083005EC
+ .4byte gUnknown_083005F0
+ .4byte gUnknown_083005F4
+ .4byte gUnknown_083005F8
+ .4byte gUnknown_083005FC
+ .4byte gUnknown_08300600
+ .4byte gUnknown_08300604
+ .4byte gUnknown_08300608
+ .4byte gUnknown_0830060C
+ .4byte gUnknown_08300610
+ .4byte gUnknown_08300614
+ .4byte gUnknown_08300618
+ .4byte gUnknown_0830061C
+ .4byte gUnknown_08300620
+ .4byte gUnknown_08300624
+ .4byte gUnknown_08300628
+ .4byte gUnknown_0830062C
+ .4byte gUnknown_08300630
+ .4byte gUnknown_08300634
+ .4byte gUnknown_08300638
+ .4byte gUnknown_0830063C
+ .4byte gUnknown_08300640
+ .4byte gUnknown_08300644
+ .4byte gUnknown_08300648
+ .4byte gUnknown_0830064C
+ .4byte gUnknown_08300650
+ .4byte gUnknown_08300654
+
+ .align 2
gMonFrontPicCoords:: @ 8300D38
- .incbin "baserom.gba", 0x300d38, 0x6e0
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x45, 0x0e, 0x00, 0x00
+ .byte 0x56, 0x0a, 0x00, 0x00
+ .byte 0x88, 0x03, 0x00, 0x00
+ .byte 0x55, 0x0c, 0x00, 0x00
+ .byte 0x66, 0x09, 0x00, 0x00
+ .byte 0x88, 0x01, 0x00, 0x00
+ .byte 0x65, 0x0d, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x45, 0x10, 0x00, 0x00
+ .byte 0x54, 0x14, 0x00, 0x00
+ .byte 0x76, 0x09, 0x00, 0x00
+ .byte 0x54, 0x12, 0x00, 0x00
+ .byte 0x45, 0x0e, 0x00, 0x00
+ .byte 0x86, 0x09, 0x00, 0x00
+ .byte 0x65, 0x0d, 0x00, 0x00
+ .byte 0x67, 0x0b, 0x00, 0x00
+ .byte 0x88, 0x01, 0x00, 0x00
+ .byte 0x44, 0x10, 0x00, 0x00
+ .byte 0x66, 0x0b, 0x00, 0x00
+ .byte 0x45, 0x0f, 0x00, 0x00
+ .byte 0x78, 0x00, 0x00, 0x00
+ .byte 0x65, 0x0c, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x67, 0x09, 0x00, 0x00
+ .byte 0x67, 0x04, 0x00, 0x00
+ .byte 0x55, 0x0e, 0x00, 0x00
+ .byte 0x76, 0x09, 0x00, 0x00
+ .byte 0x45, 0x0f, 0x00, 0x00
+ .byte 0x66, 0x0b, 0x00, 0x00
+ .byte 0x78, 0x03, 0x00, 0x00
+ .byte 0x55, 0x0c, 0x00, 0x00
+ .byte 0x66, 0x09, 0x00, 0x00
+ .byte 0x78, 0x02, 0x00, 0x00
+ .byte 0x55, 0x10, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x65, 0x0c, 0x00, 0x00
+ .byte 0x88, 0x03, 0x00, 0x00
+ .byte 0x45, 0x10, 0x00, 0x00
+ .byte 0x67, 0x08, 0x00, 0x00
+ .byte 0x67, 0x06, 0x00, 0x00
+ .byte 0x88, 0x03, 0x00, 0x00
+ .byte 0x45, 0x0f, 0x00, 0x00
+ .byte 0x66, 0x0a, 0x00, 0x00
+ .byte 0x77, 0x06, 0x00, 0x00
+ .byte 0x55, 0x0f, 0x00, 0x00
+ .byte 0x86, 0x08, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x54, 0x12, 0x00, 0x00
+ .byte 0x75, 0x0d, 0x00, 0x00
+ .byte 0x55, 0x0c, 0x00, 0x00
+ .byte 0x77, 0x07, 0x00, 0x00
+ .byte 0x56, 0x09, 0x00, 0x00
+ .byte 0x78, 0x02, 0x00, 0x00
+ .byte 0x65, 0x0e, 0x00, 0x00
+ .byte 0x77, 0x07, 0x00, 0x00
+ .byte 0x66, 0x0b, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x74, 0x13, 0x00, 0x00
+ .byte 0x76, 0x0a, 0x00, 0x00
+ .byte 0x76, 0x08, 0x00, 0x00
+ .byte 0x66, 0x0b, 0x00, 0x00
+ .byte 0x77, 0x05, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x56, 0x0b, 0x00, 0x00
+ .byte 0x67, 0x06, 0x00, 0x00
+ .byte 0x88, 0x01, 0x00, 0x00
+ .byte 0x65, 0x0f, 0x00, 0x00
+ .byte 0x66, 0x0b, 0x00, 0x00
+ .byte 0x77, 0x05, 0x00, 0x00
+ .byte 0x46, 0x09, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x54, 0x12, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x77, 0x05, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x88, 0x01, 0x00, 0x00
+ .byte 0x66, 0x0b, 0x00, 0x00
+ .byte 0x86, 0x08, 0x00, 0x00
+ .byte 0x43, 0x15, 0x00, 0x00
+ .byte 0x76, 0x08, 0x00, 0x00
+ .byte 0x66, 0x09, 0x00, 0x00
+ .byte 0x57, 0x05, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x76, 0x0a, 0x00, 0x00
+ .byte 0x87, 0x07, 0x00, 0x00
+ .byte 0x65, 0x0c, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x55, 0x10, 0x00, 0x00
+ .byte 0x87, 0x05, 0x00, 0x00
+ .byte 0x77, 0x06, 0x00, 0x00
+ .byte 0x77, 0x05, 0x00, 0x00
+ .byte 0x77, 0x05, 0x00, 0x00
+ .byte 0x78, 0x02, 0x00, 0x00
+ .byte 0x77, 0x07, 0x00, 0x00
+ .byte 0x77, 0x04, 0x00, 0x00
+ .byte 0x65, 0x0d, 0x00, 0x00
+ .byte 0x88, 0x03, 0x00, 0x00
+ .byte 0x44, 0x13, 0x00, 0x00
+ .byte 0x55, 0x0e, 0x00, 0x00
+ .byte 0x87, 0x07, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x55, 0x0f, 0x00, 0x00
+ .byte 0x76, 0x0b, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x67, 0x04, 0x00, 0x00
+ .byte 0x86, 0x08, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x76, 0x09, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x76, 0x09, 0x00, 0x00
+ .byte 0x67, 0x07, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x45, 0x0f, 0x00, 0x00
+ .byte 0x67, 0x07, 0x00, 0x00
+ .byte 0x66, 0x0a, 0x00, 0x00
+ .byte 0x77, 0x04, 0x00, 0x00
+ .byte 0x66, 0x0a, 0x00, 0x00
+ .byte 0x77, 0x06, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x77, 0x04, 0x00, 0x00
+ .byte 0x78, 0x02, 0x00, 0x00
+ .byte 0x77, 0x04, 0x00, 0x00
+ .byte 0x77, 0x04, 0x00, 0x00
+ .byte 0x78, 0x00, 0x00, 0x00
+ .byte 0x67, 0x06, 0x00, 0x00
+ .byte 0x88, 0x08, 0x00, 0x00
+ .byte 0x85, 0x0d, 0x00, 0x00
+ .byte 0x54, 0x11, 0x00, 0x00
+ .byte 0x56, 0x09, 0x00, 0x00
+ .byte 0x67, 0x06, 0x00, 0x00
+ .byte 0x76, 0x09, 0x00, 0x00
+ .byte 0x66, 0x0a, 0x00, 0x00
+ .byte 0x55, 0x0d, 0x00, 0x00
+ .byte 0x45, 0x0f, 0x00, 0x00
+ .byte 0x67, 0x07, 0x00, 0x00
+ .byte 0x54, 0x11, 0x00, 0x00
+ .byte 0x88, 0x03, 0x00, 0x00
+ .byte 0x88, 0x01, 0x00, 0x00
+ .byte 0x87, 0x05, 0x00, 0x00
+ .byte 0x88, 0x03, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x75, 0x0e, 0x00, 0x00
+ .byte 0x87, 0x06, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x55, 0x0d, 0x00, 0x00
+ .byte 0x75, 0x0d, 0x00, 0x00
+ .byte 0x77, 0x04, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x55, 0x0e, 0x00, 0x00
+ .byte 0x76, 0x08, 0x00, 0x00
+ .byte 0x78, 0x00, 0x00, 0x00
+ .byte 0x55, 0x0f, 0x00, 0x00
+ .byte 0x67, 0x06, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x47, 0x04, 0x00, 0x00
+ .byte 0x67, 0x07, 0x00, 0x00
+ .byte 0x55, 0x0d, 0x00, 0x00
+ .byte 0x58, 0x03, 0x00, 0x00
+ .byte 0x56, 0x0c, 0x00, 0x00
+ .byte 0x67, 0x04, 0x00, 0x00
+ .byte 0x54, 0x13, 0x00, 0x00
+ .byte 0x87, 0x05, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x75, 0x10, 0x00, 0x00
+ .byte 0x87, 0x0b, 0x00, 0x00
+ .byte 0x45, 0x0c, 0x00, 0x00
+ .byte 0x44, 0x14, 0x00, 0x00
+ .byte 0x44, 0x12, 0x00, 0x00
+ .byte 0x34, 0x14, 0x00, 0x00
+ .byte 0x46, 0x09, 0x00, 0x00
+ .byte 0x44, 0x14, 0x00, 0x00
+ .byte 0x47, 0x07, 0x00, 0x00
+ .byte 0x55, 0x10, 0x00, 0x00
+ .byte 0x56, 0x0a, 0x00, 0x00
+ .byte 0x77, 0x05, 0x00, 0x00
+ .byte 0x45, 0x0e, 0x00, 0x00
+ .byte 0x65, 0x0e, 0x00, 0x00
+ .byte 0x76, 0x09, 0x00, 0x00
+ .byte 0x67, 0x06, 0x00, 0x00
+ .byte 0x67, 0x06, 0x00, 0x00
+ .byte 0x66, 0x0a, 0x00, 0x00
+ .byte 0x55, 0x0f, 0x00, 0x00
+ .byte 0x77, 0x07, 0x00, 0x00
+ .byte 0x58, 0x03, 0x00, 0x00
+ .byte 0x44, 0x10, 0x00, 0x00
+ .byte 0x56, 0x08, 0x00, 0x00
+ .byte 0x86, 0x0a, 0x00, 0x00
+ .byte 0x54, 0x10, 0x00, 0x00
+ .byte 0x77, 0x07, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x67, 0x08, 0x00, 0x00
+ .byte 0x66, 0x0b, 0x00, 0x00
+ .byte 0x58, 0x01, 0x00, 0x00
+ .byte 0x55, 0x0c, 0x00, 0x00
+ .byte 0x35, 0x0f, 0x00, 0x00
+ .byte 0x77, 0x06, 0x00, 0x00
+ .byte 0x88, 0x03, 0x00, 0x00
+ .byte 0x56, 0x0a, 0x00, 0x00
+ .byte 0x76, 0x09, 0x00, 0x00
+ .byte 0x74, 0x11, 0x00, 0x00
+ .byte 0x78, 0x03, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x55, 0x0d, 0x00, 0x00
+ .byte 0x57, 0x06, 0x00, 0x00
+ .byte 0x56, 0x0a, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x66, 0x09, 0x00, 0x00
+ .byte 0x88, 0x03, 0x00, 0x00
+ .byte 0x67, 0x05, 0x00, 0x00
+ .byte 0x45, 0x0d, 0x00, 0x00
+ .byte 0x78, 0x01, 0x00, 0x00
+ .byte 0x45, 0x0d, 0x00, 0x00
+ .byte 0x57, 0x0d, 0x00, 0x00
+ .byte 0x43, 0x14, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x65, 0x0c, 0x00, 0x00
+ .byte 0x55, 0x0e, 0x00, 0x00
+ .byte 0x66, 0x0a, 0x00, 0x00
+ .byte 0x56, 0x08, 0x00, 0x00
+ .byte 0x88, 0x01, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x56, 0x0b, 0x00, 0x00
+ .byte 0x77, 0x05, 0x00, 0x00
+ .byte 0x78, 0x04, 0x00, 0x00
+ .byte 0x54, 0x10, 0x00, 0x00
+ .byte 0x86, 0x08, 0x00, 0x00
+ .byte 0x55, 0x0f, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x77, 0x06, 0x00, 0x00
+ .byte 0x46, 0x09, 0x00, 0x00
+ .byte 0x67, 0x05, 0x00, 0x00
+ .byte 0x35, 0x0f, 0x00, 0x00
+ .byte 0x76, 0x0a, 0x00, 0x00
+ .byte 0x45, 0x0d, 0x00, 0x00
+ .byte 0x77, 0x04, 0x00, 0x00
+ .byte 0x77, 0x06, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x46, 0x09, 0x00, 0x00
+ .byte 0x56, 0x09, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x55, 0x0e, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x56, 0x08, 0x00, 0x00
+ .byte 0x88, 0x01, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x56, 0x0c, 0x00, 0x00
+ .byte 0x67, 0x06, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x55, 0x0c, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x85, 0x0f, 0x00, 0x00
+ .byte 0x78, 0x03, 0x00, 0x00
+ .byte 0x45, 0x0e, 0x00, 0x00
+ .byte 0x75, 0x11, 0x00, 0x00
+ .byte 0x86, 0x09, 0x00, 0x00
+ .byte 0x74, 0x10, 0x00, 0x00
+ .byte 0x86, 0x0f, 0x00, 0x00
+ .byte 0x65, 0x0e, 0x00, 0x00
+ .byte 0x66, 0x09, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x46, 0x10, 0x00, 0x00
+ .byte 0x56, 0x08, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x74, 0x12, 0x00, 0x00
+ .byte 0x86, 0x0a, 0x00, 0x00
+ .byte 0x66, 0x0a, 0x00, 0x00
+ .byte 0x64, 0x10, 0x00, 0x00
+ .byte 0x87, 0x06, 0x00, 0x00
+ .byte 0x54, 0x10, 0x00, 0x00
+ .byte 0x77, 0x04, 0x00, 0x00
+ .byte 0x68, 0x08, 0x00, 0x00
+ .byte 0x84, 0x18, 0x00, 0x00
+ .byte 0x77, 0x04, 0x00, 0x00
+ .byte 0x65, 0x0f, 0x00, 0x00
+ .byte 0x88, 0x01, 0x00, 0x00
+ .byte 0x75, 0x0f, 0x00, 0x00
+ .byte 0x87, 0x0a, 0x00, 0x00
+ .byte 0x66, 0x0b, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x67, 0x07, 0x00, 0x00
+ .byte 0x55, 0x10, 0x00, 0x00
+ .byte 0x78, 0x06, 0x00, 0x00
+ .byte 0x56, 0x0c, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x66, 0x09, 0x00, 0x00
+ .byte 0x46, 0x0b, 0x00, 0x00
+ .byte 0x76, 0x09, 0x00, 0x00
+ .byte 0x46, 0x18, 0x00, 0x00
+ .byte 0x66, 0x0c, 0x00, 0x00
+ .byte 0x88, 0x01, 0x00, 0x00
+ .byte 0x46, 0x0d, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x67, 0x06, 0x00, 0x00
+ .byte 0x78, 0x03, 0x00, 0x00
+ .byte 0x54, 0x10, 0x00, 0x00
+ .byte 0x86, 0x0c, 0x00, 0x00
+ .byte 0x88, 0x01, 0x00, 0x00
+ .byte 0x65, 0x0c, 0x00, 0x00
+ .byte 0x88, 0x01, 0x00, 0x00
+ .byte 0x64, 0x12, 0x00, 0x00
+ .byte 0x67, 0x04, 0x00, 0x00
+ .byte 0x65, 0x0f, 0x00, 0x00
+ .byte 0x87, 0x09, 0x00, 0x00
+ .byte 0x65, 0x10, 0x00, 0x00
+ .byte 0x86, 0x0a, 0x00, 0x00
+ .byte 0x88, 0x01, 0x00, 0x00
+ .byte 0x74, 0x10, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x56, 0x0b, 0x00, 0x00
+ .byte 0x76, 0x0a, 0x00, 0x00
+ .byte 0x66, 0x09, 0x00, 0x00
+ .byte 0x88, 0x01, 0x00, 0x00
+ .byte 0x55, 0x0f, 0x00, 0x00
+ .byte 0x46, 0x09, 0x00, 0x00
+ .byte 0x77, 0x05, 0x00, 0x00
+ .byte 0x56, 0x0e, 0x00, 0x00
+ .byte 0x66, 0x0c, 0x00, 0x00
+ .byte 0x76, 0x08, 0x00, 0x00
+ .byte 0x65, 0x0c, 0x00, 0x00
+ .byte 0x68, 0x01, 0x00, 0x00
+ .byte 0x76, 0x11, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x55, 0x0c, 0x00, 0x00
+ .byte 0x66, 0x0a, 0x00, 0x00
+ .byte 0x77, 0x05, 0x00, 0x00
+ .byte 0x76, 0x08, 0x00, 0x00
+ .byte 0x74, 0x12, 0x00, 0x00
+ .byte 0x78, 0x00, 0x00, 0x00
+ .byte 0x86, 0x08, 0x00, 0x00
+ .byte 0x55, 0x12, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x55, 0x0e, 0x00, 0x00
+ .byte 0x78, 0x03, 0x00, 0x00
+ .byte 0x88, 0x01, 0x00, 0x00
+ .byte 0x55, 0x0e, 0x00, 0x00
+ .byte 0x78, 0x03, 0x00, 0x00
+ .byte 0x86, 0x0b, 0x00, 0x00
+ .byte 0x68, 0x00, 0x00, 0x00
+ .byte 0x56, 0x0e, 0x00, 0x00
+ .byte 0x55, 0x0c, 0x00, 0x00
+ .byte 0x77, 0x08, 0x00, 0x00
+ .byte 0x87, 0x05, 0x00, 0x00
+ .byte 0x77, 0x0b, 0x00, 0x00
+ .byte 0x43, 0x14, 0x00, 0x00
+ .byte 0x75, 0x0d, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x34, 0x11, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x56, 0x08, 0x00, 0x00
+ .byte 0x67, 0x07, 0x00, 0x00
+ .byte 0x78, 0x00, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x35, 0x0f, 0x00, 0x00
+ .byte 0x47, 0x06, 0x00, 0x00
+ .byte 0x78, 0x01, 0x00, 0x00
+ .byte 0x56, 0x0b, 0x00, 0x00
+ .byte 0x66, 0x09, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x55, 0x0f, 0x00, 0x00
+ .byte 0x87, 0x07, 0x00, 0x00
+ .byte 0x87, 0x06, 0x00, 0x00
+ .byte 0x78, 0x04, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x88, 0x03, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x88, 0x01, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x88, 0x01, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x66, 0x0d, 0x00, 0x00
+ .byte 0x88, 0x01, 0x00, 0x00
+ .byte 0x37, 0x06, 0x00, 0x00
+ .byte 0x33, 0x14, 0x00, 0x00
+ .byte 0x34, 0x10, 0x00, 0x00
+ .byte 0x44, 0x10, 0x00, 0x00
+ .byte 0x44, 0x10, 0x00, 0x00
+ .byte 0x44, 0x11, 0x00, 0x00
+ .byte 0x44, 0x11, 0x00, 0x00
+ .byte 0x35, 0x0e, 0x00, 0x00
+ .byte 0x44, 0x10, 0x00, 0x00
+ .byte 0x34, 0x10, 0x00, 0x00
+ .byte 0x34, 0x11, 0x00, 0x00
+ .byte 0x44, 0x11, 0x00, 0x00
+ .byte 0x34, 0x13, 0x00, 0x00
+ .byte 0x44, 0x13, 0x00, 0x00
+ .byte 0x43, 0x14, 0x00, 0x00
+ .byte 0x44, 0x10, 0x00, 0x00
+ .byte 0x34, 0x13, 0x00, 0x00
+ .byte 0x43, 0x15, 0x00, 0x00
+ .byte 0x34, 0x13, 0x00, 0x00
+ .byte 0x45, 0x0c, 0x00, 0x00
+ .byte 0x34, 0x12, 0x00, 0x00
+ .byte 0x44, 0x12, 0x00, 0x00
+ .byte 0x44, 0x12, 0x00, 0x00
+ .byte 0x44, 0x13, 0x00, 0x00
+ .byte 0x33, 0x15, 0x00, 0x00
+ .byte 0x34, 0x11, 0x00, 0x00
+ .byte 0x34, 0x10, 0x00, 0x00
+ .byte 0x35, 0x0f, 0x00, 0x00
+ .byte 0x35, 0x0d, 0x00, 0x00
@ 8301418
- .include "data/graphics/pokemon/mon_still_front_pic_table.inc"
+ .include "data/graphics/pokemon/still_front_pic_table.inc"
+ .align 2
gUnknown_083021D8:: @ 83021D8
- .incbin "baserom.gba", 0x3021d8, 0x6e0
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x64, 0x10, 0x00, 0x00
+ .byte 0x66, 0x09, 0x00, 0x00
+ .byte 0x87, 0x07, 0x00, 0x00
+ .byte 0x65, 0x0e, 0x00, 0x00
+ .byte 0x66, 0x09, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x65, 0x0e, 0x00, 0x00
+ .byte 0x76, 0x0a, 0x00, 0x00
+ .byte 0x86, 0x08, 0x00, 0x00
+ .byte 0x55, 0x0f, 0x00, 0x00
+ .byte 0x65, 0x0c, 0x00, 0x00
+ .byte 0x87, 0x06, 0x00, 0x00
+ .byte 0x56, 0x0b, 0x00, 0x00
+ .byte 0x46, 0x0a, 0x00, 0x00
+ .byte 0x86, 0x09, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x85, 0x0c, 0x00, 0x00
+ .byte 0x78, 0x02, 0x00, 0x00
+ .byte 0x65, 0x0d, 0x00, 0x00
+ .byte 0x75, 0x0d, 0x00, 0x00
+ .byte 0x65, 0x0c, 0x00, 0x00
+ .byte 0x87, 0x05, 0x00, 0x00
+ .byte 0x66, 0x09, 0x00, 0x00
+ .byte 0x77, 0x04, 0x00, 0x00
+ .byte 0x77, 0x07, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x65, 0x0d, 0x00, 0x00
+ .byte 0x86, 0x09, 0x00, 0x00
+ .byte 0x55, 0x0c, 0x00, 0x00
+ .byte 0x86, 0x0a, 0x00, 0x00
+ .byte 0x77, 0x06, 0x00, 0x00
+ .byte 0x56, 0x08, 0x00, 0x00
+ .byte 0x86, 0x09, 0x00, 0x00
+ .byte 0x88, 0x03, 0x00, 0x00
+ .byte 0x65, 0x0d, 0x00, 0x00
+ .byte 0x76, 0x0a, 0x00, 0x00
+ .byte 0x76, 0x09, 0x00, 0x00
+ .byte 0x77, 0x05, 0x00, 0x00
+ .byte 0x65, 0x0d, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x76, 0x0b, 0x00, 0x00
+ .byte 0x87, 0x06, 0x00, 0x00
+ .byte 0x56, 0x0b, 0x00, 0x00
+ .byte 0x66, 0x0a, 0x00, 0x00
+ .byte 0x87, 0x07, 0x00, 0x00
+ .byte 0x63, 0x14, 0x00, 0x00
+ .byte 0x87, 0x07, 0x00, 0x00
+ .byte 0x77, 0x06, 0x00, 0x00
+ .byte 0x77, 0x04, 0x00, 0x00
+ .byte 0x54, 0x10, 0x00, 0x00
+ .byte 0x66, 0x0b, 0x00, 0x00
+ .byte 0x65, 0x0c, 0x00, 0x00
+ .byte 0x87, 0x07, 0x00, 0x00
+ .byte 0x67, 0x07, 0x00, 0x00
+ .byte 0x77, 0x05, 0x00, 0x00
+ .byte 0x76, 0x0b, 0x00, 0x00
+ .byte 0x77, 0x07, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x87, 0x06, 0x00, 0x00
+ .byte 0x74, 0x10, 0x00, 0x00
+ .byte 0x65, 0x0c, 0x00, 0x00
+ .byte 0x86, 0x0b, 0x00, 0x00
+ .byte 0x66, 0x0b, 0x00, 0x00
+ .byte 0x76, 0x08, 0x00, 0x00
+ .byte 0x67, 0x05, 0x00, 0x00
+ .byte 0x65, 0x0c, 0x00, 0x00
+ .byte 0x76, 0x09, 0x00, 0x00
+ .byte 0x67, 0x04, 0x00, 0x00
+ .byte 0x66, 0x0a, 0x00, 0x00
+ .byte 0x66, 0x09, 0x00, 0x00
+ .byte 0x87, 0x06, 0x00, 0x00
+ .byte 0x56, 0x0a, 0x00, 0x00
+ .byte 0x86, 0x0b, 0x00, 0x00
+ .byte 0x66, 0x0b, 0x00, 0x00
+ .byte 0x75, 0x0c, 0x00, 0x00
+ .byte 0x84, 0x10, 0x00, 0x00
+ .byte 0x66, 0x09, 0x00, 0x00
+ .byte 0x87, 0x05, 0x00, 0x00
+ .byte 0x85, 0x0e, 0x00, 0x00
+ .byte 0x86, 0x0a, 0x00, 0x00
+ .byte 0x43, 0x14, 0x00, 0x00
+ .byte 0x66, 0x0a, 0x00, 0x00
+ .byte 0x66, 0x0a, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x88, 0x01, 0x00, 0x00
+ .byte 0x66, 0x0a, 0x00, 0x00
+ .byte 0x77, 0x05, 0x00, 0x00
+ .byte 0x75, 0x0c, 0x00, 0x00
+ .byte 0x87, 0x05, 0x00, 0x00
+ .byte 0x76, 0x0b, 0x00, 0x00
+ .byte 0x87, 0x06, 0x00, 0x00
+ .byte 0x85, 0x0e, 0x00, 0x00
+ .byte 0x76, 0x08, 0x00, 0x00
+ .byte 0x76, 0x09, 0x00, 0x00
+ .byte 0x78, 0x00, 0x00, 0x00
+ .byte 0x65, 0x0d, 0x00, 0x00
+ .byte 0x66, 0x09, 0x00, 0x00
+ .byte 0x66, 0x0a, 0x00, 0x00
+ .byte 0x77, 0x04, 0x00, 0x00
+ .byte 0x55, 0x0e, 0x00, 0x00
+ .byte 0x65, 0x0d, 0x00, 0x00
+ .byte 0x65, 0x0d, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x66, 0x0a, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x65, 0x0c, 0x00, 0x00
+ .byte 0x65, 0x0c, 0x00, 0x00
+ .byte 0x65, 0x0e, 0x00, 0x00
+ .byte 0x66, 0x09, 0x00, 0x00
+ .byte 0x77, 0x06, 0x00, 0x00
+ .byte 0x85, 0x0c, 0x00, 0x00
+ .byte 0x88, 0x03, 0x00, 0x00
+ .byte 0x86, 0x0b, 0x00, 0x00
+ .byte 0x85, 0x0e, 0x00, 0x00
+ .byte 0x77, 0x05, 0x00, 0x00
+ .byte 0x66, 0x09, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x76, 0x0b, 0x00, 0x00
+ .byte 0x65, 0x0d, 0x00, 0x00
+ .byte 0x85, 0x0e, 0x00, 0x00
+ .byte 0x85, 0x0d, 0x00, 0x00
+ .byte 0x77, 0x07, 0x00, 0x00
+ .byte 0x86, 0x0a, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x66, 0x09, 0x00, 0x00
+ .byte 0x85, 0x0d, 0x00, 0x00
+ .byte 0x76, 0x09, 0x00, 0x00
+ .byte 0x78, 0x00, 0x00, 0x00
+ .byte 0x77, 0x04, 0x00, 0x00
+ .byte 0x54, 0x11, 0x00, 0x00
+ .byte 0x66, 0x0a, 0x00, 0x00
+ .byte 0x66, 0x0a, 0x00, 0x00
+ .byte 0x87, 0x06, 0x00, 0x00
+ .byte 0x67, 0x05, 0x00, 0x00
+ .byte 0x65, 0x0d, 0x00, 0x00
+ .byte 0x66, 0x0a, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x65, 0x0d, 0x00, 0x00
+ .byte 0x77, 0x05, 0x00, 0x00
+ .byte 0x86, 0x08, 0x00, 0x00
+ .byte 0x86, 0x0b, 0x00, 0x00
+ .byte 0x65, 0x0c, 0x00, 0x00
+ .byte 0x76, 0x0b, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x66, 0x09, 0x00, 0x00
+ .byte 0x78, 0x00, 0x00, 0x00
+ .byte 0x87, 0x06, 0x00, 0x00
+ .byte 0x78, 0x01, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x56, 0x0a, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x78, 0x00, 0x00, 0x00
+ .byte 0x76, 0x09, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x66, 0x0b, 0x00, 0x00
+ .byte 0x67, 0x07, 0x00, 0x00
+ .byte 0x88, 0x01, 0x00, 0x00
+ .byte 0x67, 0x05, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x68, 0x03, 0x00, 0x00
+ .byte 0x76, 0x0b, 0x00, 0x00
+ .byte 0x77, 0x07, 0x00, 0x00
+ .byte 0x73, 0x15, 0x00, 0x00
+ .byte 0x86, 0x0b, 0x00, 0x00
+ .byte 0x87, 0x05, 0x00, 0x00
+ .byte 0x86, 0x08, 0x00, 0x00
+ .byte 0x86, 0x08, 0x00, 0x00
+ .byte 0x66, 0x0b, 0x00, 0x00
+ .byte 0x65, 0x0f, 0x00, 0x00
+ .byte 0x66, 0x0b, 0x00, 0x00
+ .byte 0x54, 0x10, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x54, 0x11, 0x00, 0x00
+ .byte 0x76, 0x08, 0x00, 0x00
+ .byte 0x66, 0x09, 0x00, 0x00
+ .byte 0x66, 0x09, 0x00, 0x00
+ .byte 0x88, 0x01, 0x00, 0x00
+ .byte 0x66, 0x0b, 0x00, 0x00
+ .byte 0x75, 0x0c, 0x00, 0x00
+ .byte 0x86, 0x08, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x66, 0x09, 0x00, 0x00
+ .byte 0x66, 0x0b, 0x00, 0x00
+ .byte 0x65, 0x0d, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x66, 0x09, 0x00, 0x00
+ .byte 0x56, 0x0a, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x77, 0x04, 0x00, 0x00
+ .byte 0x85, 0x0f, 0x00, 0x00
+ .byte 0x76, 0x08, 0x00, 0x00
+ .byte 0x76, 0x0b, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x66, 0x09, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x66, 0x0a, 0x00, 0x00
+ .byte 0x36, 0x08, 0x00, 0x00
+ .byte 0x75, 0x0c, 0x00, 0x00
+ .byte 0x87, 0x05, 0x00, 0x00
+ .byte 0x65, 0x0f, 0x00, 0x00
+ .byte 0x84, 0x10, 0x00, 0x00
+ .byte 0x85, 0x0f, 0x00, 0x00
+ .byte 0x87, 0x05, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x76, 0x0a, 0x00, 0x00
+ .byte 0x87, 0x05, 0x00, 0x00
+ .byte 0x77, 0x07, 0x00, 0x00
+ .byte 0x77, 0x04, 0x00, 0x00
+ .byte 0x56, 0x0b, 0x00, 0x00
+ .byte 0x77, 0x04, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x88, 0x03, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x76, 0x09, 0x00, 0x00
+ .byte 0x63, 0x15, 0x00, 0x00
+ .byte 0x75, 0x0d, 0x00, 0x00
+ .byte 0x65, 0x0c, 0x00, 0x00
+ .byte 0x75, 0x0d, 0x00, 0x00
+ .byte 0x66, 0x0a, 0x00, 0x00
+ .byte 0x67, 0x06, 0x00, 0x00
+ .byte 0x87, 0x07, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x55, 0x0c, 0x00, 0x00
+ .byte 0x87, 0x07, 0x00, 0x00
+ .byte 0x87, 0x06, 0x00, 0x00
+ .byte 0x65, 0x0e, 0x00, 0x00
+ .byte 0x85, 0x0d, 0x00, 0x00
+ .byte 0x76, 0x0a, 0x00, 0x00
+ .byte 0x78, 0x03, 0x00, 0x00
+ .byte 0x76, 0x0a, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x87, 0x05, 0x00, 0x00
+ .byte 0x56, 0x09, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x66, 0x0b, 0x00, 0x00
+ .byte 0x87, 0x07, 0x00, 0x00
+ .byte 0x85, 0x0d, 0x00, 0x00
+ .byte 0x86, 0x0a, 0x00, 0x00
+ .byte 0x87, 0x06, 0x00, 0x00
+ .byte 0x88, 0x03, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x67, 0x05, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x88, 0x01, 0x00, 0x00
+ .byte 0x88, 0x01, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x87, 0x06, 0x00, 0x00
+ .byte 0x86, 0x08, 0x00, 0x00
+ .byte 0x88, 0x01, 0x00, 0x00
+ .byte 0x67, 0x05, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x77, 0x05, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x87, 0x05, 0x00, 0x00
+ .byte 0x76, 0x09, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x76, 0x0b, 0x00, 0x00
+ .byte 0x85, 0x0f, 0x00, 0x00
+ .byte 0x76, 0x0b, 0x00, 0x00
+ .byte 0x83, 0x15, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x73, 0x14, 0x00, 0x00
+ .byte 0x83, 0x14, 0x00, 0x00
+ .byte 0x75, 0x0f, 0x00, 0x00
+ .byte 0x86, 0x08, 0x00, 0x00
+ .byte 0x86, 0x0a, 0x00, 0x00
+ .byte 0x86, 0x09, 0x00, 0x00
+ .byte 0x76, 0x0a, 0x00, 0x00
+ .byte 0x86, 0x08, 0x00, 0x00
+ .byte 0x83, 0x14, 0x00, 0x00
+ .byte 0x86, 0x08, 0x00, 0x00
+ .byte 0x77, 0x06, 0x00, 0x00
+ .byte 0x64, 0x11, 0x00, 0x00
+ .byte 0x86, 0x08, 0x00, 0x00
+ .byte 0x85, 0x0d, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x77, 0x04, 0x00, 0x00
+ .byte 0x85, 0x0e, 0x00, 0x00
+ .byte 0x87, 0x06, 0x00, 0x00
+ .byte 0x86, 0x0b, 0x00, 0x00
+ .byte 0x88, 0x00, 0x00, 0x00
+ .byte 0x83, 0x15, 0x00, 0x00
+ .byte 0x83, 0x16, 0x00, 0x00
+ .byte 0x86, 0x0a, 0x00, 0x00
+ .byte 0x86, 0x08, 0x00, 0x00
+ .byte 0x87, 0x06, 0x00, 0x00
+ .byte 0x86, 0x08, 0x00, 0x00
+ .byte 0x87, 0x07, 0x00, 0x00
+ .byte 0x85, 0x0c, 0x00, 0x00
+ .byte 0x86, 0x0a, 0x00, 0x00
+ .byte 0x76, 0x08, 0x00, 0x00
+ .byte 0x66, 0x0a, 0x00, 0x00
+ .byte 0x86, 0x0a, 0x00, 0x00
+ .byte 0x46, 0x0a, 0x00, 0x00
+ .byte 0x77, 0x07, 0x00, 0x00
+ .byte 0x87, 0x05, 0x00, 0x00
+ .byte 0x67, 0x07, 0x00, 0x00
+ .byte 0x68, 0x02, 0x00, 0x00
+ .byte 0x87, 0x07, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x75, 0x0e, 0x00, 0x00
+ .byte 0x74, 0x11, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x76, 0x0b, 0x00, 0x00
+ .byte 0x87, 0x07, 0x00, 0x00
+ .byte 0x84, 0x10, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x86, 0x0b, 0x00, 0x00
+ .byte 0x84, 0x13, 0x00, 0x00
+ .byte 0x64, 0x12, 0x00, 0x00
+ .byte 0x86, 0x0a, 0x00, 0x00
+ .byte 0x87, 0x06, 0x00, 0x00
+ .byte 0x85, 0x0f, 0x00, 0x00
+ .byte 0x87, 0x07, 0x00, 0x00
+ .byte 0x76, 0x0a, 0x00, 0x00
+ .byte 0x85, 0x0c, 0x00, 0x00
+ .byte 0x87, 0x05, 0x00, 0x00
+ .byte 0x87, 0x05, 0x00, 0x00
+ .byte 0x86, 0x0a, 0x00, 0x00
+ .byte 0x56, 0x0b, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x76, 0x08, 0x00, 0x00
+ .byte 0x76, 0x08, 0x00, 0x00
+ .byte 0x87, 0x04, 0x00, 0x00
+ .byte 0x76, 0x0b, 0x00, 0x00
+ .byte 0x68, 0x03, 0x00, 0x00
+ .byte 0x86, 0x09, 0x00, 0x00
+ .byte 0x87, 0x06, 0x00, 0x00
+ .byte 0x77, 0x07, 0x00, 0x00
+ .byte 0x66, 0x0b, 0x00, 0x00
+ .byte 0x86, 0x08, 0x00, 0x00
+ .byte 0x86, 0x08, 0x00, 0x00
+ .byte 0x85, 0x0f, 0x00, 0x00
+ .byte 0x86, 0x0a, 0x00, 0x00
+ .byte 0x86, 0x08, 0x00, 0x00
+ .byte 0x66, 0x0b, 0x00, 0x00
+ .byte 0x77, 0x06, 0x00, 0x00
+ .byte 0x87, 0x07, 0x00, 0x00
+ .byte 0x85, 0x0d, 0x00, 0x00
+ .byte 0x86, 0x09, 0x00, 0x00
+ .byte 0x88, 0x03, 0x00, 0x00
+ .byte 0x85, 0x0d, 0x00, 0x00
+ .byte 0x68, 0x02, 0x00, 0x00
+ .byte 0x77, 0x05, 0x00, 0x00
+ .byte 0x78, 0x03, 0x00, 0x00
+ .byte 0x77, 0x06, 0x00, 0x00
+ .byte 0x65, 0x0c, 0x00, 0x00
+ .byte 0x88, 0x03, 0x00, 0x00
+ .byte 0x88, 0x01, 0x00, 0x00
+ .byte 0x86, 0x0a, 0x00, 0x00
+ .byte 0x54, 0x11, 0x00, 0x00
+ .byte 0x84, 0x11, 0x00, 0x00
+ .byte 0x87, 0x07, 0x00, 0x00
+ .byte 0x45, 0x0d, 0x00, 0x00
+ .byte 0x76, 0x08, 0x00, 0x00
+ .byte 0x67, 0x06, 0x00, 0x00
+ .byte 0x86, 0x09, 0x00, 0x00
+ .byte 0x77, 0x04, 0x00, 0x00
+ .byte 0x83, 0x17, 0x00, 0x00
+ .byte 0x77, 0x05, 0x00, 0x00
+ .byte 0x45, 0x0d, 0x00, 0x00
+ .byte 0x57, 0x06, 0x00, 0x00
+ .byte 0x77, 0x04, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x85, 0x0d, 0x00, 0x00
+ .byte 0x77, 0x06, 0x00, 0x00
+ .byte 0x66, 0x0a, 0x00, 0x00
+ .byte 0x84, 0x10, 0x00, 0x00
+ .byte 0x83, 0x14, 0x00, 0x00
+ .byte 0x86, 0x0a, 0x00, 0x00
+ .byte 0x85, 0x0e, 0x00, 0x00
+ .byte 0x85, 0x0e, 0x00, 0x00
+ .byte 0x84, 0x13, 0x00, 0x00
+ .byte 0x87, 0x07, 0x00, 0x00
+ .byte 0x78, 0x00, 0x00, 0x00
+ .byte 0x88, 0x02, 0x00, 0x00
+ .byte 0x88, 0x03, 0x00, 0x00
+ .byte 0x87, 0x05, 0x00, 0x00
+ .byte 0x86, 0x09, 0x00, 0x00
+ .byte 0x47, 0x07, 0x00, 0x00
+ .byte 0x36, 0x0a, 0x00, 0x00
+ .byte 0x56, 0x09, 0x00, 0x00
+ .byte 0x67, 0x06, 0x00, 0x00
+ .byte 0x56, 0x08, 0x00, 0x00
+ .byte 0x56, 0x0a, 0x00, 0x00
+ .byte 0x66, 0x0a, 0x00, 0x00
+ .byte 0x57, 0x05, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x37, 0x07, 0x00, 0x00
+ .byte 0x46, 0x09, 0x00, 0x00
+ .byte 0x57, 0x07, 0x00, 0x00
+ .byte 0x46, 0x0a, 0x00, 0x00
+ .byte 0x65, 0x0d, 0x00, 0x00
+ .byte 0x65, 0x0d, 0x00, 0x00
+ .byte 0x66, 0x08, 0x00, 0x00
+ .byte 0x46, 0x0a, 0x00, 0x00
+ .byte 0x55, 0x0f, 0x00, 0x00
+ .byte 0x45, 0x0c, 0x00, 0x00
+ .byte 0x57, 0x04, 0x00, 0x00
+ .byte 0x45, 0x0d, 0x00, 0x00
+ .byte 0x65, 0x0d, 0x00, 0x00
+ .byte 0x56, 0x0b, 0x00, 0x00
+ .byte 0x55, 0x0d, 0x00, 0x00
+ .byte 0x55, 0x0f, 0x00, 0x00
+ .byte 0x46, 0x0a, 0x00, 0x00
+ .byte 0x46, 0x0a, 0x00, 0x00
+ .byte 0x37, 0x06, 0x00, 0x00
+ .byte 0x47, 0x06, 0x00, 0x00
@ 83028B8
- .include "data/graphics/pokemon/mon_back_pic_table.inc"
+ .include "data/graphics/pokemon/back_pic_table.inc"
@ 8303678
- .include "data/graphics/pokemon/mon_palette_table.inc"
+ .include "data/graphics/pokemon/palette_table.inc"
@ 8304438
- .include "data/graphics/pokemon/mon_shiny_palette_table.inc"
+ .include "data/graphics/pokemon/shiny_palette_table.inc"
+
+gUnknown_083051F8:: @ 83051F8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083051FC:: @ 83051FC
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305200:: @ 8305200
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305204:: @ 8305204
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305208:: @ 8305208
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830520C:: @ 830520C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305210:: @ 8305210
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305214:: @ 8305214
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305218:: @ 8305218
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830521C:: @ 830521C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305220:: @ 8305220
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305224:: @ 8305224
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305228:: @ 8305228
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830522C:: @ 830522C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305230:: @ 8305230
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305234:: @ 8305234
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305238:: @ 8305238
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830523C:: @ 830523C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305240:: @ 8305240
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305244:: @ 8305244
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305248:: @ 8305248
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830524C:: @ 830524C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305250:: @ 8305250
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305254:: @ 8305254
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305258:: @ 8305258
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830525C:: @ 830525C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305260:: @ 8305260
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305264:: @ 8305264
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305268:: @ 8305268
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830526C:: @ 830526C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305270:: @ 8305270
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305274:: @ 8305274
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305278:: @ 8305278
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830527C:: @ 830527C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305280:: @ 8305280
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305284:: @ 8305284
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305288:: @ 8305288
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830528C:: @ 830528C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305290:: @ 8305290
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305294:: @ 8305294
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305298:: @ 8305298
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830529C:: @ 830529C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083052A0:: @ 83052A0
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083052A4:: @ 83052A4
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083052A8:: @ 83052A8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083052AC:: @ 83052AC
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083052B0:: @ 83052B0
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083052B4:: @ 83052B4
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083052B8:: @ 83052B8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083052BC:: @ 83052BC
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083052C0:: @ 83052C0
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083052C4:: @ 83052C4
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083052C8:: @ 83052C8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083052CC:: @ 83052CC
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083052D0:: @ 83052D0
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083052D4:: @ 83052D4
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083052D8:: @ 83052D8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083052DC:: @ 83052DC
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083052E0:: @ 83052E0
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083052E4:: @ 83052E4
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083052E8:: @ 83052E8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083052EC:: @ 83052EC
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083052F0:: @ 83052F0
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083052F4:: @ 83052F4
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083052F8:: @ 83052F8
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_083052FC:: @ 83052FC
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305300:: @ 8305300
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305304:: @ 8305304
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305308:: @ 8305308
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830530C:: @ 830530C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305310:: @ 8305310
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305314:: @ 8305314
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305318:: @ 8305318
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830531C:: @ 830531C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305320:: @ 8305320
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305324:: @ 8305324
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305328:: @ 8305328
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830532C:: @ 830532C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305330:: @ 8305330
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305334:: @ 8305334
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305338:: @ 8305338
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830533C:: @ 830533C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305340:: @ 8305340
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305344:: @ 8305344
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305348:: @ 8305348
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830534C:: @ 830534C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305350:: @ 8305350
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305354:: @ 8305354
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305358:: @ 8305358
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_0830535C:: @ 830535C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305360:: @ 8305360
+ .4byte gAnimCmd_General_Frame0
-@ 83051F8
- .incbin "baserom.gba", 0x3051f8, 0x174
+ .align 2
+gUnknown_08305364:: @ 8305364
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gUnknown_08305368:: @ 8305368
+ .4byte gAnimCmd_General_Frame0
+ .align 2
gUnknown_0830536C:: @ 830536C
- .incbin "baserom.gba", 0x30536c, 0x174
+ .4byte gUnknown_083051F8
+ .4byte gUnknown_083051FC
+ .4byte gUnknown_08305200
+ .4byte gUnknown_08305204
+ .4byte gUnknown_08305208
+ .4byte gUnknown_0830520C
+ .4byte gUnknown_08305210
+ .4byte gUnknown_08305214
+ .4byte gUnknown_08305218
+ .4byte gUnknown_0830521C
+ .4byte gUnknown_08305220
+ .4byte gUnknown_08305224
+ .4byte gUnknown_08305228
+ .4byte gUnknown_0830522C
+ .4byte gUnknown_08305230
+ .4byte gUnknown_08305234
+ .4byte gUnknown_08305238
+ .4byte gUnknown_0830523C
+ .4byte gUnknown_08305240
+ .4byte gUnknown_08305244
+ .4byte gUnknown_08305248
+ .4byte gUnknown_0830524C
+ .4byte gUnknown_08305250
+ .4byte gUnknown_08305254
+ .4byte gUnknown_08305258
+ .4byte gUnknown_0830525C
+ .4byte gUnknown_08305260
+ .4byte gUnknown_08305264
+ .4byte gUnknown_08305268
+ .4byte gUnknown_0830526C
+ .4byte gUnknown_08305270
+ .4byte gUnknown_08305274
+ .4byte gUnknown_08305278
+ .4byte gUnknown_0830527C
+ .4byte gUnknown_08305280
+ .4byte gUnknown_08305284
+ .4byte gUnknown_08305288
+ .4byte gUnknown_0830528C
+ .4byte gUnknown_08305290
+ .4byte gUnknown_08305294
+ .4byte gUnknown_08305298
+ .4byte gUnknown_0830529C
+ .4byte gUnknown_083052A0
+ .4byte gUnknown_083052A4
+ .4byte gUnknown_083052A8
+ .4byte gUnknown_083052AC
+ .4byte gUnknown_083052B0
+ .4byte gUnknown_083052B4
+ .4byte gUnknown_083052B8
+ .4byte gUnknown_083052BC
+ .4byte gUnknown_083052C0
+ .4byte gUnknown_083052C4
+ .4byte gUnknown_083052C8
+ .4byte gUnknown_083052CC
+ .4byte gUnknown_083052D0
+ .4byte gUnknown_083052D4
+ .4byte gUnknown_083052D8
+ .4byte gUnknown_083052DC
+ .4byte gUnknown_083052E0
+ .4byte gUnknown_083052E4
+ .4byte gUnknown_083052E8
+ .4byte gUnknown_083052EC
+ .4byte gUnknown_083052F0
+ .4byte gUnknown_083052F4
+ .4byte gUnknown_083052F8
+ .4byte gUnknown_083052FC
+ .4byte gUnknown_08305300
+ .4byte gUnknown_08305304
+ .4byte gUnknown_08305308
+ .4byte gUnknown_0830530C
+ .4byte gUnknown_08305310
+ .4byte gUnknown_08305314
+ .4byte gUnknown_08305318
+ .4byte gUnknown_0830531C
+ .4byte gUnknown_08305320
+ .4byte gUnknown_08305324
+ .4byte gUnknown_08305328
+ .4byte gUnknown_0830532C
+ .4byte gUnknown_08305330
+ .4byte gUnknown_08305334
+ .4byte gUnknown_08305338
+ .4byte gUnknown_0830533C
+ .4byte gUnknown_08305340
+ .4byte gUnknown_08305344
+ .4byte gUnknown_08305348
+ .4byte gUnknown_0830534C
+ .4byte gUnknown_08305350
+ .4byte gUnknown_08305354
+ .4byte gUnknown_08305358
+ .4byte gUnknown_0830535C
+ .4byte gUnknown_08305360
+ .4byte gUnknown_08305364
+ .4byte gUnknown_08305368
-gUnknown_083054E0:: @ 83054E0
- .incbin "baserom.gba", 0x3054e0, 0x174
+@ 83054E0
+ .include "data/graphics/trainers/front_pic_coords.inc"
@ 8305654
- .include "data/graphics/trainers/trainer_front_pic_table.inc"
+ .include "data/graphics/trainers/front_pic_table.inc"
@ 830593C
- .include "data/graphics/trainers/trainer_front_pic_palette_table.inc"
+ .include "data/graphics/trainers/front_pic_palette_table.inc"
+
+gUnknown_08305C24:: @ 8305C24
+ .2byte 0x0000, 0x0018, 0x0001, 0x0009, 0x0002, 0x0018, 0x0000, 0x0009
+ .2byte 0x0003, 0x0032, 0xffff, 0x0000
+
+ .align 2
+gUnknown_08305C3C:: @ 8305C3C
+ .2byte 0x0000, 0x0018, 0x0001, 0x0009, 0x0002, 0x0018, 0x0000, 0x0009
+ .2byte 0x0003, 0x0032, 0xffff, 0x0000
+
+ .align 2
+gUnknown_08305C54:: @ 8305C54
+ .2byte 0x0000, 0x0018, 0x0001, 0x0009, 0x0002, 0x0018, 0x0000, 0x0009
+ .2byte 0x0003, 0x0032, 0xffff, 0x0000
+
+ .align 2
+gUnknown_08305C6C:: @ 8305C6C
+ .2byte 0x0001, 0x0014, 0x0002, 0x0006, 0x0003, 0x0006, 0x0004, 0x0018
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
-@ 8305C24
- .incbin "baserom.gba", 0x305c24, 0xe8
+ .align 2
+gUnknown_08305C84:: @ 8305C84
+ .2byte 0x0001, 0x0014, 0x0002, 0x0006, 0x0003, 0x0006, 0x0004, 0x0018
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gUnknown_08305C9C:: @ 8305C9C
+ .2byte 0x0000, 0x0018, 0x0001, 0x0009, 0x0002, 0x0018, 0x0000, 0x0009
+ .2byte 0x0003, 0x0032, 0xffff, 0x0000
+
+ .align 2
+gUnknown_08305CB4:: @ 8305CB4
+ .2byte 0x0000, 0x0018, 0x0001, 0x0009, 0x0002, 0x0018, 0x0000, 0x0009
+ .2byte 0x0003, 0x0032, 0xffff, 0x0000
+
+ .align 2
+gUnknown_08305CCC:: @ 8305CCC
+ .4byte AnimCmd_82FF540
+ .4byte gUnknown_08305C24
+
+ .align 2
+gUnknown_08305CD4:: @ 8305CD4
+ .4byte AnimCmd_82FF540
+ .4byte gUnknown_08305C3C
+
+ .align 2
+gUnknown_08305CDC:: @ 8305CDC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_08305C6C
+ .align 2
+gUnknown_08305CE4:: @ 8305CE4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gUnknown_08305C84
+
+ .align 2
+gUnknown_08305CEC:: @ 8305CEC
+ .4byte AnimCmd_82FF540
+ .4byte gUnknown_08305C9C
+
+ .align 2
+gUnknown_08305CF4:: @ 8305CF4
+ .4byte AnimCmd_82FF540
+ .4byte gUnknown_08305CB4
+
+ .align 2
+gUnknown_08305CFC:: @ 8305CFC
+ .4byte AnimCmd_82FF540
+ .4byte gUnknown_08305C54
+
+ .align 2
+gUnknown_08305D04:: @ 8305D04
+ .4byte AnimCmd_82FF540
+ .4byte gUnknown_08305C3C
+
+ .align 2
gUnknown_08305D0C:: @ 8305D0C
- .incbin "baserom.gba", 0x305d0c, 0x20
+ .4byte gUnknown_08305CCC
+ .4byte gUnknown_08305CD4
+ .4byte gUnknown_08305CDC
+ .4byte gUnknown_08305CE4
+ .4byte gUnknown_08305CEC
+ .4byte gUnknown_08305CF4
+ .4byte gUnknown_08305CFC
+ .4byte gUnknown_08305D04
-gUnknown_08305D2C:: @ 8305D2C
- .incbin "baserom.gba", 0x305d2c, 0x20
+@ 8305D2C
+ .include "data/graphics/trainers/back_pic_coords.inc"
@ 8305D4C
- .include "data/graphics/trainers/trainer_back_pic_table.inc"
+ .include "data/graphics/trainers/back_pic_table.inc"
@ 8305D8C
- .include "data/graphics/trainers/trainer_back_pic_palette_table.inc"
+ .include "data/graphics/trainers/back_pic_palette_table.inc"
-gUnknown_08305DCC:: @ 8305DCC
- .incbin "baserom.gba", 0x305dcc, 0x3ce0
+@ 8305DCC
+ .include "data/enemy_mon_elevation.inc"
-gUnknown_08309AAC:: @ 8309AAC
- .incbin "baserom.gba", 0x309aac, 0x6e0
+@ 8305F68
+ .include "data/graphics/pokemon/front_anims.inc"
@ 830A18C
- .include "data/graphics/pokemon/mon_front_pic_table.inc"
+ .include "data/graphics/pokemon/front_pic_table.inc"
@ 830AF4C
- .incbin "baserom.gba", 0x30af4c, 0x6e0
+ .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888
+ .4byte 0x00000088, 0x00000888, 0x00000888, 0x00000886
+ .4byte 0x00000888, 0x00000886, 0x00000888, 0x00000888
+ .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888
+ .4byte 0x00000886, 0x00000888, 0x00000888, 0x00000888
+ .4byte 0x00000888, 0x00000888, 0x00000886, 0x00000886
+ .4byte 0x00000888, 0x00000088, 0x00000088, 0x00000088
+ .4byte 0x00000088, 0x00000888, 0x00000886, 0x00000888
+ .4byte 0x00000888, 0x00000888, 0x00000886, 0x00000886
+ .4byte 0x00000888, 0x00000088, 0x00000088, 0x00000088
+ .4byte 0x00000088, 0x00000886, 0x00000886, 0x00000088
+ .4byte 0x00000886, 0x00000886, 0x00000888, 0x00000888
+ .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888
+ .4byte 0x00000886, 0x00000888, 0x00000088, 0x00000088
+ .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000886
+ .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000886
+ .4byte 0x00000886, 0x00000886, 0x00000886, 0x00000886
+ .4byte 0x00000886, 0x00000886, 0x00000888, 0x00000888
+ .4byte 0x00000886, 0x00000886, 0x00000886, 0x00000886
+ .4byte 0x00000886, 0x00000888, 0x00000888, 0x00000888
+ .4byte 0x00000888, 0x00000886, 0x00000886, 0x00000888
+ .4byte 0x00000886, 0x00000886, 0x00000888, 0x00000888
+ .4byte 0x00000088, 0x00000088, 0x00000888, 0x00000888
+ .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888
+ .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888
+ .4byte 0x00000886, 0x00000886, 0x00000888, 0x00000888
+ .4byte 0x00000888, 0x00000888, 0x00000088, 0x00000886
+ .4byte 0x00000888, 0x00000088, 0x00000088, 0x00000088
+ .4byte 0x00000088, 0x00000888, 0x00000886, 0x00000888
+ .4byte 0x00000088, 0x00000088, 0x00000886, 0x00000886
+ .4byte 0x00000088, 0x00000088, 0x00000888, 0x00000886
+ .4byte 0x00000886, 0x00000888, 0x00000888, 0x00000088
+ .4byte 0x00000888, 0x00000886, 0x00000886, 0x00000888
+ .4byte 0x00000886, 0x00000888, 0x00000888, 0x00000886
+ .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888
+ .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888
+ .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888
+ .4byte 0x00000888, 0x00000888, 0x00000088, 0x00000888
+ .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888
+ .4byte 0x00000088, 0x00000888, 0x00000888, 0x00000886
+ .4byte 0x00000886, 0x00000888, 0x00000888, 0x00000888
+ .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000886
+ .4byte 0x00000888, 0x00000886, 0x00000088, 0x00000088
+ .4byte 0x00000088, 0x00000888, 0x00000088, 0x00000888
+ .4byte 0x00000888, 0x00000088, 0x00000088, 0x00000888
+ .4byte 0x00000886, 0x00000888, 0x00000886, 0x00000886
+ .4byte 0x00000886, 0x00000888, 0x00000888, 0x00000888
+ .4byte 0x00000088, 0x00000888, 0x00000888, 0x00000888
+ .4byte 0x00000088, 0x00000888, 0x00000888, 0x00000888
+ .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888
+ .4byte 0x00000888, 0x00000888, 0x00000088, 0x00000088
+ .4byte 0x00000886, 0x00000888, 0x00000888, 0x00000888
+ .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888
+ .4byte 0x00000888, 0x00000888, 0x00000088, 0x00000888
+ .4byte 0x00000886, 0x00000888, 0x00000088, 0x00000088
+ .4byte 0x00000888, 0x00000888, 0x00000088, 0x00000888
+ .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000088
+ .4byte 0x00000888, 0x00000888, 0x00000088, 0x00000088
+ .4byte 0x00000088, 0x00000888, 0x00000088, 0x00000888
+ .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888
+ .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888
+ .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888
+ .4byte 0x00000888, 0x00000886, 0x00000888, 0x00000888
+ .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888
+ .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888
+ .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888
+ .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888
+ .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888
+ .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888
+ .4byte 0x00000888, 0x00000886, 0x00000886, 0x00000886
+ .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000886
+ .4byte 0x00000088, 0x00000886, 0x00000886, 0x00000886
+ .4byte 0x00000088, 0x00000886, 0x00000088, 0x00000088
+ .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000886
+ .4byte 0x00000886, 0x00000886, 0x00000888, 0x00000888
+ .4byte 0x00000886, 0x00000886, 0x00000886, 0x00000886
+ .4byte 0x00000088, 0x00000088, 0x00000886, 0x00000886
+ .4byte 0x00001882, 0x00000088, 0x00000088, 0x00000088
+ .4byte 0x00000088, 0x00000886, 0x00000886, 0x00000886
+ .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000088
+ .4byte 0x00000886, 0x00000088, 0x00000886, 0x00000088
+ .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000088
+ .4byte 0x00000088, 0x00000088, 0x00000886, 0x00000886
+ .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000886
+ .4byte 0x00000886, 0x00000088, 0x00000088, 0x00000088
+ .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000088
+ .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000088
+ .4byte 0x00000088, 0x00000088, 0x00000886, 0x00000088
+ .4byte 0x00000088, 0x00000886, 0x00000886, 0x00000886
+ .4byte 0x00000886, 0x00000886, 0x00000088, 0x00000088
+ .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000886
+ .4byte 0x00000886, 0x00000886, 0x00000886, 0x00000088
+ .4byte 0x00000886, 0x00000088, 0x00000886, 0x00000886
+ .4byte 0x00000886, 0x00000088, 0x00000088, 0x00000088
+ .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000088
+ .4byte 0x00000088, 0x00000088, 0x00000886, 0x00000886
+ .4byte 0x00000886, 0x00000888, 0x00000886, 0x00000886
+ .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000088
+ .4byte 0x00000886, 0x00000886, 0x00000088, 0x00000088
+ .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000088
+ .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000088
+ .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000088
+ .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000088
+ .4byte 0x00000088, 0x00000888, 0x00000888, 0x00000888
+ .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888
+ .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888
+ .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888
+ .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888
+ .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888
+ .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888
@ 830B62C
.include "data/trainer_parties.inc"
@@ -170,52 +4642,235 @@ gUnknown_08309AAC:: @ 8309AAC
@ 831977C
.include "data/text/move_names.inc"
- .incbin "baserom.gba", 0x31a983, 0x4d
+.align 2
+ .2byte 0x0300, 0x0000
+ .align 2
+gUnknown_0831A988:: @ 831A988
+ .byte 0x00, 0x03, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00
+
+ .align 2
+gUnknown_0831A990:: @ 831A990
+ .byte 0x00, 0x03, 0x00, 0xc0, 0x40, 0x00, 0x00, 0x00
+
+ .align 2
+gUnknown_0831A998:: @ 831A998
+ .2byte 0x0080, 0x0080, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
+
+ .align 2
+gUnknown_0831A9A8:: @ 831A9A8
+ .2byte 0x0080, 0x0080, 0x0000, 0x0000, 0x0018, 0x0018, 0x8000, 0x0000
+ .2byte 0x0018, 0x0018, 0x8000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
+
+ .align 2
+gUnknown_0831A9C8:: @ 831A9C8
+ .4byte gUnknown_0831A998
+ .4byte gUnknown_0831A9A8
+
+ .align 2
gUnknown_0831A9D0:: @ 831A9D0
- .incbin "baserom.gba", 0x31a9d0, 0x18
+ spr_template 0x2710, 0x2710, gUnknown_0831A988, gDummySpriteAnimTable, NULL, gUnknown_0831A9C8, nullsub_17
+ .align 2
gUnknown_0831A9E8:: @ 831A9E8
- .incbin "baserom.gba", 0x31a9e8, 0x18
+ spr_template 0x2710, 0x2710, gUnknown_0831A990, gDummySpriteAnimTable, NULL, gUnknown_0831A9C8, nullsub_17
+ .align 2
gUnknown_0831AA00:: @ 831AA00
- .incbin "baserom.gba", 0x31aa00, 0x8
+ obj_tiles gUnknown_08D77B0C, 0x1000, 0x2710
+ .align 2
gUnknown_0831AA08:: @ 831AA08
- .incbin "baserom.gba", 0x31aa08, 0x198
+ .4byte 0x00000580, 0x000005c5, 0x000013e6, 0x000033ab
+ .align 2
+gUnknown_0831AA18:: @ 831AA18
+ window_template 0x00, 0x02, 0x0f, 0x1a, 0x04, 0x00, 0x0090
+ window_template 0x00, 0x01, 0x23, 0x0e, 0x04, 0x00, 0x01c0
+ window_template 0x00, 0x11, 0x23, 0x0c, 0x04, 0x05, 0x0190
+ window_template 0x00, 0x02, 0x37, 0x08, 0x02, 0x05, 0x0300
+ window_template 0x00, 0x0b, 0x37, 0x08, 0x02, 0x05, 0x0310
+ window_template 0x00, 0x02, 0x39, 0x08, 0x02, 0x05, 0x0320
+ window_template 0x00, 0x0b, 0x39, 0x08, 0x02, 0x05, 0x0330
+ window_template 0x00, 0x15, 0x37, 0x04, 0x02, 0x05, 0x0290
+ window_template 0x00, 0x15, 0x39, 0x00, 0x00, 0x05, 0x0298
+ window_template 0x00, 0x19, 0x37, 0x04, 0x02, 0x05, 0x0298
+ window_template 0x00, 0x15, 0x39, 0x08, 0x02, 0x05, 0x02a0
+ window_template 0x00, 0x15, 0x37, 0x08, 0x04, 0x05, 0x02b0
+ window_template 0x00, 0x1a, 0x09, 0x03, 0x04, 0x05, 0x0100
+ window_template 0x01, 0x13, 0x08, 0x0a, 0x0b, 0x05, 0x0100
+ window_template 0x02, 0x12, 0x00, 0x0c, 0x03, 0x06, 0x016e
+ window_template 0x01, 0x02, 0x03, 0x06, 0x02, 0x05, 0x0020
+ window_template 0x02, 0x02, 0x03, 0x06, 0x02, 0x05, 0x0040
+ window_template 0x01, 0x02, 0x02, 0x06, 0x02, 0x05, 0x0020
+ window_template 0x02, 0x02, 0x02, 0x06, 0x02, 0x05, 0x0040
+ window_template 0x01, 0x02, 0x06, 0x06, 0x02, 0x05, 0x0060
+ window_template 0x02, 0x02, 0x06, 0x06, 0x02, 0x05, 0x0080
+ window_template 0x00, 0x0c, 0x02, 0x06, 0x02, 0x00, 0x00a0
+ window_template 0x00, 0x04, 0x02, 0x07, 0x02, 0x00, 0x00a0
+ window_template 0x00, 0x13, 0x02, 0x07, 0x02, 0x00, 0x00b0
+ window_template_terminator
+
+ .align 2
+gUnknown_0831AAE0:: @ 831AAE0
+ window_template 0x00, 0x02, 0x0f, 0x1a, 0x04, 0x00, 0x0090
+ window_template 0x00, 0x01, 0x23, 0x0e, 0x04, 0x00, 0x01c0
+ window_template 0x00, 0x11, 0x23, 0x0c, 0x04, 0x05, 0x0190
+ window_template 0x00, 0x02, 0x37, 0x08, 0x02, 0x05, 0x0300
+ window_template 0x00, 0x0b, 0x37, 0x08, 0x02, 0x05, 0x0310
+ window_template 0x00, 0x02, 0x39, 0x08, 0x02, 0x05, 0x0320
+ window_template 0x00, 0x0b, 0x39, 0x08, 0x02, 0x05, 0x0330
+ window_template 0x00, 0x15, 0x37, 0x04, 0x02, 0x05, 0x0290
+ window_template 0x00, 0x15, 0x39, 0x00, 0x00, 0x05, 0x0298
+ window_template 0x00, 0x19, 0x37, 0x04, 0x02, 0x05, 0x0298
+ window_template 0x00, 0x15, 0x39, 0x08, 0x02, 0x05, 0x02a0
+ window_template 0x00, 0x15, 0x37, 0x08, 0x04, 0x05, 0x02b0
+ window_template 0x00, 0x1a, 0x09, 0x03, 0x04, 0x05, 0x0100
+ window_template 0x01, 0x13, 0x08, 0x0a, 0x0b, 0x05, 0x0100
+ window_template 0x02, 0x12, 0x00, 0x0c, 0x03, 0x06, 0x016e
+ window_template 0x00, 0x06, 0x01, 0x08, 0x02, 0x05, 0x0100
+ window_template 0x00, 0x0e, 0x01, 0x02, 0x02, 0x05, 0x0110
+ window_template 0x00, 0x10, 0x01, 0x08, 0x02, 0x05, 0x0114
+ window_template 0x00, 0x0c, 0x04, 0x06, 0x02, 0x05, 0x0124
+ window_template 0x00, 0x0c, 0x06, 0x06, 0x02, 0x05, 0x0130
+ window_template 0x00, 0x0c, 0x08, 0x06, 0x02, 0x05, 0x013c
+ window_template 0x00, 0x08, 0x0b, 0x0e, 0x02, 0x05, 0x0148
+ window_template 0x00, 0x02, 0x0f, 0x1a, 0x04, 0x07, 0x0090
+ window_template_terminator
+
+ .align 2
gUnknown_0831ABA0:: @ 831ABA0
- .incbin "baserom.gba", 0x31aba0, 0x8
+ .4byte gUnknown_0831AA18
+ .4byte gUnknown_0831AAE0
+
+ .align 2
+gBattleTerrainTable:: @ 831ABA8
+ @ tall_grass
+ .4byte gUnknown_08D77D68
+ .4byte gUnknown_08D78350
+ .4byte gUnknown_08D7E280
+ .4byte gUnknown_08D7E808
+ .4byte gUnknown_08D78318
+
+ @ long_grass
+ .4byte gUnknown_08D78600
+ .4byte gUnknown_08D78CB8
+ .4byte gUnknown_08D7E9C4
+ .4byte gUnknown_08D7F0D4
+ .4byte gUnknown_08D78C78
-gUnknown_0831ABA8:: @ 831ABA8
- .incbin "baserom.gba", 0x31aba8, 0xc8
+ @ sand
+ .4byte gUnknown_08D78F68
+ .4byte gUnknown_08D795A8
+ .4byte gUnknown_08D7F30C
+ .4byte gUnknown_08D7F850
+ .4byte gUnknown_08D79560
+ @ underwater
+ .4byte gUnknown_08D79858
+ .4byte gUnknown_08D79E58
+ .4byte gUnknown_08D7F9F8
+ .4byte gUnknown_08D7FEC4
+ .4byte gUnknown_08D79E10
+
+ @ water
+ .4byte gUnknown_08D7A108
+ .4byte gUnknown_08D7A720
+ .4byte gUnknown_08D80054
+ .4byte gUnknown_08D80660
+ .4byte gUnknown_08D7A6DC
+
+ @ pond_water
+ .4byte gUnknown_08D7A9D0
+ .4byte gUnknown_08D7AFB8
+ .4byte gUnknown_08D80804
+ .4byte gUnknown_08D80D50
+ .4byte gUnknown_08D7AF78
+
+ @ rock
+ .4byte gUnknown_08D7B268
+ .4byte gUnknown_08D7B864
+ .4byte gUnknown_08D80E9C
+ .4byte gUnknown_08D8147C
+ .4byte gUnknown_08D7B828
+
+ @ cave
+ .4byte gUnknown_08D7BB14
+ .4byte gUnknown_08D7C154
+ .4byte gUnknown_08D81610
+ .4byte gUnknown_08D81E2C
+ .4byte gUnknown_08D7C10C
+
+ @ building
+ .4byte gUnknown_08D7C440
+ .4byte gUnknown_08D7CA28
+ .4byte gUnknown_08D820D4
+ .4byte gUnknown_08D824E4
+ .4byte gUnknown_08D7DEB4
+
+ @ plain
+ .4byte gUnknown_08D7C440
+ .4byte gUnknown_08D7CA28
+ .4byte gUnknown_08D820D4
+ .4byte gUnknown_08D824E4
+ .4byte gUnknown_08D7C404
+
+ .align 2
gUnknown_0831AC70:: @ 831AC70
- .incbin "baserom.gba", 0x31ac70, 0x18
+ .4byte REG_BG3HOFS
+ .4byte ((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1
+ .4byte 1
+ .4byte REG_BG3HOFS
+ .4byte ((DMA_ENABLE | DMA_START_HBLANK | DMA_32BIT | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1
+ .4byte 1
+ .align 2
gUnknown_0831AC88:: @ 831AC88
- .incbin "baserom.gba", 0x31ac88, 0x18
+ spr_template 0x0000, 0x0000, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8038528
gText_ShedinjaJapaneseName:: @ 831ACA0
- .string "ヌケニン$" @Nukenin
+ .string "ヌケニン$" @ Nukenin
-.align 2
-
+ .align 2
gUnknown_0831ACA8:: @ 831ACA8
- .incbin "baserom.gba", 0x31aca8, 0x38
+ .2byte 0x0100
+ .2byte 0xC000
+ .2byte 0x0800
+
+ .align 2
+gUnknown_0831ACB0:: @ 831ACB0
+ .2byte 0x0100
+ .2byte 0xC000
+ .2byte 0x2800
+
+ .align 2
+gUnknown_0831ACB8:: @ 831ACB8
+ .2byte 0x0000, 0x0005, 0xfffe, 0x0000
+ .align 2
+gUnknown_0831ACC0:: @ 831ACC0
+ .4byte gUnknown_0831ACB8
+
+ .align 2
+gUnknown_0831ACC4:: @ 831ACC4
+ .2byte 0xfff0, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x3c00, 0x0000, 0x7ffe, 0x0001, 0x0000, 0x0000
+
+ .align 2
+gUnknown_0831ACDC:: @ 831ACDC
+ .4byte gUnknown_0831ACC4
+
+ .align 2
gUnknown_0831ACE0:: @ 831ACE0
- .incbin "baserom.gba", 0x31ace0, 0x8
+ .byte 0xe0, 0xf0, 0xf0, 0xe0, 0xe0, 0x00, 0x00, 0x00
-gTypeEffectiveness:: @ 831ACE8
- .incbin "baserom.gba", 0x31ace8, 0x150
+@ 831ACE8
+ .include "data/type_effectiveness.inc"
@ 831AE38
.include "data/text/type_names.inc"
- .align 2
-gTrainerMoneyTable:: @ 831AEB8
- .incbin "baserom.gba", 0x31aeb8, 0xe0
+@ 831AEB8
+ .include "data/trainer_money.inc"
@ 831AF98
.include "data/text/ability_descriptions.inc"
diff --git a/data/data2c.s b/data/data2c.s
index 26f237c1c..be715493c 100644
--- a/data/data2c.s
+++ b/data/data2c.s
@@ -11,8 +11,9 @@
@ 831C898
.include "data/battle_moves.inc"
- @ 0x31d93c unreferenced unknown data
-.byte 0x34, 0x00, 0x10, 0x00, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00
+@ 0x31d93c
+@ unreferenced unknown data
+ .byte 0x34, 0x00, 0x10, 0x00, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00
@ 831D94C
.include "data/pokedex_order.inc"
@@ -53,56 +54,142 @@
@ 832937C
.include "data/level_up_learnset_pointers.inc"
-gMonFrontAnimIdsTable:: @ 83299EC
- .incbin "baserom.gba", 0x3299ec, 0x19b
+@ 83299EC
+ .include "data/graphics/pokemon/front_anim_ids_table.inc"
-gMonAnimationDelayTable:: @ 8329B87
- .incbin "baserom.gba", 0x329b87, 0x19b
+@ 8329B87
+ .include "data/graphics/pokemon/animation_delay_table.inc"
+ .align 1
gUnknown_08329D22:: @ 8329D22
- .incbin "baserom.gba", 0x329d22, 0x4
+@ Masks for getting PP Up count, also PP Max values
+ .byte 0x03, 0x0c, 0x30, 0xc0
+ .align 1
gUnknown_08329D26:: @ 8329D26
- .incbin "baserom.gba", 0x329d26, 0x4
+@ Masks for setting PP Up count
+ .byte 0xfc, 0xf3, 0xcf, 0x3f
+ .align 1
gUnknown_08329D2A:: @ 8329D2A
- .incbin "baserom.gba", 0x329d2a, 0x4
+@ Values added to PP Up count
+ .byte 0x01, 0x04, 0x10, 0x40
+ .align 1
gStatStageRatios:: @ 8329D2E
- .incbin "baserom.gba", 0x329d2e, 0x1a
-
+ .byte 0x0a, 0x28
+ .byte 0x0a, 0x23
+ .byte 0x0a, 0x1e
+ .byte 0x0a, 0x19
+ .byte 0x0a, 0x14
+ .byte 0x0a, 0x0f
+ .byte 0x0a, 0x0a
+ .byte 0x0f, 0x0a
+ .byte 0x14, 0x0a
+ .byte 0x19, 0x0a
+ .byte 0x1e, 0x0a
+ .byte 0x23, 0x0a
+ .byte 0x28, 0x0a
+
+ .align 1
gUnknown_08329D48:: @ 8329D48
- .incbin "baserom.gba", 0x329d48, 0xc
+ .2byte 0x0032, 0x005f, 0x005a, 0x00b4, 0x005f, 0x005a
+ .align 1
gUnknown_08329D54:: @ 8329D54
- .incbin "baserom.gba", 0x329d54, 0x20
+ .2byte 0x0003, 0x000a, 0x001b, 0x002b, 0x001e, 0x0043, 0x0042, 0x0019
+ .2byte 0x0012, 0x000c, 0x001c, 0x0047, 0x001f, 0x0036, 0x0002, 0x0014
+ .align 1
gHoldEffectToType:: @ 8329D74
- .incbin "baserom.gba", 0x329d74, 0x24
+ .byte 0x1f, 0x06
+ .byte 0x2a, 0x08
+ .byte 0x2e, 0x04
+ .byte 0x2f, 0x05
+ .byte 0x30, 0x0c
+ .byte 0x31, 0x11
+ .byte 0x32, 0x01
+ .byte 0x33, 0x0d
+ .byte 0x34, 0x0b
+ .byte 0x35, 0x02
+ .byte 0x36, 0x03
+ .byte 0x37, 0x0f
+ .byte 0x38, 0x07
+ .byte 0x39, 0x0e
+ .byte 0x3a, 0x0a
+ .byte 0x3b, 0x10
+ .byte 0x3c, 0x00
+ .byte 0x00, 0x00
+ .align 2
gUnknown_08329D98:: @ 8329D98
- .incbin "baserom.gba", 0x329d98, 0x60
+ spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF3A8, gUnknown_082FF618, sub_8039BB4
+ spr_template 0xffff, 0x0000, gUnknown_0831ACA8, NULL, gUnknown_082FF3C8, gUnknown_082FF694, oac_poke_opponent
+ spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF3E8, gUnknown_082FF618, sub_8039BB4
+ spr_template 0xffff, 0x0000, gUnknown_0831ACA8, NULL, gUnknown_082FF408, gUnknown_082FF694, oac_poke_opponent
+ .align 2
gUnknown_08329DF8:: @ 8329DF8
- .incbin "baserom.gba", 0x329df8, 0xc0
+ spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF428, gUnknown_082FF618, sub_8039BB4
+ spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF448, gUnknown_082FF618, sub_8039BB4
+ spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF468, gUnknown_082FF618, sub_8039BB4
+ spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF490, gUnknown_082FF618, sub_8039BB4
+ spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF4B8, gUnknown_082FF618, sub_8039BB4
+ spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF4D8, gUnknown_082FF618, sub_8039BB4
+ spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF4F8, gUnknown_082FF618, sub_8039BB4
+ spr_template 0xffff, 0x0000, gUnknown_0831ACB0, NULL, gUnknown_082FF518, gUnknown_082FF618, sub_8039BB4
gSecretBaseTrainerClasses:: @ 8329EB8
- .incbin "baserom.gba", 0x329eb8, 0xa
+ .byte TRAINER_CLASS_YOUNGSTER, TRAINER_CLASS_BUG_CATCHER, TRAINER_CLASS_RICH_BOY, TRAINER_CLASS_CAMPER, TRAINER_CLASS_COOLTRAINER_1
+ .byte TRAINER_CLASS_LASS, TRAINER_CLASS_SCHOOL_KID_2, TRAINER_CLASS_LADY, TRAINER_CLASS_PICNICKER, TRAINER_CLASS_COOLTRAINER_2
gUnknown_08329EC2:: @ 8329EC2
- .incbin "baserom.gba", 0x329ec2, 0x6
+ .byte 0x1a, 0x1b, 0x1c, 0x1d, 0x1f, 0x1e
gUnknown_08329EC8:: @ 8329EC8
- .incbin "baserom.gba", 0x329ec8, 0x6
+ .byte 1, 1, 3, 2, 4, 6
gUnknown_08329ECE:: @ 8329ECE
- .incbin "baserom.gba", 0x329ece, 0x1c
-
+@ Happiness deltas
+ .byte 0x05, 0x03, 0x02
+ .byte 0x05, 0x03, 0x02
+ .byte 0x01, 0x01, 0x00
+ .byte 0x03, 0x02, 0x01
+ .byte 0x01, 0x01, 0x00
+ .byte 0x01, 0x01, 0x01
+ .byte 0xff, 0xff, 0xff
+ .byte 0xfb, 0xfb, 0xf6
+ .byte 0xfb, 0xfb, 0xf6
+
+ .align 1
gHMMoves:: @ 8329EEA
- .incbin "baserom.gba", 0x329eea, 0x12
-
+ .2byte MOVE_CUT
+ .2byte MOVE_FLY
+ .2byte MOVE_SURF
+ .2byte MOVE_STRENGTH
+ .2byte MOVE_FLASH
+ .2byte MOVE_ROCK_SMASH
+ .2byte MOVE_WATERFALL
+ .2byte MOVE_DIVE
+ .2byte 0xffff
+
+ .align 1
gAlteringCaveWildMonHeldItems:: @ 8329EFC
- .incbin "baserom.gba", 0x329efc, 0x2c
+ .2byte 0, ITEM_NONE
+ .2byte SPECIES_MAREEP, ITEM_GANLON_BERRY
+ .2byte SPECIES_PINECO, ITEM_APICOT_BERRY
+ .2byte SPECIES_HOUNDOUR, ITEM_BIG_MUSHROOM
+ .2byte SPECIES_TEDDIURSA, ITEM_PETAYA_BERRY
+ .2byte SPECIES_AIPOM, ITEM_BERRY_JUICE
+ .2byte SPECIES_SHUCKLE, ITEM_BERRY_JUICE
+ .2byte SPECIES_STANTLER, ITEM_PETAYA_BERRY
+ .2byte SPECIES_SMEARGLE, ITEM_SALAC_BERRY
+ .align 2
+gUnknown_08329F20:: @ 8329F20
+ .byte 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00
+
+ .align 2
gUnknown_08329F28:: @ 8329F28
- .incbin "baserom.gba", 0x329f28, 0x18
+ spr_template 0xffff, 0xffff, gUnknown_08329F20, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
diff --git a/data/enemy_mon_elevation.inc b/data/enemy_mon_elevation.inc
new file mode 100644
index 000000000..2dadadd07
--- /dev/null
+++ b/data/enemy_mon_elevation.inc
@@ -0,0 +1,415 @@
+@ This determines how much higher above the usual position the enemy Pokémon
+@ is during battle. Species that float or fly have nonzero values.
+gEnemyMonElevation:: @ 8305DCC
+ .byte 0 @ 0
+ .byte 0 @ SPECIES_BULBASAUR
+ .byte 0 @ SPECIES_IVYSAUR
+ .byte 0 @ SPECIES_VENUSAUR
+ .byte 0 @ SPECIES_CHARMANDER
+ .byte 0 @ SPECIES_CHARMELEON
+ .byte 0 @ SPECIES_CHARIZARD
+ .byte 0 @ SPECIES_SQUIRTLE
+ .byte 0 @ SPECIES_WARTORTLE
+ .byte 0 @ SPECIES_BLASTOISE
+ .byte 0 @ SPECIES_CATERPIE
+ .byte 0 @ SPECIES_METAPOD
+ .byte 8 @ SPECIES_BUTTERFREE
+ .byte 0 @ SPECIES_WEEDLE
+ .byte 0 @ SPECIES_KAKUNA
+ .byte 8 @ SPECIES_BEEDRILL
+ .byte 16 @ SPECIES_PIDGEY
+ .byte 0 @ SPECIES_PIDGEOTTO
+ .byte 4 @ SPECIES_PIDGEOT
+ .byte 0 @ SPECIES_RATTATA
+ .byte 0 @ SPECIES_RATICATE
+ .byte 0 @ SPECIES_SPEAROW
+ .byte 6 @ SPECIES_FEAROW
+ .byte 0 @ SPECIES_EKANS
+ .byte 0 @ SPECIES_ARBOK
+ .byte 0 @ SPECIES_PIKACHU
+ .byte 0 @ SPECIES_RAICHU
+ .byte 0 @ SPECIES_SANDSHREW
+ .byte 0 @ SPECIES_SANDSLASH
+ .byte 0 @ SPECIES_NIDORAN_F
+ .byte 0 @ SPECIES_NIDORINA
+ .byte 0 @ SPECIES_NIDOQUEEN
+ .byte 0 @ SPECIES_NIDORAN_M
+ .byte 0 @ SPECIES_NIDORINO
+ .byte 0 @ SPECIES_NIDOKING
+ .byte 0 @ SPECIES_CLEFAIRY
+ .byte 0 @ SPECIES_CLEFABLE
+ .byte 0 @ SPECIES_VULPIX
+ .byte 0 @ SPECIES_NINETALES
+ .byte 0 @ SPECIES_JIGGLYPUFF
+ .byte 0 @ SPECIES_WIGGLYTUFF
+ .byte 8 @ SPECIES_ZUBAT
+ .byte 8 @ SPECIES_GOLBAT
+ .byte 0 @ SPECIES_ODDISH
+ .byte 0 @ SPECIES_GLOOM
+ .byte 0 @ SPECIES_VILEPLUME
+ .byte 0 @ SPECIES_PARAS
+ .byte 0 @ SPECIES_PARASECT
+ .byte 0 @ SPECIES_VENONAT
+ .byte 8 @ SPECIES_VENOMOTH
+ .byte 0 @ SPECIES_DIGLETT
+ .byte 0 @ SPECIES_DUGTRIO
+ .byte 0 @ SPECIES_MEOWTH
+ .byte 0 @ SPECIES_PERSIAN
+ .byte 0 @ SPECIES_PSYDUCK
+ .byte 0 @ SPECIES_GOLDUCK
+ .byte 0 @ SPECIES_MANKEY
+ .byte 0 @ SPECIES_PRIMEAPE
+ .byte 0 @ SPECIES_GROWLITHE
+ .byte 0 @ SPECIES_ARCANINE
+ .byte 0 @ SPECIES_POLIWAG
+ .byte 0 @ SPECIES_POLIWHIRL
+ .byte 0 @ SPECIES_POLIWRATH
+ .byte 0 @ SPECIES_ABRA
+ .byte 0 @ SPECIES_KADABRA
+ .byte 0 @ SPECIES_ALAKAZAM
+ .byte 0 @ SPECIES_MACHOP
+ .byte 0 @ SPECIES_MACHOKE
+ .byte 0 @ SPECIES_MACHAMP
+ .byte 0 @ SPECIES_BELLSPROUT
+ .byte 0 @ SPECIES_WEEPINBELL
+ .byte 0 @ SPECIES_VICTREEBEL
+ .byte 0 @ SPECIES_TENTACOOL
+ .byte 0 @ SPECIES_TENTACRUEL
+ .byte 16 @ SPECIES_GEODUDE
+ .byte 0 @ SPECIES_GRAVELER
+ .byte 0 @ SPECIES_GOLEM
+ .byte 0 @ SPECIES_PONYTA
+ .byte 0 @ SPECIES_RAPIDASH
+ .byte 0 @ SPECIES_SLOWPOKE
+ .byte 0 @ SPECIES_SLOWBRO
+ .byte 16 @ SPECIES_MAGNEMITE
+ .byte 8 @ SPECIES_MAGNETON
+ .byte 0 @ SPECIES_FARFETCHD
+ .byte 0 @ SPECIES_DODUO
+ .byte 0 @ SPECIES_DODRIO
+ .byte 0 @ SPECIES_SEEL
+ .byte 0 @ SPECIES_DEWGONG
+ .byte 0 @ SPECIES_GRIMER
+ .byte 0 @ SPECIES_MUK
+ .byte 0 @ SPECIES_SHELLDER
+ .byte 0 @ SPECIES_CLOYSTER
+ .byte 4 @ SPECIES_GASTLY
+ .byte 4 @ SPECIES_HAUNTER
+ .byte 0 @ SPECIES_GENGAR
+ .byte 0 @ SPECIES_ONIX
+ .byte 0 @ SPECIES_DROWZEE
+ .byte 0 @ SPECIES_HYPNO
+ .byte 0 @ SPECIES_KRABBY
+ .byte 0 @ SPECIES_KINGLER
+ .byte 10 @ SPECIES_VOLTORB
+ .byte 12 @ SPECIES_ELECTRODE
+ .byte 0 @ SPECIES_EXEGGCUTE
+ .byte 0 @ SPECIES_EXEGGUTOR
+ .byte 0 @ SPECIES_CUBONE
+ .byte 0 @ SPECIES_MAROWAK
+ .byte 0 @ SPECIES_HITMONLEE
+ .byte 0 @ SPECIES_HITMONCHAN
+ .byte 0 @ SPECIES_LICKITUNG
+ .byte 8 @ SPECIES_KOFFING
+ .byte 6 @ SPECIES_WEEZING
+ .byte 0 @ SPECIES_RHYHORN
+ .byte 0 @ SPECIES_RHYDON
+ .byte 0 @ SPECIES_CHANSEY
+ .byte 0 @ SPECIES_TANGELA
+ .byte 0 @ SPECIES_KANGASKHAN
+ .byte 0 @ SPECIES_HORSEA
+ .byte 0 @ SPECIES_SEADRA
+ .byte 0 @ SPECIES_GOLDEEN
+ .byte 0 @ SPECIES_SEAKING
+ .byte 0 @ SPECIES_STARYU
+ .byte 0 @ SPECIES_STARMIE
+ .byte 0 @ SPECIES_MR_MIME
+ .byte 0 @ SPECIES_SCYTHER
+ .byte 0 @ SPECIES_JYNX
+ .byte 0 @ SPECIES_ELECTABUZZ
+ .byte 0 @ SPECIES_MAGMAR
+ .byte 0 @ SPECIES_PINSIR
+ .byte 0 @ SPECIES_TAUROS
+ .byte 0 @ SPECIES_MAGIKARP
+ .byte 0 @ SPECIES_GYARADOS
+ .byte 0 @ SPECIES_LAPRAS
+ .byte 0 @ SPECIES_DITTO
+ .byte 0 @ SPECIES_EEVEE
+ .byte 0 @ SPECIES_VAPOREON
+ .byte 0 @ SPECIES_JOLTEON
+ .byte 0 @ SPECIES_FLAREON
+ .byte 0 @ SPECIES_PORYGON
+ .byte 0 @ SPECIES_OMANYTE
+ .byte 0 @ SPECIES_OMASTAR
+ .byte 0 @ SPECIES_KABUTO
+ .byte 0 @ SPECIES_KABUTOPS
+ .byte 7 @ SPECIES_AERODACTYL
+ .byte 0 @ SPECIES_SNORLAX
+ .byte 6 @ SPECIES_ARTICUNO
+ .byte 8 @ SPECIES_ZAPDOS
+ .byte 5 @ SPECIES_MOLTRES
+ .byte 0 @ SPECIES_DRATINI
+ .byte 0 @ SPECIES_DRAGONAIR
+ .byte 6 @ SPECIES_DRAGONITE
+ .byte 0 @ SPECIES_MEWTWO
+ .byte 8 @ SPECIES_MEW
+ .byte 0 @ SPECIES_CHIKORITA
+ .byte 0 @ SPECIES_BAYLEEF
+ .byte 0 @ SPECIES_MEGANIUM
+ .byte 0 @ SPECIES_CYNDAQUIL
+ .byte 0 @ SPECIES_QUILAVA
+ .byte 0 @ SPECIES_TYPHLOSION
+ .byte 0 @ SPECIES_TOTODILE
+ .byte 0 @ SPECIES_CROCONAW
+ .byte 0 @ SPECIES_FERALIGATR
+ .byte 0 @ SPECIES_SENTRET
+ .byte 0 @ SPECIES_FURRET
+ .byte 0 @ SPECIES_HOOTHOOT
+ .byte 0 @ SPECIES_NOCTOWL
+ .byte 0 @ SPECIES_LEDYBA
+ .byte 8 @ SPECIES_LEDIAN
+ .byte 0 @ SPECIES_SPINARAK
+ .byte 0 @ SPECIES_ARIADOS
+ .byte 6 @ SPECIES_CROBAT
+ .byte 0 @ SPECIES_CHINCHOU
+ .byte 0 @ SPECIES_LANTURN
+ .byte 0 @ SPECIES_PICHU
+ .byte 0 @ SPECIES_CLEFFA
+ .byte 0 @ SPECIES_IGGLYBUFF
+ .byte 0 @ SPECIES_TOGEPI
+ .byte 0 @ SPECIES_TOGETIC
+ .byte 0 @ SPECIES_NATU
+ .byte 0 @ SPECIES_XATU
+ .byte 0 @ SPECIES_MAREEP
+ .byte 0 @ SPECIES_FLAAFFY
+ .byte 0 @ SPECIES_AMPHAROS
+ .byte 0 @ SPECIES_BELLOSSOM
+ .byte 0 @ SPECIES_MARILL
+ .byte 0 @ SPECIES_AZUMARILL
+ .byte 0 @ SPECIES_SUDOWOODO
+ .byte 0 @ SPECIES_POLITOED
+ .byte 11 @ SPECIES_HOPPIP
+ .byte 12 @ SPECIES_SKIPLOOM
+ .byte 9 @ SPECIES_JUMPLUFF
+ .byte 0 @ SPECIES_AIPOM
+ .byte 0 @ SPECIES_SUNKERN
+ .byte 0 @ SPECIES_SUNFLORA
+ .byte 8 @ SPECIES_YANMA
+ .byte 0 @ SPECIES_WOOPER
+ .byte 0 @ SPECIES_QUAGSIRE
+ .byte 0 @ SPECIES_ESPEON
+ .byte 0 @ SPECIES_UMBREON
+ .byte 0 @ SPECIES_MURKROW
+ .byte 0 @ SPECIES_SLOWKING
+ .byte 8 @ SPECIES_MISDREAVUS
+ .byte 8 @ SPECIES_UNOWN
+ .byte 0 @ SPECIES_WOBBUFFET
+ .byte 0 @ SPECIES_GIRAFARIG
+ .byte 0 @ SPECIES_PINECO
+ .byte 0 @ SPECIES_FORRETRESS
+ .byte 0 @ SPECIES_DUNSPARCE
+ .byte 6 @ SPECIES_GLIGAR
+ .byte 0 @ SPECIES_STEELIX
+ .byte 0 @ SPECIES_SNUBBULL
+ .byte 0 @ SPECIES_GRANBULL
+ .byte 0 @ SPECIES_QWILFISH
+ .byte 0 @ SPECIES_SCIZOR
+ .byte 0 @ SPECIES_SHUCKLE
+ .byte 0 @ SPECIES_HERACROSS
+ .byte 0 @ SPECIES_SNEASEL
+ .byte 0 @ SPECIES_TEDDIURSA
+ .byte 0 @ SPECIES_URSARING
+ .byte 0 @ SPECIES_SLUGMA
+ .byte 0 @ SPECIES_MAGCARGO
+ .byte 0 @ SPECIES_SWINUB
+ .byte 0 @ SPECIES_PILOSWINE
+ .byte 0 @ SPECIES_CORSOLA
+ .byte 0 @ SPECIES_REMORAID
+ .byte 0 @ SPECIES_OCTILLERY
+ .byte 0 @ SPECIES_DELIBIRD
+ .byte 0 @ SPECIES_MANTINE
+ .byte 0 @ SPECIES_SKARMORY
+ .byte 0 @ SPECIES_HOUNDOUR
+ .byte 0 @ SPECIES_HOUNDOOM
+ .byte 0 @ SPECIES_KINGDRA
+ .byte 0 @ SPECIES_PHANPY
+ .byte 0 @ SPECIES_DONPHAN
+ .byte 0 @ SPECIES_PORYGON2
+ .byte 0 @ SPECIES_STANTLER
+ .byte 0 @ SPECIES_SMEARGLE
+ .byte 0 @ SPECIES_TYROGUE
+ .byte 0 @ SPECIES_HITMONTOP
+ .byte 0 @ SPECIES_SMOOCHUM
+ .byte 0 @ SPECIES_ELEKID
+ .byte 0 @ SPECIES_MAGBY
+ .byte 0 @ SPECIES_MILTANK
+ .byte 0 @ SPECIES_BLISSEY
+ .byte 0 @ SPECIES_RAIKOU
+ .byte 0 @ SPECIES_ENTEI
+ .byte 0 @ SPECIES_SUICUNE
+ .byte 0 @ SPECIES_LARVITAR
+ .byte 0 @ SPECIES_PUPITAR
+ .byte 0 @ SPECIES_TYRANITAR
+ .byte 6 @ SPECIES_LUGIA
+ .byte 6 @ SPECIES_HO_OH
+ .byte 15 @ SPECIES_CELEBI
+ .byte 0 @ 252
+ .byte 0 @ 253
+ .byte 0 @ 254
+ .byte 0 @ 255
+ .byte 0 @ 256
+ .byte 0 @ 257
+ .byte 0 @ 258
+ .byte 0 @ 259
+ .byte 0 @ 260
+ .byte 0 @ 261
+ .byte 0 @ 262
+ .byte 0 @ 263
+ .byte 0 @ 264
+ .byte 0 @ 265
+ .byte 0 @ 266
+ .byte 0 @ 267
+ .byte 0 @ 268
+ .byte 0 @ 269
+ .byte 0 @ 270
+ .byte 0 @ 271
+ .byte 0 @ 272
+ .byte 0 @ 273
+ .byte 0 @ 274
+ .byte 0 @ 275
+ .byte 0 @ 276
+ .byte 0 @ SPECIES_TREECKO
+ .byte 0 @ SPECIES_GROVYLE
+ .byte 0 @ SPECIES_SCEPTILE
+ .byte 0 @ SPECIES_TORCHIC
+ .byte 0 @ SPECIES_COMBUSKEN
+ .byte 0 @ SPECIES_BLAZIKEN
+ .byte 0 @ SPECIES_MUDKIP
+ .byte 0 @ SPECIES_MARSHTOMP
+ .byte 0 @ SPECIES_SWAMPERT
+ .byte 0 @ SPECIES_POOCHYENA
+ .byte 0 @ SPECIES_MIGHTYENA
+ .byte 0 @ SPECIES_ZIGZAGOON
+ .byte 0 @ SPECIES_LINOONE
+ .byte 0 @ SPECIES_WURMPLE
+ .byte 0 @ SPECIES_SILCOON
+ .byte 8 @ SPECIES_BEAUTIFLY
+ .byte 0 @ SPECIES_CASCOON
+ .byte 10 @ SPECIES_DUSTOX
+ .byte 0 @ SPECIES_LOTAD
+ .byte 0 @ SPECIES_LOMBRE
+ .byte 0 @ SPECIES_LUDICOLO
+ .byte 0 @ SPECIES_SEEDOT
+ .byte 0 @ SPECIES_NUZLEAF
+ .byte 0 @ SPECIES_SHIFTRY
+ .byte 0 @ SPECIES_NINCADA
+ .byte 10 @ SPECIES_NINJASK
+ .byte 8 @ SPECIES_SHEDINJA
+ .byte 0 @ SPECIES_TAILLOW
+ .byte 0 @ SPECIES_SWELLOW
+ .byte 0 @ SPECIES_SHROOMISH
+ .byte 0 @ SPECIES_BRELOOM
+ .byte 0 @ SPECIES_SPINDA
+ .byte 16 @ SPECIES_WINGULL
+ .byte 8 @ SPECIES_PELIPPER
+ .byte 0 @ SPECIES_SURSKIT
+ .byte 10 @ SPECIES_MASQUERAIN
+ .byte 0 @ SPECIES_WAILMER
+ .byte 0 @ SPECIES_WAILORD
+ .byte 0 @ SPECIES_SKITTY
+ .byte 0 @ SPECIES_DELCATTY
+ .byte 0 @ SPECIES_KECLEON
+ .byte 4 @ SPECIES_BALTOY
+ .byte 10 @ SPECIES_CLAYDOL
+ .byte 0 @ SPECIES_NOSEPASS
+ .byte 0 @ SPECIES_TORKOAL
+ .byte 0 @ SPECIES_SABLEYE
+ .byte 0 @ SPECIES_BARBOACH
+ .byte 0 @ SPECIES_WHISCASH
+ .byte 0 @ SPECIES_LUVDISC
+ .byte 0 @ SPECIES_CORPHISH
+ .byte 0 @ SPECIES_CRAWDAUNT
+ .byte 0 @ SPECIES_FEEBAS
+ .byte 0 @ SPECIES_MILOTIC
+ .byte 0 @ SPECIES_CARVANHA
+ .byte 0 @ SPECIES_SHARPEDO
+ .byte 0 @ SPECIES_TRAPINCH
+ .byte 0 @ SPECIES_VIBRAVA
+ .byte 7 @ SPECIES_FLYGON
+ .byte 0 @ SPECIES_MAKUHITA
+ .byte 0 @ SPECIES_HARIYAMA
+ .byte 0 @ SPECIES_ELECTRIKE
+ .byte 0 @ SPECIES_MANECTRIC
+ .byte 0 @ SPECIES_NUMEL
+ .byte 0 @ SPECIES_CAMERUPT
+ .byte 0 @ SPECIES_SPHEAL
+ .byte 0 @ SPECIES_SEALEO
+ .byte 0 @ SPECIES_WALREIN
+ .byte 0 @ SPECIES_CACNEA
+ .byte 0 @ SPECIES_CACTURNE
+ .byte 0 @ SPECIES_SNORUNT
+ .byte 12 @ SPECIES_GLALIE
+ .byte 13 @ SPECIES_LUNATONE
+ .byte 4 @ SPECIES_SOLROCK
+ .byte 0 @ SPECIES_AZURILL
+ .byte 0 @ SPECIES_SPOINK
+ .byte 0 @ SPECIES_GRUMPIG
+ .byte 0 @ SPECIES_PLUSLE
+ .byte 0 @ SPECIES_MINUN
+ .byte 0 @ SPECIES_MAWILE
+ .byte 0 @ SPECIES_MEDITITE
+ .byte 0 @ SPECIES_MEDICHAM
+ .byte 12 @ SPECIES_SWABLU
+ .byte 8 @ SPECIES_ALTARIA
+ .byte 0 @ SPECIES_WYNAUT
+ .byte 9 @ SPECIES_DUSKULL
+ .byte 0 @ SPECIES_DUSCLOPS
+ .byte 0 @ SPECIES_ROSELIA
+ .byte 0 @ SPECIES_SLAKOTH
+ .byte 0 @ SPECIES_VIGOROTH
+ .byte 0 @ SPECIES_SLAKING
+ .byte 0 @ SPECIES_GULPIN
+ .byte 0 @ SPECIES_SWALOT
+ .byte 0 @ SPECIES_TROPIUS
+ .byte 0 @ SPECIES_WHISMUR
+ .byte 0 @ SPECIES_LOUDRED
+ .byte 0 @ SPECIES_EXPLOUD
+ .byte 0 @ SPECIES_CLAMPERL
+ .byte 0 @ SPECIES_HUNTAIL
+ .byte 0 @ SPECIES_GOREBYSS
+ .byte 0 @ SPECIES_ABSOL
+ .byte 12 @ SPECIES_SHUPPET
+ .byte 8 @ SPECIES_BANETTE
+ .byte 0 @ SPECIES_SEVIPER
+ .byte 0 @ SPECIES_ZANGOOSE
+ .byte 0 @ SPECIES_RELICANTH
+ .byte 0 @ SPECIES_ARON
+ .byte 0 @ SPECIES_LAIRON
+ .byte 0 @ SPECIES_AGGRON
+ .byte 16 @ SPECIES_CASTFORM
+ .byte 0 @ SPECIES_VOLBEAT
+ .byte 0 @ SPECIES_ILLUMISE
+ .byte 0 @ SPECIES_LILEEP
+ .byte 0 @ SPECIES_CRADILY
+ .byte 0 @ SPECIES_ANORITH
+ .byte 0 @ SPECIES_ARMALDO
+ .byte 0 @ SPECIES_RALTS
+ .byte 0 @ SPECIES_KIRLIA
+ .byte 0 @ SPECIES_GARDEVOIR
+ .byte 0 @ SPECIES_BAGON
+ .byte 0 @ SPECIES_SHELGON
+ .byte 0 @ SPECIES_SALAMENCE
+ .byte 8 @ SPECIES_BELDUM
+ .byte 0 @ SPECIES_METANG
+ .byte 0 @ SPECIES_METAGROSS
+ .byte 0 @ SPECIES_REGIROCK
+ .byte 0 @ SPECIES_REGICE
+ .byte 0 @ SPECIES_REGISTEEL
+ .byte 0 @ SPECIES_KYOGRE
+ .byte 0 @ SPECIES_GROUDON
+ .byte 6 @ SPECIES_RAYQUAZA
+ .byte 6 @ SPECIES_LATIAS
+ .byte 6 @ SPECIES_LATIOS
+ .byte 12 @ SPECIES_JIRACHI
+ .byte 8 @ SPECIES_DEOXYS
+ .byte 12 @ SPECIES_CHIMECHO
diff --git a/data/fanfares.s b/data/fanfares.s
index 26d2d82d1..2a0c2576a 100644
--- a/data/fanfares.s
+++ b/data/fanfares.s
@@ -5,4 +5,22 @@
.align 2, 0
sFanfares:: @ 85248BC
- .incbin "baserom.gba", 0x5248bc, 0x48
+@ song number, duration
+ .2byte 0x016f, 0x0050
+ .2byte 0x0172, 0x00a0
+ .2byte 0x0173, 0x00dc
+ .2byte 0x0174, 0x00dc
+ .2byte 0x0170, 0x00a0
+ .2byte 0x0171, 0x0154
+ .2byte 0x017a, 0x00b4
+ .2byte 0x0183, 0x0078
+ .2byte 0x0184, 0x02c6
+ .2byte 0x0185, 0x00fa
+ .2byte 0x0186, 0x0096
+ .2byte 0x0187, 0x00a0
+ .2byte 0x0226, 0x01c2
+ .2byte 0x0212, 0x00aa
+ .2byte 0x0211, 0x00c4
+ .2byte 0x01cb, 0x0139
+ .2byte 0x01d2, 0x013e
+ .2byte 0x01cc, 0x0087
diff --git a/data/fldeff_emotion.s b/data/fldeff_emotion.s
deleted file mode 100644
index f2c90d637..000000000
--- a/data/fldeff_emotion.s
+++ /dev/null
@@ -1,11 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
- .align 2, 0
-
-gUnknown_085507B4:: @ 85507B4
- .incbin "baserom.gba", 0x5507b4, 0x18
-
-gUnknown_085507CC:: @ 85507CC
- .incbin "baserom.gba", 0x5507cc, 0x18
diff --git a/data/graphics.s b/data/graphics.s
index e817e62dd..e1b76565a 100644
--- a/data/graphics.s
+++ b/data/graphics.s
@@ -207,10 +207,10 @@ gUnknown_08C2EA9C:: @ 8C2EA9C
.incbin "baserom.gba", 0xc2ea9c, 0xf6c
@ 8C2FA08
- .include "data/graphics/pokemon/mon_graphics.inc"
+ .include "data/graphics/pokemon/graphics.inc"
@ 8D51DC8
- .include "data/graphics/trainers/trainer_graphics.inc"
+ .include "data/graphics/trainers/graphics.inc"
.align 2
gMonIcon_QuestionMark:: @ 8D774D0
@@ -230,19 +230,82 @@ gUnknown_08D77AE4:: @ 8D77AE4
.incbin "baserom.gba", 0xd77ae4, 0x28
gUnknown_08D77B0C:: @ 8D77B0C
- .incbin "baserom.gba", 0xd77b0c, 0x25fc
+ .incbin "baserom.gba", 0xd77b0c, 0x25c
+
+gUnknown_08D77D68:: @ 8D77D68
+ .incbin "baserom.gba", 0xd77d68, 0x5b0
+
+gUnknown_08D78318:: @ 8D78318
+ .incbin "baserom.gba", 0xd78318, 0x38
+
+gUnknown_08D78350:: @ 8D78350
+ .incbin "baserom.gba", 0xd78350, 0x2b0
+
+gUnknown_08D78600:: @ 8D78600
+ .incbin "baserom.gba", 0xd78600, 0x678
+
+gUnknown_08D78C78:: @ 8D78C78
+ .incbin "baserom.gba", 0xd78C78, 0x40
+
+gUnknown_08D78CB8:: @ 8D78CB8
+ .incbin "baserom.gba", 0xd78CB8, 0x2b0
+
+gUnknown_08D78F68:: @ 8D78F68
+ .incbin "baserom.gba", 0xd78f68, 0x5f8
+
+gUnknown_08D79560:: @ 8D79560
+ .incbin "baserom.gba", 0xd79560, 0x48
+
+gUnknown_08D795A8:: @ 8D795A8
+ .incbin "baserom.gba", 0xd795A8, 0x2b0
+
+gUnknown_08D79858:: @ 8D79858
+ .incbin "baserom.gba", 0xd79858, 0x5b8
+
+gUnknown_08D79E10:: @ 8D79E10
+ .incbin "baserom.gba", 0xd79E10, 0x48
+
+gUnknown_08D79E58:: @ 8D79E58
+ .incbin "baserom.gba", 0xd79e58, 0x2b0
gUnknown_08D7A108:: @ 8D7A108
- .incbin "baserom.gba", 0xd7a108, 0x618
+ .incbin "baserom.gba", 0xd7a108, 0x5d4
+
+gUnknown_08D7A6DC:: @ 8D7A6DC
+ .incbin "baserom.gba", 0xd7a6DC, 0x44
gUnknown_08D7A720:: @ 8D7A720
- .incbin "baserom.gba", 0xd7a720, 0x13f4
+ .incbin "baserom.gba", 0xd7a720, 0x2b0
+
+gUnknown_08D7A9D0:: @ 8D7A9D0
+ .incbin "baserom.gba", 0xd7a9D0, 0x5a8
+
+gUnknown_08D7AF78:: @ 8D7AF78
+ .incbin "baserom.gba", 0xd7af78, 0x40
+
+gUnknown_08D7AFB8:: @ 8D7AFB8
+ .incbin "baserom.gba", 0xd7aFB8, 0x2b0
+
+gUnknown_08D7B268:: @ 8D7B268
+ .incbin "baserom.gba", 0xd7b268, 0x5c0
+
+gUnknown_08D7B828:: @ 8D7B828
+ .incbin "baserom.gba", 0xd7b828, 0x3c
+
+gUnknown_08D7B864:: @ 8D7B864
+ .incbin "baserom.gba", 0xd7b864, 0x2b0
gUnknown_08D7BB14:: @ 8D7BB14
- .incbin "baserom.gba", 0xd7bb14, 0x640
+ .incbin "baserom.gba", 0xd7bb14, 0x5f8
+
+gUnknown_08D7C10C:: @ 8D7C10C
+ .incbin "baserom.gba", 0xd7c10c, 0x48
gUnknown_08D7C154:: @ 8D7C154
- .incbin "baserom.gba", 0xd7c154, 0x2ec
+ .incbin "baserom.gba", 0xd7c154, 0x2b0
+
+gUnknown_08D7C404:: @ 8D7C404
+ .incbin "baserom.gba", 0xd7c404, 0x3c
gUnknown_08D7C440:: @ 8D7C440
.incbin "baserom.gba", 0xd7c440, 0x5ac
@@ -263,7 +326,10 @@ gUnknown_08D7D590:: @ 8D7D590
.incbin "baserom.gba", 0xd7d590, 0x674
gUnknown_08D7DC04:: @ 8D7DC04
- .incbin "baserom.gba", 0xd7dc04, 0x2f0
+ .incbin "baserom.gba", 0xd7dc04, 0x2b0
+
+gUnknown_08D7DEB4:: @ 8D7DEB4
+ .incbin "baserom.gba", 0xd7deb4, 0x40
gUnknown_08D7DEF4:: @ 8D7DEF4
.incbin "baserom.gba", 0xd7def4, 0x3c
@@ -299,13 +365,49 @@ gUnknown_08D7E1F8:: @ 8D7E1F8
.incbin "baserom.gba", 0xd7e1f8, 0x3c
gUnknown_08D7E234:: @ 8D7E234
- .incbin "baserom.gba", 0xd7e234, 0x17c4
+ .incbin "baserom.gba", 0xd7e234, 0x4c
+
+gUnknown_08D7E280:: @ 8D7E280
+ .incbin "baserom.gba", 0xd7e280, 0x588
+
+gUnknown_08D7E808:: @ 8D7E808
+ .incbin "baserom.gba", 0xd7e808, 0x1bc
+
+gUnknown_08D7E9C4:: @ 8D7E9C4
+ .incbin "baserom.gba", 0xd7e9C4, 0x710
+
+gUnknown_08D7F0D4:: @ 8D7F0D4
+ .incbin "baserom.gba", 0xd7F0D4, 0x238
+
+gUnknown_08D7F30C:: @ 8D7F30C
+ .incbin "baserom.gba", 0xd7F30c, 0x544
+
+gUnknown_08D7F850:: @ 8D7F850
+ .incbin "baserom.gba", 0xd7F850, 0x1a8
gUnknown_08D7F9F8:: @ 8D7F9F8
.incbin "baserom.gba", 0xd7f9f8, 0x4cc
gUnknown_08D7FEC4:: @ 8D7FEC4
- .incbin "baserom.gba", 0xd7fec4, 0x174c
+ .incbin "baserom.gba", 0xd7fec4, 0x190
+
+gUnknown_08D80054:: @ 8D80054
+ .incbin "baserom.gba", 0xd80054, 0x60c
+
+gUnknown_08D80660:: @ 8D80660
+ .incbin "baserom.gba", 0xd80660, 0x1a4
+
+gUnknown_08D80804:: @ 8D80804
+ .incbin "baserom.gba", 0xd80804, 0x54c
+
+gUnknown_08D80D50:: @ 8D80D50
+ .incbin "baserom.gba", 0xd80d50, 0x14C
+
+gUnknown_08D80E9C:: @ 8D80E9C
+ .incbin "baserom.gba", 0xd80e9c, 0x5e0
+
+gUnknown_08D8147C:: @ 8D8147C
+ .incbin "baserom.gba", 0xd8147C, 0x194
gUnknown_08D81610:: @ 8D81610
.incbin "baserom.gba", 0xd81610, 0x81c
diff --git a/data/graphics/pokemon/animation_delay_table.inc b/data/graphics/pokemon/animation_delay_table.inc
new file mode 100644
index 000000000..55d602bab
--- /dev/null
+++ b/data/graphics/pokemon/animation_delay_table.inc
@@ -0,0 +1,412 @@
+gMonAnimationDelayTable:: @ 8329B87
+ .byte 0x00 @ SPECIES_BULBASAUR
+ .byte 0x00 @ SPECIES_IVYSAUR
+ .byte 0x00 @ SPECIES_VENUSAUR
+ .byte 0x00 @ SPECIES_CHARMANDER
+ .byte 0x00 @ SPECIES_CHARMELEON
+ .byte 0x00 @ SPECIES_CHARIZARD
+ .byte 0x00 @ SPECIES_SQUIRTLE
+ .byte 0x00 @ SPECIES_WARTORTLE
+ .byte 0x32 @ SPECIES_BLASTOISE
+ .byte 0x00 @ SPECIES_CATERPIE
+ .byte 0x00 @ SPECIES_METAPOD
+ .byte 0x00 @ SPECIES_BUTTERFREE
+ .byte 0x0a @ SPECIES_WEEDLE
+ .byte 0x14 @ SPECIES_KAKUNA
+ .byte 0x23 @ SPECIES_BEEDRILL
+ .byte 0x00 @ SPECIES_PIDGEY
+ .byte 0x19 @ SPECIES_PIDGEOTTO
+ .byte 0x00 @ SPECIES_PIDGEOT
+ .byte 0x00 @ SPECIES_RATTATA
+ .byte 0x00 @ SPECIES_RATICATE
+ .byte 0x00 @ SPECIES_SPEAROW
+ .byte 0x02 @ SPECIES_FEAROW
+ .byte 0x1e @ SPECIES_EKANS
+ .byte 0x00 @ SPECIES_ARBOK
+ .byte 0x00 @ SPECIES_PIKACHU
+ .byte 0x00 @ SPECIES_RAICHU
+ .byte 0x00 @ SPECIES_SANDSHREW
+ .byte 0x00 @ SPECIES_SANDSLASH
+ .byte 0x1c @ SPECIES_NIDORAN_F
+ .byte 0x00 @ SPECIES_NIDORINA
+ .byte 0x00 @ SPECIES_NIDOQUEEN
+ .byte 0x00 @ SPECIES_NIDORAN_M
+ .byte 0x00 @ SPECIES_NIDORINO
+ .byte 0x19 @ SPECIES_NIDOKING
+ .byte 0x00 @ SPECIES_CLEFAIRY
+ .byte 0x00 @ SPECIES_CLEFABLE
+ .byte 0x00 @ SPECIES_VULPIX
+ .byte 0x00 @ SPECIES_NINETALES
+ .byte 0x00 @ SPECIES_JIGGLYPUFF
+ .byte 0x00 @ SPECIES_WIGGLYTUFF
+ .byte 0x00 @ SPECIES_ZUBAT
+ .byte 0x00 @ SPECIES_GOLBAT
+ .byte 0x00 @ SPECIES_ODDISH
+ .byte 0x00 @ SPECIES_GLOOM
+ .byte 0x00 @ SPECIES_VILEPLUME
+ .byte 0x0a @ SPECIES_PARAS
+ .byte 0x2d @ SPECIES_PARASECT
+ .byte 0x14 @ SPECIES_VENONAT
+ .byte 0x00 @ SPECIES_VENOMOTH
+ .byte 0x19 @ SPECIES_DIGLETT
+ .byte 0x23 @ SPECIES_DUGTRIO
+ .byte 0x28 @ SPECIES_MEOWTH
+ .byte 0x14 @ SPECIES_PERSIAN
+ .byte 0x00 @ SPECIES_PSYDUCK
+ .byte 0x00 @ SPECIES_GOLDUCK
+ .byte 0x14 @ SPECIES_MANKEY
+ .byte 0x00 @ SPECIES_PRIMEAPE
+ .byte 0x1e @ SPECIES_GROWLITHE
+ .byte 0x28 @ SPECIES_ARCANINE
+ .byte 0x00 @ SPECIES_POLIWAG
+ .byte 0x05 @ SPECIES_POLIWHIRL
+ .byte 0x00 @ SPECIES_POLIWRATH
+ .byte 0x00 @ SPECIES_ABRA
+ .byte 0x00 @ SPECIES_KADABRA
+ .byte 0x00 @ SPECIES_ALAKAZAM
+ .byte 0x00 @ SPECIES_MACHOP
+ .byte 0x00 @ SPECIES_MACHOKE
+ .byte 0x00 @ SPECIES_MACHAMP
+ .byte 0x00 @ SPECIES_BELLSPROUT
+ .byte 0x03 @ SPECIES_WEEPINBELL
+ .byte 0x00 @ SPECIES_VICTREEBEL
+ .byte 0x00 @ SPECIES_TENTACOOL
+ .byte 0x00 @ SPECIES_TENTACRUEL
+ .byte 0x00 @ SPECIES_GEODUDE
+ .byte 0x00 @ SPECIES_GRAVELER
+ .byte 0x00 @ SPECIES_GOLEM
+ .byte 0x00 @ SPECIES_PONYTA
+ .byte 0x00 @ SPECIES_RAPIDASH
+ .byte 0x00 @ SPECIES_SLOWPOKE
+ .byte 0x00 @ SPECIES_SLOWBRO
+ .byte 0x00 @ SPECIES_MAGNEMITE
+ .byte 0x00 @ SPECIES_MAGNETON
+ .byte 0x00 @ SPECIES_FARFETCH_D
+ .byte 0x00 @ SPECIES_DODUO
+ .byte 0x00 @ SPECIES_DODRIO
+ .byte 0x00 @ SPECIES_SEEL
+ .byte 0x00 @ SPECIES_DEWGONG
+ .byte 0x00 @ SPECIES_GRIMER
+ .byte 0x2d @ SPECIES_MUK
+ .byte 0x14 @ SPECIES_SHELLDER
+ .byte 0x00 @ SPECIES_CLOYSTER
+ .byte 0x00 @ SPECIES_GASTLY
+ .byte 0x17 @ SPECIES_HAUNTER
+ .byte 0x00 @ SPECIES_GENGAR
+ .byte 0x00 @ SPECIES_ONIX
+ .byte 0x30 @ SPECIES_DROWZEE
+ .byte 0x28 @ SPECIES_HYPNO
+ .byte 0x00 @ SPECIES_KRABBY
+ .byte 0x00 @ SPECIES_KINGLER
+ .byte 0x00 @ SPECIES_VOLTORB
+ .byte 0x00 @ SPECIES_ELECTRODE
+ .byte 0x00 @ SPECIES_EXEGGCUTE
+ .byte 0x00 @ SPECIES_EXEGGUTOR
+ .byte 0x00 @ SPECIES_CUBONE
+ .byte 0x00 @ SPECIES_MAROWAK
+ .byte 0x00 @ SPECIES_HITMONLEE
+ .byte 0x19 @ SPECIES_HITMONCHAN
+ .byte 0x00 @ SPECIES_LICKITUNG
+ .byte 0x00 @ SPECIES_KOFFING
+ .byte 0x00 @ SPECIES_WEEZING
+ .byte 0x00 @ SPECIES_RHYHORN
+ .byte 0x00 @ SPECIES_RHYDON
+ .byte 0x00 @ SPECIES_CHANSEY
+ .byte 0x00 @ SPECIES_TANGELA
+ .byte 0x00 @ SPECIES_KANGASKHAN
+ .byte 0x00 @ SPECIES_HORSEA
+ .byte 0x00 @ SPECIES_SEADRA
+ .byte 0x00 @ SPECIES_GOLDEEN
+ .byte 0x00 @ SPECIES_SEAKING
+ .byte 0x00 @ SPECIES_STARYU
+ .byte 0x00 @ SPECIES_STARMIE
+ .byte 0x00 @ SPECIES_MR_MIME
+ .byte 0x0a @ SPECIES_SCYTHER
+ .byte 0x00 @ SPECIES_JYNX
+ .byte 0x00 @ SPECIES_ELECTABUZZ
+ .byte 0x00 @ SPECIES_MAGMAR
+ .byte 0x00 @ SPECIES_PINSIR
+ .byte 0x0a @ SPECIES_TAUROS
+ .byte 0x00 @ SPECIES_MAGIKARP
+ .byte 0x00 @ SPECIES_GYARADOS
+ .byte 0x00 @ SPECIES_LAPRAS
+ .byte 0x00 @ SPECIES_DITTO
+ .byte 0x00 @ SPECIES_EEVEE
+ .byte 0x00 @ SPECIES_VAPOREON
+ .byte 0x00 @ SPECIES_JOLTEON
+ .byte 0x00 @ SPECIES_FLAREON
+ .byte 0x00 @ SPECIES_PORYGON
+ .byte 0x00 @ SPECIES_OMANYTE
+ .byte 0x00 @ SPECIES_OMASTAR
+ .byte 0x00 @ SPECIES_KABUTO
+ .byte 0x00 @ SPECIES_KABUTOPS
+ .byte 0x00 @ SPECIES_AERODACTYL
+ .byte 0x00 @ SPECIES_SNORLAX
+ .byte 0x00 @ SPECIES_ARTICUNO
+ .byte 0x00 @ SPECIES_ZAPDOS
+ .byte 0x00 @ SPECIES_MOLTRES
+ .byte 0x00 @ SPECIES_DRATINI
+ .byte 0x00 @ SPECIES_DRAGONAIR
+ .byte 0x00 @ SPECIES_DRAGONITE
+ .byte 0x00 @ SPECIES_MEWTWO
+ .byte 0x00 @ SPECIES_MEW
+ .byte 0x00 @ SPECIES_CHIKORITA
+ .byte 0x00 @ SPECIES_BAYLEEF
+ .byte 0x00 @ SPECIES_MEGANIUM
+ .byte 0x00 @ SPECIES_CYNDAQUIL
+ .byte 0x00 @ SPECIES_QUILAVA
+ .byte 0x14 @ SPECIES_TYPHLOSION
+ .byte 0x00 @ SPECIES_TOTODILE
+ .byte 0x00 @ SPECIES_CROCONAW
+ .byte 0x05 @ SPECIES_FERALIGATR
+ .byte 0x00 @ SPECIES_SENTRET
+ .byte 0x00 @ SPECIES_FURRET
+ .byte 0x00 @ SPECIES_HOOTHOOT
+ .byte 0x00 @ SPECIES_NOCTOWL
+ .byte 0x00 @ SPECIES_LEDYBA
+ .byte 0x00 @ SPECIES_LEDIAN
+ .byte 0x00 @ SPECIES_SPINARAK
+ .byte 0x00 @ SPECIES_ARIADOS
+ .byte 0x00 @ SPECIES_CROBAT
+ .byte 0x00 @ SPECIES_CHINCHOU
+ .byte 0x00 @ SPECIES_LANTURN
+ .byte 0x00 @ SPECIES_PICHU
+ .byte 0x00 @ SPECIES_CLEFFA
+ .byte 0x00 @ SPECIES_IGGLYBUFF
+ .byte 0x00 @ SPECIES_TOGEPI
+ .byte 0x00 @ SPECIES_TOGETIC
+ .byte 0x1e @ SPECIES_NATU
+ .byte 0x00 @ SPECIES_XATU
+ .byte 0x32 @ SPECIES_MAREEP
+ .byte 0x00 @ SPECIES_FLAAFFY
+ .byte 0x0a @ SPECIES_AMPHAROS
+ .byte 0x00 @ SPECIES_BELLOSSOM
+ .byte 0x00 @ SPECIES_MARILL
+ .byte 0x00 @ SPECIES_AZUMARILL
+ .byte 0x00 @ SPECIES_SUDOWOODO
+ .byte 0x28 @ SPECIES_POLITOED
+ .byte 0x00 @ SPECIES_HOPPIP
+ .byte 0x00 @ SPECIES_SKIPLOOM
+ .byte 0x00 @ SPECIES_JUMPLUFF
+ .byte 0x00 @ SPECIES_AIPOM
+ .byte 0x00 @ SPECIES_SUNKERN
+ .byte 0x00 @ SPECIES_SUNFLORA
+ .byte 0x00 @ SPECIES_YANMA
+ .byte 0x00 @ SPECIES_WOOPER
+ .byte 0x00 @ SPECIES_QUAGSIRE
+ .byte 0x00 @ SPECIES_ESPEON
+ .byte 0x00 @ SPECIES_UMBREON
+ .byte 0x00 @ SPECIES_MURKROW
+ .byte 0x00 @ SPECIES_SLOWKING
+ .byte 0x00 @ SPECIES_MISDREAVUS
+ .byte 0x00 @ SPECIES_UNOWN
+ .byte 0x00 @ SPECIES_WOBBUFFET
+ .byte 0x00 @ SPECIES_GIRAFARIG
+ .byte 0x00 @ SPECIES_PINECO
+ .byte 0x00 @ SPECIES_FORRETRESS
+ .byte 0x0a @ SPECIES_DUNSPARCE
+ .byte 0x00 @ SPECIES_GLIGAR
+ .byte 0x2d @ SPECIES_STEELIX
+ .byte 0x00 @ SPECIES_SNUBBULL
+ .byte 0x00 @ SPECIES_GRANBULL
+ .byte 0x27 @ SPECIES_QWILFISH
+ .byte 0x13 @ SPECIES_SCIZOR
+ .byte 0x00 @ SPECIES_SHUCKLE
+ .byte 0x00 @ SPECIES_HERACROSS
+ .byte 0x00 @ SPECIES_SNEASEL
+ .byte 0x00 @ SPECIES_TEDDIURSA
+ .byte 0x00 @ SPECIES_URSARING
+ .byte 0x00 @ SPECIES_SLUGMA
+ .byte 0x00 @ SPECIES_MAGCARGO
+ .byte 0x00 @ SPECIES_SWINUB
+ .byte 0x00 @ SPECIES_PILOSWINE
+ .byte 0x00 @ SPECIES_CORSOLA
+ .byte 0x00 @ SPECIES_REMORAID
+ .byte 0x14 @ SPECIES_OCTILLERY
+ .byte 0x00 @ SPECIES_DELIBIRD
+ .byte 0x00 @ SPECIES_MANTINE
+ .byte 0x00 @ SPECIES_SKARMORY
+ .byte 0x00 @ SPECIES_HOUNDOUR
+ .byte 0x00 @ SPECIES_HOUNDOOM
+ .byte 0x00 @ SPECIES_KINGDRA
+ .byte 0x00 @ SPECIES_PHANPY
+ .byte 0x00 @ SPECIES_DONPHAN
+ .byte 0x00 @ SPECIES_PORYGON2
+ .byte 0x00 @ SPECIES_STANTLER
+ .byte 0x00 @ SPECIES_SMEARGLE
+ .byte 0x00 @ SPECIES_TYROGUE
+ .byte 0x00 @ SPECIES_HITMONTOP
+ .byte 0x28 @ SPECIES_SMOOCHUM
+ .byte 0x00 @ SPECIES_ELEKID
+ .byte 0x00 @ SPECIES_MAGBY
+ .byte 0x00 @ SPECIES_MILTANK
+ .byte 0x00 @ SPECIES_BLISSEY
+ .byte 0x00 @ SPECIES_RAIKOU
+ .byte 0x00 @ SPECIES_ENTEI
+ .byte 0x00 @ SPECIES_SUICUNE
+ .byte 0x00 @ SPECIES_LARVITAR
+ .byte 0x00 @ SPECIES_PUPITAR
+ .byte 0x0a @ SPECIES_TYRANITAR
+ .byte 0x14 @ SPECIES_LUGIA
+ .byte 0x00 @ SPECIES_HO_OH
+ .byte 0x00 @ SPECIES_CELEBI
+ .byte 0x00 @ 252
+ .byte 0x00 @ 253
+ .byte 0x00 @ 254
+ .byte 0x00 @ 255
+ .byte 0x00 @ 256
+ .byte 0x00 @ 257
+ .byte 0x00 @ 258
+ .byte 0x00 @ 259
+ .byte 0x00 @ 260
+ .byte 0x00 @ 261
+ .byte 0x00 @ 262
+ .byte 0x00 @ 263
+ .byte 0x00 @ 264
+ .byte 0x00 @ 265
+ .byte 0x00 @ 266
+ .byte 0x00 @ 267
+ .byte 0x00 @ 268
+ .byte 0x00 @ 269
+ .byte 0x00 @ 270
+ .byte 0x00 @ 271
+ .byte 0x00 @ 272
+ .byte 0x00 @ 273
+ .byte 0x00 @ 274
+ .byte 0x00 @ 275
+ .byte 0x00 @ 276
+ .byte 0x00 @ SPECIES_TREECKO
+ .byte 0x00 @ SPECIES_GROVYLE
+ .byte 0x00 @ SPECIES_SCEPTILE
+ .byte 0x00 @ SPECIES_TORCHIC
+ .byte 0x00 @ SPECIES_COMBUSKEN
+ .byte 0x00 @ SPECIES_BLAZIKEN
+ .byte 0x00 @ SPECIES_MUDKIP
+ .byte 0x00 @ SPECIES_MARSHTOMP
+ .byte 0x00 @ SPECIES_SWAMPERT
+ .byte 0x00 @ SPECIES_POOCHYENA
+ .byte 0x00 @ SPECIES_MIGHTYENA
+ .byte 0x00 @ SPECIES_ZIGZAGOON
+ .byte 0x00 @ SPECIES_LINOONE
+ .byte 0x00 @ SPECIES_WURMPLE
+ .byte 0x00 @ SPECIES_SILCOON
+ .byte 0x00 @ SPECIES_BEAUTIFLY
+ .byte 0x00 @ SPECIES_CASCOON
+ .byte 0x00 @ SPECIES_DUSTOX
+ .byte 0x00 @ SPECIES_LOTAD
+ .byte 0x00 @ SPECIES_LOMBRE
+ .byte 0x00 @ SPECIES_LUDICOLO
+ .byte 0x00 @ SPECIES_SEEDOT
+ .byte 0x00 @ SPECIES_NUZLEAF
+ .byte 0x00 @ SPECIES_SHIFTRY
+ .byte 0x00 @ SPECIES_NINCADA
+ .byte 0x00 @ SPECIES_NINJASK
+ .byte 0x00 @ SPECIES_SHEDINJA
+ .byte 0x00 @ SPECIES_TAILLOW
+ .byte 0x00 @ SPECIES_SWELLOW
+ .byte 0x00 @ SPECIES_SHROOMISH
+ .byte 0x00 @ SPECIES_BRELOOM
+ .byte 0x00 @ SPECIES_SPINDA
+ .byte 0x00 @ SPECIES_WINGULL
+ .byte 0x00 @ SPECIES_PELIPPER
+ .byte 0x00 @ SPECIES_SURSKIT
+ .byte 0x00 @ SPECIES_MASQUERAIN
+ .byte 0x00 @ SPECIES_WAILMER
+ .byte 0x0a @ SPECIES_WAILORD
+ .byte 0x00 @ SPECIES_SKITTY
+ .byte 0x00 @ SPECIES_DELCATTY
+ .byte 0x1e @ SPECIES_KECLEON
+ .byte 0x00 @ SPECIES_BALTOY
+ .byte 0x00 @ SPECIES_CLAYDOL
+ .byte 0x00 @ SPECIES_NOSEPASS
+ .byte 0x00 @ SPECIES_TORKOAL
+ .byte 0x00 @ SPECIES_SABLEYE
+ .byte 0x00 @ SPECIES_BARBOACH
+ .byte 0x00 @ SPECIES_WHISCASH
+ .byte 0x00 @ SPECIES_LUVDISC
+ .byte 0x00 @ SPECIES_CORPHISH
+ .byte 0x00 @ SPECIES_CRAWDAUNT
+ .byte 0x00 @ SPECIES_FEEBAS
+ .byte 0x2d @ SPECIES_MILOTIC
+ .byte 0x00 @ SPECIES_CARVANHA
+ .byte 0x00 @ SPECIES_SHARPEDO
+ .byte 0x00 @ SPECIES_TRAPINCH
+ .byte 0x00 @ SPECIES_VIBRAVA
+ .byte 0x00 @ SPECIES_FLYGON
+ .byte 0x00 @ SPECIES_MAKUHITA
+ .byte 0x00 @ SPECIES_HARIYAMA
+ .byte 0x00 @ SPECIES_ELECTRIKE
+ .byte 0x00 @ SPECIES_MANECTRIC
+ .byte 0x00 @ SPECIES_NUMEL
+ .byte 0x00 @ SPECIES_CAMERUPT
+ .byte 0x0f @ SPECIES_SPHEAL
+ .byte 0x00 @ SPECIES_SEALEO
+ .byte 0x00 @ SPECIES_WALREIN
+ .byte 0x00 @ SPECIES_CACNEA
+ .byte 0x00 @ SPECIES_CACTURNE
+ .byte 0x14 @ SPECIES_SNORUNT
+ .byte 0x00 @ SPECIES_GLALIE
+ .byte 0x00 @ SPECIES_LUNATONE
+ .byte 0x00 @ SPECIES_SOLROCK
+ .byte 0x00 @ SPECIES_AZURILL
+ .byte 0x00 @ SPECIES_SPOINK
+ .byte 0x0f @ SPECIES_GRUMPIG
+ .byte 0x00 @ SPECIES_PLUSLE
+ .byte 0x00 @ SPECIES_MINUN
+ .byte 0x00 @ SPECIES_MAWILE
+ .byte 0x00 @ SPECIES_MEDITITE
+ .byte 0x00 @ SPECIES_MEDICHAM
+ .byte 0x00 @ SPECIES_SWABLU
+ .byte 0x00 @ SPECIES_ALTARIA
+ .byte 0x0f @ SPECIES_WYNAUT
+ .byte 0x00 @ SPECIES_DUSKULL
+ .byte 0x1e @ SPECIES_DUSCLOPS
+ .byte 0x00 @ SPECIES_ROSELIA
+ .byte 0x00 @ SPECIES_SLAKOTH
+ .byte 0x00 @ SPECIES_VIGOROTH
+ .byte 0x00 @ SPECIES_SLAKING
+ .byte 0x00 @ SPECIES_GULPIN
+ .byte 0x00 @ SPECIES_SWALOT
+ .byte 0x00 @ SPECIES_TROPIUS
+ .byte 0x00 @ SPECIES_WHISMUR
+ .byte 0x00 @ SPECIES_LOUDRED
+ .byte 0x00 @ SPECIES_EXPLOUD
+ .byte 0x00 @ SPECIES_CLAMPERL
+ .byte 0x00 @ SPECIES_HUNTAIL
+ .byte 0x00 @ SPECIES_GOREBYSS
+ .byte 0x2d @ SPECIES_ABSOL
+ .byte 0x00 @ SPECIES_SHUPPET
+ .byte 0x00 @ SPECIES_BANETTE
+ .byte 0x00 @ SPECIES_SEVIPER
+ .byte 0x00 @ SPECIES_ZANGOOSE
+ .byte 0x00 @ SPECIES_RELICANTH
+ .byte 0x00 @ SPECIES_ARON
+ .byte 0x00 @ SPECIES_LAIRON
+ .byte 0x00 @ SPECIES_AGGRON
+ .byte 0x00 @ SPECIES_CASTFORM
+ .byte 0x00 @ SPECIES_VOLBEAT
+ .byte 0x00 @ SPECIES_ILLUMISE
+ .byte 0x00 @ SPECIES_LILEEP
+ .byte 0x00 @ SPECIES_CRADILY
+ .byte 0x00 @ SPECIES_ANORITH
+ .byte 0x00 @ SPECIES_ARMALDO
+ .byte 0x00 @ SPECIES_RALTS
+ .byte 0x00 @ SPECIES_KIRLIA
+ .byte 0x00 @ SPECIES_GARDEVOIR
+ .byte 0x00 @ SPECIES_BAGON
+ .byte 0x00 @ SPECIES_SHELGON
+ .byte 0x46 @ SPECIES_SALAMENCE
+ .byte 0x00 @ SPECIES_BELDUM
+ .byte 0x00 @ SPECIES_METANG
+ .byte 0x00 @ SPECIES_METAGROSS
+ .byte 0x00 @ SPECIES_REGIROCK
+ .byte 0x00 @ SPECIES_REGICE
+ .byte 0x00 @ SPECIES_REGISTEEL
+ .byte 0x3c @ SPECIES_KYOGRE
+ .byte 0x00 @ SPECIES_GROUDON
+ .byte 0x3c @ SPECIES_RAYQUAZA
+ .byte 0x00 @ SPECIES_LATIAS
+ .byte 0x00 @ SPECIES_LATIOS
+ .byte 0x00 @ SPECIES_JIRACHI
+ .byte 0x00 @ SPECIES_DEOXYS
+ .byte 0x00 @ SPECIES_CHIMECHO
diff --git a/data/graphics/pokemon/mon_back_pic_table.inc b/data/graphics/pokemon/back_pic_table.inc
index b1b477f30..b1b477f30 100644
--- a/data/graphics/pokemon/mon_back_pic_table.inc
+++ b/data/graphics/pokemon/back_pic_table.inc
diff --git a/data/graphics/pokemon/mon_footprint_table.inc b/data/graphics/pokemon/footprint_table.inc
index b5de0e11d..b5de0e11d 100644
--- a/data/graphics/pokemon/mon_footprint_table.inc
+++ b/data/graphics/pokemon/footprint_table.inc
diff --git a/data/graphics/pokemon/front_anim_ids_table.inc b/data/graphics/pokemon/front_anim_ids_table.inc
new file mode 100644
index 000000000..6e2d7fe0e
--- /dev/null
+++ b/data/graphics/pokemon/front_anim_ids_table.inc
@@ -0,0 +1,412 @@
+gMonFrontAnimIdsTable:: @ 83299EC
+ .byte 0x06 @ SPECIES_BULBASAUR
+ .byte 0x17 @ SPECIES_IVYSAUR
+ .byte 0x2f @ SPECIES_VENUSAUR
+ .byte 0x52 @ SPECIES_CHARMANDER
+ .byte 0x25 @ SPECIES_CHARMELEON
+ .byte 0x10 @ SPECIES_CHARIZARD
+ .byte 0x0b @ SPECIES_SQUIRTLE
+ .byte 0x13 @ SPECIES_WARTORTLE
+ .byte 0x19 @ SPECIES_BLASTOISE
+ .byte 0x0b @ SPECIES_CATERPIE
+ .byte 0x0b @ SPECIES_METAPOD
+ .byte 0x1d @ SPECIES_BUTTERFREE
+ .byte 0x46 @ SPECIES_WEEDLE
+ .byte 0x20 @ SPECIES_KAKUNA
+ .byte 0x02 @ SPECIES_BEEDRILL
+ .byte 0x47 @ SPECIES_PIDGEY
+ .byte 0x17 @ SPECIES_PIDGEOTTO
+ .byte 0x29 @ SPECIES_PIDGEOT
+ .byte 0x43 @ SPECIES_RATTATA
+ .byte 0x2b @ SPECIES_RATICATE
+ .byte 0x18 @ SPECIES_SPEAROW
+ .byte 0x2b @ SPECIES_FEAROW
+ .byte 0x16 @ SPECIES_EKANS
+ .byte 0x17 @ SPECIES_ARBOK
+ .byte 0x2c @ SPECIES_PIKACHU
+ .byte 0x17 @ SPECIES_RAICHU
+ .byte 0x2d @ SPECIES_SANDSHREW
+ .byte 0x17 @ SPECIES_SANDSLASH
+ .byte 0x00 @ SPECIES_NIDORAN_F
+ .byte 0x17 @ SPECIES_NIDORINA
+ .byte 0x0f @ SPECIES_NIDOQUEEN
+ .byte 0x09 @ SPECIES_NIDORAN_M
+ .byte 0x13 @ SPECIES_NIDORINO
+ .byte 0x0f @ SPECIES_NIDOKING
+ .byte 0x00 @ SPECIES_CLEFAIRY
+ .byte 0x4a @ SPECIES_CLEFABLE
+ .byte 0x17 @ SPECIES_VULPIX
+ .byte 0x10 @ SPECIES_NINETALES
+ .byte 0x48 @ SPECIES_JIGGLYPUFF
+ .byte 0x31 @ SPECIES_WIGGLYTUFF
+ .byte 0x00 @ SPECIES_ZUBAT
+ .byte 0x1d @ SPECIES_GOLBAT
+ .byte 0x00 @ SPECIES_ODDISH
+ .byte 0x45 @ SPECIES_GLOOM
+ .byte 0x49 @ SPECIES_VILEPLUME
+ .byte 0x46 @ SPECIES_PARAS
+ .byte 0x0f @ SPECIES_PARASECT
+ .byte 0x06 @ SPECIES_VENONAT
+ .byte 0x4b @ SPECIES_VENOMOTH
+ .byte 0x10 @ SPECIES_DIGLETT
+ .byte 0x4c @ SPECIES_DUGTRIO
+ .byte 0x52 @ SPECIES_MEOWTH
+ .byte 0x17 @ SPECIES_PERSIAN
+ .byte 0x06 @ SPECIES_PSYDUCK
+ .byte 0x4c @ SPECIES_GOLDUCK
+ .byte 0x32 @ SPECIES_MANKEY
+ .byte 0x48 @ SPECIES_PRIMEAPE
+ .byte 0x25 @ SPECIES_GROWLITHE
+ .byte 0x02 @ SPECIES_ARCANINE
+ .byte 0x00 @ SPECIES_POLIWAG
+ .byte 0x32 @ SPECIES_POLIWHIRL
+ .byte 0x19 @ SPECIES_POLIWRATH
+ .byte 0x31 @ SPECIES_ABRA
+ .byte 0x09 @ SPECIES_KADABRA
+ .byte 0x17 @ SPECIES_ALAKAZAM
+ .byte 0x00 @ SPECIES_MACHOP
+ .byte 0x10 @ SPECIES_MACHOKE
+ .byte 0x31 @ SPECIES_MACHAMP
+ .byte 0x17 @ SPECIES_BELLSPROUT
+ .byte 0x0d @ SPECIES_WEEPINBELL
+ .byte 0x32 @ SPECIES_VICTREEBEL
+ .byte 0x00 @ SPECIES_TENTACOOL
+ .byte 0x00 @ SPECIES_TENTACRUEL
+ .byte 0x48 @ SPECIES_GEODUDE
+ .byte 0x48 @ SPECIES_GRAVELER
+ .byte 0x2f @ SPECIES_GOLEM
+ .byte 0x20 @ SPECIES_PONYTA
+ .byte 0x11 @ SPECIES_RAPIDASH
+ .byte 0x45 @ SPECIES_SLOWPOKE
+ .byte 0x0b @ SPECIES_SLOWBRO
+ .byte 0x54 @ SPECIES_MAGNEMITE
+ .byte 0x2c @ SPECIES_MAGNETON
+ .byte 0x48 @ SPECIES_FARFETCH_D
+ .byte 0x4c @ SPECIES_DODUO
+ .byte 0x41 @ SPECIES_DODRIO
+ .byte 0x0b @ SPECIES_SEEL
+ .byte 0x45 @ SPECIES_DEWGONG
+ .byte 0x46 @ SPECIES_GRIMER
+ .byte 0x30 @ SPECIES_MUK
+ .byte 0x12 @ SPECIES_SHELLDER
+ .byte 0x1d @ SPECIES_CLOYSTER
+ .byte 0x15 @ SPECIES_GASTLY
+ .byte 0x35 @ SPECIES_HAUNTER
+ .byte 0x3a @ SPECIES_GENGAR
+ .byte 0x43 @ SPECIES_ONIX
+ .byte 0x4f @ SPECIES_DROWZEE
+ .byte 0x09 @ SPECIES_HYPNO
+ .byte 0x03 @ SPECIES_KRABBY
+ .byte 0x4b @ SPECIES_KINGLER
+ .byte 0x00 @ SPECIES_VOLTORB
+ .byte 0x00 @ SPECIES_ELECTRODE
+ .byte 0x46 @ SPECIES_EXEGGCUTE
+ .byte 0x32 @ SPECIES_EXEGGUTOR
+ .byte 0x48 @ SPECIES_CUBONE
+ .byte 0x05 @ SPECIES_MAROWAK
+ .byte 0x16 @ SPECIES_HITMONLEE
+ .byte 0x09 @ SPECIES_HITMONCHAN
+ .byte 0x45 @ SPECIES_LICKITUNG
+ .byte 0x13 @ SPECIES_KOFFING
+ .byte 0x04 @ SPECIES_WEEZING
+ .byte 0x10 @ SPECIES_RHYHORN
+ .byte 0x13 @ SPECIES_RHYDON
+ .byte 0x45 @ SPECIES_CHANSEY
+ .byte 0x48 @ SPECIES_TANGELA
+ .byte 0x17 @ SPECIES_KANGASKHAN
+ .byte 0x12 @ SPECIES_HORSEA
+ .byte 0x04 @ SPECIES_SEADRA
+ .byte 0x0d @ SPECIES_GOLDEEN
+ .byte 0x1c @ SPECIES_SEAKING
+ .byte 0x4e @ SPECIES_STARYU
+ .byte 0x12 @ SPECIES_STARMIE
+ .byte 0x46 @ SPECIES_MR_MIME
+ .byte 0x02 @ SPECIES_SCYTHER
+ .byte 0x17 @ SPECIES_JYNX
+ .byte 0x2c @ SPECIES_ELECTABUZZ
+ .byte 0x0f @ SPECIES_MAGMAR
+ .byte 0x09 @ SPECIES_PINSIR
+ .byte 0x19 @ SPECIES_TAUROS
+ .byte 0x05 @ SPECIES_MAGIKARP
+ .byte 0x48 @ SPECIES_GYARADOS
+ .byte 0x17 @ SPECIES_LAPRAS
+ .byte 0x01 @ SPECIES_DITTO
+ .byte 0x17 @ SPECIES_EEVEE
+ .byte 0x17 @ SPECIES_VAPOREON
+ .byte 0x00 @ SPECIES_JOLTEON
+ .byte 0x17 @ SPECIES_FLAREON
+ .byte 0x52 @ SPECIES_PORYGON
+ .byte 0x51 @ SPECIES_OMANYTE
+ .byte 0x09 @ SPECIES_OMASTAR
+ .byte 0x1d @ SPECIES_KABUTO
+ .byte 0x0f @ SPECIES_KABUTOPS
+ .byte 0x47 @ SPECIES_AERODACTYL
+ .byte 0x0b @ SPECIES_SNORLAX
+ .byte 0x09 @ SPECIES_ARTICUNO
+ .byte 0x2c @ SPECIES_ZAPDOS
+ .byte 0x45 @ SPECIES_MOLTRES
+ .byte 0x00 @ SPECIES_DRATINI
+ .byte 0x10 @ SPECIES_DRAGONAIR
+ .byte 0x47 @ SPECIES_DRAGONITE
+ .byte 0x09 @ SPECIES_MEWTWO
+ .byte 0x0d @ SPECIES_MEW
+ .byte 0x00 @ SPECIES_CHIKORITA
+ .byte 0x00 @ SPECIES_BAYLEEF
+ .byte 0x17 @ SPECIES_MEGANIUM
+ .byte 0x52 @ SPECIES_CYNDAQUIL
+ .byte 0x17 @ SPECIES_QUILAVA
+ .byte 0x10 @ SPECIES_TYPHLOSION
+ .byte 0x31 @ SPECIES_TOTODILE
+ .byte 0x0f @ SPECIES_CROCONAW
+ .byte 0x0f @ SPECIES_FERALIGATR
+ .byte 0x00 @ SPECIES_SENTRET
+ .byte 0x32 @ SPECIES_FURRET
+ .byte 0x47 @ SPECIES_HOOTHOOT
+ .byte 0x17 @ SPECIES_NOCTOWL
+ .byte 0x52 @ SPECIES_LEDYBA
+ .byte 0x47 @ SPECIES_LEDIAN
+ .byte 0x4f @ SPECIES_SPINARAK
+ .byte 0x0f @ SPECIES_ARIADOS
+ .byte 0x00 @ SPECIES_CROBAT
+ .byte 0x45 @ SPECIES_CHINCHOU
+ .byte 0x51 @ SPECIES_LANTURN
+ .byte 0x1e @ SPECIES_PICHU
+ .byte 0x52 @ SPECIES_CLEFFA
+ .byte 0x0c @ SPECIES_IGGLYBUFF
+ .byte 0x0b @ SPECIES_TOGEPI
+ .byte 0x00 @ SPECIES_TOGETIC
+ .byte 0x31 @ SPECIES_NATU
+ .byte 0x09 @ SPECIES_XATU
+ .byte 0x00 @ SPECIES_MAREEP
+ .byte 0x1e @ SPECIES_FLAAFFY
+ .byte 0x2c @ SPECIES_AMPHAROS
+ .byte 0x0b @ SPECIES_BELLOSSOM
+ .byte 0x00 @ SPECIES_MARILL
+ .byte 0x4a @ SPECIES_AZUMARILL
+ .byte 0x46 @ SPECIES_SUDOWOODO
+ .byte 0x32 @ SPECIES_POLITOED
+ .byte 0x1c @ SPECIES_HOPPIP
+ .byte 0x18 @ SPECIES_SKIPLOOM
+ .byte 0x51 @ SPECIES_JUMPLUFF
+ .byte 0x32 @ SPECIES_AIPOM
+ .byte 0x52 @ SPECIES_SUNKERN
+ .byte 0x00 @ SPECIES_SUNFLORA
+ .byte 0x2b @ SPECIES_YANMA
+ .byte 0x00 @ SPECIES_WOOPER
+ .byte 0x16 @ SPECIES_QUAGSIRE
+ .byte 0x09 @ SPECIES_ESPEON
+ .byte 0x10 @ SPECIES_UMBREON
+ .byte 0x00 @ SPECIES_MURKROW
+ .byte 0x13 @ SPECIES_SLOWKING
+ .byte 0x1c @ SPECIES_MISDREAVUS
+ .byte 0x0a @ SPECIES_UNOWN
+ .byte 0x30 @ SPECIES_WOBBUFFET
+ .byte 0x1e @ SPECIES_GIRAFARIG
+ .byte 0x0b @ SPECIES_PINECO
+ .byte 0x10 @ SPECIES_FORRETRESS
+ .byte 0x00 @ SPECIES_DUNSPARCE
+ .byte 0x13 @ SPECIES_GLIGAR
+ .byte 0x0f @ SPECIES_STEELIX
+ .byte 0x17 @ SPECIES_SNUBBULL
+ .byte 0x10 @ SPECIES_GRANBULL
+ .byte 0x3a @ SPECIES_QWILFISH
+ .byte 0x02 @ SPECIES_SCIZOR
+ .byte 0x0b @ SPECIES_SHUCKLE
+ .byte 0x41 @ SPECIES_HERACROSS
+ .byte 0x16 @ SPECIES_SNEASEL
+ .byte 0x17 @ SPECIES_TEDDIURSA
+ .byte 0x10 @ SPECIES_URSARING
+ .byte 0x17 @ SPECIES_SLUGMA
+ .byte 0x17 @ SPECIES_MAGCARGO
+ .byte 0x00 @ SPECIES_SWINUB
+ .byte 0x0f @ SPECIES_PILOSWINE
+ .byte 0x03 @ SPECIES_CORSOLA
+ .byte 0x52 @ SPECIES_REMORAID
+ .byte 0x17 @ SPECIES_OCTILLERY
+ .byte 0x52 @ SPECIES_DELIBIRD
+ .byte 0x0d @ SPECIES_MANTINE
+ .byte 0x17 @ SPECIES_SKARMORY
+ .byte 0x17 @ SPECIES_HOUNDOUR
+ .byte 0x10 @ SPECIES_HOUNDOOM
+ .byte 0x42 @ SPECIES_KINGDRA
+ .byte 0x32 @ SPECIES_PHANPY
+ .byte 0x19 @ SPECIES_DONPHAN
+ .byte 0x00 @ SPECIES_PORYGON2
+ .byte 0x00 @ SPECIES_STANTLER
+ .byte 0x31 @ SPECIES_SMEARGLE
+ .byte 0x16 @ SPECIES_TYROGUE
+ .byte 0x02 @ SPECIES_HITMONTOP
+ .byte 0x09 @ SPECIES_SMOOCHUM
+ .byte 0x2c @ SPECIES_ELEKID
+ .byte 0x00 @ SPECIES_MAGBY
+ .byte 0x45 @ SPECIES_MILTANK
+ .byte 0x00 @ SPECIES_BLISSEY
+ .byte 0x2c @ SPECIES_RAIKOU
+ .byte 0x09 @ SPECIES_ENTEI
+ .byte 0x10 @ SPECIES_SUICUNE
+ .byte 0x52 @ SPECIES_LARVITAR
+ .byte 0x10 @ SPECIES_PUPITAR
+ .byte 0x0f @ SPECIES_TYRANITAR
+ .byte 0x3a @ SPECIES_LUGIA
+ .byte 0x09 @ SPECIES_HO_OH
+ .byte 0x18 @ SPECIES_CELEBI
+ .byte 0x00 @ 252
+ .byte 0x00 @ 253
+ .byte 0x00 @ 254
+ .byte 0x00 @ 255
+ .byte 0x00 @ 256
+ .byte 0x00 @ 257
+ .byte 0x00 @ 258
+ .byte 0x00 @ 259
+ .byte 0x00 @ 260
+ .byte 0x00 @ 261
+ .byte 0x00 @ 262
+ .byte 0x00 @ 263
+ .byte 0x00 @ 264
+ .byte 0x00 @ 265
+ .byte 0x00 @ 266
+ .byte 0x00 @ 267
+ .byte 0x00 @ 268
+ .byte 0x00 @ 269
+ .byte 0x00 @ 270
+ .byte 0x00 @ 271
+ .byte 0x00 @ 272
+ .byte 0x00 @ 273
+ .byte 0x00 @ 274
+ .byte 0x00 @ 275
+ .byte 0x00 @ 276
+ .byte 0x00 @ SPECIES_TREECKO
+ .byte 0x17 @ SPECIES_GROVYLE
+ .byte 0x10 @ SPECIES_SCEPTILE
+ .byte 0x16 @ SPECIES_TORCHIC
+ .byte 0x06 @ SPECIES_COMBUSKEN
+ .byte 0x0f @ SPECIES_BLAZIKEN
+ .byte 0x01 @ SPECIES_MUDKIP
+ .byte 0x04 @ SPECIES_MARSHTOMP
+ .byte 0x1e @ SPECIES_SWAMPERT
+ .byte 0x10 @ SPECIES_POOCHYENA
+ .byte 0x10 @ SPECIES_MIGHTYENA
+ .byte 0x03 @ SPECIES_ZIGZAGOON
+ .byte 0x09 @ SPECIES_LINOONE
+ .byte 0x00 @ SPECIES_WURMPLE
+ .byte 0x00 @ SPECIES_SILCOON
+ .byte 0x04 @ SPECIES_BEAUTIFLY
+ .byte 0x04 @ SPECIES_CASCOON
+ .byte 0x06 @ SPECIES_DUSTOX
+ .byte 0x00 @ SPECIES_LOTAD
+ .byte 0x00 @ SPECIES_LOMBRE
+ .byte 0x49 @ SPECIES_LUDICOLO
+ .byte 0x05 @ SPECIES_SEEDOT
+ .byte 0x00 @ SPECIES_NUZLEAF
+ .byte 0x02 @ SPECIES_SHIFTRY
+ .byte 0x00 @ SPECIES_NINCADA
+ .byte 0x46 @ SPECIES_NINJASK
+ .byte 0x1c @ SPECIES_SHEDINJA
+ .byte 0x1e @ SPECIES_TAILLOW
+ .byte 0x01 @ SPECIES_SWELLOW
+ .byte 0x00 @ SPECIES_SHROOMISH
+ .byte 0x00 @ SPECIES_BRELOOM
+ .byte 0x31 @ SPECIES_SPINDA
+ .byte 0x1b @ SPECIES_WINGULL
+ .byte 0x1c @ SPECIES_PELIPPER
+ .byte 0x00 @ SPECIES_SURSKIT
+ .byte 0x00 @ SPECIES_MASQUERAIN
+ .byte 0x01 @ SPECIES_WAILMER
+ .byte 0x1c @ SPECIES_WAILORD
+ .byte 0x00 @ SPECIES_SKITTY
+ .byte 0x17 @ SPECIES_DELCATTY
+ .byte 0x35 @ SPECIES_KECLEON
+ .byte 0x1d @ SPECIES_BALTOY
+ .byte 0x51 @ SPECIES_CLAYDOL
+ .byte 0x49 @ SPECIES_NOSEPASS
+ .byte 0x17 @ SPECIES_TORKOAL
+ .byte 0x15 @ SPECIES_SABLEYE
+ .byte 0x49 @ SPECIES_BARBOACH
+ .byte 0x49 @ SPECIES_WHISCASH
+ .byte 0x1d @ SPECIES_LUVDISC
+ .byte 0x10 @ SPECIES_CORPHISH
+ .byte 0x09 @ SPECIES_CRAWDAUNT
+ .byte 0x49 @ SPECIES_FEEBAS
+ .byte 0x22 @ SPECIES_MILOTIC
+ .byte 0x49 @ SPECIES_CARVANHA
+ .byte 0x56 @ SPECIES_SHARPEDO
+ .byte 0x10 @ SPECIES_TRAPINCH
+ .byte 0x0f @ SPECIES_VIBRAVA
+ .byte 0x4b @ SPECIES_FLYGON
+ .byte 0x0b @ SPECIES_MAKUHITA
+ .byte 0x34 @ SPECIES_HARIYAMA
+ .byte 0x00 @ SPECIES_ELECTRIKE
+ .byte 0x00 @ SPECIES_MANECTRIC
+ .byte 0x04 @ SPECIES_NUMEL
+ .byte 0x10 @ SPECIES_CAMERUPT
+ .byte 0x53 @ SPECIES_SPHEAL
+ .byte 0x17 @ SPECIES_SEALEO
+ .byte 0x0f @ SPECIES_WALREIN
+ .byte 0x49 @ SPECIES_CACNEA
+ .byte 0x04 @ SPECIES_CACTURNE
+ .byte 0x45 @ SPECIES_SNORUNT
+ .byte 0x0a @ SPECIES_GLALIE
+ .byte 0x0e @ SPECIES_LUNATONE
+ .byte 0x08 @ SPECIES_SOLROCK
+ .byte 0x00 @ SPECIES_AZURILL
+ .byte 0x56 @ SPECIES_SPOINK
+ .byte 0x32 @ SPECIES_GRUMPIG
+ .byte 0x00 @ SPECIES_PLUSLE
+ .byte 0x01 @ SPECIES_MINUN
+ .byte 0x00 @ SPECIES_MAWILE
+ .byte 0x05 @ SPECIES_MEDITITE
+ .byte 0x45 @ SPECIES_MEDICHAM
+ .byte 0x04 @ SPECIES_SWABLU
+ .byte 0x16 @ SPECIES_ALTARIA
+ .byte 0x32 @ SPECIES_WYNAUT
+ .byte 0x0a @ SPECIES_DUSKULL
+ .byte 0x02 @ SPECIES_DUSCLOPS
+ .byte 0x45 @ SPECIES_ROSELIA
+ .byte 0x45 @ SPECIES_SLAKOTH
+ .byte 0x31 @ SPECIES_VIGOROTH
+ .byte 0x45 @ SPECIES_SLAKING
+ .byte 0x00 @ SPECIES_GULPIN
+ .byte 0x45 @ SPECIES_SWALOT
+ .byte 0x10 @ SPECIES_TROPIUS
+ .byte 0x03 @ SPECIES_WHISMUR
+ .byte 0x49 @ SPECIES_LOUDRED
+ .byte 0x19 @ SPECIES_EXPLOUD
+ .byte 0x12 @ SPECIES_CLAMPERL
+ .byte 0x09 @ SPECIES_HUNTAIL
+ .byte 0x1c @ SPECIES_GOREBYSS
+ .byte 0x11 @ SPECIES_ABSOL
+ .byte 0x1c @ SPECIES_SHUPPET
+ .byte 0x0d @ SPECIES_BANETTE
+ .byte 0x17 @ SPECIES_SEVIPER
+ .byte 0x09 @ SPECIES_ZANGOOSE
+ .byte 0x1a @ SPECIES_RELICANTH
+ .byte 0x45 @ SPECIES_ARON
+ .byte 0x00 @ SPECIES_LAIRON
+ .byte 0x19 @ SPECIES_AGGRON
+ .byte 0x1d @ SPECIES_CASTFORM
+ .byte 0x00 @ SPECIES_VOLBEAT
+ .byte 0x05 @ SPECIES_ILLUMISE
+ .byte 0x17 @ SPECIES_LILEEP
+ .byte 0x19 @ SPECIES_CRADILY
+ .byte 0x12 @ SPECIES_ANORITH
+ .byte 0x10 @ SPECIES_ARMALDO
+ .byte 0x45 @ SPECIES_RALTS
+ .byte 0x00 @ SPECIES_KIRLIA
+ .byte 0x00 @ SPECIES_GARDEVOIR
+ .byte 0x19 @ SPECIES_BAGON
+ .byte 0x04 @ SPECIES_SHELGON
+ .byte 0x0f @ SPECIES_SALAMENCE
+ .byte 0x0f @ SPECIES_BELDUM
+ .byte 0x04 @ SPECIES_METANG
+ .byte 0x10 @ SPECIES_METAGROSS
+ .byte 0x01 @ SPECIES_REGIROCK
+ .byte 0x44 @ SPECIES_REGICE
+ .byte 0x09 @ SPECIES_REGISTEEL
+ .byte 0x2d @ SPECIES_KYOGRE
+ .byte 0x10 @ SPECIES_GROUDON
+ .byte 0x0f @ SPECIES_RAYQUAZA
+ .byte 0x2d @ SPECIES_LATIAS
+ .byte 0x10 @ SPECIES_LATIOS
+ .byte 0x0d @ SPECIES_JIRACHI
+ .byte 0x1b @ SPECIES_DEOXYS
+ .byte 0x1d @ SPECIES_CHIMECHO
diff --git a/data/graphics/pokemon/front_anims.inc b/data/graphics/pokemon/front_anims.inc
new file mode 100644
index 000000000..69341c88d
--- /dev/null
+++ b/data/graphics/pokemon/front_anims.inc
@@ -0,0 +1,6915 @@
+
+ .align 2
+gAnimCmd_NONE_1:: @ 8305F68
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_BULBASAUR_1:: @ 8305F78
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_IVYSAUR_1:: @ 8305F88
+ obj_image_anim_frame 0, 1
+ obj_image_anim_frame 1, 36
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_VENUSAUR_1:: @ 8305F98
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 25
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_CHARMANDER_1:: @ 8305FA8
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 1, 46
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_CHARMELEON_1:: @ 8305FB8
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 25
+ obj_image_anim_frame 0, 30
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_CHARIZARD_1:: @ 8305FC8
+ obj_image_anim_frame 1, 40
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SQUIRTLE_1:: @ 8305FD4
+ obj_image_anim_frame 1, 50
+ obj_image_anim_frame 1, 50
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_WARTORTLE_1:: @ 8305FE4
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_BLASTOISE_1:: @ 8305FF4
+ obj_image_anim_frame 0, 50
+ obj_image_anim_frame 1, 25
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 1, 25
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_CATERPIE_1:: @ 830600C
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_METAPOD_1:: @ 8306030
+ obj_image_anim_frame 1, 45
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_BUTTERFREE_1:: @ 830603C
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 25
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_WEEDLE_1:: @ 8306074
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_KAKUNA_1:: @ 8306094
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_BEEDRILL_1:: @ 83060C4
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 35
+ obj_image_anim_frame 0, 28
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_PIDGEY_1:: @ 83060DC
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_PIDGEOTTO_1:: @ 8306110
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 35
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_PIDGEOT_1:: @ 8306128
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_RATTATA_1:: @ 830613C
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 50
+ obj_image_anim_frame 1, 28
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_RATICATE_1:: @ 8306150
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SPEAROW_1:: @ 8306184
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_FEAROW_1:: @ 83061C8
+ obj_image_anim_frame 1, 7
+ obj_image_anim_frame 0, 7
+ obj_image_anim_frame 1, 7
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 7
+ obj_image_anim_frame 0, 7
+ obj_image_anim_frame 1, 7
+ obj_image_anim_frame 0, 7
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_EKANS_1:: @ 83061EC
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 40
+ obj_image_anim_frame 0, 8
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_ARBOK_1:: @ 8306208
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 35
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_PIKACHU_1:: @ 8306218
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_PIKACHU_2:: @ 8306230
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_RAICHU_1:: @ 8306244
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_RAICHU_2:: @ 830625C
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SANDSHREW_1:: @ 8306270
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SANDSHREW_2:: @ 8306288
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SANDSLASH_1:: @ 830629C
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SANDSLASH_2:: @ 83062B4
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_NIDORAN_F_1:: @ 83062C8
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 50
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_NIDORINA_1:: @ 83062F0
+ obj_image_anim_frame 1, 40
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_NIDOQUEEN_1:: @ 83062FC
+ obj_image_anim_frame 1, 45
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_NIDORAN_M_1:: @ 8306308
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_NIDORINO_1:: @ 8306318
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_NIDOKING_1:: @ 8306328
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 40
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_CLEFAIRY_1:: @ 830633C
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_CLEFABLE_1:: @ 830634C
+ obj_image_anim_frame 1, 27
+ obj_image_anim_frame 0, 27
+ obj_image_anim_frame 1, 24
+ obj_image_anim_frame 0, 25
+ obj_image_anim_frame 1, 27
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_VULPIX_1:: @ 8306368
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_VULPIX_2:: @ 8306380
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_NINETALES_1:: @ 8306394
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_NINETALES_2:: @ 83063AC
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_JIGGLYPUFF_1:: @ 83063C0
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_JIGGLYPUFF_2:: @ 83063D8
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_WIGGLYTUFF_1:: @ 83063EC
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_WIGGLYTUFF_2:: @ 8306404
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_ZUBAT_1:: @ 8306418
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_GOLBAT_1:: @ 8306450
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_ODDISH_1:: @ 83064A0
+ obj_image_anim_frame 0, 11
+ obj_image_anim_frame 1, 11
+ obj_image_anim_frame 0, 11
+ obj_image_anim_frame 1, 11
+ obj_image_anim_frame 0, 11
+ obj_image_anim_frame 1, 11
+ obj_image_anim_frame 0, 6
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_GLOOM_1:: @ 83064C0
+ obj_image_anim_frame 0, 21
+ obj_image_anim_frame 1, 45
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_VILEPLUME_1:: @ 83064D4
+ obj_image_anim_frame 0, 7
+ obj_image_anim_frame 1, 21
+ obj_image_anim_frame 0, 13
+ obj_image_anim_frame 1, 21
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_PARAS_1:: @ 83064EC
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_PARASECT_1:: @ 8306530
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 35
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_VENONAT_1:: @ 830654C
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 35
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_VENOMOTH_1:: @ 8306568
+ obj_image_anim_frame 1, 4
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 1, 4
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 1, 4
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 1, 4
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 4
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 1, 4
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 1, 4
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 1, 4
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 4
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 1, 4
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 1, 4
+ obj_image_anim_frame 0, 4
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_DIGLETT_1:: @ 83065C4
+ obj_image_anim_frame 0, 25
+ obj_image_anim_frame 1, 35
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_DUGTRIO_1:: @ 83065D4
+ obj_image_anim_frame 1, 35
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MEOWTH_1:: @ 8306600
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 17
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_PERSIAN_1:: @ 830661C
+ obj_image_anim_frame 1, 50
+ obj_image_anim_frame 0, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_PSYDUCK_1:: @ 8306628
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_PSYDUCK_2:: @ 8306640
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_GOLDUCK_1:: @ 8306654
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_GOLDUCK_2:: @ 830666C
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MANKEY_1:: @ 8306680
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 28
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_PRIMEAPE_1:: @ 830669C
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_GROWLITHE_1:: @ 83066B8
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_ARCANINE_1:: @ 83066D4
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 40
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_POLIWAG_1:: @ 83066F0
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_POLIWHIRL_1:: @ 8306700
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 25
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_POLIWRATH_1:: @ 8306718
+ obj_image_anim_frame 1, 45
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_ABRA_1:: @ 8306724
+ obj_image_anim_frame 0, 7
+ obj_image_anim_frame 1, 21
+ obj_image_anim_frame 0, 13
+ obj_image_anim_frame 1, 21
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_KADABRA_1:: @ 830673C
+ obj_image_anim_frame 0, 12
+ obj_image_anim_frame 1, 45
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_ALAKAZAM_1:: @ 830674C
+ obj_image_anim_frame 0, 9
+ obj_image_anim_frame 1, 54
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MACHOP_1:: @ 830675C
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MACHOKE_1:: @ 830677C
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 1, 44
+ obj_image_anim_frame 0, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MACHAMP_1:: @ 830678C
+ obj_image_anim_frame 0, 11
+ obj_image_anim_frame 1, 11
+ obj_image_anim_frame 0, 11
+ obj_image_anim_frame 1, 11
+ obj_image_anim_frame 0, 11
+ obj_image_anim_frame 1, 11
+ obj_image_anim_frame 0, 11
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_BELLSPROUT_1:: @ 83067AC
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 25
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_WEEPINBELL_1:: @ 83067BC
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 25
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 25
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 25
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_VICTREEBEL_1:: @ 83067DC
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_TENTACOOL_1:: @ 83067FC
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 7
+ obj_image_anim_frame 1, 11
+ obj_image_anim_frame 0, 11
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_TENTACRUEL_1:: @ 8306814
+ obj_image_anim_frame 0, 19
+ obj_image_anim_frame 1, 35
+ obj_image_anim_frame 0, 19
+ obj_image_anim_frame 1, 19
+ obj_image_anim_frame 0, 8
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_GEODUDE_1:: @ 830682C
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 36
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_GRAVELER_1:: @ 830683C
+ obj_image_anim_frame 0, 16
+ obj_image_anim_frame 1, 16
+ obj_image_anim_frame 0, 16
+ obj_image_anim_frame 1, 16
+ obj_image_anim_frame 0, 16
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_GOLEM_1:: @ 8306854
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 31
+ obj_image_anim_frame 0, 1
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 0, 8
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_PONYTA_1:: @ 830686C
+ obj_image_anim_frame 1, 45
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_RAPIDASH_1:: @ 8306878
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 40
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SLOWPOKE_1:: @ 8306888
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 1, 50
+ obj_image_anim_frame 0, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SLOWBRO_1:: @ 8306898
+ obj_image_anim_frame 1, 50
+ obj_image_anim_frame 1, 45
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MAGNEMITE_1:: @ 83068A8
+ obj_image_anim_frame 0, 28
+ obj_image_anim_frame 1, 28
+ obj_image_anim_frame 0, 28
+ obj_image_anim_frame 1, 28
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MAGNETON_1:: @ 83068C0
+ obj_image_anim_frame 0, 14
+ obj_image_anim_frame 1, 14
+ obj_image_anim_frame 0, 14
+ obj_image_anim_frame 1, 14
+ obj_image_anim_frame 0, 14
+ obj_image_anim_frame 1, 14
+ obj_image_anim_frame 0, 14
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_FARFETCHD_1:: @ 83068E0
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_DODUO_1:: @ 8306914
+ obj_image_anim_frame 0, 18
+ obj_image_anim_frame 1, 18
+ obj_image_anim_frame 0, 18
+ obj_image_anim_frame 1, 18
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_DODRIO_1:: @ 830692C
+ obj_image_anim_frame 0, 12
+ obj_image_anim_frame 1, 12
+ obj_image_anim_frame 0, 12
+ obj_image_anim_frame 1, 12
+ obj_image_anim_frame 0, 12
+ obj_image_anim_frame 1, 12
+ obj_image_anim_frame 0, 12
+ obj_image_anim_frame 1, 12
+ obj_image_anim_frame 0, 8
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SEEL_1:: @ 8306954
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_DEWGONG_1:: @ 8306978
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 30
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_GRIMER_1:: @ 8306988
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_GRIMER_2:: @ 83069A0
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MUK_1:: @ 83069B4
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MUK_2:: @ 83069CC
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SHELLDER_1:: @ 83069E0
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 45
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_CLOYSTER_1:: @ 83069F4
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 25
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_GASTLY_1:: @ 8306A38
+ obj_image_anim_frame 1, 50
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_HAUNTER_1:: @ 8306A48
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 35
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_GENGAR_1:: @ 8306A60
+ obj_image_anim_frame 1, 50
+ obj_image_anim_frame 1, 40
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_ONIX_1:: @ 8306A70
+ obj_image_anim_frame 1, 50
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 30
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_DROWZEE_1:: @ 8306A80
+ obj_image_anim_frame 1, 12
+ obj_image_anim_frame 0, 12
+ obj_image_anim_frame 1, 12
+ obj_image_anim_frame 0, 12
+ obj_image_anim_frame 1, 45
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_HYPNO_1:: @ 8306A9C
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_KRABBY_1:: @ 8306ABC
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_KINGLER_1:: @ 8306AD8
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 25
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_VOLTORB_1:: @ 8306B00
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 1, 25
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 1, 25
+ obj_image_anim_frame 0, 4
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_ELECTRODE_1:: @ 8306B18
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 8
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_EXEGGCUTE_1:: @ 8306B30
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_EXEGGUTOR_1:: @ 8306B58
+ obj_image_anim_frame 1, 35
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_CUBONE_1:: @ 8306B64
+ obj_image_anim_frame 1, 14
+ obj_image_anim_frame 0, 14
+ obj_image_anim_frame 1, 14
+ obj_image_anim_frame 0, 14
+ obj_image_anim_frame 1, 14
+ obj_image_anim_frame 0, 14
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MAROWAK_1:: @ 8306B80
+ obj_image_anim_frame 1, 14
+ obj_image_anim_frame 0, 14
+ obj_image_anim_frame 1, 14
+ obj_image_anim_frame 0, 14
+ obj_image_anim_frame 1, 14
+ obj_image_anim_frame 0, 14
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_HITMONLEE_1:: @ 8306B9C
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_HITMONCHAN_1:: @ 8306BA8
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 25
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_LICKITUNG_1:: @ 8306BCC
+ obj_image_anim_frame 0, 28
+ obj_image_anim_frame 1, 32
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_KOFFING_1:: @ 8306BDC
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_KOFFING_2:: @ 8306BF4
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_WEEZING_1:: @ 8306C08
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_WEEZING_2:: @ 8306C20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_RHYHORN_1:: @ 8306C34
+ obj_image_anim_frame 0, 11
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_RHYHORN_2:: @ 8306C4C
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_RHYDON_1:: @ 8306C60
+ obj_image_anim_frame 0, 11
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 48
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_RHYDON_2:: @ 8306C78
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_CHANSEY_1:: @ 8306C8C
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_TANGELA_1:: @ 8306C9C
+ obj_image_anim_frame 1, 9
+ obj_image_anim_frame 0, 9
+ obj_image_anim_frame 1, 9
+ obj_image_anim_frame 0, 9
+ obj_image_anim_frame 1, 9
+ obj_image_anim_frame 0, 9
+ obj_image_anim_frame 1, 9
+ obj_image_anim_frame 0, 9
+ obj_image_anim_frame 1, 9
+ obj_image_anim_frame 0, 9
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_KANGASKHAN_1:: @ 8306CC8
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_HORSEA_1:: @ 8306CDC
+ obj_image_anim_frame 0, 11
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_HORSEA_2:: @ 8306CF4
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SEADRA_1:: @ 8306D08
+ obj_image_anim_frame 0, 11
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SEADRA_2:: @ 8306D20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_GOLDEEN_1:: @ 8306D34
+ obj_image_anim_frame 0, 16
+ obj_image_anim_frame 1, 16
+ obj_image_anim_frame 0, 16
+ obj_image_anim_frame 1, 16
+ obj_image_anim_frame 0, 16
+ obj_image_anim_frame 1, 16
+ obj_image_anim_frame 0, 16
+ obj_image_anim_frame 1, 16
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SEAKING_1:: @ 8306D5C
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_STARYU_1:: @ 8306D74
+ obj_image_anim_frame 0, 11
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_STARYU_2:: @ 8306D8C
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_STARMIE_1:: @ 8306DA0
+ obj_image_anim_frame 0, 11
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_STARMIE_2:: @ 8306DB8
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MR_MIME_1:: @ 8306DCC
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SCYTHER_1:: @ 8306DE8
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 25
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_JYNX_1:: @ 8306E0C
+ obj_image_anim_frame 1, 40
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 50
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_ELECTABUZZ_1:: @ 8306E24
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 40
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MAGMAR_1:: @ 8306E38
+ obj_image_anim_frame 1, 40
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_PINSIR_1:: @ 8306E44
+ obj_image_anim_frame 0, 11
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_PINSIR_2:: @ 8306E5C
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_TAUROS_1:: @ 8306E70
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 1, 25
+ obj_image_anim_frame 0, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MAGIKARP_1:: @ 8306E84
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_GYARADOS_1:: @ 8306EAC
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 32
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_LAPRAS_1:: @ 8306EBC
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_DITTO_1:: @ 8306EC8
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_EEVEE_1:: @ 8306EDC
+ obj_image_anim_frame 1, 33
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_VAPOREON_1:: @ 8306EE8
+ obj_image_anim_frame 1, 40
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_JOLTEON_1:: @ 8306EF4
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_FLAREON_1:: @ 8306F00
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 30
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_PORYGON_1:: @ 8306F0C
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_OMANYTE_1:: @ 8306F20
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_OMASTAR_1:: @ 8306F44
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_KABUTO_1:: @ 8306F58
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_KABUTOPS_1:: @ 8306F7C
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_AERODACTYL_1:: @ 8306F90
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 25
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 25
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SNORLAX_1:: @ 8306FA4
+ obj_image_anim_frame 1, 50
+ obj_image_anim_frame 1, 50
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_ARTICUNO_1:: @ 8306FB4
+ obj_image_anim_frame 1, 25
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_ZAPDOS_1:: @ 8306FC8
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MOLTRES_1:: @ 8306FDC
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_DRATINI_1:: @ 8307060
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_DRAGONAIR_1:: @ 8307070
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_DRAGONITE_1:: @ 8307084
+ obj_image_anim_frame 1, 50
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MEWTWO_1:: @ 8307094
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MEW_1:: @ 83070A0
+ obj_image_anim_frame 1, 50
+ obj_image_anim_frame 1, 40
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_CHIKORITA_1:: @ 83070B0
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_BAYLEEF_1:: @ 83070C0
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MEGANIUM_1:: @ 83070CC
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_CYNDAQUIL_1:: @ 83070D8
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_QUILAVA_1:: @ 83070EC
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_TYPHLOSION_1:: @ 83070F8
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_TOTODILE_1:: @ 8307104
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_CROCONAW_1:: @ 8307120
+ obj_image_anim_frame 1, 40
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_FERALIGATR_1:: @ 830712C
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 25
+ obj_image_anim_frame 0, 40
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SENTRET_1:: @ 8307140
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_FURRET_1:: @ 8307154
+ obj_image_anim_frame 1, 35
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_HOOTHOOT_1:: @ 8307160
+ obj_image_anim_frame 1, 7
+ obj_image_anim_frame 0, 7
+ obj_image_anim_frame 1, 7
+ obj_image_anim_frame 0, 7
+ obj_image_anim_frame 1, 7
+ obj_image_anim_frame 0, 7
+ obj_image_anim_frame 1, 7
+ obj_image_anim_frame 0, 7
+ obj_image_anim_frame 1, 7
+ obj_image_anim_frame 0, 7
+ obj_image_anim_frame 1, 7
+ obj_image_anim_frame 0, 7
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_NOCTOWL_1:: @ 8307194
+ obj_image_anim_frame 1, 40
+ obj_image_anim_frame 0, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_LEDYBA_1:: @ 83071A0
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_LEDIAN_1:: @ 83071B4
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SPINARAK_1:: @ 8307220
+ obj_image_anim_frame 1, 6
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 1, 6
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 1, 6
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 1, 6
+ obj_image_anim_frame 0, 6
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_ARIADOS_1:: @ 8307244
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_CROBAT_1:: @ 8307258
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 1, 2
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 1, 2
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 1, 2
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 1, 2
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 1, 2
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 1, 2
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 1, 2
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 1, 2
+ obj_image_anim_frame 0, 2
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_CHINCHOU_1:: @ 83072A0
+ obj_image_anim_frame 0, 11
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_CHINCHOU_2:: @ 83072B8
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_LANTURN_1:: @ 83072CC
+ obj_image_anim_frame 0, 11
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_LANTURN_2:: @ 83072E4
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_PICHU_1:: @ 83072F8
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_PICHU_2:: @ 8307310
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_CLEFFA_1:: @ 8307324
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_IGGLYBUFF_1:: @ 8307338
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_IGGLYBUFF_2:: @ 8307350
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_TOGEPI_1:: @ 8307364
+ obj_image_anim_frame 1, 50
+ obj_image_anim_frame 1, 50
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_TOGETIC_1:: @ 8307374
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_NATU_1:: @ 8307384
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_NATU_2:: @ 830739C
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_XATU_1:: @ 83073B0
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 45
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_XATU_2:: @ 83073D0
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MAREEP_1:: @ 83073E4
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_FLAAFFY_1:: @ 8307400
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_AMPHAROS_1:: @ 8307414
+ obj_image_anim_frame 1, 50
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_BELLOSSOM_1:: @ 8307424
+ obj_image_anim_frame 0, 22
+ obj_image_anim_frame 1, 22
+ obj_image_anim_frame 0, 22
+ obj_image_anim_frame 1, 22
+ obj_image_anim_frame 0, 22
+ obj_image_anim_frame 1, 22
+ obj_image_anim_frame 0, 22
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MARILL_1:: @ 8307444
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 1, 44
+ obj_image_anim_frame 0, 22
+ obj_image_anim_frame 1, 44
+ obj_image_anim_frame 0, 11
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_AZUMARILL_1:: @ 830745C
+ obj_image_anim_frame 0, 22
+ obj_image_anim_frame 1, 22
+ obj_image_anim_frame 0, 22
+ obj_image_anim_frame 1, 22
+ obj_image_anim_frame 0, 11
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SUDOWOODO_1:: @ 8307474
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_POLITOED_1:: @ 8307490
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 35
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_HOPPIP_1:: @ 83074AC
+ obj_image_anim_frame 1, 25
+ obj_image_anim_frame 0, 25
+ obj_image_anim_frame 1, 25
+ obj_image_anim_frame 0, 25
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SKIPLOOM_1:: @ 83074C0
+ obj_image_anim_frame 1, 12
+ obj_image_anim_frame 0, 12
+ obj_image_anim_frame 1, 12
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 12
+ obj_image_anim_frame 0, 12
+ obj_image_anim_frame 1, 12
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_JUMPLUFF_1:: @ 83074E4
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 25
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 25
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_AIPOM_1:: @ 8307500
+ obj_image_anim_frame 1, 35
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SUNKERN_1:: @ 830750C
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SUNFLORA_1:: @ 8307520
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_YANMA_1:: @ 8307530
+ obj_image_anim_frame 1, 2
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 1, 2
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 1, 2
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 1, 2
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 1, 2
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 1, 2
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 1, 2
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 1, 2
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 1, 2
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 1, 2
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 1, 2
+ obj_image_anim_frame 0, 2
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_WOOPER_1:: @ 830758C
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_QUAGSIRE_1:: @ 830759C
+ obj_image_anim_frame 1, 32
+ obj_image_anim_frame 0, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_ESPEON_1:: @ 83075A8
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 25
+ obj_image_anim_frame 0, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_UMBREON_1:: @ 83075B8
+ obj_image_anim_frame 1, 40
+ obj_image_anim_frame 0, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MURKROW_1:: @ 83075C4
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SLOWKING_1:: @ 83075D0
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MISDREAVUS_1:: @ 83075E0
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_UNOWN_1:: @ 830760C
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_WOBBUFFET_1:: @ 830761C
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_WOBBUFFET_2:: @ 8307634
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_GIRAFARIG_1:: @ 8307648
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_GIRAFARIG_2:: @ 8307668
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_PINECO_1:: @ 830767C
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_FORRETRESS_1:: @ 83076A0
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_DUNSPARCE_1:: @ 83076B4
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_GLIGAR_1:: @ 83076C8
+ obj_image_anim_frame 1, 17
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_STEELIX_1:: @ 83076D4
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 1, 35
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SNUBBULL_1:: @ 83076F0
+ obj_image_anim_frame 1, 32
+ obj_image_anim_frame 0, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_GRANBULL_1:: @ 83076FC
+ obj_image_anim_frame 1, 35
+ obj_image_anim_frame 0, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_QWILFISH_1:: @ 8307708
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 50
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 30
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SCIZOR_1:: @ 8307728
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SHUCKLE_1:: @ 8307734
+ obj_image_anim_frame 1, 50
+ obj_image_anim_frame 1, 50
+ obj_image_anim_frame 0, 30
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_HERACROSS_1:: @ 8307744
+ obj_image_anim_frame 0, 11
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_HERACROSS_2:: @ 830775C
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SNEASEL_1:: @ 8307770
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_TEDDIURSA_1:: @ 830777C
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_URSARING_1:: @ 8307788
+ obj_image_anim_frame 1, 40
+ obj_image_anim_frame 0, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SLUGMA_1:: @ 8307794
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SLUGMA_2:: @ 83077AC
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MAGCARGO_1:: @ 83077C0
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MAGCARGO_2:: @ 83077D8
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SWINUB_1:: @ 83077EC
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_PILOSWINE_1:: @ 8307800
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_CORSOLA_1:: @ 8307814
+ obj_image_anim_frame 0, 11
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_CORSOLA_2:: @ 830782C
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_REMORAID_1:: @ 8307840
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_OCTILLERY_1:: @ 8307854
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_DELIBIRD_1:: @ 8307868
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MANTINE_1:: @ 830787C
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 40
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SKARMORY_1:: @ 8307890
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SKARMORY_2:: @ 83078A8
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_HOUNDOUR_1:: @ 83078BC
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_HOUNDOOM_1:: @ 83078D0
+ obj_image_anim_frame 1, 40
+ obj_image_anim_frame 0, 30
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_KINGDRA_1:: @ 83078DC
+ obj_image_anim_frame 0, 11
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_KINGDRA_2:: @ 83078F4
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_PHANPY_1:: @ 8307908
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_PHANPY_2:: @ 8307928
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_DONPHAN_1:: @ 830793C
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_DONPHAN_2:: @ 830795C
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_PORYGON2_1:: @ 8307970
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_STANTLER_1:: @ 8307988
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SMEARGLE_1:: @ 8307994
+ obj_image_anim_frame 1, 12
+ obj_image_anim_frame 0, 12
+ obj_image_anim_frame 1, 12
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_TYROGUE_1:: @ 83079A8
+ obj_image_anim_frame 1, 40
+ obj_image_anim_frame 0, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_HITMONTOP_1:: @ 83079B4
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 1, 4
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 1, 4
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 1, 4
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 1, 4
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 1, 4
+ obj_image_anim_frame 0, 4
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SMOOCHUM_1:: @ 83079E4
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_ELEKID_1:: @ 8307A00
+ obj_image_anim_frame 1, 50
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MAGBY_1:: @ 8307A10
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MILTANK_1:: @ 8307A30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 30
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_BLISSEY_1:: @ 8307A3C
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_RAIKOU_1:: @ 8307A48
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_ENTEI_1:: @ 8307A5C
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SUICUNE_1:: @ 8307A68
+ obj_image_anim_frame 1, 40
+ obj_image_anim_frame 0, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_LARVITAR_1:: @ 8307A74
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_PUPITAR_1:: @ 8307A88
+ obj_image_anim_frame 1, 40
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_TYRANITAR_1:: @ 8307A94
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_LUGIA_1:: @ 8307AA8
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_HO_OH_1:: @ 8307AB4
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_CELEBI_1:: @ 8307AC0
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 30
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_OLD_UNOWN_B_1:: @ 8307AD4
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_TREECKO_1:: @ 8307AE4
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 3
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_GROVYLE_1:: @ 8307AFC
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 18
+ obj_image_anim_frame 0, 7
+ obj_image_anim_frame 1, 12
+ obj_image_anim_frame 0, 6
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SCEPTILE_1:: @ 8307B14
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 26
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_TORCHIC_1:: @ 8307B24
+ obj_image_anim_frame 0, 7
+ obj_image_anim_frame 1, 4
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 1, 4
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 1, 4
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_COMBUSKEN_1:: @ 8307B44
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 25
+ obj_image_anim_frame 0, 12
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_BLAZIKEN_1:: @ 8307B54
+ obj_image_anim_frame 0, 1
+ obj_image_anim_frame 1, 25
+ obj_image_anim_frame 0, 7
+ obj_image_anim_frame 1, 7
+ obj_image_anim_frame 0, 7
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_BLAZIKEN_2:: @ 8307B6C
+ obj_image_anim_frame 0, 1
+ obj_image_anim_frame 2, 8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_BLAZIKEN_3:: @ 8307B7C
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 2, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_BLAZIKEN_4:: @ 8307B88
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MUDKIP_1:: @ 8307B90
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 13
+ obj_image_anim_frame 0, 7
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MARSHTOMP_1:: @ 8307BA8
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SWAMPERT_1:: @ 8307BD0
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 44
+ obj_image_anim_frame 0, 18
+ obj_image_anim_frame 1, 18
+ obj_image_anim_frame 0, 7
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_POOCHYENA_1:: @ 8307BE8
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 44
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MIGHTYENA_1:: @ 8307BF8
+ obj_image_anim_frame 0, 27
+ obj_image_anim_frame 1, 6
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 1, 6
+ obj_image_anim_frame 0, 6
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_ZIGZAGOON_1:: @ 8307C10
+ obj_image_anim_frame 0, 27
+ obj_image_anim_frame 1, 6
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 1, 6
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_LINOONE_1:: @ 8307C28
+ obj_image_anim_frame 0, 14
+ obj_image_anim_frame 1, 14
+ obj_image_anim_frame 0, 14
+ obj_image_anim_frame 1, 14
+ obj_image_anim_frame 0, 14
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_WURMPLE_1:: @ 8307C40
+ obj_image_anim_frame 0, 22
+ obj_image_anim_frame 1, 35
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SILCOON_1:: @ 8307C50
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 25
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SILCOON_2:: @ 8307C60
+ obj_image_anim_frame 1, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_BEAUTIFLY_1:: @ 8307C68
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 1, 2
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 1, 2
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 1, 2
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 1, 2
+ obj_image_anim_frame 0, 2
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_BEAUTIFLY_2:: @ 8307C90
+ obj_image_anim_frame 1, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_CASCOON_1:: @ 8307C98
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_CASCOON_2:: @ 8307CB0
+ obj_image_anim_frame 1, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_DUSTOX_1:: @ 8307CB8
+ obj_image_anim_frame 0, 1
+ obj_image_anim_frame 1, 1
+ obj_image_anim_frame 0, 1
+ obj_image_anim_frame 1, 1
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 1, 2
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 4
+ obj_image_anim_frame 1, 4
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 12
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_DUSTOX_2:: @ 8307CF8
+ obj_image_anim_frame 1, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_LOTAD_1:: @ 8307D00
+ obj_image_anim_frame 0, 22
+ obj_image_anim_frame 1, 55
+ obj_image_anim_frame 0, 22
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_LOMBRE_1:: @ 8307D10
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 7
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_LUDICOLO_1:: @ 8307D28
+ obj_image_anim_frame 0, 22
+ obj_image_anim_frame 1, 22
+ obj_image_anim_frame 0, 22
+ obj_image_anim_frame 1, 22
+ obj_image_anim_frame 0, 22
+ obj_image_anim_frame 1, 22
+ obj_image_anim_frame 0, 22
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SEEDOT_1:: @ 8307D48
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_NUZLEAF_1:: @ 8307D70
+ obj_image_anim_frame 0, 7
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 7
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 7
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 7
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 7
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SHIFTRY_1:: @ 8307D98
+ obj_image_anim_frame 0, 7
+ obj_image_anim_frame 1, 35
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_NINCADA_1:: @ 8307DA8
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 22
+ obj_image_anim_frame 0, 11
+ obj_image_anim_frame 1, 33
+ obj_image_anim_frame 0, 11
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_NINJASK_1:: @ 8307DC0
+ obj_image_anim_frame 0, 1
+ obj_image_anim_frame 1, 1
+ obj_image_anim_frame 0, 1
+ obj_image_anim_frame 1, 1
+ obj_image_anim_frame 0, 1
+ obj_image_anim_frame 1, 1
+ obj_image_anim_frame 0, 1
+ obj_image_anim_frame 1, 1
+ obj_image_anim_frame 0, 33
+ obj_image_anim_frame 0, 1
+ obj_image_anim_frame 1, 1
+ obj_image_anim_frame 0, 1
+ obj_image_anim_frame 1, 1
+ obj_image_anim_frame 0, 1
+ obj_image_anim_frame 1, 1
+ obj_image_anim_frame 0, 1
+ obj_image_anim_frame 1, 1
+ obj_image_anim_frame 0, 11
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SHEDINJA_1:: @ 8307E0C
+ obj_image_anim_frame 0, 33
+ obj_image_anim_frame 1, 33
+ obj_image_anim_frame 0, 33
+ obj_image_anim_frame 1, 33
+ obj_image_anim_frame 0, 11
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_TAILLOW_1:: @ 8307E24
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 1, 2
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 1, 2
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 1, 2
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SWELLOW_1:: @ 8307E4C
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 18
+ obj_image_anim_frame 0, 11
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SHROOMISH_1:: @ 8307E5C
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 1, 6
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 1, 6
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 1, 6
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 1, 6
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 1, 6
+ obj_image_anim_frame 0, 6
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_BRELOOM_1:: @ 8307E8C
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 7
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_WINGULL_1:: @ 8307EA4
+ obj_image_anim_frame 0, 17
+ obj_image_anim_frame 1, 23
+ obj_image_anim_frame 0, 13
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_PELIPPER_1:: @ 8307EB4
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 5
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SURSKIT_1:: @ 8307EDC
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 1, 18
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 1, 18
+ obj_image_anim_frame 0, 8
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SURSKIT_2:: @ 8307EF4
+ obj_image_anim_frame 1, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MASQUERAIN_1:: @ 8307EFC
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MASQUERAIN_2:: @ 8307F24
+ obj_image_anim_frame 1, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_WAILMER_1:: @ 8307F2C
+ obj_image_anim_frame 0, 22
+ obj_image_anim_frame 1, 22
+ obj_image_anim_frame 0, 22
+ obj_image_anim_frame 1, 22
+ obj_image_anim_frame 0, 22
+ obj_image_anim_frame 1, 22
+ obj_image_anim_frame 0, 22
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_WAILORD_1:: @ 8307F4C
+ obj_image_anim_frame 0, 26
+ obj_image_anim_frame 1, 48
+ obj_image_anim_frame 0, 33
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SKITTY_1:: @ 8307F5C
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 35
+ obj_image_anim_frame 0, 9
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_DELCATTY_1:: @ 8307F6C
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 46
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_KECLEON_1:: @ 8307F7C
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 18
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_BALTOY_1:: @ 8307F94
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 50
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_CLAYDOL_1:: @ 8307FB4
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_NOSEPASS_1:: @ 8307FD4
+ obj_image_anim_frame 0, 27
+ obj_image_anim_frame 1, 27
+ obj_image_anim_frame 0, 27
+ obj_image_anim_frame 1, 27
+ obj_image_anim_frame 0, 27
+ obj_image_anim_frame 1, 27
+ obj_image_anim_frame 0, 3
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_TORKOAL_1:: @ 8307FF4
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SABLEYE_1:: @ 830800C
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_BARBOACH_1:: @ 8308024
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 50
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_WHISCASH_1:: @ 830805C
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_LUVDISC_1:: @ 8308094
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_CORPHISH_1:: @ 83080AC
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 50
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_CRAWDAUNT_1:: @ 83080CC
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_FEEBAS_1:: @ 83080E4
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MILOTIC_1:: @ 8308104
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_CARVANHA_1:: @ 8308124
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 1, 6
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 1, 6
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 1, 6
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 1, 6
+ obj_image_anim_frame 0, 6
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SHARPEDO_1:: @ 830814C
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 1, 6
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 1, 6
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 1, 6
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 1, 6
+ obj_image_anim_frame 0, 22
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_TRAPINCH_1:: @ 8308174
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_VIBRAVA_1:: @ 830818C
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 50
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_FLYGON_1:: @ 83081AC
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 50
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MAKUHITA_1:: @ 83081CC
+ obj_image_anim_frame 0, 7
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 7
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 7
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 7
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 22
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_HARIYAMA_1:: @ 83081F4
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 1, 16
+ obj_image_anim_frame 0, 11
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_ELECTRIKE_1:: @ 8308208
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 25
+ obj_image_anim_frame 0, 17
+ obj_image_anim_frame 1, 25
+ obj_image_anim_frame 0, 3
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MANECTRIC_1:: @ 8308220
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 33
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 25
+ obj_image_anim_frame 0, 3
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_NUMEL_1:: @ 8308238
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 40
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_CAMERUPT_1:: @ 8308250
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SPHEAL_1:: @ 8308270
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 43
+ obj_image_anim_frame 1, 60
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SEALEO_1:: @ 8308294
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_WALREIN_1:: @ 83082AC
+ obj_image_anim_frame 0, 2
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 6
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_CACNEA_1:: @ 83082C4
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_CACTURNE_1:: @ 83082F4
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SNORUNT_1:: @ 830830C
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_GLALIE_1:: @ 8308324
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_LUNATONE_1:: @ 830833C
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_LUNATONE_2:: @ 8308354
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SOLROCK_1:: @ 8308368
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SOLROCK_2:: @ 8308380
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_AZURILL_1:: @ 8308394
+ obj_image_anim_frame 0, 12
+ obj_image_anim_frame 1, 12
+ obj_image_anim_frame 0, 12
+ obj_image_anim_frame 1, 12
+ obj_image_anim_frame 0, 12
+ obj_image_anim_frame 1, 12
+ obj_image_anim_frame 0, 12
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SPOINK_1:: @ 83083B4
+ obj_image_anim_frame 0, 5
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_GRUMPIG_1:: @ 83083E4
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_PLUSLE_1:: @ 83083FC
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MINUN_1:: @ 8308414
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MAWILE_1:: @ 830842C
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MEDITITE_1:: @ 830844C
+ obj_image_anim_frame 0, 22
+ obj_image_anim_frame 1, 2
+ obj_image_anim_frame 0, 22
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_MEDICHAM_1:: @ 830845C
+ obj_image_anim_frame 0, 11
+ obj_image_anim_frame 1, 11
+ obj_image_anim_frame 0, 11
+ obj_image_anim_frame 1, 11
+ obj_image_anim_frame 0, 11
+ obj_image_anim_frame 1, 11
+ obj_image_anim_frame 0, 11
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SWABLU_1:: @ 830847C
+ obj_image_anim_frame 0, 1
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SWABLU_2:: @ 830849C
+ obj_image_anim_frame 0, 1
+ obj_image_anim_frame 2, 8
+ obj_image_anim_frame 0, 12
+ obj_image_anim_frame 2, 8
+ obj_image_anim_frame 0, 12
+ obj_image_anim_frame 2, 8
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_ALTARIA_1:: @ 83084B8
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_ALTARIA_2:: @ 83084D0
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_WYNAUT_1:: @ 83084E4
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_DUSKULL_1:: @ 83084FC
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_DUSCLOPS_1:: @ 8308514
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_ROSELIA_1:: @ 830852C
+ obj_image_anim_frame 0, 18
+ obj_image_anim_frame 1, 44
+ obj_image_anim_frame 0, 22
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SLAKOTH_1:: @ 830853C
+ obj_image_anim_frame 0, 13
+ obj_image_anim_frame 1, 22
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 22
+ obj_image_anim_frame 0, 11
+ obj_image_anim_frame 0, 11
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_VIGOROTH_1:: @ 8308558
+ obj_image_anim_frame 0, 13
+ obj_image_anim_frame 1, 7
+ obj_image_anim_frame 0, 13
+ obj_image_anim_frame 1, 7
+ obj_image_anim_frame 0, 13
+ obj_image_anim_frame 1, 7
+ obj_image_anim_frame 0, 11
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SLAKING_1:: @ 8308578
+ obj_image_anim_frame 0, 22
+ obj_image_anim_frame 1, 22
+ obj_image_anim_frame 0, 22
+ obj_image_anim_frame 1, 22
+ obj_image_anim_frame 0, 22
+ obj_image_anim_frame 1, 22
+ obj_image_anim_frame 0, 22
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_GULPIN_1:: @ 8308598
+ obj_image_anim_frame 0, 14
+ obj_image_anim_frame 1, 14
+ obj_image_anim_frame 0, 14
+ obj_image_anim_frame 1, 14
+ obj_image_anim_frame 0, 4
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SWALOT_1:: @ 83085B0
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 30
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_TROPIUS_1:: @ 83085C4
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_WHISMUR_1:: @ 83085DC
+ obj_image_anim_frame 0, 9
+ obj_image_anim_frame 1, 9
+ obj_image_anim_frame 0, 9
+ obj_image_anim_frame 1, 9
+ obj_image_anim_frame 0, 33
+ obj_image_anim_frame 0, 9
+ obj_image_anim_frame 1, 9
+ obj_image_anim_frame 0, 9
+ obj_image_anim_frame 1, 9
+ obj_image_anim_frame 0, 9
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_LOUDRED_1:: @ 8308608
+ obj_image_anim_frame 0, 9
+ obj_image_anim_frame 1, 9
+ obj_image_anim_frame 0, 9
+ obj_image_anim_frame 1, 9
+ obj_image_anim_frame 0, 33
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_EXPLOUD_1:: @ 8308620
+ obj_image_anim_frame 0, 9
+ obj_image_anim_frame 1, 44
+ obj_image_anim_frame 0, 9
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_CLAMPERL_1:: @ 8308630
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_HUNTAIL_1:: @ 8308648
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_GOREBYSS_1:: @ 8308660
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_ABSOL_1:: @ 8308678
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SHUPPET_1:: @ 8308690
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_BANETTE_1:: @ 83086B0
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SEVIPER_1:: @ 83086D0
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 50
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_ZANGOOSE_1:: @ 83086F0
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 50
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_RELICANTH_1:: @ 8308710
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_ARON_1:: @ 8308728
+ obj_image_anim_frame 0, 33
+ obj_image_anim_frame 1, 44
+ obj_image_anim_frame 0, 33
+ obj_image_anim_frame 1, 33
+ obj_image_anim_frame 0, 11
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_LAIRON_1:: @ 8308740
+ obj_image_anim_frame 0, 12
+ obj_image_anim_frame 1, 29
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 29
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_AGGRON_1:: @ 8308758
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 44
+ obj_image_anim_frame 0, 11
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_CASTFORM_0:: @ 8308768
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_CASTFORM_1:: @ 8308770
+ obj_image_anim_frame 1, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_CASTFORM_2:: @ 8308778
+ obj_image_anim_frame 2, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_CASTFORM_3:: @ 8308780
+ obj_image_anim_frame 3, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_VOLBEAT_1:: @ 8308788
+ obj_image_anim_frame 0, 11
+ obj_image_anim_frame 1, 11
+ obj_image_anim_frame 0, 11
+ obj_image_anim_frame 1, 11
+ obj_image_anim_frame 0, 11
+ obj_image_anim_frame 1, 11
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_ILLUMISE_1:: @ 83087A8
+ obj_image_anim_frame 0, 22
+ obj_image_anim_frame 1, 22
+ obj_image_anim_frame 0, 22
+ obj_image_anim_frame 1, 22
+ obj_image_anim_frame 0, 11
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_LILEEP_1:: @ 83087C0
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_CRADILY_1:: @ 83087D8
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_ANORITH_1:: @ 83087F8
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_ARMALDO_1:: @ 8308818
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_RALTS_1:: @ 8308830
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 25
+ obj_image_anim_frame 0, 8
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_KIRLIA_1:: @ 8308840
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 39
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_GARDEVOIR_1:: @ 8308850
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 3
+ obj_image_anim_frame 1, 3
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_BAGON_1:: @ 8308888
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SHELGON_1:: @ 83088A0
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_SALAMENCE_1:: @ 83088B8
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_BELDUM_1:: @ 83088D0
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_METANG_1:: @ 83088E8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 8
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_METAGROSS_1:: @ 8308900
+ obj_image_anim_frame 0, 16
+ obj_image_anim_frame 1, 16
+ obj_image_anim_frame 0, 16
+ obj_image_anim_frame 1, 16
+ obj_image_anim_frame 0, 16
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_REGIROCK_1:: @ 8308918
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_REGIROCK_2:: @ 8308930
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_REGICE_1:: @ 8308944
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 18
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_REGISTEEL_1:: @ 830895C
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_REGISTEEL_2:: @ 8308974
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_KYOGRE_1:: @ 8308988
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_KYOGRE_2:: @ 83089A0
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_GROUDON_1:: @ 83089B4
+ obj_image_anim_frame 0, 11
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 20
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_GROUDON_2:: @ 83089CC
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_RAYQUAZA_1:: @ 83089E0
+ obj_image_anim_frame 0, 1
+ obj_image_anim_frame 1, 8
+ obj_image_anim_frame 0, 22
+ obj_image_anim_frame 1, 6
+ obj_image_anim_frame 0, 6
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_RAYQUAZA_2:: @ 83089F8
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_LATIAS_1:: @ 8308A0C
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_LATIAS_2:: @ 8308A24
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_LATIOS_1:: @ 8308A38
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_LATIOS_2:: @ 8308A50
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_JIRACHI_1:: @ 8308A64
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_frame 1, 10
+ obj_image_anim_frame 0, 10
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_JIRACHI_2:: @ 8308A90
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_DEOXYS_1:: @ 8308AA4
+ obj_image_anim_frame 0, 16
+ obj_image_anim_frame 1, 16
+ obj_image_anim_frame 0, 26
+ obj_image_anim_frame 1, 16
+ obj_image_anim_frame 0, 16
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_DEOXYS_2:: @ 8308ABC
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_frame 0, 20
+ obj_image_anim_frame 2, 20
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_CHIMECHO_1:: @ 8308AD0
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_frame 1, 15
+ obj_image_anim_frame 0, 15
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_EGG_1:: @ 8308AF8
+ obj_image_anim_frame 0, 6
+ obj_image_anim_frame 1, 6
+ obj_image_anim_frame 2, 6
+ obj_image_anim_frame 3, 6
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_UNOWN_B_1:: @ 8308B0C
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_UNOWN_C_1:: @ 8308B1C
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_UNOWN_D_1:: @ 8308B2C
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_UNOWN_E_1:: @ 8308B3C
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_UNOWN_F_1:: @ 8308B4C
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_UNOWN_G_1:: @ 8308B5C
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_UNOWN_H_1:: @ 8308B6C
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_UNOWN_I_1:: @ 8308B7C
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_UNOWN_J_1:: @ 8308B8C
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_UNOWN_K_1:: @ 8308B9C
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_UNOWN_L_1:: @ 8308BAC
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_UNOWN_M_1:: @ 8308BBC
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_UNOWN_N_1:: @ 8308BCC
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_UNOWN_O_1:: @ 8308BDC
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_UNOWN_P_1:: @ 8308BEC
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_UNOWN_Q_1:: @ 8308BFC
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_UNOWN_R_1:: @ 8308C0C
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_UNOWN_S_1:: @ 8308C1C
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_UNOWN_T_1:: @ 8308C2C
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_UNOWN_U_1:: @ 8308C3C
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_UNOWN_V_1:: @ 8308C4C
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_UNOWN_W_1:: @ 8308C5C
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_UNOWN_X_1:: @ 8308C6C
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_UNOWN_Y_1:: @ 8308C7C
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_UNOWN_Z_1:: @ 8308C8C
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_UNOWN_EMARK_1:: @ 8308C9C
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnimCmd_UNOWN_QMARK_1:: @ 8308CAC
+ obj_image_anim_frame 0, 30
+ obj_image_anim_frame 1, 30
+ obj_image_anim_frame 0, 1
+ obj_image_anim_end
+
+ .align 2
+gAnims_NONE:: @ 8308CBC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_NONE_1
+
+ .align 2
+gAnims_BULBASAUR:: @ 8308CC4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_BULBASAUR_1
+
+ .align 2
+gAnims_IVYSAUR:: @ 8308CCC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_IVYSAUR_1
+
+ .align 2
+gAnims_VENUSAUR:: @ 8308CD4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_VENUSAUR_1
+
+ .align 2
+gAnims_CHARMANDER:: @ 8308CDC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_CHARMANDER_1
+
+ .align 2
+gAnims_CHARMELEON:: @ 8308CE4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_CHARMELEON_1
+
+ .align 2
+gAnims_CHARIZARD:: @ 8308CEC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_CHARIZARD_1
+
+ .align 2
+gAnims_SQUIRTLE:: @ 8308CF4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SQUIRTLE_1
+
+ .align 2
+gAnims_WARTORTLE:: @ 8308CFC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_WARTORTLE_1
+
+ .align 2
+gAnims_BLASTOISE:: @ 8308D04
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_BLASTOISE_1
+
+ .align 2
+gAnims_CATERPIE:: @ 8308D0C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_CATERPIE_1
+
+ .align 2
+gAnims_METAPOD:: @ 8308D14
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_METAPOD_1
+
+ .align 2
+gAnims_BUTTERFREE:: @ 8308D1C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_BUTTERFREE_1
+
+ .align 2
+gAnims_WEEDLE:: @ 8308D24
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_WEEDLE_1
+
+ .align 2
+gAnims_KAKUNA:: @ 8308D2C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_KAKUNA_1
+
+ .align 2
+gAnims_BEEDRILL:: @ 8308D34
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_BEEDRILL_1
+
+ .align 2
+gAnims_PIDGEY:: @ 8308D3C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_PIDGEY_1
+
+ .align 2
+gAnims_PIDGEOTTO:: @ 8308D44
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_PIDGEOTTO_1
+
+ .align 2
+gAnims_PIDGEOT:: @ 8308D4C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_PIDGEOT_1
+
+ .align 2
+gAnims_RATTATA:: @ 8308D54
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_RATTATA_1
+
+ .align 2
+gAnims_RATICATE:: @ 8308D5C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_RATICATE_1
+
+ .align 2
+gAnims_SPEAROW:: @ 8308D64
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SPEAROW_1
+
+ .align 2
+gAnims_FEAROW:: @ 8308D6C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_FEAROW_1
+
+ .align 2
+gAnims_EKANS:: @ 8308D74
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_EKANS_1
+
+ .align 2
+gAnims_ARBOK:: @ 8308D7C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_ARBOK_1
+
+ .align 2
+gAnims_PIKACHU:: @ 8308D84
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_PIKACHU_1
+ .4byte gAnimCmd_PIKACHU_2
+
+ .align 2
+gAnims_RAICHU:: @ 8308D90
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_RAICHU_1
+ .4byte gAnimCmd_RAICHU_2
+
+ .align 2
+gAnims_SANDSHREW:: @ 8308D9C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SANDSHREW_1
+ .4byte gAnimCmd_SANDSHREW_2
+
+ .align 2
+gAnims_SANDSLASH:: @ 8308DA8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SANDSLASH_1
+ .4byte gAnimCmd_SANDSLASH_2
+
+ .align 2
+gAnims_NIDORAN_F:: @ 8308DB4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_NIDORAN_F_1
+
+ .align 2
+gAnims_NIDORINA:: @ 8308DBC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_NIDORINA_1
+
+ .align 2
+gAnims_NIDOQUEEN:: @ 8308DC4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_NIDOQUEEN_1
+
+ .align 2
+gAnims_NIDORAN_M:: @ 8308DCC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_NIDORAN_M_1
+
+ .align 2
+gAnims_NIDORINO:: @ 8308DD4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_NIDORINO_1
+
+ .align 2
+gAnims_NIDOKING:: @ 8308DDC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_NIDOKING_1
+
+ .align 2
+gAnims_CLEFAIRY:: @ 8308DE4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_CLEFAIRY_1
+
+ .align 2
+gAnims_CLEFABLE:: @ 8308DEC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_CLEFABLE_1
+
+ .align 2
+gAnims_VULPIX:: @ 8308DF4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_VULPIX_1
+ .4byte gAnimCmd_VULPIX_2
+
+ .align 2
+gAnims_NINETALES:: @ 8308E00
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_NINETALES_1
+ .4byte gAnimCmd_NINETALES_2
+
+ .align 2
+gAnims_JIGGLYPUFF:: @ 8308E0C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_JIGGLYPUFF_1
+ .4byte gAnimCmd_JIGGLYPUFF_2
+
+ .align 2
+gAnims_WIGGLYTUFF:: @ 8308E18
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_WIGGLYTUFF_1
+ .4byte gAnimCmd_WIGGLYTUFF_2
+
+ .align 2
+gAnims_ZUBAT:: @ 8308E24
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_ZUBAT_1
+
+ .align 2
+gAnims_GOLBAT:: @ 8308E2C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_GOLBAT_1
+
+ .align 2
+gAnims_ODDISH:: @ 8308E34
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_ODDISH_1
+
+ .align 2
+gAnims_GLOOM:: @ 8308E3C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_GLOOM_1
+
+ .align 2
+gAnims_VILEPLUME:: @ 8308E44
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_VILEPLUME_1
+
+ .align 2
+gAnims_PARAS:: @ 8308E4C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_PARAS_1
+
+ .align 2
+gAnims_PARASECT:: @ 8308E54
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_PARASECT_1
+
+ .align 2
+gAnims_VENONAT:: @ 8308E5C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_VENONAT_1
+
+ .align 2
+gAnims_VENOMOTH:: @ 8308E64
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_VENOMOTH_1
+
+ .align 2
+gAnims_DIGLETT:: @ 8308E6C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_DIGLETT_1
+
+ .align 2
+gAnims_DUGTRIO:: @ 8308E74
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_DUGTRIO_1
+
+ .align 2
+gAnims_MEOWTH:: @ 8308E7C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_MEOWTH_1
+
+ .align 2
+gAnims_PERSIAN:: @ 8308E84
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_PERSIAN_1
+
+ .align 2
+gAnims_PSYDUCK:: @ 8308E8C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_PSYDUCK_1
+ .4byte gAnimCmd_PSYDUCK_2
+
+ .align 2
+gAnims_GOLDUCK:: @ 8308E98
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_GOLDUCK_1
+ .4byte gAnimCmd_GOLDUCK_2
+
+ .align 2
+gAnims_MANKEY:: @ 8308EA4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_MANKEY_1
+
+ .align 2
+gAnims_PRIMEAPE:: @ 8308EAC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_PRIMEAPE_1
+
+ .align 2
+gAnims_GROWLITHE:: @ 8308EB4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_GROWLITHE_1
+
+ .align 2
+gAnims_ARCANINE:: @ 8308EBC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_ARCANINE_1
+
+ .align 2
+gAnims_POLIWAG:: @ 8308EC4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_POLIWAG_1
+
+ .align 2
+gAnims_POLIWHIRL:: @ 8308ECC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_POLIWHIRL_1
+
+ .align 2
+gAnims_POLIWRATH:: @ 8308ED4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_POLIWRATH_1
+
+ .align 2
+gAnims_ABRA:: @ 8308EDC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_ABRA_1
+
+ .align 2
+gAnims_KADABRA:: @ 8308EE4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_KADABRA_1
+
+ .align 2
+gAnims_ALAKAZAM:: @ 8308EEC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_ALAKAZAM_1
+
+ .align 2
+gAnims_MACHOP:: @ 8308EF4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_MACHOP_1
+
+ .align 2
+gAnims_MACHOKE:: @ 8308EFC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_MACHOKE_1
+
+ .align 2
+gAnims_MACHAMP:: @ 8308F04
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_MACHAMP_1
+
+ .align 2
+gAnims_BELLSPROUT:: @ 8308F0C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_BELLSPROUT_1
+
+ .align 2
+gAnims_WEEPINBELL:: @ 8308F14
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_WEEPINBELL_1
+
+ .align 2
+gAnims_VICTREEBEL:: @ 8308F1C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_VICTREEBEL_1
+
+ .align 2
+gAnims_TENTACOOL:: @ 8308F24
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_TENTACOOL_1
+
+ .align 2
+gAnims_TENTACRUEL:: @ 8308F2C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_TENTACRUEL_1
+
+ .align 2
+gAnims_GEODUDE:: @ 8308F34
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_GEODUDE_1
+
+ .align 2
+gAnims_GRAVELER:: @ 8308F3C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_GRAVELER_1
+
+ .align 2
+gAnims_GOLEM:: @ 8308F44
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_GOLEM_1
+
+ .align 2
+gAnims_PONYTA:: @ 8308F4C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_PONYTA_1
+
+ .align 2
+gAnims_RAPIDASH:: @ 8308F54
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_RAPIDASH_1
+
+ .align 2
+gAnims_SLOWPOKE:: @ 8308F5C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SLOWPOKE_1
+
+ .align 2
+gAnims_SLOWBRO:: @ 8308F64
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SLOWBRO_1
+
+ .align 2
+gAnims_MAGNEMITE:: @ 8308F6C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_MAGNEMITE_1
+
+ .align 2
+gAnims_MAGNETON:: @ 8308F74
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_MAGNETON_1
+
+ .align 2
+gAnims_FARFETCHD:: @ 8308F7C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_FARFETCHD_1
+
+ .align 2
+gAnims_DODUO:: @ 8308F84
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_DODUO_1
+
+ .align 2
+gAnims_DODRIO:: @ 8308F8C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_DODRIO_1
+
+ .align 2
+gAnims_SEEL:: @ 8308F94
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SEEL_1
+
+ .align 2
+gAnims_DEWGONG:: @ 8308F9C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_DEWGONG_1
+
+ .align 2
+gAnims_GRIMER:: @ 8308FA4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_GRIMER_1
+ .4byte gAnimCmd_GRIMER_2
+
+ .align 2
+gAnims_MUK:: @ 8308FB0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_MUK_1
+ .4byte gAnimCmd_MUK_2
+
+ .align 2
+gAnims_SHELLDER:: @ 8308FBC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SHELLDER_1
+
+ .align 2
+gAnims_CLOYSTER:: @ 8308FC4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_CLOYSTER_1
+
+ .align 2
+gAnims_GASTLY:: @ 8308FCC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_GASTLY_1
+
+ .align 2
+gAnims_HAUNTER:: @ 8308FD4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_HAUNTER_1
+
+ .align 2
+gAnims_GENGAR:: @ 8308FDC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_GENGAR_1
+
+ .align 2
+gAnims_ONIX:: @ 8308FE4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_ONIX_1
+
+ .align 2
+gAnims_DROWZEE:: @ 8308FEC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_DROWZEE_1
+
+ .align 2
+gAnims_HYPNO:: @ 8308FF4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_HYPNO_1
+
+ .align 2
+gAnims_KRABBY:: @ 8308FFC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_KRABBY_1
+
+ .align 2
+gAnims_KINGLER:: @ 8309004
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_KINGLER_1
+
+ .align 2
+gAnims_VOLTORB:: @ 830900C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_VOLTORB_1
+
+ .align 2
+gAnims_ELECTRODE:: @ 8309014
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_ELECTRODE_1
+
+ .align 2
+gAnims_EXEGGCUTE:: @ 830901C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_EXEGGCUTE_1
+
+ .align 2
+gAnims_EXEGGUTOR:: @ 8309024
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_EXEGGUTOR_1
+
+ .align 2
+gAnims_CUBONE:: @ 830902C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_CUBONE_1
+
+ .align 2
+gAnims_MAROWAK:: @ 8309034
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_MAROWAK_1
+
+ .align 2
+gAnims_HITMONLEE:: @ 830903C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_HITMONLEE_1
+
+ .align 2
+gAnims_HITMONCHAN:: @ 8309044
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_HITMONCHAN_1
+
+ .align 2
+gAnims_LICKITUNG:: @ 830904C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_LICKITUNG_1
+
+ .align 2
+gAnims_KOFFING:: @ 8309054
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_KOFFING_1
+ .4byte gAnimCmd_KOFFING_2
+
+ .align 2
+gAnims_WEEZING:: @ 8309060
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_WEEZING_1
+ .4byte gAnimCmd_WEEZING_2
+
+ .align 2
+gAnims_RHYHORN:: @ 830906C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_RHYHORN_1
+ .4byte gAnimCmd_RHYHORN_2
+
+ .align 2
+gAnims_RHYDON:: @ 8309078
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_RHYDON_1
+ .4byte gAnimCmd_RHYDON_2
+
+ .align 2
+gAnims_CHANSEY:: @ 8309084
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_CHANSEY_1
+
+ .align 2
+gAnims_TANGELA:: @ 830908C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_TANGELA_1
+
+ .align 2
+gAnims_KANGASKHAN:: @ 8309094
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_KANGASKHAN_1
+
+ .align 2
+gAnims_HORSEA:: @ 830909C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_HORSEA_1
+ .4byte gAnimCmd_HORSEA_2
+
+ .align 2
+gAnims_SEADRA:: @ 83090A8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SEADRA_1
+ .4byte gAnimCmd_SEADRA_2
+
+ .align 2
+gAnims_GOLDEEN:: @ 83090B4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_GOLDEEN_1
+
+ .align 2
+gAnims_SEAKING:: @ 83090BC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SEAKING_1
+
+ .align 2
+gAnims_STARYU:: @ 83090C4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_STARYU_1
+ .4byte gAnimCmd_STARYU_2
+
+ .align 2
+gAnims_STARMIE:: @ 83090D0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_STARMIE_1
+ .4byte gAnimCmd_STARMIE_2
+
+ .align 2
+gAnims_MR_MIME:: @ 83090DC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_MR_MIME_1
+
+ .align 2
+gAnims_SCYTHER:: @ 83090E4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SCYTHER_1
+
+ .align 2
+gAnims_JYNX:: @ 83090EC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_JYNX_1
+
+ .align 2
+gAnims_ELECTABUZZ:: @ 83090F4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_ELECTABUZZ_1
+
+ .align 2
+gAnims_MAGMAR:: @ 83090FC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_MAGMAR_1
+
+ .align 2
+gAnims_PINSIR:: @ 8309104
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_PINSIR_1
+ .4byte gAnimCmd_PINSIR_2
+
+ .align 2
+gAnims_TAUROS:: @ 8309110
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_TAUROS_1
+
+ .align 2
+gAnims_MAGIKARP:: @ 8309118
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_MAGIKARP_1
+
+ .align 2
+gAnims_GYARADOS:: @ 8309120
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_GYARADOS_1
+
+ .align 2
+gAnims_LAPRAS:: @ 8309128
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_LAPRAS_1
+
+ .align 2
+gAnims_DITTO:: @ 8309130
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_DITTO_1
+
+ .align 2
+gAnims_EEVEE:: @ 8309138
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_EEVEE_1
+
+ .align 2
+gAnims_VAPOREON:: @ 8309140
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_VAPOREON_1
+
+ .align 2
+gAnims_JOLTEON:: @ 8309148
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_JOLTEON_1
+
+ .align 2
+gAnims_FLAREON:: @ 8309150
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_FLAREON_1
+
+ .align 2
+gAnims_PORYGON:: @ 8309158
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_PORYGON_1
+
+ .align 2
+gAnims_OMANYTE:: @ 8309160
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_OMANYTE_1
+
+ .align 2
+gAnims_OMASTAR:: @ 8309168
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_OMASTAR_1
+
+ .align 2
+gAnims_KABUTO:: @ 8309170
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_KABUTO_1
+
+ .align 2
+gAnims_KABUTOPS:: @ 8309178
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_KABUTOPS_1
+
+ .align 2
+gAnims_AERODACTYL:: @ 8309180
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_AERODACTYL_1
+
+ .align 2
+gAnims_SNORLAX:: @ 8309188
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SNORLAX_1
+
+ .align 2
+gAnims_ARTICUNO:: @ 8309190
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_ARTICUNO_1
+
+ .align 2
+gAnims_ZAPDOS:: @ 8309198
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_ZAPDOS_1
+
+ .align 2
+gAnims_MOLTRES:: @ 83091A0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_MOLTRES_1
+
+ .align 2
+gAnims_DRATINI:: @ 83091A8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_DRATINI_1
+
+ .align 2
+gAnims_DRAGONAIR:: @ 83091B0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_DRAGONAIR_1
+
+ .align 2
+gAnims_DRAGONITE:: @ 83091B8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_DRAGONITE_1
+
+ .align 2
+gAnims_MEWTWO:: @ 83091C0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_MEWTWO_1
+
+ .align 2
+gAnims_MEW:: @ 83091C8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_MEW_1
+
+ .align 2
+gAnims_CHIKORITA:: @ 83091D0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_CHIKORITA_1
+
+ .align 2
+gAnims_BAYLEEF:: @ 83091D8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_BAYLEEF_1
+
+ .align 2
+gAnims_MEGANIUM:: @ 83091E0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_MEGANIUM_1
+
+ .align 2
+gAnims_CYNDAQUIL:: @ 83091E8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_CYNDAQUIL_1
+
+ .align 2
+gAnims_QUILAVA:: @ 83091F0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_QUILAVA_1
+
+ .align 2
+gAnims_TYPHLOSION:: @ 83091F8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_TYPHLOSION_1
+
+ .align 2
+gAnims_TOTODILE:: @ 8309200
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_TOTODILE_1
+
+ .align 2
+gAnims_CROCONAW:: @ 8309208
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_CROCONAW_1
+
+ .align 2
+gAnims_FERALIGATR:: @ 8309210
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_FERALIGATR_1
+
+ .align 2
+gAnims_SENTRET:: @ 8309218
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SENTRET_1
+
+ .align 2
+gAnims_FURRET:: @ 8309220
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_FURRET_1
+
+ .align 2
+gAnims_HOOTHOOT:: @ 8309228
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_HOOTHOOT_1
+
+ .align 2
+gAnims_NOCTOWL:: @ 8309230
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_NOCTOWL_1
+
+ .align 2
+gAnims_LEDYBA:: @ 8309238
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_LEDYBA_1
+
+ .align 2
+gAnims_LEDIAN:: @ 8309240
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_LEDIAN_1
+
+ .align 2
+gAnims_SPINARAK:: @ 8309248
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SPINARAK_1
+
+ .align 2
+gAnims_ARIADOS:: @ 8309250
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_ARIADOS_1
+
+ .align 2
+gAnims_CROBAT:: @ 8309258
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_CROBAT_1
+
+ .align 2
+gAnims_CHINCHOU:: @ 8309260
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_CHINCHOU_1
+ .4byte gAnimCmd_CHINCHOU_2
+
+ .align 2
+gAnims_LANTURN:: @ 830926C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_LANTURN_1
+ .4byte gAnimCmd_LANTURN_2
+
+ .align 2
+gAnims_PICHU:: @ 8309278
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_PICHU_1
+ .4byte gAnimCmd_PICHU_2
+
+ .align 2
+gAnims_CLEFFA:: @ 8309284
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_CLEFFA_1
+
+ .align 2
+gAnims_IGGLYBUFF:: @ 830928C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_IGGLYBUFF_1
+ .4byte gAnimCmd_IGGLYBUFF_2
+
+ .align 2
+gAnims_TOGEPI:: @ 8309298
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_TOGEPI_1
+
+ .align 2
+gAnims_TOGETIC:: @ 83092A0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_TOGETIC_1
+
+ .align 2
+gAnims_NATU:: @ 83092A8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_NATU_1
+ .4byte gAnimCmd_NATU_2
+
+ .align 2
+gAnims_XATU:: @ 83092B4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_XATU_1
+ .4byte gAnimCmd_XATU_2
+
+ .align 2
+gAnims_MAREEP:: @ 83092C0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_MAREEP_1
+
+ .align 2
+gAnims_FLAAFFY:: @ 83092C8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_FLAAFFY_1
+
+ .align 2
+gAnims_AMPHAROS:: @ 83092D0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_AMPHAROS_1
+
+ .align 2
+gAnims_BELLOSSOM:: @ 83092D8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_BELLOSSOM_1
+
+ .align 2
+gAnims_MARILL:: @ 83092E0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_MARILL_1
+
+ .align 2
+gAnims_AZUMARILL:: @ 83092E8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_AZUMARILL_1
+
+ .align 2
+gAnims_SUDOWOODO:: @ 83092F0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SUDOWOODO_1
+
+ .align 2
+gAnims_POLITOED:: @ 83092F8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_POLITOED_1
+
+ .align 2
+gAnims_HOPPIP:: @ 8309300
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_HOPPIP_1
+
+ .align 2
+gAnims_SKIPLOOM:: @ 8309308
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SKIPLOOM_1
+
+ .align 2
+gAnims_JUMPLUFF:: @ 8309310
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_JUMPLUFF_1
+
+ .align 2
+gAnims_AIPOM:: @ 8309318
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_AIPOM_1
+
+ .align 2
+gAnims_SUNKERN:: @ 8309320
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SUNKERN_1
+
+ .align 2
+gAnims_SUNFLORA:: @ 8309328
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SUNFLORA_1
+
+ .align 2
+gAnims_YANMA:: @ 8309330
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_YANMA_1
+
+ .align 2
+gAnims_WOOPER:: @ 8309338
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_WOOPER_1
+
+ .align 2
+gAnims_QUAGSIRE:: @ 8309340
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_QUAGSIRE_1
+
+ .align 2
+gAnims_ESPEON:: @ 8309348
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_ESPEON_1
+
+ .align 2
+gAnims_UMBREON:: @ 8309350
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_UMBREON_1
+
+ .align 2
+gAnims_MURKROW:: @ 8309358
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_MURKROW_1
+
+ .align 2
+gAnims_SLOWKING:: @ 8309360
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SLOWKING_1
+
+ .align 2
+gAnims_MISDREAVUS:: @ 8309368
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_MISDREAVUS_1
+
+ .align 2
+gAnims_UNOWN:: @ 8309370
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_UNOWN_1
+
+ .align 2
+gAnims_WOBBUFFET:: @ 8309378
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_WOBBUFFET_1
+ .4byte gAnimCmd_WOBBUFFET_2
+
+ .align 2
+gAnims_GIRAFARIG:: @ 8309384
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_GIRAFARIG_1
+ .4byte gAnimCmd_GIRAFARIG_2
+
+ .align 2
+gAnims_PINECO:: @ 8309390
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_PINECO_1
+
+ .align 2
+gAnims_FORRETRESS:: @ 8309398
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_FORRETRESS_1
+
+ .align 2
+gAnims_DUNSPARCE:: @ 83093A0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_DUNSPARCE_1
+
+ .align 2
+gAnims_GLIGAR:: @ 83093A8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_GLIGAR_1
+
+ .align 2
+gAnims_STEELIX:: @ 83093B0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_STEELIX_1
+
+ .align 2
+gAnims_SNUBBULL:: @ 83093B8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SNUBBULL_1
+
+ .align 2
+gAnims_GRANBULL:: @ 83093C0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_GRANBULL_1
+
+ .align 2
+gAnims_QWILFISH:: @ 83093C8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_QWILFISH_1
+
+ .align 2
+gAnims_SCIZOR:: @ 83093D0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SCIZOR_1
+
+ .align 2
+gAnims_SHUCKLE:: @ 83093D8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SHUCKLE_1
+
+ .align 2
+gAnims_HERACROSS:: @ 83093E0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_HERACROSS_1
+ .4byte gAnimCmd_HERACROSS_2
+
+ .align 2
+gAnims_SNEASEL:: @ 83093EC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SNEASEL_1
+
+ .align 2
+gAnims_TEDDIURSA:: @ 83093F4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_TEDDIURSA_1
+
+ .align 2
+gAnims_URSARING:: @ 83093FC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_URSARING_1
+
+ .align 2
+gAnims_SLUGMA:: @ 8309404
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SLUGMA_1
+ .4byte gAnimCmd_SLUGMA_2
+
+ .align 2
+gAnims_MAGCARGO:: @ 8309410
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_MAGCARGO_1
+ .4byte gAnimCmd_MAGCARGO_2
+
+ .align 2
+gAnims_SWINUB:: @ 830941C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SWINUB_1
+
+ .align 2
+gAnims_PILOSWINE:: @ 8309424
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_PILOSWINE_1
+
+ .align 2
+gAnims_CORSOLA:: @ 830942C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_CORSOLA_1
+ .4byte gAnimCmd_CORSOLA_2
+
+ .align 2
+gAnims_REMORAID:: @ 8309438
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_REMORAID_1
+
+ .align 2
+gAnims_OCTILLERY:: @ 8309440
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_OCTILLERY_1
+
+ .align 2
+gAnims_DELIBIRD:: @ 8309448
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_DELIBIRD_1
+
+ .align 2
+gAnims_MANTINE:: @ 8309450
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_MANTINE_1
+
+ .align 2
+gAnims_SKARMORY:: @ 8309458
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SKARMORY_1
+ .4byte gAnimCmd_SKARMORY_2
+
+ .align 2
+gAnims_HOUNDOUR:: @ 8309464
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_HOUNDOUR_1
+
+ .align 2
+gAnims_HOUNDOOM:: @ 830946C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_HOUNDOOM_1
+
+ .align 2
+gAnims_KINGDRA:: @ 8309474
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_KINGDRA_1
+ .4byte gAnimCmd_KINGDRA_2
+
+ .align 2
+gAnims_PHANPY:: @ 8309480
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_PHANPY_1
+ .4byte gAnimCmd_PHANPY_2
+
+ .align 2
+gAnims_DONPHAN:: @ 830948C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_DONPHAN_1
+ .4byte gAnimCmd_DONPHAN_2
+
+ .align 2
+gAnims_PORYGON2:: @ 8309498
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_PORYGON2_1
+
+ .align 2
+gAnims_STANTLER:: @ 83094A0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_STANTLER_1
+
+ .align 2
+gAnims_SMEARGLE:: @ 83094A8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SMEARGLE_1
+
+ .align 2
+gAnims_TYROGUE:: @ 83094B0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_TYROGUE_1
+
+ .align 2
+gAnims_HITMONTOP:: @ 83094B8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_HITMONTOP_1
+
+ .align 2
+gAnims_SMOOCHUM:: @ 83094C0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SMOOCHUM_1
+
+ .align 2
+gAnims_ELEKID:: @ 83094C8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_ELEKID_1
+
+ .align 2
+gAnims_MAGBY:: @ 83094D0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_MAGBY_1
+
+ .align 2
+gAnims_MILTANK:: @ 83094D8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_MILTANK_1
+
+ .align 2
+gAnims_BLISSEY:: @ 83094E0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_BLISSEY_1
+
+ .align 2
+gAnims_RAIKOU:: @ 83094E8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_RAIKOU_1
+
+ .align 2
+gAnims_ENTEI:: @ 83094F0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_ENTEI_1
+
+ .align 2
+gAnims_SUICUNE:: @ 83094F8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SUICUNE_1
+
+ .align 2
+gAnims_LARVITAR:: @ 8309500
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_LARVITAR_1
+
+ .align 2
+gAnims_PUPITAR:: @ 8309508
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_PUPITAR_1
+
+ .align 2
+gAnims_TYRANITAR:: @ 8309510
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_TYRANITAR_1
+
+ .align 2
+gAnims_LUGIA:: @ 8309518
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_LUGIA_1
+
+ .align 2
+gAnims_HO_OH:: @ 8309520
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_HO_OH_1
+
+ .align 2
+gAnims_CELEBI:: @ 8309528
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_CELEBI_1
+
+ .align 2
+gAnims_OLD_UNOWN_B:: @ 8309530
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_OLD_UNOWN_B_1
+
+ .align 2
+gAnims_TREECKO:: @ 8309538
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_TREECKO_1
+
+ .align 2
+gAnims_GROVYLE:: @ 8309540
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_GROVYLE_1
+
+ .align 2
+gAnims_SCEPTILE:: @ 8309548
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SCEPTILE_1
+
+ .align 2
+gAnims_TORCHIC:: @ 8309550
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_TORCHIC_1
+
+ .align 2
+gAnims_COMBUSKEN:: @ 8309558
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_COMBUSKEN_1
+
+ .align 2
+gAnims_BLAZIKEN:: @ 8309560
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_BLAZIKEN_1
+ .4byte gAnimCmd_BLAZIKEN_2
+ .4byte gAnimCmd_BLAZIKEN_3
+ .4byte gAnimCmd_BLAZIKEN_4
+
+ .align 2
+gAnims_MUDKIP:: @ 8309574
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_MUDKIP_1
+
+ .align 2
+gAnims_MARSHTOMP:: @ 830957C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_MARSHTOMP_1
+
+ .align 2
+gAnims_SWAMPERT:: @ 8309584
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SWAMPERT_1
+
+ .align 2
+gAnims_POOCHYENA:: @ 830958C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_POOCHYENA_1
+
+ .align 2
+gAnims_MIGHTYENA:: @ 8309594
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_MIGHTYENA_1
+
+ .align 2
+gAnims_ZIGZAGOON:: @ 830959C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_ZIGZAGOON_1
+
+ .align 2
+gAnims_LINOONE:: @ 83095A4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_LINOONE_1
+
+ .align 2
+gAnims_WURMPLE:: @ 83095AC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_WURMPLE_1
+
+ .align 2
+gAnims_SILCOON:: @ 83095B4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SILCOON_1
+ .4byte gAnimCmd_SILCOON_2
+
+ .align 2
+gAnims_BEAUTIFLY:: @ 83095C0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_BEAUTIFLY_1
+ .4byte gAnimCmd_BEAUTIFLY_2
+
+ .align 2
+gAnims_CASCOON:: @ 83095CC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_CASCOON_1
+ .4byte gAnimCmd_CASCOON_2
+
+ .align 2
+gAnims_DUSTOX:: @ 83095D8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_DUSTOX_1
+ .4byte gAnimCmd_DUSTOX_2
+
+ .align 2
+gAnims_LOTAD:: @ 83095E4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_LOTAD_1
+
+ .align 2
+gAnims_LOMBRE:: @ 83095EC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_LOMBRE_1
+
+ .align 2
+gAnims_LUDICOLO:: @ 83095F4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_LUDICOLO_1
+
+ .align 2
+gAnims_SEEDOT:: @ 83095FC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SEEDOT_1
+
+ .align 2
+gAnims_NUZLEAF:: @ 8309604
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_NUZLEAF_1
+
+ .align 2
+gAnims_SHIFTRY:: @ 830960C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SHIFTRY_1
+
+ .align 2
+gAnims_NINCADA:: @ 8309614
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_NINCADA_1
+
+ .align 2
+gAnims_NINJASK:: @ 830961C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_NINJASK_1
+
+ .align 2
+gAnims_SHEDINJA:: @ 8309624
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SHEDINJA_1
+
+ .align 2
+gAnims_TAILLOW:: @ 830962C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_TAILLOW_1
+
+ .align 2
+gAnims_SWELLOW:: @ 8309634
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SWELLOW_1
+
+ .align 2
+gAnims_SHROOMISH:: @ 830963C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SHROOMISH_1
+
+ .align 2
+gAnims_BRELOOM:: @ 8309644
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_BRELOOM_1
+
+ .align 2
+gAnims_SPINDA:: @ 830964C
+ .4byte gAnimCmd_General_Frame0
+
+ .align 2
+gAnims_WINGULL:: @ 8309650
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_WINGULL_1
+
+ .align 2
+gAnims_PELIPPER:: @ 8309658
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_PELIPPER_1
+
+ .align 2
+gAnims_SURSKIT:: @ 8309660
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SURSKIT_1
+ .4byte gAnimCmd_SURSKIT_2
+
+ .align 2
+gAnims_MASQUERAIN:: @ 830966C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_MASQUERAIN_1
+ .4byte gAnimCmd_MASQUERAIN_2
+
+ .align 2
+gAnims_WAILMER:: @ 8309678
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_WAILMER_1
+
+ .align 2
+gAnims_WAILORD:: @ 8309680
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_WAILORD_1
+
+ .align 2
+gAnims_SKITTY:: @ 8309688
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SKITTY_1
+
+ .align 2
+gAnims_DELCATTY:: @ 8309690
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_DELCATTY_1
+
+ .align 2
+gAnims_KECLEON:: @ 8309698
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_KECLEON_1
+
+ .align 2
+gAnims_BALTOY:: @ 83096A0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_BALTOY_1
+
+ .align 2
+gAnims_CLAYDOL:: @ 83096A8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_CLAYDOL_1
+
+ .align 2
+gAnims_NOSEPASS:: @ 83096B0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_NOSEPASS_1
+
+ .align 2
+gAnims_TORKOAL:: @ 83096B8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_TORKOAL_1
+
+ .align 2
+gAnims_SABLEYE:: @ 83096C0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SABLEYE_1
+
+ .align 2
+gAnims_BARBOACH:: @ 83096C8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_BARBOACH_1
+
+ .align 2
+gAnims_WHISCASH:: @ 83096D0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_WHISCASH_1
+
+ .align 2
+gAnims_LUVDISC:: @ 83096D8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_LUVDISC_1
+
+ .align 2
+gAnims_CORPHISH:: @ 83096E0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_CORPHISH_1
+
+ .align 2
+gAnims_CRAWDAUNT:: @ 83096E8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_CRAWDAUNT_1
+
+ .align 2
+gAnims_FEEBAS:: @ 83096F0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_FEEBAS_1
+
+ .align 2
+gAnims_MILOTIC:: @ 83096F8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_MILOTIC_1
+
+ .align 2
+gAnims_CARVANHA:: @ 8309700
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_CARVANHA_1
+
+ .align 2
+gAnims_SHARPEDO:: @ 8309708
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SHARPEDO_1
+
+ .align 2
+gAnims_TRAPINCH:: @ 8309710
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_TRAPINCH_1
+
+ .align 2
+gAnims_VIBRAVA:: @ 8309718
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_VIBRAVA_1
+
+ .align 2
+gAnims_FLYGON:: @ 8309720
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_FLYGON_1
+
+ .align 2
+gAnims_MAKUHITA:: @ 8309728
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_MAKUHITA_1
+
+ .align 2
+gAnims_HARIYAMA:: @ 8309730
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_HARIYAMA_1
+
+ .align 2
+gAnims_ELECTRIKE:: @ 8309738
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_ELECTRIKE_1
+
+ .align 2
+gAnims_MANECTRIC:: @ 8309740
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_MANECTRIC_1
+
+ .align 2
+gAnims_NUMEL:: @ 8309748
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_NUMEL_1
+
+ .align 2
+gAnims_CAMERUPT:: @ 8309750
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_CAMERUPT_1
+
+ .align 2
+gAnims_SPHEAL:: @ 8309758
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SPHEAL_1
+
+ .align 2
+gAnims_SEALEO:: @ 8309760
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SEALEO_1
+
+ .align 2
+gAnims_WALREIN:: @ 8309768
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_WALREIN_1
+
+ .align 2
+gAnims_CACNEA:: @ 8309770
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_CACNEA_1
+
+ .align 2
+gAnims_CACTURNE:: @ 8309778
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_CACTURNE_1
+
+ .align 2
+gAnims_SNORUNT:: @ 8309780
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SNORUNT_1
+
+ .align 2
+gAnims_GLALIE:: @ 8309788
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_GLALIE_1
+
+ .align 2
+gAnims_LUNATONE:: @ 8309790
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_LUNATONE_1
+ .4byte gAnimCmd_LUNATONE_2
+
+ .align 2
+gAnims_SOLROCK:: @ 830979C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SOLROCK_1
+ .4byte gAnimCmd_SOLROCK_2
+
+ .align 2
+gAnims_AZURILL:: @ 83097A8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_AZURILL_1
+
+ .align 2
+gAnims_SPOINK:: @ 83097B0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SPOINK_1
+
+ .align 2
+gAnims_GRUMPIG:: @ 83097B8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_GRUMPIG_1
+
+ .align 2
+gAnims_PLUSLE:: @ 83097C0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_PLUSLE_1
+
+ .align 2
+gAnims_MINUN:: @ 83097C8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_MINUN_1
+
+ .align 2
+gAnims_MAWILE:: @ 83097D0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_MAWILE_1
+
+ .align 2
+gAnims_MEDITITE:: @ 83097D8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_MEDITITE_1
+
+ .align 2
+gAnims_MEDICHAM:: @ 83097E0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_MEDICHAM_1
+
+ .align 2
+gAnims_SWABLU:: @ 83097E8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SWABLU_1
+ .4byte gAnimCmd_SWABLU_2
+
+ .align 2
+gAnims_ALTARIA:: @ 83097F4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_ALTARIA_1
+ .4byte gAnimCmd_ALTARIA_2
+
+ .align 2
+gAnims_WYNAUT:: @ 8309800
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_WYNAUT_1
+
+ .align 2
+gAnims_DUSKULL:: @ 8309808
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_DUSKULL_1
+
+ .align 2
+gAnims_DUSCLOPS:: @ 8309810
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_DUSCLOPS_1
+
+ .align 2
+gAnims_ROSELIA:: @ 8309818
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_ROSELIA_1
+
+ .align 2
+gAnims_SLAKOTH:: @ 8309820
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SLAKOTH_1
+
+ .align 2
+gAnims_VIGOROTH:: @ 8309828
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_VIGOROTH_1
+
+ .align 2
+gAnims_SLAKING:: @ 8309830
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SLAKING_1
+
+ .align 2
+gAnims_GULPIN:: @ 8309838
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_GULPIN_1
+
+ .align 2
+gAnims_SWALOT:: @ 8309840
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SWALOT_1
+
+ .align 2
+gAnims_TROPIUS:: @ 8309848
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_TROPIUS_1
+
+ .align 2
+gAnims_WHISMUR:: @ 8309850
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_WHISMUR_1
+
+ .align 2
+gAnims_LOUDRED:: @ 8309858
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_LOUDRED_1
+
+ .align 2
+gAnims_EXPLOUD:: @ 8309860
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_EXPLOUD_1
+
+ .align 2
+gAnims_CLAMPERL:: @ 8309868
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_CLAMPERL_1
+
+ .align 2
+gAnims_HUNTAIL:: @ 8309870
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_HUNTAIL_1
+
+ .align 2
+gAnims_GOREBYSS:: @ 8309878
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_GOREBYSS_1
+
+ .align 2
+gAnims_ABSOL:: @ 8309880
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_ABSOL_1
+
+ .align 2
+gAnims_SHUPPET:: @ 8309888
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SHUPPET_1
+
+ .align 2
+gAnims_BANETTE:: @ 8309890
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_BANETTE_1
+
+ .align 2
+gAnims_SEVIPER:: @ 8309898
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SEVIPER_1
+
+ .align 2
+gAnims_ZANGOOSE:: @ 83098A0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_ZANGOOSE_1
+
+ .align 2
+gAnims_RELICANTH:: @ 83098A8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_RELICANTH_1
+
+ .align 2
+gAnims_ARON:: @ 83098B0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_ARON_1
+
+ .align 2
+gAnims_LAIRON:: @ 83098B8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_LAIRON_1
+
+ .align 2
+gAnims_AGGRON:: @ 83098C0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_AGGRON_1
+
+ .align 2
+gAnims_CASTFORM:: @ 83098C8
+ .4byte gAnimCmd_CASTFORM_0
+ .4byte gAnimCmd_CASTFORM_1
+ .4byte gAnimCmd_CASTFORM_2
+ .4byte gAnimCmd_CASTFORM_3
+
+ .align 2
+gAnims_VOLBEAT:: @ 83098D8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_VOLBEAT_1
+
+ .align 2
+gAnims_ILLUMISE:: @ 83098E0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_ILLUMISE_1
+
+ .align 2
+gAnims_LILEEP:: @ 83098E8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_LILEEP_1
+
+ .align 2
+gAnims_CRADILY:: @ 83098F0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_CRADILY_1
+
+ .align 2
+gAnims_ANORITH:: @ 83098F8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_ANORITH_1
+
+ .align 2
+gAnims_ARMALDO:: @ 8309900
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_ARMALDO_1
+
+ .align 2
+gAnims_RALTS:: @ 8309908
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_RALTS_1
+
+ .align 2
+gAnims_KIRLIA:: @ 8309910
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_KIRLIA_1
+
+ .align 2
+gAnims_GARDEVOIR:: @ 8309918
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_GARDEVOIR_1
+
+ .align 2
+gAnims_BAGON:: @ 8309920
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_BAGON_1
+
+ .align 2
+gAnims_SHELGON:: @ 8309928
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SHELGON_1
+
+ .align 2
+gAnims_SALAMENCE:: @ 8309930
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_SALAMENCE_1
+
+ .align 2
+gAnims_BELDUM:: @ 8309938
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_BELDUM_1
+
+ .align 2
+gAnims_METANG:: @ 8309940
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_METANG_1
+
+ .align 2
+gAnims_METAGROSS:: @ 8309948
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_METAGROSS_1
+
+ .align 2
+gAnims_REGIROCK:: @ 8309950
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_REGIROCK_1
+ .4byte gAnimCmd_REGIROCK_2
+
+ .align 2
+gAnims_REGICE:: @ 830995C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_REGICE_1
+
+ .align 2
+gAnims_REGISTEEL:: @ 8309964
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_REGISTEEL_1
+ .4byte gAnimCmd_REGISTEEL_2
+
+ .align 2
+gAnims_KYOGRE:: @ 8309970
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_KYOGRE_1
+ .4byte gAnimCmd_KYOGRE_2
+
+ .align 2
+gAnims_GROUDON:: @ 830997C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_GROUDON_1
+ .4byte gAnimCmd_GROUDON_2
+
+ .align 2
+gAnims_RAYQUAZA:: @ 8309988
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_RAYQUAZA_1
+ .4byte gAnimCmd_RAYQUAZA_2
+
+ .align 2
+gAnims_LATIAS:: @ 8309994
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_LATIAS_1
+ .4byte gAnimCmd_LATIAS_2
+
+ .align 2
+gAnims_LATIOS:: @ 83099A0
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_LATIOS_1
+ .4byte gAnimCmd_LATIOS_2
+
+ .align 2
+gAnims_JIRACHI:: @ 83099AC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_JIRACHI_1
+ .4byte gAnimCmd_JIRACHI_2
+
+ .align 2
+gAnims_DEOXYS:: @ 83099B8
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_DEOXYS_1
+ .4byte gAnimCmd_DEOXYS_2
+
+ .align 2
+gAnims_CHIMECHO:: @ 83099C4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_CHIMECHO_1
+
+ .align 2
+gAnims_EGG:: @ 83099CC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_EGG_1
+
+ .align 2
+gAnims_UNOWN_B:: @ 83099D4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_UNOWN_B_1
+
+ .align 2
+gAnims_UNOWN_C:: @ 83099DC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_UNOWN_C_1
+
+ .align 2
+gAnims_UNOWN_D:: @ 83099E4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_UNOWN_D_1
+
+ .align 2
+gAnims_UNOWN_E:: @ 83099EC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_UNOWN_E_1
+
+ .align 2
+gAnims_UNOWN_F:: @ 83099F4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_UNOWN_F_1
+
+ .align 2
+gAnims_UNOWN_G:: @ 83099FC
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_UNOWN_G_1
+
+ .align 2
+gAnims_UNOWN_H:: @ 8309A04
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_UNOWN_H_1
+
+ .align 2
+gAnims_UNOWN_I:: @ 8309A0C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_UNOWN_I_1
+
+ .align 2
+gAnims_UNOWN_J:: @ 8309A14
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_UNOWN_J_1
+
+ .align 2
+gAnims_UNOWN_K:: @ 8309A1C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_UNOWN_K_1
+
+ .align 2
+gAnims_UNOWN_L:: @ 8309A24
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_UNOWN_L_1
+
+ .align 2
+gAnims_UNOWN_M:: @ 8309A2C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_UNOWN_M_1
+
+ .align 2
+gAnims_UNOWN_N:: @ 8309A34
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_UNOWN_N_1
+
+ .align 2
+gAnims_UNOWN_O:: @ 8309A3C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_UNOWN_O_1
+
+ .align 2
+gAnims_UNOWN_P:: @ 8309A44
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_UNOWN_P_1
+
+ .align 2
+gAnims_UNOWN_Q:: @ 8309A4C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_UNOWN_Q_1
+
+ .align 2
+gAnims_UNOWN_R:: @ 8309A54
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_UNOWN_R_1
+
+ .align 2
+gAnims_UNOWN_S:: @ 8309A5C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_UNOWN_S_1
+
+ .align 2
+gAnims_UNOWN_T:: @ 8309A64
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_UNOWN_T_1
+
+ .align 2
+gAnims_UNOWN_U:: @ 8309A6C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_UNOWN_U_1
+
+ .align 2
+gAnims_UNOWN_V:: @ 8309A74
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_UNOWN_V_1
+
+ .align 2
+gAnims_UNOWN_W:: @ 8309A7C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_UNOWN_W_1
+
+ .align 2
+gAnims_UNOWN_X:: @ 8309A84
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_UNOWN_X_1
+
+ .align 2
+gAnims_UNOWN_Y:: @ 8309A8C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_UNOWN_Y_1
+
+ .align 2
+gAnims_UNOWN_Z:: @ 8309A94
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_UNOWN_Z_1
+
+ .align 2
+gAnims_UNOWN_EMARK:: @ 8309A9C
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_UNOWN_EMARK_1
+
+ .align 2
+gAnims_UNOWN_QMARK:: @ 8309AA4
+ .4byte gAnimCmd_General_Frame0
+ .4byte gAnimCmd_UNOWN_QMARK_1
+
+ .align 2
+gMonAnimationsSpriteAnimsPtrTable:: @ 8309AAC
+ .4byte gAnims_NONE
+ .4byte gAnims_BULBASAUR
+ .4byte gAnims_IVYSAUR
+ .4byte gAnims_VENUSAUR
+ .4byte gAnims_CHARMANDER
+ .4byte gAnims_CHARMELEON
+ .4byte gAnims_CHARIZARD
+ .4byte gAnims_SQUIRTLE
+ .4byte gAnims_WARTORTLE
+ .4byte gAnims_BLASTOISE
+ .4byte gAnims_CATERPIE
+ .4byte gAnims_METAPOD
+ .4byte gAnims_BUTTERFREE
+ .4byte gAnims_WEEDLE
+ .4byte gAnims_KAKUNA
+ .4byte gAnims_BEEDRILL
+ .4byte gAnims_PIDGEY
+ .4byte gAnims_PIDGEOTTO
+ .4byte gAnims_PIDGEOT
+ .4byte gAnims_RATTATA
+ .4byte gAnims_RATICATE
+ .4byte gAnims_SPEAROW
+ .4byte gAnims_FEAROW
+ .4byte gAnims_EKANS
+ .4byte gAnims_ARBOK
+ .4byte gAnims_PIKACHU
+ .4byte gAnims_RAICHU
+ .4byte gAnims_SANDSHREW
+ .4byte gAnims_SANDSLASH
+ .4byte gAnims_NIDORAN_F
+ .4byte gAnims_NIDORINA
+ .4byte gAnims_NIDOQUEEN
+ .4byte gAnims_NIDORAN_M
+ .4byte gAnims_NIDORINO
+ .4byte gAnims_NIDOKING
+ .4byte gAnims_CLEFAIRY
+ .4byte gAnims_CLEFABLE
+ .4byte gAnims_VULPIX
+ .4byte gAnims_NINETALES
+ .4byte gAnims_JIGGLYPUFF
+ .4byte gAnims_WIGGLYTUFF
+ .4byte gAnims_ZUBAT
+ .4byte gAnims_GOLBAT
+ .4byte gAnims_ODDISH
+ .4byte gAnims_GLOOM
+ .4byte gAnims_VILEPLUME
+ .4byte gAnims_PARAS
+ .4byte gAnims_PARASECT
+ .4byte gAnims_VENONAT
+ .4byte gAnims_VENOMOTH
+ .4byte gAnims_DIGLETT
+ .4byte gAnims_DUGTRIO
+ .4byte gAnims_MEOWTH
+ .4byte gAnims_PERSIAN
+ .4byte gAnims_PSYDUCK
+ .4byte gAnims_GOLDUCK
+ .4byte gAnims_MANKEY
+ .4byte gAnims_PRIMEAPE
+ .4byte gAnims_GROWLITHE
+ .4byte gAnims_ARCANINE
+ .4byte gAnims_POLIWAG
+ .4byte gAnims_POLIWHIRL
+ .4byte gAnims_POLIWRATH
+ .4byte gAnims_ABRA
+ .4byte gAnims_KADABRA
+ .4byte gAnims_ALAKAZAM
+ .4byte gAnims_MACHOP
+ .4byte gAnims_MACHOKE
+ .4byte gAnims_MACHAMP
+ .4byte gAnims_BELLSPROUT
+ .4byte gAnims_WEEPINBELL
+ .4byte gAnims_VICTREEBEL
+ .4byte gAnims_TENTACOOL
+ .4byte gAnims_TENTACRUEL
+ .4byte gAnims_GEODUDE
+ .4byte gAnims_GRAVELER
+ .4byte gAnims_GOLEM
+ .4byte gAnims_PONYTA
+ .4byte gAnims_RAPIDASH
+ .4byte gAnims_SLOWPOKE
+ .4byte gAnims_SLOWBRO
+ .4byte gAnims_MAGNEMITE
+ .4byte gAnims_MAGNETON
+ .4byte gAnims_FARFETCHD
+ .4byte gAnims_DODUO
+ .4byte gAnims_DODRIO
+ .4byte gAnims_SEEL
+ .4byte gAnims_DEWGONG
+ .4byte gAnims_GRIMER
+ .4byte gAnims_MUK
+ .4byte gAnims_SHELLDER
+ .4byte gAnims_CLOYSTER
+ .4byte gAnims_GASTLY
+ .4byte gAnims_HAUNTER
+ .4byte gAnims_GENGAR
+ .4byte gAnims_ONIX
+ .4byte gAnims_DROWZEE
+ .4byte gAnims_HYPNO
+ .4byte gAnims_KRABBY
+ .4byte gAnims_KINGLER
+ .4byte gAnims_VOLTORB
+ .4byte gAnims_ELECTRODE
+ .4byte gAnims_EXEGGCUTE
+ .4byte gAnims_EXEGGUTOR
+ .4byte gAnims_CUBONE
+ .4byte gAnims_MAROWAK
+ .4byte gAnims_HITMONLEE
+ .4byte gAnims_HITMONCHAN
+ .4byte gAnims_LICKITUNG
+ .4byte gAnims_KOFFING
+ .4byte gAnims_WEEZING
+ .4byte gAnims_RHYHORN
+ .4byte gAnims_RHYDON
+ .4byte gAnims_CHANSEY
+ .4byte gAnims_TANGELA
+ .4byte gAnims_KANGASKHAN
+ .4byte gAnims_HORSEA
+ .4byte gAnims_SEADRA
+ .4byte gAnims_GOLDEEN
+ .4byte gAnims_SEAKING
+ .4byte gAnims_STARYU
+ .4byte gAnims_STARMIE
+ .4byte gAnims_MR_MIME
+ .4byte gAnims_SCYTHER
+ .4byte gAnims_JYNX
+ .4byte gAnims_ELECTABUZZ
+ .4byte gAnims_MAGMAR
+ .4byte gAnims_PINSIR
+ .4byte gAnims_TAUROS
+ .4byte gAnims_MAGIKARP
+ .4byte gAnims_GYARADOS
+ .4byte gAnims_LAPRAS
+ .4byte gAnims_DITTO
+ .4byte gAnims_EEVEE
+ .4byte gAnims_VAPOREON
+ .4byte gAnims_JOLTEON
+ .4byte gAnims_FLAREON
+ .4byte gAnims_PORYGON
+ .4byte gAnims_OMANYTE
+ .4byte gAnims_OMASTAR
+ .4byte gAnims_KABUTO
+ .4byte gAnims_KABUTOPS
+ .4byte gAnims_AERODACTYL
+ .4byte gAnims_SNORLAX
+ .4byte gAnims_ARTICUNO
+ .4byte gAnims_ZAPDOS
+ .4byte gAnims_MOLTRES
+ .4byte gAnims_DRATINI
+ .4byte gAnims_DRAGONAIR
+ .4byte gAnims_DRAGONITE
+ .4byte gAnims_MEWTWO
+ .4byte gAnims_MEW
+ .4byte gAnims_CHIKORITA
+ .4byte gAnims_BAYLEEF
+ .4byte gAnims_MEGANIUM
+ .4byte gAnims_CYNDAQUIL
+ .4byte gAnims_QUILAVA
+ .4byte gAnims_TYPHLOSION
+ .4byte gAnims_TOTODILE
+ .4byte gAnims_CROCONAW
+ .4byte gAnims_FERALIGATR
+ .4byte gAnims_SENTRET
+ .4byte gAnims_FURRET
+ .4byte gAnims_HOOTHOOT
+ .4byte gAnims_NOCTOWL
+ .4byte gAnims_LEDYBA
+ .4byte gAnims_LEDIAN
+ .4byte gAnims_SPINARAK
+ .4byte gAnims_ARIADOS
+ .4byte gAnims_CROBAT
+ .4byte gAnims_CHINCHOU
+ .4byte gAnims_LANTURN
+ .4byte gAnims_PICHU
+ .4byte gAnims_CLEFFA
+ .4byte gAnims_IGGLYBUFF
+ .4byte gAnims_TOGEPI
+ .4byte gAnims_TOGETIC
+ .4byte gAnims_NATU
+ .4byte gAnims_XATU
+ .4byte gAnims_MAREEP
+ .4byte gAnims_FLAAFFY
+ .4byte gAnims_AMPHAROS
+ .4byte gAnims_BELLOSSOM
+ .4byte gAnims_MARILL
+ .4byte gAnims_AZUMARILL
+ .4byte gAnims_SUDOWOODO
+ .4byte gAnims_POLITOED
+ .4byte gAnims_HOPPIP
+ .4byte gAnims_SKIPLOOM
+ .4byte gAnims_JUMPLUFF
+ .4byte gAnims_AIPOM
+ .4byte gAnims_SUNKERN
+ .4byte gAnims_SUNFLORA
+ .4byte gAnims_YANMA
+ .4byte gAnims_WOOPER
+ .4byte gAnims_QUAGSIRE
+ .4byte gAnims_ESPEON
+ .4byte gAnims_UMBREON
+ .4byte gAnims_MURKROW
+ .4byte gAnims_SLOWKING
+ .4byte gAnims_MISDREAVUS
+ .4byte gAnims_UNOWN
+ .4byte gAnims_WOBBUFFET
+ .4byte gAnims_GIRAFARIG
+ .4byte gAnims_PINECO
+ .4byte gAnims_FORRETRESS
+ .4byte gAnims_DUNSPARCE
+ .4byte gAnims_GLIGAR
+ .4byte gAnims_STEELIX
+ .4byte gAnims_SNUBBULL
+ .4byte gAnims_GRANBULL
+ .4byte gAnims_QWILFISH
+ .4byte gAnims_SCIZOR
+ .4byte gAnims_SHUCKLE
+ .4byte gAnims_HERACROSS
+ .4byte gAnims_SNEASEL
+ .4byte gAnims_TEDDIURSA
+ .4byte gAnims_URSARING
+ .4byte gAnims_SLUGMA
+ .4byte gAnims_MAGCARGO
+ .4byte gAnims_SWINUB
+ .4byte gAnims_PILOSWINE
+ .4byte gAnims_CORSOLA
+ .4byte gAnims_REMORAID
+ .4byte gAnims_OCTILLERY
+ .4byte gAnims_DELIBIRD
+ .4byte gAnims_MANTINE
+ .4byte gAnims_SKARMORY
+ .4byte gAnims_HOUNDOUR
+ .4byte gAnims_HOUNDOOM
+ .4byte gAnims_KINGDRA
+ .4byte gAnims_PHANPY
+ .4byte gAnims_DONPHAN
+ .4byte gAnims_PORYGON2
+ .4byte gAnims_STANTLER
+ .4byte gAnims_SMEARGLE
+ .4byte gAnims_TYROGUE
+ .4byte gAnims_HITMONTOP
+ .4byte gAnims_SMOOCHUM
+ .4byte gAnims_ELEKID
+ .4byte gAnims_MAGBY
+ .4byte gAnims_MILTANK
+ .4byte gAnims_BLISSEY
+ .4byte gAnims_RAIKOU
+ .4byte gAnims_ENTEI
+ .4byte gAnims_SUICUNE
+ .4byte gAnims_LARVITAR
+ .4byte gAnims_PUPITAR
+ .4byte gAnims_TYRANITAR
+ .4byte gAnims_LUGIA
+ .4byte gAnims_HO_OH
+ .4byte gAnims_CELEBI
+ .4byte gAnims_OLD_UNOWN_B
+ .4byte gAnims_OLD_UNOWN_B
+ .4byte gAnims_OLD_UNOWN_B
+ .4byte gAnims_OLD_UNOWN_B
+ .4byte gAnims_OLD_UNOWN_B
+ .4byte gAnims_OLD_UNOWN_B
+ .4byte gAnims_OLD_UNOWN_B
+ .4byte gAnims_OLD_UNOWN_B
+ .4byte gAnims_OLD_UNOWN_B
+ .4byte gAnims_OLD_UNOWN_B
+ .4byte gAnims_OLD_UNOWN_B
+ .4byte gAnims_OLD_UNOWN_B
+ .4byte gAnims_OLD_UNOWN_B
+ .4byte gAnims_OLD_UNOWN_B
+ .4byte gAnims_OLD_UNOWN_B
+ .4byte gAnims_OLD_UNOWN_B
+ .4byte gAnims_OLD_UNOWN_B
+ .4byte gAnims_OLD_UNOWN_B
+ .4byte gAnims_OLD_UNOWN_B
+ .4byte gAnims_OLD_UNOWN_B
+ .4byte gAnims_OLD_UNOWN_B
+ .4byte gAnims_OLD_UNOWN_B
+ .4byte gAnims_OLD_UNOWN_B
+ .4byte gAnims_OLD_UNOWN_B
+ .4byte gAnims_OLD_UNOWN_B
+ .4byte gAnims_TREECKO
+ .4byte gAnims_GROVYLE
+ .4byte gAnims_SCEPTILE
+ .4byte gAnims_TORCHIC
+ .4byte gAnims_COMBUSKEN
+ .4byte gAnims_BLAZIKEN
+ .4byte gAnims_MUDKIP
+ .4byte gAnims_MARSHTOMP
+ .4byte gAnims_SWAMPERT
+ .4byte gAnims_POOCHYENA
+ .4byte gAnims_MIGHTYENA
+ .4byte gAnims_ZIGZAGOON
+ .4byte gAnims_LINOONE
+ .4byte gAnims_WURMPLE
+ .4byte gAnims_SILCOON
+ .4byte gAnims_BEAUTIFLY
+ .4byte gAnims_CASCOON
+ .4byte gAnims_DUSTOX
+ .4byte gAnims_LOTAD
+ .4byte gAnims_LOMBRE
+ .4byte gAnims_LUDICOLO
+ .4byte gAnims_SEEDOT
+ .4byte gAnims_NUZLEAF
+ .4byte gAnims_SHIFTRY
+ .4byte gAnims_NINCADA
+ .4byte gAnims_NINJASK
+ .4byte gAnims_SHEDINJA
+ .4byte gAnims_TAILLOW
+ .4byte gAnims_SWELLOW
+ .4byte gAnims_SHROOMISH
+ .4byte gAnims_BRELOOM
+ .4byte gAnims_SPINDA
+ .4byte gAnims_WINGULL
+ .4byte gAnims_PELIPPER
+ .4byte gAnims_SURSKIT
+ .4byte gAnims_MASQUERAIN
+ .4byte gAnims_WAILMER
+ .4byte gAnims_WAILORD
+ .4byte gAnims_SKITTY
+ .4byte gAnims_DELCATTY
+ .4byte gAnims_KECLEON
+ .4byte gAnims_BALTOY
+ .4byte gAnims_CLAYDOL
+ .4byte gAnims_NOSEPASS
+ .4byte gAnims_TORKOAL
+ .4byte gAnims_SABLEYE
+ .4byte gAnims_BARBOACH
+ .4byte gAnims_WHISCASH
+ .4byte gAnims_LUVDISC
+ .4byte gAnims_CORPHISH
+ .4byte gAnims_CRAWDAUNT
+ .4byte gAnims_FEEBAS
+ .4byte gAnims_MILOTIC
+ .4byte gAnims_CARVANHA
+ .4byte gAnims_SHARPEDO
+ .4byte gAnims_TRAPINCH
+ .4byte gAnims_VIBRAVA
+ .4byte gAnims_FLYGON
+ .4byte gAnims_MAKUHITA
+ .4byte gAnims_HARIYAMA
+ .4byte gAnims_ELECTRIKE
+ .4byte gAnims_MANECTRIC
+ .4byte gAnims_NUMEL
+ .4byte gAnims_CAMERUPT
+ .4byte gAnims_SPHEAL
+ .4byte gAnims_SEALEO
+ .4byte gAnims_WALREIN
+ .4byte gAnims_CACNEA
+ .4byte gAnims_CACTURNE
+ .4byte gAnims_SNORUNT
+ .4byte gAnims_GLALIE
+ .4byte gAnims_LUNATONE
+ .4byte gAnims_SOLROCK
+ .4byte gAnims_AZURILL
+ .4byte gAnims_SPOINK
+ .4byte gAnims_GRUMPIG
+ .4byte gAnims_PLUSLE
+ .4byte gAnims_MINUN
+ .4byte gAnims_MAWILE
+ .4byte gAnims_MEDITITE
+ .4byte gAnims_MEDICHAM
+ .4byte gAnims_SWABLU
+ .4byte gAnims_ALTARIA
+ .4byte gAnims_WYNAUT
+ .4byte gAnims_DUSKULL
+ .4byte gAnims_DUSCLOPS
+ .4byte gAnims_ROSELIA
+ .4byte gAnims_SLAKOTH
+ .4byte gAnims_VIGOROTH
+ .4byte gAnims_SLAKING
+ .4byte gAnims_GULPIN
+ .4byte gAnims_SWALOT
+ .4byte gAnims_TROPIUS
+ .4byte gAnims_WHISMUR
+ .4byte gAnims_LOUDRED
+ .4byte gAnims_EXPLOUD
+ .4byte gAnims_CLAMPERL
+ .4byte gAnims_HUNTAIL
+ .4byte gAnims_GOREBYSS
+ .4byte gAnims_ABSOL
+ .4byte gAnims_SHUPPET
+ .4byte gAnims_BANETTE
+ .4byte gAnims_SEVIPER
+ .4byte gAnims_ZANGOOSE
+ .4byte gAnims_RELICANTH
+ .4byte gAnims_ARON
+ .4byte gAnims_LAIRON
+ .4byte gAnims_AGGRON
+ .4byte gAnims_CASTFORM
+ .4byte gAnims_VOLBEAT
+ .4byte gAnims_ILLUMISE
+ .4byte gAnims_LILEEP
+ .4byte gAnims_CRADILY
+ .4byte gAnims_ANORITH
+ .4byte gAnims_ARMALDO
+ .4byte gAnims_RALTS
+ .4byte gAnims_KIRLIA
+ .4byte gAnims_GARDEVOIR
+ .4byte gAnims_BAGON
+ .4byte gAnims_SHELGON
+ .4byte gAnims_SALAMENCE
+ .4byte gAnims_BELDUM
+ .4byte gAnims_METANG
+ .4byte gAnims_METAGROSS
+ .4byte gAnims_REGIROCK
+ .4byte gAnims_REGICE
+ .4byte gAnims_REGISTEEL
+ .4byte gAnims_KYOGRE
+ .4byte gAnims_GROUDON
+ .4byte gAnims_RAYQUAZA
+ .4byte gAnims_LATIAS
+ .4byte gAnims_LATIOS
+ .4byte gAnims_JIRACHI
+ .4byte gAnims_DEOXYS
+ .4byte gAnims_CHIMECHO
+ .4byte gAnims_EGG
+ .4byte gAnims_UNOWN_B
+ .4byte gAnims_UNOWN_C
+ .4byte gAnims_UNOWN_D
+ .4byte gAnims_UNOWN_E
+ .4byte gAnims_UNOWN_F
+ .4byte gAnims_UNOWN_G
+ .4byte gAnims_UNOWN_H
+ .4byte gAnims_UNOWN_I
+ .4byte gAnims_UNOWN_J
+ .4byte gAnims_UNOWN_K
+ .4byte gAnims_UNOWN_L
+ .4byte gAnims_UNOWN_M
+ .4byte gAnims_UNOWN_N
+ .4byte gAnims_UNOWN_O
+ .4byte gAnims_UNOWN_P
+ .4byte gAnims_UNOWN_Q
+ .4byte gAnims_UNOWN_R
+ .4byte gAnims_UNOWN_S
+ .4byte gAnims_UNOWN_T
+ .4byte gAnims_UNOWN_U
+ .4byte gAnims_UNOWN_V
+ .4byte gAnims_UNOWN_W
+ .4byte gAnims_UNOWN_X
+ .4byte gAnims_UNOWN_Y
+ .4byte gAnims_UNOWN_Z
+ .4byte gAnims_UNOWN_EMARK
+ .4byte gAnims_UNOWN_QMARK
diff --git a/data/graphics/pokemon/mon_front_pic_table.inc b/data/graphics/pokemon/front_pic_table.inc
index 7f481e190..7f481e190 100644
--- a/data/graphics/pokemon/mon_front_pic_table.inc
+++ b/data/graphics/pokemon/front_pic_table.inc
diff --git a/data/graphics/pokemon/mon_graphics.inc b/data/graphics/pokemon/graphics.inc
index 45ddfe1b5..45ddfe1b5 100644
--- a/data/graphics/pokemon/mon_graphics.inc
+++ b/data/graphics/pokemon/graphics.inc
diff --git a/data/graphics/pokemon/mon_icon_palette_indices.inc b/data/graphics/pokemon/icon_palette_indices.inc
index f1d57466c..f1d57466c 100644
--- a/data/graphics/pokemon/mon_icon_palette_indices.inc
+++ b/data/graphics/pokemon/icon_palette_indices.inc
diff --git a/data/graphics/pokemon/mon_icon_palette_table.inc b/data/graphics/pokemon/icon_palette_table.inc
index eb7919423..eb7919423 100644
--- a/data/graphics/pokemon/mon_icon_palette_table.inc
+++ b/data/graphics/pokemon/icon_palette_table.inc
diff --git a/data/graphics/pokemon/mon_icon_table.inc b/data/graphics/pokemon/icon_table.inc
index 06a86de43..06a86de43 100644
--- a/data/graphics/pokemon/mon_icon_table.inc
+++ b/data/graphics/pokemon/icon_table.inc
diff --git a/data/graphics/pokemon/mon_palette_table.inc b/data/graphics/pokemon/palette_table.inc
index d636d13ec..d636d13ec 100644
--- a/data/graphics/pokemon/mon_palette_table.inc
+++ b/data/graphics/pokemon/palette_table.inc
diff --git a/data/graphics/pokemon/mon_shiny_palette_table.inc b/data/graphics/pokemon/shiny_palette_table.inc
index 724820221..724820221 100644
--- a/data/graphics/pokemon/mon_shiny_palette_table.inc
+++ b/data/graphics/pokemon/shiny_palette_table.inc
diff --git a/data/graphics/pokemon/mon_still_front_pic_table.inc b/data/graphics/pokemon/still_front_pic_table.inc
index 448729955..448729955 100644
--- a/data/graphics/pokemon/mon_still_front_pic_table.inc
+++ b/data/graphics/pokemon/still_front_pic_table.inc
diff --git a/data/graphics/trainers/back_pic_coords.inc b/data/graphics/trainers/back_pic_coords.inc
new file mode 100644
index 000000000..57a45c71e
--- /dev/null
+++ b/data/graphics/trainers/back_pic_coords.inc
@@ -0,0 +1,10 @@
+ .align 2
+gTrainerBackPicCoords:: @ 8305D2C
+ .byte 0x08, 0x04, 0x00, 0x00
+ .byte 0x08, 0x04, 0x00, 0x00
+ .byte 0x08, 0x05, 0x00, 0x00
+ .byte 0x08, 0x05, 0x00, 0x00
+ .byte 0x08, 0x04, 0x00, 0x00
+ .byte 0x08, 0x04, 0x00, 0x00
+ .byte 0x08, 0x04, 0x00, 0x00
+ .byte 0x08, 0x04, 0x00, 0x00
diff --git a/data/graphics/trainers/trainer_back_pic_palette_table.inc b/data/graphics/trainers/back_pic_palette_table.inc
index 46e56f2ac..46e56f2ac 100644
--- a/data/graphics/trainers/trainer_back_pic_palette_table.inc
+++ b/data/graphics/trainers/back_pic_palette_table.inc
diff --git a/data/graphics/trainers/trainer_back_pic_table.inc b/data/graphics/trainers/back_pic_table.inc
index e67c2a073..e67c2a073 100644
--- a/data/graphics/trainers/trainer_back_pic_table.inc
+++ b/data/graphics/trainers/back_pic_table.inc
diff --git a/data/graphics/trainers/front_pic_coords.inc b/data/graphics/trainers/front_pic_coords.inc
new file mode 100644
index 000000000..8d20f0a9e
--- /dev/null
+++ b/data/graphics/trainers/front_pic_coords.inc
@@ -0,0 +1,95 @@
+ .align 2
+gTrainerFrontPicCoords:: @ 83054E0
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x02, 0x00, 0x00
+ .byte 0x08, 0x02, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x02, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x02, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x02, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x02, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
+ .byte 0x08, 0x01, 0x00, 0x00
diff --git a/data/graphics/trainers/trainer_front_pic_palette_table.inc b/data/graphics/trainers/front_pic_palette_table.inc
index 44cf98dab..44cf98dab 100644
--- a/data/graphics/trainers/trainer_front_pic_palette_table.inc
+++ b/data/graphics/trainers/front_pic_palette_table.inc
diff --git a/data/graphics/trainers/trainer_front_pic_table.inc b/data/graphics/trainers/front_pic_table.inc
index 91294d170..91294d170 100644
--- a/data/graphics/trainers/trainer_front_pic_table.inc
+++ b/data/graphics/trainers/front_pic_table.inc
diff --git a/data/graphics/trainers/trainer_graphics.inc b/data/graphics/trainers/graphics.inc
index 897cb9ffb..897cb9ffb 100644
--- a/data/graphics/trainers/trainer_graphics.inc
+++ b/data/graphics/trainers/graphics.inc
diff --git a/data/main_menu.s b/data/main_menu.s
new file mode 100644
index 000000000..fba0e7ddb
--- /dev/null
+++ b/data/main_menu.s
@@ -0,0 +1,141 @@
+@ the second big chunk of data
+
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .section .rodata
+
+ .align 2
+gUnknown_082FECFC:: @ 82FECFC
+ .incbin "graphics/birch_speech/bg0.gbapal"
+ .incbin "graphics/birch_speech/bg1.gbapal"
+
+ .align 2
+gBirchIntroShadowGfx:: @ 82FED3C
+ .incbin "graphics/birch_speech/shadow.4bpp.lz"
+
+ .align 2
+gUnknown_082FEEF0:: @ 82FEEF0
+ .incbin "graphics/birch_speech/map.bin.lz"
+
+ .align 2
+gUnknown_082FF018:: @ 82FF018
+ .incbin "graphics/birch_speech/bg2.gbapal"
+
+ .align 2
+gUnknown_082FF028:: @ 82FF028
+ .space 16
+
+ .align 2
+gUnknown_082FF038:: @ 82FF038
+ window_template 0x00, 0x02, 0x01, 0x1a, 0x02, 0x0f, 0x0001
+ window_template 0x00, 0x02, 0x05, 0x1a, 0x02, 0x0f, 0x0035
+
+ .align 2
+gUnknown_082FF048:: @ 82FF048
+ window_template 0x00, 0x02, 0x01, 0x1a, 0x06, 0x0f, 0x0001
+ window_template 0x00, 0x02, 0x09, 0x1a, 0x02, 0x0f, 0x009d
+ window_template 0x00, 0x02, 0x0d, 0x1a, 0x02, 0x0f, 0x00d1
+ window_template 0x00, 0x02, 0x11, 0x1a, 0x02, 0x0f, 0x0105
+ window_template 0x00, 0x02, 0x15, 0x1a, 0x02, 0x0f, 0x0139
+
+ .align 2
+gUnknown_082FF070:: @ 82FF070
+ window_template 0x00, 0x02, 0x0f, 0x1a, 0x04, 0x0f, 0x016d
+ window_template_terminator
+
+ .align 2
+gUnknown_082FF080:: @ 82FF080
+ window_template 0x00, 0x02, 0x0f, 0x1b, 0x04, 0x0f, 0x0001
+
+ .align 2
+gUnknown_082FF088:: @ 82FF088
+ window_template 0x00, 0x03, 0x05, 0x06, 0x04, 0x0f, 0x006d
+ window_template 0x00, 0x03, 0x02, 0x09, 0x0a, 0x0f, 0x0085
+ window_template_terminator
+
+ .align 2
+gMainMenuBgPal:: @ 82FF0A0
+ .incbin "graphics/misc/main_menu_bg.gbapal"
+
+ .align 2
+gMainMenuTextPal:: @ 82FF0C0
+ .incbin "graphics/misc/main_menu_text.gbapal"
+
+ .align 2
+gUnknown_082FF0E0:: @ 82FF0E0
+ .byte 0x0a, 0x0b, 0x0c
+
+gUnknown_082FF0E3:: @ 82FF0E3
+ .byte 0x0a, 0x01, 0x0c
+
+ .align 2
+gUnknown_082FF0E8:: @ 82FF0E8
+ .4byte 0x000001e8, 0x00003071
+
+ .align 2
+gUnknown_082FF0F0:: @ 82FF0F0
+ .4byte 0x000001ec
+
+ .align 2
+gUnknown_082FF0F4:: @ 82FF0F4
+ .byte 0x02, 0x78, 0x08, 0x03, 0x78, 0x98, 0x03, 0x00, 0x04, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00
+
+ .align 2
+gUnknown_082FF104:: @ 82FF104
+ .2byte 0xfffe, 0xfffe, 0x3000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
+
+ .align 2
+gUnknown_082FF114:: @ 82FF114
+ .4byte gUnknown_082FF104
+
+ .align 2
+gUnknown_082FF118:: @ 82FF118
+ .4byte gText_BirchBoy, 0x00000000
+ .4byte gText_BirchGirl, 0x00000000
+
+ .align 2
+gMalePresetNames:: @ 82FF128
+ .4byte gText_DefaultNameStu
+ .4byte gText_DefaultNameMilton
+ .4byte gText_DefaultNameTom
+ .4byte gText_DefaultNameKenny
+ .4byte gText_DefaultNameReid
+ .4byte gText_DefaultNameJude
+ .4byte gText_DefaultNameJaxson
+ .4byte gText_DefaultNameEaston
+ .4byte gText_DefaultNameWalker
+ .4byte gText_DefaultNameTeru
+ .4byte gText_DefaultNameJohnny
+ .4byte gText_DefaultNameBrett
+ .4byte gText_DefaultNameSeth
+ .4byte gText_DefaultNameTerry
+ .4byte gText_DefaultNameCasey
+ .4byte gText_DefaultNameDarren
+ .4byte gText_DefaultNameLandon
+ .4byte gText_DefaultNameCollin
+ .4byte gText_DefaultNameStanley
+ .4byte gText_DefaultNameQuincy
+
+ .align 2
+gFemalePresetNames:: @ 82FF178
+ .4byte gText_DefaultNameKimmy
+ .4byte gText_DefaultNameTiara
+ .4byte gText_DefaultNameBella
+ .4byte gText_DefaultNameJayla
+ .4byte gText_DefaultNameAllie
+ .4byte gText_DefaultNameLianna
+ .4byte gText_DefaultNameSara
+ .4byte gText_DefaultNameMonica
+ .4byte gText_DefaultNameCamila
+ .4byte gText_DefaultNameAubree
+ .4byte gText_DefaultNameRuthie
+ .4byte gText_DefaultNameHazel
+ .4byte gText_DefaultNameNadine
+ .4byte gText_DefaultNameTanja
+ .4byte gText_DefaultNameYasmin
+ .4byte gText_DefaultNameNicola
+ .4byte gText_DefaultNameLillie
+ .4byte gText_DefaultNameTerra
+ .4byte gText_DefaultNameLucy
+ .4byte gText_DefaultNameHalie
diff --git a/data/pokedex.s b/data/pokedex.s
index e81a3d78a..3ba94dbc5 100644
--- a/data/pokedex.s
+++ b/data/pokedex.s
@@ -95,7 +95,7 @@ gUnknown_0856E688:: @ 856E688
.incbin "baserom.gba", 0x56e688, 0xc
@ 856E694
- .include "data/graphics/pokemon/mon_footprint_table.inc"
+ .include "data/graphics/pokemon/footprint_table.inc"
gUnknown_0856ED08:: @ 856ED08
.incbin "baserom.gba", 0x56ed08, 0x28
diff --git a/data/pokemon_icon.s b/data/pokemon_icon.s
index ab3824f35..9d6c7ac2e 100644
--- a/data/pokemon_icon.s
+++ b/data/pokemon_icon.s
@@ -5,19 +5,20 @@
.align 2, 0
@ 857BCA8
- .include "data/graphics/pokemon/mon_icon_table.inc"
+ .include "data/graphics/pokemon/icon_table.inc"
@ 857C388
- .include "data/graphics/pokemon/mon_icon_palette_indices.inc"
+ .include "data/graphics/pokemon/icon_palette_indices.inc"
@ 857C540
- .include "data/graphics/pokemon/mon_icon_palette_table.inc"
+ .include "data/graphics/pokemon/icon_palette_table.inc"
gUnknown_0857C570:: @ 857C570
.incbin "baserom.gba", 0x57c570, 0x44
gUnknown_0857C5B4:: @ 857C5B4
- .incbin "baserom.gba", 0x57c5b4, 0x34
+ .incbin "baserom.gba", 0x57c5b4, 0x14
+ .incbin "baserom.gba", 0x57c5c8, 0x20
gUnknown_0857C5E8:: @ 857C5E8
.incbin "baserom.gba", 0x57c5e8, 0x8
diff --git a/data/reset_rtc_screen.s b/data/reset_rtc_screen.s
index 2ed5f746c..f680a87bc 100644
--- a/data/reset_rtc_screen.s
+++ b/data/reset_rtc_screen.s
@@ -4,20 +4,75 @@
.section .rodata
.align 2, 0
-gUnknown_08510404:: @ 8510404
- .incbin "baserom.gba", 0x510404, 0x4
+gUnknown_08510404:: @ 8510404 struct BgTemplate
+ .4byte 0x000001f0
+ .align 2
gUnknown_08510408:: @ 8510408
- .incbin "baserom.gba", 0x510408, 0x14
-
-gUnknown_0851041C:: @ 851041C
- .incbin "baserom.gba", 0x51041c, 0x4
+ window_template 0x00, 0x01, 0x01, 0x13, 0x09, 0x0f, 0x0155
+ window_template 0x00, 0x02, 0x0f, 0x1b, 0x04, 0x0f, 0x00e9
+ window_template_terminator
+ .align 2
gUnknown_08510420:: @ 8510420
- .incbin "baserom.gba", 0x510420, 0xa4
+ window_template 0x00, 0x04, 0x09, 0x15, 0x02, 0x0f, 0x00bf
+
+ .align 2
+gUnknown_08510428:: @ 8510428
+ .byte 3, 0, 1, 0, 15, 39, 0, 2, 0, 0, 0, 0
+ .byte 4, 0, 0, 0, 23, 0, 1, 3, 0, 0, 0, 0
+ .byte 5, 0, 0, 0, 59, 0, 2, 4, 0, 0, 0, 0
+ .byte 6, 0, 0, 0, 59, 0, 3, 5, 0, 0, 0, 0
+ .byte 7, 0, 0, 0, 0, 0, 4, 0, 6, 0, 0, 0
+
+ .align 2
+gOamData_08510464:: @ 8510464
+ .2byte 0x0000
+ .2byte 0x0000
+ .2byte 0x0000
+
+ .align 2
+gResetRtcScreen_DownArrowGfx:: @ 851046C
+ .incbin "graphics/misc/reset_rtc_screen_downarrow.4bpp"
+
+ .align 2
+gResetRtcScreen_RightArrowGfx:: @ 851048C
+ .incbin "graphics/misc/reset_rtc_screen_rightarrow.4bpp"
+
+ .align 2
+gResetRtcScreen_ArrowPal: @ 85104AC
+ .incbin "graphics/misc/reset_rtc_screen_arrow.gbapal"
+ .align 2
+gSpriteImageTable_85104B4:: @ 85104B4
+ obj_frame_tiles gResetRtcScreen_DownArrowGfx, 0x20
+ obj_frame_tiles gResetRtcScreen_RightArrowGfx, 0x20
+
+ .align 2
gUnknown_085104C4:: @ 85104C4
- .incbin "baserom.gba", 0x5104c4, 0x2c
+ obj_pal gResetRtcScreen_ArrowPal, 0x1000
+
+ .align 2
+gSpriteAnim_85104CC:: @ 85104CC
+ obj_image_anim_frame 0, 30
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_85104D4: @ 85104D4
+ obj_image_anim_frame 0, 30, OBJ_IMAGE_ANIM_V_FLIP
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnim_85104DC:: @ 85104DC
+ obj_image_anim_frame 1, 30
+ obj_image_anim_jump 0
+
+ .align 2
+gSpriteAnimTable_85104E4:: @ 85104E4
+ .4byte gSpriteAnim_85104CC
+ .4byte gSpriteAnim_85104D4
+ .4byte gSpriteAnim_85104DC
-gUnknown_085104F0:: @ 85104F0
- .incbin "baserom.gba", 0x5104f0, 0x18
+ .align 2
+gSpriteTemplate_85104F0:: @ 85104F0
+ spr_template 0xFFFF, 0x1000, gOamData_08510464, gSpriteAnimTable_85104E4, gSpriteImageTable_85104B4, gDummySpriteAffineAnimTable, SpriteCallbackDummy
diff --git a/data/strings.s b/data/strings.s
index 5fb8ca902..90ccad90f 100644
--- a/data/strings.s
+++ b/data/strings.s
@@ -165,130 +165,130 @@ gText_PickCancel:: @ 85E8574
gText_UnkCtrlF800Exit:: @ 85E8588
.string "{UNK_CTRL_F800}EXIT$"
-gUnknown_085E858F:: @ 85E858F
+gText_BirchBoy:: @ 85E858F
.string "BOY$"
-gUnknown_085E8593:: @ 85E8593
+gText_BirchGirl:: @ 85E8593
.string "GIRL$"
-gUnknown_085E8598:: @ 85E8598
+gText_DefaultNameStu:: @ 85E8598
.string "STU$"
-gUnknown_085E859C:: @ 85E859C
+gText_DefaultNameMilton:: @ 85E859C
.string "MILTON$"
-gUnknown_085E85A3:: @ 85E85A3
+gText_DefaultNameTom:: @ 85E85A3
.string "TOM$"
-gUnknown_085E85A7:: @ 85E85A7
+gText_DefaultNameKenny:: @ 85E85A7
.string "KENNY$"
-gUnknown_085E85AD:: @ 85E85AD
+gText_DefaultNameReid:: @ 85E85AD
.string "REID$"
-gUnknown_085E85B2:: @ 85E85B2
+gText_DefaultNameJude:: @ 85E85B2
.string "JUDE$"
-gUnknown_085E85B7:: @ 85E85B7
+gText_DefaultNameJaxson:: @ 85E85B7
.string "JAXSON$"
-gUnknown_085E85BE:: @ 85E85BE
+gText_DefaultNameEaston:: @ 85E85BE
.string "EASTON$"
-gUnknown_085E85C5:: @ 85E85C5
+gText_DefaultNameWalker:: @ 85E85C5
.string "WALKER$"
-gUnknown_085E85CC:: @ 85E85CC
+gText_DefaultNameTeru:: @ 85E85CC
.string "TERU$"
-gUnknown_085E85D1:: @ 85E85D1
+gText_DefaultNameJohnny:: @ 85E85D1
.string "JOHNNY$"
-gUnknown_085E85D8:: @ 85E85D8
+gText_DefaultNameBrett:: @ 85E85D8
.string "BRETT$"
-gUnknown_085E85DE:: @ 85E85DE
+gText_DefaultNameSeth:: @ 85E85DE
.string "SETH$"
-gUnknown_085E85E3:: @ 85E85E3
+gText_DefaultNameTerry:: @ 85E85E3
.string "TERRY$"
-gUnknown_085E85E9:: @ 85E85E9
+gText_DefaultNameCasey:: @ 85E85E9
.string "CASEY$"
-gUnknown_085E85EF:: @ 85E85EF
+gText_DefaultNameDarren:: @ 85E85EF
.string "DARREN$"
-gUnknown_085E85F6:: @ 85E85F6
+gText_DefaultNameLandon:: @ 85E85F6
.string "LANDON$"
-gUnknown_085E85FD:: @ 85E85FD
+gText_DefaultNameCollin:: @ 85E85FD
.string "COLLIN$"
-gUnknown_085E8604:: @ 85E8604
+gText_DefaultNameStanley:: @ 85E8604
.string "STANLEY$"
-gUnknown_085E860C:: @ 85E860C
+gText_DefaultNameQuincy:: @ 85E860C
.string "QUINCY$"
-gUnknown_085E8613:: @ 85E8613
+gText_DefaultNameKimmy:: @ 85E8613
.string "KIMMY$"
-gUnknown_085E8619:: @ 85E8619
+gText_DefaultNameTiara:: @ 85E8619
.string "TIARA$"
-gUnknown_085E861F:: @ 85E861F
+gText_DefaultNameBella:: @ 85E861F
.string "BELLA$"
-gUnknown_085E8625:: @ 85E8625
+gText_DefaultNameJayla:: @ 85E8625
.string "JAYLA$"
-gUnknown_085E862B:: @ 85E862B
+gText_DefaultNameAllie:: @ 85E862B
.string "ALLIE$"
-gUnknown_085E8631:: @ 85E8631
+gText_DefaultNameLianna:: @ 85E8631
.string "LIANNA$"
-gUnknown_085E8638:: @ 85E8638
+gText_DefaultNameSara:: @ 85E8638
.string "SARA$"
-gUnknown_085E863D:: @ 85E863D
+gText_DefaultNameMonica:: @ 85E863D
.string "MONICA$"
-gUnknown_085E8644:: @ 85E8644
+gText_DefaultNameCamila:: @ 85E8644
.string "CAMILA$"
-gUnknown_085E864B:: @ 85E864B
+gText_DefaultNameAubree:: @ 85E864B
.string "AUBREE$"
-gUnknown_085E8652:: @ 85E8652
+gText_DefaultNameRuthie:: @ 85E8652
.string "RUTHIE$"
-gUnknown_085E8659:: @ 85E8659
+gText_DefaultNameHazel:: @ 85E8659
.string "HAZEL$"
-gUnknown_085E865F:: @ 85E865F
+gText_DefaultNameNadine:: @ 85E865F
.string "NADINE$"
-gUnknown_085E8666:: @ 85E8666
+gText_DefaultNameTanja:: @ 85E8666
.string "TANJA$"
-gUnknown_085E866C:: @ 85E866C
+gText_DefaultNameYasmin:: @ 85E866C
.string "YASMIN$"
-gUnknown_085E8673:: @ 85E8673
+gText_DefaultNameNicola:: @ 85E8673
.string "NICOLA$"
-gUnknown_085E867A:: @ 85E867A
+gText_DefaultNameLillie:: @ 85E867A
.string "LILLIE$"
-gUnknown_085E8681:: @ 85E8681
+gText_DefaultNameTerra:: @ 85E8681
.string "TERRA$"
-gUnknown_085E8687:: @ 85E8687
+gText_DefaultNameLucy:: @ 85E8687
.string "LUCY$"
-gUnknown_085E868C:: @ 85E868C
+gText_DefaultNameHalie:: @ 85E868C
.string "HALIE$"
gText_ThisIsAPokemon:: @ 85E8692
@@ -4452,16 +4452,16 @@ gText_ButtonTypeLEqualsA:: @ 85EE65D
gText_XPLink:: @ 85EE667
.string "{STR_VAR_1}P LINK$"
-gUnknown_085EE670:: @ 85EE670
+gText_BronzeCard:: @ 85EE670
.string "BRONZE$"
-gUnknown_085EE677:: @ 85EE677
+gText_CopperCard:: @ 85EE677
.string "COPPER$"
-gUnknown_085EE67E:: @ 85EE67E
+gText_SilverCard:: @ 85EE67E
.string "SILVER$"
-gUnknown_085EE685:: @ 85EE685
+gText_GoldCard:: @ 85EE685
.string "GOLD$"
gText_Day:: @ 85EE68A
diff --git a/data/title_screen.s b/data/title_screen.s
index 525790271..b07464ce9 100644
--- a/data/title_screen.s
+++ b/data/title_screen.s
@@ -1,9 +1,12 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
- .section .rodata
- .align 2, 0
+ .section .rodata
+ .align 2, 0
+ .incbin "graphics/title_screen/unk_853EF78.gbapal"
+
+ .align 2
gTitleScreenRayquazaGfx:: @ 853F058
.incbin "graphics/title_screen/rayquaza.4bpp.lz"
diff --git a/data/trainer_money.inc b/data/trainer_money.inc
new file mode 100644
index 000000000..1e06668bd
--- /dev/null
+++ b/data/trainer_money.inc
@@ -0,0 +1,59 @@
+@ This is a factor in how much money you get for beating a trainer.
+ .align 2
+gTrainerMoneyTable:: @ 831AEB8
+ .byte TRAINER_CLASS_NAME_TEAM_AQUA, 5, 0, 0
+ .byte TRAINER_CLASS_NAME_AQUA_ADMIN, 10, 0, 0
+ .byte TRAINER_CLASS_NAME_AQUA_LEADER, 20, 0, 0
+ .byte TRAINER_CLASS_NAME_AROMA_LADY, 10, 0, 0
+ .byte TRAINER_CLASS_NAME_RUIN_MANIAC, 15, 0, 0
+ .byte TRAINER_CLASS_NAME_INTERVIEWER, 12, 0, 0
+ .byte TRAINER_CLASS_NAME_TUBER_1, 1, 0, 0
+ .byte TRAINER_CLASS_NAME_TUBER_2, 1, 0, 0
+ .byte TRAINER_CLASS_NAME_SIS_AND_BRO, 3, 0, 0
+ .byte TRAINER_CLASS_NAME_COOLTRAINER_1, 12, 0, 0
+ .byte TRAINER_CLASS_NAME_HEX_MANIAC, 6, 0, 0
+ .byte TRAINER_CLASS_NAME_LADY, 50, 0, 0
+ .byte TRAINER_CLASS_NAME_BEAUTY, 20, 0, 0
+ .byte TRAINER_CLASS_NAME_RICH_BOY, 50, 0, 0
+ .byte TRAINER_CLASS_NAME_POKEMANIAC, 15, 0, 0
+ .byte TRAINER_CLASS_NAME_SWIMMER_M, 2, 0, 0
+ .byte TRAINER_CLASS_NAME_BLACK_BELT, 8, 0, 0
+ .byte TRAINER_CLASS_NAME_GUITARIST, 8, 0, 0
+ .byte TRAINER_CLASS_NAME_KINDLER, 8, 0, 0
+ .byte TRAINER_CLASS_NAME_CAMPER, 4, 0, 0
+ .byte TRAINER_CLASS_NAME_OLD_COUPLE, 10, 0, 0
+ .byte TRAINER_CLASS_NAME_BUG_MANIAC, 15, 0, 0
+ .byte TRAINER_CLASS_NAME_PSYCHIC, 6, 0, 0
+ .byte TRAINER_CLASS_NAME_GENTLEMAN, 20, 0, 0
+ .byte TRAINER_CLASS_NAME_ELITE_FOUR, 25, 0, 0
+ .byte TRAINER_CLASS_NAME_LEADER, 25, 0, 0
+ .byte TRAINER_CLASS_NAME_SCHOOL_KID, 5, 0, 0
+ .byte TRAINER_CLASS_NAME_SR_AND_JR, 4, 0, 0
+ .byte TRAINER_CLASS_NAME_POKEFAN, 20, 0, 0
+ .byte TRAINER_CLASS_NAME_EXPERT, 10, 0, 0
+ .byte TRAINER_CLASS_NAME_YOUNGSTER, 4, 0, 0
+ .byte TRAINER_CLASS_NAME_CHAMPION, 50, 0, 0
+ .byte TRAINER_CLASS_NAME_FISHERMAN, 10, 0, 0
+ .byte TRAINER_CLASS_NAME_TRIATHLETE, 10, 0, 0
+ .byte TRAINER_CLASS_NAME_DRAGON_TAMER, 12, 0, 0
+ .byte TRAINER_CLASS_NAME_BIRD_KEEPER, 8, 0, 0
+ .byte TRAINER_CLASS_NAME_NINJA_BOY, 3, 0, 0
+ .byte TRAINER_CLASS_NAME_BATTLE_GIRL, 6, 0, 0
+ .byte TRAINER_CLASS_NAME_PARASOL_LADY, 10, 0, 0
+ .byte TRAINER_CLASS_NAME_SWIMMER_F, 2, 0, 0
+ .byte TRAINER_CLASS_NAME_PICNICKER, 4, 0, 0
+ .byte TRAINER_CLASS_NAME_TWINS, 3, 0, 0
+ .byte TRAINER_CLASS_NAME_SAILOR, 8, 0, 0
+ .byte TRAINER_CLASS_NAME_COLLECTOR, 15, 0, 0
+ .byte TRAINER_CLASS_NAME_PKMN_TRAINER_3, 15, 0, 0
+ .byte TRAINER_CLASS_NAME_PKMN_BREEDER, 10, 0, 0
+ .byte TRAINER_CLASS_NAME_PKMN_RANGER, 12, 0, 0
+ .byte TRAINER_CLASS_NAME_TEAM_MAGMA, 5, 0, 0
+ .byte TRAINER_CLASS_NAME_MAGMA_ADMIN, 10, 0, 0
+ .byte TRAINER_CLASS_NAME_MAGMA_LEADER, 20, 0, 0
+ .byte TRAINER_CLASS_NAME_LASS, 4, 0, 0
+ .byte TRAINER_CLASS_NAME_BUG_CATCHER, 4, 0, 0
+ .byte TRAINER_CLASS_NAME_HIKER, 10, 0, 0
+ .byte TRAINER_CLASS_NAME_YOUNG_COUPLE, 8, 0, 0
+ .byte TRAINER_CLASS_LEADER_1, 10, 0, 0
+ .byte -1, 5, 0, 0
diff --git a/data/trainer_see.s b/data/trainer_see.s
index 7480cb290..bff3004a7 100644
--- a/data/trainer_see.s
+++ b/data/trainer_see.s
@@ -2,13 +2,82 @@
.include "constants/constants.inc"
.section .rodata
- .align 2, 0
-gUnknown_0855072C:: @ 855072C
- .incbin "baserom.gba", 0x55072c, 0x10
+ .align 2
+gEmotion_ExclamationMarkGfx:: @ 85505AC
+ .incbin "graphics/misc/emotion_exclamation.4bpp"
-gUnknown_0855073C:: @ 855073C
- .incbin "baserom.gba", 0x55073c, 0x30
+ .align 2
+gEmotion_QuestionMarkGfx:: @ 855062C
+ .incbin "graphics/misc/emotion_question.4bpp"
-gUnknown_0855076C:: @ 855076C
- .incbin "baserom.gba", 0x55076c, 0x48
+ .align 2
+gEmotion_HeartGfx:: @ 85506AC
+ .incbin "graphics/misc/emotion_heart.4bpp"
+
+ .align 2
+gIsTrainerInRange:: @ 855072C
+ .4byte IsTrainerInRangeSouth
+ .4byte IsTrainerInRangeNorth
+ .4byte IsTrainerInRangeWest
+ .4byte IsTrainerInRangeEast
+
+ .align 2
+gTrainerSeeFuncList:: @ 855073C
+ .4byte sub_80B4178
+ .4byte sub_80B417C
+ .4byte sub_80B41C0
+ .4byte sub_80B4200
+ .4byte sub_80B425C
+ .4byte sub_80B4318
+ .4byte sub_80B435C
+ .4byte sub_80B4390
+ .4byte sub_80B43AC
+ .4byte sub_80B43E0
+ .4byte sub_80B4438
+ .4byte sub_80B44AC
+
+ .align 2
+gTrainerSeeFuncList2:: @ 855076C
+ .4byte sub_80B43AC
+ .4byte sub_80B43E0
+ .4byte sub_80B4438
+ .4byte sub_80B44AC
+
+ .align 2
+gOamData_855077C:: @ 855077C
+ .2byte 0x0000
+ .2byte 0x4000
+ .2byte 0x0400
+
+ .align 2
+gSpriteImageTable_8550784:: @ 8550784
+ obj_frame_tiles gEmotion_ExclamationMarkGfx, 0x0080
+ obj_frame_tiles gEmotion_QuestionMarkGfx, 0x0080
+
+ .align 2
+gSpriteImageTable_8550794:: @ 8550794
+ obj_frame_tiles gEmotion_HeartGfx, 0x0080
+
+ .align 2
+gSpriteAnim_855079C:: @ 855079C
+ obj_image_anim_frame 0, 60
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnim_85507A4:: @ 85507A4
+ obj_image_anim_frame 1, 60
+ obj_image_anim_end
+
+ .align 2
+gSpriteAnimTable_85507AC:: @ 85507AC
+ .4byte gSpriteAnim_855079C
+ .4byte gSpriteAnim_85507A4
+
+ .align 2
+gSpriteTemplate_85507B4:: @ 85507B4
+ spr_template 0xffff, 0xffff, gOamData_855077C, gSpriteAnimTable_85507AC, gSpriteImageTable_8550784, gDummySpriteAffineAnimTable, objc_exclamation_mark_probably
+
+ .align 2
+gSpriteTemplate_85507CC:: @ 85507CC
+ spr_template 0xffff, 0x1004, gOamData_855077C, gSpriteAnimTable_85507AC, gSpriteImageTable_8550794, gDummySpriteAffineAnimTable, objc_exclamation_mark_probably
diff --git a/data/type_effectiveness.inc b/data/type_effectiveness.inc
new file mode 100644
index 000000000..a24615592
--- /dev/null
+++ b/data/type_effectiveness.inc
@@ -0,0 +1,119 @@
+@ format: attacking type, defending type, damage multiplier
+@ the multiplier is a (decimal) fixed-point number:
+@ 20 is ×2.0
+@ 05 is ×0.5
+@ 00 is ×0
+
+gTypeEffectiveness:: @ 831ACE8
+ .byte TYPE_NORMAL, TYPE_ROCK, 5
+ .byte TYPE_NORMAL, TYPE_STEEL, 5
+ .byte TYPE_FIRE, TYPE_FIRE, 5
+ .byte TYPE_FIRE, TYPE_WATER, 5
+ .byte TYPE_FIRE, TYPE_GRASS, 20
+ .byte TYPE_FIRE, TYPE_ICE, 20
+ .byte TYPE_FIRE, TYPE_BUG, 20
+ .byte TYPE_FIRE, TYPE_ROCK, 5
+ .byte TYPE_FIRE, TYPE_DRAGON, 5
+ .byte TYPE_FIRE, TYPE_STEEL, 20
+ .byte TYPE_WATER, TYPE_FIRE, 20
+ .byte TYPE_WATER, TYPE_WATER, 5
+ .byte TYPE_WATER, TYPE_GRASS, 5
+ .byte TYPE_WATER, TYPE_GROUND, 20
+ .byte TYPE_WATER, TYPE_ROCK, 20
+ .byte TYPE_WATER, TYPE_DRAGON, 5
+ .byte TYPE_ELECTRIC, TYPE_WATER, 20
+ .byte TYPE_ELECTRIC, TYPE_ELECTRIC, 5
+ .byte TYPE_ELECTRIC, TYPE_GRASS, 5
+ .byte TYPE_ELECTRIC, TYPE_GROUND, 0
+ .byte TYPE_ELECTRIC, TYPE_FLYING, 20
+ .byte TYPE_ELECTRIC, TYPE_DRAGON, 5
+ .byte TYPE_GRASS, TYPE_FIRE, 5
+ .byte TYPE_GRASS, TYPE_WATER, 20
+ .byte TYPE_GRASS, TYPE_GRASS, 5
+ .byte TYPE_GRASS, TYPE_POISON, 5
+ .byte TYPE_GRASS, TYPE_GROUND, 20
+ .byte TYPE_GRASS, TYPE_FLYING, 5
+ .byte TYPE_GRASS, TYPE_BUG, 5
+ .byte TYPE_GRASS, TYPE_ROCK, 20
+ .byte TYPE_GRASS, TYPE_DRAGON, 5
+ .byte TYPE_GRASS, TYPE_STEEL, 5
+ .byte TYPE_ICE, TYPE_WATER, 5
+ .byte TYPE_ICE, TYPE_GRASS, 20
+ .byte TYPE_ICE, TYPE_ICE, 5
+ .byte TYPE_ICE, TYPE_GROUND, 20
+ .byte TYPE_ICE, TYPE_FLYING, 20
+ .byte TYPE_ICE, TYPE_DRAGON, 20
+ .byte TYPE_ICE, TYPE_STEEL, 5
+ .byte TYPE_ICE, TYPE_FIRE, 5
+ .byte TYPE_FIGHTING, TYPE_NORMAL, 20
+ .byte TYPE_FIGHTING, TYPE_ICE, 20
+ .byte TYPE_FIGHTING, TYPE_POISON, 5
+ .byte TYPE_FIGHTING, TYPE_FLYING, 5
+ .byte TYPE_FIGHTING, TYPE_PSYCHIC, 5
+ .byte TYPE_FIGHTING, TYPE_BUG, 5
+ .byte TYPE_FIGHTING, TYPE_ROCK, 20
+ .byte TYPE_FIGHTING, TYPE_DARK, 20
+ .byte TYPE_FIGHTING, TYPE_STEEL, 20
+ .byte TYPE_POISON, TYPE_GRASS, 20
+ .byte TYPE_POISON, TYPE_POISON, 5
+ .byte TYPE_POISON, TYPE_GROUND, 5
+ .byte TYPE_POISON, TYPE_ROCK, 5
+ .byte TYPE_POISON, TYPE_GHOST, 5
+ .byte TYPE_POISON, TYPE_STEEL, 0
+ .byte TYPE_GROUND, TYPE_FIRE, 20
+ .byte TYPE_GROUND, TYPE_ELECTRIC, 20
+ .byte TYPE_GROUND, TYPE_GRASS, 5
+ .byte TYPE_GROUND, TYPE_POISON, 20
+ .byte TYPE_GROUND, TYPE_FLYING, 0
+ .byte TYPE_GROUND, TYPE_BUG, 5
+ .byte TYPE_GROUND, TYPE_ROCK, 20
+ .byte TYPE_GROUND, TYPE_STEEL, 20
+ .byte TYPE_FLYING, TYPE_ELECTRIC, 5
+ .byte TYPE_FLYING, TYPE_GRASS, 20
+ .byte TYPE_FLYING, TYPE_FIGHTING, 20
+ .byte TYPE_FLYING, TYPE_BUG, 20
+ .byte TYPE_FLYING, TYPE_ROCK, 5
+ .byte TYPE_FLYING, TYPE_STEEL, 5
+ .byte TYPE_PSYCHIC, TYPE_FIGHTING, 20
+ .byte TYPE_PSYCHIC, TYPE_POISON, 20
+ .byte TYPE_PSYCHIC, TYPE_PSYCHIC, 5
+ .byte TYPE_PSYCHIC, TYPE_DARK, 0
+ .byte TYPE_PSYCHIC, TYPE_STEEL, 5
+ .byte TYPE_BUG, TYPE_FIRE, 5
+ .byte TYPE_BUG, TYPE_GRASS, 20
+ .byte TYPE_BUG, TYPE_FIGHTING, 5
+ .byte TYPE_BUG, TYPE_POISON, 5
+ .byte TYPE_BUG, TYPE_FLYING, 5
+ .byte TYPE_BUG, TYPE_PSYCHIC, 20
+ .byte TYPE_BUG, TYPE_GHOST, 5
+ .byte TYPE_BUG, TYPE_DARK, 20
+ .byte TYPE_BUG, TYPE_STEEL, 5
+ .byte TYPE_ROCK, TYPE_FIRE, 20
+ .byte TYPE_ROCK, TYPE_ICE, 20
+ .byte TYPE_ROCK, TYPE_FIGHTING, 5
+ .byte TYPE_ROCK, TYPE_GROUND, 5
+ .byte TYPE_ROCK, TYPE_FLYING, 20
+ .byte TYPE_ROCK, TYPE_BUG, 20
+ .byte TYPE_ROCK, TYPE_STEEL, 5
+ .byte TYPE_GHOST, TYPE_NORMAL, 0
+ .byte TYPE_GHOST, TYPE_PSYCHIC, 20
+ .byte TYPE_GHOST, TYPE_DARK, 5
+ .byte TYPE_GHOST, TYPE_STEEL, 5
+ .byte TYPE_GHOST, TYPE_GHOST, 20
+ .byte TYPE_DRAGON, TYPE_DRAGON, 20
+ .byte TYPE_DRAGON, TYPE_STEEL, 5
+ .byte TYPE_DARK, TYPE_FIGHTING, 5
+ .byte TYPE_DARK, TYPE_PSYCHIC, 20
+ .byte TYPE_DARK, TYPE_GHOST, 20
+ .byte TYPE_DARK, TYPE_DARK, 5
+ .byte TYPE_DARK, TYPE_STEEL, 5
+ .byte TYPE_STEEL, TYPE_FIRE, 5
+ .byte TYPE_STEEL, TYPE_WATER, 5
+ .byte TYPE_STEEL, TYPE_ELECTRIC, 5
+ .byte TYPE_STEEL, TYPE_ICE, 20
+ .byte TYPE_STEEL, TYPE_ROCK, 20
+ .byte TYPE_STEEL, TYPE_STEEL, 5
+ .byte 0xFE, 0xFE, 0
+ .byte TYPE_NORMAL, TYPE_GHOST, 0
+ .byte TYPE_FIGHTING, TYPE_GHOST, 0
+ .byte 0xFF, 0xFF, 0
diff --git a/graphics/birch_speech/bg0.pal b/graphics/birch_speech/bg0.pal
new file mode 100644
index 000000000..31b66d4b3
--- /dev/null
+++ b/graphics/birch_speech/bg0.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+0 0 0
+255 255 164
+255 255 106
+222 222 90
+189 189 74
+156 156 57
+123 123 49
+90 90 32
+57 57 16
+197 255 205
+123 255 131
+115 222 106
+106 189 90
+98 156 65
+90 123 49
+0 0 0
diff --git a/graphics/birch_speech/bg1.pal b/graphics/birch_speech/bg1.pal
new file mode 100644
index 000000000..31b66d4b3
--- /dev/null
+++ b/graphics/birch_speech/bg1.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+0 0 0
+255 255 164
+255 255 106
+222 222 90
+189 189 74
+156 156 57
+123 123 49
+90 90 32
+57 57 16
+197 255 205
+123 255 131
+115 222 106
+106 189 90
+98 156 65
+90 123 49
+0 0 0
diff --git a/graphics/birch_speech/bg2.pal b/graphics/birch_speech/bg2.pal
new file mode 100644
index 000000000..3457f9b45
--- /dev/null
+++ b/graphics/birch_speech/bg2.pal
@@ -0,0 +1,11 @@
+JASC-PAL
+0100
+8
+255 255 164
+255 255 106
+222 222 90
+189 189 74
+156 156 57
+123 123 49
+90 90 32
+57 57 16
diff --git a/graphics/birch_speech/map.bin b/graphics/birch_speech/map.bin
new file mode 100644
index 000000000..ad5540b7c
--- /dev/null
+++ b/graphics/birch_speech/map.bin
Binary files differ
diff --git a/graphics/birch_speech/shadow.png b/graphics/birch_speech/shadow.png
new file mode 100644
index 000000000..4487ea9ea
--- /dev/null
+++ b/graphics/birch_speech/shadow.png
Binary files differ
diff --git a/graphics/link/minigame_digits.pal b/graphics/link/minigame_digits.pal
new file mode 100644
index 000000000..e27640830
--- /dev/null
+++ b/graphics/link/minigame_digits.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+0 0 0
+0 0 0
+205 205 205
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
diff --git a/graphics/link/minigame_digits.png b/graphics/link/minigame_digits.png
new file mode 100644
index 000000000..172994249
--- /dev/null
+++ b/graphics/link/minigame_digits.png
Binary files differ
diff --git a/graphics/link/minigame_digits2.png b/graphics/link/minigame_digits2.png
new file mode 100644
index 000000000..285aa4aed
--- /dev/null
+++ b/graphics/link/minigame_digits2.png
Binary files differ
diff --git a/graphics/misc/emotion_exclamation.png b/graphics/misc/emotion_exclamation.png
new file mode 100644
index 000000000..595566d2f
--- /dev/null
+++ b/graphics/misc/emotion_exclamation.png
Binary files differ
diff --git a/graphics/misc/emotion_heart.png b/graphics/misc/emotion_heart.png
new file mode 100644
index 000000000..9995984b4
--- /dev/null
+++ b/graphics/misc/emotion_heart.png
Binary files differ
diff --git a/graphics/misc/emotion_question.png b/graphics/misc/emotion_question.png
new file mode 100644
index 000000000..7376fd058
--- /dev/null
+++ b/graphics/misc/emotion_question.png
Binary files differ
diff --git a/graphics/misc/main_menu_bg.pal b/graphics/misc/main_menu_bg.pal
new file mode 100644
index 000000000..7aca54c52
--- /dev/null
+++ b/graphics/misc/main_menu_bg.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+139 148 255
+255 255 255
+49 57 82
+90 98 115
+8 8 16
+148 156 172
+205 222 238
+180 180 189
+189 205 222
+32 32 49
+123 131 139
+49 82 123
+41 123 197
+57 139 213
+90 164 230
+139 197 246
diff --git a/graphics/misc/main_menu_text.pal b/graphics/misc/main_menu_text.pal
new file mode 100644
index 000000000..25a3ac1d2
--- /dev/null
+++ b/graphics/misc/main_menu_text.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+255 255 255
+255 255 255
+98 98 98
+213 213 205
+230 8 8
+255 189 115
+32 156 8
+148 246 148
+49 82 205
+164 197 246
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
diff --git a/graphics/misc/reset_rtc_screen_arrow.pal b/graphics/misc/reset_rtc_screen_arrow.pal
new file mode 100644
index 000000000..b2e8a5f5f
--- /dev/null
+++ b/graphics/misc/reset_rtc_screen_arrow.pal
@@ -0,0 +1,7 @@
+JASC-PAL
+0100
+4
+0 0 0
+255 0 0
+74 74 74
+0 0 0
diff --git a/graphics/misc/reset_rtc_screen_downarrow.png b/graphics/misc/reset_rtc_screen_downarrow.png
new file mode 100644
index 000000000..8f7b3480d
--- /dev/null
+++ b/graphics/misc/reset_rtc_screen_downarrow.png
Binary files differ
diff --git a/graphics/misc/reset_rtc_screen_rightarrow.png b/graphics/misc/reset_rtc_screen_rightarrow.png
new file mode 100644
index 000000000..785b3c1db
--- /dev/null
+++ b/graphics/misc/reset_rtc_screen_rightarrow.png
Binary files differ
diff --git a/graphics/title_screen/unk_853EF78.pal b/graphics/title_screen/unk_853EF78.pal
new file mode 100644
index 000000000..0cc3bebc1
--- /dev/null
+++ b/graphics/title_screen/unk_853EF78.pal
@@ -0,0 +1,115 @@
+JASC-PAL
+0100
+112
+0 0 0
+0 0 0
+16 16 16
+32 32 32
+49 49 49
+65 65 65
+90 90 90
+106 106 106
+123 123 123
+139 139 139
+156 156 156
+180 180 180
+197 197 197
+213 213 213
+255 255 255
+255 0 0
+0 0 0
+98 148 16
+98 156 16
+106 164 24
+115 172 32
+123 180 41
+131 197 49
+139 205 57
+148 213 65
+156 222 74
+180 106 172
+0 0 0
+0 0 0
+148 115 115
+123 131 65
+197 197 197
+123 131 65
+255 255 255
+255 255 255
+255 255 255
+0 32 0
+8 41 8
+24 57 16
+41 74 32
+49 90 41
+65 106 49
+82 123 65
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+189 106 8
+0 139 74
+255 255 255
+8 106 49
+8 115 57
+16 123 65
+16 131 74
+24 148 82
+24 156 90
+32 164 98
+41 180 115
+8 65 57
+205 255 197
+255 255 255
+255 0 0
+0 0 0
+123 131 65
+255 255 255
+255 255 255
+255 255 255
+0 0 0
+8 8 8
+24 24 24
+41 41 41
+49 49 49
+65 65 65
+82 82 82
+0 123 230
+255 255 255
+255 255 255
+255 0 0
+255 189 0
+255 255 255
+255 255 255
+255 255 255
+255 255 255
+0 0 0
+41 74 32
+65 106 49
+90 139 74
+115 180 98
+139 213 123
+172 255 148
+0 123 230
+255 255 255
+255 255 255
+255 0 0
+255 189 0
+189 106 8
+0 139 74
+255 255 255
+8 106 49
+8 115 57
+16 123 65
+16 131 74
+24 148 82
+24 156 90
+32 164 98
+41 180 115
+8 65 57
+180 230 172
+255 255 255
+255 0 0
+255 189 0
diff --git a/include/battle.h b/include/battle.h
index d41702396..bb61c7043 100644
--- a/include/battle.h
+++ b/include/battle.h
@@ -604,7 +604,7 @@ struct BattleStruct
u8 field_8B;
u8 field_8C;
u8 field_8D;
- u8 field_8E;
+ u8 stringMoveType;
u8 expGetterBank;
u8 field_90;
u8 field_91;
diff --git a/include/battle_2.h b/include/battle_2.h
index edd6b6ef3..677bf0505 100644
--- a/include/battle_2.h
+++ b/include/battle_2.h
@@ -15,6 +15,7 @@ void SwapTurnOrder(u8 id1, u8 id2);
void BattleTurnPassed(void);
void RunBattleScriptCommands_PopCallbacksStack(void);
void RunBattleScriptCommands(void);
+u32 sub_80397C4(u32 setId, u32 tableId);
void sub_8039E9C(struct Sprite *sprite);
extern const u8 gStatusConditionString_PoisonJpn[8];
@@ -25,6 +26,6 @@ extern const u8 gStatusConditionString_IceJpn[8];
extern const u8 gStatusConditionString_ConfusionJpn[8];
extern const u8 gStatusConditionString_LoveJpn[8];
-extern const u8 * const gStatusConditionStringsTable[][2];
+extern const u8 * const gStatusConditionStringsTable[7][2];
#endif // GUARD_BATTLE_2_H
diff --git a/include/battle_controllers.h b/include/battle_controllers.h
index 2281fdaff..eea544b55 100644
--- a/include/battle_controllers.h
+++ b/include/battle_controllers.h
@@ -39,8 +39,8 @@ struct MovePpInfo
struct ChooseMoveStruct
{
u16 moves[4];
- u8 ppNumbers[4];
- u8 ppWithBonusNumbers[4];
+ u8 currentPp[4];
+ u8 maxPp[4];
u16 species;
u8 monType1;
u8 monType2;
diff --git a/include/battle_message.h b/include/battle_message.h
index 3bc7117bb..3b154c5a6 100644
--- a/include/battle_message.h
+++ b/include/battle_message.h
@@ -3,59 +3,59 @@
// for 0xFD
-#define B_TXT_BUFF1 00
-#define B_TXT_BUFF2 01
-#define B_TXT_COPY_VAR_1 02
-#define B_TXT_COPY_VAR_2 03
-#define B_TXT_COPY_VAR_3 04
-#define B_TXT_PLAYER_MON1_NAME 05
-#define B_TXT_OPPONENT_MON1_NAME 06
-#define B_TXT_PLAYER_MON2_NAME 07
-#define B_TXT_OPPONENT_MON2_NAME 08
-#define B_TXT_LINK_PLAYER_MON1_NAME 09
-#define B_TXT_LINK_OPPONENT_MON1_NAME 0A
-#define B_TXT_LINK_PLAYER_MON2_NAME 0B
-#define B_TXT_LINK_OPPONENT_MON2_NAME 0C
-#define B_TXT_ATK_NAME_WITH_PREFIX_MON1 0D
-#define B_TXT_ATK_NAME 0E
-#define B_TXT_ATK_NAME_WITH_PREFIX 0F
-#define B_TXT_DEF_NAME_WITH_PREFIX 10
-#define B_TXT_EFF_NAME_WITH_PREFIX 11 // EFF = short for gEffectBank
-#define B_TXT_SCR_ACTIVE_NAME_WITH_PREFIX 12
-#define B_TXT_ACTIVE_NAME_WITH_PREFIX 13
-#define B_TXT_CURRENT_MOVE 14
-#define B_TXT_LAST_MOVE 15
-#define B_TXT_LAST_ITEM 16
-#define B_TXT_LAST_ABILITY 17
-#define B_TXT_ATK_ABILITY 18
-#define B_TXT_DEF_ABILITY 19
-#define B_TXT_SCR_ACTIVE_ABILITY 1A
-#define B_TXT_EFF_ABILITY 1B
-#define B_TXT_TRAINER1_CLASS 1C
-#define B_TXT_TRAINER1_NAME 1D
-#define B_TXT_1E 1E // trainer name for a link player
-#define B_TXT_1F 1F // trainer name for a link player
-#define B_TXT_20 20 // trainer name for a link player
-#define B_TXT_21 21 // trainer name for a link player
-#define B_TXT_22 22 // trainer name for a link player
-#define B_TXT_PLAYER_NAME 23
-#define B_TXT_TRAINER1_LOSE_TEXT 24
-#define B_TXT_TRAINER1_WIN_TEXT 25
-#define B_TXT_26 26
-#define B_TXT_PC_CREATOR_NAME 27
-#define B_TXT_ATK_PREFIX1 28
-#define B_TXT_DEF_PREFIX1 29
-#define B_TXT_ATK_PREFIX2 2A
-#define B_TXT_DEF_PREFIX2 2B
-#define B_TXT_ATK_PREFIX3 2C
-#define B_TXT_DEF_PREFIX3 2D
-#define B_TXT_TRAINER2_CLASS 2E
-#define B_TXT_TRAINER2_NAME 2F
-#define B_TXT_TRAINER2_LOSE_TEXT 30
-#define B_TXT_TRAINER2_WIN_TEXT 31
-#define B_TXT_PARTNER_CLASS 32
-#define B_TXT_PARTNER_NAME 33
-#define B_TXT_BUFF3 34
+#define B_TXT_BUFF1 0x0
+#define B_TXT_BUFF2 0x1
+#define B_TXT_COPY_VAR_1 0x2
+#define B_TXT_COPY_VAR_2 0x3
+#define B_TXT_COPY_VAR_3 0x4
+#define B_TXT_PLAYER_MON1_NAME 0x5
+#define B_TXT_OPPONENT_MON1_NAME 0x6
+#define B_TXT_PLAYER_MON2_NAME 0x7
+#define B_TXT_OPPONENT_MON2_NAME 0x8
+#define B_TXT_LINK_PLAYER_MON1_NAME 0x9
+#define B_TXT_LINK_OPPONENT_MON1_NAME 0xA
+#define B_TXT_LINK_PLAYER_MON2_NAME 0xB
+#define B_TXT_LINK_OPPONENT_MON2_NAME 0xC
+#define B_TXT_ATK_NAME_WITH_PREFIX_MON1 0xD
+#define B_TXT_ATK_PARTNER_NAME 0xE
+#define B_TXT_ATK_NAME_WITH_PREFIX 0xF
+#define B_TXT_DEF_NAME_WITH_PREFIX 0x10
+#define B_TXT_EFF_NAME_WITH_PREFIX 0x11 // EFF = short for gEffectBank
+#define B_TXT_ACTIVE_NAME_WITH_PREFIX 0x12
+#define B_TXT_SCR_ACTIVE_NAME_WITH_PREFIX 0x13
+#define B_TXT_CURRENT_MOVE 0x14
+#define B_TXT_LAST_MOVE 0x15
+#define B_TXT_LAST_ITEM 0x16
+#define B_TXT_LAST_ABILITY 0x17
+#define B_TXT_ATK_ABILITY 0x18
+#define B_TXT_DEF_ABILITY 0x19
+#define B_TXT_SCR_ACTIVE_ABILITY 0x1A
+#define B_TXT_EFF_ABILITY 0x1B
+#define B_TXT_TRAINER1_CLASS 0x1C
+#define B_TXT_TRAINER1_NAME 0x1D
+#define B_TXT_1E 0x1E // trainer name for a link player
+#define B_TXT_1F 0x1F // trainer name for a link player
+#define B_TXT_20 0x20 // trainer name for a link player
+#define B_TXT_21 0x21 // trainer name for a link player
+#define B_TXT_22 0x22 // trainer name for a link player
+#define B_TXT_PLAYER_NAME 0x23
+#define B_TXT_TRAINER1_LOSE_TEXT 0x24
+#define B_TXT_TRAINER1_WIN_TEXT 0x25
+#define B_TXT_26 0x26
+#define B_TXT_PC_CREATOR_NAME 0x27
+#define B_TXT_ATK_PREFIX1 0x28
+#define B_TXT_DEF_PREFIX1 0x29
+#define B_TXT_ATK_PREFIX2 0x2A
+#define B_TXT_DEF_PREFIX2 0x2B
+#define B_TXT_ATK_PREFIX3 0x2C
+#define B_TXT_DEF_PREFIX3 0x2D
+#define B_TXT_TRAINER2_CLASS 0x2E
+#define B_TXT_TRAINER2_NAME 0x2F
+#define B_TXT_TRAINER2_LOSE_TEXT 0x30
+#define B_TXT_TRAINER2_WIN_TEXT 0x31
+#define B_TXT_PARTNER_CLASS 0x32
+#define B_TXT_PARTNER_NAME 0x33
+#define B_TXT_BUFF3 0x34
// for B_TXT_BUFF1, B_TXT_BUFF2 and B_TXT_BUFF3
@@ -205,12 +205,22 @@ void BufferStringBattle(u16 stringID);
u32 BattleStringExpandPlaceholdersToDisplayedString(const u8* src);
u32 BattleStringExpandPlaceholders(const u8* src, u8* dst);
void sub_814F9EC(const u8* text, u8 arg1);
+void SetPpNumbersPaletteInMoveSelection(void);
+u8 GetCurrentPpToMaxPpState(u8 currentPp, u8 maxPp);
-extern u8 gBattleTextBuff1[];
-extern u8 gBattleTextBuff2[];
-extern u8 gBattleTextBuff3[];
-extern u8 gDisplayedStringBattle[];
+#define TEXT_BUFF_ARRAY_COUNT 16
+extern u8 gDisplayedStringBattle[300];
+extern u8 gBattleTextBuff1[TEXT_BUFF_ARRAY_COUNT];
+extern u8 gBattleTextBuff2[TEXT_BUFF_ARRAY_COUNT];
+extern u8 gBattleTextBuff3[TEXT_BUFF_ARRAY_COUNT];
+
+extern const u8* const gStatNamesTable[];
+extern const u8* const gPokeblockWasTooXStringTable[];
extern const u8* const gRefereeStringsTable[];
+extern const u8* const gStatNamesTable2[];
+
+extern const u16 gMissStringIds[];
+extern const u16 gTrappingMoves[];
#endif // GUARD_BATTLE_MESSAGE_H
diff --git a/include/battle_string_ids.h b/include/battle_string_ids.h
new file mode 100644
index 000000000..f242284b0
--- /dev/null
+++ b/include/battle_string_ids.h
@@ -0,0 +1,387 @@
+#ifndef GUARD_BATTLE_STRING_IDS_H
+#define GUARD_BATTLE_STRING_IDS_H
+
+#define BATTLESTRINGS_COUNT 369
+
+#define BATTLESTRINGS_ID_ADDER 12 // all battlestrings have its ID + 12, because first 5 are reserved
+
+#define STRINGID_INTROMSG 0
+#define STRINGID_INTROSENDOUT 1
+#define STRINGID_RETURNMON 2
+#define STRINGID_SWITCHINMON 3
+#define STRINGID_USEDMOVE 4
+#define STRINGID_BATTLEEND 5
+
+
+// todo: make some of those names less vague: attacker/target vs pkmn, etc.
+#define STRINGID_TRAINER1LOSETEXT 12
+#define STRINGID_PKMNGAINEDEXP 13
+#define STRINGID_PKMNGREWTOLV 14
+#define STRINGID_PKMNLEARNEDMOVE 15
+#define STRINGID_TRYTOLEARNMOVE1 16
+#define STRINGID_TRYTOLEARNMOVE2 17
+#define STRINGID_TRYTOLEARNMOVE3 18
+#define STRINGID_PKMNFORGOTMOVE 19
+#define STRINGID_STOPLEARNINGMOVE 20
+#define STRINGID_DIDNOTLEARNMOVE 21
+#define STRINGID_PKMNLEARNEDMOVE2 22
+#define STRINGID_ATTACKMISSED 23
+#define STRINGID_PKMNPROTECTEDITSELF 24
+#define STRINGID_STATSWONTINCREASE2 25
+#define STRINGID_AVOIDEDDAMAGE 26
+#define STRINGID_ITDOESNTAFFECT 27
+#define STRINGID_ATTACKERFAINTED 28
+#define STRINGID_TARGETFAINTED 29
+#define STRINGID_PLAYERGOTMONEY 30
+#define STRINGID_PLAYERWHITEOUT 31
+#define STRINGID_PLAYERWHITEOUT2 32
+#define STRINGID_PREVENTSESCAPE 33
+#define STRINGID_HITXTIMES 34
+#define STRINGID_PKMNFELLASLEEP 35
+#define STRINGID_PKMNMADESLEEP 36
+#define STRINGID_PKMNALREADYASLEEP 37
+#define STRINGID_PKMNALREADYASLEEP2 38
+#define STRINGID_PKMNWASNTAFFECTED 39
+#define STRINGID_PKMNWASPOISONED 40
+#define STRINGID_PKMNPOISONEDBY 41
+#define STRINGID_PKMNHURTBYPOISON 42
+#define STRINGID_PKMNALREADYPOISONED 43
+#define STRINGID_PKMNBADLYPOISONED 44
+#define STRINGID_PKMNENERGYDRAINED 45
+#define STRINGID_PKMNWASBURNED 46
+#define STRINGID_PKMNBURNEDBY 47
+#define STRINGID_PKMNHURTBYBURN 48
+#define STRINGID_PKMNWASFROZEN 49
+#define STRINGID_PKMNFROZENBY 50
+#define STRINGID_PKMNISFROZEN 51
+#define STRINGID_PKMNWASDEFROSTED 52
+#define STRINGID_PKMNWASDEFROSTED2 53
+#define STRINGID_PKMNWASDEFROSTEDBY 54
+#define STRINGID_PKMNWASPARALYZED 55
+#define STRINGID_PKMNWASPARALYZEDBY 56
+#define STRINGID_PKMNISPARALYZED 57
+#define STRINGID_PKMNISALREADYPARALYZED 58
+#define STRINGID_PKMNHEALEDPARALYSIS 59
+#define STRINGID_PKMNDREAMEATEN 60
+#define STRINGID_STATSWONTINCREASE 61
+#define STRINGID_STATSWONTDECREASE 62
+#define STRINGID_TEAMSTOPPEDWORKING 63
+#define STRINGID_FOESTOPPEDWORKING 64
+#define STRINGID_PKMNISCONFUSED 65
+#define STRINGID_PKMNHEALEDCONFUSION 66
+#define STRINGID_PKMNWASCONFUSED 67
+#define STRINGID_PKMNALREADYCONFUSED 68
+#define STRINGID_PKMNFELLINLOVE 69
+#define STRINGID_PKMNINLOVE 70
+#define STRINGID_PKMNIMMOBILIZEDBYLOVE 71
+#define STRINGID_PKMNBLOWNAWAY 72
+#define STRINGID_PKMNCHANGEDTYPE 73
+#define STRINGID_PKMNFLINCHED 74
+#define STRINGID_PKMNREGAINEDHEALTH 75
+#define STRINGID_PKMNHPFULL 76
+#define STRINGID_PKMNRAISEDSPDEF 77
+#define STRINGID_PKMNRAISEDDEF 78
+#define STRINGID_PKMNCOVEREDBYVEIL 79
+#define STRINGID_PKMNUSEDSAFEGUARD 80
+#define STRINGID_PKMNSAFEGUARDEXPIRED 81
+#define STRINGID_PKMNWENTTOSLEEP 82
+#define STRINGID_PKMNSLEPTHEALTHY 83
+#define STRINGID_PKMNWHIPPEDWHIRLWIND 84
+#define STRINGID_PKMNTOOKSUNLIGHT 85
+#define STRINGID_PKMNLOWEREDHEAD 86
+#define STRINGID_PKMNISGLOWING 87
+#define STRINGID_PKMNFLEWHIGH 88
+#define STRINGID_PKMNDUGHOLE 89
+#define STRINGID_PKMNSQUEEZEDBYBIND 90
+#define STRINGID_PKMNTRAPPEDINVORTEX 91
+#define STRINGID_PKMNWRAPPEDBY 92
+#define STRINGID_PKMNCLAMPED 93
+#define STRINGID_PKMNHURTBY 94
+#define STRINGID_PKMNFREEDFROM 95
+#define STRINGID_PKMNCRASHED 96
+#define STRINGID_PKMNSHROUDEDINMIST 97
+#define STRINGID_PKMNPROTECTEDBYMIST 98
+#define STRINGID_PKMNGETTINGPUMPED 99
+#define STRINGID_PKMNHITWITHRECOIL 100
+#define STRINGID_PKMNPROTECTEDITSELF2 101
+#define STRINGID_PKMNBUFFETEDBYSANDSTORM 102
+#define STRINGID_PKMNPELTEDBYHAIL 103
+#define STRINGID_PKMNSEEDED 104
+#define STRINGID_PKMNEVADEDATTACK 105
+#define STRINGID_PKMNSAPPEDBYLEECHSEED 106
+#define STRINGID_PKMNFASTASLEEP 107
+#define STRINGID_PKMNWOKEUP 108
+#define STRINGID_PKMNUPROARKEPTAWAKE 109
+#define STRINGID_PKMNWOKEUPINUPROAR 110
+#define STRINGID_PKMNCAUSEDUPROAR 111
+#define STRINGID_PKMNMAKINGUPROAR 112
+#define STRINGID_PKMNCALMEDDOWN 113
+#define STRINGID_PKMNCANTSLEEPINUPROAR 114
+#define STRINGID_PKMNSTOCKPILED 115
+#define STRINGID_PKMNCANTSTOCKPILE 116
+#define STRINGID_PKMNCANTSLEEPINUPROAR2 117
+#define STRINGID_UPROARKEPTPKMNAWAKE 118
+#define STRINGID_PKMNSTAYEDAWAKEUSING 119
+#define STRINGID_PKMNSTORINGENERGY 120
+#define STRINGID_PKMNUNLEASHEDENERGY 121
+#define STRINGID_PKMNFATIGUECONFUSION 122
+#define STRINGID_PKMNPICKEDUPITEM 123
+#define STRINGID_PKMNUNAFFECTED 124
+#define STRINGID_PKMNTRANSFORMEDINTO 125
+#define STRINGID_PKMNMADESUBSTITUTE 126
+#define STRINGID_PKMNHASSUBSTITUTE 127
+#define STRINGID_SUBSTITUTEDAMAGED 128
+#define STRINGID_PKMNSUBSTITUTEFADED 129
+#define STRINGID_PKMNMUSTRECHARGE 130
+#define STRINGID_PKMNRAGEBUILDING 131
+#define STRINGID_PKMNMOVEWASDISABLED 132
+#define STRINGID_PKMNMOVEISDISABLED 133
+#define STRINGID_PKMNMOVEDISABLEDNOMORE 134
+#define STRINGID_PKMNGOTENCORE 135
+#define STRINGID_PKMNENCOREENDED 136
+#define STRINGID_PKMNTOOKAIM 137
+#define STRINGID_PKMNSKETCHEDMOVE 138
+#define STRINGID_PKMNTRYINGTOTAKEFOE 139
+#define STRINGID_PKMNTOOKFOE 140
+#define STRINGID_PKMNREDUCEDPP 141
+#define STRINGID_PKMNSTOLEITEM 142
+#define STRINGID_TARGETCANTESCAPENOW 143
+#define STRINGID_PKMNFELLINTONIGHTMARE 144
+#define STRINGID_PKMNLOCKEDINNIGHTMARE 145
+#define STRINGID_PKMNLAIDCURSE 146
+#define STRINGID_PKMNAFFLICTEDBYCURSE 147
+#define STRINGID_SPIKESSCATTERED 148
+#define STRINGID_PKMNHURTBYSPIKES 149
+#define STRINGID_PKMNIDENTIFIED 150
+#define STRINGID_PKMNPERISHCOUNTFELL 151
+#define STRINGID_PKMNBRACEDITSELF 152
+#define STRINGID_PKMNENDUREDHIT 153
+#define STRINGID_MAGNITUDESTRENGTH 154
+#define STRINGID_PKMNCUTHPMAXEDATTACK 155
+#define STRINGID_PKMNCOPIEDSTATCHANGES 156
+#define STRINGID_PKMNGOTFREE 157
+#define STRINGID_PKMNSHEDLEECHSEED 158
+#define STRINGID_PKMNBLEWAWAYSPIKES 159
+#define STRINGID_PKMNFLEDFROMBATTLE 160
+#define STRINGID_PKMNFORESAWATTACK 161
+#define STRINGID_PKMNTOOKATTACK 162
+#define STRINGID_PKMNATTACK 163
+#define STRINGID_PKMNCENTERATTENTION 164
+#define STRINGID_PKMNCHARGINGPOWER 165
+#define STRINGID_NATUREPOWERTURNEDINTO 166
+#define STRINGID_PKMNSTATUSNORMAL 167
+#define STRINGID_PKMNHASNOMOVESLEFT 168
+#define STRINGID_PKMNSUBJECTEDTOTORMENT 169
+#define STRINGID_PKMNCANTUSEMOVETORMENT 170
+#define STRINGID_PKMNTIGHTENINGFOCUS 171
+#define STRINGID_PKMNFELLFORTAUNT 172
+#define STRINGID_PKMNCANTUSEMOVETAUNT 173
+#define STRINGID_PKMNREADYTOHELP 174
+#define STRINGID_PKMNSWITCHEDITEMS 175
+#define STRINGID_PKMNCOPIEDFOE 176
+#define STRINGID_PKMNMADEWISH 177
+#define STRINGID_PKMNWISHCAMETRUE 178
+#define STRINGID_PKMNPLANTEDROOTS 179
+#define STRINGID_PKMNABSORBEDNUTRIENTS 180
+#define STRINGID_PKMNANCHOREDITSELF 181
+#define STRINGID_PKMNWASMADEDROWSY 182
+#define STRINGID_PKMNKNOCKEDOFF 183
+#define STRINGID_PKMNSWAPPEDABILITIES 184
+#define STRINGID_PKMNSEALEDOPPONENTMOVE 185
+#define STRINGID_PKMNCANTUSEMOVESEALED 186
+#define STRINGID_PKMNWANTSGRUDGE 187
+#define STRINGID_PKMNLOSTPPGRUDGE 188
+#define STRINGID_PKMNSHROUDEDITSELF 189
+#define STRINGID_PKMNMOVEBOUNCED 190
+#define STRINGID_PKMNWAITSFORTARGET 191
+#define STRINGID_PKMNSNATCHEDMOVE 192
+#define STRINGID_PKMNMADEITRAIN 193
+#define STRINGID_PKMNRAISEDSPEED 194
+#define STRINGID_PKMNPROTECTEDBY 195
+#define STRINGID_PKMNPREVENTSUSAGE 196
+#define STRINGID_PKMNRESTOREDHPUSING 197
+#define STRINGID_PKMNCHANGEDTYPEWITH 198
+#define STRINGID_PKMNPREVENTSPARALYSISWITH 199
+#define STRINGID_PKMNPREVENTSROMANCEWITH 200
+#define STRINGID_PKMNPREVENTSPOISONINGWITH 201
+#define STRINGID_PKMNPREVENTSCONFUSIONWITH 202
+#define STRINGID_PKMNRAISEDFIREPOWERWITH 203
+#define STRINGID_PKMNANCHORSITSELFWITH 204
+#define STRINGID_PKMNCUTSATTACKWITH 205
+#define STRINGID_PKMNPREVENTSSTATLOSSWITH 206
+#define STRINGID_PKMNHURTSWITH 207
+#define STRINGID_PKMNTRACED 208
+#define STRINGID_STATSHARPLY 209
+#define STRINGID_STATROSE 210
+#define STRINGID_STATHARSHLY 211
+#define STRINGID_STATFELL 212
+#define STRINGID_PKMNSSTATCHANGED 213
+#define STRINGID_PKMNSSTATCHANGED2 214
+#define STRINGID_PKMNSSTATCHANGED3 215
+#define STRINGID_PKMNSSTATCHANGED4 216
+#define STRINGID_CRITICALHIT 217
+#define STRINGID_ONEHITKO 218
+#define STRINGID_123POOF 219
+#define STRINGID_ANDELLIPSIS 220
+#define STRINGID_NOTVERYEFFECTIVE 221
+#define STRINGID_SUPEREFFECTIVE 222
+#define STRINGID_GOTAWAYSAFELY 223
+#define STRINGID_WILDPKMNFLED 224
+#define STRINGID_NORUNNINGFROMTRAINERS 225
+#define STRINGID_CANTESCAPE 226
+#define STRINGID_DONTLEAVEBIRCH 227
+#define STRINGID_BUTNOTHINGHAPPENED 228
+#define STRINGID_BUTITFAILED 229
+#define STRINGID_ITHURTCONFUSION 230
+#define STRINGID_MIRRORMOVEFAILED 231
+#define STRINGID_STARTEDTORAIN 232
+#define STRINGID_DOWNPOURSTARTED 233
+#define STRINGID_RAINCONTINUES 234
+#define STRINGID_DOWNPOURCONTINUES 235
+#define STRINGID_RAINSTOPPED 236
+#define STRINGID_SANDSTORMBREWED 237
+#define STRINGID_SANDSTORMRAGES 238
+#define STRINGID_SANDSTORMSUBSIDED 239
+#define STRINGID_SUNLIGHTGOTBRIGHT 240
+#define STRINGID_SUNLIGHTSTRONG 241
+#define STRINGID_SUNLIGHTFADED 242
+#define STRINGID_STARTEDHAIL 243
+#define STRINGID_HAILCONTINUES 244
+#define STRINGID_HAILSTOPPED 245
+#define STRINGID_FAILEDTOSPITUP 246
+#define STRINGID_FAILEDTOSWALLOW 247
+#define STRINGID_WINDBECAMEHEATWAVE 248
+#define STRINGID_STATCHANGESGONE 249
+#define STRINGID_COINSSCATTERED 250
+#define STRINGID_TOOWEAKFORSUBSTITUTE 251
+#define STRINGID_SHAREDPAIN 252
+#define STRINGID_BELLCHIMED 253
+#define STRINGID_FAINTINTHREE 254
+#define STRINGID_NOPPLEFT 255
+#define STRINGID_BUTNOPPLEFT 256
+#define STRINGID_PLAYERUSEDITEM 257
+#define STRINGID_WALLYUSEDITEM 258
+#define STRINGID_TRAINERBLOCKEDBALL 259
+#define STRINGID_DONTBEATHIEF 260
+#define STRINGID_ITDODGEDBALL 261
+#define STRINGID_YOUMISSEDPKMN 262
+#define STRINGID_PKMNBROKEFREE 263
+#define STRINGID_ITAPPEAREDCAUGHT 264
+#define STRINGID_AARGHALMOSTHADIT 265
+#define STRINGID_SHOOTSOCLOSE 266
+#define STRINGID_GOTCHAPKMNCAUGHT 267
+#define STRINGID_GOTCHAPKMNCAUGHT2 268
+#define STRINGID_GIVENICKNAMECAPTURED 269
+#define STRINGID_PKMNSENTTOPC 270
+#define STRINGID_PKMNDATAADDEDTODEX 271
+#define STRINGID_ITISRAINING 272
+#define STRINGID_SANDSTORMISRAGING 273
+#define STRINGID_CANTESCAPE2 274
+#define STRINGID_PKMNIGNORESASLEEP 275
+#define STRINGID_PKMNIGNOREDORDERS 276
+#define STRINGID_PKMNBEGANTONAP 277
+#define STRINGID_PKMNLOAFING 278
+#define STRINGID_PKMNWONTOBEY 279
+#define STRINGID_PKMNTURNEDAWAY 280
+#define STRINGID_PKMNPRETENDNOTNOTICE 281
+#define STRINGID_ENEMYABOUTTOSWITCHPKMN 282
+#define STRINGID_CREPTCLOSER 283
+#define STRINGID_CANTGETCLOSER 284
+#define STRINGID_PKMNWATCHINGCAREFULLY 285
+#define STRINGID_PKMNCURIOUSABOUTX 286
+#define STRINGID_PKMNENTHRALLEDBYX 287
+#define STRINGID_PKMNIGNOREDX 288
+#define STRINGID_THREWPOKEBLOCKATPKMN 289
+#define STRINGID_OUTOFSAFARIBALLS 290
+#define STRINGID_PKMNSITEMCUREDPARALYSIS 291
+#define STRINGID_PKMNSITEMCUREDPOISON 292
+#define STRINGID_PKMNSITEMHEALEDBURN 293
+#define STRINGID_PKMNSITEMDEFROSTEDIT 294
+#define STRINGID_PKMNSITEMWOKEIT 295
+#define STRINGID_PKMNSITEMSNAPPEDOUT 296
+#define STRINGID_PKMNSITEMCUREDPROBLEM 297
+#define STRINGID_PKMNSITEMRESTOREDHEALTH 298
+#define STRINGID_PKMNSITEMRESTOREDPP 299
+#define STRINGID_PKMNSITEMRESTOREDSTATUS 300
+#define STRINGID_PKMNSITEMRESTOREDHPALITTLE 301
+#define STRINGID_ITEMALLOWSONLYYMOVE 302
+#define STRINGID_PKMNHUNGONWITHX 303
+#define STRINGID_EMPTYSTRING3 304
+#define STRINGID_PKMNSXPREVENTSBURNS 305
+#define STRINGID_PKMNSXBLOCKSY 306
+#define STRINGID_PKMNSXRESTOREDHPALITTLE2 307
+#define STRINGID_PKMNSXWHIPPEDUPSANDSTORM 308
+#define STRINGID_PKMNSXPREVENTSYLOSS 309
+#define STRINGID_PKMNSXINFATUATEDY 310
+#define STRINGID_PKMNSXMADEYINEFFECTIVE 311
+#define STRINGID_PKMNSXCUREDYPROBLEM 312
+#define STRINGID_ITSUCKEDLIQUIDOOZE 313
+#define STRINGID_PKMNTRANSFORMED 314
+#define STRINGID_ELECTRICITYWEAKENED 315
+#define STRINGID_FIREWEAKENED 316
+#define STRINGID_PKMNHIDUNDERWATER 317
+#define STRINGID_PKMNSPRANGUP 318
+#define STRINGID_HMMOVESCANTBEFORGOTTEN 319
+#define STRINGID_XFOUNDONEY 320
+#define STRINGID_PLAYERDEFEATEDTRAINER1 321
+#define STRINGID_SOOTHINGAROMA 322
+#define STRINGID_ITEMSCANTBEUSEDNOW 323
+#define STRINGID_FORXCOMMAYZ 324
+#define STRINGID_USINGXTHEYOFZN 325
+#define STRINGID_PKMNUSEDXTOGETPUMPED 326
+#define STRINGID_PKMNSXMADEYUSELESS 327
+#define STRINGID_PKMNTRAPPEDBYSANDTOMB 328
+#define STRINGID_EMPTYSTRING4 329
+#define STRINGID_ABOOSTED 330
+#define STRINGID_PKMNSXINTENSIFIEDSUN 331
+#define STRINGID_PKMNMAKESGROUNDMISS 332
+#define STRINGID_YOUTHROWABALLNOWRIGHT 333
+#define STRINGID_PKMNSXTOOKATTACK 334
+#define STRINGID_PKMNCHOSEXASDESTINY 335
+#define STRINGID_PKMNLOSTFOCUS 336
+#define STRINGID_USENEXTPKMN 337
+#define STRINGID_PKMNFLEDUSINGITS 338
+#define STRINGID_PKMNFLEDUSING 339
+#define STRINGID_PKMNWASDRAGGEDOUT 340
+#define STRINGID_PREVENTEDFROMWORKING 341
+#define STRINGID_PKMNSITEMNORMALIZEDSTATUS 342
+#define STRINGID_TRAINER1USEDITEM 343
+#define STRINGID_BOXISFULL 344
+#define STRINGID_PKMNAVOIDEDATTACK 345
+#define STRINGID_PKMNSXMADEITINEFFECTIVE 346
+#define STRINGID_PKMNSXPREVENTSFLINCHING 347
+#define STRINGID_PKMNALREADYHASBURN 348
+#define STRINGID_STATSWONTDECREASE2 349
+#define STRINGID_PKMNSXBLOCKSY2 350
+#define STRINGID_PKMNSXWOREOFF 351
+#define STRINGID_PKMNRAISEDDEFALITTLE 352
+#define STRINGID_PKMNRAISEDSPDEFALITTLE 353
+#define STRINGID_THEWALLSHATTERED 354
+#define STRINGID_PKMNSXPREVENTSYSZ 355
+#define STRINGID_PKMNSXCUREDITSYPROBLEM 356
+#define STRINGID_ATTACKERCANTESCAPE 357
+#define STRINGID_PKMNOBTAINEDX 358
+#define STRINGID_PKMNOBTAINEDX2 359
+#define STRINGID_PKMNOBTAINEDXYOBTAINEDZ 360
+#define STRINGID_BUTNOEFFECT 361
+#define STRINGID_PKMNSXHADNOEFFECTONY 362
+#define STRINGID_TWOENEMIESDEFEATED 363
+#define STRINGID_TRAINER2LOSETEXT 364
+#define STRINGID_PKMNINCAPABLEOFPOWER 365
+#define STRINGID_GLINTAPPEARSINEYE 366
+#define STRINGID_PKMNGETTINGINTOPOSITION 367
+#define STRINGID_PKMNBEGANGROWLINGDEEPLY 368
+#define STRINGID_PKMNEAGERFORMORE 369
+#define STRINGID_DEFEATEDOPPONENTBYREFEREE 370
+#define STRINGID_LOSTTOOPPONENTBYREFEREE 371
+#define STRINGID_TIEDOPPONENTBYREFEREE 372
+#define STRINGID_QUESTIONFORFEITMATCH 373
+#define STRINGID_FORFEITEDMATCH 374
+#define STRINGID_PKMNTRANSFERREDSOMEONESPC 375
+#define STRINGID_PKMNTRANSFERREDLANETTESPC 376
+#define STRINGID_PKMNBOXSOMEONESPCFULL 377
+#define STRINGID_PKMNBOXLANETTESPCFULL 378
+#define STRINGID_TRAINER1WINTEXT 379
+#define STRINGID_TRAINER2WINTEXT 380
+
+#endif // GUARD_BATTLE_STRING_IDS_H
diff --git a/include/global.h b/include/global.h
index e0c09d29a..e98b01ee2 100644
--- a/include/global.h
+++ b/include/global.h
@@ -225,24 +225,25 @@ extern struct SaveBlock2 *gSaveBlock2Ptr;
struct SecretBaseRecord
{
- /*ID?*/ /*0x1A08*/ u8 sbr_field_0;
- /*0x1A09*/ u8 sbr_field_1_0:4;
- /*0x1A09*/ u8 gender:1;
- /*0x1A09*/ u8 sbr_field_1_5:1;
- /*0x1A09*/ u8 sbr_field_1_6:2;
- /*0x1A0A*/ u8 sbr_field_2[7]; // 0xFF bytes?
- /*0x1A12*/ u8 trainerId[4]; // byte 0 is used for determining trainer class
- /*0x1A16*/ u16 sbr_field_e;
- /*0x1A18*/ u8 sbr_field_10;
- /*0x1A19*/ u8 sbr_field_11;
- /*0x1A1A*/ u8 decorations[16];
- /*0x1A2A*/ u8 decorationPos[16];
- /*0x1A3A*/ u32 partyPersonality[6];
- /*0x1A54*/ u16 partyMoves[6 * 4];
- /*0x1A84*/ u16 partySpecies[6];
- /*0x1A90*/ u16 partyHeldItems[6];
- /*0x1A9C*/ u8 partyLevels[6];
- /*0x1AA2*/ u8 partyEVs[6];
+ u8 sbr_field_0;
+ u8 sbr_field_1_0:4;
+ u8 gender:1;
+ u8 sbr_field_1_5:1;
+ u8 sbr_field_1_6:2;
+ u8 trainerName[7];
+ u8 trainerId[4]; // byte 0 is used for determining trainer class
+ u8 language;
+ u16 sbr_field_e;
+ u8 sbr_field_10;
+ u8 sbr_field_11;
+ u8 decorations[16];
+ u8 decorationPos[16];
+ u32 partyPersonality[6];
+ u16 partyMoves[6 * 4];
+ u16 partySpecies[6];
+ u16 partyHeldItems[6];
+ u8 partyLevels[6];
+ u8 partyEVs[6];
};
#include "game_stat.h"
diff --git a/include/text.h b/include/text.h
index 217de0687..c09b41ad3 100644
--- a/include/text.h
+++ b/include/text.h
@@ -103,7 +103,7 @@ struct TextPrinterSubStruct
struct TextSubPrinter // TODO: Better name
{
- u8* current_text_offset;
+ const u8* current_text_offset;
u8 windowId;
u8 fontId;
u8 x;
diff --git a/ld_script.txt b/ld_script.txt
index 82588be3a..3e47864f1 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -123,7 +123,6 @@ SECTIONS {
asm/battle_setup.o(.text);
asm/cable_club.o(.text);
asm/trainer_see.o(.text);
- asm/fldeff_emotion.o(.text);
asm/wild_encounter.o(.text);
asm/field_effect.o(.text);
asm/unknown_task.o(.text);
@@ -190,7 +189,7 @@ SECTIONS {
asm/fldeff_strength.o(.text);
asm/battle_transition.o(.text);
asm/battle_controller_linkpartner.o(.text);
- asm/battle_message.o(.text);
+ src/battle_message.o(.text);
asm/cable_car.o(.text);
asm/math_util.o(.text);
asm/roulette_util.o(.text);
@@ -324,6 +323,8 @@ SECTIONS {
src/string_util.o(.rodata);
data/link.o(.rodata);
src/rtc.o(.rodata);
+ data/main_menu.o(.rodata);
+ data/battle_1.o(.rodata);
data/data2b.o(.rodata);
src/battle_2.o(.rodata);
src/battle_util.o(.rodata);
@@ -367,7 +368,6 @@ SECTIONS {
data/battle_setup.o(.rodata);
data/cable_club.o(.rodata);
data/trainer_see.o(.rodata);
- data/fldeff_emotion.o(.rodata);
data/wild_encounter.o(.rodata);
data/field_effect.o(.rodata);
data/option_menu.o(.rodata);
@@ -411,7 +411,7 @@ SECTIONS {
src/battle_ai_script_commands.o(.rodata);
data/data4.o(.rodata);
data/battle_controller_link_partner.o(.rodata);
- data/battle_message.o(.rodata);
+ src/battle_message.o(.rodata);
data/cable_car.o(.rodata);
data/save.o(.rodata);
data/field_effect_helpers.o(.rodata);
diff --git a/src/battle_2.c b/src/battle_2.c
index fd7cf6863..92c48c427 100644
--- a/src/battle_2.c
+++ b/src/battle_2.c
@@ -41,6 +41,7 @@
#include "evolution_scene.h"
#include "roamer.h"
#include "safari_zone.h"
+#include "battle_string_ids.h"
struct UnknownStruct6
{
@@ -245,7 +246,7 @@ static void sub_8038F34(void);
static void sub_80392A8(void);
static void sub_803937C(void);
static void sub_803939C(void);
-static void oac_poke_opponent(struct Sprite *sprite);
+void oac_poke_opponent(struct Sprite *sprite);
static void sub_803980C(struct Sprite *sprite);
static void sub_8039838(struct Sprite *sprite);
static void sub_8039894(struct Sprite *sprite);
@@ -343,7 +344,7 @@ const u8 gStatusConditionString_IceJpn[8] = _("こおり$$$$");
const u8 gStatusConditionString_ConfusionJpn[8] = _("こんらん$$$");
const u8 gStatusConditionString_LoveJpn[8] = _("メロメロ$$$");
-const u8 * const gStatusConditionStringsTable[][2] =
+const u8 * const gStatusConditionStringsTable[7][2] =
{
{gStatusConditionString_PoisonJpn, gText_Poison},
{gStatusConditionString_SleepJpn, gText_Sleep},
@@ -1650,7 +1651,7 @@ void CB2_QuitRecordedBattle(void)
}
}
-static void sub_8038528(struct Sprite* sprite)
+void sub_8038528(struct Sprite* sprite)
{
sprite->data0 = 0;
sprite->callback = sub_8038538;
@@ -2417,7 +2418,7 @@ u32 sub_80397C4(u32 setId, u32 tableId)
#define tBank data0
#define tSpeciesId data2
-static void oac_poke_opponent(struct Sprite *sprite)
+void oac_poke_opponent(struct Sprite *sprite)
{
sprite->callback = sub_803980C;
StartSpriteAnimIfDifferent(sprite, 0);
@@ -3299,7 +3300,7 @@ static void BattleIntroPrintTrainerWantsToBattle(void)
if (gBattleExecBuffer == 0)
{
gActiveBank = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
- PrepareStringBattle(0, gActiveBank);
+ PrepareStringBattle(STRINGID_INTROMSG, gActiveBank);
gBattleMainFunc = BattleIntroPrintOpponentSendsOut;
}
}
@@ -3309,7 +3310,7 @@ static void BattleIntroPrintWildMonAttacked(void)
if (gBattleExecBuffer == 0)
{
gBattleMainFunc = BattleIntroPrintPlayerSendsOut;
- PrepareStringBattle(0, 0);
+ PrepareStringBattle(STRINGID_INTROMSG, 0);
}
}
@@ -3332,7 +3333,7 @@ static void BattleIntroPrintOpponentSendsOut(void)
else
identity = IDENTITY_OPPONENT_MON1;
- PrepareStringBattle(1, GetBankByIdentity(identity));
+ PrepareStringBattle(STRINGID_INTROSENDOUT, GetBankByIdentity(identity));
gBattleMainFunc = BattleIntroOpponent1SendsOutMonAnimation;
}
@@ -3535,7 +3536,7 @@ static void BattleIntroPrintPlayerSendsOut(void)
identity = IDENTITY_PLAYER_MON1;
if (!(gBattleTypeFlags & BATTLE_TYPE_SAFARI))
- PrepareStringBattle(1, GetBankByIdentity(identity));
+ PrepareStringBattle(STRINGID_INTROSENDOUT, GetBankByIdentity(identity));
gBattleMainFunc = BattleIntroPlayer1SendsOutMonAnimation;
}
@@ -4006,8 +4007,8 @@ static void HandleTurnActionSelectionState(void)
for (i = 0; i < 4; i++)
{
moveInfo.moves[i] = gBattleMons[gActiveBank].moves[i];
- moveInfo.ppNumbers[i] = gBattleMons[gActiveBank].pp[i];
- moveInfo.ppWithBonusNumbers[i] = CalculatePPWithBonus(
+ moveInfo.currentPp[i] = gBattleMons[gActiveBank].pp[i];
+ moveInfo.maxPp[i] = CalculatePPWithBonus(
gBattleMons[gActiveBank].moves[i],
gBattleMons[gActiveBank].ppBonuses,
i);
diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c
index 92126e40c..bba66983b 100644
--- a/src/battle_ai_script_commands.c
+++ b/src/battle_ai_script_commands.c
@@ -7,11 +7,13 @@
#include "rng.h"
#include "item.h"
#include "battle_move_effects.h"
+#include "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) (u8*) AIScriptRead32(ptr)
+#define AIScriptReadPtr(ptr) (const u8*) AIScriptRead32(ptr)
#define AI_ACTION_DONE 0x0001
#define AI_ACTION_FLEE 0x0002
@@ -52,16 +54,16 @@ AI scripts.
extern u32 gBattleTypeFlags;
extern u8 gActiveBank;
-extern struct BattlePokemon gBattleMons[4];
+extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT];
extern u16 gCurrentMove;
extern u8 gBankTarget;
extern u8 gAbsentBankFlags;
-extern u16 gLastUsedMovesByBanks[4];
+extern u16 gLastUsedMovesByBanks[BATTLE_BANKS_COUNT];
extern u16 gTrainerBattleOpponent_A;
extern u16 gTrainerBattleOpponent_B;
-extern u32 gStatuses3[4];
+extern u32 gStatuses3[BATTLE_BANKS_COUNT];
extern u16 gSideAffecting[2];
-extern u16 gBattlePartyID[4];
+extern u16 gBattlePartyID[BATTLE_BANKS_COUNT];
extern u16 gDynamicBasePower;
extern u8 gBattleMoveFlags;
extern s32 gBattleMoveDamage;
@@ -70,13 +72,8 @@ extern u16 gBattleWeather;
extern const struct BattleMove gBattleMoves[];
extern const struct BaseStats gBaseStats[];
-extern const u32 gBitTable[];
-extern u8 * const gBattleAI_ScriptsTable[];
+extern const u8 * const gBattleAI_ScriptsTable[];
-extern u8 GetWhoStrikesFirst(u8, u8, u8);
-extern void AI_CalcDmg(u8, u8);
-
-extern u8 CheckMoveLimitations();
extern u32 GetAiScriptsInRecordedBattle();
extern u32 GetAiScriptsInBattleFactory();
@@ -116,8 +113,8 @@ static void BattleAICmd_if_move(void);
static void BattleAICmd_if_not_move(void);
static void BattleAICmd_if_in_bytes(void);
static void BattleAICmd_if_not_in_bytes(void);
-static void BattleAICmd_if_in_words(void);
-static void BattleAICmd_if_not_in_words(void);
+static void BattleAICmd_if_in_hwords(void);
+static void BattleAICmd_if_not_in_hwords(void);
static void BattleAICmd_if_user_can_damage(void);
static void BattleAICmd_if_user_cant_damage(void);
static void BattleAICmd_get_turn_count(void);
@@ -227,8 +224,8 @@ static const BattleAICmdFunc sBattleAICmdTable[] =
BattleAICmd_if_not_move, // 0x1A
BattleAICmd_if_in_bytes, // 0x1B
BattleAICmd_if_not_in_bytes, // 0x1C
- BattleAICmd_if_in_words, // 0x1D
- BattleAICmd_if_not_in_words, // 0x1E
+ BattleAICmd_if_in_hwords, // 0x1D
+ BattleAICmd_if_not_in_hwords, // 0x1E
BattleAICmd_if_user_can_damage, // 0x1F
BattleAICmd_if_user_cant_damage, // 0x20
BattleAICmd_get_turn_count, // 0x21
@@ -472,13 +469,11 @@ static u8 BattleAI_ChooseMoveOrAction_Singles(void)
return consideredMoveArray[Random() % numOfBestMoves];
}
-#ifdef NONMATCHING
static u8 BattleAI_ChooseMoveOrAction_Doubles(void)
{
s32 i;
s32 j;
s32 scriptsToRun;
- s16 mostMovePoints;
s16 bestMovePointsForTarget[4];
s8 mostViableTargetsArray[4];
u8 actionOrMoveIndex[4];
@@ -486,27 +481,27 @@ static u8 BattleAI_ChooseMoveOrAction_Doubles(void)
u8 mostViableMovesIndices[4];
s32 mostViableTargetsNo;
s32 mostViableMovesNo;
+ s16 mostMovePoints;
- for (i = 0; i < 4; i++) //08130D14
+ for (i = 0; i < 4; i++)
{
if (i == sBank_AI || gBattleMons[i].hp == 0)
{
- //_08130D2E
actionOrMoveIndex[i] = -1;
bestMovePointsForTarget[i] = -1;
}
- //_08130D48
else
{
if (gBattleTypeFlags & BATTLE_TYPE_PALACE)
BattleAI_SetupAIData(gBattleStruct->field_92 >> 4);
else
BattleAI_SetupAIData(0xF);
- //_08130D76
+
gBankTarget = i;
- if ((i & 1) != (sBank_AI & 1))
+
+ if ((i & BIT_SIDE) != (sBank_AI & BIT_SIDE))
RecordLastUsedMoveByTarget();
- //_08130D90
+
AI_THINKING_STRUCT->aiLogicId = 0;
AI_THINKING_STRUCT->movesetIndex = 0;
scriptsToRun = AI_THINKING_STRUCT->aiFlags;
@@ -521,14 +516,12 @@ static u8 BattleAI_ChooseMoveOrAction_Doubles(void)
AI_THINKING_STRUCT->aiLogicId++;
AI_THINKING_STRUCT->movesetIndex = 0;
}
- //_08130DD8
if (AI_THINKING_STRUCT->aiAction & AI_ACTION_FLEE)
actionOrMoveIndex[i] = 4;
else if (AI_THINKING_STRUCT->aiAction & AI_ACTION_WATCH)
actionOrMoveIndex[i] = 5;
else
{
- //_08130E10
mostViableMovesScores[0] = AI_THINKING_STRUCT->score[0];
mostViableMovesIndices[0] = 0;
mostViableMovesNo = 1;
@@ -555,17 +548,20 @@ static u8 BattleAI_ChooseMoveOrAction_Doubles(void)
bestMovePointsForTarget[i] = mostViableMovesScores[0];
// don't use a move against ally if it has less than 100 pts
- if (i == (sBank_AI ^ 2) && bestMovePointsForTarget[i] < 100)
+ if (i == (sBank_AI ^ BIT_MON) && bestMovePointsForTarget[i] < 100)
+ {
bestMovePointsForTarget[i] = -1;
+ mostViableMovesScores[0] = mostViableMovesScores[0]; // needed to match
+ }
+
}
}
- //_08130EAE
}
- //08130EC4
mostMovePoints = bestMovePointsForTarget[0];
mostViableTargetsArray[0] = 0;
mostViableTargetsNo = 1;
+
for (i = 1; i < 4; i++)
{
//_08130EDA
@@ -582,305 +578,10 @@ static u8 BattleAI_ChooseMoveOrAction_Doubles(void)
mostViableTargetsNo = 1;
}
}
+
gBankTarget = mostViableTargetsArray[Random() % mostViableTargetsNo];
return actionOrMoveIndex[gBankTarget];
}
-#else
-__attribute__((naked))
-static u8 BattleAI_ChooseMoveOrAction_Doubles(void)
-{
- asm(".syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- sub sp, 0x24\n\
- movs r0, 0\n\
- mov r8, r0\n\
- mov r1, sp\n\
- adds r1, 0xC\n\
- str r1, [sp, 0x1C]\n\
- mov r2, sp\n\
- adds r2, 0x8\n\
- str r2, [sp, 0x18]\n\
- str r1, [sp, 0x20]\n\
- mov r10, sp\n\
-_08130D14:\n\
- ldr r0, =sBank_AI\n\
- ldrb r0, [r0]\n\
- cmp r8, r0\n\
- beq _08130D2E\n\
- movs r0, 0x58\n\
- mov r7, r8\n\
- muls r7, r0\n\
- adds r0, r7, 0\n\
- ldr r1, =gBattleMons\n\
- adds r0, r1\n\
- ldrh r0, [r0, 0x28]\n\
- cmp r0, 0\n\
- bne _08130D48\n\
-_08130D2E:\n\
- movs r0, 0xFF\n\
- ldr r2, [sp, 0x20]\n\
- strb r0, [r2]\n\
- ldr r0, =0x0000ffff\n\
- mov r7, r10\n\
- strh r0, [r7]\n\
- b _08130EAE\n\
- .pool\n\
-_08130D48:\n\
- ldr r0, =gBattleTypeFlags\n\
- ldr r0, [r0]\n\
- movs r1, 0x80\n\
- lsls r1, 10\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08130D70\n\
- ldr r0, =gBattleStruct\n\
- ldr r0, [r0]\n\
- adds r0, 0x92\n\
- ldrb r0, [r0]\n\
- lsrs r0, 4\n\
- bl BattleAI_SetupAIData\n\
- b _08130D76\n\
- .pool\n\
-_08130D70:\n\
- movs r0, 0xF\n\
- bl BattleAI_SetupAIData\n\
-_08130D76:\n\
- ldr r0, =gBankTarget\n\
- mov r1, r8\n\
- strb r1, [r0]\n\
- movs r1, 0x1\n\
- mov r2, r8\n\
- ands r2, r1\n\
- ldr r0, =sBank_AI\n\
- ldrb r0, [r0]\n\
- ands r1, r0\n\
- cmp r2, r1\n\
- beq _08130D90\n\
- bl RecordLastUsedMoveByTarget\n\
-_08130D90:\n\
- ldr r2, =gBattleResources\n\
- ldr r0, [r2]\n\
- ldr r0, [r0, 0x14]\n\
- movs r1, 0\n\
- strb r1, [r0, 0x11]\n\
- ldr r0, [r2]\n\
- ldr r0, [r0, 0x14]\n\
- strb r1, [r0, 0x1]\n\
- ldr r0, [r2]\n\
- ldr r0, [r0, 0x14]\n\
- ldr r4, [r0, 0xC]\n\
- mov r9, r2\n\
- cmp r4, 0\n\
- beq _08130DD8\n\
- mov r5, r9\n\
- movs r6, 0\n\
-_08130DB0:\n\
- movs r0, 0x1\n\
- ands r0, r4\n\
- cmp r0, 0\n\
- beq _08130DC2\n\
- ldr r0, [r5]\n\
- ldr r0, [r0, 0x14]\n\
- strb r6, [r0]\n\
- bl BattleAI_DoAIProcessing\n\
-_08130DC2:\n\
- asrs r4, 1\n\
- ldr r0, [r5]\n\
- ldr r1, [r0, 0x14]\n\
- ldrb r0, [r1, 0x11]\n\
- adds r0, 0x1\n\
- strb r0, [r1, 0x11]\n\
- ldr r0, [r5]\n\
- ldr r0, [r0, 0x14]\n\
- strb r6, [r0, 0x1]\n\
- cmp r4, 0\n\
- bne _08130DB0\n\
-_08130DD8:\n\
- mov r2, r9\n\
- ldr r0, [r2]\n\
- ldr r3, [r0, 0x14]\n\
- ldrb r1, [r3, 0x10]\n\
- movs r0, 0x2\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08130DFC\n\
- movs r0, 0x4\n\
- ldr r7, [sp, 0x20]\n\
- strb r0, [r7]\n\
- b _08130EAE\n\
- .pool\n\
-_08130DFC:\n\
- movs r0, 0x4\n\
- ands r0, r1\n\
- lsls r0, 24\n\
- lsrs r2, r0, 24\n\
- cmp r2, 0\n\
- beq _08130E10\n\
- movs r0, 0x5\n\
- ldr r1, [sp, 0x20]\n\
- strb r0, [r1]\n\
- b _08130EAE\n\
-_08130E10:\n\
- add r1, sp, 0x10\n\
- ldrb r0, [r3, 0x4]\n\
- strb r0, [r1]\n\
- add r0, sp, 0x14\n\
- strb r2, [r0]\n\
- movs r5, 0x1\n\
- movs r3, 0x1\n\
- adds r6, r1, 0\n\
- ldr r0, =sBank_AI\n\
- ldrb r1, [r0]\n\
- movs r0, 0x58\n\
- muls r0, r1\n\
- ldr r2, =gBattleMons + 0xC\n\
- adds r0, r2\n\
- adds r4, r0, 0x2\n\
- add r7, sp, 0x14\n\
-_08130E30:\n\
- ldrh r0, [r4]\n\
- cmp r0, 0\n\
- beq _08130E72\n\
- ldrb r1, [r6]\n\
- mov r2, r9\n\
- ldr r0, [r2]\n\
- ldr r0, [r0, 0x14]\n\
- adds r0, 0x4\n\
- adds r2, r0, r3\n\
- movs r0, 0\n\
- ldrsb r0, [r2, r0]\n\
- cmp r1, r0\n\
- bne _08130E56\n\
- adds r0, r6, r5\n\
- ldrb r1, [r2]\n\
- strb r1, [r0]\n\
- adds r0, r7, r5\n\
- strb r3, [r0]\n\
- adds r5, 0x1\n\
-_08130E56:\n\
- ldrb r1, [r6]\n\
- mov r2, r9\n\
- ldr r0, [r2]\n\
- ldr r0, [r0, 0x14]\n\
- adds r0, 0x4\n\
- adds r2, r0, r3\n\
- movs r0, 0\n\
- ldrsb r0, [r2, r0]\n\
- cmp r1, r0\n\
- bge _08130E72\n\
- ldrb r0, [r2]\n\
- strb r0, [r6]\n\
- strb r3, [r7]\n\
- movs r5, 0x1\n\
-_08130E72:\n\
- adds r4, 0x2\n\
- adds r3, 0x1\n\
- cmp r3, 0x3\n\
- ble _08130E30\n\
- bl Random\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- adds r1, r5, 0\n\
- bl __modsi3\n\
- add r0, sp\n\
- adds r0, 0x14\n\
- ldrb r0, [r0]\n\
- ldr r7, [sp, 0x20]\n\
- strb r0, [r7]\n\
- ldrb r2, [r6]\n\
- mov r0, r10\n\
- strh r2, [r0]\n\
- ldr r0, =sBank_AI\n\
- ldrb r1, [r0]\n\
- movs r0, 0x2\n\
- eors r0, r1\n\
- cmp r8, r0\n\
- bne _08130EAE\n\
- cmp r2, 0x63\n\
- bgt _08130EAE\n\
- ldr r0, =0x0000ffff\n\
- mov r1, r10\n\
- strh r0, [r1]\n\
-_08130EAE:\n\
- ldr r2, [sp, 0x20]\n\
- adds r2, 0x1\n\
- str r2, [sp, 0x20]\n\
- movs r7, 0x2\n\
- add r10, r7\n\
- movs r0, 0x1\n\
- add r8, r0\n\
- mov r1, r8\n\
- cmp r1, 0x3\n\
- bgt _08130EC4\n\
- b _08130D14\n\
-_08130EC4:\n\
- mov r0, sp\n\
- ldrh r5, [r0]\n\
- movs r0, 0\n\
- ldr r2, [sp, 0x18]\n\
- strb r0, [r2]\n\
- movs r4, 0x1\n\
- mov r8, r4\n\
- ldr r6, =gBankTarget\n\
- ldr r3, [sp, 0x18]\n\
- mov r1, sp\n\
- adds r1, 0x2\n\
-_08130EDA:\n\
- lsls r0, r5, 16\n\
- asrs r2, r0, 16\n\
- movs r7, 0\n\
- ldrsh r0, [r1, r7]\n\
- cmp r2, r0\n\
- bne _08130EEE\n\
- adds r0, r3, r4\n\
- mov r7, r8\n\
- strb r7, [r0]\n\
- adds r4, 0x1\n\
-_08130EEE:\n\
- movs r7, 0\n\
- ldrsh r0, [r1, r7]\n\
- cmp r2, r0\n\
- bge _08130EFE\n\
- ldrh r5, [r1]\n\
- mov r0, r8\n\
- strb r0, [r3]\n\
- movs r4, 0x1\n\
-_08130EFE:\n\
- adds r1, 0x2\n\
- movs r2, 0x1\n\
- add r8, r2\n\
- mov r7, r8\n\
- cmp r7, 0x3\n\
- ble _08130EDA\n\
- bl Random\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- adds r1, r4, 0\n\
- bl __modsi3\n\
- ldr r1, [sp, 0x18]\n\
- adds r0, r1, r0\n\
- ldrb r0, [r0]\n\
- strb r0, [r6]\n\
- ldrb r0, [r6]\n\
- ldr r2, [sp, 0x1C]\n\
- adds r0, r2, r0\n\
- ldrb r0, [r0]\n\
- add sp, 0x24\n\
- pop {r3-r5}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- mov r10, r5\n\
- pop {r4-r7}\n\
- pop {r1}\n\
- bx r1\n\
- .pool\n\
- .syntax divided\n");
-}
-#endif
static void BattleAI_DoAIProcessing(void)
{
@@ -888,7 +589,7 @@ static void BattleAI_DoAIProcessing(void)
{
switch (AI_THINKING_STRUCT->aiState)
{
- case AIState_DoNotProcess: //Needed to match.
+ case AIState_DoNotProcess: // Needed to match.
break;
case AIState_SettingUp:
gAIScriptPtr = gBattleAI_ScriptsTable[AI_THINKING_STRUCT->aiLogicId]; // set AI ptr to logic ID.
@@ -904,7 +605,7 @@ static void BattleAI_DoAIProcessing(void)
break;
case AIState_Processing:
if (AI_THINKING_STRUCT->moveConsidered != 0)
- sBattleAICmdTable[*gAIScriptPtr](); // run AI command.
+ sBattleAICmdTable[*gAIScriptPtr](); // Run AI command.
else
{
AI_THINKING_STRUCT->score[AI_THINKING_STRUCT->movesetIndex] = 0;
@@ -934,7 +635,7 @@ static void RecordLastUsedMoveByTarget(void)
{
if (gBattleResources->battleHistory->usedMoves[gBankTarget].moves[i] == gLastUsedMovesByBanks[gBankTarget])
break;
- if (gBattleResources->battleHistory->usedMoves[gBankTarget].moves[i] != gLastUsedMovesByBanks[gBankTarget] //HACK: This redundant condition is a hack to make the asm match.
+ if (gBattleResources->battleHistory->usedMoves[gBankTarget].moves[i] != gLastUsedMovesByBanks[gBankTarget] // HACK: This redundant condition is a hack to make the asm match.
&& gBattleResources->battleHistory->usedMoves[gBankTarget].moves[i] == 0)
{
gBattleResources->battleHistory->usedMoves[gBankTarget].moves[i] = gLastUsedMovesByBanks[gBankTarget];
@@ -1261,7 +962,7 @@ static void BattleAICmd_if_not_equal(void)
static void BattleAICmd_if_less_than_32(void)
{
- u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1);
+ const u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1);
if (AI_THINKING_STRUCT->funcResult < *temp)
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5);
@@ -1271,7 +972,7 @@ static void BattleAICmd_if_less_than_32(void)
static void BattleAICmd_if_more_than_32(void)
{
- u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1);
+ const u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1);
if (AI_THINKING_STRUCT->funcResult > *temp)
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5);
@@ -1281,7 +982,7 @@ static void BattleAICmd_if_more_than_32(void)
static void BattleAICmd_if_equal_32(void)
{
- u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1);
+ const u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1);
if (AI_THINKING_STRUCT->funcResult == *temp)
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5);
@@ -1291,7 +992,7 @@ static void BattleAICmd_if_equal_32(void)
static void BattleAICmd_if_not_equal_32(void)
{
- u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1);
+ const u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1);
if (AI_THINKING_STRUCT->funcResult != *temp)
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5);
@@ -1321,7 +1022,7 @@ static void BattleAICmd_if_not_move(void)
static void BattleAICmd_if_in_bytes(void)
{
- u8 *ptr = AIScriptReadPtr(gAIScriptPtr + 1);
+ const u8 *ptr = AIScriptReadPtr(gAIScriptPtr + 1);
while (*ptr != 0xFF)
{
@@ -1337,7 +1038,7 @@ static void BattleAICmd_if_in_bytes(void)
static void BattleAICmd_if_not_in_bytes(void)
{
- u8 *ptr = AIScriptReadPtr(gAIScriptPtr + 1);
+ const u8 *ptr = AIScriptReadPtr(gAIScriptPtr + 1);
while (*ptr != 0xFF)
{
@@ -1351,9 +1052,9 @@ static void BattleAICmd_if_not_in_bytes(void)
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5);
}
-static void BattleAICmd_if_in_words(void)
+static void BattleAICmd_if_in_hwords(void)
{
- u16 *ptr = (u16 *)AIScriptReadPtr(gAIScriptPtr + 1);
+ const u16 *ptr = (const u16 *)AIScriptReadPtr(gAIScriptPtr + 1);
while (*ptr != 0xFFFF)
{
@@ -1367,9 +1068,9 @@ static void BattleAICmd_if_in_words(void)
gAIScriptPtr += 9;
}
-static void BattleAICmd_if_not_in_words(void)
+static void BattleAICmd_if_not_in_hwords(void)
{
- u16 *ptr = (u16 *)AIScriptReadPtr(gAIScriptPtr + 1);
+ const u16 *ptr = (u16 *)AIScriptReadPtr(gAIScriptPtr + 1);
while (*ptr != 0xFFFF)
{
@@ -1456,9 +1157,9 @@ static u8 BattleAI_GetWantedBank(u8 index)
default:
return gBankTarget;
case AI_USER_PARTNER:
- return sBank_AI ^ 2;
+ return sBank_AI ^ BIT_MON;
case AI_TARGET_PARTNER:
- return gBankTarget ^ 2;
+ return gBankTarget ^ BIT_MON;
}
}
@@ -1484,248 +1185,68 @@ static void BattleAICmd_get_last_used_bank_move_power(void)
gAIScriptPtr += 1;
}
-__attribute__((naked)) // not even going to try. if it doesnt match in ruby, it wont match in emerald (yet).
static void BattleAICmd_is_most_powerful_move(void)
{
- asm(".syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- sub sp, 0x14\n\
- movs r3, 0\n\
- ldr r0, =sDiscouragedPowerfulMoveEffects\n\
- ldrh r1, [r0]\n\
- ldr r5, =0x0000ffff\n\
- ldr r6, =gBattleMoves\n\
- ldr r2, =gBattleResources\n\
- cmp r1, r5\n\
- beq _08131F86\n\
- ldr r0, [r2]\n\
- ldr r0, [r0, 0x14]\n\
- ldrh r1, [r0, 0x2]\n\
- lsls r0, r1, 1\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- adds r0, r6\n\
- ldrb r4, [r0]\n\
- ldr r1, =sDiscouragedPowerfulMoveEffects\n\
-_08131F76:\n\
- ldrh r0, [r1]\n\
- cmp r4, r0\n\
- beq _08131F86\n\
- adds r1, 0x2\n\
- adds r3, 0x1\n\
- ldrh r0, [r1]\n\
- cmp r0, r5\n\
- bne _08131F76\n\
-_08131F86:\n\
- ldr r0, [r2]\n\
- ldr r0, [r0, 0x14]\n\
- ldrh r1, [r0, 0x2]\n\
- lsls r0, r1, 1\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- adds r0, r6\n\
- ldrb r0, [r0, 0x1]\n\
- cmp r0, 0x1\n\
- bhi _08131F9C\n\
- b _08132126\n\
-_08131F9C:\n\
- lsls r0, r3, 1\n\
- ldr r1, =sDiscouragedPowerfulMoveEffects\n\
- adds r0, r1\n\
- ldrh r3, [r0]\n\
- ldr r0, =0x0000ffff\n\
- cmp r3, r0\n\
- beq _08131FAC\n\
- b _08132126\n\
-_08131FAC:\n\
- ldr r0, =gDynamicBasePower\n\
- movs r1, 0\n\
- strh r1, [r0]\n\
- ldr r0, =gBattleStruct\n\
- ldr r0, [r0]\n\
- strb r1, [r0, 0x13]\n\
- ldr r0, =gBattleScripting\n\
- movs r2, 0x1\n\
- strb r2, [r0, 0xE]\n\
- ldr r0, =gBattleMoveFlags\n\
- strb r1, [r0]\n\
- ldr r0, =gCritMultiplier\n\
- strb r2, [r0]\n\
- movs r6, 0\n\
- mov r9, r3\n\
- ldr r2, =sDiscouragedPowerfulMoveEffects\n\
- ldrh r2, [r2]\n\
- str r2, [sp, 0x10]\n\
-_08131FD0:\n\
- movs r3, 0\n\
- ldr r5, =gBattleMons\n\
- lsls r4, r6, 1\n\
- ldr r7, =sBank_AI\n\
- lsls r0, r6, 2\n\
- mov r8, r0\n\
- adds r1, r6, 0x1\n\
- mov r10, r1\n\
- ldr r2, [sp, 0x10]\n\
- cmp r2, r9\n\
- beq _08132014\n\
- ldr r2, =gBattleMoves\n\
- ldrb r1, [r7]\n\
- movs r0, 0x58\n\
- muls r0, r1\n\
- adds r0, r4, r0\n\
- adds r1, r5, 0\n\
- adds r1, 0xC\n\
- adds r0, r1\n\
- ldrh r1, [r0]\n\
- lsls r0, r1, 1\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- adds r0, r2\n\
- ldrb r2, [r0]\n\
- ldr r1, =sDiscouragedPowerfulMoveEffects\n\
-_08132004:\n\
- ldrh r0, [r1]\n\
- cmp r2, r0\n\
- beq _08132014\n\
- adds r1, 0x2\n\
- adds r3, 0x1\n\
- ldrh r0, [r1]\n\
- cmp r0, r9\n\
- bne _08132004\n\
-_08132014:\n\
- ldrb r1, [r7]\n\
- movs r0, 0x58\n\
- muls r0, r1\n\
- adds r0, r4, r0\n\
- adds r1, r5, 0\n\
- adds r1, 0xC\n\
- adds r1, r0, r1\n\
- ldrh r0, [r1]\n\
- cmp r0, 0\n\
- beq _081320C0\n\
- lsls r0, r3, 1\n\
- ldr r2, =sDiscouragedPowerfulMoveEffects\n\
- adds r0, r2\n\
- ldrh r0, [r0]\n\
- cmp r0, r9\n\
- bne _081320C0\n\
- ldr r0, =gBattleMoves\n\
- ldrh r2, [r1]\n\
- lsls r1, r2, 1\n\
- adds r1, r2\n\
- lsls r1, 2\n\
- adds r1, r0\n\
- ldrb r0, [r1, 0x1]\n\
- cmp r0, 0x1\n\
- bls _081320C0\n\
- ldr r5, =gCurrentMove\n\
- strh r2, [r5]\n\
- ldrb r0, [r7]\n\
- ldr r4, =gBankTarget\n\
- ldrb r1, [r4]\n\
- bl AI_CalcDmg\n\
- ldrh r0, [r5]\n\
- ldrb r1, [r7]\n\
- ldrb r2, [r4]\n\
- bl TypeCalc\n\
- mov r4, sp\n\
- add r4, r8\n\
- ldr r2, =gBattleMoveDamage\n\
- ldr r0, =gBattleResources\n\
- ldr r0, [r0]\n\
- ldr r0, [r0, 0x14]\n\
- adds r0, 0x18\n\
- adds r0, r6\n\
- ldrb r1, [r0]\n\
- ldr r0, [r2]\n\
- muls r0, r1\n\
- movs r1, 0x64\n\
- bl __divsi3\n\
- str r0, [r4]\n\
- cmp r0, 0\n\
- bne _081320C8\n\
- movs r0, 0x1\n\
- str r0, [r4]\n\
- b _081320C8\n\
- .pool\n\
-_081320C0:\n\
- mov r1, sp\n\
- add r1, r8\n\
- movs r0, 0\n\
- str r0, [r1]\n\
-_081320C8:\n\
- mov r6, r10\n\
- cmp r6, 0x3\n\
- bgt _081320D0\n\
- b _08131FD0\n\
-_081320D0:\n\
- movs r6, 0\n\
- ldr r2, =gBattleResources\n\
- ldr r0, [r2]\n\
- ldr r0, [r0, 0x14]\n\
- ldrb r0, [r0, 0x1]\n\
- lsls r0, 2\n\
- add r0, sp\n\
- ldr r1, [sp]\n\
- ldr r0, [r0]\n\
- ldr r5, =gAIScriptPtr\n\
- cmp r1, r0\n\
- bgt _08132106\n\
- adds r4, r2, 0\n\
- mov r3, sp\n\
-_081320EC:\n\
- adds r3, 0x4\n\
- adds r6, 0x1\n\
- cmp r6, 0x3\n\
- bgt _08132106\n\
- ldr r0, [r4]\n\
- ldr r0, [r0, 0x14]\n\
- ldrb r0, [r0, 0x1]\n\
- lsls r0, 2\n\
- add r0, sp\n\
- ldr r1, [r3]\n\
- ldr r0, [r0]\n\
- cmp r1, r0\n\
- ble _081320EC\n\
-_08132106:\n\
- cmp r6, 0x4\n\
- bne _0813211C\n\
- ldr r0, [r2]\n\
- ldr r1, [r0, 0x14]\n\
- movs r0, 0x2\n\
- str r0, [r1, 0x8]\n\
- b _08132130\n\
- .pool\n\
-_0813211C:\n\
- ldr r0, [r2]\n\
- ldr r1, [r0, 0x14]\n\
- movs r0, 0x1\n\
- str r0, [r1, 0x8]\n\
- b _08132130\n\
-_08132126:\n\
- ldr r0, [r2]\n\
- ldr r1, [r0, 0x14]\n\
- movs r0, 0\n\
- str r0, [r1, 0x8]\n\
- ldr r5, =gAIScriptPtr\n\
-_08132130:\n\
- ldr r0, [r5]\n\
- adds r0, 0x1\n\
- str r0, [r5]\n\
- add sp, 0x14\n\
- pop {r3-r5}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- mov r10, r5\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .pool\n\
- .syntax divided");
+ s32 i, checkedMove;
+ s32 moveDmgs[4];
+
+ for (i = 0; sDiscouragedPowerfulMoveEffects[i] != 0xFFFF; i++)
+ {
+ if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].effect == sDiscouragedPowerfulMoveEffects[i])
+ break;
+ }
+
+ if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].power > 1
+ && sDiscouragedPowerfulMoveEffects[i] == 0xFFFF)
+ {
+ gDynamicBasePower = 0;
+ *(&gBattleStruct->dynamicMoveType) = 0;
+ gBattleScripting.dmgMultiplier = 1;
+ gBattleMoveFlags = 0;
+ gCritMultiplier = 1;
+
+ for (checkedMove = 0; checkedMove < 4; checkedMove++)
+ {
+ for (i = 0; sDiscouragedPowerfulMoveEffects[i] != 0xFFFF; i++)
+ {
+ if (gBattleMoves[gBattleMons[sBank_AI].moves[checkedMove]].effect == sDiscouragedPowerfulMoveEffects[i])
+ break;
+ }
+
+ if (gBattleMons[sBank_AI].moves[checkedMove] != MOVE_NONE
+ && sDiscouragedPowerfulMoveEffects[i] == 0xFFFF
+ && gBattleMoves[gBattleMons[sBank_AI].moves[checkedMove]].power > 1)
+ {
+ gCurrentMove = gBattleMons[sBank_AI].moves[checkedMove];
+ AI_CalcDmg(sBank_AI, gBankTarget);
+ TypeCalc(gCurrentMove, sBank_AI, gBankTarget);
+ moveDmgs[checkedMove] = gBattleMoveDamage * AI_THINKING_STRUCT->simulatedRNG[checkedMove] / 100;
+ if (moveDmgs[checkedMove] == 0)
+ moveDmgs[checkedMove] = 1;
+ }
+ else
+ {
+ moveDmgs[checkedMove] = 0;
+ }
+ }
+
+ for (checkedMove = 0; checkedMove < 4; checkedMove++)
+ {
+ if (moveDmgs[checkedMove] > moveDmgs[AI_THINKING_STRUCT->movesetIndex])
+ break;
+ }
+
+ if (checkedMove == 4)
+ AI_THINKING_STRUCT->funcResult = 2; // is the most powerful
+ else
+ AI_THINKING_STRUCT->funcResult = 1; // not most powerful
+ }
+ else
+ {
+ AI_THINKING_STRUCT->funcResult = 0; // highly discouraged in terms of power
+ }
+
+ gAIScriptPtr++;
}
static void BattleAICmd_get_last_used_bank_move(void)
@@ -1756,7 +1277,7 @@ static void BattleAICmd_if_arg_not_equal(void)
static void BattleAICmd_if_would_go_first(void)
{
- if (GetWhoStrikesFirst(sBank_AI, gBankTarget, 1) == gAIScriptPtr[1])
+ if (GetWhoStrikesFirst(sBank_AI, gBankTarget, TRUE) == gAIScriptPtr[1])
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
@@ -1764,7 +1285,7 @@ static void BattleAICmd_if_would_go_first(void)
static void BattleAICmd_if_would_not_go_first(void)
{
- if (GetWhoStrikesFirst(sBank_AI, gBankTarget, 1) != gAIScriptPtr[1])
+ if (GetWhoStrikesFirst(sBank_AI, gBankTarget, TRUE) != gAIScriptPtr[1])
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
@@ -1792,7 +1313,7 @@ static void BattleAICmd_count_alive_pokemon(void)
else
index = gBankTarget;
- if (GetBankSide(index) == 0)
+ if (GetBankSide(index) == SIDE_PLAYER)
party = gPlayerParty;
else
party = gEnemyParty;
@@ -1896,11 +1417,10 @@ static void BattleAICmd_get_ability(void)
gAIScriptPtr += 2;
}
-#ifdef NONMATCHING
static void BattleAICmd_check_ability(void)
{
- u8 bank = BattleAI_GetWantedBank(gAIScriptPtr[1]);
- u8 ability = gAIScriptPtr[2];
+ u32 bank = BattleAI_GetWantedBank(gAIScriptPtr[1]);
+ u32 ability = gAIScriptPtr[2];
if (gAIScriptPtr[1] == AI_TARGET || gAIScriptPtr[1] == AI_TARGET_PARTNER)
{
@@ -1920,8 +1440,9 @@ static void BattleAICmd_check_ability(void)
{
if (gBaseStats[gBattleMons[bank].species].ability2 != ABILITY_NONE)
{
- if (gBaseStats[gBattleMons[bank].species].ability1 != ability
- && gBaseStats[gBattleMons[bank].species].ability2 != ability)
+ u8 abilityDummyVariable = ability; // needed to match
+ if (gBaseStats[gBattleMons[bank].species].ability1 != abilityDummyVariable
+ && gBaseStats[gBattleMons[bank].species].ability2 != abilityDummyVariable)
{
ability = gBaseStats[gBattleMons[bank].species].ability1;
}
@@ -1957,137 +1478,6 @@ static void BattleAICmd_check_ability(void)
}
gAIScriptPtr += 3;
}
-#else
-__attribute__((naked))
-static void BattleAICmd_check_ability(void)
-{
- asm(".syntax unified\n\
- push {r4-r6,lr}\n\
- ldr r4, =gAIScriptPtr\n\
- ldr r0, [r4]\n\
- ldrb r0, [r0, 0x1]\n\
- bl BattleAI_GetWantedBank\n\
- lsls r0, 24\n\
- lsrs r5, r0, 24\n\
- ldr r0, [r4]\n\
- ldrb r3, [r0, 0x2]\n\
- ldrb r0, [r0, 0x1]\n\
- cmp r0, 0\n\
- beq _0813253A\n\
- cmp r0, 0x2\n\
- bne _081325BC\n\
-_0813253A:\n\
- ldr r0, =gBattleResources\n\
- ldr r4, [r0]\n\
- ldr r1, [r4, 0x18]\n\
- adds r1, 0x40\n\
- adds r2, r1, r5\n\
- ldrb r1, [r2]\n\
- adds r6, r0, 0\n\
- cmp r1, 0\n\
- beq _0813255C\n\
- adds r3, r1, 0\n\
- ldr r0, [r4, 0x14]\n\
- str r3, [r0, 0x8]\n\
- b _081325CA\n\
- .pool\n\
-_0813255C:\n\
- ldr r1, =gBattleMons\n\
- movs r0, 0x58\n\
- muls r0, r5\n\
- adds r4, r0, r1\n\
- adds r0, r4, 0\n\
- adds r0, 0x20\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x17\n\
- beq _08132576\n\
- cmp r0, 0x2A\n\
- beq _08132576\n\
- cmp r0, 0x47\n\
- bne _08132588\n\
-_08132576:\n\
- movs r0, 0x58\n\
- muls r0, r5\n\
- adds r0, r1\n\
- adds r0, 0x20\n\
- ldrb r3, [r0]\n\
- b _081325CA\n\
- .pool\n\
-_08132588:\n\
- ldr r2, =gBaseStats\n\
- ldrh r1, [r4]\n\
- lsls r0, r1, 3\n\
- subs r0, r1\n\
- lsls r0, 2\n\
- adds r1, r0, r2\n\
- ldrb r4, [r1, 0x16]\n\
- cmp r4, 0\n\
- beq _081325B8\n\
- ldrb r2, [r1, 0x17]\n\
- cmp r2, 0\n\
- beq _081325B4\n\
- adds r0, r3, 0\n\
- cmp r4, r0\n\
- beq _081325CE\n\
- cmp r2, r0\n\
- beq _081325CE\n\
- adds r3, r4, 0\n\
- b _081325CA\n\
- .pool\n\
-_081325B4:\n\
- ldrb r3, [r1, 0x16]\n\
- b _081325CA\n\
-_081325B8:\n\
- ldrb r3, [r1, 0x17]\n\
- b _081325CA\n\
-_081325BC:\n\
- ldr r1, =gBattleMons\n\
- movs r0, 0x58\n\
- muls r0, r5\n\
- adds r0, r1\n\
- adds r0, 0x20\n\
- ldrb r3, [r0]\n\
- ldr r6, =gBattleResources\n\
-_081325CA:\n\
- cmp r3, 0\n\
- bne _081325E8\n\
-_081325CE:\n\
- ldr r0, [r6]\n\
- ldr r1, [r0, 0x14]\n\
- movs r0, 0x2\n\
- str r0, [r1, 0x8]\n\
- ldr r2, =gAIScriptPtr\n\
- b _08132608\n\
- .pool\n\
-_081325E8:\n\
- ldr r0, =gAIScriptPtr\n\
- ldr r1, [r0]\n\
- adds r2, r0, 0\n\
- ldrb r1, [r1, 0x2]\n\
- cmp r3, r1\n\
- bne _08132600\n\
- ldr r0, [r6]\n\
- ldr r1, [r0, 0x14]\n\
- movs r0, 0x1\n\
- b _08132606\n\
- .pool\n\
-_08132600:\n\
- ldr r0, [r6]\n\
- ldr r1, [r0, 0x14]\n\
- movs r0, 0\n\
-_08132606:\n\
- str r0, [r1, 0x8]\n\
-_08132608:\n\
- ldr r0, [r2]\n\
- adds r0, 0x3\n\
- str r0, [r2]\n\
- pop {r4-r6}\n\
- pop {r0}\n\
- bx r0\n\
- .pool\n\
- .syntax divided");
-}
-#endif
static void BattleAICmd_get_highest_type_effectiveness(void)
{
@@ -2184,7 +1574,7 @@ static void BattleAICmd_if_status_in_party(void)
switch(gAIScriptPtr[1])
{
- case 1:
+ case AI_USER:
index = sBank_AI;
break;
default:
@@ -2397,7 +1787,7 @@ static void BattleAICmd_if_cant_faint(void)
static void BattleAICmd_if_has_move(void)
{
int i;
- u16 *temp_ptr = (u16 *)(gAIScriptPtr + 2);
+ const u16 *temp_ptr = (u16 *)(gAIScriptPtr + 2);
switch(gAIScriptPtr[1])
{
@@ -2464,7 +1854,7 @@ static void BattleAICmd_if_has_move(void)
static void BattleAICmd_if_dont_have_move(void)
{
int i;
- u16 *temp_ptr = (u16 *)(gAIScriptPtr + 2);
+ const u16 *temp_ptr = (u16 *)(gAIScriptPtr + 2);
switch(gAIScriptPtr[1])
{
@@ -2631,7 +2021,7 @@ static void BattleAICmd_if_curr_move_disabled_or_encored(void)
static void BattleAICmd_flee(void)
{
- AI_THINKING_STRUCT->aiAction |= (AI_ACTION_DONE | AI_ACTION_FLEE | AI_ACTION_DO_NOT_ATTACK); // what matters is UNK2 being enabled.
+ AI_THINKING_STRUCT->aiAction |= (AI_ACTION_DONE | AI_ACTION_FLEE | AI_ACTION_DO_NOT_ATTACK);
}
static void BattleAICmd_if_random_100(void)
@@ -2646,7 +2036,7 @@ static void BattleAICmd_if_random_100(void)
static void BattleAICmd_watch(void)
{
- AI_THINKING_STRUCT->aiAction |= (AI_ACTION_DONE | AI_ACTION_WATCH | AI_ACTION_DO_NOT_ATTACK); // what matters is UNK3 being enabled.
+ AI_THINKING_STRUCT->aiAction |= (AI_ACTION_DONE | AI_ACTION_WATCH | AI_ACTION_DO_NOT_ATTACK);
}
static void BattleAICmd_get_hold_effect(void)
@@ -2675,7 +2065,7 @@ static void BattleAICmd_if_holds_item(void)
u16 item;
u8 var1, var2;
- if ((bank & 1) == (sBank_AI & 1))
+ if ((bank & BIT_SIDE) == (sBank_AI & BIT_SIDE))
item = gBattleMons[bank].item;
else
item = BATTLE_HISTORY->itemEffects[bank];
@@ -2752,7 +2142,7 @@ static void BattleAICmd_get_used_held_item(void)
#ifdef NONMATCHING
AI_THINKING_STRUCT->funcResult = gBattleStruct->usedHeldItems[bank];
#else
- AI_THINKING_STRUCT->funcResult = *(u8*)((u8*)(gBattleStruct) + 0xB8 + (bank * 2));
+ AI_THINKING_STRUCT->funcResult = *(u8*)((u8*)(gBattleStruct) + offsetof(struct BattleStruct, usedHeldItems) + (bank * 2));
#endif // NONMATCHING
gAIScriptPtr += 2;
diff --git a/src/battle_dome_cards.c b/src/battle_dome_cards.c
index c0557ac70..5251ee06a 100644
--- a/src/battle_dome_cards.c
+++ b/src/battle_dome_cards.c
@@ -17,7 +17,7 @@ extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
extern const union AffineAnimCmd *const gUnknown_082FF618[];
extern const union AffineAnimCmd *const gUnknown_082FF694[];
extern const union AnimCmd *const gUnknown_082FF70C[];
-extern const union AnimCmd *const *const gUnknown_08309AAC[NUM_SPECIES];
+extern const union AnimCmd *const *const gMonAnimationsSpriteAnimsPtrTable[NUM_SPECIES];
extern const union AnimCmd *const *const gUnknown_0830536C[];
extern const u8 gUnknown_0831F578[];
@@ -282,7 +282,7 @@ u16 sub_818D3E4(u16 species, u32 otId, u32 personality, u8 flags, s16 x, s16 y,
images[j].size = 0x800;
}
gUnknown_0203CCEC.tileTag = 0xFFFF;
- gUnknown_0203CCEC.anims = gUnknown_08309AAC[species];
+ gUnknown_0203CCEC.anims = gMonAnimationsSpriteAnimsPtrTable[species];
gUnknown_0203CCEC.images = images;
if (flags2 == 0x01)
{
diff --git a/src/battle_message.c b/src/battle_message.c
new file mode 100644
index 000000000..aeff721d6
--- /dev/null
+++ b/src/battle_message.c
@@ -0,0 +1,2333 @@
+#include "global.h"
+#include "battle.h"
+#include "battle_message.h"
+#include "battle_string_ids.h"
+#include "moves.h"
+#include "text.h"
+#include "string_util.h"
+#include "items.h"
+#include "event_data.h"
+#include "link.h"
+#include "item.h"
+#include "window.h"
+#include "palette.h"
+#include "battle_controllers.h"
+
+extern u16 gLastUsedItem;
+extern u8 gLastUsedAbility;
+extern u8 gActiveBank;
+extern u8 gBankAttacker;
+extern u8 gBankTarget;
+extern u8 gStringBank;
+extern u8 gEffectBank;
+extern u8 gAbilitiesPerBank[BATTLE_BANKS_COUNT];
+extern u32 gBattleTypeFlags;
+extern u16 gTrainerBattleOpponent_A;
+extern u16 gTrainerBattleOpponent_B;
+extern u16 gPartnerTrainerId;
+extern u16 gBattlePartyID[BATTLE_BANKS_COUNT];
+extern struct BattleEnigmaBerry gEnigmaBerries[BATTLE_BANKS_COUNT];
+extern u8 gBattleBufferA[BATTLE_BANKS_COUNT][0x200];
+extern u8 gMoveSelectionCursor[BATTLE_BANKS_COUNT];
+extern u8 gUnknown_0203C7B4;
+extern struct StringInfoBattle *gStringInfo;
+
+extern const u8 gMoveNames[LAST_MOVE_INDEX + 1][13];
+extern const u8 gAbilityNames[][13];
+extern const u8 gTrainerClassNames[][13];
+extern const u8 gTypeNames[][7];
+extern const u16 gUnknown_08D85620[];
+
+// strings
+extern const u8 gText_PkmnBoxSomeonesPCFull[];
+extern const u8 gText_PkmnBoxLanettesPCFull[];
+extern const u8 gText_PkmnTransferredSomeonesPC[];
+extern const u8 gText_PkmnTransferredLanettesPC[];
+
+extern u16 sub_8068BB0(void); // pokemon_1
+extern u8 sub_81A4D00(void); // battle_frontier_2
+extern u8 GetFrontierOpponentClass(u16 trainerId); // battle_tower
+extern u8 sub_81D5530(u16 trainerId); // pokenav
+extern u8 GetEreaderTrainerClassId(void); // battle_tower
+extern void sub_81A4D50(u8 *txtPtr); // battle_frontier_2
+extern void sub_81D5554(u8 *txtPtr, u16 trainerId); // pokenav
+extern void GetEreaderTrainerName(u8 *txtPtr);
+extern void sub_81A36D0(u8 arg0, u16 trainerId); // battle_frontier_2
+extern void sub_81D572C(u8 arg0, u16 trainerId); // pokenav
+extern const u8* GetTrainer1LoseText(void); // battle_setup
+extern const u8* GetTrainer2LoseText(void); // battle_setup
+extern void GetFrontierTrainerName(u8 *dst, u16 trainerId);
+extern s32 GetStringCenterAlignXOffsetWithLetterSpacing(u8 fontId, const u8 *str, s32 totalWidth, s16 letterSpacing);
+extern u8 sub_8185FC4(void);
+extern u8 sav2_get_text_speed(void);
+
+// this file's functions
+static void sub_814F8F8(u8 *textPtr);
+static void sub_814F950(u8 *dst);
+static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst);
+
+// ewram variables
+EWRAM_DATA u8 gDisplayedStringBattle[300] = {0};
+EWRAM_DATA u8 gBattleTextBuff1[TEXT_BUFF_ARRAY_COUNT] = {0};
+EWRAM_DATA u8 gBattleTextBuff2[TEXT_BUFF_ARRAY_COUNT] = {0};
+EWRAM_DATA u8 gBattleTextBuff3[TEXT_BUFF_ARRAY_COUNT] = {0};
+
+// const rom data
+// todo: make some of those names less vague: attacker/target vs pkmn, etc.
+
+const u8 gText_Trainer1LoseText[] = _("{B_TRAINER1_LOSE_TEXT}");
+const u8 gText_PkmnGainedEXP[] = _("{B_BUFF1} gained{B_BUFF2}\n{B_BUFF3} EXP. Points!\p");
+const u8 gText_EmptyString4[] = _("");
+const u8 gText_ABoosted[] = _(" a boosted");
+const u8 gText_PkmnGrewToLv[] = _("{B_BUFF1} grew to\nLV. {B_BUFF2}!{UNKNOWN_A}\p");
+const u8 gText_PkmnLearnedMove[] = _("{B_BUFF1} learned\n{B_BUFF2}!{UNKNOWN_A}\p");
+const u8 gText_TryToLearnMove1[] = _("{B_BUFF1} is trying to\nlearn {B_BUFF2}.\p");
+const u8 gText_TryToLearnMove2[] = _("But, {B_BUFF1} can’t learn\nmore than four moves.\p");
+const u8 gText_TryToLearnMove3[] = _("Delete a move to make\nroom for {B_BUFF2}?");
+const u8 gText_PkmnForgotMove[] = _("{B_BUFF1} forgot\n{B_BUFF2}.\p");
+const u8 gText_StopLearningMove[] = _("{PAUSE 32}Stop learning\n{B_BUFF2}?");
+const u8 gText_DidNotLearnMove[] = _("{B_BUFF1} did not learn\n{B_BUFF2}.\p");
+const u8 gText_UseNextPkmn[] = _("Use next POKéMON?");
+const u8 gText_AttackMissed[] = _("{B_ATK_NAME_WITH_PREFIX}’s\nattack missed!");
+const u8 gText_PkmnProtectedItself[] = _("{B_DEF_NAME_WITH_PREFIX}\nprotected itself!");
+const u8 gText_AvoidedDamage[] = _("{B_DEF_NAME_WITH_PREFIX} avoided\ndamage with {B_DEF_ABILITY}!");
+const u8 gText_PkmnMakesGroundMiss[] = _("{B_DEF_NAME_WITH_PREFIX} makes GROUND\nmoves miss with {B_DEF_ABILITY}!");
+const u8 gText_PkmnAvoidedAttack[] = _("{B_DEF_NAME_WITH_PREFIX} avoided\nthe attack!");
+const u8 gText_ItDoesntAffect[] = _("It doesn’t affect\n{B_DEF_NAME_WITH_PREFIX}…");
+const u8 gText_AttackerFainted[] = _("{B_ATK_NAME_WITH_PREFIX}\nfainted!\p");
+const u8 gText_TargetFainted[] = _("{B_DEF_NAME_WITH_PREFIX}\nfainted!\p");
+const u8 gText_PlayerGotMoney[] = _("{B_PLAYER_NAME} got ¥{B_BUFF1}\nfor winning!\p");
+const u8 gText_PlayerWhiteout[] = _("{B_PLAYER_NAME} is out of\nusable POKéMON!\p");
+const u8 gText_PlayerWhiteout2[] = _("{B_PLAYER_NAME} whited out!{PAUSE_UNTIL_PRESS}");
+const u8 gText_PreventsEscape[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} prevents\nescape with {B_SCR_ACTIVE_ABILITY}!\p");
+const u8 gText_CantEscape2[] = _("Can’t escape!\p");
+const u8 gText_AttackerCantEscape[] = _("{B_ATK_NAME_WITH_PREFIX} can’t escape!");
+const u8 gText_HitXTimes[] = _("Hit {B_BUFF1} time(s)!");
+const u8 gText_PkmnFellAsleep[] = _("{B_EFF_NAME_WITH_PREFIX}\nfell asleep!");
+const u8 gText_PkmnMadeSleep[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_SCR_ACTIVE_ABILITY}\nmade {B_EFF_NAME_WITH_PREFIX} sleep!");
+const u8 gText_PkmnAlreadyAsleep[] = _("{B_DEF_NAME_WITH_PREFIX} is\nalready asleep!");
+const u8 gText_PkmnAlreadyAsleep2[] = _("{B_ATK_NAME_WITH_PREFIX} is\nalready asleep!");
+const u8 gText_PkmnWasntAffected[] = _("{B_DEF_NAME_WITH_PREFIX}\nwasn’t affected!");
+const u8 gText_PkmnWasPoisoned[] = _("{B_EFF_NAME_WITH_PREFIX}\nwas poisoned!");
+const u8 gText_PkmnPoisonedBy[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_SCR_ACTIVE_ABILITY}\npoisoned {B_EFF_NAME_WITH_PREFIX}!");
+const u8 gText_PkmnHurtByPoison[] = _("{B_ATK_NAME_WITH_PREFIX} is hurt\nby poison!");
+const u8 gText_PkmnAlreadyPoisoned[] = _("{B_DEF_NAME_WITH_PREFIX} is already\npoisoned.");
+const u8 gText_PkmnBadlyPoisoned[] = _("{B_EFF_NAME_WITH_PREFIX} is badly\npoisoned!");
+const u8 gText_PkmnEnergyDrained[] = _("{B_DEF_NAME_WITH_PREFIX} had its\nenergy drained!");
+const u8 gText_PkmnWasBurned[] = _("{B_EFF_NAME_WITH_PREFIX} was burned!");
+const u8 gText_PkmnBurnedBy[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_SCR_ACTIVE_ABILITY}\nburned {B_EFF_NAME_WITH_PREFIX}!");
+const u8 gText_PkmnHurtByBurn[] = _("{B_ATK_NAME_WITH_PREFIX} is hurt\nby its burn!");
+const u8 gText_PkmnAlreadyHasBurn[] = _("{B_DEF_NAME_WITH_PREFIX} already\nhas a burn.");
+const u8 gText_PkmnWasFrozen[] = _("{B_EFF_NAME_WITH_PREFIX} was\nfrozen solid!");
+const u8 gText_PkmnFrozenBy[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_SCR_ACTIVE_ABILITY}\nfroze {B_EFF_NAME_WITH_PREFIX} solid!");
+const u8 gText_PkmnIsFrozen[] = _("{B_ATK_NAME_WITH_PREFIX} is\nfrozen solid!");
+const u8 gText_PkmnWasDefrosted[] = _("{B_DEF_NAME_WITH_PREFIX} was\ndefrosted!");
+const u8 gText_PkmnWasDefrosted2[] = _("{B_ATK_NAME_WITH_PREFIX} was\ndefrosted!");
+const u8 gText_PkmnWasDefrostedBy[] = _("{B_ATK_NAME_WITH_PREFIX} was\ndefrosted by {B_CURRENT_MOVE}!");
+const u8 gText_PkmnWasParalyzed[] = _("{B_EFF_NAME_WITH_PREFIX} is paralyzed!\nIt may be unable to move!");
+const u8 gText_PkmnWasParalyzedBy[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_SCR_ACTIVE_ABILITY}\nparalyzed {B_EFF_NAME_WITH_PREFIX}!\lIt may be unable to move!");
+const u8 gText_PkmnIsParalyzed[] = _("{B_ATK_NAME_WITH_PREFIX} is paralyzed!\nIt can’t move!");
+const u8 gText_PkmnIsAlreadyParalyzed[] = _("{B_DEF_NAME_WITH_PREFIX} is\nalready paralyzed!");
+const u8 gText_PkmnHealedParalysis[] = _("{B_DEF_NAME_WITH_PREFIX} was\nhealed of paralysis!");
+const u8 gText_PkmnDreamEaten[] = _("{B_DEF_NAME_WITH_PREFIX}’s\ndream was eaten!");
+const u8 gText_StatsWontIncrease[] = _("{B_ATK_NAME_WITH_PREFIX}’s {B_BUFF1}\nwon’t go higher!");
+const u8 gText_StatsWontDecrease[] = _("{B_DEF_NAME_WITH_PREFIX}’s {B_BUFF1}\nwon’t go lower!");
+const u8 gText_TeamStoppedWorking[] = _("Your team’s {B_BUFF1}\nstopped working!");
+const u8 gText_FoeStoppedWorking[] = _("The foe’s {B_BUFF1}\nstopped working!");
+const u8 gText_PkmnIsConfused[] = _("{B_ATK_NAME_WITH_PREFIX} is\nconfused!");
+const u8 gText_PkmnHealedConfusion[] = _("{B_ATK_NAME_WITH_PREFIX} snapped\nout of confusion!");
+const u8 gText_PkmnWasConfused[] = _("{B_EFF_NAME_WITH_PREFIX} became\nconfused!");
+const u8 gText_PkmnAlreadyConfused[] = _("{B_DEF_NAME_WITH_PREFIX} is\nalready confused!");
+const u8 gText_PkmnFellInLove[] = _("{B_DEF_NAME_WITH_PREFIX}\nfell in love!");
+const u8 gText_PkmnInLove[] = _("{B_ATK_NAME_WITH_PREFIX} is in love\nwith {B_SCR_ACTIVE_NAME_WITH_PREFIX}!");
+const u8 gText_PkmnImmobilizedByLove[] = _("{B_ATK_NAME_WITH_PREFIX} is\nimmobilized by love!");
+const u8 gText_PkmnBlownAway[] = _("{B_DEF_NAME_WITH_PREFIX} was\nblown away!");
+const u8 gText_PkmnChangedType[] = _("{B_ATK_NAME_WITH_PREFIX} transformed\ninto the {B_BUFF1} type!");
+const u8 gText_PkmnFlinched[] = _("{B_ATK_NAME_WITH_PREFIX} flinched!");
+const u8 gText_PkmnRegainedHealth[] = _("{B_DEF_NAME_WITH_PREFIX} regained\nhealth!");
+const u8 gText_PkmnHPFull[] = _("{B_DEF_NAME_WITH_PREFIX}’s\nHP is full!");
+const u8 gText_PkmnRaisedSpDef[] = _("{B_ATK_PREFIX2}’s {B_CURRENT_MOVE}\nraised SP. DEF!");
+const u8 gText_PkmnRaisedSpDefALittle[] = _("{B_ATK_PREFIX2}’s {B_CURRENT_MOVE}\nraised SP. DEF a little!");
+const u8 gText_PkmnRaisedDef[] = _("{B_ATK_PREFIX2}’s {B_CURRENT_MOVE}\nraised DEFENSE!");
+const u8 gText_PkmnRaisedDefALittle[] = _("{B_ATK_PREFIX2}’s {B_CURRENT_MOVE}\nraised DEFENSE a little!");
+const u8 gText_PkmnCoveredByVeil[] = _("{B_ATK_PREFIX2}’s party is covered\nby a veil!");
+const u8 gText_PkmnUsedSafeguard[] = _("{B_DEF_NAME_WITH_PREFIX}’s party is protected\nby SAFEGUARD!");
+const u8 gText_PkmnSafeguardExpired[] = _("{B_ATK_PREFIX3}’s party is no longer\nprotected by SAFEGUARD!");
+const u8 gText_PkmnWentToSleep[] = _("{B_ATK_NAME_WITH_PREFIX} went\nto sleep!");
+const u8 gText_PkmnSleptHealthy[] = _("{B_ATK_NAME_WITH_PREFIX} slept and\nbecame healthy!");
+const u8 gText_PkmnWhippedWhirlwind[] = _("{B_ATK_NAME_WITH_PREFIX} whipped\nup a whirlwind!");
+const u8 gText_PkmnTookSunlight[] = _("{B_ATK_NAME_WITH_PREFIX} took\nin sunlight!");
+const u8 gText_PkmnLoweredHead[] = _("{B_ATK_NAME_WITH_PREFIX} lowered\nits head!");
+const u8 gText_PkmnIsGlowing[] = _("{B_ATK_NAME_WITH_PREFIX} is glowing!");
+const u8 gText_PkmnFlewHigh[] = _("{B_ATK_NAME_WITH_PREFIX} flew\nup high!");
+const u8 gText_PkmnDugHole[] = _("{B_ATK_NAME_WITH_PREFIX} dug a hole!");
+const u8 gText_PkmnHidUnderwater[] = _("{B_ATK_NAME_WITH_PREFIX} hid\nunderwater!");
+const u8 gText_PkmnSprangUp[] = _("{B_ATK_NAME_WITH_PREFIX} sprang up!");
+const u8 gText_PkmnSqueezedByBind[] = _("{B_DEF_NAME_WITH_PREFIX} was squeezed by\n{B_ATK_NAME_WITH_PREFIX}’s BIND!");
+const u8 gText_PkmnTrappedInVortex[] = _("{B_DEF_NAME_WITH_PREFIX} was trapped\nin the vortex!");
+const u8 gText_PkmnTrappedBySandTomb[] = _("{B_DEF_NAME_WITH_PREFIX} was trapped\nby SAND TOMB!");
+const u8 gText_PkmnWrappedBy[] = _("{B_DEF_NAME_WITH_PREFIX} was WRAPPED by\n{B_ATK_NAME_WITH_PREFIX}!");
+const u8 gText_PkmnClamped[] = _("{B_ATK_NAME_WITH_PREFIX} CLAMPED\n{B_DEF_NAME_WITH_PREFIX}!");
+const u8 gText_PkmnHurtBy[] = _("{B_ATK_NAME_WITH_PREFIX} is hurt\nby {B_BUFF1}!");
+const u8 gText_PkmnFreedFrom[] = _("{B_ATK_NAME_WITH_PREFIX} was freed\nfrom {B_BUFF1}!");
+const u8 gText_PkmnCrashed[] = _("{B_ATK_NAME_WITH_PREFIX} kept going\nand crashed!");
+const u8 gText_PkmnShroudedInMist[] = _("{B_ATK_PREFIX2} became\nshrouded in MIST!");
+const u8 gText_PkmnProtectedByMist[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is protected\nby MIST!");
+const u8 gText_PkmnGettingPumped[] = _("{B_ATK_NAME_WITH_PREFIX} is getting\npumped!");
+const u8 gText_PkmnHitWithRecoil[] = _("{B_ATK_NAME_WITH_PREFIX} is hit\nwith recoil!");
+const u8 gText_PkmnProtectedItself2[] = _("{B_ATK_NAME_WITH_PREFIX} protected\nitself!");
+const u8 gText_PkmnBuffetedBySandstorm[] = _("{B_ATK_NAME_WITH_PREFIX} is buffeted\nby the sandstorm!");
+const u8 gText_PkmnPeltedByHail[] = _("{B_ATK_NAME_WITH_PREFIX} is pelted\nby HAIL!");
+const u8 gText_PkmnsXWoreOff[] = _("{B_ATK_PREFIX1}’s {B_BUFF1}\nwore off!");
+const u8 gText_PkmnSeeded[] = _("{B_DEF_NAME_WITH_PREFIX} was seeded!");
+const u8 gText_PkmnEvadedAttack[] = _("{B_DEF_NAME_WITH_PREFIX} evaded\nthe attack!");
+const u8 gText_PkmnSappedByLeechSeed[] = _("{B_ATK_NAME_WITH_PREFIX}’s health is\nsapped by LEECH SEED!");
+const u8 gText_PkmnFastAsleep[] = _("{B_ATK_NAME_WITH_PREFIX} is fast\nasleep.");
+const u8 gText_PkmnWokeUp[] = _("{B_ATK_NAME_WITH_PREFIX} woke up!");
+const u8 gText_PkmnUproarKeptAwake[] = _("But {B_SCR_ACTIVE_NAME_WITH_PREFIX}’s UPROAR\nkept it awake!");
+const u8 gText_PkmnWokeUpInUproar[] = _("{B_ATK_NAME_WITH_PREFIX} woke up\nin the UPROAR!");
+const u8 gText_PkmnCausedUproar[] = _("{B_ATK_NAME_WITH_PREFIX} caused\nan UPROAR!");
+const u8 gText_PkmnMakingUproar[] = _("{B_ATK_NAME_WITH_PREFIX} is making\nan UPROAR!");
+const u8 gText_PkmnCalmedDown[] = _("{B_ATK_NAME_WITH_PREFIX} calmed down.");
+const u8 gText_PkmnCantSleepInUproar[] = _("But {B_DEF_NAME_WITH_PREFIX} can’t\nsleep in an UPROAR!");
+const u8 gText_PkmnStockpiled[] = _("{B_ATK_NAME_WITH_PREFIX} STOCKPILED\n{B_BUFF1}!");
+const u8 gText_PkmnCantStockpile[] = _("{B_ATK_NAME_WITH_PREFIX} can’t\nSTOCKPILE any more!");
+const u8 gText_PkmnCantSleepInUproar2[] = _("But {B_DEF_NAME_WITH_PREFIX} can’t\nsleep in an UPROAR!");
+const u8 gText_UproarKeptPkmnAwake[] = _("But the UPROAR kept\n{B_DEF_NAME_WITH_PREFIX} awake!");
+const u8 gText_PkmnStayedAwakeUsing[] = _("{B_DEF_NAME_WITH_PREFIX} stayed awake\nusing its {B_DEF_ABILITY}!");
+const u8 gText_PkmnStoringEnergy[] = _("{B_ATK_NAME_WITH_PREFIX} is storing\nenergy!");
+const u8 gText_PkmnUnleashedEnergy[] = _("{B_ATK_NAME_WITH_PREFIX} unleashed\nenergy!");
+const u8 gText_PkmnFatigueConfusion[] = _("{B_ATK_NAME_WITH_PREFIX} became\nconfused due to fatigue!");
+const u8 gText_PkmnPickedUpItem[] = _("{B_PLAYER_NAME} picked up\n¥{B_BUFF1}!\p");
+const u8 gText_PkmnUnaffected[] = _("{B_DEF_NAME_WITH_PREFIX} is\nunaffected!");
+const u8 gText_PkmnTransformedInto[] = _("{B_ATK_NAME_WITH_PREFIX} transformed\ninto {B_BUFF1}!");
+const u8 gText_PkmnMadeSubstitute[] = _("{B_ATK_NAME_WITH_PREFIX} made\na SUBSTITUTE!");
+const u8 gText_PkmnHasSubstitute[] = _("{B_ATK_NAME_WITH_PREFIX} already\nhas a SUBSTITUTE!");
+const u8 gText_SubstituteDamaged[] = _("The SUBSTITUTE took damage\nfor {B_DEF_NAME_WITH_PREFIX}!\p");
+const u8 gText_PkmnSubstituteFaded[] = _("{B_DEF_NAME_WITH_PREFIX}’s\nSUBSTITUTE faded!\p");
+const u8 gText_PkmnMustRecharge[] = _("{B_ATK_NAME_WITH_PREFIX} must\nrecharge!");
+const u8 gText_PkmnRageBuilding[] = _("{B_DEF_NAME_WITH_PREFIX}’s RAGE\nis building!");
+const u8 gText_PkmnMoveWasDisabled[] = _("{B_DEF_NAME_WITH_PREFIX}’s {B_BUFF1}\nwas disabled!");
+const u8 gText_PkmnMoveDisabledNoMore[] = _("{B_ATK_NAME_WITH_PREFIX} is disabled\nno more!");
+const u8 gText_PkmnGotEncore[] = _("{B_DEF_NAME_WITH_PREFIX} got\nan ENCORE!");
+const u8 gText_PkmnEncoreEnded[] = _("{B_ATK_NAME_WITH_PREFIX}’s ENCORE\nended!");
+const u8 gText_PkmnTookAim[] = _("{B_ATK_NAME_WITH_PREFIX} took aim\nat {B_DEF_NAME_WITH_PREFIX}!");
+const u8 gText_PkmnSketchedMove[] = _("{B_ATK_NAME_WITH_PREFIX} SKETCHED\n{B_BUFF1}!");
+const u8 gText_PkmnTryingToTakeFoe[] = _("{B_ATK_NAME_WITH_PREFIX} is trying\nto take its foe with it!");
+const u8 gText_PkmnTookFoe[] = _("{B_DEF_NAME_WITH_PREFIX} took\n{B_ATK_NAME_WITH_PREFIX} with it!");
+const u8 gText_PkmnReducedPP[] = _("Reduced {B_DEF_NAME_WITH_PREFIX}’s\n{B_BUFF1} by {B_BUFF2}!");
+const u8 gText_PkmnStoleItem[] = _("{B_ATK_NAME_WITH_PREFIX} stole\n{B_DEF_NAME_WITH_PREFIX}’s {B_LAST_ITEM}!");
+const u8 gText_TargetCantEscapeNow[] = _("{B_DEF_NAME_WITH_PREFIX} can’t\nescape now!");
+const u8 gText_PkmnFellIntoNightmare[] = _("{B_DEF_NAME_WITH_PREFIX} fell into\na NIGHTMARE!");
+const u8 gText_PkmnLockedInNightmare[] = _("{B_ATK_NAME_WITH_PREFIX} is locked\nin a NIGHTMARE!");
+const u8 gText_PkmnLaidCurse[] = _("{B_ATK_NAME_WITH_PREFIX} cut its own HP and\nlaid a CURSE on {B_DEF_NAME_WITH_PREFIX}!");
+const u8 gText_PkmnAfflictedByCurse[] = _("{B_ATK_NAME_WITH_PREFIX} is afflicted\nby the CURSE!");
+const u8 gText_SpikesScattered[] = _("SPIKES were scattered all around\nthe opponent’s side!");
+const u8 gText_PkmnHurtBySpikes[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is hurt\nby SPIKES!");
+const u8 gText_PkmnIdentified[] = _("{B_ATK_NAME_WITH_PREFIX} identified\n{B_DEF_NAME_WITH_PREFIX}!");
+const u8 gText_PkmnPerishCountFell[] = _("{B_ATK_NAME_WITH_PREFIX}’s PERISH count\nfell to {B_BUFF1}!");
+const u8 gText_PkmnBracedItself[] = _("{B_ATK_NAME_WITH_PREFIX} braced\nitself!");
+const u8 gText_PkmnEnduredHit[] = _("{B_DEF_NAME_WITH_PREFIX} ENDURED\nthe hit!");
+const u8 gText_MagnitudeStrength[] = _("MAGNITUDE {B_BUFF1}!");
+const u8 gText_PkmnCutHPMaxedAttack[] = _("{B_ATK_NAME_WITH_PREFIX} cut its own HP\nand maximized ATTACK!");
+const u8 gText_PkmnCopiedStatChanges[] = _("{B_ATK_NAME_WITH_PREFIX} copied\n{B_DEF_NAME_WITH_PREFIX}’s stat changes!");
+const u8 gText_PkmnGotFree[] = _("{B_ATK_NAME_WITH_PREFIX} got free of\n{B_DEF_NAME_WITH_PREFIX}’s {B_BUFF1}!");
+const u8 gText_PkmnShedLeechSeed[] = _("{B_ATK_NAME_WITH_PREFIX} shed\nLEECH SEED!");
+const u8 gText_PkmnBlewAwaySpikes[] = _("{B_ATK_NAME_WITH_PREFIX} blew away\nSPIKES!");
+const u8 gText_PkmnFledFromBattle[] = _("{B_ATK_NAME_WITH_PREFIX} fled from\nbattle!");
+const u8 gText_PkmnForesawAttack[] = _("{B_ATK_NAME_WITH_PREFIX} foresaw\nan attack!");
+const u8 gText_PkmnTookAttack[] = _("{B_DEF_NAME_WITH_PREFIX} took the\n{B_BUFF1} attack!");
+const u8 gText_PkmnChoseXAsDestiny[] = _("{B_ATK_NAME_WITH_PREFIX} chose\n{B_CURRENT_MOVE} as its destiny!");
+const u8 gText_PkmnAttack[] = _("{B_BUFF1}’s attack!");
+const u8 gText_PkmnCenterAttention[] = _("{B_ATK_NAME_WITH_PREFIX} became the\ncenter of attention!");
+const u8 gText_PkmnChargingPower[] = _("{B_ATK_NAME_WITH_PREFIX} began\ncharging power!");
+const u8 gText_NaturePowerTurnedInto[] = _("NATURE POWER turned into\n{B_CURRENT_MOVE}!");
+const u8 gText_PkmnStatusNormal[] = _("{B_ATK_NAME_WITH_PREFIX}’s status\nreturned to normal!");
+const u8 gText_PkmnSubjectedToTorment[] = _("{B_DEF_NAME_WITH_PREFIX} was subjected\nto TORMENT!");
+const u8 gText_PkmnTighteningFocus[] = _("{B_ATK_NAME_WITH_PREFIX} is tightening\nits focus!");
+const u8 gText_PkmnFellForTaunt[] = _("{B_DEF_NAME_WITH_PREFIX} fell for\nthe TAUNT!");
+const u8 gText_PkmnReadyToHelp[] = _("{B_ATK_NAME_WITH_PREFIX} is ready to\nhelp {B_DEF_NAME_WITH_PREFIX}!");
+const u8 gText_PkmnSwitchedItems[] = _("{B_ATK_NAME_WITH_PREFIX} switched\nitems with its opponent!");
+const u8 gText_PkmnObtainedX[] = _("{B_ATK_NAME_WITH_PREFIX} obtained\n{B_BUFF1}.");
+const u8 gText_PkmnObtainedX2[] = _("{B_DEF_NAME_WITH_PREFIX} obtained\n{B_BUFF2}.");
+const u8 gText_PkmnObtainedXYObtainedZ[] = _("{B_ATK_NAME_WITH_PREFIX} obtained\n{B_BUFF1}.\p{B_DEF_NAME_WITH_PREFIX} obtained\n{B_BUFF2}.");
+const u8 gText_PkmnCopiedFoe[] = _("{B_ATK_NAME_WITH_PREFIX} copied\n{B_DEF_NAME_WITH_PREFIX}’s {B_DEF_ABILITY}!");
+const u8 gText_PkmnMadeWish[] = _("{B_ATK_NAME_WITH_PREFIX} made a WISH!");
+const u8 gText_PkmnWishCameTrue[] = _("{B_BUFF1}’s WISH\ncame true!");
+const u8 gText_PkmnPlantedRoots[] = _("{B_ATK_NAME_WITH_PREFIX} planted its roots!");
+const u8 gText_PkmnAbsorbedNutrients[] = _("{B_ATK_NAME_WITH_PREFIX} absorbed\nnutrients with its roots!");
+const u8 gText_PkmnAnchoredItself[] = _("{B_DEF_NAME_WITH_PREFIX} anchored\nitself with its roots!");
+const u8 gText_PkmnWasMadeDrowsy[] = _("{B_ATK_NAME_WITH_PREFIX} made\n{B_DEF_NAME_WITH_PREFIX} drowsy!");
+const u8 gText_PkmnKnockedOff[] = _("{B_ATK_NAME_WITH_PREFIX} knocked off\n{B_DEF_NAME_WITH_PREFIX}’s {B_LAST_ITEM}!");
+const u8 gText_PkmnSwappedAbilities[] = _("{B_ATK_NAME_WITH_PREFIX} swapped abilities\nwith its opponent!");
+const u8 gText_PkmnSealedOpponentMove[] = _("{B_ATK_NAME_WITH_PREFIX} sealed the\nopponent’s move(s)!");
+const u8 gText_PkmnWantsGrudge[] = _("{B_ATK_NAME_WITH_PREFIX} wants the\nopponent to bear a GRUDGE!");
+const u8 gText_PkmnLostPPGrudge[] = _("{B_ATK_NAME_WITH_PREFIX}’s {B_BUFF1} lost\nall its PP due to the GRUDGE!");
+const u8 gText_PkmnShroudedItself[] = _("{B_ATK_NAME_WITH_PREFIX} shrouded\nitself in {B_CURRENT_MOVE}!");
+const u8 gText_PkmnMoveBounced[] = _("{B_ATK_NAME_WITH_PREFIX}’s {B_CURRENT_MOVE}\nwas bounced back by MAGIC COAT!");
+const u8 gText_PkmnWaitsForTarget[] = _("{B_ATK_NAME_WITH_PREFIX} waits for a target\nto make a move!");
+const u8 gText_PkmnSnatchedMove[] = _("{B_DEF_NAME_WITH_PREFIX} SNATCHED\n{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s move!");
+const u8 gText_ElectricityWeakened[] = _("Electricity’s power was\nweakened!");
+const u8 gText_FireWeakened[] = _("Fire’s power was\nweakened!");
+const u8 gText_XFoundOneY[] = _("{B_ATK_NAME_WITH_PREFIX} found\none {B_LAST_ITEM}!");
+const u8 gText_SoothingAroma[] = _("A soothing aroma wafted\nthrough the area!");
+const u8 gText_ItemsCantBeUsedNow[] = _("Items can’t be used now.{PAUSE 64}");
+const u8 gText_ForXCommaYZ[] = _("For {B_SCR_ACTIVE_NAME_WITH_PREFIX},\n{B_LAST_ITEM} {B_BUFF1}");
+const u8 gText_PkmnUsedXToGetPumped[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} used\n{B_LAST_ITEM} to get pumped!");
+const u8 gText_PkmnLostFocus[] = _("{B_ATK_NAME_WITH_PREFIX} lost its\nfocus and couldn’t move!");
+const u8 gText_PkmnWasDraggedOut[] = _("{B_DEF_NAME_WITH_PREFIX} was\ndragged out!\p");
+const u8 gText_TheWallShattered[] = _("The wall shattered!");
+const u8 gText_ButNoEffect[] = _("But it had no effect!");
+const u8 gText_PkmnHasNoMovesLeft[] = _("{B_ACTIVE_NAME_WITH_PREFIX} has no\nmoves left!\p");
+const u8 gText_PkmnMoveIsDisabled[] = _("{B_ACTIVE_NAME_WITH_PREFIX}’s {B_CURRENT_MOVE}\nis disabled!\p");
+const u8 gText_PkmnCantUseMoveTorment[] = _("{B_ACTIVE_NAME_WITH_PREFIX} can’t use the same\nmove in a row due to the TORMENT!\p");
+const u8 gText_PkmnCantUseMoveTaunt[] = _("{B_ACTIVE_NAME_WITH_PREFIX} can’t use\n{B_CURRENT_MOVE} after the TAUNT!\p");
+const u8 gText_PkmnCantUseMoveSealed[] = _("{B_ACTIVE_NAME_WITH_PREFIX} can’t use the\nsealed {B_CURRENT_MOVE}!\p");
+const u8 gText_PkmnMadeItRain[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_SCR_ACTIVE_ABILITY}\nmade it rain!");
+const u8 gText_PkmnRaisedSpeed[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_SCR_ACTIVE_ABILITY}\nraised its SPEED!");
+const u8 gText_PkmnProtectedBy[] = _("{B_DEF_NAME_WITH_PREFIX} was protected\nby {B_DEF_ABILITY}!");
+const u8 gText_PkmnPreventsUsage[] = _("{B_DEF_NAME_WITH_PREFIX}’s {B_DEF_ABILITY}\nprevents {B_ATK_NAME_WITH_PREFIX}\lfrom using {B_CURRENT_MOVE}!");
+const u8 gText_PkmnRestoredHPUsing[] = _("{B_DEF_NAME_WITH_PREFIX} restored HP\nusing its {B_DEF_ABILITY}!");
+const u8 gText_PkmnsXMadeYUseless[] = _("{B_DEF_NAME_WITH_PREFIX}’s {B_DEF_ABILITY}\nmade {B_CURRENT_MOVE} useless!");
+const u8 gText_PkmnChangedTypeWith[] = _("{B_DEF_NAME_WITH_PREFIX}’s {B_DEF_ABILITY}\nmade it the {B_BUFF1} type!");
+const u8 gText_PkmnPreventsParalysisWith[] = _("{B_EFF_NAME_WITH_PREFIX}’s {B_DEF_ABILITY}\nprevents paralysis!");
+const u8 gText_PkmnPreventsRomanceWith[] = _("{B_DEF_NAME_WITH_PREFIX}’s {B_DEF_ABILITY}\nprevents romance!");
+const u8 gText_PkmnPreventsPoisoningWith[] = _("{B_EFF_NAME_WITH_PREFIX}’s {B_DEF_ABILITY}\nprevents poisoning!");
+const u8 gText_PkmnPreventsConfusionWith[] = _("{B_DEF_NAME_WITH_PREFIX}’s {B_DEF_ABILITY}\nprevents confusion!");
+const u8 gText_PkmnRaisedFirePowerWith[] = _("{B_DEF_NAME_WITH_PREFIX}’s {B_DEF_ABILITY}\nraised its FIRE power!");
+const u8 gText_PkmnAnchorsItselfWith[] = _("{B_DEF_NAME_WITH_PREFIX} anchors\nitself with {B_DEF_ABILITY}!");
+const u8 gText_PkmnCutsAttackWith[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_SCR_ACTIVE_ABILITY}\ncuts {B_DEF_NAME_WITH_PREFIX}’s ATTACK!");
+const u8 gText_PkmnPreventsStatLossWith[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_SCR_ACTIVE_ABILITY}\nprevents stat loss!");
+const u8 gText_PkmnHurtsWith[] = _("{B_DEF_NAME_WITH_PREFIX}’s {B_DEF_ABILITY}\nhurt {B_ATK_NAME_WITH_PREFIX}!");
+const u8 gText_PkmnTraced[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} TRACED\n{B_BUFF1}’s {B_BUFF2}!");
+const u8 gText_PkmnsXPreventsBurns[] = _("{B_EFF_NAME_WITH_PREFIX}’s {B_EFF_ABILITY}\nprevents burns!");
+const u8 gText_PkmnsXBlocksY[] = _("{B_DEF_NAME_WITH_PREFIX}’s {B_DEF_ABILITY}\nblocks {B_CURRENT_MOVE}!");
+const u8 gText_PkmnsXBlocksY2[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_SCR_ACTIVE_ABILITY}\nblocks {B_CURRENT_MOVE}!");
+const u8 gText_PkmnsXRestoredHPALittle2[] = _("{B_ATK_NAME_WITH_PREFIX}’s {B_ATK_ABILITY}\nrestored its HP a little!");
+const u8 gText_PkmnsXWhippedUpSandstorm[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_SCR_ACTIVE_ABILITY}\nwhipped up a sandstorm!");
+const u8 gText_PkmnsXIntensifiedSun[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_SCR_ACTIVE_ABILITY}\nintensified the sun’s rays!");
+const u8 gText_PkmnsXPreventsYLoss[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_SCR_ACTIVE_ABILITY}\nprevents {B_BUFF1} loss!");
+const u8 gText_PkmnsXInfatuatedY[] = _("{B_DEF_NAME_WITH_PREFIX}’s {B_DEF_ABILITY}\ninfatuated {B_ATK_NAME_WITH_PREFIX}!");
+const u8 gText_PkmnsXMadeYIneffective[] = _("{B_DEF_NAME_WITH_PREFIX}’s {B_DEF_ABILITY}\nmade {B_CURRENT_MOVE} ineffective!");
+const u8 gText_PkmnsXCuredYProblem[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_SCR_ACTIVE_ABILITY}\ncured its {B_BUFF1} problem!");
+const u8 gText_ItSuckedLiquidOoze[] = _("It sucked up the\nLIQUID OOZE!");
+const u8 gText_PkmnTransformed[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} transformed!");
+const u8 gText_PkmnsXTookAttack[] = _("{B_DEF_NAME_WITH_PREFIX}’s {B_DEF_ABILITY}\ntook the attack!");
+const u8 gText_PkmnsXPreventsSwitching[] = _("{B_BUFF1}’s {B_LAST_ABILITY}\nprevents switching!\p");
+const u8 gText_PreventedFromWorking[] = _("{B_DEF_NAME_WITH_PREFIX}’s {B_DEF_ABILITY}\nprevented {B_SCR_ACTIVE_NAME_WITH_PREFIX}’s\l{B_BUFF1} from working!");
+const u8 gText_PkmnsXMadeItIneffective[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_SCR_ACTIVE_ABILITY}\nmade it ineffective!");
+const u8 gText_PkmnsXPreventsFlinching[] = _("{B_EFF_NAME_WITH_PREFIX}’s {B_EFF_ABILITY}\nprevents flinching!");
+const u8 gText_PkmnsXPreventsYsZ[] = _("{B_ATK_NAME_WITH_PREFIX}’s {B_ATK_ABILITY}\nprevents {B_DEF_NAME_WITH_PREFIX}’s\l{B_DEF_ABILITY} from working!");
+const u8 gText_PkmnsXCuredItsYProblem[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_SCR_ACTIVE_ABILITY}\ncured its {B_BUFF1} problem!");
+const u8 gText_PkmnsXHadNoEffectOnY[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_SCR_ACTIVE_ABILITY}\nhad no effect on {B_EFF_NAME_WITH_PREFIX}!");
+const u8 gText_StatSharply[] = _("sharply ");
+const u8 gText_StatRose[] = _("rose!");
+const u8 gText_StatHarshly[] = _("harshly ");
+const u8 gText_StatFell[] = _("fell!");
+const u8 gText_PkmnsStatChanged[] = _("{B_ATK_NAME_WITH_PREFIX}’s {B_BUFF1}\n{B_BUFF2}");
+const u8 gText_PkmnsStatChanged2[] = _("{B_DEF_NAME_WITH_PREFIX}’s {B_BUFF1}\n{B_BUFF2}");
+const u8 gText_UsingXTheYOfZN[] = _("Using {B_LAST_ITEM}, the {B_BUFF1}\nof {B_SCR_ACTIVE_NAME_WITH_PREFIX} {B_BUFF2}");
+const u8 gText_PkmnsStatChanged3[] = _("{B_ATK_NAME_WITH_PREFIX}’s {B_BUFF1}\n{B_BUFF2}");
+const u8 gText_PkmnsStatChanged4[] = _("{B_DEF_NAME_WITH_PREFIX}’s {B_BUFF1}\n{B_BUFF2}");
+const u8 gText_StatsWontIncrease2[] = _("{B_ATK_NAME_WITH_PREFIX}’s stats won’t\ngo any higher!");
+const u8 gText_StatsWontDecrease2[] = _("{B_DEF_NAME_WITH_PREFIX}’s stats won’t\ngo any lower!");
+const u8 gText_CriticalHit[] = _("A critical hit!");
+const u8 gText_OneHitKO[] = _("It’s a one-hit KO!");
+const u8 gText_123Poof[] = _("{PAUSE 32}1, {PAUSE 15}2, and{PAUSE 15}… {PAUSE 15}… {PAUSE 15}… {PAUSE 15}{PLAY_SE 0x0038}Poof!\p");
+const u8 gText_AndEllipsis[] = _("And…\p");
+const u8 gText_HMMovesCantBeForgotten[] = _("HM moves can’t be\nforgotten now.\p");
+const u8 gText_NotVeryEffective[] = _("It’s not very effective…");
+const u8 gText_SuperEffective[] = _("It’s super effective!");
+const u8 gText_GotAwaySafely[] = _("{PLAY_SE 0x0011}Got away safely!\p");
+const u8 gText_PkmnFledUsingIts[] = _("{PLAY_SE 0x0011}{B_ATK_NAME_WITH_PREFIX} fled\nusing its {B_LAST_ITEM}!\p");
+const u8 gText_PkmnFledUsing[] = _("{PLAY_SE 0x0011}{B_ATK_NAME_WITH_PREFIX} fled\nusing {B_ATK_ABILITY}!\p");
+const u8 gText_WildPkmnFled[] = _("{PLAY_SE 0x0011}Wild {B_BUFF1} fled!");
+const u8 gText_PlayerDefeatedLinkTrainer[] = _("Player defeated\n{B_20}!");
+const u8 gText_TwoLinkTrainersDefeated[] = _("Player beat {B_20}\nand {B_21}!");
+const u8 gText_PlayerLostAgainstLinkTrainer[] = _("Player lost against\n{B_20}!");
+const u8 gText_PlayerLostToTwo[] = _("Player lost to {B_20}\nand {B_21}!");
+const u8 gText_PlayerBattledToDrawLinkTrainer[] = _("Player battled to a draw against\n{B_20}!");
+const u8 gText_PlayerBattledToDrawVsTwo[] = _("Player battled to a draw against\n{B_20} and {B_21}!");
+const u8 gText_WildFled[] = _("{PLAY_SE 0x0011}{B_20} fled!");
+const u8 gText_TwoWildFled[] = _("{PLAY_SE 0x0011}{B_20} and\n{B_21} fled!");
+const u8 gText_NoRunningFromTrainers[] = _("No! There’s no running\nfrom a TRAINER battle!\p");
+const u8 gText_CantEscape[] = _("Can’t escape!\p");
+const u8 gText_DontLeaveBirch[] = _("PROF. BIRCH: Don’t leave me like this!\p");
+const u8 gText_ButNothingHappened[] = _("But nothing happened!");
+const u8 gText_ButItFailed[] = _("But it failed!");
+const u8 gText_ItHurtConfusion[] = _("It hurt itself in its\nconfusion!");
+const u8 gText_MirrorMoveFailed[] = _("The MIRROR MOVE failed!");
+const u8 gText_StartedToRain[] = _("It started to rain!");
+const u8 gText_DownpourStarted[] = _("A downpour started!");
+const u8 gText_RainContinues[] = _("Rain continues to fall.");
+const u8 gText_DownpourContinues[] = _("The downpour continues.");
+const u8 gText_RainStopped[] = _("The rain stopped.");
+const u8 gText_SandstormBrewed[] = _("A sandstorm brewed!");
+const u8 gText_SandstormRages[] = _("The sandstorm rages.");
+const u8 gText_SandstormSubsided[] = _("The sandstorm subsided.");
+const u8 gText_SunlightGotBright[] = _("The sunlight got bright!");
+const u8 gText_SunlightStrong[] = _("The sunlight is strong.");
+const u8 gText_SunlightFaded[] = _("The sunlight faded.");
+const u8 gText_StartedHail[] = _("It started to hail!");
+const u8 gText_HailContinues[] = _("Hail continues to fall.");
+const u8 gText_HailStopped[] = _("The hail stopped.");
+const u8 gText_FailedToSpitUp[] = _("But it failed to SPIT UP\na thing!");
+const u8 gText_FailedToSwallow[] = _("But it failed to SWALLOW\na thing!");
+const u8 gText_WindBecameHeatWave[] = _("The wind turned into a\nHEAT WAVE!");
+const u8 gText_StatChangesGone[] = _("All stat changes were\neliminated!");
+const u8 gText_CoinsScattered[] = _("Coins scattered everywhere!");
+const u8 gText_TooWeakForSubstitute[] = _("It was too weak to make\na SUBSTITUTE!");
+const u8 gText_SharedPain[] = _("The battlers shared\ntheir pain!");
+const u8 gText_BellChimed[] = _("A bell chimed!");
+const u8 gText_FaintInThree[] = _("All affected POKéMON will\nfaint in three turns!");
+const u8 gText_NoPPLeft[] = _("There’s no PP left for\nthis move!\p");
+const u8 gText_ButNoPPLeft[] = _("But there was no PP left\nfor the move!");
+const u8 gText_PkmnIgnoresAsleep[] = _("{B_ATK_NAME_WITH_PREFIX} ignored\norders while asleep!");
+const u8 gText_PkmnIgnoredOrders[] = _("{B_ATK_NAME_WITH_PREFIX} ignored\norders!");
+const u8 gText_PkmnBeganToNap[] = _("{B_ATK_NAME_WITH_PREFIX} began to nap!");
+const u8 gText_PkmnLoafing[] = _("{B_ATK_NAME_WITH_PREFIX} is\nloafing around!");
+const u8 gText_PkmnWontObey[] = _("{B_ATK_NAME_WITH_PREFIX} won’t\nobey!");
+const u8 gText_PkmnTurnedAway[] = _("{B_ATK_NAME_WITH_PREFIX} turned away!");
+const u8 gText_PkmnPretendNotNotice[] = _("{B_ATK_NAME_WITH_PREFIX} pretended\nnot to notice!");
+const u8 gText_EnemyAboutToSwitchPkmn[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME} is\nabout to use {B_BUFF2}.\pWill {B_PLAYER_NAME} change\nPOKéMON?");
+const u8 gText_PkmnLearnedMove2[] = _("{B_ATK_NAME_WITH_PREFIX} learned\n{B_BUFF1}!");
+const u8 gText_PlayerDefeatedLinkTrainerTrainer1[] = _("Player defeated\n{B_TRAINER1_CLASS} {B_TRAINER1_NAME}!\p");
+const u8 gText_CreptCloser[] = _("{B_PLAYER_NAME} crept closer to\n{B_OPPONENT_MON1_NAME}!");
+const u8 gText_CantGetCloser[] = _("{B_PLAYER_NAME} can’t get any closer!");
+const u8 gText_PkmnWatchingCarefully[] = _("{B_OPPONENT_MON1_NAME} is watching\ncarefully!");
+const u8 gText_PkmnCuriousAboutX[] = _("{B_OPPONENT_MON1_NAME} is curious about\nthe {B_BUFF1}!");
+const u8 gText_PkmnEnthralledByX[] = _("{B_OPPONENT_MON1_NAME} is enthralled by\nthe {B_BUFF1}!");
+const u8 gText_PkmnIgnoredX[] = _("{B_OPPONENT_MON1_NAME} completely ignored\nthe {B_BUFF1}!");
+const u8 gText_ThrewPokeblockAtPkmn[] = _("{B_PLAYER_NAME} threw a {POKEBLOCK}\nat the {B_OPPONENT_MON1_NAME}!");
+const u8 gText_OutOfSafariBalls[] = _("{PLAY_SE 0x0049}ANNOUNCER: You’re out of\nSAFARI BALLS! Game over!\p");
+const u8 gText_OpponentMon1Appeared[] = _("{B_OPPONENT_MON1_NAME} appeared!\p");
+const u8 gText_WildPkmnAppeared[] = _("Wild {B_OPPONENT_MON1_NAME} appeared!\p");
+const u8 gText_WildPkmnAppeared2[] = _("Wild {B_OPPONENT_MON1_NAME} appeared!\p");
+const u8 gText_WildPkmnAppearedPause[] = _("Wild {B_OPPONENT_MON1_NAME} appeared!{PAUSE 127}");
+const u8 gText_TwoWildPkmnAppeared[] = _("Wild {B_OPPONENT_MON1_NAME} and\n{B_OPPONENT_MON2_NAME} appeared!\p");
+const u8 gText_Trainer1WantsToBattle[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME}\nwould like to battle!\p");
+const u8 gText_LinkTrainerWantsToBattle[] = _("{B_20}\nwants to battle!");
+const u8 gText_TwoLinkTrainersWantToBattle[] = _("{B_20} and {B_21}\nwant to battle!");
+const u8 gText_Trainer1SentOutPkmn[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME} sent\nout {B_OPPONENT_MON1_NAME}!");
+const u8 gText_Trainer1SentOutTwoPkmn[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME} sent\nout {B_OPPONENT_MON1_NAME} and {B_OPPONENT_MON2_NAME}!");
+const u8 gText_Trainer1SentOutPkmn2[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME} sent\nout {B_BUFF1}!");
+const u8 gText_LinkTrainerSentOutPkmn[] = _("{B_20} sent out\n{B_OPPONENT_MON1_NAME}!");
+const u8 gText_LinkTrainerSentOutTwoPkmn[] = _("{B_20} sent out\n{B_OPPONENT_MON1_NAME} and {B_OPPONENT_MON2_NAME}!");
+const u8 gText_TwoLinkTrainersSentOutPkmn[] = _("{B_20} sent out {B_LINK_OPPONENT_MON1_NAME}!\n{B_21} sent out {B_LINK_OPPONENT_MON2_NAME}!");
+const u8 gText_LinkTrainerSentOutPkmn2[] = _("{B_20} sent out\n{B_BUFF1}!");
+const u8 gText_LinkTrainerMultiSentOutPkmn[] = _("{B_22} sent out\n{B_BUFF1}!");
+const u8 gText_GoPkmn[] = _("Go! {B_PLAYER_MON1_NAME}!");
+const u8 gText_GoTwoPkmn[] = _("Go! {B_PLAYER_MON1_NAME} and\n{B_PLAYER_MON2_NAME}!");
+const u8 gText_GoPkmn2[] = _("Go! {B_BUFF1}!");
+const u8 gText_DoItPkmn[] = _("Do it! {B_BUFF1}!");
+const u8 gText_GoForItPkmn[] = _("Go for it, {B_BUFF1}!");
+const u8 gText_YourFoesWeakGetEmPkmn[] = _("Your foe’s weak!\nGet ’em, {B_BUFF1}!");
+const u8 gText_LinkPartnerSentOutPkmnGoPkmn[] = _("{B_1F} sent out {B_LINK_PLAYER_MON2_NAME}!\nGo! {B_LINK_PLAYER_MON1_NAME}!");
+const u8 gText_PkmnThatsEnough[] = _("{B_BUFF1}, that’s enough!\nCome back!");
+const u8 gText_PkmnComeBack[] = _("{B_BUFF1}, come back!");
+const u8 gText_PkmnOkComeBack[] = _("{B_BUFF1}, OK!\nCome back!");
+const u8 gText_PkmnGoodComeBack[] = _("{B_BUFF1}, good!\nCome back!");
+const u8 gText_Trainer1WithdrewPkmn[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME}\nwithdrew {B_BUFF1}!");
+const u8 gText_LinkTrainer1WithdrewPkmn[] = _("{B_20} withdrew\n{B_BUFF1}!");
+const u8 gText_LinkTrainer2WithdrewPkmn[] = _("{B_22} withdrew\n{B_BUFF1}!");
+const u8 gText_WildPkmnPrefix[] = _("Wild ");
+const u8 gText_FoePkmnPrefix[] = _("Foe ");
+const u8 gText_EmptyString8[] = _( "");
+const u8 gText_FoePkmnPrefix2[] = _("Foe");
+const u8 gText_AllyPkmnPrefix[] = _("Ally");
+const u8 gText_FoePkmnPrefix3[] = _("Foe");
+const u8 gText_AllyPkmnPrefix2[] = _("Ally");
+const u8 gText_FoePkmnPrefix4[] = _("Foe");
+const u8 gText_AllyPkmnPrefix3[] = _("Ally");
+const u8 gText_AttackerUsedX[] = _("{B_ATK_NAME_WITH_PREFIX} used\n{B_BUFF2}");
+const u8 gText_ExclamationMark[] = _("!");
+const u8 gText_ExclamationMark2[] = _("!");
+const u8 gText_ExclamationMark3[] = _("!");
+const u8 gText_ExclamationMark4[] = _("!");
+const u8 gText_ExclamationMark5[] = _("!");
+const u8 gText_HP2[] = _("HP");
+const u8 gText_Attack2[] = _("ATTACK");
+const u8 gText_Defense2[] = _("DEFENSE");
+const u8 gText_Speed[] = _("SPEED");
+const u8 gText_SpAtk2[] = _("SP. ATK");
+const u8 gText_SpDef2[] = _("SP. DEF");
+const u8 gText_Accuracy[] = _("accuracy");
+const u8 gText_Evasiveness[] = _("evasiveness");
+
+const u8 * const gStatNamesTable[] =
+{
+ gText_HP2, gText_Attack2, gText_Defense2,
+ gText_Speed, gText_SpAtk2, gText_SpDef2,
+ gText_Accuracy, gText_Evasiveness
+};
+
+const u8 gText_PokeblockWasTooSpicy[] = _("was too spicy!");
+const u8 gText_PokeblockWasTooDry[] = _("was too dry!");
+const u8 gText_PokeblockWasTooSweet[] = _("was too sweet!");
+const u8 gText_PokeblockWasTooBitter[] = _("was too bitter!");
+const u8 gText_PokeblockWasTooSour[] = _("was too sour!");
+
+const u8 * const gPokeblockWasTooXStringTable[] =
+{
+ gText_PokeblockWasTooSpicy, gText_PokeblockWasTooDry,
+ gText_PokeblockWasTooSweet, gText_PokeblockWasTooBitter,
+ gText_PokeblockWasTooSour
+};
+
+const u8 gText_PlayerUsedItem[] = _("{B_PLAYER_NAME} used\n{B_LAST_ITEM}!");
+const u8 gText_WallyUsedItem[] = _("WALLY used\n{B_LAST_ITEM}!");
+const u8 gText_Trainer1UsedItem[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME}\nused {B_LAST_ITEM}!");
+const u8 gText_TrainerBlockedBall[] = _("The TRAINER blocked the BALL!");
+const u8 gText_DontBeAThief[] = _("Don’t be a thief!");
+const u8 gText_ItDodgedBall[] = _("It dodged the thrown BALL!\nThis POKéMON can’t be caught!");
+const u8 gText_YouMissedPkmn[] = _("You missed the POKéMON!");
+const u8 gText_PkmnBrokeFree[] = _("Oh, no!\nThe POKéMON broke free!");
+const u8 gText_ItAppearedCaught[] = _("Aww!\nIt appeared to be caught!");
+const u8 gText_AarghAlmostHadIt[] = _("Aargh!\nAlmost had it!");
+const u8 gText_ShootSoClose[] = _("Shoot!\nIt was so close, too!");
+const u8 gText_GotchaPkmnCaught[] = _("Gotcha!\n{B_OPPONENT_MON1_NAME} was caught!{UNKNOWN_A}{PLAY_BGM BGM_KACHI22}\p");
+const u8 gText_GotchaPkmnCaught2[] = _("Gotcha!\n{B_OPPONENT_MON1_NAME} was caught!{UNKNOWN_A}{PLAY_BGM BGM_KACHI22}{PAUSE 127}");
+const u8 gText_GiveNicknameCaptured[] = _("Give a nickname to the\ncaptured {B_OPPONENT_MON1_NAME}?");
+const u8 gText_PkmnSentToPC[] = _("{B_OPPONENT_MON1_NAME} was sent to\n{B_PC_CREATOR_NAME} PC.");
+const u8 gText_Someones[] = _("someone’s");
+const u8 gText_Lanettes[] = _("LANETTE’s");
+const u8 gText_PkmnDataAddedToDex[] = _("{B_OPPONENT_MON1_NAME}’s data was\nadded to the POKéDEX.\p");
+const u8 gText_ItIsRaining[] = _("It is raining.");
+const u8 gText_SandstormIsRaging[] = _("A sandstorm is raging.");
+const u8 gText_BoxIsFull[] = _("The BOX is full!\nYou can’t catch any more!\p");
+const u8 gText_EnigmaBerry[] = _("ENIGMA BERRY");
+const u8 gText_BerrySuffix[] = _(" BERRY");
+const u8 gText_PkmnsItemCuredParalysis[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_LAST_ITEM}\ncured paralysis!");
+const u8 gText_PkmnsItemCuredPoison[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_LAST_ITEM}\ncured poison!");
+const u8 gText_PkmnsItemHealedBurn[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_LAST_ITEM}\nhealed its burn!");
+const u8 gText_PkmnsItemDefrostedIt[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_LAST_ITEM}\ndefrosted it!");
+const u8 gText_PkmnsItemWokeIt[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_LAST_ITEM}\nwoke it from its sleep!");
+const u8 gText_PkmnsItemSnappedOut[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_LAST_ITEM}\nsnapped it out of confusion!");
+const u8 gText_PkmnsItemCuredProblem[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_LAST_ITEM}\ncured its {B_BUFF1} problem!");
+const u8 gText_PkmnsItemNormalizedStatus[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_LAST_ITEM}\nnormalized its status!");
+const u8 gText_PkmnsItemRestoredHealth[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_LAST_ITEM}\nrestored health!");
+const u8 gText_PkmnsItemRestoredPP[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_LAST_ITEM}\nrestored {B_BUFF1}’s PP!");
+const u8 gText_PkmnsItemRestoredStatus[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_LAST_ITEM}\nrestored its status!");
+const u8 gText_PkmnsItemRestoredHPALittle[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_LAST_ITEM}\nrestored its HP a little!");
+const u8 gText_ItemAllowsOnlyYMove[] = _("{B_LAST_ITEM} allows the\nuse of only {B_CURRENT_MOVE}!\p");
+const u8 gText_PkmnHungOnWithX[] = _("{B_DEF_NAME_WITH_PREFIX} hung on\nusing its {B_LAST_ITEM}!");
+const u8 gText_EmptyString3[] = _("");
+const u8 gText_YouThrowABallNowRight[] = _("You throw a BALL now, right?\nI… I’ll do my best!");
+
+// early declaration of strings
+const u8 gText_PkmnIncapableOfPower[];
+const u8 gText_GlintAppearsInEye[];
+const u8 gText_PkmnGettingIntoPosition[];
+const u8 gText_PkmnBeganGrowlingDeeply[];
+const u8 gText_PkmnEagerForMore[];
+const u8 gText_DefeatedOpponentByReferee[];
+const u8 gText_LostToOpponentByReferee[];
+const u8 gText_TiedOpponentByReferee[];
+const u8 gText_QuestionForfeitMatch[];
+const u8 gText_ForfeitedMatch[];
+const u8 gText_Trainer1WinText[];
+const u8 gText_Trainer2WinText[];
+const u8 gText_TwoInGameTrainersDefeated[];
+const u8 gText_Trainer2LoseText[];
+
+const u8 * const gBattleStringsTable[BATTLESTRINGS_COUNT] =
+{
+ gText_Trainer1LoseText,
+ gText_PkmnGainedEXP,
+ gText_PkmnGrewToLv,
+ gText_PkmnLearnedMove,
+ gText_TryToLearnMove1,
+ gText_TryToLearnMove2,
+ gText_TryToLearnMove3,
+ gText_PkmnForgotMove,
+ gText_StopLearningMove,
+ gText_DidNotLearnMove,
+ gText_PkmnLearnedMove2,
+ gText_AttackMissed,
+ gText_PkmnProtectedItself,
+ gText_StatsWontIncrease2,
+ gText_AvoidedDamage,
+ gText_ItDoesntAffect,
+ gText_AttackerFainted,
+ gText_TargetFainted,
+ gText_PlayerGotMoney,
+ gText_PlayerWhiteout,
+ gText_PlayerWhiteout2,
+ gText_PreventsEscape,
+ gText_HitXTimes,
+ gText_PkmnFellAsleep,
+ gText_PkmnMadeSleep,
+ gText_PkmnAlreadyAsleep,
+ gText_PkmnAlreadyAsleep2,
+ gText_PkmnWasntAffected,
+ gText_PkmnWasPoisoned,
+ gText_PkmnPoisonedBy,
+ gText_PkmnHurtByPoison,
+ gText_PkmnAlreadyPoisoned,
+ gText_PkmnBadlyPoisoned,
+ gText_PkmnEnergyDrained,
+ gText_PkmnWasBurned,
+ gText_PkmnBurnedBy,
+ gText_PkmnHurtByBurn,
+ gText_PkmnWasFrozen,
+ gText_PkmnFrozenBy,
+ gText_PkmnIsFrozen,
+ gText_PkmnWasDefrosted,
+ gText_PkmnWasDefrosted2,
+ gText_PkmnWasDefrostedBy,
+ gText_PkmnWasParalyzed,
+ gText_PkmnWasParalyzedBy,
+ gText_PkmnIsParalyzed,
+ gText_PkmnIsAlreadyParalyzed,
+ gText_PkmnHealedParalysis,
+ gText_PkmnDreamEaten,
+ gText_StatsWontIncrease,
+ gText_StatsWontDecrease,
+ gText_TeamStoppedWorking,
+ gText_FoeStoppedWorking,
+ gText_PkmnIsConfused,
+ gText_PkmnHealedConfusion,
+ gText_PkmnWasConfused,
+ gText_PkmnAlreadyConfused,
+ gText_PkmnFellInLove,
+ gText_PkmnInLove,
+ gText_PkmnImmobilizedByLove,
+ gText_PkmnBlownAway,
+ gText_PkmnChangedType,
+ gText_PkmnFlinched,
+ gText_PkmnRegainedHealth,
+ gText_PkmnHPFull,
+ gText_PkmnRaisedSpDef,
+ gText_PkmnRaisedDef,
+ gText_PkmnCoveredByVeil,
+ gText_PkmnUsedSafeguard,
+ gText_PkmnSafeguardExpired,
+ gText_PkmnWentToSleep,
+ gText_PkmnSleptHealthy,
+ gText_PkmnWhippedWhirlwind,
+ gText_PkmnTookSunlight,
+ gText_PkmnLoweredHead,
+ gText_PkmnIsGlowing,
+ gText_PkmnFlewHigh,
+ gText_PkmnDugHole,
+ gText_PkmnSqueezedByBind,
+ gText_PkmnTrappedInVortex,
+ gText_PkmnWrappedBy,
+ gText_PkmnClamped,
+ gText_PkmnHurtBy,
+ gText_PkmnFreedFrom,
+ gText_PkmnCrashed,
+ gText_PkmnShroudedInMist,
+ gText_PkmnProtectedByMist,
+ gText_PkmnGettingPumped,
+ gText_PkmnHitWithRecoil,
+ gText_PkmnProtectedItself2,
+ gText_PkmnBuffetedBySandstorm,
+ gText_PkmnPeltedByHail,
+ gText_PkmnSeeded,
+ gText_PkmnEvadedAttack,
+ gText_PkmnSappedByLeechSeed,
+ gText_PkmnFastAsleep,
+ gText_PkmnWokeUp,
+ gText_PkmnUproarKeptAwake,
+ gText_PkmnWokeUpInUproar,
+ gText_PkmnCausedUproar,
+ gText_PkmnMakingUproar,
+ gText_PkmnCalmedDown,
+ gText_PkmnCantSleepInUproar,
+ gText_PkmnStockpiled,
+ gText_PkmnCantStockpile,
+ gText_PkmnCantSleepInUproar2,
+ gText_UproarKeptPkmnAwake,
+ gText_PkmnStayedAwakeUsing,
+ gText_PkmnStoringEnergy,
+ gText_PkmnUnleashedEnergy,
+ gText_PkmnFatigueConfusion,
+ gText_PkmnPickedUpItem,
+ gText_PkmnUnaffected,
+ gText_PkmnTransformedInto,
+ gText_PkmnMadeSubstitute,
+ gText_PkmnHasSubstitute,
+ gText_SubstituteDamaged,
+ gText_PkmnSubstituteFaded,
+ gText_PkmnMustRecharge,
+ gText_PkmnRageBuilding,
+ gText_PkmnMoveWasDisabled,
+ gText_PkmnMoveIsDisabled,
+ gText_PkmnMoveDisabledNoMore,
+ gText_PkmnGotEncore,
+ gText_PkmnEncoreEnded,
+ gText_PkmnTookAim,
+ gText_PkmnSketchedMove,
+ gText_PkmnTryingToTakeFoe,
+ gText_PkmnTookFoe,
+ gText_PkmnReducedPP,
+ gText_PkmnStoleItem,
+ gText_TargetCantEscapeNow,
+ gText_PkmnFellIntoNightmare,
+ gText_PkmnLockedInNightmare,
+ gText_PkmnLaidCurse,
+ gText_PkmnAfflictedByCurse,
+ gText_SpikesScattered,
+ gText_PkmnHurtBySpikes,
+ gText_PkmnIdentified,
+ gText_PkmnPerishCountFell,
+ gText_PkmnBracedItself,
+ gText_PkmnEnduredHit,
+ gText_MagnitudeStrength,
+ gText_PkmnCutHPMaxedAttack,
+ gText_PkmnCopiedStatChanges,
+ gText_PkmnGotFree,
+ gText_PkmnShedLeechSeed,
+ gText_PkmnBlewAwaySpikes,
+ gText_PkmnFledFromBattle,
+ gText_PkmnForesawAttack,
+ gText_PkmnTookAttack,
+ gText_PkmnAttack,
+ gText_PkmnCenterAttention,
+ gText_PkmnChargingPower,
+ gText_NaturePowerTurnedInto,
+ gText_PkmnStatusNormal,
+ gText_PkmnHasNoMovesLeft,
+ gText_PkmnSubjectedToTorment,
+ gText_PkmnCantUseMoveTorment,
+ gText_PkmnTighteningFocus,
+ gText_PkmnFellForTaunt,
+ gText_PkmnCantUseMoveTaunt,
+ gText_PkmnReadyToHelp,
+ gText_PkmnSwitchedItems,
+ gText_PkmnCopiedFoe,
+ gText_PkmnMadeWish,
+ gText_PkmnWishCameTrue,
+ gText_PkmnPlantedRoots,
+ gText_PkmnAbsorbedNutrients,
+ gText_PkmnAnchoredItself,
+ gText_PkmnWasMadeDrowsy,
+ gText_PkmnKnockedOff,
+ gText_PkmnSwappedAbilities,
+ gText_PkmnSealedOpponentMove,
+ gText_PkmnCantUseMoveSealed,
+ gText_PkmnWantsGrudge,
+ gText_PkmnLostPPGrudge,
+ gText_PkmnShroudedItself,
+ gText_PkmnMoveBounced,
+ gText_PkmnWaitsForTarget,
+ gText_PkmnSnatchedMove,
+ gText_PkmnMadeItRain,
+ gText_PkmnRaisedSpeed,
+ gText_PkmnProtectedBy,
+ gText_PkmnPreventsUsage,
+ gText_PkmnRestoredHPUsing,
+ gText_PkmnChangedTypeWith,
+ gText_PkmnPreventsParalysisWith,
+ gText_PkmnPreventsRomanceWith,
+ gText_PkmnPreventsPoisoningWith,
+ gText_PkmnPreventsConfusionWith,
+ gText_PkmnRaisedFirePowerWith,
+ gText_PkmnAnchorsItselfWith,
+ gText_PkmnCutsAttackWith,
+ gText_PkmnPreventsStatLossWith,
+ gText_PkmnHurtsWith,
+ gText_PkmnTraced,
+ gText_StatSharply,
+ gText_StatRose,
+ gText_StatHarshly,
+ gText_StatFell,
+ gText_PkmnsStatChanged,
+ gText_PkmnsStatChanged2,
+ gText_PkmnsStatChanged3,
+ gText_PkmnsStatChanged4,
+ gText_CriticalHit,
+ gText_OneHitKO,
+ gText_123Poof,
+ gText_AndEllipsis,
+ gText_NotVeryEffective,
+ gText_SuperEffective,
+ gText_GotAwaySafely,
+ gText_WildPkmnFled,
+ gText_NoRunningFromTrainers,
+ gText_CantEscape,
+ gText_DontLeaveBirch,
+ gText_ButNothingHappened,
+ gText_ButItFailed,
+ gText_ItHurtConfusion,
+ gText_MirrorMoveFailed,
+ gText_StartedToRain,
+ gText_DownpourStarted,
+ gText_RainContinues,
+ gText_DownpourContinues,
+ gText_RainStopped,
+ gText_SandstormBrewed,
+ gText_SandstormRages,
+ gText_SandstormSubsided,
+ gText_SunlightGotBright,
+ gText_SunlightStrong,
+ gText_SunlightFaded,
+ gText_StartedHail,
+ gText_HailContinues,
+ gText_HailStopped,
+ gText_FailedToSpitUp,
+ gText_FailedToSwallow,
+ gText_WindBecameHeatWave,
+ gText_StatChangesGone,
+ gText_CoinsScattered,
+ gText_TooWeakForSubstitute,
+ gText_SharedPain,
+ gText_BellChimed,
+ gText_FaintInThree,
+ gText_NoPPLeft,
+ gText_ButNoPPLeft,
+ gText_PlayerUsedItem,
+ gText_WallyUsedItem,
+ gText_TrainerBlockedBall,
+ gText_DontBeAThief,
+ gText_ItDodgedBall,
+ gText_YouMissedPkmn,
+ gText_PkmnBrokeFree,
+ gText_ItAppearedCaught,
+ gText_AarghAlmostHadIt,
+ gText_ShootSoClose,
+ gText_GotchaPkmnCaught,
+ gText_GotchaPkmnCaught2,
+ gText_GiveNicknameCaptured,
+ gText_PkmnSentToPC,
+ gText_PkmnDataAddedToDex,
+ gText_ItIsRaining,
+ gText_SandstormIsRaging,
+ gText_CantEscape2,
+ gText_PkmnIgnoresAsleep,
+ gText_PkmnIgnoredOrders,
+ gText_PkmnBeganToNap,
+ gText_PkmnLoafing,
+ gText_PkmnWontObey,
+ gText_PkmnTurnedAway,
+ gText_PkmnPretendNotNotice,
+ gText_EnemyAboutToSwitchPkmn,
+ gText_CreptCloser,
+ gText_CantGetCloser,
+ gText_PkmnWatchingCarefully,
+ gText_PkmnCuriousAboutX,
+ gText_PkmnEnthralledByX,
+ gText_PkmnIgnoredX,
+ gText_ThrewPokeblockAtPkmn,
+ gText_OutOfSafariBalls,
+ gText_PkmnsItemCuredParalysis,
+ gText_PkmnsItemCuredPoison,
+ gText_PkmnsItemHealedBurn,
+ gText_PkmnsItemDefrostedIt,
+ gText_PkmnsItemWokeIt,
+ gText_PkmnsItemSnappedOut,
+ gText_PkmnsItemCuredProblem,
+ gText_PkmnsItemRestoredHealth,
+ gText_PkmnsItemRestoredPP,
+ gText_PkmnsItemRestoredStatus,
+ gText_PkmnsItemRestoredHPALittle,
+ gText_ItemAllowsOnlyYMove,
+ gText_PkmnHungOnWithX,
+ gText_EmptyString3,
+ gText_PkmnsXPreventsBurns,
+ gText_PkmnsXBlocksY,
+ gText_PkmnsXRestoredHPALittle2,
+ gText_PkmnsXWhippedUpSandstorm,
+ gText_PkmnsXPreventsYLoss,
+ gText_PkmnsXInfatuatedY,
+ gText_PkmnsXMadeYIneffective,
+ gText_PkmnsXCuredYProblem,
+ gText_ItSuckedLiquidOoze,
+ gText_PkmnTransformed,
+ gText_ElectricityWeakened,
+ gText_FireWeakened,
+ gText_PkmnHidUnderwater,
+ gText_PkmnSprangUp,
+ gText_HMMovesCantBeForgotten,
+ gText_XFoundOneY,
+ gText_PlayerDefeatedLinkTrainerTrainer1,
+ gText_SoothingAroma,
+ gText_ItemsCantBeUsedNow,
+ gText_ForXCommaYZ,
+ gText_UsingXTheYOfZN,
+ gText_PkmnUsedXToGetPumped,
+ gText_PkmnsXMadeYUseless,
+ gText_PkmnTrappedBySandTomb,
+ gText_EmptyString4,
+ gText_ABoosted,
+ gText_PkmnsXIntensifiedSun,
+ gText_PkmnMakesGroundMiss,
+ gText_YouThrowABallNowRight,
+ gText_PkmnsXTookAttack,
+ gText_PkmnChoseXAsDestiny,
+ gText_PkmnLostFocus,
+ gText_UseNextPkmn,
+ gText_PkmnFledUsingIts,
+ gText_PkmnFledUsing,
+ gText_PkmnWasDraggedOut,
+ gText_PreventedFromWorking,
+ gText_PkmnsItemNormalizedStatus,
+ gText_Trainer1UsedItem,
+ gText_BoxIsFull,
+ gText_PkmnAvoidedAttack,
+ gText_PkmnsXMadeItIneffective,
+ gText_PkmnsXPreventsFlinching,
+ gText_PkmnAlreadyHasBurn,
+ gText_StatsWontDecrease2,
+ gText_PkmnsXBlocksY2,
+ gText_PkmnsXWoreOff,
+ gText_PkmnRaisedDefALittle,
+ gText_PkmnRaisedSpDefALittle,
+ gText_TheWallShattered,
+ gText_PkmnsXPreventsYsZ,
+ gText_PkmnsXCuredItsYProblem,
+ gText_AttackerCantEscape,
+ gText_PkmnObtainedX,
+ gText_PkmnObtainedX2,
+ gText_PkmnObtainedXYObtainedZ,
+ gText_ButNoEffect,
+ gText_PkmnsXHadNoEffectOnY,
+ gText_TwoInGameTrainersDefeated,
+ gText_Trainer2LoseText,
+ gText_PkmnIncapableOfPower,
+ gText_GlintAppearsInEye,
+ gText_PkmnGettingIntoPosition,
+ gText_PkmnBeganGrowlingDeeply,
+ gText_PkmnEagerForMore,
+ gText_DefeatedOpponentByReferee,
+ gText_LostToOpponentByReferee,
+ gText_TiedOpponentByReferee,
+ gText_QuestionForfeitMatch,
+ gText_ForfeitedMatch,
+ gText_PkmnTransferredSomeonesPC,
+ gText_PkmnTransferredLanettesPC,
+ gText_PkmnBoxSomeonesPCFull,
+ gText_PkmnBoxLanettesPCFull,
+ gText_Trainer1WinText,
+ gText_Trainer2WinText,
+};
+
+const u16 gMissStringIds[] =
+{
+ STRINGID_ATTACKMISSED, STRINGID_PKMNPROTECTEDITSELF,
+ STRINGID_PKMNAVOIDEDATTACK, STRINGID_AVOIDEDDAMAGE,
+ STRINGID_PKMNMAKESGROUNDMISS
+};
+
+const u16 gNoEscapeStringIds[] =
+{
+ STRINGID_CANTESCAPE, STRINGID_DONTLEAVEBIRCH, STRINGID_PREVENTSESCAPE,
+ STRINGID_CANTESCAPE2, STRINGID_ATTACKERCANTESCAPE
+};
+
+const u16 gMoveWeatherChangeStringIds[] =
+{
+ STRINGID_STARTEDTORAIN, STRINGID_DOWNPOURSTARTED, STRINGID_BUTITFAILED,
+ STRINGID_SANDSTORMBREWED, STRINGID_SUNLIGHTGOTBRIGHT, STRINGID_STARTEDHAIL
+};
+
+const u16 gSandStormHailContinuesStringIds[] =
+{
+ STRINGID_SANDSTORMRAGES, STRINGID_HAILCONTINUES
+};
+
+const u16 gSandStormHailDmgStringIds[] =
+{
+ STRINGID_PKMNBUFFETEDBYSANDSTORM, STRINGID_PKMNPELTEDBYHAIL
+};
+
+// todo once battlescripts are dumped
+const u16 gTooLazyToSplitThemStringIds[] =
+{
+ STRINGID_SANDSTORMSUBSIDED, STRINGID_HAILSTOPPED, STRINGID_RAINCONTINUES, STRINGID_DOWNPOURCONTINUES,
+ STRINGID_RAINSTOPPED, STRINGID_PKMNPROTECTEDITSELF2, STRINGID_PKMNBRACEDITSELF,
+ STRINGID_BUTITFAILED, STRINGID_BUTITFAILED, STRINGID_PKMNRAISEDDEF,
+ STRINGID_PKMNRAISEDDEFALITTLE, STRINGID_PKMNRAISEDSPDEF, STRINGID_PKMNRAISEDSPDEFALITTLE,
+ STRINGID_PKMNCOVEREDBYVEIL, STRINGID_PKMNSEEDED, STRINGID_PKMNEVADEDATTACK,
+ STRINGID_ITDOESNTAFFECT, STRINGID_PKMNSAPPEDBYLEECHSEED, STRINGID_ITSUCKEDLIQUIDOOZE,
+ STRINGID_PKMNWENTTOSLEEP, STRINGID_PKMNSLEPTHEALTHY, STRINGID_PKMNMAKINGUPROAR,
+ STRINGID_PKMNCALMEDDOWN, STRINGID_PKMNSTOCKPILED, STRINGID_PKMNCANTSTOCKPILE,
+ STRINGID_PKMNWOKEUP, STRINGID_PKMNWOKEUPINUPROAR, STRINGID_FAILEDTOSWALLOW,
+ STRINGID_PKMNHPFULL, STRINGID_PKMNCANTSLEEPINUPROAR2, STRINGID_UPROARKEPTPKMNAWAKE,
+ STRINGID_PKMNSTAYEDAWAKEUSING, STRINGID_PKMNSSTATCHANGED, STRINGID_PKMNSSTATCHANGED2,
+ STRINGID_STATSWONTINCREASE, STRINGID_EMPTYSTRING3, STRINGID_USINGXTHEYOFZN,
+ STRINGID_PKMNUSEDXTOGETPUMPED, STRINGID_PKMNSSTATCHANGED3, STRINGID_PKMNSSTATCHANGED4,
+ STRINGID_STATSWONTDECREASE, STRINGID_EMPTYSTRING3, STRINGID_PKMNWHIPPEDWHIRLWIND,
+ STRINGID_PKMNTOOKSUNLIGHT, STRINGID_PKMNLOWEREDHEAD, STRINGID_PKMNISGLOWING,
+ STRINGID_PKMNFLEWHIGH, STRINGID_PKMNDUGHOLE, STRINGID_PKMNHIDUNDERWATER,
+ STRINGID_PKMNSPRANGUP, STRINGID_PKMNSQUEEZEDBYBIND, STRINGID_PKMNWRAPPEDBY,
+ STRINGID_PKMNTRAPPEDINVORTEX, STRINGID_PKMNCLAMPED, STRINGID_PKMNTRAPPEDINVORTEX,
+ STRINGID_PKMNTRAPPEDBYSANDTOMB, STRINGID_PKMNSHROUDEDINMIST, STRINGID_BUTITFAILED,
+ STRINGID_PKMNGETTINGPUMPED, STRINGID_BUTITFAILED, STRINGID_PKMNTRANSFORMEDINTO,
+ STRINGID_BUTITFAILED, STRINGID_PKMNMADESUBSTITUTE, STRINGID_TOOWEAKFORSUBSTITUTE,
+ STRINGID_PKMNWASPOISONED, STRINGID_PKMNPOISONEDBY, STRINGID_PKMNWASPARALYZED,
+ STRINGID_PKMNWASPARALYZEDBY, STRINGID_PKMNFELLASLEEP, STRINGID_PKMNMADESLEEP,
+ STRINGID_PKMNWASBURNED, STRINGID_PKMNBURNEDBY, STRINGID_PKMNWASFROZEN,
+ STRINGID_PKMNFROZENBY, STRINGID_PKMNWASDEFROSTED2, STRINGID_PKMNWASDEFROSTEDBY,
+ STRINGID_ATTACKMISSED, STRINGID_PKMNUNAFFECTED, STRINGID_PKMNFELLINLOVE,
+ STRINGID_PKMNSXINFATUATEDY, STRINGID_PKMNENERGYDRAINED, STRINGID_ITSUCKEDLIQUIDOOZE,
+ STRINGID_ELECTRICITYWEAKENED, STRINGID_FIREWEAKENED, STRINGID_BELLCHIMED,
+ STRINGID_BELLCHIMED, STRINGID_BELLCHIMED, STRINGID_BELLCHIMED,
+ STRINGID_SOOTHINGAROMA, STRINGID_PKMNFORESAWATTACK, STRINGID_PKMNCHOSEXASDESTINY,
+ STRINGID_PKMNBROKEFREE, STRINGID_ITAPPEAREDCAUGHT, STRINGID_AARGHALMOSTHADIT,
+ STRINGID_SHOOTSOCLOSE, STRINGID_ITISRAINING, STRINGID_ITISRAINING,
+ STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_ITISRAINING,
+ STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_ITISRAINING,
+ STRINGID_SANDSTORMISRAGING, STRINGID_ITISRAINING, STRINGID_ITISRAINING,
+ STRINGID_ITISRAINING, STRINGID_SUNLIGHTSTRONG, STRINGID_ITISRAINING,
+ STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_PKMNLOAFING,
+ STRINGID_PKMNWONTOBEY, STRINGID_PKMNTURNEDAWAY, STRINGID_PKMNPRETENDNOTNOTICE,
+ STRINGID_PKMNINCAPABLEOFPOWER, STRINGID_CREPTCLOSER, STRINGID_CANTGETCLOSER,
+ STRINGID_PKMNCURIOUSABOUTX, STRINGID_PKMNENTHRALLEDBYX, STRINGID_PKMNIGNOREDX,
+ STRINGID_PKMNSITEMSNAPPEDOUT, STRINGID_PKMNSITEMCUREDPARALYSIS, STRINGID_PKMNSITEMDEFROSTEDIT,
+ STRINGID_PKMNSITEMHEALEDBURN, STRINGID_PKMNSITEMCUREDPOISON, STRINGID_PKMNSITEMWOKEIT,
+ STRINGID_PKMNSITEMCUREDPROBLEM, STRINGID_PKMNSITEMNORMALIZEDSTATUS, STRINGID_PKMNSXPREVENTSBURNS,
+ STRINGID_PKMNSXPREVENTSYSZ, STRINGID_PKMNSXHADNOEFFECTONY, STRINGID_PKMNPREVENTSPARALYSISWITH,
+ STRINGID_PKMNSXPREVENTSYSZ, STRINGID_PKMNSXHADNOEFFECTONY, STRINGID_PKMNPREVENTSPOISONINGWITH,
+ STRINGID_PKMNSXPREVENTSYSZ, STRINGID_PKMNSXHADNOEFFECTONY, STRINGID_PKMNOBTAINEDX,
+ STRINGID_PKMNOBTAINEDX2, STRINGID_PKMNOBTAINEDXYOBTAINEDZ, STRINGID_PKMNRAISEDFIREPOWERWITH,
+ STRINGID_PKMNSXMADEYINEFFECTIVE, STRINGID_PKMNTRANSFERREDSOMEONESPC, STRINGID_PKMNTRANSFERREDLANETTESPC,
+ STRINGID_PKMNBOXSOMEONESPCFULL, STRINGID_PKMNBOXLANETTESPCFULL,
+};
+
+const u16 gTrappingMoves[] =
+{
+ MOVE_BIND, MOVE_WRAP, MOVE_FIRE_SPIN, MOVE_CLAMP, MOVE_WHIRLPOOL, MOVE_SAND_TOMB, 0xFFFF
+};
+
+const u8 gText_PkmnIsEvolving[] = _("What?\n{STR_VAR_1} is evolving!");
+const u8 gText_CongratsPkmnEvolved[] = _("Congratulations! Your {STR_VAR_1}\nevolved into {STR_VAR_2}!{UNKNOWN_A}\p");
+const u8 gText_PkmnStoppedEvolving[] = _("Huh? {STR_VAR_1}\nstopped evolving!\p");
+const u8 gText_EllipsisQuestionMark[] = _("……?\p");
+const u8 gText_WhatWillPkmnDo[] = _("What will\n{B_ACTIVE_NAME_WITH_PREFIX} do?");
+const u8 gText_WhatWillPkmnDo2[] = _("What will\n{B_PLAYER_NAME} do?");
+const u8 gText_WhatWillWallyDo[] = _("What will\nWALLY do?");
+const u8 gText_LinkStandby[] = _("{PAUSE 16}Link standby…");
+const u8 gText_BattleMenu[] = _("FIGHT{CLEAR_TO 56}BAG\nPOKéMON{CLEAR_TO 56}RUN");
+const u8 gText_SafariZoneMenu[] = _("BALL{CLEAR_TO 56}{POKEBLOCK}\nGO NEAR{CLEAR_TO 56}RUN");
+const u8 gText_MoveInterfacePP[] = _("PP ");
+const u8 gText_MoveInterfaceType[] = _("TYPE/");
+const u8 gText_MoveInterfacePpType[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW DYNAMIC_COLOR4 DYNAMIC_COLOR5 DYNAMIC_COLOR6}PP\nTYPE/");
+const u8 gText_MoveInterfaceDynamicColors[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW DYNAMIC_COLOR4 DYNAMIC_COLOR5 DYNAMIC_COLOR6}");
+const u8 gText_WhichMoveToForget4[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW DYNAMIC_COLOR4 DYNAMIC_COLOR5 DYNAMIC_COLOR6}Which move should\nbe forgotten?");
+const u8 gText_BattleYesNoChoice[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW DYNAMIC_COLOR4 DYNAMIC_COLOR5 DYNAMIC_COLOR6}Yes\nNo");
+const u8 gText_BattleSwitchWhich[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW DYNAMIC_COLOR4 DYNAMIC_COLOR5 DYNAMIC_COLOR6}Switch\nwhich?");
+const u8 gText_BattleSwitchWhich2[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW DYNAMIC_COLOR4 DYNAMIC_COLOR5 DYNAMIC_COLOR6}");
+const u8 gText_BattleSwitchWhich3[] = _("{UP_ARROW}");
+const u8 gText_BattleSwitchWhich4[] = _("{ESCAPE 4}");
+const u8 gText_BattleSwitchWhich5[] = _("-");
+
+const u8 gText_HP[] = _("HP");
+const u8 gText_Attack[] = _("ATTACK");
+const u8 gText_Defense[] = _("DEFENSE");
+const u8 gText_SpAtk[] = _("SP. ATK");
+const u8 gText_SpDef[] = _("SP. DEF");
+
+const u8 * const gStatNamesTable2[] =
+{
+ gText_HP, gText_SpAtk, gText_Attack,
+ gText_SpDef, gText_Defense, gText_Speed
+};
+
+const u8 gText_SafariBalls[] = _("{HIGHLIGHT DARK_GREY}SAFARI BALLS");
+const u8 gText_SafariBallLeft[] = _("{HIGHLIGHT DARK_GREY}Left: $" "{HIGHLIGHT DARK_GREY}");const u8 gText_Sleep[] = _( "sleep");const u8 gText_Poison[] = _( "poison");const u8 gText_Burn[] = _( "burn");const u8 gText_Paralysis[] = _( "paralysis");const u8 gText_Ice[] = _( "ice");const u8 gText_Confusion[] = _( "confusion");const u8 gText_Love[] = _( "love");
+const u8 gText_SpaceAndSpace[] = _(" and ");
+const u8 gText_CommaSpace[] = _(", ");
+const u8 gText_Space2[] = _(" ");
+const u8 gText_ScrollTextUp[] = _("\l");
+const u8 gText_NewLine[] = _("\n");
+const u8 gText_Are[] = _("are");
+const u8 gText_Are2[] = _("are");
+const u8 gText_BadEgg[] = _("Bad EGG");
+const u8 gText_BattleWallyName[] = _("WALLY");
+const u8 gText_Win[] = _("{HIGHLIGHT TRANSPARENT}Win");
+const u8 gText_Loss[] = _("{HIGHLIGHT TRANSPARENT}Loss");
+const u8 gText_Draw[] = _("{HIGHLIGHT TRANSPARENT}Draw");
+const u8 gText_SpaceIs[] = _(" is");
+const u8 gText_ApostropheS[] = _("’s");
+
+const u8 gText_UnknownMoveTypes[][17] =
+{
+ _("a NORMAL move"),
+ _("a FIGHTING move"),
+ _("a FLYING move"),
+ _("a POISON move"),
+ _("a GROUND move"),
+ _("a ROCK move"),
+ _("a BUG move"),
+ _("a GHOST move"),
+ _("a STEEL move"),
+ _("a ??? move"),
+ _("a FIRE move"),
+ _("a WATER move"),
+ _("a GRASS move"),
+ _("an ELECTRIC move"),
+ _("a PSYCHIC move"),
+ _("an ICE move"),
+ _("a DRAGON move"),
+ _("a DARK move")
+};
+
+const u8 gText_BattleTourney[] = _("BATTLE TOURNEY");
+const u8 gText_Round1[] = _("Round 1");
+const u8 gText_Round2[] = _("Round 2");
+const u8 gText_Semifinal[] = _("Semifinal");
+const u8 gText_Final[] = _("Final");
+
+const u8 * const gRoundsStringTable[] =
+{
+ gText_Round1,
+ gText_Round2,
+ gText_Semifinal,
+ gText_Final
+};
+
+const u8 gText_TheGreatNewHope[] = _("The great new hope!\p");
+const u8 gText_WillChampinshipDreamComeTrue[] = _("Will the championship dream come true?!\p");
+const u8 gText_AFormerChampion[] = _("A former CHAMPION!\p");
+const u8 gText_ThePreviousChampion[] = _("The previous CHAMPION!\p");
+const u8 gText_TheUnbeatenChampion[] = _("The unbeaten CHAMPION!\p");
+const u8 gText_PlayerMon1Name[] = _("{B_PLAYER_MON1_NAME}");
+const u8 gText_Vs[] = _("VS");
+const u8 gText_OpponentMon1Name[] = _("{B_OPPONENT_MON1_NAME}");
+const u8 gText_Mind[] = _("Mind");
+const u8 gText_Skill[] = _("Skill");
+const u8 gText_Body[] = _("Body");
+const u8 gText_Judgement[] = _("{B_BUFF1}{CLEAR 13}Judgment{CLEAR 13}{B_BUFF2}");
+const u8 gText_TwoTrainersSentPkmn[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME} sent\nout {B_OPPONENT_MON1_NAME}!\p{B_TRAINER2_CLASS} {B_TRAINER2_NAME} sent\nout {B_OPPONENT_MON2_NAME}!");
+const u8 gText_Trainer2SentOutPkmn[] = _("{B_TRAINER2_CLASS} {B_TRAINER2_NAME} sent\nout {B_BUFF1}!");
+const u8 gText_TwoTrainersWantToBattle[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME} and\n{B_TRAINER2_CLASS} {B_TRAINER2_NAME}\lwant to battle!\p");
+const u8 gText_InGamePartnerSentOutZGoN[] = _("{B_PARTNER_CLASS} {B_PARTNER_NAME} sent\nout {B_PLAYER_MON2_NAME}!\lGo, {B_PLAYER_MON1_NAME}!");
+const u8 gText_TwoInGameTrainersDefeated[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME} and\n{B_TRAINER2_CLASS} {B_TRAINER2_NAME}\lwere defeated!\p");
+const u8 gText_Trainer2LoseText[] = _("{B_TRAINER2_LOSE_TEXT}");
+const u8 gText_PkmnIncapableOfPower[] = _("{B_ATK_NAME_WITH_PREFIX} appears incapable\nof using its power!");
+const u8 gText_GlintAppearsInEye[] = _("A glint appears in\n{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s eyes!");
+const u8 gText_PkmnGettingIntoPosition[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is getting into\nposition!");
+const u8 gText_PkmnBeganGrowlingDeeply[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} began growling deeply!");
+const u8 gText_PkmnEagerForMore[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is eager for more!");
+
+const u16 gUnknown_085CCF0A[] =
+{
+ 0x016E, 0x016F, 0x0170, 0x0171
+};
+
+const u8 gText_RefIfNothingIsDecided[] = _("REFEREE: If nothing is decided in\n3 turns, we will go to judging!");
+const u8 gText_RefThatsIt[] = _("REFEREE: That’s it! We will now go to\njudging to determine the winner!");
+const u8 gText_RefJudgeMind[] = _("REFEREE: Judging category 1, Mind!\nThe POKéMON showing the most guts!\p");
+const u8 gText_RefJudgeSkill[] = _("REFEREE: Judging category 2, Skill!\nThe POKéMON using moves the best!\p");
+const u8 gText_RefJudgeBody[] = _("REFEREE: Judging category 3, Body!\nThe POKéMON with the most vitality!\p");
+const u8 gText_RefJudgement1[] = _("REFEREE: Judgment: {B_BUFF1} to {B_BUFF2}!\nThe winner is {B_PLAYER_NAME}’s {B_PLAYER_MON1_NAME}!\p");
+const u8 gText_RefJudgement2[] = _("REFEREE: Judgment: {B_BUFF1} to {B_BUFF2}!\nThe winner is {B_TRAINER1_NAME}’s {B_OPPONENT_MON1_NAME}!\p");
+const u8 gText_RefJudgement3[] = _("REFEREE: Judgment: 3 to 3!\nWe have a draw!\p");
+const u8 gText_DefeatedOpponentByReferee[] = _("{B_PLAYER_MON1_NAME} defeated the opponent\n{B_OPPONENT_MON1_NAME} in a REFEREE’s decision!");
+const u8 gText_LostToOpponentByReferee[] = _("{B_PLAYER_MON1_NAME} lost to the opponent\n{B_OPPONENT_MON1_NAME} in a REFEREE’s decision!");
+const u8 gText_TiedOpponentByReferee[] = _("{B_PLAYER_MON1_NAME} tied the opponent\n{B_OPPONENT_MON1_NAME} in a REFEREE’s decision!");
+const u8 gText_RefCommenceBattle[] = _("REFEREE: {B_PLAYER_MON1_NAME} VS {B_OPPONENT_MON1_NAME}!\nCommence battling!");
+
+const u8 * const gRefereeStringsTable[] =
+{
+ gText_RefIfNothingIsDecided,
+ gText_RefThatsIt,
+ gText_RefJudgeMind,
+ gText_RefJudgeSkill,
+ gText_RefJudgeBody,
+ gText_RefJudgement1,
+ gText_RefJudgement2,
+ gText_RefJudgement3,
+ gText_RefCommenceBattle,
+};
+
+const u8 gText_QuestionForfeitMatch[] = _("Would you like to forfeit the match\nand quit now?");
+const u8 gText_ForfeitedMatch[] = _("{B_PLAYER_NAME} forfeited the match!");
+const u8 gText_Trainer1WinText[] = _("{B_TRAINER1_WIN_TEXT}");
+const u8 gText_Trainer2WinText[] = _("{B_TRAINER2_WIN_TEXT}");
+const u8 gText_Trainer1Fled[] = _( "{PLAY_SE 0x0011}{B_TRAINER1_CLASS} {B_TRAINER1_NAME} fled!");
+const u8 gText_PlayerLostAgainstTrainer1[] = _("Player lost against\n{B_TRAINER1_CLASS} {B_TRAINER1_NAME}!");
+const u8 gText_PlayerBattledToDrawTrainer1[] = _("Player battled to a draw against\n{B_TRAINER1_CLASS} {B_TRAINER1_NAME}!");
+const u8 gText_RecordBattleToPass[] = _("Would you like to record your battle\non your FRONTIER PASS?");
+const u8 gText_BattleRecordedOnPass[] = _("{B_PLAYER_NAME}’s battle result was recorded\non the FRONTIER PASS.");
+const u8 gText_LinkTrainerWantsToBattlePause[] = _("{B_20}\nwants to battle!{PAUSE 49}");
+const u8 gText_TwoLinkTrainersWantToBattlePause[] = _("{B_20} and {B_21}\nwant to battle!{PAUSE 49}");
+
+static const u16 sUnknownMoveTable[] =
+{
+ MOVE_SWORDS_DANCE, MOVE_STRENGTH, MOVE_GROWTH,
+ MOVE_HARDEN, MOVE_MINIMIZE, MOVE_SMOKESCREEN,
+ MOVE_WITHDRAW, MOVE_DEFENSE_CURL, MOVE_EGG_BOMB,
+ MOVE_SMOG, MOVE_BONE_CLUB, MOVE_FLASH, MOVE_SPLASH,
+ MOVE_ACID_ARMOR, MOVE_BONEMERANG, MOVE_REST, MOVE_SHARPEN,
+ MOVE_SUBSTITUTE, MOVE_MIND_READER, MOVE_SNORE,
+ MOVE_PROTECT, MOVE_SPIKES, MOVE_ENDURE, MOVE_ROLLOUT,
+ MOVE_SWAGGER, MOVE_SLEEP_TALK, MOVE_HIDDEN_POWER,
+ MOVE_PSYCH_UP, MOVE_EXTREME_SPEED, MOVE_FOLLOW_ME,
+ MOVE_TRICK, MOVE_ASSIST, MOVE_INGRAIN, MOVE_KNOCK_OFF,
+ MOVE_CAMOUFLAGE, MOVE_ASTONISH, MOVE_ODOR_SLEUTH,
+ MOVE_GRASS_WHISTLE, MOVE_SHEER_COLD, MOVE_MUDDY_WATER,
+ MOVE_IRON_DEFENSE, MOVE_BOUNCE, MOVE_NONE,
+
+ MOVE_TELEPORT, MOVE_RECOVER, MOVE_BIDE, MOVE_AMNESIA,
+ MOVE_FLAIL, MOVE_TAUNT, MOVE_BULK_UP, MOVE_NONE,
+
+ MOVE_MEDITATE, MOVE_AGILITY, MOVE_MIMIC, MOVE_DOUBLE_TEAM,
+ MOVE_BARRAGE, MOVE_TRANSFORM, MOVE_STRUGGLE, MOVE_SCARY_FACE,
+ MOVE_CHARGE, MOVE_WISH, MOVE_BRICK_BREAK, MOVE_YAWN,
+ MOVE_FEATHER_DANCE, MOVE_TEETER_DANCE, MOVE_MUD_SPORT,
+ MOVE_FAKE_TEARS, MOVE_WATER_SPORT, MOVE_CALM_MIND, MOVE_NONE,
+
+ MOVE_POUND, MOVE_SCRATCH, MOVE_VICE_GRIP,
+ MOVE_WING_ATTACK, MOVE_FLY, MOVE_BIND, MOVE_SLAM,
+ MOVE_HORN_ATTACK, MOVE_WRAP, MOVE_THRASH, MOVE_TAIL_WHIP,
+ MOVE_LEER, MOVE_BITE, MOVE_GROWL, MOVE_ROAR,
+ MOVE_SING, MOVE_PECK, MOVE_ABSORB, MOVE_STRING_SHOT,
+ MOVE_EARTHQUAKE, MOVE_FISSURE, MOVE_DIG, MOVE_TOXIC,
+ MOVE_SCREECH, MOVE_METRONOME, MOVE_LICK, MOVE_CLAMP,
+ MOVE_CONSTRICT, MOVE_POISON_GAS, MOVE_BUBBLE,
+ MOVE_SLASH, MOVE_SPIDER_WEB, MOVE_NIGHTMARE, MOVE_CURSE,
+ MOVE_FORESIGHT, MOVE_CHARM, MOVE_ATTRACT, MOVE_ROCK_SMASH,
+ MOVE_UPROAR, MOVE_SPIT_UP, MOVE_SWALLOW, MOVE_TORMENT,
+ MOVE_FLATTER, MOVE_ROLE_PLAY, MOVE_ENDEAVOR, MOVE_TICKLE,
+ MOVE_COVET, MOVE_NONE
+};
+
+static const u8 sDummyWeirdStatusString[] = {EOS, EOS, EOS, EOS, EOS, EOS, EOS, EOS, 0, 0};
+
+static const u8 gUnknown_085CD42C[] =
+{
+ 0xFF, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0xF, 0x6, 0x0, 0x0, 0xFF, 0x1,
+ 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0xF, 0x6, 0x0, 0x0, 0xEE, 0x1, 0x0, 0x1, 0x0,
+ 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE, 0x7, 0x0, 0x1, 0x0, 0x0, 0x0,
+ 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE, 0x7, 0x0, 0x1, 0x0, 0x0, 0x0, 0xD,
+ 0xE, 0xF, 0x0, 0x0, 0xEE, 0x7, 0x0, 0x1, 0x0, 0x0, 0x0, 0xD, 0xE,
+ 0xF, 0x0, 0x0, 0xEE, 0x7, 0x0, 0x1, 0x0, 0x0, 0x0, 0xD, 0xE, 0xF,
+ 0x0, 0x0, 0xEE, 0x7, 0x0, 0x1, 0x0, 0x0, 0x0, 0xC, 0xE, 0xB, 0x0, 0x0,
+ 0xEE, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE,
+ 0x1, 0x2, 0x1, 0x0, 0x0, 0x0, 0xC, 0xE, 0xB, 0x0, 0x0, 0xEE, 0x7, 0x0,
+ 0x1, 0x0, 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE, 0x7, 0x0, 0x1, 0x0,
+ 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0,
+ 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0xD,
+ 0xE, 0xF, 0x0, 0x0, 0x0, 0x1, 0x20, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2,
+ 0x0, 0x0, 0xEE, 0x1, 0xFF, 0x1, 0x0, 0x0, 0x0, 0xD, 0xE, 0xF, 0x0,
+ 0x0, 0xEE, 0x1, 0xFF, 0x1, 0x0, 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0,
+ 0xEE, 0x1, 0xFF, 0x1, 0x0, 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE,
+ 0x1, 0xFF, 0x1, 0x0, 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE, 0x1,
+ 0xFF, 0x1, 0x0, 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE, 0x1, 0xFF,
+ 0x1, 0x0, 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0, 0x0, 0x1, 0xFF, 0x1, 0x0,
+ 0x0, 0x0, 0x1, 0x0, 0x6, 0x0, 0x0, 0x0, 0x1, 0xFF, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0,
+ 0x6, 0x0, 0x0, 0x0, 0x1, 0xFF, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6, 0x0, 0x0
+};
+
+static const u8 gUnknown_085CD54C[] =
+{
+ 0xFF, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0xF, 0x6, 0x0, 0x0, 0xFF, 0x1,
+ 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0xF, 0x6, 0x0, 0x0, 0xEE, 0x1, 0x0, 0x1, 0x0,
+ 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE, 0x7, 0x0, 0x1, 0x0, 0x0, 0x0,
+ 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE, 0x7, 0x0, 0x1, 0x0, 0x0, 0x0, 0xD,
+ 0xE, 0xF, 0x0, 0x0, 0xEE, 0x7, 0x0, 0x1, 0x0, 0x0, 0x0, 0xD, 0xE,
+ 0xF, 0x0, 0x0, 0xEE, 0x7, 0x0, 0x1, 0x0, 0x0, 0x0, 0xD, 0xE, 0xF,
+ 0x0, 0x0, 0xEE, 0x7, 0x0, 0x1, 0x0, 0x0, 0x0, 0xC, 0xE, 0xB, 0x0, 0x0,
+ 0xEE, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE,
+ 0x1, 0x2, 0x1, 0x0, 0x0, 0x0, 0xC, 0xE, 0xB, 0x0, 0x0, 0xEE, 0x7, 0x0,
+ 0x1, 0x0, 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE, 0x7, 0x0, 0x1, 0x0,
+ 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0,
+ 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0xD,
+ 0xE, 0xF, 0x0, 0x0, 0x0, 0x1, 0x20, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2,
+ 0x0, 0x0, 0xEE, 0x1, 0xFF, 0x1, 0x0, 0x0, 0x0, 0x1, 0xE, 0xF, 0x0,
+ 0x0, 0xEE, 0x1, 0xFF, 0x1, 0x0, 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0,
+ 0xEE, 0x1, 0xFF, 0x1, 0x0, 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE,
+ 0x1, 0xFF, 0x1, 0x0, 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE, 0x1,
+ 0xFF, 0x1, 0x0, 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE, 0x1, 0xFF,
+ 0x1, 0x0, 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE, 0x1, 0xFF, 0x1,
+ 0x0, 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0, 0x11, 0x1, 0x0, 0x1, 0x0, 0x0,
+ 0x1, 0x2, 0x1, 0x3, 0x0, 0x0
+};
+
+static const u8 * const gUnknown_085CD660[] =
+{
+ gUnknown_085CD42C, gUnknown_085CD54C
+};
+
+static const u8 sRecordedBattleTextSpeeds[] = {8, 4, 1, 0};
+
+void BufferStringBattle(u16 stringID)
+{
+ s32 i;
+ const u8* stringPtr = NULL;
+
+ gStringInfo = (struct StringInfoBattle*)(&gBattleBufferA[gActiveBank][4]);
+ gLastUsedItem = gStringInfo->lastItem;
+ gLastUsedAbility = gStringInfo->lastAbility;
+ gBattleScripting.bank = gStringInfo->scrActive;
+ *(&gBattleStruct->field_52) = gStringInfo->unk1605E;
+ *(&gBattleStruct->hpScale) = gStringInfo->hpScale;
+ gStringBank = gStringInfo->StringBank;
+ *(&gBattleStruct->stringMoveType) = gStringInfo->moveType;
+
+ for (i = 0; i < BATTLE_BANKS_COUNT; i++)
+ {
+ gAbilitiesPerBank[i] = gStringInfo->abilities[i];
+ }
+ for (i = 0; i < TEXT_BUFF_ARRAY_COUNT; i++)
+ {
+ gBattleTextBuff1[i] = gStringInfo->textBuffs[0][i];
+ gBattleTextBuff2[i] = gStringInfo->textBuffs[1][i];
+ gBattleTextBuff3[i] = gStringInfo->textBuffs[2][i];
+ }
+
+ switch (stringID)
+ {
+ case STRINGID_INTROMSG: // first battle msg
+ if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
+ {
+ if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000))
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_x800000)
+ {
+ stringPtr = gText_TwoTrainersWantToBattle;
+ }
+ else if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
+ stringPtr = gText_TwoLinkTrainersWantToBattlePause;
+ else
+ stringPtr = gText_TwoLinkTrainersWantToBattle;
+ }
+ else
+ {
+ if (gTrainerBattleOpponent_A == TRAINER_OPPONENT_C00)
+ stringPtr = gText_Trainer1WantsToBattle;
+ else if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
+ stringPtr = gText_LinkTrainerWantsToBattlePause;
+ else
+ stringPtr = gText_LinkTrainerWantsToBattle;
+ }
+ }
+ else
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER)
+ stringPtr = gText_TwoTrainersWantToBattle;
+ else if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS)
+ stringPtr = gText_TwoTrainersWantToBattle;
+ else
+ stringPtr = gText_Trainer1WantsToBattle;
+ }
+ }
+ else
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_LEGENDARY)
+ stringPtr = gText_WildPkmnAppeared2;
+ else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) // interesting, looks like they had something planned for wild double battles
+ stringPtr = gText_TwoWildPkmnAppeared;
+ else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL)
+ stringPtr = gText_WildPkmnAppearedPause;
+ else
+ stringPtr = gText_WildPkmnAppeared;
+ }
+ break;
+ case STRINGID_INTROSENDOUT: // poke first send-out
+ if (GetBankSide(gActiveBank) == SIDE_PLAYER)
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER)
+ stringPtr = gText_InGamePartnerSentOutZGoN;
+ else if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS)
+ stringPtr = gText_GoTwoPkmn;
+ else if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
+ stringPtr = gText_LinkPartnerSentOutPkmnGoPkmn;
+ else
+ stringPtr = gText_GoTwoPkmn;
+ }
+ else
+ {
+ stringPtr = gText_GoPkmn;
+ }
+ }
+ else
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS)
+ stringPtr = gText_TwoTrainersSentPkmn;
+ else if (gBattleTypeFlags & BATTLE_TYPE_x800000)
+ stringPtr = gText_TwoTrainersSentPkmn;
+ else if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
+ stringPtr = gText_TwoLinkTrainersSentOutPkmn;
+ else if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000))
+ stringPtr = gText_LinkTrainerSentOutTwoPkmn;
+ else
+ stringPtr = gText_Trainer1SentOutTwoPkmn;
+ }
+ else
+ {
+ if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)))
+ stringPtr = gText_Trainer1SentOutPkmn;
+ else if (gTrainerBattleOpponent_A == TRAINER_OPPONENT_C00)
+ stringPtr = gText_Trainer1SentOutPkmn;
+ else
+ stringPtr = gText_LinkTrainerSentOutPkmn;
+ }
+ }
+ break;
+ case STRINGID_RETURNMON: // sending poke to ball msg
+ if (GetBankSide(gActiveBank) == SIDE_PLAYER)
+ {
+ if (*(&gBattleStruct->hpScale) == 0)
+ stringPtr = gText_PkmnThatsEnough;
+ else if (*(&gBattleStruct->hpScale) == 1 || gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
+ stringPtr = gText_PkmnComeBack;
+ else if (*(&gBattleStruct->hpScale) == 2)
+ stringPtr = gText_PkmnOkComeBack;
+ else
+ stringPtr = gText_PkmnGoodComeBack;
+ }
+ else
+ {
+ if (gTrainerBattleOpponent_A == TRAINER_OPPONENT_800 || gBattleTypeFlags & BATTLE_TYPE_x2000000)
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
+ stringPtr = gText_LinkTrainer2WithdrewPkmn;
+ else
+ stringPtr = gText_LinkTrainer1WithdrewPkmn;
+ }
+ else
+ {
+ stringPtr = gText_Trainer1WithdrewPkmn;
+ }
+ }
+ break;
+ case STRINGID_SWITCHINMON: // switch-in msg
+ if (GetBankSide(gBattleScripting.bank) == SIDE_PLAYER)
+ {
+ if (*(&gBattleStruct->hpScale) == 0 || gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
+ stringPtr = gText_GoPkmn2;
+ else if (*(&gBattleStruct->hpScale) == 1)
+ stringPtr = gText_DoItPkmn;
+ else if (*(&gBattleStruct->hpScale) == 2)
+ stringPtr = gText_GoForItPkmn;
+ else
+ stringPtr = gText_YourFoesWeakGetEmPkmn;
+ }
+ else
+ {
+ if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000))
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_x800000)
+ {
+ if (gBattleScripting.bank == 1)
+ stringPtr = gText_Trainer1SentOutPkmn2;
+ else
+ stringPtr = gText_Trainer2SentOutPkmn;
+ }
+ else
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
+ stringPtr = gText_LinkTrainerMultiSentOutPkmn;
+ else if (gTrainerBattleOpponent_A == TRAINER_OPPONENT_C00)
+ stringPtr = gText_Trainer1SentOutPkmn2;
+ else
+ stringPtr = gText_LinkTrainerSentOutPkmn2;
+ }
+ }
+ else
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS)
+ {
+ if (gBattleScripting.bank == 1)
+ stringPtr = gText_Trainer1SentOutPkmn2;
+ else
+ stringPtr = gText_Trainer2SentOutPkmn;
+ }
+ else
+ {
+ stringPtr = gText_Trainer1SentOutPkmn2;
+ }
+ }
+ }
+ break;
+ case STRINGID_USEDMOVE: // pokemon used a move msg
+ sub_814F8F8(gBattleTextBuff1); // buff1 doesn't appear in the string, leftover from japanese move names?
+
+ if (gStringInfo->currentMove > LAST_MOVE_INDEX)
+ StringCopy(gBattleTextBuff2, gText_UnknownMoveTypes[*(&gBattleStruct->stringMoveType)]);
+ else
+ StringCopy(gBattleTextBuff2, gMoveNames[gStringInfo->currentMove]);
+
+ sub_814F950(gBattleTextBuff2);
+ stringPtr = gText_AttackerUsedX;
+ break;
+ case STRINGID_BATTLEEND: // battle end
+ if (gBattleTextBuff1[0] & BATTLE_OUTCOME_BIT_x80)
+ {
+ gBattleTextBuff1[0] &= ~(BATTLE_OUTCOME_BIT_x80);
+ if (GetBankSide(gActiveBank) == SIDE_OPPONENT && gBattleTextBuff1[0] != BATTLE_DREW)
+ gBattleTextBuff1[0] ^= (BATTLE_LOST | BATTLE_WON);
+
+ if (gBattleTextBuff1[0] == BATTLE_LOST || gBattleTextBuff1[0] == BATTLE_DREW)
+ stringPtr = gText_GotAwaySafely;
+ else if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
+ stringPtr = gText_TwoWildFled;
+ else
+ stringPtr = gText_WildFled;
+ }
+ else
+ {
+ if (GetBankSide(gActiveBank) == SIDE_OPPONENT && gBattleTextBuff1[0] != BATTLE_DREW)
+ gBattleTextBuff1[0] ^= (BATTLE_LOST | BATTLE_WON);
+
+ if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
+ {
+ switch (gBattleTextBuff1[0])
+ {
+ case BATTLE_WON:
+ if (gBattleTypeFlags & BATTLE_TYPE_x800000)
+ stringPtr = gText_TwoInGameTrainersDefeated;
+ else
+ stringPtr = gText_TwoLinkTrainersDefeated;
+ break;
+ case BATTLE_LOST:
+ stringPtr = gText_PlayerLostToTwo;
+ break;
+ case BATTLE_DREW:
+ stringPtr = gText_PlayerBattledToDrawVsTwo;
+ break;
+ }
+ }
+ else if (gTrainerBattleOpponent_A == TRAINER_OPPONENT_C00)
+ {
+ switch (gBattleTextBuff1[0])
+ {
+ case BATTLE_WON:
+ stringPtr = gText_PlayerDefeatedLinkTrainerTrainer1;
+ break;
+ case BATTLE_LOST:
+ stringPtr = gText_PlayerLostAgainstTrainer1;
+ break;
+ case BATTLE_DREW:
+ stringPtr = gText_PlayerBattledToDrawTrainer1;
+ break;
+ }
+ }
+ else
+ {
+ switch (gBattleTextBuff1[0])
+ {
+ case BATTLE_WON:
+ stringPtr = gText_PlayerDefeatedLinkTrainer;
+ break;
+ case BATTLE_LOST:
+ stringPtr = gText_PlayerLostAgainstLinkTrainer;
+ break;
+ case BATTLE_DREW:
+ stringPtr = gText_PlayerBattledToDrawLinkTrainer;
+ break;
+ }
+ }
+ }
+ break;
+ default: // load a string from the table
+ if (stringID >= BATTLESTRINGS_COUNT + BATTLESTRINGS_ID_ADDER)
+ {
+ gDisplayedStringBattle[0] = EOS;
+ return;
+ }
+ else
+ {
+ stringPtr = gBattleStringsTable[stringID - BATTLESTRINGS_ID_ADDER];
+ }
+ break;
+ }
+
+ BattleStringExpandPlaceholdersToDisplayedString(stringPtr);
+}
+
+u32 BattleStringExpandPlaceholdersToDisplayedString(const u8* src)
+{
+ BattleStringExpandPlaceholders(src, gDisplayedStringBattle);
+}
+
+static const u8* TryGetStatusString(u8* src)
+{
+ u32 i;
+ u8 status[8];
+ u32 chars1, chars2;
+ u8* statusPtr;
+
+ memcpy(status, sDummyWeirdStatusString, 8);
+
+ statusPtr = status;
+ for (i = 0; i < 8; i++)
+ {
+ if (*src == EOS)
+ break;
+ *statusPtr = *src;
+ src++;
+ statusPtr++;
+ }
+
+ chars1 = *(u32*)(&status[0]);
+ chars2 = *(u32*)(&status[4]);
+
+ for (i = 0; i < ARRAY_COUNT(gStatusConditionStringsTable); i++)
+ {
+ if (chars1 == *(u32*)(&gStatusConditionStringsTable[i][0][0])
+ && chars2 == *(u32*)(&gStatusConditionStringsTable[i][0][4]))
+ return gStatusConditionStringsTable[i][1];
+ }
+ return NULL;
+}
+
+#define HANDLE_NICKNAME_STRING_CASE(bank, monIndex) \
+ if (GetBankSide(bank) != SIDE_PLAYER) \
+ { \
+ if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) \
+ toCpy = gText_FoePkmnPrefix; \
+ else \
+ toCpy = gText_WildPkmnPrefix; \
+ while (*toCpy != EOS) \
+ { \
+ dst[dstID] = *toCpy; \
+ dstID++; \
+ toCpy++; \
+ } \
+ GetMonData(&gEnemyParty[monIndex], MON_DATA_NICKNAME, text); \
+ } \
+ else \
+ { \
+ GetMonData(&gPlayerParty[monIndex], MON_DATA_NICKNAME, text); \
+ } \
+ StringGetEnd10(text); \
+ toCpy = text;
+
+u32 BattleStringExpandPlaceholders(const u8* src, u8* dst)
+{
+ u32 dstID = 0; // if they used dstID, why not use srcID as well?
+ const u8* toCpy = NULL;
+ u8 text[30];
+ u8 multiplayerID;
+ s32 i;
+
+ if (gBattleTypeFlags & BATTLE_TYPE_x2000000)
+ multiplayerID = gUnknown_0203C7B4;
+ else
+ multiplayerID = GetMultiplayerId();
+
+ while (*src != EOS)
+ {
+ if (*src == PLACEHOLDER_BEGIN)
+ {
+ src++;
+ switch (*src)
+ {
+ case B_TXT_BUFF1:
+ if (gBattleTextBuff1[0] == B_BUFF_PLACEHOLDER_BEGIN)
+ {
+ ExpandBattleTextBuffPlaceholders(gBattleTextBuff1, gStringVar1);
+ toCpy = gStringVar1;
+ }
+ else
+ {
+ toCpy = TryGetStatusString(gBattleTextBuff1);
+ if (toCpy == NULL)
+ toCpy = gBattleTextBuff1;
+ }
+ break;
+ case B_TXT_BUFF2:
+ if (gBattleTextBuff2[0] == B_BUFF_PLACEHOLDER_BEGIN)
+ {
+ ExpandBattleTextBuffPlaceholders(gBattleTextBuff2, gStringVar2);
+ toCpy = gStringVar2;
+ }
+ else
+ toCpy = gBattleTextBuff2;
+ break;
+ case B_TXT_BUFF3:
+ if (gBattleTextBuff3[0] == B_BUFF_PLACEHOLDER_BEGIN)
+ {
+ ExpandBattleTextBuffPlaceholders(gBattleTextBuff3, gStringVar3);
+ toCpy = gStringVar3;
+ }
+ else
+ toCpy = gBattleTextBuff3;
+ break;
+ case B_TXT_COPY_VAR_1:
+ toCpy = gStringVar1;
+ break;
+ case B_TXT_COPY_VAR_2:
+ toCpy = gStringVar2;
+ break;
+ case B_TXT_COPY_VAR_3:
+ toCpy = gStringVar3;
+ break;
+ case B_TXT_PLAYER_MON1_NAME: // first player poke name
+ GetMonData(&gPlayerParty[gBattlePartyID[GetBankByIdentity(IDENTITY_PLAYER_MON1)]],
+ MON_DATA_NICKNAME, text);
+ StringGetEnd10(text);
+ toCpy = text;
+ break;
+ case B_TXT_OPPONENT_MON1_NAME: // first enemy poke name
+ GetMonData(&gEnemyParty[gBattlePartyID[GetBankByIdentity(IDENTITY_OPPONENT_MON1)]],
+ MON_DATA_NICKNAME, text);
+ StringGetEnd10(text);
+ toCpy = text;
+ break;
+ case B_TXT_PLAYER_MON2_NAME: // second player poke name
+ GetMonData(&gPlayerParty[gBattlePartyID[GetBankByIdentity(IDENTITY_PLAYER_MON2)]],
+ MON_DATA_NICKNAME, text);
+ StringGetEnd10(text);
+ toCpy = text;
+ break;
+ case B_TXT_OPPONENT_MON2_NAME: // second enemy poke name
+ GetMonData(&gEnemyParty[gBattlePartyID[GetBankByIdentity(IDENTITY_OPPONENT_MON2)]],
+ MON_DATA_NICKNAME, text);
+ StringGetEnd10(text);
+ toCpy = text;
+ break;
+ case B_TXT_LINK_PLAYER_MON1_NAME: // link first player poke name
+ GetMonData(&gPlayerParty[gBattlePartyID[gLinkPlayers[multiplayerID].lp_field_18]],
+ MON_DATA_NICKNAME, text);
+ StringGetEnd10(text);
+ toCpy = text;
+ break;
+ case B_TXT_LINK_OPPONENT_MON1_NAME: // link first opponent poke name
+ GetMonData(&gEnemyParty[gBattlePartyID[gLinkPlayers[multiplayerID].lp_field_18 ^ 1]],
+ MON_DATA_NICKNAME, text);
+ StringGetEnd10(text);
+ toCpy = text;
+ break;
+ case B_TXT_LINK_PLAYER_MON2_NAME: // link second player poke name
+ GetMonData(&gPlayerParty[gBattlePartyID[gLinkPlayers[multiplayerID].lp_field_18 ^ 2]],
+ MON_DATA_NICKNAME, text);
+ StringGetEnd10(text);
+ toCpy = text;
+ break;
+ case B_TXT_LINK_OPPONENT_MON2_NAME: // link second opponent poke name
+ GetMonData(&gEnemyParty[gBattlePartyID[gLinkPlayers[multiplayerID].lp_field_18 ^ 3]],
+ MON_DATA_NICKNAME, text);
+ StringGetEnd10(text);
+ toCpy = text;
+ break;
+ case B_TXT_ATK_NAME_WITH_PREFIX_MON1: // attacker name with prefix, only bank 0/1
+ HANDLE_NICKNAME_STRING_CASE(gBankAttacker,
+ gBattlePartyID[GetBankByIdentity(GET_BANK_SIDE(gBankAttacker))])
+ break;
+ case B_TXT_ATK_PARTNER_NAME: // attacker partner name
+ if (GetBankSide(gBankAttacker) == SIDE_PLAYER)
+ GetMonData(&gPlayerParty[gBattlePartyID[GetBankByIdentity(GET_BANK_SIDE(gBankAttacker)) + 2]], MON_DATA_NICKNAME, text);
+ else
+ GetMonData(&gEnemyParty[gBattlePartyID[GetBankByIdentity(GET_BANK_SIDE(gBankAttacker)) + 2]], MON_DATA_NICKNAME, text);
+
+ StringGetEnd10(text);
+ toCpy = text;
+ break;
+ case B_TXT_ATK_NAME_WITH_PREFIX: // attacker name with prefix
+ HANDLE_NICKNAME_STRING_CASE(gBankAttacker, gBattlePartyID[gBankAttacker])
+ break;
+ case B_TXT_DEF_NAME_WITH_PREFIX: // target name with prefix
+ HANDLE_NICKNAME_STRING_CASE(gBankTarget, gBattlePartyID[gBankTarget])
+ break;
+ case B_TXT_EFF_NAME_WITH_PREFIX: // effect bank name with prefix
+ HANDLE_NICKNAME_STRING_CASE(gEffectBank, gBattlePartyID[gEffectBank])
+ break;
+ case B_TXT_ACTIVE_NAME_WITH_PREFIX: // active bank name with prefix
+ HANDLE_NICKNAME_STRING_CASE(gActiveBank, gBattlePartyID[gActiveBank])
+ break;
+ case B_TXT_SCR_ACTIVE_NAME_WITH_PREFIX: // scripting active bank name with prefix
+ HANDLE_NICKNAME_STRING_CASE(gBattleScripting.bank, gBattlePartyID[gBattleScripting.bank])
+ break;
+ case B_TXT_CURRENT_MOVE: // current move name
+ if (gStringInfo->currentMove > LAST_MOVE_INDEX)
+ toCpy = gText_UnknownMoveTypes[gBattleStruct->stringMoveType];
+ else
+ toCpy = gMoveNames[gStringInfo->currentMove];
+ break;
+ case B_TXT_LAST_MOVE: // last used move name
+ if (gStringInfo->lastMove > LAST_MOVE_INDEX)
+ toCpy = gText_UnknownMoveTypes[gBattleStruct->stringMoveType];
+ else
+ toCpy = gMoveNames[gStringInfo->lastMove];
+ break;
+ case B_TXT_LAST_ITEM: // last used item
+ if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000))
+ {
+ if (gLastUsedItem == ITEM_ENIGMA_BERRY)
+ {
+ if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI))
+ {
+ if ((gBattleScripting.multiplayerId != 0 && (gStringBank & BIT_SIDE))
+ || (gBattleScripting.multiplayerId == 0 && !(gStringBank & BIT_SIDE)))
+ {
+ StringCopy(text, gEnigmaBerries[gStringBank].name);
+ StringAppend(text, gText_BerrySuffix);
+ toCpy = text;
+ }
+ else
+ {
+ toCpy = gText_EnigmaBerry;
+ }
+ }
+ else
+ {
+ if (gLinkPlayers[gBattleScripting.multiplayerId].lp_field_18 == gStringBank)
+ {
+ StringCopy(text, gEnigmaBerries[gStringBank].name);
+ StringAppend(text, gText_BerrySuffix);
+ toCpy = text;
+ }
+ else
+ toCpy = gText_EnigmaBerry;
+ }
+ }
+ else
+ {
+ CopyItemName(gLastUsedItem, text);
+ toCpy = text;
+ }
+ }
+ else
+ {
+ CopyItemName(gLastUsedItem, text);
+ toCpy = text;
+ }
+ break;
+ case B_TXT_LAST_ABILITY: // last used ability
+ toCpy = gAbilityNames[gLastUsedAbility];
+ break;
+ case B_TXT_ATK_ABILITY: // attacker ability
+ toCpy = gAbilityNames[gAbilitiesPerBank[gBankAttacker]];
+ break;
+ case B_TXT_DEF_ABILITY: // target ability
+ toCpy = gAbilityNames[gAbilitiesPerBank[gBankTarget]];
+ break;
+ case B_TXT_SCR_ACTIVE_ABILITY: // scripting active ability
+ toCpy = gAbilityNames[gAbilitiesPerBank[gBattleScripting.bank]];
+ break;
+ case B_TXT_EFF_ABILITY: // effect bank ability
+ toCpy = gAbilityNames[gAbilitiesPerBank[gEffectBank]];
+ break;
+ case B_TXT_TRAINER1_CLASS: // trainer class name
+ if (gBattleTypeFlags & BATTLE_TYPE_SECRET_BASE)
+ toCpy = gTrainerClassNames[GetSecretBaseTrainerNameIndex()];
+ else if (gTrainerBattleOpponent_A == TRAINER_OPPONENT_C00)
+ toCpy = gTrainerClassNames[sub_8068BB0()];
+ else if (gTrainerBattleOpponent_A == TRAINER_OPPONENT_3FE)
+ toCpy = gTrainerClassNames[sub_81A4D00()];
+ else if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER)
+ toCpy = gTrainerClassNames[GetFrontierOpponentClass(gTrainerBattleOpponent_A)];
+ else if (gBattleTypeFlags & BATTLE_TYPE_x4000000)
+ toCpy = gTrainerClassNames[sub_81D5530(gTrainerBattleOpponent_A)];
+ else if (gBattleTypeFlags & BATTLE_TYPE_EREADER_TRAINER)
+ toCpy = gTrainerClassNames[GetEreaderTrainerClassId()];
+ else
+ toCpy = gTrainerClassNames[gTrainers[gTrainerBattleOpponent_A].trainerClass];
+ break;
+ case B_TXT_TRAINER1_NAME: // trainer1 name
+ if (gBattleTypeFlags & BATTLE_TYPE_SECRET_BASE)
+ {
+ for (i = 0; i < (s32) ARRAY_COUNT(gBattleResources->secretBase->trainerName); i++)
+ text[i] = gBattleResources->secretBase->trainerName[i];
+ text[i] = EOS;
+ ConvertInternationalString(text, gBattleResources->secretBase->language);
+ toCpy = text;
+ }
+ else if (gTrainerBattleOpponent_A == TRAINER_OPPONENT_C00)
+ {
+ toCpy = gLinkPlayers[multiplayerID ^ BIT_SIDE].name;
+ }
+ else if (gTrainerBattleOpponent_A == TRAINER_OPPONENT_3FE)
+ {
+ sub_81A4D50(text);
+ toCpy = text;
+ }
+ else if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER)
+ {
+ GetFrontierTrainerName(text, gTrainerBattleOpponent_A);
+ toCpy = text;
+ }
+ else if (gBattleTypeFlags & BATTLE_TYPE_x4000000)
+ {
+ sub_81D5554(text, gTrainerBattleOpponent_A);
+ toCpy = text;
+ }
+ else if (gBattleTypeFlags & BATTLE_TYPE_EREADER_TRAINER)
+ {
+ GetEreaderTrainerName(text);
+ toCpy = text;
+ }
+ else
+ {
+ toCpy = gTrainers[gTrainerBattleOpponent_A].trainerName;
+ }
+ break;
+ case B_TXT_1E: // link player name?
+ toCpy = gLinkPlayers[multiplayerID].name;
+ break;
+ case B_TXT_1F: // link partner name?
+ toCpy = gLinkPlayers[sub_806D864(2 ^ gLinkPlayers[multiplayerID].lp_field_18)].name;
+ break;
+ case B_TXT_20: // link opponent 1 name?
+ toCpy = gLinkPlayers[sub_806D864(1 ^ gLinkPlayers[multiplayerID].lp_field_18)].name;
+ break;
+ case B_TXT_21: // link opponent 2 name?
+ toCpy = gLinkPlayers[sub_806D864(3 ^ gLinkPlayers[multiplayerID].lp_field_18)].name;
+ break;
+ case B_TXT_22: // link scripting active name
+ toCpy = gLinkPlayers[sub_806D864(gBattleScripting.bank)].name;
+ break;
+ case B_TXT_PLAYER_NAME: // player name
+ if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
+ toCpy = gLinkPlayers[0].name;
+ else
+ toCpy = gSaveBlock2Ptr->playerName;
+ break;
+ case B_TXT_TRAINER1_LOSE_TEXT: // trainerA lose text
+ if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER)
+ {
+ sub_81A36D0(2, gTrainerBattleOpponent_A);
+ toCpy = gStringVar4;
+ }
+ else if (gBattleTypeFlags & BATTLE_TYPE_x4000000)
+ {
+ sub_81D572C(4, gTrainerBattleOpponent_A);
+ toCpy = gStringVar4;
+ }
+ else
+ {
+ toCpy = GetTrainer1LoseText();
+ }
+ break;
+ case B_TXT_TRAINER1_WIN_TEXT: // trainerA win text
+ if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER)
+ {
+ sub_81A36D0(1, gTrainerBattleOpponent_A);
+ toCpy = gStringVar4;
+ }
+ else if (gBattleTypeFlags & BATTLE_TYPE_x4000000)
+ {
+ sub_81D572C(3, gTrainerBattleOpponent_A);
+ toCpy = gStringVar4;
+ }
+ break;
+ case B_TXT_26: // ?
+ HANDLE_NICKNAME_STRING_CASE(gBattleScripting.bank, *(&gBattleStruct->field_52))
+ break;
+ case B_TXT_PC_CREATOR_NAME: // lanette pc
+ if (FlagGet(SYS_PC_LANETTE))
+ toCpy = gText_Lanettes;
+ else
+ toCpy = gText_Someones;
+ break;
+ case B_TXT_ATK_PREFIX2:
+ if (GetBankSide(gBankAttacker) == SIDE_PLAYER)
+ toCpy = gText_AllyPkmnPrefix2;
+ else
+ toCpy = gText_FoePkmnPrefix3;
+ break;
+ case B_TXT_DEF_PREFIX2:
+ if (GetBankSide(gBankTarget) == SIDE_PLAYER)
+ toCpy = gText_AllyPkmnPrefix2;
+ else
+ toCpy = gText_FoePkmnPrefix3;
+ break;
+ case B_TXT_ATK_PREFIX1:
+ if (GetBankSide(gBankAttacker) == SIDE_PLAYER)
+ toCpy = gText_AllyPkmnPrefix;
+ else
+ toCpy = gText_FoePkmnPrefix2;
+ break;
+ case B_TXT_DEF_PREFIX1:
+ if (GetBankSide(gBankTarget) == SIDE_PLAYER)
+ toCpy = gText_AllyPkmnPrefix;
+ else
+ toCpy = gText_FoePkmnPrefix2;
+ break;
+ case B_TXT_ATK_PREFIX3:
+ if (GetBankSide(gBankAttacker) == SIDE_PLAYER)
+ toCpy = gText_AllyPkmnPrefix3;
+ else
+ toCpy = gText_FoePkmnPrefix4;
+ break;
+ case B_TXT_DEF_PREFIX3:
+ if (GetBankSide(gBankTarget) == SIDE_PLAYER)
+ toCpy = gText_AllyPkmnPrefix3;
+ else
+ toCpy = gText_FoePkmnPrefix4;
+ break;
+ case B_TXT_TRAINER2_CLASS:
+ if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER)
+ toCpy = gTrainerClassNames[GetFrontierOpponentClass(gTrainerBattleOpponent_B)];
+ else if (gBattleTypeFlags & BATTLE_TYPE_x4000000)
+ toCpy = gTrainerClassNames[sub_81D5530(gTrainerBattleOpponent_B)];
+ else
+ toCpy = gTrainerClassNames[gTrainers[gTrainerBattleOpponent_B].trainerClass];
+ break;
+ case B_TXT_TRAINER2_NAME:
+ if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER)
+ {
+ GetFrontierTrainerName(text, gTrainerBattleOpponent_B);
+ toCpy = text;
+ }
+ else if (gBattleTypeFlags & BATTLE_TYPE_x4000000)
+ {
+ sub_81D5554(text, gTrainerBattleOpponent_B);
+ toCpy = text;
+ }
+ else
+ {
+ toCpy = gTrainers[gTrainerBattleOpponent_B].trainerName;
+ }
+ break;
+ case B_TXT_TRAINER2_LOSE_TEXT:
+ if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER)
+ {
+ sub_81A36D0(2, gTrainerBattleOpponent_B);
+ toCpy = gStringVar4;
+ }
+ else if (gBattleTypeFlags & BATTLE_TYPE_x4000000)
+ {
+ sub_81D572C(4, gTrainerBattleOpponent_B);
+ toCpy = gStringVar4;
+ }
+ else
+ {
+ toCpy = GetTrainer2LoseText();
+ }
+ break;
+ case B_TXT_TRAINER2_WIN_TEXT:
+ if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER)
+ {
+ sub_81A36D0(1, gTrainerBattleOpponent_B);
+ toCpy = gStringVar4;
+ }
+ else if (gBattleTypeFlags & BATTLE_TYPE_x4000000)
+ {
+ sub_81D572C(3, gTrainerBattleOpponent_B);
+ toCpy = gStringVar4;
+ }
+ break;
+ case B_TXT_PARTNER_CLASS:
+ toCpy = gTrainerClassNames[GetFrontierOpponentClass(gPartnerTrainerId)];
+ break;
+ case B_TXT_PARTNER_NAME:
+ GetFrontierTrainerName(text, gPartnerTrainerId);
+ toCpy = text;
+ break;
+ }
+
+ // missing if (toCpy != NULL) check
+ while (*toCpy != EOS)
+ {
+ dst[dstID] = *toCpy;
+ dstID++;
+ toCpy++;
+ }
+ if (*src == B_TXT_TRAINER1_LOSE_TEXT || *src == B_TXT_TRAINER2_LOSE_TEXT
+ || *src == B_TXT_TRAINER1_WIN_TEXT || *src == B_TXT_TRAINER2_WIN_TEXT)
+ {
+ dst[dstID] = EXT_CTRL_CODE_BEGIN;
+ dstID++;
+ dst[dstID] = 9;
+ dstID++;
+ }
+ }
+ else
+ {
+ dst[dstID] = *src;
+ dstID++;
+ }
+ src++;
+ }
+
+ dst[dstID] = *src;
+ dstID++;
+
+ return dstID;
+}
+
+// TODO: move these to a general header like util.h
+#define ByteRead16(ptr) ((ptr)[0] | ((ptr)[1] << 8))
+#define ByteRead32(ptr) ((ptr)[0] | (ptr)[1] << 8 | (ptr)[2] << 16 | (ptr)[3] << 24)
+
+static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst)
+{
+ u32 srcID = 1;
+ u32 value = 0;
+ u8 text[12];
+ u16 hword;
+
+ *dst = EOS;
+ while (src[srcID] != B_BUFF_EOS)
+ {
+ switch (src[srcID])
+ {
+ case B_BUFF_STRING: // battle string
+ hword = ByteRead16(&src[srcID + 1]);
+ StringAppend(dst, gBattleStringsTable[hword - BATTLESTRINGS_ID_ADDER]);
+ srcID += 3;
+ break;
+ case B_BUFF_NUMBER: // int to string
+ switch (src[srcID + 1])
+ {
+ case 1:
+ value = src[srcID + 3];
+ break;
+ case 2:
+ value = ByteRead16(&src[srcID + 3]);
+ break;
+ case 4:
+ value = ByteRead32(&src[srcID + 3]);
+ break;
+ }
+ ConvertIntToDecimalStringN(dst, value, 0, src[srcID + 2]);
+ srcID += src[srcID + 1] + 3;
+ break;
+ case B_BUFF_MOVE: // move name
+ StringAppend(dst, gMoveNames[ByteRead16(&src[srcID + 1])]);
+ srcID += 3;
+ break;
+ case B_BUFF_TYPE: // type name
+ StringAppend(dst, gTypeNames[src[srcID + 1]]);
+ srcID += 2;
+ break;
+ case B_BUFF_MON_NICK_WITH_PREFIX: // poke nick with prefix
+ if (GetBankSide(src[srcID + 1]) == SIDE_PLAYER)
+ {
+ GetMonData(&gPlayerParty[src[srcID + 2]], MON_DATA_NICKNAME, text);
+ }
+ else
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
+ StringAppend(dst, gText_FoePkmnPrefix);
+ else
+ StringAppend(dst, gText_WildPkmnPrefix);
+
+ GetMonData(&gEnemyParty[src[srcID + 2]], MON_DATA_NICKNAME, text);
+ }
+ StringGetEnd10(text);
+ StringAppend(dst, text);
+ srcID += 3;
+ break;
+ case B_BUFF_STAT: // stats
+ StringAppend(dst, gStatNamesTable[src[srcID + 1]]);
+ srcID += 2;
+ break;
+ case B_BUFF_SPECIES: // species name
+ GetSpeciesName(dst, ByteRead16(&src[srcID + 1]));
+ srcID += 3;
+ break;
+ case B_BUFF_MON_NICK: // poke nick without prefix
+ if (GetBankSide(src[srcID + 1]) == SIDE_PLAYER)
+ GetMonData(&gPlayerParty[src[srcID + 2]], MON_DATA_NICKNAME, dst);
+ else
+ GetMonData(&gEnemyParty[src[srcID + 2]], MON_DATA_NICKNAME, dst);
+ StringGetEnd10(dst);
+ srcID += 3;
+ break;
+ case B_BUFF_NEGATIVE_FLAVOUR: // flavour table
+ StringAppend(dst, gPokeblockWasTooXStringTable[src[srcID + 1]]);
+ srcID += 2;
+ break;
+ case B_BUFF_ABILITY: // ability names
+ StringAppend(dst, gAbilityNames[src[srcID + 1]]);
+ srcID += 2;
+ break;
+ case B_BUFF_ITEM: // item name
+ hword = ByteRead16(&src[srcID + 1]);
+ if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000))
+ {
+ if (hword == ITEM_ENIGMA_BERRY)
+ {
+ if (gLinkPlayers[gBattleScripting.multiplayerId].lp_field_18 == gStringBank)
+ {
+ StringCopy(dst, gEnigmaBerries[gStringBank].name);
+ StringAppend(dst, gText_BerrySuffix);
+ }
+ else
+ StringAppend(dst, gText_EnigmaBerry);
+ }
+ else
+ CopyItemName(hword, dst);
+ }
+ else
+ CopyItemName(hword, dst);
+ srcID += 3;
+ break;
+ }
+ }
+}
+
+static void sub_814F8F8(u8* textBuff)
+{
+ s32 counter = 0;
+ u32 i = 0;
+
+ while (counter != 4)
+ {
+ if (sUnknownMoveTable[i] == MOVE_NONE)
+ counter++;
+ if (sUnknownMoveTable[i++] == gStringInfo->currentMove)
+ break;
+ }
+
+ if (counter >= 0)
+ {
+ if (counter <= 2)
+ StringCopy(textBuff, gText_SpaceIs); // is
+ else if (counter <= 4)
+ StringCopy(textBuff, gText_ApostropheS); // 's
+ }
+}
+
+static void sub_814F950(u8* dst)
+{
+ s32 counter = 0;
+ s32 i = 0;
+
+ while (*dst != EOS)
+ dst++;
+
+ while (counter != 4)
+ {
+ if (sUnknownMoveTable[i] == MOVE_NONE)
+ counter++;
+ if (sUnknownMoveTable[i++] == gStringInfo->currentMove)
+ break;
+ }
+
+ switch (counter)
+ {
+ case 0:
+ StringCopy(dst, gText_ExclamationMark);
+ break;
+ case 1:
+ StringCopy(dst, gText_ExclamationMark2);
+ break;
+ case 2:
+ StringCopy(dst, gText_ExclamationMark3);
+ break;
+ case 3:
+ StringCopy(dst, gText_ExclamationMark4);
+ break;
+ case 4:
+ StringCopy(dst, gText_ExclamationMark5);
+ break;
+ }
+}
+
+void sub_814F9EC(const u8 *text, u8 arg1)
+{
+ const u8 *r8 = gUnknown_085CD660[gBattleScripting.field_24];
+ bool32 r9;
+ struct TextSubPrinter textSubPrinter;
+ u8 speed;
+
+ if (arg1 & 0x80)
+ {
+ arg1 &= ~(0x80);
+ r9 = FALSE;
+ }
+ else
+ {
+ FillWindowPixelBuffer(arg1, r8[12 * arg1]);
+ r9 = TRUE;
+ }
+
+ textSubPrinter.current_text_offset = text;
+ textSubPrinter.windowId = arg1;
+ textSubPrinter.fontId = r8[(12 * arg1) + 1];
+ textSubPrinter.x = r8[(12 * arg1) + 2];
+ textSubPrinter.y = r8[(12 * arg1) + 3];
+ textSubPrinter.currentX = textSubPrinter.x;
+ textSubPrinter.currentY = textSubPrinter.y;
+ textSubPrinter.letterSpacing = r8[(12 * arg1) + 4];
+ textSubPrinter.lineSpacing = r8[(12 * arg1) + 5];
+ textSubPrinter.fontColor_l = 0;
+ textSubPrinter.fontColor_h = r8[(12 * arg1) + 7];
+ textSubPrinter.bgColor = r8[(12 * arg1) + 8];
+ textSubPrinter.shadowColor = r8[(12 * arg1) + 9];
+
+ if (textSubPrinter.x == 0xFF)
+ {
+ s32 var2;
+ u32 var = sub_80397C4(gBattleScripting.field_24, arg1);
+ var2 = GetStringCenterAlignXOffsetWithLetterSpacing(textSubPrinter.fontId, textSubPrinter.current_text_offset, var, textSubPrinter.letterSpacing);
+ textSubPrinter.x = textSubPrinter.currentX = var2;
+ }
+
+ if (arg1 == 0x16)
+ gTextFlags.flag_1 = 0;
+ else
+ gTextFlags.flag_1 = 1;
+
+ if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED))
+ gTextFlags.flag_2 = 1;
+ else
+ gTextFlags.flag_2 = 0;
+
+ if (arg1 == 0 || arg1 == 0x16)
+ {
+ if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000))
+ speed = 1;
+ else if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
+ speed = sRecordedBattleTextSpeeds[sub_8185FC4()];
+ else
+ speed = sav2_get_text_speed();
+
+ gTextFlags.flag_0 = 1;
+ }
+ else
+ {
+ speed = r8[(12 * arg1) + 6];
+ gTextFlags.flag_0 = 0;
+ }
+
+ AddTextPrinter(&textSubPrinter, speed, NULL);
+
+ if (r9)
+ {
+ PutWindowTilemap(arg1);
+ CopyWindowToVram(arg1, 3);
+ }
+}
+
+void SetPpNumbersPaletteInMoveSelection(void)
+{
+ struct ChooseMoveStruct *chooseMoveStruct = (struct ChooseMoveStruct*)(&gBattleBufferA[gActiveBank][4]);
+ const u16 *palPtr = gUnknown_08D85620;
+ u8 var = GetCurrentPpToMaxPpState(chooseMoveStruct->currentPp[gMoveSelectionCursor[gActiveBank]],
+ chooseMoveStruct->maxPp[gMoveSelectionCursor[gActiveBank]]);
+
+ gPlttBufferUnfaded[92] = palPtr[(var * 2) + 0];
+ gPlttBufferUnfaded[91] = palPtr[(var * 2) + 1];
+
+ CpuCopy16(&gPlttBufferUnfaded[92], &gPlttBufferFaded[92], sizeof(u16));
+ CpuCopy16(&gPlttBufferUnfaded[91], &gPlttBufferFaded[91], sizeof(u16));
+}
+
+u8 GetCurrentPpToMaxPpState(u8 currentPp, u8 maxPp)
+{
+ if (maxPp == currentPp)
+ {
+ return 3;
+ }
+ else if (maxPp <= 2)
+ {
+ if (currentPp > 1)
+ return 3;
+ else
+ return 2 - currentPp;
+ }
+ else if (maxPp <= 7)
+ {
+ if (currentPp > 2)
+ return 3;
+ else
+ return 2 - currentPp;
+ }
+ else
+ {
+ if (currentPp == 0)
+ return 2;
+ if (currentPp <= maxPp / 4)
+ return 1;
+ if (currentPp > maxPp / 2)
+ return 3;
+ }
+
+ return 0;
+}
diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c
index e53292442..17b0e2ff9 100644
--- a/src/battle_script_commands.c
+++ b/src/battle_script_commands.c
@@ -34,6 +34,7 @@
#include "pokemon_storage_system.h"
#include "task.h"
#include "naming_screen.h"
+#include "battle_string_ids.h"
// variables
@@ -1375,7 +1376,7 @@ static void atk02_attackstring(void)
return;
if (!(gHitMarker & (HITMARKER_NO_ATTACKSTRING | HITMARKER_ATTACKSTRING_PRINTED)))
{
- PrepareStringBattle(4, gBankAttacker);
+ PrepareStringBattle(STRINGID_USEDMOVE, gBankAttacker);
gHitMarker |= HITMARKER_ATTACKSTRING_PRINTED;
}
gBattlescriptCurrInstr++;
@@ -2000,7 +2001,7 @@ static void atk0B_healthbarupdate(void)
if (gBattleMons[gActiveBank].status2 & STATUS2_SUBSTITUTE && gDisableStructs[gActiveBank].substituteHP && !(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE))
{
- PrepareStringBattle(0x80, gActiveBank);
+ PrepareStringBattle(STRINGID_SUBSTITUTEDAMAGED, gActiveBank);
}
else
{
@@ -2157,7 +2158,7 @@ static void atk0D_critmessage(void)
{
if (gCritMultiplier == 2 && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT))
{
- PrepareStringBattle(0xD9, gBankAttacker);
+ PrepareStringBattle(STRINGID_CRITICALHIT, gBankAttacker);
gBattleCommunication[MSG_DISPLAY] = 1;
}
gBattlescriptCurrInstr++;
@@ -2229,22 +2230,22 @@ static void atk0F_resultmessage(void)
switch (gBattleMoveFlags & (u8)(~(MOVESTATUS_MISSED)))
{
case MOVESTATUS_SUPEREFFECTIVE:
- stringId = 0xDE;
+ stringId = STRINGID_SUPEREFFECTIVE;
break;
case MOVESTATUS_NOTVERYEFFECTIVE:
- stringId = 0xDD;
+ stringId = STRINGID_NOTVERYEFFECTIVE;
break;
case MOVESTATUS_ONEHITKO:
- stringId = 0xDA;
+ stringId = STRINGID_ONEHITKO;
break;
case MOVESTATUS_ENDURED:
- stringId = 0x99;
+ stringId = STRINGID_PKMNENDUREDHIT;
break;
case MOVESTATUS_FAILED:
- stringId = 0xE5;
+ stringId = STRINGID_BUTITFAILED;
break;
case MOVESTATUS_NOTAFFECTED:
- stringId = 0x1B;
+ stringId = STRINGID_ITDOESNTAFFECT;
break;
case MOVESTATUS_HUNGON:
gLastUsedItem = gBattleMons[gBankTarget].item;
@@ -2256,7 +2257,7 @@ static void atk0F_resultmessage(void)
default:
if (gBattleMoveFlags & MOVESTATUS_NOTAFFECTED)
{
- stringId = 0x1B;
+ stringId = STRINGID_ITDOESNTAFFECT;
}
else if (gBattleMoveFlags & MOVESTATUS_ONEHITKO)
{
@@ -2285,7 +2286,7 @@ static void atk0F_resultmessage(void)
}
else if (gBattleMoveFlags & MOVESTATUS_FAILED)
{
- stringId = 0xE5;
+ stringId = STRINGID_BUTITFAILED;
}
else
{
@@ -3592,7 +3593,7 @@ static void atk23_getexp(void)
PREPARE_WORD_NUMBER_BUFFER(gBattleTextBuff3, 5, gBattleMoveDamage)
- PrepareStringBattle(0xD, gBattleStruct->expGetterBank);
+ PrepareStringBattle(STRINGID_PKMNGAINEDEXP, gBattleStruct->expGetterBank);
MonGainEVs(&gPlayerParty[gBattleStruct->expGetterId], gBattleMons[gBank1].species);
}
gBattleStruct->sentInPokes >>= 1;
@@ -6181,7 +6182,7 @@ static void atk5A_yesnoboxlearnmove(void)
u16 moveId = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_MOVE1 + movePosition);
if (IsHMMove2(moveId))
{
- PrepareStringBattle(0x13F, gActiveBank);
+ PrepareStringBattle(STRINGID_HMMOVESCANTBEFORGOTTEN, gActiveBank);
gBattleScripting.learnMoveState = 6;
}
else
diff --git a/src/pokemon_2.c b/src/pokemon_2.c
index 8a16954a7..ee54f0e4d 100644
--- a/src/pokemon_2.c
+++ b/src/pokemon_2.c
@@ -28,7 +28,7 @@ extern const u32 gBitTable[];
extern const struct SpriteTemplate gUnknown_08329D98[];
extern const struct SpriteTemplate gUnknown_08329DF8[];
extern const union AnimCmd* gUnknown_082FF70C[];
-extern const union AnimCmd* const * const gUnknown_08309AAC[];
+extern const union AnimCmd* const * const gMonAnimationsSpriteAnimsPtrTable[];
extern const union AnimCmd* const * const gUnknown_08305D0C[];
extern const union AnimCmd* const * const gUnknown_0830536C[];
extern const u8 gText_BadEgg[];
@@ -165,9 +165,9 @@ void sub_806A068(u16 species, u8 bankIdentity)
if (bankIdentity == 0 || bankIdentity == 2)
gUnknown_0202499C.anims = gUnknown_082FF70C;
else if (species > 500)
- gUnknown_0202499C.anims = gUnknown_08309AAC[species - 500];
+ gUnknown_0202499C.anims = gMonAnimationsSpriteAnimsPtrTable[species - 500];
else
- gUnknown_0202499C.anims = gUnknown_08309AAC[species];
+ gUnknown_0202499C.anims = gMonAnimationsSpriteAnimsPtrTable[species];
}
void sub_806A12C(u16 trainerSpriteId, u8 bankIdentity)
diff --git a/src/util.c b/src/util.c
index 27b7c5ee5..58088c3ee 100644
--- a/src/util.c
+++ b/src/util.c
@@ -112,7 +112,7 @@ static const u16 sCrc16Table[] =
0x7BC7, 0x6A4E, 0x58D5, 0x495C, 0x3DE3, 0x2C6A, 0x1EF1, 0x0F78,
};
-const u8 gMiscBlank_Gfx[] = INCBIN_U8("graphics/interface/blank.4bpp"); // unused in Emerald
+const u8 gMiscBlank_Gfx[] = INCBIN_U8("graphics/interface/blank.4bpp");
u8 CreateInvisibleSpriteWithCallback(void (*callback)(struct Sprite *))
{
diff --git a/sym_ewram.txt b/sym_ewram.txt
index 166ea64d0..944a51b62 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -238,26 +238,7 @@ gBattle_WIN1H: @ 2022E28
gBattle_WIN1V: @ 2022E2A
.space 0x2
-gDisplayedStringBattle: @ 2022E2C
- .space 0x12C
-
-gBattleTextBuff1: @ 2022F58
- .space 0x2
-
-gUnknown_02022F5A: @ 2022F5A
- .space 0x2
-
-gUnknown_02022F5C: @ 2022F5C
- .space 0xC
-
-gBattleTextBuff2: @ 2022F68
- .space 0x2
-
-gUnknown_02022F6A: @ 2022F6A
- .space 0xE
-
-gBattleTextBuff3: @ 2022F78
- .space 0x10
+ .include "src/battle_message.o"
gUnknown_02022F88: @ 2022F88
.space 0x64