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"