summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYamaArashi <shadow962@live.com>2015-10-14 06:57:02 -0700
committerYamaArashi <shadow962@live.com>2015-10-14 06:57:02 -0700
commitb6e95f52d692d893d4d050ab9de6347c74e0bf18 (patch)
tree26fa8e1d6c95bfc269beac131a66c7c89725402c
parent63ce51de2ebe21a46437f3f4610cfcf623876e20 (diff)
battle move data
-rw-r--r--asm/emerald.s307
-rw-r--r--constants/battle_move_constants.s15
-rw-r--r--data/battle_moves.s3907
-rw-r--r--data/data2.s7
4 files changed, 4079 insertions, 157 deletions
diff --git a/asm/emerald.s b/asm/emerald.s
index 92bb590be..0b93307cf 100644
--- a/asm/emerald.s
+++ b/asm/emerald.s
@@ -7,6 +7,7 @@
.include "constants/type_constants.s"
.include "constants/pokemon_data_constants.s"
.include "constants/item_data_constants.s"
+ .include "constants/battle_move_constants.s"
.include "asm/macros.s"
.include "asm/charmap.s"
@@ -86245,7 +86246,7 @@ dp01_build_cmdbuf_x10_TODO: ; 8033BE4
ldr r0, =0x0202420f
ldrb r0, [r0]
strb r0, [r3, 0xA]
- ldr r3, =gUnknown_0831C898
+ ldr r3, =gBattleMoves
ldrh r1, [r4]
lsls r0, r1, 1
adds r0, r1
@@ -95392,7 +95393,7 @@ sub_80385E8: ; 80385E8
lsls r2, r0, 1
adds r2, r0
lsls r2, 2
- ldr r0, =gUnknown_0831C89C
+ ldr r0, =gBattleMoves + 0x4 ; PP offset
adds r2, r0
adds r0, r5, 0
bl pokemon_setattr
@@ -95566,7 +95567,7 @@ sub_80385E8: ; 80385E8
lsls r2, r0, 1
adds r2, r0
lsls r2, 2
- ldr r0, =gUnknown_0831C89C
+ ldr r0, =gBattleMoves + 0x4 ; PP offset
adds r2, r0
adds r0, r5, 0
bl pokemon_setattr
@@ -98514,7 +98515,7 @@ sub_803A284: ; 803A284
stm r1!, {r2,r3,r7}
ldr r0, [r0]
str r0, [r1]
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r3, =0x020241ea
ldrh r1, [r3]
lsls r0, r1, 1
@@ -98602,7 +98603,7 @@ sub_803A284: ; 803A284
lsls r1, r0, 1
adds r1, r0
lsls r1, 2
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
adds r1, r2
ldrb r0, [r1]
cmp r0, 0x7F
@@ -98776,7 +98777,7 @@ sub_803A284: ; 803A284
lsls r1, r0, 1
adds r1, r0
lsls r1, 2
- ldr r0, =gUnknown_0831C898
+ ldr r0, =gBattleMoves
adds r1, r0
ldrb r0, [r1]
cmp r0, 0x7F
@@ -104031,7 +104032,7 @@ b_first_side: ; 803CF10
@0803D254:
movs r2, 0
@0803D256:
- ldr r4, =gUnknown_0831C898
+ ldr r4, =gBattleMoves
lsls r0, r3, 1
adds r0, r3
lsls r0, 2
@@ -105902,7 +105903,7 @@ sub_803E0B8: ; 803E0B8
ldrb r0, [r5, 0x8]
cmp r0, 0
beq @0803E400
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r0, =0x020241ea
ldrh r1, [r0]
lsls r0, r1, 1
@@ -105956,7 +105957,7 @@ sub_803E0B8: ; 803E0B8
beq @0803E424
b @0803E630
@0803E424:
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r0, =0x020241ea
ldrh r1, [r0]
lsls r0, r1, 1
@@ -106057,7 +106058,7 @@ sub_803E0B8: ; 803E0B8
beq @0803E4E8
b @0803E5E2
@0803E4E8:
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r0, =0x020241ec
ldrh r1, [r0]
lsls r0, r1, 1
@@ -106193,7 +106194,7 @@ sub_803E0B8: ; 803E0B8
ands r0, r4
cmp r0, 0
beq @0803E6E0
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r0, =0x020241ec
ldrh r1, [r0]
lsls r0, r1, 1
@@ -106389,7 +106390,7 @@ sub_803E0B8: ; 803E0B8
@0803E808:
ldr r4, =0x02024214
ldr r3, =gUnknown_082D86A8
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r0, =0x020241ea
ldrh r1, [r0]
lsls r0, r1, 1
@@ -108727,7 +108728,7 @@ sub_803FB4C: ; 803FB4C
lsls r0, 28
cmp r0, 0
beq @0803FD1A
- ldr r0, =gUnknown_0831C898
+ ldr r0, =gBattleMoves
lsls r1, r5, 1
adds r1, r5
lsls r1, 2
@@ -109106,7 +109107,7 @@ sub_803FECC: ; 803FECC
ands r0, r3
cmp r0, 0
beq @0804001C
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldrh r1, [r5]
lsls r0, r1, 1
adds r0, r1
@@ -112467,7 +112468,7 @@ sub_8041A6C: ; 8041A6C
lsrs r4, r0, 16
cmp r4, 0
beq @08041D08
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r0, =0x020241ea
ldrh r1, [r0]
lsls r0, r1, 1
@@ -112716,7 +112717,7 @@ sub_8041A6C: ; 8041A6C
lsls r0, 28
cmp r0, 0
beq @08041F8C
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r0, =0x020241ea
ldrh r1, [r0]
lsls r0, r1, 1
@@ -113111,7 +113112,7 @@ sub_8041A6C: ; 8041A6C
ands r0, r3
cmp r0, 0
beq @08042368
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r0, =0x020241ea
ldrh r1, [r0]
lsls r0, r1, 1
@@ -113896,7 +113897,7 @@ ability_something: ; 8042828
.align 2, 0
.pool
@080429A0:
- ldr r1, =gUnknown_0831C898
+ ldr r1, =gBattleMoves
lsls r0, r5, 1
adds r0, r5
lsls r0, 2
@@ -114576,7 +114577,7 @@ ability_something: ; 8042828
beq @08042FB0
b @08043126
@08042FB0:
- ldr r0, =gUnknown_0831C898
+ ldr r0, =gBattleMoves
lsls r1, r5, 1
adds r1, r5
lsls r1, 2
@@ -114614,7 +114615,7 @@ ability_something: ; 8042828
beq @0804300A
b @08043126
@0804300A:
- ldr r0, =gUnknown_0831C898
+ ldr r0, =gBattleMoves
lsls r1, r5, 1
adds r1, r5
lsls r1, 2
@@ -114864,7 +114865,7 @@ ability_something: ; 8042828
bne @080432A0
bl @0804441E
@080432A0:
- ldr r0, =gUnknown_0831C898
+ ldr r0, =gBattleMoves
lsls r1, r5, 1
adds r1, r5
lsls r1, 2
@@ -114985,7 +114986,7 @@ ability_something: ; 8042828
bne @080433B0
bl @0804441E
@080433B0:
- ldr r1, =gUnknown_0831C898
+ ldr r1, =gBattleMoves
lsls r0, r5, 1
adds r0, r5
lsls r0, 2
@@ -115062,7 +115063,7 @@ ability_something: ; 8042828
bne @08043470
bl @0804441E
@08043470:
- ldr r1, =gUnknown_0831C898
+ ldr r1, =gBattleMoves
lsls r0, r5, 1
adds r0, r5
lsls r0, 2
@@ -115164,7 +115165,7 @@ ability_something: ; 8042828
bne @08043568
bl @0804441E
@08043568:
- ldr r1, =gUnknown_0831C898
+ ldr r1, =gBattleMoves
lsls r0, r5, 1
adds r0, r5
lsls r0, 2
@@ -115251,7 +115252,7 @@ ability_something: ; 8042828
bne @08043644
bl @0804441E
@08043644:
- ldr r1, =gUnknown_0831C898
+ ldr r1, =gBattleMoves
lsls r0, r5, 1
adds r0, r5
lsls r0, 2
@@ -115318,7 +115319,7 @@ ability_something: ; 8042828
beq @080436F8
bl @0804441E
@080436F8:
- ldr r1, =gUnknown_0831C898
+ ldr r1, =gBattleMoves
lsls r0, r5, 1
adds r0, r5
lsls r0, 2
@@ -115407,7 +115408,7 @@ ability_something: ; 8042828
beq @080437D8
bl @0804441E
@080437D8:
- ldr r1, =gUnknown_0831C898
+ ldr r1, =gBattleMoves
lsls r0, r5, 1
adds r0, r5
lsls r0, 2
@@ -118998,7 +118999,7 @@ berry_effects_maybe: ; 80444DC
ldr r2, [sp, 0x10]
cmp r0, r2
bcs @0804582A
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r0, =0x020241ea
ldrh r1, [r0]
lsls r0, r1, 1
@@ -119191,7 +119192,7 @@ sub_80458E0: ; 80458E0
lsrs r6, r0, 24
b @0804590A
@080458FE:
- ldr r1, =gUnknown_0831C898
+ ldr r1, =gBattleMoves
lsls r0, r7, 1
adds r0, r7
lsls r0, 2
@@ -119337,7 +119338,7 @@ sub_80458E0: ; 80458E0
ands r2, r0
cmp r2, 0
bne @08045A6A
- ldr r0, =gUnknown_0831C898
+ ldr r0, =gBattleMoves
mov r3, r8
adds r1, r3, r7
lsls r1, 2
@@ -120113,7 +120114,7 @@ atk00_attackcanceler: ; 8045FFC
mov r9, r2
cmp r0, 0
bge @080461E8
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r0, =0x020241ea
ldrh r1, [r0]
lsls r0, r1, 1
@@ -120152,7 +120153,7 @@ atk00_attackcanceler: ; 8045FFC
cmp r2, r0
bge @0804622A
ldr r6, =0x0202433c
- ldr r1, =gUnknown_0831C898
+ ldr r1, =gBattleMoves
mov r12, r1
adds r5, r0, 0
ldr r7, =0x0202407e
@@ -120220,7 +120221,7 @@ atk00_attackcanceler: ; 8045FFC
bne @08046296
b @08046390
@08046296:
- ldr r1, =gUnknown_0831C898
+ ldr r1, =gBattleMoves
ldr r2, =0x020241ea
ldrh r3, [r2]
lsls r0, r3, 1
@@ -120416,7 +120417,7 @@ atk40_801DBA0: ; 804643C
lsls r0, 31
cmp r0, 0
beq @0804649C
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r0, =0x020241ea
ldrh r1, [r0]
lsls r0, r1, 1
@@ -120469,7 +120470,7 @@ sub_80464AC: ; 80464AC
lsls r0, 31
cmp r0, 0
beq @080464F8
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r0, =0x020241ea
ldrh r1, [r0]
lsls r0, r1, 1
@@ -120622,7 +120623,7 @@ sub_8046518: ; 8046518
ands r0, r1
cmp r0, 0
beq @08046622
- ldr r0, =gUnknown_0831C898
+ ldr r0, =gBattleMoves
adds r1, r4, r5
lsls r1, 2
adds r1, r0
@@ -120630,7 +120631,7 @@ sub_8046518: ; 8046518
cmp r0, 0x98
beq @08046634
@08046622:
- ldr r1, =gUnknown_0831C898
+ ldr r1, =gBattleMoves
adds r0, r4, r5
lsls r0, 2
adds r0, r1
@@ -120763,7 +120764,7 @@ atk01_accuracycheck: ; 8046660
.align 2, 0
.pool
@08046744:
- ldr r1, =gUnknown_0831C898
+ ldr r1, =gBattleMoves
lsls r0, r6, 1
adds r0, r6
lsls r0, 2
@@ -120832,7 +120833,7 @@ atk01_accuracycheck: ; 8046660
ble @080467D0
movs r5, 0xC
@080467D0:
- ldr r1, =gUnknown_0831C898
+ ldr r1, =gBattleMoves
lsls r4, r6, 1
adds r0, r4, r6
lsls r0, 2
@@ -121036,7 +121037,7 @@ atk01_accuracycheck: ; 8046660
ands r0, r1
cmp r0, 0
beq @080469C0
- ldr r1, =gUnknown_0831C898
+ ldr r1, =gBattleMoves
ldr r2, [sp, 0x4]
adds r0, r2, r6
lsls r0, 2
@@ -121141,7 +121142,7 @@ atk03_ppreduce: ; 8046A3C
mov r9, r2
cmp r4, 0
bne @08046AF6
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r0, =0x020241ea
ldrh r1, [r0]
lsls r0, r1, 1
@@ -121378,7 +121379,7 @@ atk04_critcalc: ; 8046C18
asrs r5, r0, 31
movs r0, 0x2
ands r5, r0
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r0, =0x020241ea
ldrh r1, [r0]
lsls r0, r1, 1
@@ -121563,7 +121564,7 @@ atk05_cmd5: ; 8046D8C
ands r0, r1
cmp r0, 0
beq @08046E10
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldrh r1, [r7]
lsls r0, r1, 1
adds r0, r1
@@ -121663,7 +121664,7 @@ sub_8046E7C: ; 8046E7C
ands r0, r1
cmp r0, 0
beq @08046F0A
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
mov r0, r8
ldrh r1, [r0]
lsls r0, r1, 1
@@ -121745,7 +121746,7 @@ battle_attack_damage_modulate_by_effectivity: ; 8046F60
.align 2, 0
.pool
@08046FB0:
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r0, =0x020241ea
ldrh r1, [r0]
lsls r0, r1, 1
@@ -121774,7 +121775,7 @@ battle_attack_damage_modulate_by_effectivity: ; 8046F60
movs r0, 0x4
b @0804702E
@08046FF0:
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r0, =0x020241ea
ldrh r1, [r0]
lsls r0, r1, 1
@@ -121837,7 +121838,7 @@ sub_8047038: ; 8047038
.align 2, 0
.pool
@08047068:
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldrh r1, [r1]
lsls r0, r1, 1
adds r0, r1
@@ -122028,7 +122029,7 @@ sub_8047038: ; 8047038
cmp r0, 0x6
bne @08047242
@08047200:
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldrh r1, [r7]
lsls r0, r1, 1
adds r0, r1
@@ -122106,7 +122107,7 @@ b_wonderguard_and_levitate: ; 80472A8
bne @080472C0
b @08047508
@080472C0:
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
lsls r0, r1, 1
adds r0, r1
lsls r0, 2
@@ -122379,7 +122380,7 @@ b_wonderguard_and_levitate: ; 80472A8
ands r6, r0
cmp r6, 0x1
beq @08047508
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
mov r0, r9
ldrh r1, [r0]
lsls r0, r1, 1
@@ -122453,7 +122454,7 @@ b_attack_effectivity_adapt: ; 804752C
ands r0, r1
b @080475DC
@0804757A:
- ldr r0, =gUnknown_0831C898
+ ldr r0, =gBattleMoves
lsls r1, r5, 1
adds r1, r5
lsls r1, 2
@@ -122479,7 +122480,7 @@ b_attack_effectivity_adapt: ; 804752C
movs r0, 0x4
b @080475DA
@080475AC:
- ldr r0, =gUnknown_0831C898
+ ldr r0, =gBattleMoves
lsls r1, r5, 1
adds r1, r5
lsls r1, 2
@@ -122541,7 +122542,7 @@ move_effectiveness_something: ; 80475E4
movs r0, 0
b @0804779E
@08047616:
- ldr r1, =gUnknown_0831C898
+ ldr r1, =gBattleMoves
mov r3, r10
lsls r2, r3, 1
adds r0, r2, r3
@@ -122725,7 +122726,7 @@ move_effectiveness_something: ; 80475E4
cmp r0, 0x6
bne @0804779A
@08047782:
- ldr r0, =gUnknown_0831C898
+ ldr r0, =gBattleMoves
ldr r1, [sp, 0xC]
add r1, r10
lsls r1, 2
@@ -122787,7 +122788,7 @@ ai_rate_move: ; 80477BC
.align 2, 0
.pool
@080477FC:
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
lsls r1, r6, 1
adds r0, r1, r6
lsls r0, 2
@@ -122858,7 +122859,7 @@ ai_rate_move: ; 80477BC
cmp r0, 0x6
bne @0804789C
@08047884:
- ldr r0, =gUnknown_0831C898
+ ldr r0, =gBattleMoves
ldr r3, [sp, 0x8]
adds r1, r3, r6
lsls r1, 2
@@ -123022,7 +123023,7 @@ atk07_cmd7: ; 80478F4
adds r5, r2, 0
cmp r1, 0
bne @08047A84
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r0, =0x020241ea
ldrh r1, [r0]
lsls r0, r1, 1
@@ -123324,7 +123325,7 @@ atk09_attackanimation: ; 8047C30
.align 2, 0
.pool
@08047C8C:
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldrh r1, [r5]
lsls r0, r1, 1
adds r0, r1
@@ -123596,7 +123597,7 @@ atk0C_datahpupdate: ; 8047EC4
.align 2, 0
.pool
@08047EF4:
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r0, =0x020241ea
ldrh r1, [r0]
lsls r0, r1, 1
@@ -126673,7 +126674,7 @@ atk15_seteffectwithchancetarget: ; 80499D4
ldrb r0, [r0]
cmp r0, 0x20
bne @08049A10
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r0, =0x020241ea
ldrh r1, [r0]
lsls r0, r1, 1
@@ -126686,7 +126687,7 @@ atk15_seteffectwithchancetarget: ; 80499D4
.align 2, 0
.pool
@08049A10:
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r0, =0x020241ea
ldrh r1, [r0]
lsls r0, r1, 1
@@ -130959,7 +130960,7 @@ sub_804BBCC: ; 804BBCC
.align 2, 0
.pool
@0804BCF0:
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r0, =0x020241ea
ldrh r1, [r0]
lsls r0, r1, 1
@@ -131081,7 +131082,7 @@ sub_804BBCC: ; 804BBCC
bne @0804BDFE
b @0804C184
@0804BDFE:
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r0, =0x020241ea
ldrh r1, [r0]
lsls r0, r1, 1
@@ -131618,7 +131619,7 @@ sub_804BBCC: ; 804BBCC
beq @0804C28E
b @0804C3E8
@0804C28E:
- ldr r0, =gUnknown_0831C898
+ ldr r0, =gBattleMoves
ldr r2, [sp, 0x18]
lsls r1, r2, 1
adds r1, r2
@@ -131782,7 +131783,7 @@ sub_804BBCC: ; 804BBCC
ands r0, r4
cmp r0, 0
bne @0804C4B6
- ldr r1, =gUnknown_0831C898
+ ldr r1, =gBattleMoves
ldr r2, [sp, 0x18]
lsls r0, r2, 1
adds r0, r2
@@ -131886,7 +131887,7 @@ sub_804BBCC: ; 804BBCC
lsls r0, 29
cmp r0, 0
blt @0804C568
- ldr r0, =gUnknown_0831C898
+ ldr r0, =gBattleMoves
mov r9, r0
ldr r1, =0x020241ea
mov r8, r1
@@ -131994,7 +131995,7 @@ atk4A_damagecalc2: ; 804C5F4
push {r7}
movs r4, 0
movs r5, 0
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r0, =0x020241ea
ldrh r1, [r0]
lsls r0, r1, 1
@@ -132202,7 +132203,7 @@ atk4A_damagecalc2: ; 804C5F4
cmp r4, 0x6
bne @0804C7E6
@0804C7AC:
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldrh r1, [r7]
lsls r0, r1, 1
adds r0, r1
@@ -132452,7 +132453,7 @@ sub_804C904: ; 804C904
movs r1, 0
strh r1, [r0, 0x2E]
@0804C9DE:
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r0, =0x020241ea
ldrh r1, [r0]
lsls r0, r1, 1
@@ -136155,7 +136156,7 @@ atk63_jumptoattack: ; 804E990
adds r0, r1, 0
@0804E9C2:
ldr r3, =gUnknown_082D86A8
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldrh r1, [r0]
lsls r0, r1, 1
adds r0, r1
@@ -136587,7 +136588,7 @@ atk69_8025FE0: ; 804ECDC
adds r5, r2, 0
cmp r1, 0
bne @0804EE38
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r0, =0x020241ea
ldrh r1, [r0]
lsls r0, r1, 1
@@ -138493,7 +138494,7 @@ atk77_setprotect: ; 804FD8C
bcc @0804FE80
cmp r6, 0
beq @0804FE80
- ldr r4, =gUnknown_0831C898
+ ldr r4, =gBattleMoves
ldr r3, =0x020241ea
ldrh r0, [r3]
lsls r1, r0, 1
@@ -139001,7 +139002,7 @@ sub_8050164: ; 8050164
strb r0, [r1]
ldr r5, =0x02024214
ldr r3, =gUnknown_082D86A8
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldrh r1, [r4]
lsls r0, r1, 1
adds r0, r1
@@ -141188,7 +141189,7 @@ sub_8051424: ; 8051424
movs r3, 0
cmp r3, r6
bcs @080514E8
- ldr r0, =gUnknown_0831C898
+ ldr r0, =gBattleMoves
mov r10, r0
ldr r5, =0x02024084
mov r12, r5
@@ -141271,7 +141272,7 @@ sub_8051424: ; 8051424
.pool
@0805150C:
movs r7, 0x3
- ldr r5, =gUnknown_0831C898
+ ldr r5, =gBattleMoves
mov r9, r5
@08051512:
bl GenerateRandomNumber
@@ -141628,7 +141629,7 @@ atk93_ko_move: ; 8051730
ands r0, r1
cmp r0, 0
bne @080518A0
- ldr r1, =gUnknown_0831C898
+ ldr r1, =gBattleMoves
ldr r0, =0x020241ea
ldrh r0, [r0]
lsls r2, r0, 1
@@ -141702,7 +141703,7 @@ atk93_ko_move: ; 8051730
cmp r0, r1
bcs @08051942
@080518CA:
- ldr r1, =gUnknown_0831C898
+ ldr r1, =gBattleMoves
ldr r0, =0x020241ea
ldrh r0, [r0]
lsls r2, r0, 1
@@ -142701,7 +142702,7 @@ atk9B_transformdataexecution: ; 805205C
cmp r4, 0x23
bls @08052170
movs r4, 0
- ldr r7, =gUnknown_0831C898
+ ldr r7, =gBattleMoves
ldr r3, =0x02024090
adds r5, r3, 0
adds r5, 0x18
@@ -142994,7 +142995,7 @@ atk9D_copyattack: ; 8052300
adds r0, r2
ldrh r0, [r0]
strh r0, [r1]
- ldr r4, =gUnknown_0831C898
+ ldr r4, =gBattleMoves
ldrb r0, [r3]
lsls r0, 1
adds r0, r2
@@ -143146,7 +143147,7 @@ sub_80524DC: ; 80524DC
ands r0, r1
str r0, [r2]
ldr r3, =gUnknown_082D86A8
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldrh r1, [r4]
lsls r0, r1, 1
adds r0, r1
@@ -144237,7 +144238,7 @@ atkA8_copymovepermanently: ; 8052D8C
mov r5, r12
adds r5, 0x24
adds r2, r5
- ldr r4, =gUnknown_0831C898
+ ldr r4, =gBattleMoves
mov r1, r8
ldrb r0, [r1]
lsls r0, 1
@@ -144350,7 +144351,7 @@ sub_8052F48: ; 8052F48
push {lr}
lsls r0, 16
lsrs r0, 16
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
lsls r1, r0, 1
adds r1, r0
lsls r1, 2
@@ -144412,7 +144413,7 @@ move_weather_interaction: ; 8052FAC
push {lr}
lsls r1, 16
lsrs r2, r1, 16
- ldr r1, =gUnknown_0831C898
+ ldr r1, =gBattleMoves
lsls r0, r2, 1
adds r0, r2
lsls r0, 2
@@ -145629,7 +145630,7 @@ atkB3_rolloutdamagecalculation: ; 8053914
str r0, [r1]
@080539EE:
ldr r3, =0x02024400
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
mov r0, r8
ldrh r1, [r0]
lsls r0, r1, 1
@@ -145791,7 +145792,7 @@ sub_8053AF8: ; 8053AF8
strb r0, [r1, 0x10]
@08053B4C:
ldr r3, =0x02024400
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r0, =0x020241ea
ldrh r1, [r0]
lsls r0, r1, 1
@@ -145835,7 +145836,7 @@ sub_8053AF8: ; 8053AF8
thumb_func_start atkB6_happinesstodamagecalculation
atkB6_happinesstodamagecalculation: ; 8053BAC
push {r4,lr}
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r0, =0x020241ea
ldrh r1, [r0]
lsls r0, r1, 1
@@ -147267,7 +147268,7 @@ atkC4_802B910: ; 80546E4
ldrb r3, [r1, 0x1]
mov r2, r8
str r3, [r2]
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r0, =0x020241ea
ldrh r1, [r0]
lsls r0, r1, 1
@@ -147754,7 +147755,7 @@ atkCC_callterrainattack: ; 8054BEC
ldr r1, =0x0202420c
strb r0, [r1]
ldr r3, =gUnknown_082D86A8
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldrh r1, [r4]
lsls r0, r1, 1
adds r0, r1
@@ -148732,7 +148733,7 @@ atkD9_scaledamagebyhealthratio: ; 8055428
ldrh r0, [r4]
cmp r0, 0
bne @08055464
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r0, =0x020241ea
ldrh r1, [r0]
lsls r0, r1, 1
@@ -149992,7 +149993,7 @@ atkE7_castform_switch: ; 8055E64
atkE8_settypebasedhalvers: ; 8055EA4
push {r4,lr}
movs r4, 0
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r0, =0x020241ea
ldrh r1, [r0]
lsls r0, r1, 1
@@ -153161,7 +153162,7 @@ sub_8057824: ; 8057824
ldrb r1, [r2]
adds r1, 0xD
bl pokemon_getattr
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
lsls r1, r0, 1
adds r1, r0
lsls r1, 2
@@ -153292,7 +153293,7 @@ sub_8057824: ; 8057824
ldrb r1, [r2]
adds r1, 0xD
bl pokemon_getattr
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
lsls r1, r0, 1
adds r1, r0
lsls r1, 2
@@ -153413,7 +153414,7 @@ sub_8057BFC: ; 8057BFC
.align 2, 0
.pool
@08057C98:
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldrh r1, [r1]
lsls r0, r1, 1
adds r0, r1
@@ -157028,7 +157029,7 @@ sub_8059BB0: ; 8059BB0
movs r1, 0x1
strb r1, [r0]
adds r0, 0x1
- ldr r3, =gUnknown_0831C898
+ ldr r3, =gBattleMoves
ldr r2, =0x020244b0
ldrb r1, [r5]
adds r1, r2
@@ -163566,7 +163567,7 @@ sub_805D19C: ; 805D19C
ands r5, r0
b @0805D442
@0805D434:
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldrh r1, [r1]
lsls r0, r1, 1
adds r0, r1
@@ -163631,7 +163632,7 @@ sub_805D4A8: ; 805D4A8
push {lr}
lsls r0, 16
lsrs r2, r0, 16
- ldr r1, =gUnknown_0831C898
+ ldr r1, =gBattleMoves
lsls r0, r2, 1
adds r0, r2
lsls r0, 2
@@ -172532,7 +172533,7 @@ sub_8061FB8: ; 8061FB8
.align 2, 0
.pool
@08062040:
- ldr r3, =gUnknown_0831C898
+ ldr r3, =gBattleMoves
lsls r0, r4, 1
adds r2, r5, r0
ldrh r1, [r2]
@@ -172600,7 +172601,7 @@ sub_8061FB8: ; 8061FB8
ldrh r2, [r0]
cmp r2, 0
beq @080620C6
- ldr r1, =gUnknown_0831C898
+ ldr r1, =gBattleMoves
lsls r0, r2, 1
adds r0, r2
lsls r0, 2
@@ -174266,7 +174267,7 @@ sub_8062E54: ; 8062E54
bne @08062E9C
b @080630AC
@08062E9C:
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldrh r1, [r4]
lsls r0, r1, 1
adds r0, r1
@@ -174319,7 +174320,7 @@ sub_8062E54: ; 8062E54
adds r7, r3, 0
mov r8, r7
@08062F1E:
- ldr r3, =gUnknown_0831C898
+ ldr r3, =gBattleMoves
ldr r1, =0x02024250
ldr r2, =0x02024064
ldrb r0, [r2]
@@ -174568,7 +174569,7 @@ ai_switchout_natural_cure: ; 80630C0
.align 2, 0
.pool
@08063128:
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r1, =0x02024250
ldr r4, =0x02024064
ldrb r0, [r4]
@@ -174881,7 +174882,7 @@ ai_switchout_something: ; 8063364
bne @080633A4
b @080635EE
@080633A4:
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldrh r1, [r4]
lsls r0, r1, 1
adds r0, r1
@@ -176131,7 +176132,7 @@ sub_8063A90: ; 8063A90
str r0, [r1]
cmp r4, 0
beq @08063E2A
- ldr r0, =gUnknown_0831C898
+ ldr r0, =gBattleMoves
lsls r1, r4, 1
adds r1, r4
lsls r1, 2
@@ -186074,7 +186075,7 @@ pokemon_moveset_pad: ; 8069140
lsls r2, r0, 1
adds r2, r0
lsls r2, 2
- ldr r0, =gUnknown_0831C89C
+ ldr r0, =gBattleMoves + 0x4 ; PP offset
adds r2, r0
adds r0, r7, 0
bl pokemon_setattr_encrypted
@@ -186112,7 +186113,7 @@ sub_80691B0: ; 80691B0
movs r3, 0
adds r5, r0, 0
adds r5, 0x24
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
lsls r1, r4, 1
adds r1, r4
lsls r1, 2
@@ -186166,7 +186167,7 @@ sub_80691F4: ; 80691F4
lsls r2, r0, 1
adds r2, r0
lsls r2, 2
- ldr r0, =gUnknown_0831C89C
+ ldr r0, =gBattleMoves + 0x4 ; PP offset
adds r2, r0
adds r0, r5, 0
adds r1, r4, 0
@@ -186193,7 +186194,7 @@ sub_8069234: ; 8069234
strh r1, [r3]
adds r0, 0x24
adds r0, r2
- ldr r3, =gUnknown_0831C898
+ ldr r3, =gBattleMoves
lsls r2, r1, 1
adds r2, r1
lsls r2, 2
@@ -186475,7 +186476,7 @@ sub_8069424: ; 8069424
mov r0, sp
mov r2, r8
strh r2, [r0, 0x6]
- ldr r1, =gUnknown_0831C898
+ ldr r1, =gBattleMoves
mov r2, r8
lsls r0, r2, 1
add r0, r8
@@ -186561,7 +186562,7 @@ sub_80694D0: ; 80694D0
mov r0, sp
mov r2, r8
strh r2, [r0, 0x6]
- ldr r1, =gUnknown_0831C898
+ ldr r1, =gBattleMoves
mov r2, r8
lsls r0, r2, 1
add r0, r8
@@ -186633,7 +186634,7 @@ sub_806957C: ; 806957C
cmp r3, 0
bne @080695D4
ldr r2, =0x020244e0
- ldr r1, =gUnknown_0831C898
+ ldr r1, =gBattleMoves
ldr r3, [sp, 0x8]
lsls r0, r3, 1
adds r0, r3
@@ -186650,7 +186651,7 @@ sub_806957C: ; 806957C
@080695D8:
cmp r7, 0
bne @080695F8
- ldr r1, =gUnknown_0831C898
+ ldr r1, =gBattleMoves
ldr r7, [sp, 0x8]
lsls r0, r7, 1
adds r0, r7
@@ -187203,7 +187204,7 @@ sub_806957C: ; 806957C
bl __divsi3
strh r0, [r4]
@08069A3E:
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r0, =0x020241ea
ldrh r1, [r0]
lsls r0, r1, 1
@@ -187360,7 +187361,7 @@ sub_806957C: ; 806957C
ands r0, r1
cmp r0, 0
beq @08069BBC
- ldr r0, =gUnknown_0831C898
+ ldr r0, =gBattleMoves
ldr r3, [sp, 0x8]
lsls r1, r3, 1
adds r1, r3
@@ -187515,7 +187516,7 @@ sub_806957C: ; 806957C
ands r0, r1
cmp r0, 0
beq @08069CFC
- ldr r0, =gUnknown_0831C898
+ ldr r0, =gBattleMoves
ldr r2, [sp, 0x8]
lsls r1, r2, 1
adds r1, r2
@@ -191058,7 +191059,7 @@ create_enemy_party: ; 806B70C
lsls r2, r0, 1
adds r2, r0
lsls r2, 2
- ldr r0, =gUnknown_0831C89C
+ ldr r0, =gBattleMoves + 0x4 ; PP offset
adds r2, r0
adds r0, r7, 0
bl pokemon_setattr
@@ -191260,7 +191261,7 @@ move_get_pp_info: ; 806B960
lsrs r0, 16
lsls r2, 24
lsrs r2, 24
- ldr r4, =gUnknown_0831C898
+ ldr r4, =gBattleMoves
lsls r3, r0, 1
adds r3, r0
lsls r3, 2
@@ -422814,7 +422815,7 @@ sub_80DEAA8: ; 80DEAA8
push {lr}
lsls r0, 16
lsrs r0, 16
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
lsls r1, r0, 1
adds r1, r0
lsls r1, 2
@@ -588473,7 +588474,7 @@ tai1F_unk: ; 8131C7C
ldr r1, =0x02024084
ldr r0, =0x0203ab3c
ldrb r2, [r0]
- ldr r5, =gUnknown_0831C898
+ ldr r5, =gBattleMoves
movs r0, 0x58
muls r0, r2
adds r1, 0xC
@@ -588530,7 +588531,7 @@ tai20_unk: ; 8131CEC
ldr r1, =0x02024084
ldr r0, =0x0203ab3c
ldrb r2, [r0]
- ldr r5, =gUnknown_0831C898
+ ldr r5, =gBattleMoves
movs r0, 0x58
muls r0, r2
adds r1, 0xC
@@ -588683,7 +588684,7 @@ dp15_get_some_type: ; 8131D80
ldr r0, =0x020244a8
ldr r0, [r0]
ldr r3, [r0, 0x14]
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldrh r1, [r3, 0x2]
lsls r0, r1, 1
adds r0, r1
@@ -588802,7 +588803,7 @@ dp15_move_get_power__2_8: ; 8131F1C
ldr r0, =0x020244a8
ldr r0, [r0]
ldr r3, [r0, 0x14]
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldrh r1, [r3, 0x2]
lsls r0, r1, 1
adds r0, r1
@@ -588831,7 +588832,7 @@ dp15_is_most_powerful_move__8: ; 8131F48
ldr r0, =gUnknown_085B09C8
ldrh r1, [r0]
ldr r5, =0x0000ffff
- ldr r6, =gUnknown_0831C898
+ ldr r6, =gBattleMoves
ldr r2, =0x020244a8
cmp r1, r5
beq @08131F86
@@ -588905,7 +588906,7 @@ dp15_is_most_powerful_move__8: ; 8131F48
ldr r2, [sp, 0x10]
cmp r2, r9
beq @08132014
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldrb r1, [r7]
movs r0, 0x58
muls r0, r1
@@ -588946,7 +588947,7 @@ dp15_is_most_powerful_move__8: ; 8131F48
ldrh r0, [r0]
cmp r0, r9
bne @081320C0
- ldr r0, =gUnknown_0831C898
+ ldr r0, =gBattleMoves
ldrh r2, [r1]
lsls r1, r2, 1
adds r1, r2
@@ -589390,7 +589391,7 @@ dp15_move_get_move_script_id: ; 81323D4
ldr r0, =0x020244a8
ldr r0, [r0]
ldr r3, [r0, 0x14]
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldrh r1, [r3, 0x2]
lsls r0, r1, 1
adds r0, r1
@@ -590166,7 +590167,7 @@ dp15_get_weather__8: ; 8132994
thumb_func_start tai37_unk
tai37_unk: ; 8132A00
push {lr}
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r0, =0x020244a8
ldr r0, [r0]
ldr r0, [r0, 0x14]
@@ -590206,7 +590207,7 @@ tai37_unk: ; 8132A00
thumb_func_start tai38_unk
tai38_unk: ; 8132A4C
push {lr}
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r0, =0x020244a8
ldr r0, [r0]
ldr r0, [r0, 0x14]
@@ -590468,7 +590469,7 @@ tai3D_unk: ; 8132C38
push {r4-r7,lr}
mov r7, r8
push {r7}
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r0, =0x020244a8
mov r8, r0
ldr r0, [r0]
@@ -590570,7 +590571,7 @@ tai3D_unk: ; 8132C38
thumb_func_start dp15_determine_move_damage_jump_if_not_fatal
dp15_determine_move_damage_jump_if_not_fatal: ; 8132D34
push {r4-r7,lr}
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r7, =0x020244a8
ldr r0, [r7]
ldr r0, [r0, 0x14]
@@ -590961,7 +590962,7 @@ tai41_unk: ; 8133020
ldr r1, =0x02024084
ldr r0, =0x0203ab3c
ldrb r2, [r0]
- ldr r6, =gUnknown_0831C898
+ ldr r6, =gBattleMoves
movs r0, 0x58
muls r0, r2
adds r1, 0xC
@@ -590997,7 +590998,7 @@ tai41_unk: ; 8133020
ldr r1, =0x02024084
ldr r0, =0x0203ab3c
ldrb r2, [r0]
- ldr r0, =gUnknown_0831C898
+ ldr r0, =gBattleMoves
mov r12, r0
ldr r7, =0x020244a8
ldr r6, =0x0202420c
@@ -591086,7 +591087,7 @@ tai42_unk: ; 8133118
ldr r1, =0x02024084
ldr r0, =0x0203ab3c
ldrb r2, [r0]
- ldr r6, =gUnknown_0831C898
+ ldr r6, =gBattleMoves
movs r0, 0x58
muls r0, r2
adds r1, 0xC
@@ -591124,7 +591125,7 @@ tai42_unk: ; 8133118
ldr r1, [r0, 0x18]
ldr r0, =0x0202420c
ldrb r0, [r0]
- ldr r6, =gUnknown_0831C898
+ ldr r6, =gBattleMoves
lsls r0, 4
adds r2, r0, r1
ldr r5, =0x0203ab38
@@ -591692,7 +591693,7 @@ dp15_move_get_type__8: ; 81335F8
ldr r0, =0x020244a8
ldr r0, [r0]
ldr r3, [r0, 0x14]
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r1, [r3, 0x8]
lsls r0, r1, 1
adds r0, r1
@@ -591714,7 +591715,7 @@ dp15_move_get_power__8_8: ; 8133624
ldr r0, =0x020244a8
ldr r0, [r0]
ldr r3, [r0, 0x14]
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r1, [r3, 0x8]
lsls r0, r1, 1
adds r0, r1
@@ -591736,7 +591737,7 @@ dp15_move_get_move_script_id__8: ; 8133650
ldr r0, =0x020244a8
ldr r0, [r0]
ldr r3, [r0, 0x14]
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldr r1, [r3, 0x8]
lsls r0, r1, 1
adds r0, r1
@@ -736438,7 +736439,7 @@ sub_817E0FC: ; 817E0FC
ands r0, r1
orrs r0, r2
strb r0, [r5]
- ldr r1, =gUnknown_0831C898
+ ldr r1, =gBattleMoves
lsls r4, r7, 1
adds r0, r4, r7
lsls r0, 2
@@ -736543,7 +736544,7 @@ sub_817E0FC: ; 817E0FC
orrs r0, r1
strb r0, [r4]
@0817E2D2:
- ldr r1, =gUnknown_0831C898
+ ldr r1, =gBattleMoves
ldr r2, [sp, 0x10]
adds r0, r2, r7
lsls r0, 2
@@ -738129,7 +738130,7 @@ sub_817EECC: ; 817EECC
beq @0817EF44
b @0817F1FA
@0817EF44:
- ldr r3, =gUnknown_0831C898
+ ldr r3, =gBattleMoves
ldr r2, =0x020244b0
adds r0, r4, r2
ldrb r0, [r0]
@@ -738266,7 +738267,7 @@ sub_817EECC: ; 817EECC
ands r0, r1
cmp r0, 0
beq @0817F06A
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
mov r6, r8
ldrh r1, [r6]
lsls r0, r1, 1
@@ -738467,7 +738468,7 @@ sub_817F21C: ; 817F21C
mov r12, r2
lsls r0, 16
lsrs r2, r0, 16
- ldr r1, =gUnknown_0831C898
+ ldr r1, =gBattleMoves
lsls r0, r2, 1
adds r0, r2
lsls r0, 2
@@ -771863,7 +771864,7 @@ sub_818FFC0: ; 818FFC0
ldr r0, =0x0000ffff
cmp r3, r0
beq @0818FFF0
- ldr r0, =gUnknown_0831C898
+ ldr r0, =gBattleMoves
lsls r1, r3, 1
adds r1, r3
lsls r1, 2
@@ -779462,7 +779463,7 @@ sub_8193ED0: ; 8193ED0
ldrh r0, [r0]
strh r0, [r2]
@08193F8C:
- ldr r0, =gUnknown_0831C898
+ ldr r0, =gBattleMoves
ldr r1, [sp, 0x74]
add r1, r9
lsls r1, 1
@@ -831045,7 +831046,7 @@ sub_81AE2FC: ; 81AE2FC
bl sub_81B6CFC
lsls r0, 16
lsrs r7, r0, 16
- ldr r1, =gUnknown_0831C898
+ ldr r1, =gBattleMoves
lsls r0, r7, 1
adds r0, r7
lsls r0, 2
@@ -831086,7 +831087,7 @@ sub_81AE2FC: ; 81AE2FC
movs r1, 0x1
movs r3, 0x7
bl sub_81AE0BC
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
lsls r1, r7, 1
adds r0, r1, r7
lsls r0, 2
@@ -831123,7 +831124,7 @@ sub_81AE2FC: ; 81AE2FC
movs r3, 0x7
bl sub_81AE0BC
ldr r5, =0x02021cc4
- ldr r1, =gUnknown_0831C898
+ ldr r1, =gBattleMoves
adds r0, r6, r7
lsls r0, 2
adds r0, r1
@@ -861149,7 +861150,7 @@ sub_81BDAC8: ; 81BDAC8
bl sub_8130BA4
lsls r0, 24
lsrs r5, r0, 24
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
lsls r0, r5, 1
adds r4, r0
ldrh r1, [r4]
@@ -872582,7 +872583,7 @@ sub_81C3C5C: ; 81C3C5C
movs r2, 0x35
movs r3, 0
bl Window_FillPixelRect
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
lsls r1, r5, 1
adds r0, r1, r5
lsls r0, 2
@@ -872611,7 +872612,7 @@ sub_81C3C5C: ; 81C3C5C
movs r2, 0x35
movs r3, 0x1
bl sub_81C25A4
- ldr r1, =gUnknown_0831C898
+ ldr r1, =gBattleMoves
adds r0, r6, r5
lsls r0, 2
adds r1, r0, r1
@@ -872980,7 +872981,7 @@ sub_81C3F44: ; 81C3F44
bl sub_81C25A4
@081C3FEC:
ldr r4, =0x02021cc4
- ldr r1, =gUnknown_0831C898
+ ldr r1, =gBattleMoves
lsls r0, r5, 1
adds r0, r5
lsls r0, 2
@@ -873505,7 +873506,7 @@ sub_81C4420: ; 81C4420
adds r5, r0, 0
adds r5, 0x70
movs r4, 0
- ldr r6, =gUnknown_0831C898
+ ldr r6, =gBattleMoves
@081C442E:
lsls r0, r4, 1
adds r1, r5, 0
@@ -873628,7 +873629,7 @@ sub_81C44F0: ; 81C44F0
ldrb r0, [r0]
cmp r0, 0x2
bne @081C4540
- ldr r2, =gUnknown_0831C898
+ ldr r2, =gBattleMoves
ldrh r1, [r3]
lsls r0, r1, 1
adds r0, r1
@@ -902979,7 +902980,7 @@ sub_81D28FC: ; 81D28FC
lsls r0, r1, 1
add r0, r9
lsls r0, 2
- ldr r1, =gUnknown_0831C898
+ ldr r1, =gBattleMoves
adds r6, r0, r1
ldrb r1, [r6, 0x2]
lsls r0, r1, 3
diff --git a/constants/battle_move_constants.s b/constants/battle_move_constants.s
new file mode 100644
index 000000000..a05da3db3
--- /dev/null
+++ b/constants/battle_move_constants.s
@@ -0,0 +1,15 @@
+ .set TARGET_SELECTED_POKEMON, 0
+
+ .set F_TARGET_SPECIAL, 1 << 0
+ .set F_TARGET_RANDOM, 1 << 2
+ .set F_TARGET_BOTH_ENEMIES, 1 << 3
+ .set F_TARGET_USER, 1 << 4
+ .set F_TARGET_ALL_EXCEPT_USER, 1 << 5
+ .set F_TARGET_ENEMY_SIDE, 1 << 6
+
+ .set F_MAKES_CONTACT, 1 << 0
+ .set F_AFFECTED_BY_PROTECT, 1 << 1
+ .set F_AFFECTED_BY_MAGIC_COAT, 1 << 2
+ .set F_AFFECTED_BY_SNATCH, 1 << 3
+ .set F_MIRROR_MOVE_COMPATIBLE, 1 << 4
+ .set F_AFFECTED_BY_KINGS_ROCK, 1 << 5
diff --git a/data/battle_moves.s b/data/battle_moves.s
new file mode 100644
index 000000000..710149b56
--- /dev/null
+++ b/data/battle_moves.s
@@ -0,0 +1,3907 @@
+ .align 2, 0
+
+gBattleMoves: ; 831C898
+; -
+ .byte 0x00 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 0 ; accuracy
+ .byte 0 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte 0 ; misc. flags
+
+; Pound
+ .byte 0x00 ; effect
+ .byte 40 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 35 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Karate Chop
+ .byte 0x2b ; effect
+ .byte 50 ; power
+ .byte TYPE_FIGHTING
+ .byte 100 ; accuracy
+ .byte 25 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Double Slap
+ .byte 0x1d ; effect
+ .byte 15 ; power
+ .byte TYPE_NORMAL
+ .byte 85 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Comet Punch
+ .byte 0x1d ; effect
+ .byte 18 ; power
+ .byte TYPE_NORMAL
+ .byte 85 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Mega Punch
+ .byte 0x00 ; effect
+ .byte 80 ; power
+ .byte TYPE_NORMAL
+ .byte 85 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Pay Day
+ .byte 0x22 ; effect
+ .byte 40 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 100 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Fire Punch
+ .byte 0x04 ; effect
+ .byte 75 ; power
+ .byte TYPE_FIRE
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 10 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Ice Punch
+ .byte 0x05 ; effect
+ .byte 75 ; power
+ .byte TYPE_ICE
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 10 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Thunder Punch
+ .byte 0x06 ; effect
+ .byte 75 ; power
+ .byte TYPE_ELECTRIC
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 10 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Scratch
+ .byte 0x00 ; effect
+ .byte 40 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 35 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Vice Grip
+ .byte 0x00 ; effect
+ .byte 55 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 30 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Guillotine
+ .byte 0x26 ; effect
+ .byte 1 ; power
+ .byte TYPE_NORMAL
+ .byte 30 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Razor Wind
+ .byte 0x27 ; effect
+ .byte 80 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_BOTH_ENEMIES
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Swords Dance
+ .byte 0x32 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 0 ; accuracy
+ .byte 30 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Cut
+ .byte 0x00 ; effect
+ .byte 50 ; power
+ .byte TYPE_NORMAL
+ .byte 95 ; accuracy
+ .byte 30 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Gust
+ .byte 0x95 ; effect
+ .byte 40 ; power
+ .byte TYPE_FLYING
+ .byte 100 ; accuracy
+ .byte 35 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Wing Attack
+ .byte 0x00 ; effect
+ .byte 60 ; power
+ .byte TYPE_FLYING
+ .byte 100 ; accuracy
+ .byte 35 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Whirlwind
+ .byte 0x1c ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte -6 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Fly
+ .byte 0x9b ; effect
+ .byte 70 ; power
+ .byte TYPE_FLYING
+ .byte 95 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Bind
+ .byte 0x2a ; effect
+ .byte 15 ; power
+ .byte TYPE_NORMAL
+ .byte 75 ; accuracy
+ .byte 20 ; PP
+ .byte 100 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Slam
+ .byte 0x00 ; effect
+ .byte 80 ; power
+ .byte TYPE_NORMAL
+ .byte 75 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Vine Whip
+ .byte 0x00 ; effect
+ .byte 35 ; power
+ .byte TYPE_GRASS
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Stomp
+ .byte 0x96 ; effect
+ .byte 65 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 30 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Double Kick
+ .byte 0x2c ; effect
+ .byte 30 ; power
+ .byte TYPE_FIGHTING
+ .byte 100 ; accuracy
+ .byte 30 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Mega Kick
+ .byte 0x00 ; effect
+ .byte 120 ; power
+ .byte TYPE_NORMAL
+ .byte 75 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Jump Kick
+ .byte 0x2d ; effect
+ .byte 70 ; power
+ .byte TYPE_FIGHTING
+ .byte 95 ; accuracy
+ .byte 25 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Rolling Kick
+ .byte 0x1f ; effect
+ .byte 60 ; power
+ .byte TYPE_FIGHTING
+ .byte 85 ; accuracy
+ .byte 15 ; PP
+ .byte 30 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Sand-Attack
+ .byte 0x17 ; effect
+ .byte 0 ; power
+ .byte TYPE_GROUND
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Headbutt
+ .byte 0x1f ; effect
+ .byte 70 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 30 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Horn Attack
+ .byte 0x00 ; effect
+ .byte 65 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 25 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Fury Attack
+ .byte 0x1d ; effect
+ .byte 15 ; power
+ .byte TYPE_NORMAL
+ .byte 85 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Horn Drill
+ .byte 0x26 ; effect
+ .byte 1 ; power
+ .byte TYPE_NORMAL
+ .byte 30 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Tackle
+ .byte 0x00 ; effect
+ .byte 35 ; power
+ .byte TYPE_NORMAL
+ .byte 95 ; accuracy
+ .byte 35 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Body Slam
+ .byte 0x06 ; effect
+ .byte 85 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 30 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Wrap
+ .byte 0x2a ; effect
+ .byte 15 ; power
+ .byte TYPE_NORMAL
+ .byte 85 ; accuracy
+ .byte 20 ; PP
+ .byte 100 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Take Down
+ .byte 0x30 ; effect
+ .byte 90 ; power
+ .byte TYPE_NORMAL
+ .byte 85 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Thrash
+ .byte 0x1b ; effect
+ .byte 90 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 100 ; side effect chance
+ .byte F_TARGET_RANDOM
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Double-Edge
+ .byte 0xc6 ; effect
+ .byte 120 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Tail Whip
+ .byte 0x13 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 30 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_BOTH_ENEMIES
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Poison Sting
+ .byte 0x02 ; effect
+ .byte 15 ; power
+ .byte TYPE_POISON
+ .byte 100 ; accuracy
+ .byte 35 ; PP
+ .byte 30 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Twineedle
+ .byte 0x4d ; effect
+ .byte 25 ; power
+ .byte TYPE_BUG
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 20 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Pin Missile
+ .byte 0x1d ; effect
+ .byte 14 ; power
+ .byte TYPE_BUG
+ .byte 85 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Leer
+ .byte 0x13 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 30 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_BOTH_ENEMIES
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Bite
+ .byte 0x1f ; effect
+ .byte 60 ; power
+ .byte TYPE_DARK
+ .byte 100 ; accuracy
+ .byte 25 ; PP
+ .byte 30 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Growl
+ .byte 0x12 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 40 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_BOTH_ENEMIES
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Roar
+ .byte 0x1c ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte -6 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Sing
+ .byte 0x01 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 55 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Supersonic
+ .byte 0x31 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 55 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Sonic Boom
+ .byte 0x82 ; effect
+ .byte 1 ; power
+ .byte TYPE_NORMAL
+ .byte 90 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Disable
+ .byte 0x56 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 55 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Acid
+ .byte 0x45 ; effect
+ .byte 40 ; power
+ .byte TYPE_POISON
+ .byte 100 ; accuracy
+ .byte 30 ; PP
+ .byte 10 ; side effect chance
+ .byte F_TARGET_BOTH_ENEMIES
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Ember
+ .byte 0x04 ; effect
+ .byte 40 ; power
+ .byte TYPE_FIRE
+ .byte 100 ; accuracy
+ .byte 25 ; PP
+ .byte 10 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Flamethrower
+ .byte 0x04 ; effect
+ .byte 95 ; power
+ .byte TYPE_FIRE
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 10 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Mist
+ .byte 0x2e ; effect
+ .byte 0 ; power
+ .byte TYPE_ICE
+ .byte 0 ; accuracy
+ .byte 30 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Water Gun
+ .byte 0x00 ; effect
+ .byte 40 ; power
+ .byte TYPE_WATER
+ .byte 100 ; accuracy
+ .byte 25 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Hydro Pump
+ .byte 0x00 ; effect
+ .byte 120 ; power
+ .byte TYPE_WATER
+ .byte 80 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Surf
+ .byte 0x00 ; effect
+ .byte 95 ; power
+ .byte TYPE_WATER
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_BOTH_ENEMIES
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Ice Beam
+ .byte 0x05 ; effect
+ .byte 95 ; power
+ .byte TYPE_ICE
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 10 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Blizzard
+ .byte 0x05 ; effect
+ .byte 120 ; power
+ .byte TYPE_ICE
+ .byte 70 ; accuracy
+ .byte 5 ; PP
+ .byte 10 ; side effect chance
+ .byte F_TARGET_BOTH_ENEMIES
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Psybeam
+ .byte 0x4c ; effect
+ .byte 65 ; power
+ .byte TYPE_PSYCHIC
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 10 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Bubble Beam
+ .byte 0x46 ; effect
+ .byte 65 ; power
+ .byte TYPE_WATER
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 10 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Aurora Beam
+ .byte 0x44 ; effect
+ .byte 65 ; power
+ .byte TYPE_ICE
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 10 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Hyper Beam
+ .byte 0x50 ; effect
+ .byte 150 ; power
+ .byte TYPE_NORMAL
+ .byte 90 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Peck
+ .byte 0x00 ; effect
+ .byte 35 ; power
+ .byte TYPE_FLYING
+ .byte 100 ; accuracy
+ .byte 35 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Drill Peck
+ .byte 0x00 ; effect
+ .byte 80 ; power
+ .byte TYPE_FLYING
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Submission
+ .byte 0x30 ; effect
+ .byte 80 ; power
+ .byte TYPE_FIGHTING
+ .byte 80 ; accuracy
+ .byte 25 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Low Kick
+ .byte 0xc4 ; effect
+ .byte 1 ; power
+ .byte TYPE_FIGHTING
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Counter
+ .byte 0x59 ; effect
+ .byte 1 ; power
+ .byte TYPE_FIGHTING
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_SPECIAL
+ .byte -5 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_MAKES_CONTACT ; misc. flags
+
+; Seismic Toss
+ .byte 0x57 ; effect
+ .byte 1 ; power
+ .byte TYPE_FIGHTING
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Strength
+ .byte 0x00 ; effect
+ .byte 80 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Absorb
+ .byte 0x03 ; effect
+ .byte 20 ; power
+ .byte TYPE_GRASS
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Mega Drain
+ .byte 0x03 ; effect
+ .byte 40 ; power
+ .byte TYPE_GRASS
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Leech Seed
+ .byte 0x54 ; effect
+ .byte 0 ; power
+ .byte TYPE_GRASS
+ .byte 90 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Growth
+ .byte 0x0d ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 0 ; accuracy
+ .byte 40 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Razor Leaf
+ .byte 0x2b ; effect
+ .byte 55 ; power
+ .byte TYPE_GRASS
+ .byte 95 ; accuracy
+ .byte 25 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_BOTH_ENEMIES
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Solar Beam
+ .byte 0x97 ; effect
+ .byte 120 ; power
+ .byte TYPE_GRASS
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Poison Powder
+ .byte 0x42 ; effect
+ .byte 0 ; power
+ .byte TYPE_POISON
+ .byte 75 ; accuracy
+ .byte 35 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Stun Spore
+ .byte 0x43 ; effect
+ .byte 0 ; power
+ .byte TYPE_GRASS
+ .byte 75 ; accuracy
+ .byte 30 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Sleep Powder
+ .byte 0x01 ; effect
+ .byte 0 ; power
+ .byte TYPE_GRASS
+ .byte 75 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Petal Dance
+ .byte 0x1b ; effect
+ .byte 70 ; power
+ .byte TYPE_GRASS
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 100 ; side effect chance
+ .byte F_TARGET_RANDOM
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; String Shot
+ .byte 0x14 ; effect
+ .byte 0 ; power
+ .byte TYPE_BUG
+ .byte 95 ; accuracy
+ .byte 40 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_BOTH_ENEMIES
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Dragon Rage
+ .byte 0x29 ; effect
+ .byte 1 ; power
+ .byte TYPE_DRAGON
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Fire Spin
+ .byte 0x2a ; effect
+ .byte 15 ; power
+ .byte TYPE_FIRE
+ .byte 70 ; accuracy
+ .byte 15 ; PP
+ .byte 100 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Thunder Shock
+ .byte 0x06 ; effect
+ .byte 40 ; power
+ .byte TYPE_ELECTRIC
+ .byte 100 ; accuracy
+ .byte 30 ; PP
+ .byte 10 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Thunderbolt
+ .byte 0x06 ; effect
+ .byte 95 ; power
+ .byte TYPE_ELECTRIC
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 10 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Thunder Wave
+ .byte 0x43 ; effect
+ .byte 0 ; power
+ .byte TYPE_ELECTRIC
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Thunder
+ .byte 0x98 ; effect
+ .byte 120 ; power
+ .byte TYPE_ELECTRIC
+ .byte 70 ; accuracy
+ .byte 10 ; PP
+ .byte 30 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Rock Throw
+ .byte 0x00 ; effect
+ .byte 50 ; power
+ .byte TYPE_ROCK
+ .byte 90 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Earthquake
+ .byte 0x93 ; effect
+ .byte 100 ; power
+ .byte TYPE_GROUND
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_ALL_EXCEPT_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Fissure
+ .byte 0x26 ; effect
+ .byte 1 ; power
+ .byte TYPE_GROUND
+ .byte 30 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Dig
+ .byte 0x9b ; effect
+ .byte 60 ; power
+ .byte TYPE_GROUND
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Toxic
+ .byte 0x21 ; effect
+ .byte 0 ; power
+ .byte TYPE_POISON
+ .byte 85 ; accuracy
+ .byte 10 ; PP
+ .byte 100 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Confusion
+ .byte 0x4c ; effect
+ .byte 50 ; power
+ .byte TYPE_PSYCHIC
+ .byte 100 ; accuracy
+ .byte 25 ; PP
+ .byte 10 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Psychic
+ .byte 0x48 ; effect
+ .byte 90 ; power
+ .byte TYPE_PSYCHIC
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 10 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Hypnosis
+ .byte 0x01 ; effect
+ .byte 0 ; power
+ .byte TYPE_PSYCHIC
+ .byte 60 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Meditate
+ .byte 0x0a ; effect
+ .byte 0 ; power
+ .byte TYPE_PSYCHIC
+ .byte 0 ; accuracy
+ .byte 40 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Agility
+ .byte 0x34 ; effect
+ .byte 0 ; power
+ .byte TYPE_PSYCHIC
+ .byte 0 ; accuracy
+ .byte 30 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Quick Attack
+ .byte 0x67 ; effect
+ .byte 40 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 30 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 1 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Rage
+ .byte 0x51 ; effect
+ .byte 20 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Teleport
+ .byte 0x99 ; effect
+ .byte 0 ; power
+ .byte TYPE_PSYCHIC
+ .byte 0 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte 0 ; misc. flags
+
+; Night Shade
+ .byte 0x57 ; effect
+ .byte 1 ; power
+ .byte TYPE_GHOST
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Mimic
+ .byte 0x52 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Screech
+ .byte 0x3b ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 85 ; accuracy
+ .byte 40 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Double Team
+ .byte 0x10 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 0 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Recover
+ .byte 0x20 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 0 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Harden
+ .byte 0x0b ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 0 ; accuracy
+ .byte 30 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Minimize
+ .byte 0x6c ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 0 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Smokescreen
+ .byte 0x17 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Confuse Ray
+ .byte 0x31 ; effect
+ .byte 0 ; power
+ .byte TYPE_GHOST
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Withdraw
+ .byte 0x0b ; effect
+ .byte 0 ; power
+ .byte TYPE_WATER
+ .byte 0 ; accuracy
+ .byte 40 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Defense Curl
+ .byte 0x9c ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 0 ; accuracy
+ .byte 40 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Barrier
+ .byte 0x33 ; effect
+ .byte 0 ; power
+ .byte TYPE_PSYCHIC
+ .byte 0 ; accuracy
+ .byte 30 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Light Screen
+ .byte 0x23 ; effect
+ .byte 0 ; power
+ .byte TYPE_PSYCHIC
+ .byte 0 ; accuracy
+ .byte 30 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Haze
+ .byte 0x19 ; effect
+ .byte 0 ; power
+ .byte TYPE_ICE
+ .byte 0 ; accuracy
+ .byte 30 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Reflect
+ .byte 0x41 ; effect
+ .byte 0 ; power
+ .byte TYPE_PSYCHIC
+ .byte 0 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Focus Energy
+ .byte 0x2f ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 0 ; accuracy
+ .byte 30 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Bide
+ .byte 0x1a ; effect
+ .byte 1 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Metronome
+ .byte 0x53 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 0 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_SPECIAL
+ .byte 0 ; priority
+ .4byte 0 ; misc. flags
+
+; Mirror Move
+ .byte 0x09 ; effect
+ .byte 0 ; power
+ .byte TYPE_FLYING
+ .byte 0 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_SPECIAL
+ .byte 0 ; priority
+ .4byte 0 ; misc. flags
+
+; Self-Destruct
+ .byte 0x07 ; effect
+ .byte 200 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_ALL_EXCEPT_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Egg Bomb
+ .byte 0x00 ; effect
+ .byte 100 ; power
+ .byte TYPE_NORMAL
+ .byte 75 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Lick
+ .byte 0x06 ; effect
+ .byte 20 ; power
+ .byte TYPE_GHOST
+ .byte 100 ; accuracy
+ .byte 30 ; PP
+ .byte 30 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Smog
+ .byte 0x02 ; effect
+ .byte 20 ; power
+ .byte TYPE_POISON
+ .byte 70 ; accuracy
+ .byte 20 ; PP
+ .byte 40 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Sludge
+ .byte 0x02 ; effect
+ .byte 65 ; power
+ .byte TYPE_POISON
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 30 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Bone Club
+ .byte 0x1f ; effect
+ .byte 65 ; power
+ .byte TYPE_GROUND
+ .byte 85 ; accuracy
+ .byte 20 ; PP
+ .byte 10 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Fire Blast
+ .byte 0x04 ; effect
+ .byte 120 ; power
+ .byte TYPE_FIRE
+ .byte 85 ; accuracy
+ .byte 5 ; PP
+ .byte 10 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Waterfall
+ .byte 0x00 ; effect
+ .byte 80 ; power
+ .byte TYPE_WATER
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Clamp
+ .byte 0x2a ; effect
+ .byte 35 ; power
+ .byte TYPE_WATER
+ .byte 75 ; accuracy
+ .byte 10 ; PP
+ .byte 100 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Swift
+ .byte 0x11 ; effect
+ .byte 60 ; power
+ .byte TYPE_NORMAL
+ .byte 0 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_BOTH_ENEMIES
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Skull Bash
+ .byte 0x91 ; effect
+ .byte 100 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Spike Cannon
+ .byte 0x1d ; effect
+ .byte 20 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Constrict
+ .byte 0x46 ; effect
+ .byte 10 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 35 ; PP
+ .byte 10 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Amnesia
+ .byte 0x36 ; effect
+ .byte 0 ; power
+ .byte TYPE_PSYCHIC
+ .byte 0 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Kinesis
+ .byte 0x17 ; effect
+ .byte 0 ; power
+ .byte TYPE_PSYCHIC
+ .byte 80 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Soft-Boiled
+ .byte 0x9d ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Hi Jump Kick
+ .byte 0x2d ; effect
+ .byte 85 ; power
+ .byte TYPE_FIGHTING
+ .byte 90 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Glare
+ .byte 0x43 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 75 ; accuracy
+ .byte 30 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Dream Eater
+ .byte 0x08 ; effect
+ .byte 100 ; power
+ .byte TYPE_PSYCHIC
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Poison Gas
+ .byte 0x42 ; effect
+ .byte 0 ; power
+ .byte TYPE_POISON
+ .byte 55 ; accuracy
+ .byte 40 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Barrage
+ .byte 0x1d ; effect
+ .byte 15 ; power
+ .byte TYPE_NORMAL
+ .byte 85 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Leech Life
+ .byte 0x03 ; effect
+ .byte 20 ; power
+ .byte TYPE_BUG
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Lovely Kiss
+ .byte 0x01 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 75 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Sky Attack
+ .byte 0x4b ; effect
+ .byte 140 ; power
+ .byte TYPE_FLYING
+ .byte 90 ; accuracy
+ .byte 5 ; PP
+ .byte 30 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Transform
+ .byte 0x39 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 0 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte 0 ; misc. flags
+
+; Bubble
+ .byte 0x46 ; effect
+ .byte 20 ; power
+ .byte TYPE_WATER
+ .byte 100 ; accuracy
+ .byte 30 ; PP
+ .byte 10 ; side effect chance
+ .byte F_TARGET_BOTH_ENEMIES
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Dizzy Punch
+ .byte 0x4c ; effect
+ .byte 70 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 20 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Spore
+ .byte 0x01 ; effect
+ .byte 0 ; power
+ .byte TYPE_GRASS
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Flash
+ .byte 0x17 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 70 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Psywave
+ .byte 0x58 ; effect
+ .byte 1 ; power
+ .byte TYPE_PSYCHIC
+ .byte 80 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Splash
+ .byte 0x55 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 0 ; accuracy
+ .byte 40 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte 0 ; misc. flags
+
+; Acid Armor
+ .byte 0x33 ; effect
+ .byte 0 ; power
+ .byte TYPE_POISON
+ .byte 0 ; accuracy
+ .byte 40 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Crabhammer
+ .byte 0x2b ; effect
+ .byte 90 ; power
+ .byte TYPE_WATER
+ .byte 85 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Explosion
+ .byte 0x07 ; effect
+ .byte 250 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_ALL_EXCEPT_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Fury Swipes
+ .byte 0x1d ; effect
+ .byte 18 ; power
+ .byte TYPE_NORMAL
+ .byte 80 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Bonemerang
+ .byte 0x2c ; effect
+ .byte 50 ; power
+ .byte TYPE_GROUND
+ .byte 90 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Rest
+ .byte 0x25 ; effect
+ .byte 0 ; power
+ .byte TYPE_PSYCHIC
+ .byte 0 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Rock Slide
+ .byte 0x1f ; effect
+ .byte 75 ; power
+ .byte TYPE_ROCK
+ .byte 90 ; accuracy
+ .byte 10 ; PP
+ .byte 30 ; side effect chance
+ .byte F_TARGET_BOTH_ENEMIES
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Hyper Fang
+ .byte 0x1f ; effect
+ .byte 80 ; power
+ .byte TYPE_NORMAL
+ .byte 90 ; accuracy
+ .byte 15 ; PP
+ .byte 10 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Sharpen
+ .byte 0x0a ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 0 ; accuracy
+ .byte 30 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Conversion
+ .byte 0x1e ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 0 ; accuracy
+ .byte 30 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte 0 ; misc. flags
+
+; Tri Attack
+ .byte 0x24 ; effect
+ .byte 80 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 20 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Super Fang
+ .byte 0x28 ; effect
+ .byte 1 ; power
+ .byte TYPE_NORMAL
+ .byte 90 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Slash
+ .byte 0x2b ; effect
+ .byte 70 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Substitute
+ .byte 0x4f ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 0 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Struggle
+ .byte 0x30 ; effect
+ .byte 50 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 1 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Sketch
+ .byte 0x5f ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 0 ; accuracy
+ .byte 1 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte 0 ; misc. flags
+
+; Triple Kick
+ .byte 0x68 ; effect
+ .byte 10 ; power
+ .byte TYPE_FIGHTING
+ .byte 90 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Thief
+ .byte 0x69 ; effect
+ .byte 40 ; power
+ .byte TYPE_DARK
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 100 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Spider Web
+ .byte 0x6a ; effect
+ .byte 0 ; power
+ .byte TYPE_BUG
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Mind Reader
+ .byte 0x5e ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Nightmare
+ .byte 0x6b ; effect
+ .byte 0 ; power
+ .byte TYPE_GHOST
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Flame Wheel
+ .byte 0x7d ; effect
+ .byte 60 ; power
+ .byte TYPE_FIRE
+ .byte 100 ; accuracy
+ .byte 25 ; PP
+ .byte 10 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Snore
+ .byte 0x5c ; effect
+ .byte 40 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 30 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Curse
+ .byte 0x6d ; effect
+ .byte 0 ; power
+ .byte TYPE_UNKNOWN
+ .byte 0 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte 0 ; misc. flags
+
+; Flail
+ .byte 0x63 ; effect
+ .byte 1 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Conversion 2
+ .byte 0x5d ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 30 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte 0 ; misc. flags
+
+; Aeroblast
+ .byte 0x2b ; effect
+ .byte 100 ; power
+ .byte TYPE_FLYING
+ .byte 95 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Cotton Spore
+ .byte 0x3c ; effect
+ .byte 0 ; power
+ .byte TYPE_GRASS
+ .byte 85 ; accuracy
+ .byte 40 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Reversal
+ .byte 0x63 ; effect
+ .byte 1 ; power
+ .byte TYPE_FIGHTING
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Spite
+ .byte 0x64 ; effect
+ .byte 0 ; power
+ .byte TYPE_GHOST
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Powder Snow
+ .byte 0x05 ; effect
+ .byte 40 ; power
+ .byte TYPE_ICE
+ .byte 100 ; accuracy
+ .byte 25 ; PP
+ .byte 10 ; side effect chance
+ .byte F_TARGET_BOTH_ENEMIES
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Protect
+ .byte 0x6f ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 0 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 3 ; priority
+ .4byte 0 ; misc. flags
+
+; Mach Punch
+ .byte 0x67 ; effect
+ .byte 40 ; power
+ .byte TYPE_FIGHTING
+ .byte 100 ; accuracy
+ .byte 30 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 1 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Scary Face
+ .byte 0x3c ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 90 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Faint Attack
+ .byte 0x11 ; effect
+ .byte 60 ; power
+ .byte TYPE_DARK
+ .byte 0 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Sweet Kiss
+ .byte 0x31 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 75 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Belly Drum
+ .byte 0x8e ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 0 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Sludge Bomb
+ .byte 0x02 ; effect
+ .byte 90 ; power
+ .byte TYPE_POISON
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 30 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Mud-Slap
+ .byte 0x49 ; effect
+ .byte 20 ; power
+ .byte TYPE_GROUND
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 100 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Octazooka
+ .byte 0x49 ; effect
+ .byte 65 ; power
+ .byte TYPE_WATER
+ .byte 85 ; accuracy
+ .byte 10 ; PP
+ .byte 50 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Spikes
+ .byte 0x70 ; effect
+ .byte 0 ; power
+ .byte TYPE_GROUND
+ .byte 0 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_ENEMY_SIDE
+ .byte 0 ; priority
+ .4byte 0 ; misc. flags
+
+; Zap Cannon
+ .byte 0x06 ; effect
+ .byte 100 ; power
+ .byte TYPE_ELECTRIC
+ .byte 50 ; accuracy
+ .byte 5 ; PP
+ .byte 100 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Foresight
+ .byte 0x71 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 40 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Destiny Bond
+ .byte 0x62 ; effect
+ .byte 0 ; power
+ .byte TYPE_GHOST
+ .byte 0 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte 0 ; misc. flags
+
+; Perish Song
+ .byte 0x72 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 0 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte 0 ; misc. flags
+
+; Icy Wind
+ .byte 0x46 ; effect
+ .byte 55 ; power
+ .byte TYPE_ICE
+ .byte 95 ; accuracy
+ .byte 15 ; PP
+ .byte 100 ; side effect chance
+ .byte F_TARGET_BOTH_ENEMIES
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Detect
+ .byte 0x6f ; effect
+ .byte 0 ; power
+ .byte TYPE_FIGHTING
+ .byte 0 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 3 ; priority
+ .4byte 0 ; misc. flags
+
+; Bone Rush
+ .byte 0x1d ; effect
+ .byte 25 ; power
+ .byte TYPE_GROUND
+ .byte 80 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Lock-On
+ .byte 0x5e ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Outrage
+ .byte 0x1b ; effect
+ .byte 90 ; power
+ .byte TYPE_DRAGON
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 100 ; side effect chance
+ .byte F_TARGET_RANDOM
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Sandstorm
+ .byte 0x73 ; effect
+ .byte 0 ; power
+ .byte TYPE_ROCK
+ .byte 0 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte 0 ; misc. flags
+
+; Giga Drain
+ .byte 0x03 ; effect
+ .byte 60 ; power
+ .byte TYPE_GRASS
+ .byte 100 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Endure
+ .byte 0x74 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 0 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 3 ; priority
+ .4byte 0 ; misc. flags
+
+; Charm
+ .byte 0x3a ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Rollout
+ .byte 0x75 ; effect
+ .byte 30 ; power
+ .byte TYPE_ROCK
+ .byte 90 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; False Swipe
+ .byte 0x65 ; effect
+ .byte 40 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 40 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Swagger
+ .byte 0x76 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 90 ; accuracy
+ .byte 15 ; PP
+ .byte 100 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Milk Drink
+ .byte 0x9d ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 0 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Spark
+ .byte 0x06 ; effect
+ .byte 65 ; power
+ .byte TYPE_ELECTRIC
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 30 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Fury Cutter
+ .byte 0x77 ; effect
+ .byte 10 ; power
+ .byte TYPE_BUG
+ .byte 95 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Steel Wing
+ .byte 0x8a ; effect
+ .byte 70 ; power
+ .byte TYPE_STEEL
+ .byte 90 ; accuracy
+ .byte 25 ; PP
+ .byte 10 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Mean Look
+ .byte 0x6a ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Attract
+ .byte 0x78 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Sleep Talk
+ .byte 0x61 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 0 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_SPECIAL
+ .byte 0 ; priority
+ .4byte 0 ; misc. flags
+
+; Heal Bell
+ .byte 0x66 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 0 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Return
+ .byte 0x79 ; effect
+ .byte 1 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Present
+ .byte 0x7a ; effect
+ .byte 1 ; power
+ .byte TYPE_NORMAL
+ .byte 90 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Frustration
+ .byte 0x7b ; effect
+ .byte 1 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Safeguard
+ .byte 0x7c ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 0 ; accuracy
+ .byte 25 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Pain Split
+ .byte 0x5b ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Sacred Fire
+ .byte 0x7d ; effect
+ .byte 100 ; power
+ .byte TYPE_FIRE
+ .byte 95 ; accuracy
+ .byte 5 ; PP
+ .byte 50 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Magnitude
+ .byte 0x7e ; effect
+ .byte 1 ; power
+ .byte TYPE_GROUND
+ .byte 100 ; accuracy
+ .byte 30 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_ALL_EXCEPT_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Dynamic Punch
+ .byte 0x4c ; effect
+ .byte 100 ; power
+ .byte TYPE_FIGHTING
+ .byte 50 ; accuracy
+ .byte 5 ; PP
+ .byte 100 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Megahorn
+ .byte 0x00 ; effect
+ .byte 120 ; power
+ .byte TYPE_BUG
+ .byte 85 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Dragon Breath
+ .byte 0x06 ; effect
+ .byte 60 ; power
+ .byte TYPE_DRAGON
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 30 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Baton Pass
+ .byte 0x7f ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 0 ; accuracy
+ .byte 40 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte 0 ; misc. flags
+
+; Encore
+ .byte 0x5a ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Pursuit
+ .byte 0x80 ; effect
+ .byte 40 ; power
+ .byte TYPE_DARK
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Rapid Spin
+ .byte 0x81 ; effect
+ .byte 20 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 40 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Sweet Scent
+ .byte 0x18 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_BOTH_ENEMIES
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Iron Tail
+ .byte 0x45 ; effect
+ .byte 100 ; power
+ .byte TYPE_STEEL
+ .byte 75 ; accuracy
+ .byte 15 ; PP
+ .byte 30 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Metal Claw
+ .byte 0x8b ; effect
+ .byte 50 ; power
+ .byte TYPE_STEEL
+ .byte 95 ; accuracy
+ .byte 35 ; PP
+ .byte 10 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Vital Throw
+ .byte 0x4e ; effect
+ .byte 70 ; power
+ .byte TYPE_FIGHTING
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte -1 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Morning Sun
+ .byte 0x84 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 0 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Synthesis
+ .byte 0x85 ; effect
+ .byte 0 ; power
+ .byte TYPE_GRASS
+ .byte 0 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Moonlight
+ .byte 0x86 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 0 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Hidden Power
+ .byte 0x87 ; effect
+ .byte 1 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Cross Chop
+ .byte 0x2b ; effect
+ .byte 100 ; power
+ .byte TYPE_FIGHTING
+ .byte 80 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Twister
+ .byte 0x92 ; effect
+ .byte 40 ; power
+ .byte TYPE_DRAGON
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 20 ; side effect chance
+ .byte F_TARGET_BOTH_ENEMIES
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Rain Dance
+ .byte 0x88 ; effect
+ .byte 0 ; power
+ .byte TYPE_WATER
+ .byte 0 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte 0 ; misc. flags
+
+; Sunny Day
+ .byte 0x89 ; effect
+ .byte 0 ; power
+ .byte TYPE_FIRE
+ .byte 0 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte 0 ; misc. flags
+
+; Crunch
+ .byte 0x48 ; effect
+ .byte 80 ; power
+ .byte TYPE_DARK
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 20 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Mirror Coat
+ .byte 0x90 ; effect
+ .byte 1 ; power
+ .byte TYPE_PSYCHIC
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_SPECIAL
+ .byte -5 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE ; misc. flags
+
+; Psych Up
+ .byte 0x8f ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 0 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Extreme Speed
+ .byte 0x67 ; effect
+ .byte 80 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 1 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Ancient Power
+ .byte 0x8c ; effect
+ .byte 60 ; power
+ .byte TYPE_ROCK
+ .byte 100 ; accuracy
+ .byte 5 ; PP
+ .byte 10 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Shadow Ball
+ .byte 0x48 ; effect
+ .byte 80 ; power
+ .byte TYPE_GHOST
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 20 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Future Sight
+ .byte 0x94 ; effect
+ .byte 80 ; power
+ .byte TYPE_PSYCHIC
+ .byte 90 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte 0 ; misc. flags
+
+; Rock Smash
+ .byte 0x45 ; effect
+ .byte 20 ; power
+ .byte TYPE_FIGHTING
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 50 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Whirlpool
+ .byte 0x2a ; effect
+ .byte 15 ; power
+ .byte TYPE_WATER
+ .byte 70 ; accuracy
+ .byte 15 ; PP
+ .byte 100 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Beat Up
+ .byte 0x9a ; effect
+ .byte 10 ; power
+ .byte TYPE_DARK
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Fake Out
+ .byte 0x9e ; effect
+ .byte 40 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 1 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Uproar
+ .byte 0x9f ; effect
+ .byte 50 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 100 ; side effect chance
+ .byte F_TARGET_RANDOM
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Stockpile
+ .byte 0xa0 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 0 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Spit Up
+ .byte 0xa1 ; effect
+ .byte 100 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Swallow
+ .byte 0xa2 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 0 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Heat Wave
+ .byte 0x04 ; effect
+ .byte 100 ; power
+ .byte TYPE_FIRE
+ .byte 90 ; accuracy
+ .byte 10 ; PP
+ .byte 10 ; side effect chance
+ .byte F_TARGET_BOTH_ENEMIES
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Hail
+ .byte 0xa4 ; effect
+ .byte 0 ; power
+ .byte TYPE_ICE
+ .byte 0 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Torment
+ .byte 0xa5 ; effect
+ .byte 0 ; power
+ .byte TYPE_DARK
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Flatter
+ .byte 0xa6 ; effect
+ .byte 0 ; power
+ .byte TYPE_DARK
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Will-O-Wisp
+ .byte 0xa7 ; effect
+ .byte 0 ; power
+ .byte TYPE_FIRE
+ .byte 75 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Memento
+ .byte 0xa8 ; effect
+ .byte 0 ; power
+ .byte TYPE_DARK
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Facade
+ .byte 0xa9 ; effect
+ .byte 70 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Focus Punch
+ .byte 0xaa ; effect
+ .byte 150 ; power
+ .byte TYPE_FIGHTING
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte -3 ; priority
+ .4byte F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Smelling Salt
+ .byte 0xab ; effect
+ .byte 60 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Follow Me
+ .byte 0xac ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 3 ; priority
+ .4byte 0 ; misc. flags
+
+; Nature Power
+ .byte 0xad ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 95 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_SPECIAL
+ .byte 0 ; priority
+ .4byte 0 ; misc. flags
+
+; Charge
+ .byte 0xae ; effect
+ .byte 0 ; power
+ .byte TYPE_ELECTRIC
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Taunt
+ .byte 0xaf ; effect
+ .byte 0 ; power
+ .byte TYPE_DARK
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Helping Hand
+ .byte 0xb0 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 5 ; priority
+ .4byte 0 ; misc. flags
+
+; Trick
+ .byte 0xb1 ; effect
+ .byte 0 ; power
+ .byte TYPE_PSYCHIC
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Role Play
+ .byte 0xb2 ; effect
+ .byte 0 ; power
+ .byte TYPE_PSYCHIC
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte 0 ; misc. flags
+
+; Wish
+ .byte 0xb3 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Assist
+ .byte 0xb4 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_SPECIAL
+ .byte 0 ; priority
+ .4byte 0 ; misc. flags
+
+; Ingrain
+ .byte 0xb5 ; effect
+ .byte 0 ; power
+ .byte TYPE_GRASS
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Superpower
+ .byte 0xb6 ; effect
+ .byte 120 ; power
+ .byte TYPE_FIGHTING
+ .byte 100 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Magic Coat
+ .byte 0xb7 ; effect
+ .byte 0 ; power
+ .byte TYPE_PSYCHIC
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_SPECIAL
+ .byte 4 ; priority
+ .4byte 0 ; misc. flags
+
+; Recycle
+ .byte 0xb8 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte 0 ; misc. flags
+
+; Revenge
+ .byte 0xb9 ; effect
+ .byte 60 ; power
+ .byte TYPE_FIGHTING
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte -4 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Brick Break
+ .byte 0xba ; effect
+ .byte 75 ; power
+ .byte TYPE_FIGHTING
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Yawn
+ .byte 0xbb ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Knock Off
+ .byte 0xbc ; effect
+ .byte 20 ; power
+ .byte TYPE_DARK
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 100 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Endeavor
+ .byte 0xbd ; effect
+ .byte 1 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Eruption
+ .byte 0xbe ; effect
+ .byte 150 ; power
+ .byte TYPE_FIRE
+ .byte 100 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_BOTH_ENEMIES
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Skill Swap
+ .byte 0xbf ; effect
+ .byte 0 ; power
+ .byte TYPE_PSYCHIC
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Imprison
+ .byte 0xc0 ; effect
+ .byte 0 ; power
+ .byte TYPE_PSYCHIC
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Refresh
+ .byte 0xc1 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Grudge
+ .byte 0xc2 ; effect
+ .byte 0 ; power
+ .byte TYPE_GHOST
+ .byte 100 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Snatch
+ .byte 0xc3 ; effect
+ .byte 0 ; power
+ .byte TYPE_DARK
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_SPECIAL
+ .byte 4 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE ; misc. flags
+
+; Secret Power
+ .byte 0xc5 ; effect
+ .byte 70 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 30 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Dive
+ .byte 0x9b ; effect
+ .byte 60 ; power
+ .byte TYPE_WATER
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Arm Thrust
+ .byte 0x1d ; effect
+ .byte 15 ; power
+ .byte TYPE_FIGHTING
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Camouflage
+ .byte 0xd5 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Tail Glow
+ .byte 0x35 ; effect
+ .byte 0 ; power
+ .byte TYPE_BUG
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Luster Purge
+ .byte 0x48 ; effect
+ .byte 70 ; power
+ .byte TYPE_PSYCHIC
+ .byte 100 ; accuracy
+ .byte 5 ; PP
+ .byte 50 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Mist Ball
+ .byte 0x47 ; effect
+ .byte 70 ; power
+ .byte TYPE_PSYCHIC
+ .byte 100 ; accuracy
+ .byte 5 ; PP
+ .byte 50 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Feather Dance
+ .byte 0x3a ; effect
+ .byte 0 ; power
+ .byte TYPE_FLYING
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Teeter Dance
+ .byte 0xc7 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_ALL_EXCEPT_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Blaze Kick
+ .byte 0xc8 ; effect
+ .byte 85 ; power
+ .byte TYPE_FIRE
+ .byte 90 ; accuracy
+ .byte 10 ; PP
+ .byte 10 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Mud Sport
+ .byte 0xc9 ; effect
+ .byte 0 ; power
+ .byte TYPE_GROUND
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte 0 ; misc. flags
+
+; Ice Ball
+ .byte 0x75 ; effect
+ .byte 30 ; power
+ .byte TYPE_ICE
+ .byte 90 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Needle Arm
+ .byte 0x96 ; effect
+ .byte 60 ; power
+ .byte TYPE_GRASS
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 30 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Slack Off
+ .byte 0x20 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Hyper Voice
+ .byte 0x00 ; effect
+ .byte 90 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_BOTH_ENEMIES
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Poison Fang
+ .byte 0xca ; effect
+ .byte 50 ; power
+ .byte TYPE_POISON
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 30 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Crush Claw
+ .byte 0x45 ; effect
+ .byte 75 ; power
+ .byte TYPE_NORMAL
+ .byte 95 ; accuracy
+ .byte 10 ; PP
+ .byte 50 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Blast Burn
+ .byte 0x50 ; effect
+ .byte 150 ; power
+ .byte TYPE_FIRE
+ .byte 90 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Hydro Cannon
+ .byte 0x50 ; effect
+ .byte 150 ; power
+ .byte TYPE_WATER
+ .byte 90 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Meteor Mash
+ .byte 0x8b ; effect
+ .byte 100 ; power
+ .byte TYPE_STEEL
+ .byte 85 ; accuracy
+ .byte 10 ; PP
+ .byte 20 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Astonish
+ .byte 0x96 ; effect
+ .byte 30 ; power
+ .byte TYPE_GHOST
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 30 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Weather Ball
+ .byte 0xcb ; effect
+ .byte 50 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Aromatherapy
+ .byte 0x66 ; effect
+ .byte 0 ; power
+ .byte TYPE_GRASS
+ .byte 0 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Fake Tears
+ .byte 0x3e ; effect
+ .byte 0 ; power
+ .byte TYPE_DARK
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Air Cutter
+ .byte 0x2b ; effect
+ .byte 55 ; power
+ .byte TYPE_FLYING
+ .byte 95 ; accuracy
+ .byte 25 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_BOTH_ENEMIES
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Overheat
+ .byte 0xcc ; effect
+ .byte 140 ; power
+ .byte TYPE_FIRE
+ .byte 90 ; accuracy
+ .byte 5 ; PP
+ .byte 100 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Odor Sleuth
+ .byte 0x71 ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 40 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Rock Tomb
+ .byte 0x46 ; effect
+ .byte 50 ; power
+ .byte TYPE_ROCK
+ .byte 80 ; accuracy
+ .byte 10 ; PP
+ .byte 100 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Silver Wind
+ .byte 0x8c ; effect
+ .byte 60 ; power
+ .byte TYPE_BUG
+ .byte 100 ; accuracy
+ .byte 5 ; PP
+ .byte 10 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Metal Sound
+ .byte 0x3e ; effect
+ .byte 0 ; power
+ .byte TYPE_STEEL
+ .byte 85 ; accuracy
+ .byte 40 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Grass Whistle
+ .byte 0x01 ; effect
+ .byte 0 ; power
+ .byte TYPE_GRASS
+ .byte 55 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Tickle
+ .byte 0xcd ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Cosmic Power
+ .byte 0xce ; effect
+ .byte 0 ; power
+ .byte TYPE_PSYCHIC
+ .byte 0 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Water Spout
+ .byte 0xbe ; effect
+ .byte 150 ; power
+ .byte TYPE_WATER
+ .byte 100 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_BOTH_ENEMIES
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Signal Beam
+ .byte 0x4c ; effect
+ .byte 75 ; power
+ .byte TYPE_BUG
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 10 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Shadow Punch
+ .byte 0x11 ; effect
+ .byte 60 ; power
+ .byte TYPE_GHOST
+ .byte 0 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Extrasensory
+ .byte 0x96 ; effect
+ .byte 80 ; power
+ .byte TYPE_PSYCHIC
+ .byte 100 ; accuracy
+ .byte 30 ; PP
+ .byte 10 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Sky Uppercut
+ .byte 0xcf ; effect
+ .byte 85 ; power
+ .byte TYPE_FIGHTING
+ .byte 90 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Sand Tomb
+ .byte 0x2a ; effect
+ .byte 15 ; power
+ .byte TYPE_GROUND
+ .byte 70 ; accuracy
+ .byte 15 ; PP
+ .byte 100 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Sheer Cold
+ .byte 0x26 ; effect
+ .byte 1 ; power
+ .byte TYPE_ICE
+ .byte 30 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Muddy Water
+ .byte 0x49 ; effect
+ .byte 95 ; power
+ .byte TYPE_WATER
+ .byte 85 ; accuracy
+ .byte 10 ; PP
+ .byte 30 ; side effect chance
+ .byte F_TARGET_BOTH_ENEMIES
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Bullet Seed
+ .byte 0x1d ; effect
+ .byte 10 ; power
+ .byte TYPE_GRASS
+ .byte 100 ; accuracy
+ .byte 30 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Aerial Ace
+ .byte 0x11 ; effect
+ .byte 60 ; power
+ .byte TYPE_FLYING
+ .byte 0 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Icicle Spear
+ .byte 0x1d ; effect
+ .byte 10 ; power
+ .byte TYPE_ICE
+ .byte 100 ; accuracy
+ .byte 30 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Iron Defense
+ .byte 0x33 ; effect
+ .byte 0 ; power
+ .byte TYPE_STEEL
+ .byte 0 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Block
+ .byte 0x6a ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Howl
+ .byte 0x0a ; effect
+ .byte 0 ; power
+ .byte TYPE_NORMAL
+ .byte 0 ; accuracy
+ .byte 40 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Dragon Claw
+ .byte 0x00 ; effect
+ .byte 80 ; power
+ .byte TYPE_DRAGON
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Frenzy Plant
+ .byte 0x50 ; effect
+ .byte 150 ; power
+ .byte TYPE_GRASS
+ .byte 90 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Bulk Up
+ .byte 0xd0 ; effect
+ .byte 0 ; power
+ .byte TYPE_FIGHTING
+ .byte 0 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Bounce
+ .byte 0x9b ; effect
+ .byte 85 ; power
+ .byte TYPE_FLYING
+ .byte 85 ; accuracy
+ .byte 5 ; PP
+ .byte 30 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Mud Shot
+ .byte 0x46 ; effect
+ .byte 55 ; power
+ .byte TYPE_GROUND
+ .byte 95 ; accuracy
+ .byte 15 ; PP
+ .byte 100 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Poison Tail
+ .byte 0xd1 ; effect
+ .byte 50 ; power
+ .byte TYPE_POISON
+ .byte 100 ; accuracy
+ .byte 25 ; PP
+ .byte 10 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Covet
+ .byte 0x69 ; effect
+ .byte 40 ; power
+ .byte TYPE_NORMAL
+ .byte 100 ; accuracy
+ .byte 40 ; PP
+ .byte 100 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Volt Tackle
+ .byte 0xc6 ; effect
+ .byte 120 ; power
+ .byte TYPE_ELECTRIC
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Magical Leaf
+ .byte 0x11 ; effect
+ .byte 60 ; power
+ .byte TYPE_GRASS
+ .byte 0 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Water Sport
+ .byte 0xd2 ; effect
+ .byte 0 ; power
+ .byte TYPE_WATER
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte 0 ; misc. flags
+
+; Calm Mind
+ .byte 0xd3 ; effect
+ .byte 0 ; power
+ .byte TYPE_PSYCHIC
+ .byte 0 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Leaf Blade
+ .byte 0x2b ; effect
+ .byte 70 ; power
+ .byte TYPE_GRASS
+ .byte 100 ; accuracy
+ .byte 15 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT ; misc. flags
+
+; Dragon Dance
+ .byte 0xd4 ; effect
+ .byte 0 ; power
+ .byte TYPE_DRAGON
+ .byte 0 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte F_TARGET_USER
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_SNATCH ; misc. flags
+
+; Rock Blast
+ .byte 0x1d ; effect
+ .byte 25 ; power
+ .byte TYPE_ROCK
+ .byte 80 ; accuracy
+ .byte 10 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Shock Wave
+ .byte 0x11 ; effect
+ .byte 60 ; power
+ .byte TYPE_ELECTRIC
+ .byte 0 ; accuracy
+ .byte 20 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Water Pulse
+ .byte 0x4c ; effect
+ .byte 60 ; power
+ .byte TYPE_WATER
+ .byte 100 ; accuracy
+ .byte 20 ; PP
+ .byte 20 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
+
+; Doom Desire
+ .byte 0x94 ; effect
+ .byte 120 ; power
+ .byte TYPE_STEEL
+ .byte 85 ; accuracy
+ .byte 5 ; PP
+ .byte 0 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte 0 ; misc. flags
+
+; Psycho Boost
+ .byte 0xcc ; effect
+ .byte 140 ; power
+ .byte TYPE_PSYCHIC
+ .byte 90 ; accuracy
+ .byte 5 ; PP
+ .byte 100 ; side effect chance
+ .byte TARGET_SELECTED_POKEMON
+ .byte 0 ; priority
+ .4byte F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT ; misc. flags
diff --git a/data/data2.s b/data/data2.s
index 1be570329..493e36f31 100644
--- a/data/data2.s
+++ b/data/data2.s
@@ -1630,11 +1630,10 @@ gUnknown_0831C6C8: ; 831C6C8
gUnknown_0831C7B4: ; 831C7B4
.incbin "base_emerald.gba", 0x31c7b4, 0xe4
-gUnknown_0831C898: ; 831C898
- .incbin "base_emerald.gba", 0x31c898, 0x4
+; 831C898
+ .include "data/battle_moves.s"
-gUnknown_0831C89C: ; 831C89C
- .incbin "base_emerald.gba", 0x31c89c, 0x10b0
+ .incbin "base_emerald.gba", 0x31d93c, 0x10
; 831D94C
.include "data/pokedex_order.s"