diff options
Diffstat (limited to 'data')
-rw-r--r-- | data/anims/ball_colors.asm (renamed from data/battle/ball_colors.asm) | 0 | ||||
-rwxr-xr-x | data/anims/framesets.asm | 1271 | ||||
-rwxr-xr-x | data/anims/oam.asm | 1086 | ||||
-rwxr-xr-x | data/anims/object_gfx.asm | 51 | ||||
-rwxr-xr-x | data/anims/objects.asm | 209 | ||||
-rw-r--r-- | data/maps/flypoints.asm (renamed from data/flypoints.asm) | 0 | ||||
-rw-r--r-- | data/maps/map_setup_scripts.asm | 177 | ||||
-rw-r--r-- | data/moves/effect_command_pointers.asm | 180 | ||||
-rw-r--r-- | data/moves/move_anims.asm | 5176 | ||||
-rw-r--r-- | data/moves/move_descriptions.asm | 1270 | ||||
-rw-r--r-- | data/moves/move_effects.asm | 2075 | ||||
-rw-r--r-- | data/moves/move_effects_pointers.asm | 159 | ||||
-rw-r--r-- | data/moves/move_names.asm | 252 | ||||
-rw-r--r-- | data/moves/moves.asm | 265 | ||||
-rw-r--r-- | data/moves/tmhm_moves.asm (renamed from data/tmhm_moves.asm) | 3 | ||||
-rw-r--r-- | data/mystery_gift_decos.asm (renamed from data/mystery_gift/decos.asm) | 0 | ||||
-rw-r--r-- | data/mystery_gift_items.asm (renamed from data/mystery_gift/items.asm) | 0 | ||||
-rwxr-xr-x | data/sprite_anim_frames.asm | 499 | ||||
-rwxr-xr-x | data/sprites/framesets.asm | 499 | ||||
-rw-r--r-- | data/sprites/oam.asm (renamed from data/sprite_anim_oam.asm) | 282 | ||||
-rw-r--r-- | data/sprites/sequences.asm (renamed from data/sprite_anim_seqs.asm) | 0 | ||||
-rw-r--r-- | data/type_matchups.asm | 125 | ||||
-rw-r--r-- | data/type_names.asm | 50 | ||||
-rw-r--r-- | data/wild/flee_mons.asm (renamed from data/battle/flee_mons.asm) | 0 |
24 files changed, 12986 insertions, 643 deletions
diff --git a/data/battle/ball_colors.asm b/data/anims/ball_colors.asm index c3ba9d2b4..c3ba9d2b4 100644 --- a/data/battle/ball_colors.asm +++ b/data/anims/ball_colors.asm diff --git a/data/anims/framesets.asm b/data/anims/framesets.asm new file mode 100755 index 000000000..7b4bb0a71 --- /dev/null +++ b/data/anims/framesets.asm @@ -0,0 +1,1271 @@ +BattleAnimFrameData: ; ce85e +; entries correspond to BATTLEANIMFRAMESET_* constants + dw .Frameset_00 ; BATTLEANIMFRAMESET_00 + dw .Frameset_01 ; BATTLEANIMFRAMESET_01 + dw .Frameset_02 ; BATTLEANIMFRAMESET_02 + dw .Frameset_03 ; BATTLEANIMFRAMESET_03 + dw .Frameset_04 ; BATTLEANIMFRAMESET_04 + dw .Frameset_05 ; BATTLEANIMFRAMESET_05 + dw .Frameset_06 ; BATTLEANIMFRAMESET_06 + dw .Frameset_07 ; BATTLEANIMFRAMESET_07 + dw .Frameset_08 ; BATTLEANIMFRAMESET_08 + dw .Frameset_09 ; BATTLEANIMFRAMESET_09 + dw .Frameset_0a ; BATTLEANIMFRAMESET_0A + dw .Frameset_0b ; BATTLEANIMFRAMESET_0B + dw .Frameset_0c ; BATTLEANIMFRAMESET_0C + dw .Frameset_0d ; BATTLEANIMFRAMESET_0D + dw .Frameset_0e ; BATTLEANIMFRAMESET_0E + dw .Frameset_0f ; BATTLEANIMFRAMESET_0F + dw .Frameset_10 ; BATTLEANIMFRAMESET_10 + dw .Frameset_11 ; BATTLEANIMFRAMESET_11 + dw .Frameset_12 ; BATTLEANIMFRAMESET_12 + dw .Frameset_13 ; BATTLEANIMFRAMESET_13 + dw .Frameset_14 ; BATTLEANIMFRAMESET_14 + dw .Frameset_15 ; BATTLEANIMFRAMESET_15 + dw .Frameset_16 ; BATTLEANIMFRAMESET_16 + dw .Frameset_17 ; BATTLEANIMFRAMESET_17 + dw .Frameset_18 ; BATTLEANIMFRAMESET_18 + dw .Frameset_19 ; BATTLEANIMFRAMESET_19 + dw .Frameset_1a ; BATTLEANIMFRAMESET_1A + dw .Frameset_1b ; BATTLEANIMFRAMESET_1B + dw .Frameset_1c ; BATTLEANIMFRAMESET_1C + dw .Frameset_1d ; BATTLEANIMFRAMESET_1D + dw .Frameset_1e ; BATTLEANIMFRAMESET_1E + dw .Frameset_1f ; BATTLEANIMFRAMESET_1F + dw .Frameset_20 ; BATTLEANIMFRAMESET_20 + dw .Frameset_21 ; BATTLEANIMFRAMESET_21 + dw .Frameset_22 ; BATTLEANIMFRAMESET_22 + dw .Frameset_23 ; BATTLEANIMFRAMESET_23 + dw .Frameset_24 ; BATTLEANIMFRAMESET_24 + dw .Frameset_25 ; BATTLEANIMFRAMESET_25 + dw .Frameset_26 ; BATTLEANIMFRAMESET_26 + dw .Frameset_27 ; BATTLEANIMFRAMESET_27 + dw .Frameset_28 ; BATTLEANIMFRAMESET_28 + dw .Frameset_29 ; BATTLEANIMFRAMESET_29 + dw .Frameset_2a ; BATTLEANIMFRAMESET_2A + dw .Frameset_2b ; BATTLEANIMFRAMESET_2B + dw .Frameset_2c ; BATTLEANIMFRAMESET_2C + dw .Frameset_2d ; BATTLEANIMFRAMESET_2D + dw .Frameset_2e ; BATTLEANIMFRAMESET_2E + dw .Frameset_2f ; BATTLEANIMFRAMESET_2F + dw .Frameset_30 ; BATTLEANIMFRAMESET_30 + dw .Frameset_31 ; BATTLEANIMFRAMESET_31 + dw .Frameset_32 ; BATTLEANIMFRAMESET_32 + dw .Frameset_33 ; BATTLEANIMFRAMESET_33 + dw .Frameset_34 ; BATTLEANIMFRAMESET_34 + dw .Frameset_35 ; BATTLEANIMFRAMESET_35 + dw .Frameset_36 ; BATTLEANIMFRAMESET_36 + dw .Frameset_37 ; BATTLEANIMFRAMESET_37 + dw .Frameset_38 ; BATTLEANIMFRAMESET_38 + dw .Frameset_39 ; BATTLEANIMFRAMESET_39 + dw .Frameset_3a ; BATTLEANIMFRAMESET_3A + dw .Frameset_3b ; BATTLEANIMFRAMESET_3B + dw .Frameset_3c ; BATTLEANIMFRAMESET_3C + dw .Frameset_3d ; BATTLEANIMFRAMESET_3D + dw .Frameset_3e ; BATTLEANIMFRAMESET_3E + dw .Frameset_3f ; BATTLEANIMFRAMESET_3F + dw .Frameset_40 ; BATTLEANIMFRAMESET_40 + dw .Frameset_41 ; BATTLEANIMFRAMESET_41 + dw .Frameset_42 ; BATTLEANIMFRAMESET_42 + dw .Frameset_43 ; BATTLEANIMFRAMESET_43 + dw .Frameset_44 ; BATTLEANIMFRAMESET_44 + dw .Frameset_45 ; BATTLEANIMFRAMESET_45 + dw .Frameset_46 ; BATTLEANIMFRAMESET_46 + dw .Frameset_47 ; BATTLEANIMFRAMESET_47 + dw .Frameset_48 ; BATTLEANIMFRAMESET_48 + dw .Frameset_49 ; BATTLEANIMFRAMESET_49 + dw .Frameset_4a ; BATTLEANIMFRAMESET_4A + dw .Frameset_4b ; BATTLEANIMFRAMESET_4B + dw .Frameset_4c ; BATTLEANIMFRAMESET_4C + dw .Frameset_4d ; BATTLEANIMFRAMESET_4D + dw .Frameset_4e ; BATTLEANIMFRAMESET_4E + dw .Frameset_4f ; BATTLEANIMFRAMESET_4F + dw .Frameset_50 ; BATTLEANIMFRAMESET_50 + dw .Frameset_51 ; BATTLEANIMFRAMESET_51 + dw .Frameset_52 ; BATTLEANIMFRAMESET_52 + dw .Frameset_53 ; BATTLEANIMFRAMESET_53 + dw .Frameset_54 ; BATTLEANIMFRAMESET_54 + dw .Frameset_55 ; BATTLEANIMFRAMESET_55 + dw .Frameset_56 ; BATTLEANIMFRAMESET_56 + dw .Frameset_57 ; BATTLEANIMFRAMESET_57 + dw .Frameset_58 ; BATTLEANIMFRAMESET_58 + dw .Frameset_59 ; BATTLEANIMFRAMESET_59 + dw .Frameset_5a ; BATTLEANIMFRAMESET_5A + dw .Frameset_5b ; BATTLEANIMFRAMESET_5B + dw .Frameset_5c ; BATTLEANIMFRAMESET_5C + dw .Frameset_5d ; BATTLEANIMFRAMESET_5D + dw .Frameset_5e ; BATTLEANIMFRAMESET_5E + dw .Frameset_5f ; BATTLEANIMFRAMESET_5F + dw .Frameset_60 ; BATTLEANIMFRAMESET_60 + dw .Frameset_61 ; BATTLEANIMFRAMESET_61 + dw .Frameset_62 ; BATTLEANIMFRAMESET_62 + dw .Frameset_63 ; BATTLEANIMFRAMESET_63 + dw .Frameset_64 ; BATTLEANIMFRAMESET_64 + dw .Frameset_65 ; BATTLEANIMFRAMESET_65 + dw .Frameset_66 ; BATTLEANIMFRAMESET_66 + dw .Frameset_67 ; BATTLEANIMFRAMESET_67 + dw .Frameset_68 ; BATTLEANIMFRAMESET_68 + dw .Frameset_69 ; BATTLEANIMFRAMESET_69 + dw .Frameset_6a ; BATTLEANIMFRAMESET_6A + dw .Frameset_6b ; BATTLEANIMFRAMESET_6B + dw .Frameset_6c ; BATTLEANIMFRAMESET_6C + dw .Frameset_6d ; BATTLEANIMFRAMESET_6D + dw .Frameset_6e ; BATTLEANIMFRAMESET_6E + dw .Frameset_6f ; BATTLEANIMFRAMESET_6F + dw .Frameset_70 ; BATTLEANIMFRAMESET_70 + dw .Frameset_71 ; BATTLEANIMFRAMESET_71 + dw .Frameset_72 ; BATTLEANIMFRAMESET_72 + dw .Frameset_73 ; BATTLEANIMFRAMESET_73 + dw .Frameset_74 ; BATTLEANIMFRAMESET_74 + dw .Frameset_75 ; BATTLEANIMFRAMESET_75 + dw .Frameset_76 ; BATTLEANIMFRAMESET_76 + dw .Frameset_77 ; BATTLEANIMFRAMESET_77 + dw .Frameset_78 ; BATTLEANIMFRAMESET_78 + dw .Frameset_79 ; BATTLEANIMFRAMESET_79 + dw .Frameset_7a ; BATTLEANIMFRAMESET_7A + dw .Frameset_7b ; BATTLEANIMFRAMESET_7B + dw .Frameset_7c ; BATTLEANIMFRAMESET_7C + dw .Frameset_7d ; BATTLEANIMFRAMESET_7D + dw .Frameset_7e ; BATTLEANIMFRAMESET_7E + dw .Frameset_7f ; BATTLEANIMFRAMESET_7F + dw .Frameset_80 ; BATTLEANIMFRAMESET_80 + dw .Frameset_81 ; BATTLEANIMFRAMESET_81 + dw .Frameset_82 ; BATTLEANIMFRAMESET_82 + dw .Frameset_83 ; BATTLEANIMFRAMESET_83 + dw .Frameset_84 ; BATTLEANIMFRAMESET_84 + dw .Frameset_85 ; BATTLEANIMFRAMESET_85 + dw .Frameset_86 ; BATTLEANIMFRAMESET_86 + dw .Frameset_87 ; BATTLEANIMFRAMESET_87 + dw .Frameset_88 ; BATTLEANIMFRAMESET_88 + dw .Frameset_89 ; BATTLEANIMFRAMESET_89 + dw .Frameset_8a ; BATTLEANIMFRAMESET_8A + dw .Frameset_8b ; BATTLEANIMFRAMESET_8B + dw .Frameset_8c ; BATTLEANIMFRAMESET_8C + dw .Frameset_8d ; BATTLEANIMFRAMESET_8D + dw .Frameset_8e ; BATTLEANIMFRAMESET_8E + dw .Frameset_8f ; BATTLEANIMFRAMESET_8F + dw .Frameset_90 ; BATTLEANIMFRAMESET_90 + dw .Frameset_91 ; BATTLEANIMFRAMESET_91 + dw .Frameset_92 ; BATTLEANIMFRAMESET_92 + dw .Frameset_93 ; BATTLEANIMFRAMESET_93 + dw .Frameset_94 ; BATTLEANIMFRAMESET_94 + dw .Frameset_95 ; BATTLEANIMFRAMESET_95 + dw .Frameset_96 ; BATTLEANIMFRAMESET_96 + dw .Frameset_97 ; BATTLEANIMFRAMESET_97 + dw .Frameset_98 ; BATTLEANIMFRAMESET_98 + dw .Frameset_99 ; BATTLEANIMFRAMESET_99 + dw .Frameset_9a ; BATTLEANIMFRAMESET_9A + dw .Frameset_9b ; BATTLEANIMFRAMESET_9B + dw .Frameset_9c ; BATTLEANIMFRAMESET_9C + dw .Frameset_9d ; BATTLEANIMFRAMESET_9D + dw .Frameset_9e ; BATTLEANIMFRAMESET_9E + dw .Frameset_9f ; BATTLEANIMFRAMESET_9F + dw .Frameset_a0 ; BATTLEANIMFRAMESET_A0 + dw .Frameset_a1 ; BATTLEANIMFRAMESET_A1 + dw .Frameset_a2 ; BATTLEANIMFRAMESET_A2 + dw .Frameset_a3 ; BATTLEANIMFRAMESET_A3 + dw .Frameset_a4 ; BATTLEANIMFRAMESET_A4 + dw .Frameset_a5 ; BATTLEANIMFRAMESET_A5 + dw .Frameset_a6 ; BATTLEANIMFRAMESET_A6 + dw .Frameset_a7 ; BATTLEANIMFRAMESET_A7 + dw .Frameset_a8 ; BATTLEANIMFRAMESET_A8 + dw .Frameset_a9 ; BATTLEANIMFRAMESET_A9 + dw .Frameset_aa ; BATTLEANIMFRAMESET_AA + dw .Frameset_ab ; BATTLEANIMFRAMESET_AB + dw .Frameset_ac ; BATTLEANIMFRAMESET_AC + dw .Frameset_ad ; BATTLEANIMFRAMESET_AD + dw .Frameset_ae ; BATTLEANIMFRAMESET_AE + dw .Frameset_af ; BATTLEANIMFRAMESET_AF + dw .Frameset_b0 ; BATTLEANIMFRAMESET_B0 + dw .Frameset_b1 ; BATTLEANIMFRAMESET_B1 + dw .Frameset_b2 ; BATTLEANIMFRAMESET_B2 + dw .Frameset_b3 ; BATTLEANIMFRAMESET_B3 + dw .Frameset_b4 ; BATTLEANIMFRAMESET_B4 + dw .Frameset_b5 ; BATTLEANIMFRAMESET_B5 + dw .Frameset_b6 ; BATTLEANIMFRAMESET_B6 + dw .Frameset_b7 ; BATTLEANIMFRAMESET_B7 + dw .Frameset_b8 ; BATTLEANIMFRAMESET_B8 + + ; OAM index (see data/anims/oam.asm), flip flags / duration +.Frameset_00: + db BATTLEANIMOAMSET_00, $06 + db -4 + +.Frameset_01: + db BATTLEANIMOAMSET_01, $06 + db -4 + +.Frameset_02: + db BATTLEANIMOAMSET_02, $06 + db -4 + +.Frameset_03: + db BATTLEANIMOAMSET_03, $06 + db -4 + +.Frameset_04: + db BATTLEANIMOAMSET_04, $06 + db -4 + +.Frameset_05: + db BATTLEANIMOAMSET_05, $06 + db -4 + +.Frameset_06: + db BATTLEANIMOAMSET_06, $06 + db -4 + +.Frameset_07: + db BATTLEANIMOAMSET_03, $04 + db BATTLEANIMOAMSET_01, $01 + db BATTLEANIMOAMSET_03, $04 + db BATTLEANIMOAMSET_01, $01 + db BATTLEANIMOAMSET_03, $04 + db BATTLEANIMOAMSET_01, $01 + db BATTLEANIMOAMSET_03, $04 + db BATTLEANIMOAMSET_01, $01 + db -4 + +.Frameset_3e: + db BATTLEANIMOAMSET_4B, $02 + db BATTLEANIMOAMSET_4C, $02 + db BATTLEANIMOAMSET_4D, $04 + db BATTLEANIMOAMSET_4E, $02 + db -3, $02 + db BATTLEANIMOAMSET_4E, $02 + db -3, $02 + db BATTLEANIMOAMSET_4E, $02 + db -3, $02 + db BATTLEANIMOAMSET_4E, $02 + db -4 + +.Frameset_3f: + db BATTLEANIMOAMSET_4B, $42 + db BATTLEANIMOAMSET_4C, $42 + db BATTLEANIMOAMSET_4D, $44 + db BATTLEANIMOAMSET_4E, $42 + db -3, $02 + db BATTLEANIMOAMSET_4E, $42 + db -3, $02 + db BATTLEANIMOAMSET_4E, $42 + db -3, $02 + db BATTLEANIMOAMSET_4E, $42 + db -4 + +.Frameset_40: + db BATTLEANIMOAMSET_4B, $c2 + db BATTLEANIMOAMSET_4C, $c2 + db BATTLEANIMOAMSET_4D, $c4 + db BATTLEANIMOAMSET_4E, $c2 + db -3, $02 + db BATTLEANIMOAMSET_4E, $c2 + db -3, $02 + db BATTLEANIMOAMSET_4E, $c2 + db -3, $02 + db BATTLEANIMOAMSET_4E, $c2 + db -4 + +.Frameset_41: + db BATTLEANIMOAMSET_4B, $01 + db BATTLEANIMOAMSET_4C, $01 + db BATTLEANIMOAMSET_4D, $01 + db BATTLEANIMOAMSET_4F, $01 + db BATTLEANIMOAMSET_50, $01 + db BATTLEANIMOAMSET_51, $01 + db BATTLEANIMOAMSET_52, $02 + db -3, $02 + db BATTLEANIMOAMSET_52, $02 + db -3, $02 + db BATTLEANIMOAMSET_52, $02 + db -3, $02 + db BATTLEANIMOAMSET_52, $02 + db -4 + +.Frameset_42: + db BATTLEANIMOAMSET_4B, $41 + db BATTLEANIMOAMSET_4C, $41 + db BATTLEANIMOAMSET_4D, $41 + db BATTLEANIMOAMSET_4F, $41 + db BATTLEANIMOAMSET_50, $41 + db BATTLEANIMOAMSET_51, $41 + db BATTLEANIMOAMSET_52, $42 + db -3, $02 + db BATTLEANIMOAMSET_52, $42 + db -3, $02 + db BATTLEANIMOAMSET_52, $42 + db -3, $02 + db BATTLEANIMOAMSET_52, $42 + db -4 + +.Frameset_08: + db BATTLEANIMOAMSET_00, $03 + db BATTLEANIMOAMSET_07, $03 + db BATTLEANIMOAMSET_08, $03 + db BATTLEANIMOAMSET_09, $03 + db -4 + +.Frameset_09: + db BATTLEANIMOAMSET_0A, $07 + db BATTLEANIMOAMSET_0B, $07 + db BATTLEANIMOAMSET_0A, $07 + db BATTLEANIMOAMSET_0B, $47 + db -2 + +.Frameset_0a: + db BATTLEANIMOAMSET_0C, $08 + db -1 + +.Frameset_0b: + db BATTLEANIMOAMSET_0D, $08 + db -1 + +.Frameset_0c: + db BATTLEANIMOAMSET_0A, $08 + db -1 + +.Frameset_0d: + db BATTLEANIMOAMSET_0A, $07 + db BATTLEANIMOAMSET_0B, $07 + db BATTLEANIMOAMSET_0A, $07 + db BATTLEANIMOAMSET_0B, $47 + db BATTLEANIMOAMSET_0A, $07 + db -1 + +.Frameset_0e: + db BATTLEANIMOAMSET_0A, $08 + db -1 + +.Frameset_0f: + db BATTLEANIMOAMSET_0A, $04 + db BATTLEANIMOAMSET_0E, $04 + db -2 + +.Frameset_10: + db BATTLEANIMOAMSET_0F, $04 + db BATTLEANIMOAMSET_10, $04 + db -2 + +.Frameset_11: + db BATTLEANIMOAMSET_10, $04 + db BATTLEANIMOAMSET_0F, $04 + db BATTLEANIMOAMSET_0E, $04 + db BATTLEANIMOAMSET_0A, $04 + db BATTLEANIMOAMSET_0E, $04 + db BATTLEANIMOAMSET_0A, $04 + db BATTLEANIMOAMSET_0E, $04 + db BATTLEANIMOAMSET_0A, $04 + db -4 + +.Frameset_12: + db BATTLEANIMOAMSET_10, $01 + db BATTLEANIMOAMSET_0F, $01 + db BATTLEANIMOAMSET_12, $01 + db BATTLEANIMOAMSET_11, $01 + db BATTLEANIMOAMSET_12, $01 + db BATTLEANIMOAMSET_0F, $01 + db -2 + +.Frameset_13: + db BATTLEANIMOAMSET_10, $03 + db BATTLEANIMOAMSET_0F, $03 + db BATTLEANIMOAMSET_12, $01 + db -3, $01 + db BATTLEANIMOAMSET_12, $01 + db -3, $01 + db BATTLEANIMOAMSET_12, $01 + db -3, $01 + db BATTLEANIMOAMSET_12, $01 + db -3, $01 + db BATTLEANIMOAMSET_12, $03 + db -4 + +.Frameset_14: + db BATTLEANIMOAMSET_13, $14 + db -4 + +.Frameset_15: + db BATTLEANIMOAMSET_10, $01 + db BATTLEANIMOAMSET_0F, $01 + db -2 + +.Frameset_16: + db BATTLEANIMOAMSET_14, $08 + db -1 + +.Frameset_17: + db BATTLEANIMOAMSET_17, $04 + db BATTLEANIMOAMSET_16, $08 + db BATTLEANIMOAMSET_15, $08 + db BATTLEANIMOAMSET_16, $08 + db BATTLEANIMOAMSET_17, $04 + db BATTLEANIMOAMSET_17, $04 + db BATTLEANIMOAMSET_16, $48 + db BATTLEANIMOAMSET_15, $48 + db BATTLEANIMOAMSET_16, $48 + db BATTLEANIMOAMSET_17, $04 + db -2 + +.Frameset_56: + db BATTLEANIMOAMSET_69, $08 + db -1 + +.Frameset_57: + db BATTLEANIMOAMSET_69, $20 + db BATTLEANIMOAMSET_6A, $04 + db BATTLEANIMOAMSET_6B, $04 + db BATTLEANIMOAMSET_6D, $04 + db BATTLEANIMOAMSET_6C, $04 + db -1 + +.Frameset_58: + db BATTLEANIMOAMSET_6C, $08 + db BATTLEANIMOAMSET_6D, $08 + db -2 + +.Frameset_18: + db BATTLEANIMOAMSET_18, $04 + db BATTLEANIMOAMSET_19, $04 + db BATTLEANIMOAMSET_1A, $04 + db -4 + +.Frameset_19: + db BATTLEANIMOAMSET_1B, $08 + db -1 + +.Frameset_1a: + db BATTLEANIMOAMSET_0F, $08 + db -1 + +.Frameset_1b: + db BATTLEANIMOAMSET_1C, $08 + db -1 + +.Frameset_1c: + db BATTLEANIMOAMSET_0A, $08 + db -4 + +.Frameset_1d: + db BATTLEANIMOAMSET_1D, $08 + db -1 + +.Frameset_1e: + db BATTLEANIMOAMSET_17, $08 + db -1 + +.Frameset_1f: + db BATTLEANIMOAMSET_0F, $03 + db BATTLEANIMOAMSET_10, $03 + db BATTLEANIMOAMSET_1E, $03 + db -1 + +.Frameset_20: + db BATTLEANIMOAMSET_1F, $10 + db BATTLEANIMOAMSET_20, $03 + db -4 + +.Frameset_21: + db BATTLEANIMOAMSET_20, $08 + db -1 + +.Frameset_22: + db BATTLEANIMOAMSET_20, $08 + db BATTLEANIMOAMSET_21, $08 + db BATTLEANIMOAMSET_1B, $08 + db BATTLEANIMOAMSET_21, $08 + db -2 + +.Frameset_23: + db BATTLEANIMOAMSET_22, $08 + db -1 + +.Frameset_24: + db BATTLEANIMOAMSET_1B, $08 + db -1 + +.Frameset_25: + db BATTLEANIMOAMSET_23, $08 + db -1 + +.Frameset_26: + db BATTLEANIMOAMSET_24, $08 + db -1 + +.Frameset_27: + db BATTLEANIMOAMSET_25, $08 + db -1 + +.Frameset_28: + db BATTLEANIMOAMSET_26, $08 + db BATTLEANIMOAMSET_27, $08 + db -1 + +.Frameset_29: + db BATTLEANIMOAMSET_28, $08 + db BATTLEANIMOAMSET_29, $08 + db -4 + +.Frameset_2a: + db BATTLEANIMOAMSET_2A, $01 + db BATTLEANIMOAMSET_2B, $01 + db BATTLEANIMOAMSET_2C, $01 + db BATTLEANIMOAMSET_2D, $01 + db BATTLEANIMOAMSET_2E, $01 + db BATTLEANIMOAMSET_2D, $01 + db BATTLEANIMOAMSET_2C, $01 + db BATTLEANIMOAMSET_2B, $01 + db BATTLEANIMOAMSET_2A, $01 + db -4 + +.Frameset_2b: + db BATTLEANIMOAMSET_14, $01 + db BATTLEANIMOAMSET_15, $01 + db -2 + +.Frameset_2c: + db BATTLEANIMOAMSET_2F, $04 + db BATTLEANIMOAMSET_30, $28 + db -4 + +.Frameset_2d: + db BATTLEANIMOAMSET_31, $08 + db -1 + +.Frameset_2e: + db BATTLEANIMOAMSET_32, $20 + db BATTLEANIMOAMSET_33, $20 + db BATTLEANIMOAMSET_34, $20 + db BATTLEANIMOAMSET_35, $20 ; fallthrough +.Frameset_2f: + db -3, $02 + db BATTLEANIMOAMSET_35, $04 + db -3, $02 + db BATTLEANIMOAMSET_35, $04 + db -3, $02 + db BATTLEANIMOAMSET_35, $04 + db -3, $02 + db BATTLEANIMOAMSET_35, $04 + db -4 + +.Frameset_30: + db BATTLEANIMOAMSET_14, $04 + db BATTLEANIMOAMSET_15, $04 + db -2 + +.Frameset_31: + db BATTLEANIMOAMSET_36, $02 + db BATTLEANIMOAMSET_37, $02 + db BATTLEANIMOAMSET_38, $02 + db BATTLEANIMOAMSET_39, $20 + db -4 + +.Frameset_32: + db BATTLEANIMOAMSET_3A, $02 + db BATTLEANIMOAMSET_3B, $02 + db BATTLEANIMOAMSET_3C, $02 + db BATTLEANIMOAMSET_3D, $20 + db -4 + +.Frameset_33: + db BATTLEANIMOAMSET_3A, $42 + db BATTLEANIMOAMSET_3B, $42 + db BATTLEANIMOAMSET_3C, $42 + db BATTLEANIMOAMSET_3D, $60 + db -4 + +.Frameset_34: + db BATTLEANIMOAMSET_3E, $08 + db BATTLEANIMOAMSET_3F, $08 + db BATTLEANIMOAMSET_40, $08 + db -1 + +.Frameset_35: + db BATTLEANIMOAMSET_40, $02 + db -3, $02 + db BATTLEANIMOAMSET_40, $02 + db -3, $02 + db BATTLEANIMOAMSET_41, $02 + db -3, $02 + db BATTLEANIMOAMSET_41, $02 + db -3, $02 + db -2 + +.Frameset_36: + db BATTLEANIMOAMSET_42, $02 + db BATTLEANIMOAMSET_43, $02 + db BATTLEANIMOAMSET_44, $02 + db BATTLEANIMOAMSET_45, $02 + db -2 + +.Frameset_37: + db BATTLEANIMOAMSET_19, $02 + db -3, $02 + db -2 + +.Frameset_38: + db BATTLEANIMOAMSET_46, $04 + db BATTLEANIMOAMSET_47, $04 + db -2 + +.Frameset_39: + db BATTLEANIMOAMSET_18, $02 + db -3, $02 + db -2 + +.Frameset_3a: + db BATTLEANIMOAMSET_48, $08 + db -1 + +.Frameset_3b: + db BATTLEANIMOAMSET_48, $48 + db -1 + +.Frameset_3c: + db BATTLEANIMOAMSET_49, $08 + db -1 + +.Frameset_3d: + db BATTLEANIMOAMSET_4A, $08 + db -1 + +.Frameset_43: + db BATTLEANIMOAMSET_20, $10 + db BATTLEANIMOAMSET_1F, $10 + db BATTLEANIMOAMSET_1E, $10 + db -1 + +.Frameset_4c: + db BATTLEANIMOAMSET_20, $08 + db BATTLEANIMOAMSET_1F, $08 + db BATTLEANIMOAMSET_1E, $08 + db -1 + +.Frameset_44: + db -3, $14 + db BATTLEANIMOAMSET_55, $28 + db BATTLEANIMOAMSET_54, $28 + db BATTLEANIMOAMSET_53, $14 + db -3, $04 + db BATTLEANIMOAMSET_53, $04 + db -3, $04 + db BATTLEANIMOAMSET_53, $04 + db -3, $04 + db BATTLEANIMOAMSET_53, $04 + db -4 + +.Frameset_7e: + db BATTLEANIMOAMSET_1E, $08 + db BATTLEANIMOAMSET_1F, $08 + db BATTLEANIMOAMSET_20, $08 + db -4 + +.Frameset_45: + db -3, $00 + db BATTLEANIMOAMSET_14, $00 + db BATTLEANIMOAMSET_15, $00 + db BATTLEANIMOAMSET_14, $40 + db -3, $00 + db BATTLEANIMOAMSET_16, $40 + db BATTLEANIMOAMSET_15, $00 + db BATTLEANIMOAMSET_16, $00 + db -2 + +.Frameset_46: + db BATTLEANIMOAMSET_56, $02 + db BATTLEANIMOAMSET_57, $04 + db -4 + +.Frameset_47: + db BATTLEANIMOAMSET_56, $c2 + db BATTLEANIMOAMSET_57, $c4 + db -4 + +.Frameset_48: + db BATTLEANIMOAMSET_56, $01 + db BATTLEANIMOAMSET_57, $01 + db BATTLEANIMOAMSET_58, $01 + db BATTLEANIMOAMSET_57, $c1 + db BATTLEANIMOAMSET_58, $c1 + db BATTLEANIMOAMSET_57, $02 + db -4 + +.Frameset_49: + db BATTLEANIMOAMSET_56, $c1 + db BATTLEANIMOAMSET_57, $c1 + db BATTLEANIMOAMSET_58, $c1 + db BATTLEANIMOAMSET_57, $01 + db BATTLEANIMOAMSET_58, $01 + db BATTLEANIMOAMSET_57, $c2 + db -4 + +.Frameset_4a: + db BATTLEANIMOAMSET_57, $c1 + db BATTLEANIMOAMSET_58, $c1 + db BATTLEANIMOAMSET_57, $01 + db BATTLEANIMOAMSET_58, $01 + db -2 + +.Frameset_4b: + db BATTLEANIMOAMSET_59, $01 + db BATTLEANIMOAMSET_5A, $01 + db BATTLEANIMOAMSET_5B, $01 + db BATTLEANIMOAMSET_5C, $02 + db -4 + +.Frameset_4d: + db BATTLEANIMOAMSET_0A, $0a + db BATTLEANIMOAMSET_0B, $43 + db BATTLEANIMOAMSET_5D, $43 + db BATTLEANIMOAMSET_0B, $c3 + db BATTLEANIMOAMSET_0A, $82 + db BATTLEANIMOAMSET_0B, $81 + db BATTLEANIMOAMSET_5D, $01 + db BATTLEANIMOAMSET_0B, $01 + db -2 + +.Frameset_4e: + db BATTLEANIMOAMSET_0A, $03 + db BATTLEANIMOAMSET_0B, $47 + db BATTLEANIMOAMSET_0A, $07 + db BATTLEANIMOAMSET_0B, $07 + db BATTLEANIMOAMSET_0A, $03 + db -2 + +.Frameset_4f: + db BATTLEANIMOAMSET_5E, $20 + db BATTLEANIMOAMSET_5E, $20 + db -4 + +.Frameset_50: + db BATTLEANIMOAMSET_5F, $20 + db BATTLEANIMOAMSET_5F, $20 + db -4 + +.Frameset_51: + db BATTLEANIMOAMSET_60, $08 + db -1 + +.Frameset_52: + db BATTLEANIMOAMSET_61, $01 + db BATTLEANIMOAMSET_62, $01 + db BATTLEANIMOAMSET_63, $01 + db -1 + +.Frameset_53: + db BATTLEANIMOAMSET_63, $07 + db BATTLEANIMOAMSET_64, $07 + db -2 + +.Frameset_54: + db BATTLEANIMOAMSET_65, $01 + db BATTLEANIMOAMSET_66, $01 + db BATTLEANIMOAMSET_67, $01 + db -1 + +.Frameset_55: + db BATTLEANIMOAMSET_67, $07 + db BATTLEANIMOAMSET_68, $07 + db -2 + +.Frameset_59: + db BATTLEANIMOAMSET_6E, $08 + db -1 + +.Frameset_5a: + db BATTLEANIMOAMSET_6F, $08 + db -1 + +.Frameset_5b: + db BATTLEANIMOAMSET_6E, $88 + db -1 + +.Frameset_5c: + db BATTLEANIMOAMSET_18, $04 + db BATTLEANIMOAMSET_70, $04 + db BATTLEANIMOAMSET_71, $04 + db BATTLEANIMOAMSET_72, $04 + db BATTLEANIMOAMSET_73, $04 + db -4 + +.Frameset_5d: + db BATTLEANIMOAMSET_74, $04 + db BATTLEANIMOAMSET_75, $04 + db -2 + +.Frameset_5e: + db BATTLEANIMOAMSET_14, $08 + db -1 + +.Frameset_7a: + db BATTLEANIMOAMSET_74, $03 + db BATTLEANIMOAMSET_14, $03 + db BATTLEANIMOAMSET_15, $03 + db BATTLEANIMOAMSET_14, $03 + db BATTLEANIMOAMSET_15, $03 + db -4 + +.Frameset_af: + db BATTLEANIMOAMSET_14, $00 + db BATTLEANIMOAMSET_15, $00 + db BATTLEANIMOAMSET_14, $00 + db BATTLEANIMOAMSET_15, $00 + db BATTLEANIMOAMSET_74, $0c + db -4 + +.Frameset_5f: + db BATTLEANIMOAMSET_76, $08 + db -1 + +.Frameset_60: + db BATTLEANIMOAMSET_77, $01 + db BATTLEANIMOAMSET_78, $01 + db BATTLEANIMOAMSET_79, $01 + db BATTLEANIMOAMSET_7A, $01 + db BATTLEANIMOAMSET_7B, $01 + db BATTLEANIMOAMSET_7C, $01 + db BATTLEANIMOAMSET_7D, $01 + db BATTLEANIMOAMSET_7C, $c1 + db BATTLEANIMOAMSET_7B, $c1 + db BATTLEANIMOAMSET_7A, $c1 + db BATTLEANIMOAMSET_79, $c1 + db BATTLEANIMOAMSET_78, $c1 + db BATTLEANIMOAMSET_77, $c1 + db -4 + +.Frameset_61: + db BATTLEANIMOAMSET_1B, $04 + db BATTLEANIMOAMSET_7E, $04 + db -2 + +.Frameset_62: + db BATTLEANIMOAMSET_1B, $44 + db BATTLEANIMOAMSET_7E, $44 + db -2 + +.Frameset_63: + db BATTLEANIMOAMSET_7F, $08 + db -1 + +.Frameset_64: + db BATTLEANIMOAMSET_25, $08 + db -1 + +.Frameset_65: + db BATTLEANIMOAMSET_80, $08 + db -1 + +.Frameset_66: + db BATTLEANIMOAMSET_83, $07 + db BATTLEANIMOAMSET_82, $07 + db BATTLEANIMOAMSET_81, $07 + db BATTLEANIMOAMSET_82, $07 + db BATTLEANIMOAMSET_83, $07 + db BATTLEANIMOAMSET_82, $07 + db BATTLEANIMOAMSET_81, $07 + db -4 + +.Frameset_67: + db BATTLEANIMOAMSET_1B, $10 + db -4 + +.Frameset_68: + db -3, $0f + db BATTLEANIMOAMSET_84, $0f + db BATTLEANIMOAMSET_85, $0f + db BATTLEANIMOAMSET_29, $0f + db BATTLEANIMOAMSET_28, $0f + db BATTLEANIMOAMSET_86, $20 + db -4 + +.Frameset_69: + db BATTLEANIMOAMSET_1B, $03 + db BATTLEANIMOAMSET_87, $03 + db BATTLEANIMOAMSET_88, $03 + db BATTLEANIMOAMSET_89, $03 + db -4 + +.Frameset_6a: + db BATTLEANIMOAMSET_8A, $02 + db BATTLEANIMOAMSET_8B, $02 + db BATTLEANIMOAMSET_8C, $02 + db BATTLEANIMOAMSET_8D, $02 + db -4 + +.Frameset_6b: + db BATTLEANIMOAMSET_61, $02 + db BATTLEANIMOAMSET_62, $02 + db BATTLEANIMOAMSET_63, $02 + db -1 + +.Frameset_6c: + db BATTLEANIMOAMSET_65, $02 + db BATTLEANIMOAMSET_66, $02 + db BATTLEANIMOAMSET_67, $02 + db -1 + +.Frameset_6d: + db BATTLEANIMOAMSET_8E, $08 + db -1 + +.Frameset_6e: + db BATTLEANIMOAMSET_8E, $48 + db -1 + +.Frameset_6f: + db BATTLEANIMOAMSET_8F, $10 + db BATTLEANIMOAMSET_90, $10 + db -2 + +.Frameset_70: + db BATTLEANIMOAMSET_91, $10 + db BATTLEANIMOAMSET_92, $10 + db -2 + +.Frameset_71: + db BATTLEANIMOAMSET_93, $08 + db -1 + +.Frameset_72: + db BATTLEANIMOAMSET_1E, $08 + db -1 + +.Frameset_73: + db BATTLEANIMOAMSET_1B, $07 + db BATTLEANIMOAMSET_94, $07 + db -2 + +.Frameset_74: + db BATTLEANIMOAMSET_95, $08 + db -1 + +.Frameset_75: + db BATTLEANIMOAMSET_96, $08 + db -1 + +.Frameset_76: + db BATTLEANIMOAMSET_95, $08 + db -1 + +.Frameset_77: + db BATTLEANIMOAMSET_97, $01 + db BATTLEANIMOAMSET_97, $41 + db -2 + +.Frameset_78: + db BATTLEANIMOAMSET_98, $08 + db -1 + +.Frameset_79: + db BATTLEANIMOAMSET_99, $20 + db BATTLEANIMOAMSET_99, $20 + db BATTLEANIMOAMSET_99, $20 + db BATTLEANIMOAMSET_99, $20 + db BATTLEANIMOAMSET_99, $20 + db BATTLEANIMOAMSET_9A, $08 + db -1 + +.Frameset_7b: + db BATTLEANIMOAMSET_9B, $08 + db -1 + +.Frameset_7c: + db BATTLEANIMOAMSET_9C, $02 + db BATTLEANIMOAMSET_9D, $02 + db BATTLEANIMOAMSET_9E, $08 + db -3, $02 + db BATTLEANIMOAMSET_9E, $02 + db -3, $02 + db BATTLEANIMOAMSET_9E, $02 + db -3, $02 + db BATTLEANIMOAMSET_9E, $02 + db -4 + +.Frameset_7d: + db BATTLEANIMOAMSET_9F, $08 + db -1 + +.Frameset_7f: + db BATTLEANIMOAMSET_0F, $08 + db -1 + +.Frameset_80: + db BATTLEANIMOAMSET_6B, $18 + db -4 + +.Frameset_81: + db BATTLEANIMOAMSET_A0, $01 ; fallthrough +.Frameset_82: + db BATTLEANIMOAMSET_A1, $01 ; fallthrough +.Frameset_83: + db BATTLEANIMOAMSET_A2, $01 + db -4 + +.Frameset_84: + db BATTLEANIMOAMSET_A3, $08 + db -1 + +.Frameset_85: + db BATTLEANIMOAMSET_A4, $04 + db BATTLEANIMOAMSET_A5, $04 + db BATTLEANIMOAMSET_A6, $04 + db BATTLEANIMOAMSET_A7, $04 + db BATTLEANIMOAMSET_A6, $44 + db BATTLEANIMOAMSET_A5, $44 + db -2 + +.Frameset_86: + db BATTLEANIMOAMSET_A8, $04 + db BATTLEANIMOAMSET_A9, $04 + db BATTLEANIMOAMSET_AA, $04 + db BATTLEANIMOAMSET_AB, $04 + db BATTLEANIMOAMSET_AA, $44 + db BATTLEANIMOAMSET_A9, $44 + db -2 + +.Frameset_87: + db BATTLEANIMOAMSET_1B, $08 + db -1 + +.Frameset_88: + db BATTLEANIMOAMSET_AC, $08 + db -1 + +.Frameset_89: + db BATTLEANIMOAMSET_AD, $08 + db -1 + +.Frameset_8a: + db BATTLEANIMOAMSET_AE, $08 + db -1 + +.Frameset_8b: + db BATTLEANIMOAMSET_AF, $08 + db -1 + +.Frameset_8c: + db BATTLEANIMOAMSET_B0, $20 + db -4 + +.Frameset_8d: + db BATTLEANIMOAMSET_B1, $07 + db BATTLEANIMOAMSET_B1, $47 + db -2 + +.Frameset_8e: + db BATTLEANIMOAMSET_B2, $08 + db -1 + +.Frameset_8f: + db BATTLEANIMOAMSET_B3, $08 + db -1 + +.Frameset_90: + db BATTLEANIMOAMSET_B3, $48 + db -1 + +.Frameset_91: + db BATTLEANIMOAMSET_B3, $88 + db -1 + +.Frameset_92: + db BATTLEANIMOAMSET_B3, $c8 + db -1 + +.Frameset_93: + db BATTLEANIMOAMSET_B5, $08 + db -1 + +.Frameset_94: + db BATTLEANIMOAMSET_B5, $48 + db -1 + +.Frameset_95: + db BATTLEANIMOAMSET_B5, $88 + db -1 + +.Frameset_96: + db BATTLEANIMOAMSET_B5, $c8 + db -1 + +.Frameset_97: + db BATTLEANIMOAMSET_B4, $08 + db -1 + +.Frameset_98: + db BATTLEANIMOAMSET_6B, $08 + db -1 + +.Frameset_99: + db BATTLEANIMOAMSET_B6, $08 + db -1 + +.Frameset_9a: + db BATTLEANIMOAMSET_B7, $20 + db -1 + +.Frameset_9b: + db BATTLEANIMOAMSET_1B, $20 + db -1 + +.Frameset_9c: + db BATTLEANIMOAMSET_B8, $20 + db -1 + +.Frameset_9d: + db BATTLEANIMOAMSET_B8, $60 + db -1 + +.Frameset_9e: + db BATTLEANIMOAMSET_B9, $20 + db -1 + +.Frameset_9f: + db BATTLEANIMOAMSET_BA, $20 + db -1 + +.Frameset_a0: + db BATTLEANIMOAMSET_BB, $60 + db -1 + +.Frameset_a1: + db BATTLEANIMOAMSET_BB, $20 + db -1 + +.Frameset_a2: + db BATTLEANIMOAMSET_BC, $20 + db -1 + +.Frameset_a3: + db BATTLEANIMOAMSET_BD, $0b + db BATTLEANIMOAMSET_BE, $0b + db BATTLEANIMOAMSET_1B, $0b + db -4 + +.Frameset_a4: + db BATTLEANIMOAMSET_BF, $04 + db BATTLEANIMOAMSET_C0, $04 + db BATTLEANIMOAMSET_C1, $04 + db -4 + +.Frameset_a5: + db BATTLEANIMOAMSET_C2, $20 + db BATTLEANIMOAMSET_C2, $20 + db -4 + +.Frameset_a6: + db BATTLEANIMOAMSET_4B, $02 + db BATTLEANIMOAMSET_4C, $02 + db BATTLEANIMOAMSET_4D, $20 + db BATTLEANIMOAMSET_4D, $20 + db BATTLEANIMOAMSET_4D, $20 + db BATTLEANIMOAMSET_4F, $01 + db BATTLEANIMOAMSET_50, $01 + db BATTLEANIMOAMSET_51, $01 + db BATTLEANIMOAMSET_52, $02 + db -3, $02 + db BATTLEANIMOAMSET_52, $02 + db -3, $02 + db BATTLEANIMOAMSET_52, $02 + db -3, $02 + db BATTLEANIMOAMSET_52, $02 + db -4 + +.Frameset_a7: + db BATTLEANIMOAMSET_4B, $c2 + db BATTLEANIMOAMSET_4C, $c2 + db BATTLEANIMOAMSET_4D, $e0 + db BATTLEANIMOAMSET_4D, $e0 + db BATTLEANIMOAMSET_4D, $e0 + db BATTLEANIMOAMSET_4F, $c1 + db BATTLEANIMOAMSET_50, $c1 + db BATTLEANIMOAMSET_51, $c1 + db BATTLEANIMOAMSET_52, $c2 + db -3, $02 + db BATTLEANIMOAMSET_52, $c2 + db -3, $02 + db BATTLEANIMOAMSET_52, $c2 + db -3, $02 + db BATTLEANIMOAMSET_52, $c2 + db -4 + +.Frameset_a8: + db BATTLEANIMOAMSET_C3, $01 + db BATTLEANIMOAMSET_C3, $c1 + db -2 + +.Frameset_a9: + db BATTLEANIMOAMSET_C4, $20 + db -1 + +.Frameset_aa: + db BATTLEANIMOAMSET_C5, $04 + db BATTLEANIMOAMSET_C6, $04 + db BATTLEANIMOAMSET_C7, $04 + db -4 + +.Frameset_ab: + db BATTLEANIMOAMSET_C8, $01 + db BATTLEANIMOAMSET_C8, $41 + db -2 + +.Frameset_ac: + db BATTLEANIMOAMSET_C9, $03 + db BATTLEANIMOAMSET_05, $03 + db -4 + +.Frameset_ad: + db BATTLEANIMOAMSET_CA, $20 + db BATTLEANIMOAMSET_CB, $03 + db BATTLEANIMOAMSET_CA, $03 + db BATTLEANIMOAMSET_CB, $03 + db -2 + +.Frameset_ae: + db BATTLEANIMOAMSET_03, $a0 + db -1 + +.Frameset_b0: + db BATTLEANIMOAMSET_CC, $20 + db -1 + +.Frameset_b1: + db BATTLEANIMOAMSET_7F, $02 + db BATTLEANIMOAMSET_25, $02 + db BATTLEANIMOAMSET_80, $02 + db BATTLEANIMOAMSET_25, $02 + db -2 + +.Frameset_b2: + db BATTLEANIMOAMSET_CD, $04 + db BATTLEANIMOAMSET_CE, $04 + db BATTLEANIMOAMSET_CD, $c4 + db BATTLEANIMOAMSET_CE, $c4 + db -2 + +.Frameset_b3: + db BATTLEANIMOAMSET_CF, $04 + db BATTLEANIMOAMSET_D0, $04 + db BATTLEANIMOAMSET_D1, $04 + db BATTLEANIMOAMSET_D2, $04 + db -4 + +.Frameset_b4: + db BATTLEANIMOAMSET_D3, $20 + db -1 + +.Frameset_b5: + db BATTLEANIMOAMSET_D4, $08 + db -1 + +.Frameset_b6: + db BATTLEANIMOAMSET_D5, $08 + db -1 + +.Frameset_b7: + db BATTLEANIMOAMSET_D6, $08 + db -1 + +.Frameset_b8: + db BATTLEANIMOAMSET_D7, $08 + db -1 + +; ceeae diff --git a/data/anims/oam.asm b/data/anims/oam.asm new file mode 100755 index 000000000..5d88977bd --- /dev/null +++ b/data/anims/oam.asm @@ -0,0 +1,1086 @@ +BattleAnimOAMData: ; ceeae +; entries correspond to BATTLEANIMOAMSET_* constants + ; vtile offset, length, pointer + dbbw $00, 16, .OAMData_00 ; BATTLEANIMOAMSET_00 + dbbw $04, 9, .OAMData_01 ; BATTLEANIMOAMSET_01 + dbbw $08, 4, .OAMData_02 ; BATTLEANIMOAMSET_02 + dbbw $09, 4, .OAMData_03 ; BATTLEANIMOAMSET_03 + dbbw $0d, 4, .OAMData_04 ; BATTLEANIMOAMSET_04 + dbbw $0f, 4, .OAMData_03 ; BATTLEANIMOAMSET_05 + dbbw $13, 4, .OAMData_04 ; BATTLEANIMOAMSET_06 + dbbw $04, 16, .OAMData_00 ; BATTLEANIMOAMSET_07 + dbbw $08, 16, .OAMData_00 ; BATTLEANIMOAMSET_08 + dbbw $08, 16, .OAMData_09 ; BATTLEANIMOAMSET_09 + dbbw $00, 4, .OAMData_04 ; BATTLEANIMOAMSET_0A + dbbw $02, 4, .OAMData_03 ; BATTLEANIMOAMSET_0B + dbbw $06, 2, .OAMData_0c ; BATTLEANIMOAMSET_0C + dbbw $07, 2, .OAMData_0c ; BATTLEANIMOAMSET_0D + dbbw $02, 4, .OAMData_04 ; BATTLEANIMOAMSET_0E + dbbw $04, 1, .OAMData_0f ; BATTLEANIMOAMSET_0F + dbbw $05, 1, .OAMData_0f ; BATTLEANIMOAMSET_10 + dbbw $00, 2, .OAMData_11 ; BATTLEANIMOAMSET_11 + dbbw $02, 2, .OAMData_11 ; BATTLEANIMOAMSET_12 + dbbw $00, 4, .OAMData_13 ; BATTLEANIMOAMSET_13 + dbbw $00, 1, .OAMData_0f ; BATTLEANIMOAMSET_14 + dbbw $01, 1, .OAMData_0f ; BATTLEANIMOAMSET_15 + dbbw $02, 1, .OAMData_0f ; BATTLEANIMOAMSET_16 + dbbw $03, 1, .OAMData_0f ; BATTLEANIMOAMSET_17 + dbbw $00, 4, .OAMData_02 ; BATTLEANIMOAMSET_18 + dbbw $01, 16, .OAMData_00 ; BATTLEANIMOAMSET_19 + dbbw $05, 16, .OAMData_00 ; BATTLEANIMOAMSET_1A + dbbw $00, 4, .OAMData_03 ; BATTLEANIMOAMSET_1B + dbbw $05, 12, .OAMData_1c ; BATTLEANIMOAMSET_1C + dbbw $02, 4, .OAMData_02 ; BATTLEANIMOAMSET_1D + dbbw $06, 1, .OAMData_0f ; BATTLEANIMOAMSET_1E + dbbw $07, 1, .OAMData_0f ; BATTLEANIMOAMSET_1F + dbbw $08, 1, .OAMData_0f ; BATTLEANIMOAMSET_20 + dbbw $04, 4, .OAMData_03 ; BATTLEANIMOAMSET_21 + dbbw $09, 22, .OAMData_22 ; BATTLEANIMOAMSET_22 + dbbw $04, 2, .OAMData_11 ; BATTLEANIMOAMSET_23 + dbbw $06, 2, .OAMData_11 ; BATTLEANIMOAMSET_24 + dbbw $0c, 1, .OAMData_0f ; BATTLEANIMOAMSET_25 + dbbw $0a, 1, .OAMData_0f ; BATTLEANIMOAMSET_26 + dbbw $0b, 4, .OAMData_02 ; BATTLEANIMOAMSET_27 + dbbw $08, 4, .OAMData_04 ; BATTLEANIMOAMSET_28 + dbbw $06, 4, .OAMData_04 ; BATTLEANIMOAMSET_29 + dbbw $00, 5, .OAMData_2a ; BATTLEANIMOAMSET_2A + dbbw $03, 6, .OAMData_2b ; BATTLEANIMOAMSET_2B + dbbw $00, 7, .OAMData_2c ; BATTLEANIMOAMSET_2C + dbbw $03, 8, .OAMData_2d ; BATTLEANIMOAMSET_2D + dbbw $00, 9, .OAMData_2e ; BATTLEANIMOAMSET_2E + dbbw $00, 4, .OAMData_2f ; BATTLEANIMOAMSET_2F + dbbw $02, 4, .OAMData_30 ; BATTLEANIMOAMSET_30 + dbbw $04, 6, .OAMData_31 ; BATTLEANIMOAMSET_31 + dbbw $00, 2, .OAMData_32 ; BATTLEANIMOAMSET_32 + dbbw $00, 7, .OAMData_33 ; BATTLEANIMOAMSET_33 + dbbw $00, 14, .OAMData_32 ; BATTLEANIMOAMSET_34 + dbbw $00, 21, .OAMData_33 ; BATTLEANIMOAMSET_35 + dbbw $00, 2, .OAMData_36 ; BATTLEANIMOAMSET_36 + dbbw $00, 6, .OAMData_36 ; BATTLEANIMOAMSET_37 + dbbw $00, 10, .OAMData_36 ; BATTLEANIMOAMSET_38 + dbbw $00, 14, .OAMData_36 ; BATTLEANIMOAMSET_39 + dbbw $00, 2, .OAMData_3a ; BATTLEANIMOAMSET_3A + dbbw $00, 6, .OAMData_3a ; BATTLEANIMOAMSET_3B + dbbw $00, 10, .OAMData_3a ; BATTLEANIMOAMSET_3C + dbbw $00, 14, .OAMData_3a ; BATTLEANIMOAMSET_3D + dbbw $00, 4, .OAMData_3e ; BATTLEANIMOAMSET_3E + dbbw $00, 16, .OAMData_3e ; BATTLEANIMOAMSET_3F + dbbw $00, 26, .OAMData_3e ; BATTLEANIMOAMSET_40 + dbbw $00, 26, .OAMData_41 ; BATTLEANIMOAMSET_41 + dbbw $0e, 4, .OAMData_42 ; BATTLEANIMOAMSET_42 + dbbw $0e, 8, .OAMData_42 ; BATTLEANIMOAMSET_43 + dbbw $0e, 4, .OAMData_44 ; BATTLEANIMOAMSET_44 + dbbw $0e, 8, .OAMData_44 ; BATTLEANIMOAMSET_45 + dbbw $0e, 4, .OAMData_46 ; BATTLEANIMOAMSET_46 + dbbw $0e, 4, .OAMData_47 ; BATTLEANIMOAMSET_47 + dbbw $00, 6, .OAMData_48 ; BATTLEANIMOAMSET_48 + dbbw $03, 4, .OAMData_49 ; BATTLEANIMOAMSET_49 + dbbw $03, 2, .OAMData_4a ; BATTLEANIMOAMSET_4A + dbbw $01, 5, .OAMData_0f ; BATTLEANIMOAMSET_4B + dbbw $01, 6, .OAMData_4c ; BATTLEANIMOAMSET_4C + dbbw $01, 7, .OAMData_4d ; BATTLEANIMOAMSET_4D + dbbw $01, 3, .OAMData_4d ; BATTLEANIMOAMSET_4E + dbbw $01, 8, .OAMData_4f ; BATTLEANIMOAMSET_4F + dbbw $01, 9, .OAMData_50 ; BATTLEANIMOAMSET_50 + dbbw $01, 10, .OAMData_51 ; BATTLEANIMOAMSET_51 + dbbw $01, 6, .OAMData_51 ; BATTLEANIMOAMSET_52 + dbbw $00, 9, .OAMData_01 ; BATTLEANIMOAMSET_53 + dbbw $04, 4, .OAMData_02 ; BATTLEANIMOAMSET_54 + dbbw $05, 4, .OAMData_02 ; BATTLEANIMOAMSET_55 + dbbw $00, 2, .OAMData_56 ; BATTLEANIMOAMSET_56 + dbbw $02, 2, .OAMData_56 ; BATTLEANIMOAMSET_57 + dbbw $04, 2, .OAMData_56 ; BATTLEANIMOAMSET_58 + dbbw $02, 4, .OAMData_59 ; BATTLEANIMOAMSET_59 + dbbw $02, 4, .OAMData_5a ; BATTLEANIMOAMSET_5A + dbbw $02, 2, .OAMData_0c ; BATTLEANIMOAMSET_5B + dbbw $04, 2, .OAMData_0c ; BATTLEANIMOAMSET_5C + dbbw $06, 4, .OAMData_5d ; BATTLEANIMOAMSET_5D + dbbw $08, 2, .OAMData_0c ; BATTLEANIMOAMSET_5E + dbbw $09, 2, .OAMData_0c ; BATTLEANIMOAMSET_5F + dbbw $05, 2, .OAMData_60 ; BATTLEANIMOAMSET_60 + dbbw $00, 2, .OAMData_61 ; BATTLEANIMOAMSET_61 + dbbw $00, 5, .OAMData_61 ; BATTLEANIMOAMSET_62 + dbbw $00, 9, .OAMData_61 ; BATTLEANIMOAMSET_63 + dbbw $09, 9, .OAMData_61 ; BATTLEANIMOAMSET_64 + dbbw $00, 4, .OAMData_65 ; BATTLEANIMOAMSET_65 + dbbw $00, 7, .OAMData_65 ; BATTLEANIMOAMSET_66 + dbbw $00, 9, .OAMData_65 ; BATTLEANIMOAMSET_67 + dbbw $09, 9, .OAMData_65 ; BATTLEANIMOAMSET_68 + dbbw $04, 1, .OAMData_69 ; BATTLEANIMOAMSET_69 + dbbw $05, 2, .OAMData_6a ; BATTLEANIMOAMSET_6A + dbbw $06, 4, .OAMData_03 ; BATTLEANIMOAMSET_6B + dbbw $0a, 4, .OAMData_03 ; BATTLEANIMOAMSET_6C + dbbw $0e, 4, .OAMData_03 ; BATTLEANIMOAMSET_6D + dbbw $08, 5, .OAMData_6e ; BATTLEANIMOAMSET_6E + dbbw $0d, 3, .OAMData_6f ; BATTLEANIMOAMSET_6F + dbbw $01, 8, .OAMData_70 ; BATTLEANIMOAMSET_70 + dbbw $03, 8, .OAMData_70 ; BATTLEANIMOAMSET_71 + dbbw $05, 8, .OAMData_70 ; BATTLEANIMOAMSET_72 + dbbw $07, 8, .OAMData_70 ; BATTLEANIMOAMSET_73 + dbbw $06, 4, .OAMData_02 ; BATTLEANIMOAMSET_74 + dbbw $07, 4, .OAMData_02 ; BATTLEANIMOAMSET_75 + dbbw $0a, 2, .OAMData_76 ; BATTLEANIMOAMSET_76 + dbbw $00, 1, .OAMData_77 ; BATTLEANIMOAMSET_77 + dbbw $00, 3, .OAMData_78 ; BATTLEANIMOAMSET_78 + dbbw $00, 6, .OAMData_79 ; BATTLEANIMOAMSET_79 + dbbw $00, 9, .OAMData_7a ; BATTLEANIMOAMSET_7A + dbbw $00, 12, .OAMData_7b ; BATTLEANIMOAMSET_7B + dbbw $00, 14, .OAMData_7c ; BATTLEANIMOAMSET_7C + dbbw $00, 15, .OAMData_7d ; BATTLEANIMOAMSET_7D + dbbw $04, 4, .OAMData_03 ; BATTLEANIMOAMSET_7E + dbbw $08, 4, .OAMData_03 ; BATTLEANIMOAMSET_7F + dbbw $0d, 1, .OAMData_0f ; BATTLEANIMOAMSET_80 + dbbw $0e, 4, .OAMData_81 ; BATTLEANIMOAMSET_81 + dbbw $10, 1, .OAMData_0f ; BATTLEANIMOAMSET_82 + dbbw $11, 1, .OAMData_0f ; BATTLEANIMOAMSET_83 + dbbw $04, 2, .OAMData_6a ; BATTLEANIMOAMSET_84 + dbbw $05, 2, .OAMData_6a ; BATTLEANIMOAMSET_85 + dbbw $0a, 4, .OAMData_04 ; BATTLEANIMOAMSET_86 + dbbw $00, 8, .OAMData_87 ; BATTLEANIMOAMSET_87 + dbbw $00, 12, .OAMData_88 ; BATTLEANIMOAMSET_88 + dbbw $00, 16, .OAMData_87 ; BATTLEANIMOAMSET_89 + dbbw $09, 2, .OAMData_8a ; BATTLEANIMOAMSET_8A + dbbw $09, 4, .OAMData_8a ; BATTLEANIMOAMSET_8B + dbbw $09, 6, .OAMData_8a ; BATTLEANIMOAMSET_8C + dbbw $09, 8, .OAMData_8a ; BATTLEANIMOAMSET_8D + dbbw $12, 5, .OAMData_8e ; BATTLEANIMOAMSET_8E + dbbw $00, 4, .OAMData_8f ; BATTLEANIMOAMSET_8F + dbbw $04, 4, .OAMData_8f ; BATTLEANIMOAMSET_90 + dbbw $08, 4, .OAMData_8f ; BATTLEANIMOAMSET_91 + dbbw $0c, 4, .OAMData_8f ; BATTLEANIMOAMSET_92 + dbbw $00, 6, .OAMData_93 ; BATTLEANIMOAMSET_93 + dbbw $04, 4, .OAMData_03 ; BATTLEANIMOAMSET_94 + dbbw $0a, 4, .OAMData_04 ; BATTLEANIMOAMSET_95 + dbbw $15, 4, .OAMData_30 ; BATTLEANIMOAMSET_96 + dbbw $04, 4, .OAMData_30 ; BATTLEANIMOAMSET_97 + dbbw $0c, 4, .OAMData_04 ; BATTLEANIMOAMSET_98 + dbbw $0a, 4, .OAMData_99 ; BATTLEANIMOAMSET_99 + dbbw $0c, 4, .OAMData_03 ; BATTLEANIMOAMSET_9A + dbbw $00, 36, .OAMData_9b ; BATTLEANIMOAMSET_9B + dbbw $0d, 2, .OAMData_9c ; BATTLEANIMOAMSET_9C + dbbw $0d, 4, .OAMData_9c ; BATTLEANIMOAMSET_9D + dbbw $0d, 6, .OAMData_9c ; BATTLEANIMOAMSET_9E + dbbw $02, 8, .OAMData_9f ; BATTLEANIMOAMSET_9F + dbbw $08, 7, .OAMData_a0 ; BATTLEANIMOAMSET_A0 + dbbw $08, 5, .OAMData_a0 ; BATTLEANIMOAMSET_A1 + dbbw $08, 3, .OAMData_a0 ; BATTLEANIMOAMSET_A2 + dbbw $00, 16, .OAMData_1c ; BATTLEANIMOAMSET_A3 + dbbw $00, 9, .OAMData_a4 ; BATTLEANIMOAMSET_A4 + dbbw $06, 9, .OAMData_a4 ; BATTLEANIMOAMSET_A5 + dbbw $0c, 9, .OAMData_a4 ; BATTLEANIMOAMSET_A6 + dbbw $12, 9, .OAMData_a4 ; BATTLEANIMOAMSET_A7 + dbbw $18, 9, .OAMData_a4 ; BATTLEANIMOAMSET_A8 + dbbw $1e, 9, .OAMData_a4 ; BATTLEANIMOAMSET_A9 + dbbw $24, 9, .OAMData_a4 ; BATTLEANIMOAMSET_AA + dbbw $2a, 9, .OAMData_a4 ; BATTLEANIMOAMSET_AB + dbbw $03, 4, .OAMData_ac ; BATTLEANIMOAMSET_AC + dbbw $12, 4, .OAMData_03 ; BATTLEANIMOAMSET_AD + dbbw $10, 4, .OAMData_04 ; BATTLEANIMOAMSET_AE + dbbw $16, 1, .OAMData_0f ; BATTLEANIMOAMSET_AF + dbbw $17, 4, .OAMData_02 ; BATTLEANIMOAMSET_B0 + dbbw $18, 4, .OAMData_03 ; BATTLEANIMOAMSET_B1 + dbbw $1c, 4, .OAMData_03 ; BATTLEANIMOAMSET_B2 + dbbw $20, 3, .OAMData_03 ; BATTLEANIMOAMSET_B3 + dbbw $23, 4, .OAMData_04 ; BATTLEANIMOAMSET_B4 + dbbw $25, 3, .OAMData_03 ; BATTLEANIMOAMSET_B5 + dbbw $17, 4, .OAMData_03 ; BATTLEANIMOAMSET_B6 + dbbw $0a, 16, .OAMData_00 ; BATTLEANIMOAMSET_B7 + dbbw $10, 16, .OAMData_1c ; BATTLEANIMOAMSET_B8 + dbbw $00, 16, .OAMData_1c ; BATTLEANIMOAMSET_B9 + dbbw $04, 4, .OAMData_03 ; BATTLEANIMOAMSET_BA + dbbw $08, 2, .OAMData_11 ; BATTLEANIMOAMSET_BB + dbbw $20, 6, .OAMData_bc ; BATTLEANIMOAMSET_BC + dbbw $08, 1, .OAMData_0f ; BATTLEANIMOAMSET_BD + dbbw $04, 4, .OAMData_03 ; BATTLEANIMOAMSET_BE + dbbw $1a, 4, .OAMData_30 ; BATTLEANIMOAMSET_BF + dbbw $16, 9, .OAMData_01 ; BATTLEANIMOAMSET_C0 + dbbw $10, 16, .OAMData_c1 ; BATTLEANIMOAMSET_C1 + dbbw $09, 6, .OAMData_c2 ; BATTLEANIMOAMSET_C2 + dbbw $11, 9, .OAMData_c3 ; BATTLEANIMOAMSET_C3 + dbbw $0e, 4, .OAMData_03 ; BATTLEANIMOAMSET_C4 + dbbw $0b, 4, .OAMData_30 ; BATTLEANIMOAMSET_C5 + dbbw $1c, 6, .OAMData_02 ; BATTLEANIMOAMSET_C6 + dbbw $20, 16, .OAMData_c1 ; BATTLEANIMOAMSET_C7 + dbbw $05, 6, .OAMData_c8 ; BATTLEANIMOAMSET_C8 + dbbw $0b, 4, .OAMData_03 ; BATTLEANIMOAMSET_C9 + dbbw $09, 4, .OAMData_ca ; BATTLEANIMOAMSET_CA + dbbw $0b, 4, .OAMData_04 ; BATTLEANIMOAMSET_CB + dbbw $11, 13, .OAMData_cc ; BATTLEANIMOAMSET_CC + dbbw $00, 9, .OAMData_c3 ; BATTLEANIMOAMSET_CD + dbbw $09, 9, .OAMData_c3 ; BATTLEANIMOAMSET_CE + dbbw $00, 12, .OAMData_cf ; BATTLEANIMOAMSET_CF + dbbw $06, 12, .OAMData_cf ; BATTLEANIMOAMSET_D0 + dbbw $0c, 12, .OAMData_cf ; BATTLEANIMOAMSET_D1 + dbbw $12, 12, .OAMData_cf ; BATTLEANIMOAMSET_D2 + dbbw $00, 13, .OAMData_cc ; BATTLEANIMOAMSET_D3 + dbbw $00, 7, .OAMData_d4 ; BATTLEANIMOAMSET_D4 + dbbw $00, 6, .OAMData_d5 ; BATTLEANIMOAMSET_D5 + dbbw $00, 14, .OAMData_d6 ; BATTLEANIMOAMSET_D6 + dbbw $00, 12, .OAMData_d7 ; BATTLEANIMOAMSET_D7 + +.OAMData_11: + dsprite -1, 0, -1, 4, $00, $00 + dsprite 0, 0, -1, 4, $01, $00 + +.OAMData_56: + dsprite -1, 4, -1, 0, $00, $00 + dsprite -1, 4, 0, 0, $01, $00 + +.OAMData_03: + dsprite -1, 0, -1, 0, $00, $00 + dsprite -1, 0, 0, 0, $01, $00 + dsprite 0, 0, -1, 0, $02, $00 + dsprite 0, 0, 0, 0, $03, $00 + +.OAMData_02: + dsprite -1, 0, -1, 0, $00, $00 + dsprite -1, 0, 0, 0, $00, $20 + dsprite 0, 0, -1, 0, $00, $40 + dsprite 0, 0, 0, 0, $00, $60 + +.OAMData_c3: + dsprite -2, 4, -2, 4, $00, $00 + dsprite -2, 4, -1, 4, $01, $00 + dsprite -2, 4, 0, 4, $02, $00 + dsprite -1, 4, -2, 4, $03, $00 + dsprite -1, 4, -1, 4, $04, $00 + dsprite -1, 4, 0, 4, $05, $00 + dsprite 0, 4, -2, 4, $06, $00 + dsprite 0, 4, -1, 4, $07, $00 + dsprite 0, 4, 0, 4, $08, $00 + +.OAMData_01: + dsprite -2, 4, -2, 4, $00, $00 + dsprite -2, 4, -1, 4, $01, $00 + dsprite -2, 4, 0, 4, $00, $20 + dsprite -1, 4, -2, 4, $02, $00 + dsprite -1, 4, -1, 4, $03, $00 + dsprite -1, 4, 0, 4, $02, $60 + dsprite 0, 4, -2, 4, $00, $40 + dsprite 0, 4, -1, 4, $01, $60 + dsprite 0, 4, 0, 4, $00, $60 + +.OAMData_cf: + dsprite -2, 0, -2, 4, $00, $00 + dsprite -2, 0, -1, 4, $01, $00 + dsprite -2, 0, 0, 4, $02, $00 + dsprite -1, 0, -2, 4, $03, $00 + dsprite -1, 0, -1, 4, $04, $00 + dsprite -1, 0, 0, 4, $05, $00 + dsprite 0, 0, -2, 4, $05, $60 + dsprite 0, 0, -1, 4, $04, $60 + dsprite 0, 0, 0, 4, $03, $60 + dsprite 1, 0, -2, 4, $02, $60 + dsprite 1, 0, -1, 4, $01, $60 + dsprite 1, 0, 0, 4, $00, $60 + +.OAMData_1c: + dsprite -2, 0, -2, 0, $00, $00 + dsprite -2, 0, -1, 0, $01, $00 + dsprite -2, 0, 0, 0, $02, $00 + dsprite -2, 0, 1, 0, $03, $00 + dsprite -1, 0, -2, 0, $04, $00 + dsprite -1, 0, -1, 0, $05, $00 + dsprite -1, 0, 0, 0, $06, $00 + dsprite -1, 0, 1, 0, $07, $00 + dsprite 0, 0, -2, 0, $08, $00 + dsprite 0, 0, -1, 0, $09, $00 + dsprite 0, 0, 0, 0, $0a, $00 + dsprite 0, 0, 1, 0, $0b, $00 + dsprite 1, 0, -2, 0, $0c, $00 + dsprite 1, 0, -1, 0, $0d, $00 + dsprite 1, 0, 0, 0, $0e, $00 + dsprite 1, 0, 1, 0, $0f, $00 + +.OAMData_00: + dsprite -2, 0, -2, 0, $00, $00 + dsprite -2, 0, -1, 0, $01, $00 + dsprite -1, 0, -2, 0, $02, $00 + dsprite -1, 0, -1, 0, $03, $00 + dsprite -2, 0, 0, 0, $01, $20 + dsprite -2, 0, 1, 0, $00, $20 + dsprite -1, 0, 0, 0, $03, $20 + dsprite -1, 0, 1, 0, $02, $20 + dsprite 0, 0, -2, 0, $02, $40 + dsprite 0, 0, -1, 0, $03, $40 + dsprite 1, 0, -2, 0, $00, $40 + dsprite 1, 0, -1, 0, $01, $40 + dsprite 0, 0, 0, 0, $03, $60 + dsprite 0, 0, 1, 0, $02, $60 + dsprite 1, 0, 0, 0, $01, $60 + dsprite 1, 0, 1, 0, $00, $60 + +.OAMData_09: + dsprite -3, 4, -3, 4, $00, $00 + dsprite -3, 4, -2, 4, $01, $00 + dsprite -2, 4, -3, 4, $02, $00 + dsprite -2, 4, -2, 4, $03, $00 + dsprite -3, 4, 0, 4, $01, $20 + dsprite -3, 4, 1, 4, $00, $20 + dsprite -2, 4, 0, 4, $03, $20 + dsprite -2, 4, 1, 4, $02, $20 + dsprite 0, 4, -3, 4, $02, $40 + dsprite 0, 4, -2, 4, $03, $40 + dsprite 1, 4, -3, 4, $00, $40 + dsprite 1, 4, -2, 4, $01, $40 + dsprite 0, 4, 0, 4, $03, $60 + dsprite 0, 4, 1, 4, $02, $60 + dsprite 1, 4, 0, 4, $01, $60 + dsprite 1, 4, 1, 4, $00, $60 + +.OAMData_0c: + dsprite -1, 4, -1, 0, $00, $00 + dsprite -1, 4, 0, 0, $00, $20 + +.OAMData_6a: + dsprite 0, 0, -1, 0, $00, $00 + dsprite 0, 0, 0, 0, $00, $20 + +.OAMData_04: + dsprite -1, 0, -1, 0, $00, $00 + dsprite -1, 0, 0, 0, $00, $20 + dsprite 0, 0, -1, 0, $01, $00 + dsprite 0, 0, 0, 0, $01, $20 + +.OAMData_5d: + dsprite -1, 0, -1, 0, $00, $00 + dsprite -1, 0, 0, 0, $01, $00 + dsprite 0, 0, -1, 0, $00, $40 + dsprite 0, 0, 0, 0, $01, $40 + +.OAMData_13: + dsprite -1, 2, -1, 0, $02, $00 + dsprite 0, 2, -1, 0, $03, $00 + dsprite -2, 6, 0, 0, $02, $00 + dsprite -1, 6, 0, 0, $03, $00 + +.OAMData_22: + dsprite 1, 0, -11, 0, $01, $00 + dsprite 0, 0, -10, 0, $02, $00 + dsprite 0, 0, -9, 0, $03, $00 + dsprite 0, 0, -8, 0, $00, $00 + dsprite 0, 0, -7, 0, $03, $00 + dsprite 0, 0, -6, 0, $00, $00 + dsprite 0, 0, -5, 0, $03, $00 + dsprite 0, 0, -4, 0, $00, $00 + dsprite 0, 0, -3, 0, $03, $00 + dsprite 0, 0, -2, 0, $00, $00 + dsprite 0, 0, -1, 0, $01, $00 + dsprite -1, 0, 0, 0, $02, $00 + dsprite -1, 0, 1, 0, $03, $00 + dsprite -1, 0, 2, 0, $00, $00 + dsprite -1, 0, 3, 0, $03, $00 + dsprite -1, 0, 4, 0, $00, $00 + dsprite -1, 0, 5, 0, $03, $00 + dsprite -1, 0, 6, 0, $00, $00 + dsprite -1, 0, 7, 0, $03, $00 + dsprite -1, 0, 8, 0, $00, $00 + dsprite -1, 0, 9, 0, $01, $00 + dsprite -2, 0, 10, 0, $02, $00 + +.OAMData_2a: + dsprite -3, 4, -1, 0, $00, $00 + dsprite -3, 4, 0, 0, $00, $20 + dsprite -2, 4, -1, 0, $01, $00 + dsprite -2, 4, 0, 0, $01, $20 + dsprite -1, 4, -1, 4, $02, $00 + +.OAMData_2b: + dsprite -4, 4, -1, 0, $00, $00 + dsprite -4, 4, 0, 0, $00, $20 + dsprite -3, 4, -1, 0, $01, $00 + dsprite -3, 4, 0, 0, $01, $20 + dsprite -2, 4, -1, 4, $02, $00 + dsprite -1, 4, -1, 4, $02, $00 + +.OAMData_2c: + dsprite -5, 4, -1, 0, $00, $00 + dsprite -5, 4, 0, 0, $00, $20 + dsprite -4, 4, -1, 0, $01, $00 + dsprite -4, 4, 0, 0, $01, $20 + dsprite -3, 4, -1, 4, $02, $00 + dsprite -2, 4, -1, 4, $02, $00 + dsprite -1, 4, -1, 4, $02, $00 + +.OAMData_2d: + dsprite -6, 4, -1, 0, $00, $00 + dsprite -6, 4, 0, 0, $00, $20 + dsprite -5, 4, -1, 0, $01, $00 + dsprite -5, 4, 0, 0, $01, $20 + dsprite -4, 4, -1, 4, $02, $00 + dsprite -3, 4, -1, 4, $02, $00 + dsprite -2, 4, -1, 4, $02, $00 + dsprite -1, 4, -1, 4, $02, $00 + +.OAMData_2e: + dsprite -7, 4, -1, 0, $00, $00 + dsprite -7, 4, 0, 0, $00, $20 + dsprite -6, 4, -1, 0, $01, $00 + dsprite -6, 4, 0, 0, $01, $20 + dsprite -5, 4, -1, 4, $02, $00 + dsprite -4, 4, -1, 4, $02, $00 + dsprite -3, 4, -1, 4, $02, $00 + dsprite -2, 4, -1, 4, $02, $00 + dsprite -1, 4, -1, 4, $02, $00 + +.OAMData_2f: + dsprite -1, 0, -1, 0, $00, $00 + dsprite -1, 0, 0, 0, $00, $20 + dsprite 0, 0, -1, 0, $01, $00 + dsprite 0, 0, 0, 0, $00, $60 + +.OAMData_30: + dsprite -1, 0, -1, 0, $00, $00 + dsprite -1, 0, 0, 0, $01, $00 + dsprite 0, 0, -1, 0, $01, $60 + dsprite 0, 0, 0, 0, $00, $60 + +.OAMData_31: + dsprite -2, 4, -1, 0, $00, $00 + dsprite -2, 4, 0, 0, $01, $00 + dsprite -1, 4, -1, 0, $02, $00 + dsprite -1, 4, 0, 0, $03, $00 + dsprite 0, 4, -1, 0, $04, $00 + dsprite 0, 4, 0, 0, $05, $00 + +.OAMData_76: + dsprite -1, 5, -1, 0, $00, $00 + dsprite -1, 1, 0, 0, $00, $00 + +.OAMData_32: + dsprite -1, 0, -2, 4, $00, $00 + dsprite -1, 0, 0, 4, $00, $00 + dsprite -3, 0, -2, 4, $00, $00 + dsprite -3, 0, 0, 4, $00, $00 + dsprite -2, 0, -3, 4, $00, $00 + dsprite -2, 0, -2, 4, $01, $00 + dsprite -2, 0, -1, 4, $00, $00 + dsprite -2, 0, 0, 4, $01, $00 + dsprite -2, 0, 1, 4, $00, $00 + dsprite -1, 0, -4, 4, $00, $00 + dsprite -1, 0, -3, 4, $01, $00 + dsprite -1, 0, -1, 4, $01, $00 + dsprite -1, 0, 1, 4, $01, $00 + dsprite -1, 0, 2, 4, $00, $00 + +.OAMData_33: + dsprite -2, 0, -2, 4, $00, $00 + dsprite -2, 0, 0, 4, $00, $00 + dsprite -1, 0, -3, 4, $00, $00 + dsprite -1, 0, -2, 4, $01, $00 + dsprite -1, 0, -1, 4, $00, $00 + dsprite -1, 0, 0, 4, $01, $00 + dsprite -1, 0, 1, 4, $00, $00 + dsprite -4, 0, -2, 4, $00, $00 + dsprite -4, 0, 0, 4, $00, $00 + dsprite -3, 0, -3, 4, $00, $00 + dsprite -3, 0, -2, 4, $01, $00 + dsprite -3, 0, -1, 4, $00, $00 + dsprite -3, 0, 0, 4, $01, $00 + dsprite -3, 0, 1, 4, $00, $00 + dsprite -2, 0, -4, 4, $00, $00 + dsprite -2, 0, -3, 4, $01, $00 + dsprite -2, 0, -1, 4, $01, $00 + dsprite -2, 0, 1, 4, $01, $00 + dsprite -2, 0, 2, 4, $00, $00 + dsprite -1, 0, -4, 4, $01, $00 + dsprite -1, 0, 2, 4, $01, $00 + +.OAMData_36: + dsprite -7, 4, -1, 0, $00, $00 + dsprite -7, 4, 0, 0, $01, $00 + dsprite -6, 4, -1, 0, $02, $00 + dsprite -6, 4, 0, 0, $03, $00 + dsprite -5, 4, -1, 0, $04, $00 + dsprite -5, 4, 0, 0, $05, $00 + dsprite -4, 4, -1, 0, $06, $00 + dsprite -4, 4, 0, 0, $07, $00 + dsprite -3, 4, -1, 0, $08, $00 + dsprite -3, 4, 0, 0, $09, $00 + dsprite -2, 4, -1, 0, $0a, $00 + dsprite -2, 4, 0, 0, $0b, $00 + dsprite -1, 4, -1, 0, $0c, $00 + dsprite -1, 4, 0, 0, $0d, $00 + +.OAMData_3a: + dsprite -7, 4, -1, 0, $0c, $00 + dsprite -7, 4, 0, 0, $0d, $00 + dsprite -6, 4, -1, 0, $08, $00 + dsprite -6, 4, 0, 0, $09, $00 + dsprite -5, 4, -1, 0, $04, $00 + dsprite -5, 4, 0, 0, $05, $00 + dsprite -4, 4, -1, 0, $00, $00 + dsprite -4, 4, 0, 0, $01, $00 + dsprite -3, 4, -1, 0, $02, $00 + dsprite -3, 4, 0, 0, $03, $00 + dsprite -2, 4, 0, 0, $02, $00 + dsprite -2, 4, 1, 0, $03, $00 + dsprite -1, 4, 0, 0, $0a, $00 + dsprite -1, 4, 1, 0, $0b, $00 + +.OAMData_3e: + dsprite 1, 4, -2, 0, $00, $40 + dsprite 1, 4, -1, 0, $02, $40 + dsprite 1, 4, 0, 0, $02, $60 + dsprite 1, 4, 1, 0, $00, $60 + dsprite -1, 4, -3, 0, $09, $20 + dsprite -1, 4, -2, 0, $08, $20 + dsprite -1, 4, -1, 0, $06, $00 + dsprite -1, 4, 0, 0, $07, $00 + dsprite -1, 4, 1, 0, $08, $00 + dsprite -1, 4, 2, 0, $09, $00 + dsprite 0, 4, -3, 0, $01, $20 + dsprite 0, 4, -2, 0, $00, $20 + dsprite 0, 4, -1, 0, $0c, $00 + dsprite 0, 4, 0, 0, $0d, $00 + dsprite 0, 4, 1, 0, $00, $00 + dsprite 0, 4, 2, 0, $01, $00 + dsprite -3, 4, -2, 0, $00, $00 + dsprite -3, 4, -1, 0, $02, $00 + dsprite -3, 4, 0, 0, $02, $20 + dsprite -3, 4, 1, 0, $00, $20 + dsprite -2, 4, -3, 0, $03, $20 + dsprite -2, 4, -2, 0, $02, $20 + dsprite -2, 4, -1, 0, $04, $00 + dsprite -2, 4, 0, 0, $05, $00 + dsprite -2, 4, 1, 0, $02, $00 + dsprite -2, 4, 2, 0, $03, $00 + +.OAMData_41: + dsprite -3, 4, -2, 0, $00, $00 + dsprite -3, 4, -1, 0, $02, $00 + dsprite -3, 4, 0, 0, $02, $20 + dsprite -3, 4, 1, 0, $00, $20 + dsprite -2, 4, -3, 4, $00, $00 + dsprite -2, 4, -2, 4, $01, $00 + dsprite -2, 4, -1, 0, $05, $20 + dsprite -2, 4, 0, 0, $04, $20 + dsprite -2, 4, 0, 4, $01, $20 + dsprite -2, 4, 1, 4, $00, $20 + dsprite -1, 4, -3, 4, $02, $00 + dsprite -1, 4, -2, 4, $03, $00 + dsprite -1, 4, -1, 0, $07, $20 + dsprite -1, 4, 0, 0, $06, $20 + dsprite -1, 4, 0, 4, $03, $20 + dsprite -1, 4, 1, 4, $02, $20 + dsprite 0, 4, -3, 4, $04, $00 + dsprite 0, 4, -2, 4, $05, $00 + dsprite 0, 4, -1, 0, $0d, $20 + dsprite 0, 4, 0, 0, $0c, $20 + dsprite 0, 4, 0, 4, $05, $20 + dsprite 0, 4, 1, 4, $04, $20 + dsprite 1, 4, -2, 0, $00, $40 + dsprite 1, 4, -1, 0, $02, $40 + dsprite 1, 4, 0, 0, $02, $60 + dsprite 1, 4, 1, 0, $00, $60 + +.OAMData_42: + dsprite -3, 0, -1, 4, $02, $00 + dsprite 2, 0, -1, 4, $02, $60 + dsprite -1, 4, -3, 0, $01, $00 + dsprite -1, 4, 2, 0, $01, $60 + dsprite -4, 0, -1, 4, $02, $00 + dsprite 3, 0, -1, 4, $02, $60 + dsprite -1, 4, -4, 0, $01, $00 + dsprite -1, 4, 3, 0, $01, $60 + +.OAMData_44: + dsprite -3, 5, -3, 5, $00, $20 + dsprite -3, 5, 1, 3, $00, $00 + dsprite 1, 3, -3, 5, $00, $60 + dsprite 1, 3, 1, 3, $00, $40 + dsprite -4, 5, -4, 5, $00, $20 + dsprite -4, 5, 2, 3, $00, $00 + dsprite 2, 3, -4, 5, $00, $60 + dsprite 2, 3, 2, 3, $00, $40 + +.OAMData_46: + dsprite -3, 4, -1, 4, $02, $00 + dsprite 1, 4, -1, 4, $02, $60 + dsprite -1, 4, -3, 4, $01, $00 + dsprite -1, 4, 1, 4, $01, $60 + +.OAMData_47: + dsprite -2, 0, -2, 0, $00, $20 + dsprite -2, 0, 1, 0, $00, $00 + dsprite 1, 0, -2, 0, $00, $60 + dsprite 1, 0, 1, 0, $00, $40 + +.OAMData_48: + dsprite -3, 0, -1, 4, $00, $00 + dsprite -2, 0, -1, 2, $00, $00 + dsprite -1, 0, -1, 0, $00, $00 + dsprite 0, 0, -1, 0, $00, $00 + dsprite 1, 0, -1, 2, $00, $00 + dsprite 2, 0, -1, 4, $00, $00 + +.OAMData_49: + dsprite -1, 4, -2, 0, $00, $20 + dsprite -1, 2, -1, 0, $00, $20 + dsprite -1, 2, 0, 0, $00, $00 + dsprite -1, 4, 1, 0, $00, $00 + +.OAMData_4a: + dsprite -1, 4, -1, 0, $00, $60 + dsprite -1, 4, 0, 0, $00, $40 + +.OAMData_0f: + dsprite -1, 4, -1, 4, $00, $00 + dsprite -1, 4, -2, 4, $01, $00 + dsprite -1, 4, -1, 4, $01, $20 + dsprite 0, 4, -2, 4, $01, $40 + dsprite 0, 4, -1, 4, $01, $60 + +.OAMData_4c: + dsprite -1, 4, -1, 4, $00, $00 + dsprite 0, 2, -2, 6, $00, $00 + dsprite 0, 2, -3, 6, $01, $00 + dsprite 0, 2, -2, 6, $01, $20 + dsprite 1, 2, -3, 6, $01, $40 + dsprite 1, 2, -2, 6, $01, $60 + +.OAMData_4d: + dsprite -1, 4, -1, 4, $00, $00 + dsprite 0, 2, -2, 6, $00, $00 + dsprite 1, 0, -2, 0, $00, $00 + dsprite 1, 0, -3, 0, $01, $00 + dsprite 1, 0, -2, 0, $01, $20 + dsprite 2, 0, -3, 0, $01, $40 + dsprite 2, 0, -2, 0, $01, $60 + +.OAMData_4f: + dsprite -1, 4, -1, 4, $00, $00 + dsprite 0, 2, -2, 6, $00, $00 + dsprite 1, 0, -2, 0, $00, $00 + dsprite 1, 6, -3, 2, $00, $00 + dsprite 1, 6, -4, 2, $01, $00 + dsprite 1, 6, -3, 2, $01, $20 + dsprite 2, 6, -4, 2, $01, $40 + dsprite 2, 6, -3, 2, $01, $60 + +.OAMData_50: + dsprite -1, 4, -1, 4, $00, $00 + dsprite 0, 2, -2, 6, $00, $00 + dsprite 1, 0, -2, 0, $00, $00 + dsprite 1, 6, -3, 2, $00, $00 + dsprite 2, 4, -4, 4, $00, $00 + dsprite 2, 4, -5, 4, $01, $00 + dsprite 2, 4, -4, 4, $01, $20 + dsprite 3, 4, -5, 4, $01, $40 + dsprite 3, 4, -4, 4, $01, $60 + +.OAMData_51: + dsprite -1, 4, -1, 4, $00, $00 + dsprite 0, 2, -2, 6, $00, $00 + dsprite 1, 0, -2, 0, $00, $00 + dsprite 1, 6, -3, 2, $00, $00 + dsprite 2, 4, -4, 4, $00, $00 + dsprite 3, 2, -5, 6, $00, $00 + dsprite 3, 2, -6, 6, $01, $00 + dsprite 3, 2, -5, 6, $01, $20 + dsprite 4, 2, -6, 6, $01, $40 + dsprite 4, 2, -5, 6, $01, $60 + +.OAMData_59: + dsprite -1, 4, -2, 0, $00, $00 + dsprite -1, 4, -1, 0, $01, $00 + dsprite -1, 4, 0, 0, $01, $20 + dsprite -1, 4, 1, 0, $00, $20 + +.OAMData_5a: + dsprite -1, 4, -2, 0, $02, $00 + dsprite -1, 4, -1, 0, $01, $00 + dsprite -1, 4, 0, 0, $01, $20 + dsprite -1, 4, 1, 0, $02, $20 + +.OAMData_60: + dsprite -1, 0, -1, 4, $00, $00 + +.OAMData_69: + dsprite 0, 0, -1, 4, $00, $00 + +.OAMData_61: + dsprite -1, 4, -4, 4, $00, $00 + dsprite -1, 4, -3, 4, $01, $00 + dsprite -1, 4, -2, 4, $02, $00 + dsprite -1, 4, -1, 4, $03, $00 + dsprite -1, 4, 0, 4, $04, $00 + dsprite -1, 4, 1, 4, $05, $00 + dsprite -1, 4, 2, 4, $06, $00 + dsprite -2, 4, 1, 4, $07, $00 + dsprite -2, 4, 2, 4, $08, $00 + +.OAMData_65: + dsprite -2, 4, -4, 4, $08, $20 + dsprite -2, 4, -3, 4, $07, $20 + dsprite -1, 4, -4, 4, $06, $20 + dsprite -1, 4, -3, 4, $05, $20 + dsprite -1, 4, -2, 4, $04, $20 + dsprite -1, 4, -1, 4, $03, $20 + dsprite -1, 4, 0, 4, $02, $20 + dsprite -1, 4, 1, 4, $01, $20 + dsprite -1, 4, 2, 4, $00, $20 + +.OAMData_d4: + dsprite 0, 0, -4, 4, $00, $10 + dsprite 0, 0, -3, 4, $01, $10 + dsprite 0, 0, -2, 4, $02, $10 + dsprite 0, 0, -1, 4, $03, $10 + dsprite 0, 0, 0, 4, $04, $10 + dsprite 0, 0, 1, 4, $05, $10 + dsprite 0, 0, 2, 4, $06, $10 + +.OAMData_d6: + dsprite -1, 0, -4, 4, $00, $10 + dsprite 0, 0, -4, 4, $01, $10 + dsprite -1, 0, -3, 4, $02, $10 + dsprite 0, 0, -3, 4, $03, $10 + dsprite -1, 0, -2, 4, $04, $10 + dsprite 0, 0, -2, 4, $05, $10 + dsprite -1, 0, -1, 4, $06, $10 + dsprite 0, 0, -1, 4, $07, $10 + dsprite -1, 0, 0, 4, $08, $10 + dsprite 0, 0, 0, 4, $09, $10 + dsprite -1, 0, 1, 4, $0a, $10 + dsprite 0, 0, 1, 4, $0b, $10 + dsprite -1, 0, 2, 4, $0c, $10 + dsprite 0, 0, 2, 4, $0d, $10 + +.OAMData_d5: + dsprite 0, 0, -3, 0, $00, $11 + dsprite 0, 0, -2, 0, $01, $11 + dsprite 0, 0, -1, 0, $02, $11 + dsprite 0, 0, 0, 0, $03, $11 + dsprite 0, 0, 1, 0, $04, $11 + dsprite 0, 0, 2, 0, $05, $11 + +.OAMData_d7: + dsprite 0, 0, -3, 0, $00, $11 + dsprite 1, 0, -3, 0, $01, $11 + dsprite 0, 0, -2, 0, $02, $11 + dsprite 1, 0, -2, 0, $03, $11 + dsprite 0, 0, -1, 0, $04, $11 + dsprite 1, 0, -1, 0, $05, $11 + dsprite 0, 0, 0, 0, $06, $11 + dsprite 1, 0, 0, 0, $07, $11 + dsprite 0, 0, 1, 0, $08, $11 + dsprite 1, 0, 1, 0, $09, $11 + dsprite 0, 0, 2, 0, $0a, $11 + dsprite 1, 0, 2, 0, $0b, $11 + +.OAMData_6e: + dsprite -2, 4, 0, 4, $00, $00 + dsprite -1, 4, -2, 4, $01, $00 + dsprite -1, 4, -1, 4, $02, $00 + dsprite -1, 4, 0, 4, $03, $00 + dsprite 0, 4, -2, 4, $04, $00 + +.OAMData_6f: + dsprite -1, 4, -2, 4, $00, $00 + dsprite -1, 4, -1, 4, $01, $00 + dsprite -1, 4, 0, 4, $02, $00 + +.OAMData_77: + dsprite -4, 4, 1, 4, $01, $60 + +.OAMData_78: + dsprite -4, 4, 1, 4, $00, $00 + dsprite -4, 4, 0, 4, $01, $60 + dsprite -3, 4, 1, 4, $01, $60 + +.OAMData_79: + dsprite -4, 4, 1, 4, $01, $00 + dsprite -4, 4, 0, 4, $00, $00 + dsprite -4, 4, -1, 4, $01, $60 + dsprite -3, 4, 1, 4, $00, $00 + dsprite -3, 4, 0, 4, $01, $60 + dsprite -2, 4, 1, 4, $01, $60 + +.OAMData_7a: + dsprite -4, 4, -2, 4, $01, $60 + dsprite -4, 4, -1, 4, $00, $00 + dsprite -4, 4, 0, 4, $01, $00 + dsprite -3, 4, -1, 4, $01, $60 + dsprite -3, 4, 0, 4, $00, $00 + dsprite -3, 4, 1, 4, $01, $00 + dsprite -2, 4, 0, 4, $01, $60 + dsprite -2, 4, 1, 4, $00, $00 + dsprite -1, 4, 1, 4, $01, $60 + +.OAMData_7b: + dsprite -4, 4, -3, 4, $01, $60 + dsprite -4, 4, -2, 4, $00, $00 + dsprite -4, 4, -1, 4, $01, $00 + dsprite -3, 4, -2, 4, $01, $60 + dsprite -3, 4, -1, 4, $00, $00 + dsprite -3, 4, 0, 4, $01, $00 + dsprite -2, 4, -1, 4, $01, $60 + dsprite -2, 4, 0, 4, $00, $00 + dsprite -2, 4, 1, 4, $01, $00 + dsprite -1, 4, 0, 4, $01, $60 + dsprite -1, 4, 1, 4, $00, $00 + dsprite 0, 4, 1, 4, $01, $60 + +.OAMData_7c: + dsprite -4, 4, -3, 4, $00, $00 + dsprite -4, 4, -2, 4, $01, $00 + dsprite -3, 4, -3, 4, $01, $60 + dsprite -3, 4, -2, 4, $00, $00 + dsprite -3, 4, -1, 4, $01, $00 + dsprite -2, 4, -2, 4, $01, $60 + dsprite -2, 4, -1, 4, $00, $00 + dsprite -2, 4, 0, 4, $01, $00 + dsprite -1, 4, -1, 4, $01, $60 + dsprite -1, 4, 0, 4, $00, $00 + dsprite -1, 4, 1, 4, $01, $00 + dsprite 0, 4, 0, 4, $01, $60 + dsprite 0, 4, 1, 4, $00, $00 + dsprite 1, 4, 1, 4, $01, $60 + +.OAMData_7d: + dsprite -4, 4, -3, 4, $01, $00 + dsprite -3, 4, -3, 4, $00, $00 + dsprite -3, 4, -2, 4, $01, $00 + dsprite -2, 4, -3, 4, $01, $60 + dsprite -2, 4, -2, 4, $00, $00 + dsprite -2, 4, -1, 4, $01, $00 + dsprite -1, 4, -2, 4, $01, $60 + dsprite -1, 4, -1, 4, $00, $00 + dsprite -1, 4, 0, 4, $01, $00 + dsprite 0, 4, -1, 4, $01, $60 + dsprite 0, 4, 0, 4, $00, $00 + dsprite 0, 4, 1, 4, $01, $00 + dsprite 1, 4, 0, 4, $01, $60 + dsprite 1, 4, 1, 4, $00, $00 + dsprite 2, 4, 1, 4, $01, $60 + +.OAMData_70: + dsprite -2, 0, -1, 0, $00, $00 + dsprite -1, 0, -1, 0, $01, $00 + dsprite -2, 0, 0, 0, $00, $20 + dsprite -1, 0, 0, 0, $01, $20 + dsprite 0, 0, -1, 0, $01, $40 + dsprite 1, 0, -1, 0, $00, $40 + dsprite 0, 0, 0, 0, $01, $60 + dsprite 1, 0, 0, 0, $00, $60 + +.OAMData_81: + dsprite -1, 0, -1, 0, $00, $00 + dsprite -1, 0, 0, 0, $01, $00 + dsprite 0, 0, -1, 0, $01, $60 + dsprite 0, 0, 0, 0, $00, $60 + +.OAMData_87: + dsprite -2, 4, -1, 0, $00, $00 + dsprite -2, 4, 0, 0, $01, $00 + dsprite -1, 4, -1, 0, $02, $00 + dsprite -1, 4, 0, 0, $03, $00 + dsprite -1, 4, -1, 0, $00, $00 + dsprite -1, 4, 0, 0, $01, $00 + dsprite 0, 4, -1, 0, $02, $00 + dsprite 0, 4, 0, 0, $03, $00 + dsprite -3, 4, -1, 0, $00, $00 + dsprite -3, 4, 0, 0, $01, $00 + dsprite -2, 4, -1, 0, $02, $00 + dsprite -2, 4, 0, 0, $03, $00 + dsprite 0, 4, -1, 0, $00, $00 + dsprite 0, 4, 0, 0, $01, $00 + dsprite 1, 4, -1, 0, $02, $00 + dsprite 1, 4, 0, 0, $03, $00 + +.OAMData_88: + dsprite -2, 0, -1, 0, $00, $00 + dsprite -2, 0, 0, 0, $01, $00 + dsprite -1, 0, -1, 0, $02, $00 + dsprite -1, 0, 0, 0, $03, $00 + dsprite -1, 0, -1, 0, $00, $00 + dsprite -1, 0, 0, 0, $01, $00 + dsprite 0, 0, -1, 0, $02, $00 + dsprite 0, 0, 0, 0, $03, $00 + dsprite 0, 0, -1, 0, $00, $00 + dsprite 0, 0, 0, 0, $01, $00 + dsprite 1, 0, -1, 0, $02, $00 + dsprite 1, 0, 0, 0, $03, $00 + +.OAMData_8a: + dsprite -1, 4, -1, 4, $00, $00 + dsprite -1, 0, 0, 4, $00, $00 + dsprite -2, 4, 1, 4, $00, $00 + dsprite -2, 0, 2, 4, $00, $00 + dsprite -3, 4, 3, 4, $00, $00 + dsprite -3, 0, 4, 4, $00, $00 + dsprite -4, 0, 5, 4, $00, $00 + dsprite -5, 4, 6, 4, $00, $00 + +.OAMData_8e: + dsprite -3, 4, -1, 4, $00, $00 + dsprite -2, 4, -1, 4, $01, $00 + dsprite -1, 4, -1, 4, $02, $00 + dsprite 0, 4, -1, 4, $01, $40 + dsprite 1, 4, -1, 4, $00, $40 + +.OAMData_8f: + dsprite -1, 4, -2, 0, $00, $00 + dsprite -1, 4, -1, 0, $01, $00 + dsprite -1, 4, 0, 0, $02, $00 + dsprite -1, 4, 1, 0, $03, $00 + +.OAMData_93: + dsprite -1, 0, -2, 4, $00, $00 + dsprite -1, 0, -1, 4, $01, $00 + dsprite -1, 0, 0, 4, $02, $00 + dsprite 0, 0, -2, 4, $03, $00 + dsprite 0, 0, -1, 4, $04, $00 + dsprite 0, 0, 0, 4, $05, $00 + +.OAMData_99: + dsprite -1, 0, -1, 0, $00, $00 + dsprite -1, 0, 0, 0, $05, $00 + dsprite 0, 0, -1, 0, $01, $00 + dsprite 0, 0, 0, 0, $05, $00 + +.OAMData_9b: + dsprite -4, 4, 1, 0, $00, $00 + dsprite -4, 4, 2, 0, $01, $00 + dsprite -3, 4, -1, 0, $02, $00 + dsprite -3, 4, 0, 0, $03, $00 + dsprite -3, 4, 1, 0, $04, $00 + dsprite -3, 4, 2, 0, $05, $00 + dsprite -3, 4, 3, 0, $06, $00 + dsprite -2, 4, -2, 0, $07, $00 + dsprite -2, 4, -1, 0, $08, $00 + dsprite -2, 4, 0, 0, $09, $00 + dsprite -2, 4, 1, 0, $0a, $00 + dsprite -2, 4, 2, 0, $0b, $00 + dsprite -2, 4, 3, 0, $0c, $00 + dsprite -2, 4, 4, 0, $0d, $00 + dsprite -1, 4, -3, 0, $0e, $00 + dsprite -1, 4, -2, 0, $0f, $00 + dsprite -1, 4, -1, 0, $10, $00 + dsprite -1, 4, 0, 0, $11, $00 + dsprite -1, 4, 1, 0, $12, $00 + dsprite -1, 4, 2, 0, $13, $00 + dsprite 0, 4, -5, 0, $14, $00 + dsprite 0, 4, -4, 0, $15, $00 + dsprite 0, 4, -3, 0, $16, $00 + dsprite 0, 4, -2, 0, $17, $00 + dsprite 0, 4, -1, 0, $18, $00 + dsprite 0, 4, 0, 0, $19, $00 + dsprite 0, 4, 1, 0, $1a, $00 + dsprite 0, 4, 2, 0, $1b, $00 + dsprite 0, 4, 3, 0, $1c, $00 + dsprite 1, 4, -5, 0, $1d, $00 + dsprite 1, 4, -4, 0, $1e, $00 + dsprite 1, 4, -2, 0, $1f, $00 + dsprite 1, 4, -1, 0, $20, $00 + dsprite 1, 4, 0, 0, $21, $00 + dsprite 1, 4, 1, 0, $22, $00 + dsprite 2, 4, 0, 0, $23, $00 + +.OAMData_9c: + dsprite 0, 4, -1, 0, $02, $00 + dsprite 0, 4, 0, 0, $03, $00 + dsprite -1, 4, -1, 0, $01, $00 + dsprite -1, 4, 0, 0, $01, $20 + dsprite -2, 4, -1, 0, $00, $00 + dsprite -2, 4, 0, 0, $00, $20 + +.OAMData_9f: + dsprite -1, 0, -2, 0, $00, $00 + dsprite -1, 0, -1, 0, $01, $00 + dsprite -1, 0, 0, 0, $02, $00 + dsprite -1, 0, 1, 0, $03, $00 + dsprite 0, 0, -2, 0, $04, $00 + dsprite 0, 0, -1, 0, $05, $00 + dsprite 0, 0, 0, 0, $06, $00 + dsprite 0, 0, 1, 0, $07, $00 + +.OAMData_a0: + dsprite -2, 4, -1, 4, $00, $00 + dsprite -1, 4, -1, 4, $00, $00 + dsprite 0, 4, -1, 4, $00, $00 + dsprite -3, 4, -1, 4, $00, $00 + dsprite 1, 4, -1, 4, $00, $00 + dsprite -4, 4, -1, 4, $00, $00 + dsprite 2, 4, -1, 4, $00, $00 + +.OAMData_a4: + dsprite -2, 4, -2, 4, $00, $00 + dsprite -2, 4, -1, 4, $01, $00 + dsprite -2, 4, 0, 4, $02, $00 + dsprite -1, 4, -2, 4, $03, $00 + dsprite -1, 4, -1, 4, $04, $00 + dsprite -1, 4, 0, 4, $05, $00 + dsprite 0, 4, -2, 4, $00, $40 + dsprite 0, 4, -1, 4, $01, $40 + dsprite 0, 4, 0, 4, $02, $40 + +.OAMData_ac: + dsprite -1, 4, -2, 0, $00, $00 + dsprite -1, 4, -1, 0, $01, $00 + dsprite -1, 4, 0, 0, $01, $20 + dsprite -1, 4, 1, 0, $00, $20 + +.OAMData_bc: + dsprite -1, 4, -3, 0, $00, $00 + dsprite -1, 4, -2, 0, $01, $00 + dsprite -1, 4, -1, 0, $02, $00 + dsprite -1, 4, 0, 0, $02, $20 + dsprite -1, 4, 1, 0, $01, $20 + dsprite -1, 4, 2, 0, $00, $20 + +.OAMData_c1: + dsprite -2, 0, -2, 0, $00, $00 + dsprite -2, 0, -1, 0, $01, $00 + dsprite -2, 0, 0, 0, $02, $00 + dsprite -2, 0, 1, 0, $00, $20 + dsprite -1, 0, -2, 0, $03, $00 + dsprite -1, 0, -1, 0, $04, $00 + dsprite -1, 0, 0, 0, $04, $20 + dsprite -1, 0, 1, 0, $05, $00 + dsprite 0, 0, -2, 0, $05, $60 + dsprite 0, 0, -1, 0, $04, $40 + dsprite 0, 0, 0, 0, $04, $60 + dsprite 0, 0, 1, 0, $03, $60 + dsprite 1, 0, -2, 0, $00, $40 + dsprite 1, 0, -1, 0, $02, $60 + dsprite 1, 0, 0, 0, $01, $60 + dsprite 1, 0, 1, 0, $00, $60 + +.OAMData_c2: + dsprite -1, 0, -2, 0, $00, $00 + dsprite -1, 0, -1, 0, $01, $00 + dsprite -1, 0, 0, 0, $00, $60 + dsprite 0, 0, -1, 0, $00, $00 + dsprite 0, 0, 0, 0, $01, $00 + dsprite 0, 0, 1, 0, $00, $60 + +.OAMData_c8: + dsprite -1, 0, 1, 4, $00, $00 + dsprite -1, 0, 2, 4, $01, $00 + dsprite 0, 0, -1, 4, $02, $00 + dsprite 0, 0, 0, 4, $03, $00 + dsprite 0, 0, 1, 4, $04, $00 + dsprite 0, 0, 2, 4, $05, $00 + +.OAMData_ca: + dsprite -1, 0, -1, 0, $00, $00 + dsprite -1, 0, 0, 0, $01, $60 + dsprite 0, 0, -1, 0, $01, $00 + dsprite 0, 0, 0, 0, $01, $20 + +.OAMData_cc: + dsprite -2, 0, -13, 4, $00, $00 + dsprite -4, 0, -11, 4, $00, $00 + dsprite -1, 0, -9, 4, $00, $00 + dsprite -5, 0, -7, 4, $00, $00 + dsprite -3, 0, -5, 4, $00, $00 + dsprite -5, 0, -3, 4, $00, $00 + dsprite -3, 0, -1, 4, $00, $00 + dsprite -3, 0, 0, 4, $00, $00 + dsprite -5, 0, 2, 4, $00, $00 + dsprite 0, 0, 4, 4, $00, $00 + dsprite -2, 0, 6, 4, $00, $00 + dsprite -4, 0, 8, 4, $00, $00 + dsprite -2, 0, 10, 4, $00, $00 +; cfcf6 diff --git a/data/anims/object_gfx.asm b/data/anims/object_gfx.asm new file mode 100755 index 000000000..133298d13 --- /dev/null +++ b/data/anims/object_gfx.asm @@ -0,0 +1,51 @@ +anim_obj_gfx: MACRO +; # tiles, label + db \1 + dba \2 +ENDM + +AnimObjGFX: ; cfcf6 +; entries correspond to ANIM_GFX_* constants + anim_obj_gfx 0, AnimObj00GFX + anim_obj_gfx 21, AnimObjHitGFX + anim_obj_gfx 6, AnimObjCutGFX + anim_obj_gfx 6, AnimObjFireGFX + anim_obj_gfx 20, AnimObjWaterGFX + anim_obj_gfx 26, AnimObjLightningGFX + anim_obj_gfx 18, AnimObjPlantGFX + anim_obj_gfx 12, AnimObjSmokeGFX + anim_obj_gfx 9, AnimObjExplosionGFX + anim_obj_gfx 17, AnimObjRocksGFX + anim_obj_gfx 6, AnimObjIceGFX + anim_obj_gfx 10, AnimObjPokeBallGFX + anim_obj_gfx 9, AnimObjPoisonGFX + anim_obj_gfx 13, AnimObjBubbleGFX + anim_obj_gfx 16, AnimObjNoiseGFX + anim_obj_gfx 2, AnimObjPowderGFX + anim_obj_gfx 11, AnimObjBeamGFX + anim_obj_gfx 9, AnimObjSpeedGFX + anim_obj_gfx 9, AnimObjChargeGFX + anim_obj_gfx 19, AnimObjWindGFX + anim_obj_gfx 10, AnimObjWhipGFX + anim_obj_gfx 12, AnimObjEggGFX + anim_obj_gfx 18, AnimObjRopeGFX + anim_obj_gfx 13, AnimObjPsychicGFX + anim_obj_gfx 10, AnimObjReflectGFX + anim_obj_gfx 27, AnimObjStatusGFX + anim_obj_gfx 12, AnimObjSandGFX + anim_obj_gfx 14, AnimObjWebGFX + anim_obj_gfx 16, AnimObjHazeGFX + anim_obj_gfx 7, AnimObjHornGFX + anim_obj_gfx 8, AnimObjFlowerGFX + anim_obj_gfx 40, AnimObjMiscGFX + anim_obj_gfx 36, AnimObjSkyAttackGFX + anim_obj_gfx 16, AnimObjGlobeGFX + anim_obj_gfx 48, AnimObjShapesGFX + anim_obj_gfx 18, AnimObjObjectsGFX + anim_obj_gfx 38, AnimObjShineGFX + anim_obj_gfx 35, AnimObjAngelsGFX + anim_obj_gfx 18, AnimObjWaveGFX + anim_obj_gfx 24, AnimObjAeroblastGFX + anim_obj_gfx 1, NULL + anim_obj_gfx 1, NULL +; cfd9e diff --git a/data/anims/objects.asm b/data/anims/objects.asm new file mode 100755 index 000000000..8117d8495 --- /dev/null +++ b/data/anims/objects.asm @@ -0,0 +1,209 @@ +ABSOLUTE_X EQU $00 +RELATIVE_X EQU $01 + +battleanimobj: MACRO + db \1 ; flags + ; bit 7: priority + ; bit 6: y flip (for enemy) + ; bit 5: x flip (for enemy) + ; bit 0: enable enemy animation coord fixing (x = $b4 - x; see below for y) + db \2 ; enemy animation y fix param + ; if $FF: y = y + 5 tiles + ; else: y = -y - (1 tile) * (is_softboiled_animation) + db \3 ; video sequence + db \4 ; callback + db \5 ; palette + db \6 ; tile offset +endm + +BattleAnimObjects: ; ccb56 +; entries correspond to ANIM_OBJ_* constants + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_00, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_00 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_01, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_01 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_02, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_02 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_00, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_03 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_01, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_04 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_02, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_05 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_03, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_06 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_04, BATTLEANIMFUNC_1B, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_07 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_05, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_08 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_06, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_09 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_07, BATTLEANIMFUNC_09, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_0A + battleanimobj RELATIVE_X, $aa, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_10, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0B + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0E, BATTLEANIMFUNC_04, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0C + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_03, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0D + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_08, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0E + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_0A, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0F + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_03, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_BURNED + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_12, BATTLEANIMFUNC_08, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_BLIZZARD + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_13, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_12 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_14, BATTLEANIMFUNC_01, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_ICE_BEAM + battleanimobj RELATIVE_X | X_FLIP, $78, BATTLEANIMFRAMESET_16, BATTLEANIMFUNC_RAZOR_LEAF, PAL_BATTLE_OB_GREEN, $06 ; ANIM_OBJ_RAZOR_LEAF + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_09, BATTLEANIMFUNC_12, PAL_BATTLE_OB_RED, $0b ; ANIM_OBJ_POKE_BALL + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_09, BATTLEANIMFUNC_13, PAL_BATTLE_OB_RED, $0b ; ANIM_OBJ_POKE_BALL_BLOCKED + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_18, BATTLEANIMFUNC_00, PAL_BATTLE_OB_RED, $08 ; ANIM_OBJ_17 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_18, BATTLEANIMFUNC_00, PAL_BATTLE_OB_RED, $08 ; ANIM_OBJ_18 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_1D, BATTLEANIMFUNC_06, PAL_BATTLE_OB_GRAY, $0c ; ANIM_OBJ_19 + battleanimobj RELATIVE_X, $b4, BATTLEANIMFRAMESET_1F, BATTLEANIMFUNC_38, PAL_BATTLE_OB_GRAY, $0c ; ANIM_OBJ_1A + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_08, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $07 ; ANIM_OBJ_1B + battleanimobj RELATIVE_X, $a0, BATTLEANIMFRAMESET_08, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $07 ; ANIM_OBJ_BALL_POOF + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_07, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_1D + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_1A, BATTLEANIMFUNC_07, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_1E + battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_1B, BATTLEANIMFUNC_36, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_1F + battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_84, BATTLEANIMFUNC_36, PAL_BATTLE_OB_BLUE, $21 ; ANIM_OBJ_20 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_0C, PAL_BATTLE_OB_BLUE, $0d ; ANIM_OBJ_BUBBLE + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_23, BATTLEANIMFUNC_0D, PAL_BATTLE_OB_BLUE, $0d ; ANIM_OBJ_22 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_0E, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_23 + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $80, BATTLEANIMFRAMESET_27, BATTLEANIMFUNC_0F, PAL_BATTLE_OB_BLUE, $04 ; ANIM_OBJ_24 + battleanimobj RELATIVE_X, $b4, BATTLEANIMFRAMESET_2A, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $04 ; ANIM_OBJ_25 + battleanimobj RELATIVE_X, $40, BATTLEANIMFRAMESET_2B, BATTLEANIMFUNC_11, PAL_BATTLE_OB_GREEN, $0f ; ANIM_OBJ_26 + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_2C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $10 ; ANIM_OBJ_27 + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_2D, BATTLEANIMFUNC_09, PAL_BATTLE_OB_YELLOW, $10 ; ANIM_OBJ_28 + battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_2E, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_ICE_BUILDUP + battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_2F, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_FROZEN + battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_14, PAL_BATTLE_OB_BROWN, $11 ; ANIM_OBJ_MASTER_BALL_SPARKLE + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_14, PAL_BATTLE_OB_YELLOW, $0d ; ANIM_OBJ_2C + battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_31, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_2D + battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_32, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_2E + battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_33, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_2F + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_15, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_30 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_36, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_31 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_37, BATTLEANIMFUNC_03, PAL_BATTLE_OB_GRAY, $08 ; ANIM_OBJ_LIGHTNING_BOLT + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_38, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_33 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_39, BATTLEANIMFUNC_03, PAL_BATTLE_OB_GRAY, $08 ; ANIM_OBJ_34 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_3A, BATTLEANIMFUNC_16, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_35 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_3C, BATTLEANIMFUNC_17, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_36 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_3E, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_37 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_3F, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_38 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_40, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_39 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_41, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_3A + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_42, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_3B + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_43, BATTLEANIMFUNC_18, PAL_BATTLE_OB_GREEN, $12 ; ANIM_OBJ_3C + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_44, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GREEN, $12 ; ANIM_OBJ_3D + battleanimobj RELATIVE_X | X_FLIP, $b8, BATTLEANIMFRAMESET_45, BATTLEANIMFUNC_19, PAL_BATTLE_OB_GRAY, $13 ; ANIM_OBJ_GUST + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_46, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_3F + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_47, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_40 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_48, BATTLEANIMFUNC_1A, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_41 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_49, BATTLEANIMFUNC_1A, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_42 + battleanimobj RELATIVE_X | X_FLIP, $98, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_01, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_43 + battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_4B, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_44 + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_4C, BATTLEANIMFUNC_1C, PAL_BATTLE_OB_GREEN, $12 ; ANIM_OBJ_ABSORB + battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_4D, BATTLEANIMFUNC_1D, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_46 + battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_51, BATTLEANIMFUNC_1E, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_47 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_52, BATTLEANIMFUNC_1F, PAL_BATTLE_OB_GREEN, $16 ; ANIM_OBJ_48 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_54, BATTLEANIMFUNC_1F, PAL_BATTLE_OB_GREEN, $16 ; ANIM_OBJ_49 + battleanimobj RELATIVE_X | X_FLIP, $68, BATTLEANIMFRAMESET_56, BATTLEANIMFUNC_LEECH_SEED, PAL_BATTLE_OB_GREEN, $06 ; ANIM_OBJ_LEECH_SEED + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_59, BATTLEANIMFUNC_21, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_4B + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_5C, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $17 ; ANIM_OBJ_4C + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_5D, BATTLEANIMFUNC_22, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_4D + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $88, BATTLEANIMFRAMESET_5F, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $10 ; ANIM_OBJ_4E + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $88, BATTLEANIMFRAMESET_2D, BATTLEANIMFUNC_09, PAL_BATTLE_OB_YELLOW, $10 ; ANIM_OBJ_4F + battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $18 ; ANIM_OBJ_50 + battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $18 ; ANIM_OBJ_51 + battleanimobj RELATIVE_X | X_FLIP, $50, BATTLEANIMFRAMESET_61, BATTLEANIMFUNC_23, PAL_BATTLE_OB_YELLOW, $19 ; ANIM_OBJ_CHICK + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_63, BATTLEANIMFUNC_24, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_53 + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_66, BATTLEANIMFUNC_25, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_54 + battleanimobj RELATIVE_X, $50, BATTLEANIMFRAMESET_1C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $0c ; ANIM_OBJ_SKULL + battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_67, BATTLEANIMFUNC_26, PAL_BATTLE_OB_BROWN, $1a ; ANIM_OBJ_56 + battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_68, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BROWN, $1a ; ANIM_OBJ_57 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_69, BATTLEANIMFUNC_01, PAL_BATTLE_OB_GRAY, $1a ; ANIM_OBJ_58 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_6D, BATTLEANIMFUNC_28, PAL_BATTLE_OB_YELLOW, $19 ; ANIM_OBJ_PARALYZED + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_6A, BATTLEANIMFUNC_27, PAL_BATTLE_OB_GRAY, $1b ; ANIM_OBJ_5A + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_HAZE + battleanimobj RELATIVE_X | X_FLIP, $48, BATTLEANIMFRAMESET_70, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_MIST + battleanimobj RELATIVE_X | X_FLIP, $48, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_SMOG + battleanimobj RELATIVE_X | X_FLIP, $78, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_POISON_GAS, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_POISON_GAS + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_71, BATTLEANIMFUNC_HORN, PAL_BATTLE_OB_GRAY, $1d ; ANIM_OBJ_HORN + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_72, BATTLEANIMFUNC_2C, PAL_BATTLE_OB_GRAY, $1d ; ANIM_OBJ_60 + battleanimobj RELATIVE_X, $48, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_2D, PAL_BATTLE_OB_RED, $1e ; ANIM_OBJ_61 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_06, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_62 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_75, BATTLEANIMFUNC_2E, PAL_BATTLE_OB_BROWN, $19 ; ANIM_OBJ_63 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_64 + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_2F, PAL_BATTLE_OB_GRAY, $11 ; ANIM_OBJ_65 + battleanimobj RELATIVE_X, $78, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_POISON_GAS, PAL_BATTLE_OB_RED, $23 ; ANIM_OBJ_66 + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_30, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_67 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_68 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_69 + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_08, PAL_BATTLE_OB_YELLOW, $23 ; ANIM_OBJ_6A + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_79, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_6B + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_6C + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_6D + battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_7B, BATTLEANIMFUNC_32, PAL_BATTLE_OB_GRAY, $20 ; ANIM_OBJ_SKY_ATTACK_FEAROW + battleanimobj RELATIVE_X | X_FLIP, $98, BATTLEANIMFRAMESET_7C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $04 ; ANIM_OBJ_LICK + battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_7D, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $18 ; ANIM_OBJ_WITHDRAW + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_2F, PAL_BATTLE_OB_BLUE, $0d ; ANIM_OBJ_71 + battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_7E, BATTLEANIMFUNC_33, PAL_BATTLE_OB_YELLOW, $12 ; ANIM_OBJ_72 + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_2F, PAL_BATTLE_OB_GRAY, $08 ; ANIM_OBJ_73 + battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_34, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_74 + battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_35, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_75 + battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_80, BATTLEANIMFUNC_33, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_76 + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_81, BATTLEANIMFUNC_37, PAL_BATTLE_OB_GRAY, $11 ; ANIM_OBJ_77 + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_85, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $22 ; ANIM_OBJ_78 + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_86, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $22 ; ANIM_OBJ_79 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_87, BATTLEANIMFUNC_39, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_7A + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_3A, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_7B + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_7C + battleanimobj RELATIVE_X | X_FLIP | BEHIND_BG, $88, BATTLEANIMFRAMESET_88, BATTLEANIMFUNC_3B, PAL_BATTLE_OB_BLUE, $13 ; ANIM_OBJ_7D + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_25, PAL_BATTLE_OB_RED, $23 ; ANIM_OBJ_HEART + battleanimobj RELATIVE_X, $98, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_34, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_7F + battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_3C, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_80 + battleanimobj RELATIVE_X | X_FLIP, $68, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_COTTON_SPORE + battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_8A, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_82 + battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_8C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_83 + battleanimobj RELATIVE_X | X_FLIP, $50, BATTLEANIMFRAMESET_8D, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $1f ; ANIM_OBJ_84 + battleanimobj RELATIVE_X, $40, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_40, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_85 + battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_8E, BATTLEANIMFUNC_41, PAL_BATTLE_OB_RED, $1f ; ANIM_OBJ_86 + battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_8F, BATTLEANIMFUNC_3E, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_87 + battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_93, BATTLEANIMFUNC_3E, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_88 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_97, BATTLEANIMFUNC_3D, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_89 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_3D, PAL_BATTLE_OB_YELLOW, $23 ; ANIM_OBJ_8A + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_2E, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_8B + battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_8C + battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_35, PAL_BATTLE_OB_RED, $19 ; ANIM_OBJ_8D + battleanimobj RELATIVE_X | X_FLIP, $70, BATTLEANIMFRAMESET_8B, BATTLEANIMFUNC_3F, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_SPIKES + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_15, BATTLEANIMFUNC_08, PAL_BATTLE_OB_GRAY, $0a ; ANIM_OBJ_8F + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_02, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_90 + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_42, PAL_BATTLE_OB_GRAY, $08 ; ANIM_OBJ_91 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_9A, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1b ; ANIM_OBJ_92 + battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_9B, BATTLEANIMFUNC_35, PAL_BATTLE_OB_RED, $23 ; ANIM_OBJ_93 + battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_23, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_94 + battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9D, BATTLEANIMFUNC_25, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_95 + battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_96 + battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9E, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $25 ; ANIM_OBJ_97 + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $80, BATTLEANIMFRAMESET_9F, BATTLEANIMFUNC_3A, PAL_BATTLE_OB_GREEN, $23 ; ANIM_OBJ_98 + battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_A0, BATTLEANIMFUNC_16, PAL_BATTLE_OB_GRAY, $23 ; ANIM_OBJ_99 + battleanimobj RELATIVE_X | X_FLIP, $70, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_43, PAL_BATTLE_OB_YELLOW, $23 ; ANIM_OBJ_9A + battleanimobj RELATIVE_X | X_FLIP, $c0, BATTLEANIMFRAMESET_A2, BATTLEANIMFUNC_01, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_9B + battleanimobj RELATIVE_X | X_FLIP, $40, BATTLEANIMFRAMESET_A3, BATTLEANIMFUNC_44, PAL_BATTLE_OB_YELLOW, $24 ; ANIM_OBJ_9C + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_A4, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $24 ; ANIM_OBJ_9D + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_A5, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $24 ; ANIM_OBJ_9E + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_43, BATTLEANIMFUNC_45, PAL_BATTLE_OB_RED, $12 ; ANIM_OBJ_9F + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_A6, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_A0 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_A7, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_A1 + battleanimobj RELATIVE_X | X_FLIP, $00, BATTLEANIMFRAMESET_B4, BATTLEANIMFUNC_4A, PAL_BATTLE_OB_BROWN, $0f ; ANIM_OBJ_A2 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_A8, BATTLEANIMFUNC_02, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_A3 + battleanimobj RELATIVE_X | X_FLIP, $40, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_11, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_A4 + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_A9, BATTLEANIMFUNC_46, PAL_BATTLE_OB_GRAY, $23 ; ANIM_OBJ_A5 + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_47, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_PERISH_SONG + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_AA, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $24 ; ANIM_OBJ_A7 + battleanimobj RELATIVE_X | X_FLIP, $b8, BATTLEANIMFRAMESET_AB, BATTLEANIMFUNC_48, PAL_BATTLE_OB_GRAY, $13 ; ANIM_OBJ_A8 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_AC, BATTLEANIMFUNC_44, PAL_BATTLE_OB_GRAY, $13 ; ANIM_OBJ_A9 + battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_05, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_AA + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_43, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_AB + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_AD, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $17 ; ANIM_OBJ_AC + battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_AE, BATTLEANIMFUNC_49, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_AD + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_AF, BATTLEANIMFUNC_01, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_AE + battleanimobj RELATIVE_X | X_FLIP, $00, BATTLEANIMFRAMESET_B0, BATTLEANIMFUNC_4A, PAL_BATTLE_OB_GRAY, $04 ; ANIM_OBJ_AF + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_70, BATTLEANIMFUNC_4B, PAL_BATTLE_OB_RED, $1c ; ANIM_OBJ_B0 + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_B1, BATTLEANIMFUNC_4C, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_B1 + battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4D, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_B2 + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_B3, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $27 ; ANIM_OBJ_B3 + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_04, PAL_BATTLE_OB_BLUE, $15 ; ANIM_OBJ_B4 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4E, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_B5 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_08, PAL_BATTLE_OB_RED, $1e ; ANIM_OBJ_FLOWER + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_4F, PAL_BATTLE_OB_RED, $1f ; ANIM_OBJ_COTTON + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B5, BATTLEANIMFUNC_00, PAL_BATTLE_OB_ENEMY, $28 ; ANIM_OBJ_PLAYERFEETFOLLOW + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B6, BATTLEANIMFUNC_00, PAL_BATTLE_OB_PLAYER, $29 ; ANIM_OBJ_ENEMYFEETFOLLOW + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B7, BATTLEANIMFUNC_00, PAL_BATTLE_OB_ENEMY, $28 ; ANIM_OBJ_BA + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B8, BATTLEANIMFUNC_00, PAL_BATTLE_OB_PLAYER, $29 ; ANIM_OBJ_BB +; ccfbe diff --git a/data/flypoints.asm b/data/maps/flypoints.asm index b41db0ea1..b41db0ea1 100644 --- a/data/flypoints.asm +++ b/data/maps/flypoints.asm diff --git a/data/maps/map_setup_scripts.asm b/data/maps/map_setup_scripts.asm new file mode 100644 index 000000000..47895b609 --- /dev/null +++ b/data/maps/map_setup_scripts.asm @@ -0,0 +1,177 @@ +MapSetupScripts: ; 15377 +; entries correspond to MAPSETUP_* constants (see constants/map_setup_constants.asm) + dw MapSetupScript_Warp + dw MapSetupScript_Continue + dw MapSetupScript_ReloadMap + dw MapSetupScript_Teleport + dw MapSetupScript_Door + dw MapSetupScript_Fall + dw MapSetupScript_Connection + dw MapSetupScript_LinkReturn + dw MapSetupScript_Train + dw MapSetupScript_Submenu + dw MapSetupScript_BadWarp + dw MapSetupScript_Fly +; 1538f + +MapSetupScript_Teleport: ; 1538f + db map_prolong_sprites +MapSetupScript_Fly: ; 15390 + db map_fade_out_palettes + db map_keep_roam +MapSetupScript_Warp: ; 15392 + db map_lcd_off + db map_sound_off + db map_load_spawn + db map_attributes + db map_change_callback + db map_spawn_coord + db map_player_coord + db map_anchor_screen + db map_load_blocks + db map_buffer_screen + db map_load_graphics + db map_time_of_day + db map_load_objects + db map_lcd_on + db map_palettes + db map_face_down + db map_sprites + db map_bike_music + db map_max_volume + db map_fade_in_palettes + db map_animations_on + db map_wildmons + db map_end + +MapSetupScript_BadWarp: ; 153a9 + db map_load_spawn + db map_attributes + db map_change_callback + db map_spawn_coord + db map_player_coord + db map_anchor_screen + db map_load_blocks + db map_buffer_screen + db map_lcd_off + db map_load_graphics + db map_time_of_day + db map_fade_out_music + db map_lcd_on + db map_load_objects + db map_palettes + db map_face_down + db map_sprites + db map_fade_music + db map_fade_in_palettes + db map_animations_on + db map_wildmons + db map_end + +MapSetupScript_Connection: ; 153bf + db map_animations_off + db map_load_connection + db map_attributes + db map_change_callback + db map_player_coord + db map_load_blocks + db map_load_tileset + db map_save_screen + db map_load_objects + db map_fade_music + db map_palettes + db map_stop_script + db map_keep_palettes + db map_wildmons + db map_update_roam + db map_animations_on + db map_end + +MapSetupScript_Fall: ; 153d0 + db map_prolong_sprites +MapSetupScript_Door: ; 153d1 + db map_fade_out_palettes +MapSetupScript_Train: ; 153d2 + db map_load_warp + db map_attributes + db map_warp_face + db map_change_callback + db map_player_coord + db map_load_blocks + db map_buffer_screen + db map_lcd_off + db map_load_graphics + db map_time_of_day + db map_fade_out_music + db map_lcd_on + db map_load_objects + db map_palettes + db map_sprites + db map_fade_music + db map_fade_in_palettes + db map_animations_on + db map_wildmons + db map_update_roam + db map_end + +MapSetupScript_ReloadMap: ; 153e7 + db map_fade + db map_clear_bg_palettes + db map_lcd_off + db map_sound_off + db map_load_blocks + db map_connection_blocks + db map_load_graphics + db map_time_of_day + db map_lcd_on + db map_palettes + db map_sprites + db map_music_force + db map_fade_in_palettes + db map_animations_on + db map_wildmons + db map_end + +MapSetupScript_LinkReturn: ; 153f7 + db map_fade + db map_lcd_off + db map_sound_off + db map_change_callback + db map_load_blocks + db map_buffer_screen + db map_load_graphics + db map_time_of_day + db map_lcd_on + db map_palettes + db map_sprites + db map_bike_music + db map_fade_in_palettes + db map_animations_on + db map_wildmons + db map_text_scroll_off + db map_end + +MapSetupScript_Continue: ; 15408 + db map_lcd_off + db map_sound_off + db map_attributes_2 + db map_anchor_screen + db map_start_callback + db map_load_blocks + db map_connection_blocks + db map_buffer_screen + db map_load_graphics + db map_time_of_day + db map_lcd_on + db map_palettes + db map_sprites + db map_bike_music + db map_fade_in_palettes + db map_animations_on + db map_wildmons + db map_end + +MapSetupScript_Submenu: ; 1541a + db map_load_blocks + db map_connection_blocks + db map_end diff --git a/data/moves/effect_command_pointers.asm b/data/moves/effect_command_pointers.asm new file mode 100644 index 000000000..5dd6be786 --- /dev/null +++ b/data/moves/effect_command_pointers.asm @@ -0,0 +1,180 @@ + dw 0 ; padding + +BattleCommandPointers: ; 3fd28 +; entries correspond to macros/scripts/effect_commands.asm + dw BattleCommand_CheckTurn ; 34084 + dw BattleCommand_CheckObedience ; 343db + dw BattleCommand_UsedMoveText ; 34541 + dw BattleCommand_DoTurn ; 34555 + dw BattleCommand_Critical ; 34631 + dw BattleCommand_DamageStats ; 352dc + dw BattleCommand_Stab ; 346d2 - 07 + dw BattleCommand_DamageVariation ; 34cfd + dw BattleCommand_CheckHit ; 34d32 + dw BattleCommand_LowerSub ; 34eee + dw BattleCommand_HitTargetNoSub ; 34f60 + dw BattleCommand_RaiseSub ; 35004 + dw BattleCommand_FailureText ; 35023 + dw BattleCommand_CheckFaint ; 3505e + dw BattleCommand_CriticalText ; 35175 + dw BattleCommand_SuperEffectiveText ; 351ad + dw BattleCommand_CheckDestinyBond ; 351c0 + dw BattleCommand_BuildOpponentRage ; 35250 + dw BattleCommand_PoisonTarget ; 35eee + dw BattleCommand_SleepTarget ; 35e5c + dw BattleCommand_DrainTarget ; 35fff + dw BattleCommand_EatDream ; 36008 + dw BattleCommand_BurnTarget ; 3608c + dw BattleCommand_FreezeTarget ; 36102 + dw BattleCommand_ParalyzeTarget ; 36165 + dw BattleCommand_Selfdestruct ; 37380 + dw BattleCommand_MirrorMove ; 373c9 + dw BattleCommand_StatUp ; 361e4 + dw BattleCommand_StatDown ; 362e3 + dw BattleCommand_PayDay ; 3705c + dw BattleCommand_Conversion ; 3707f + dw BattleCommand_ResetStats ; 3710e + dw BattleCommand_StoreEnergy ; 36671 + dw BattleCommand_UnleashEnergy ; 366e5 + dw BattleCommand_ForceSwitch ; 3680f + dw BattleCommand_EndLoop ; 369b6 + dw BattleCommand_FlinchTarget ; 36aa0 + dw BattleCommand_OHKO ; 36af3 + dw BattleCommand_Recoil ; 36cb2 + dw BattleCommand_Mist ; 36c7e + dw BattleCommand_FocusEnergy ; 36c98 + dw BattleCommand_Confuse ; 36d3b + dw BattleCommand_ConfuseTarget ; 36d1d + dw BattleCommand_Heal ; 3713e + dw BattleCommand_Transform ; 371cd + dw BattleCommand_Screen ; 372fc + dw BattleCommand_Poison ; 35f2c + dw BattleCommand_Paralyze ; 36dc7 + dw BattleCommand_Substitute ; 36e7c + dw BattleCommand_RechargeNextTurn ; 36f0b + dw BattleCommand_Mimic ; 36f46 + dw BattleCommand_Metronome ; 37418 + dw BattleCommand_LeechSeed ; 36f9d + dw BattleCommand_Splash ; 36fe1 + dw BattleCommand_Disable ; 36fed + dw BattleCommand_ClearText ; 37e85 + dw BattleCommand_Charge ; 36b4d + dw BattleCommand_CheckCharge ; 36b3a + dw BattleCommand_TrapTarget ; 36c2d + dw BattleCommand3c ; 36c2c + dw BattleCommand_Rampage ; 36751 + dw BattleCommand_CheckRampage ; 3671a + dw BattleCommand_ConstantDamage ; 35726 + dw BattleCommand_Counter ; 35813 + dw BattleCommand_Encore ; 35864 + dw BattleCommand_PainSplit ; 35926 + dw BattleCommand_Snore ; 359d0 + dw BattleCommand_Conversion2 ; 359e6 + dw BattleCommand_LockOn ; 35a53 + dw BattleCommand_Sketch ; 35a74 + dw BattleCommand_DefrostOpponent ; 35b16 + dw BattleCommand_SleepTalk ; 35b33 + dw BattleCommand_DestinyBond ; 35bff + dw BattleCommand_Spite ; 35c0f + dw BattleCommand_FalseSwipe ; 35c94 + dw BattleCommand_HealBell ; 35cc9 + dw BattleCommand_HeldFlinch ; 36ac9 + dw BattleCommand_TripleKick ; 346b2 + dw BattleCommand_KickCounter ; 346cd + dw BattleCommand_Thief ; 37492 + dw BattleCommand_ArenaTrap ; 37517 + dw BattleCommand_Nightmare ; 37536 + dw BattleCommand_Defrost ; 37563 + dw BattleCommand_Curse ; 37588 + dw BattleCommand_Protect ; 37618 + dw BattleCommand_Spikes ; 37683 + dw BattleCommand_Foresight ; 376a0 + dw BattleCommand_PerishSong ; 376c2 + dw BattleCommand_StartSandstorm ; 376f8 + dw BattleCommand_Endure ; 3766f + dw BattleCommand_CheckCurl ; 37718 + dw BattleCommand_RolloutPower ; 37734 + dw BattleCommand5d ; 37791 + dw BattleCommand_FuryCutter ; 37792 + dw BattleCommand_Attract ; 377ce + dw BattleCommand_HappinessPower ; 3784b + dw BattleCommand_Present ; 37874 + dw BattleCommand_DamageCalc ; 35612 - 62 + dw BattleCommand_FrustrationPower ; 3790e + dw BattleCommand_Safeguard ; 37939 + dw BattleCommand_CheckSafeguard ; 37972 + dw BattleCommand_GetMagnitude ; 37991 + dw BattleCommand_BatonPass ; 379c9 + dw BattleCommand_Pursuit ; 37b1d + dw BattleCommand_ClearHazards ; 37b39 + dw BattleCommand_HealMorn ; 37b74 + dw BattleCommand_HealDay ; 37b78 + dw BattleCommand_HealNite ; 37b7c + dw BattleCommand_HiddenPower ; 37be8 + dw BattleCommand_StartRain ; 37bf4 + dw BattleCommand_StartSun ; 37c07 + dw BattleCommand_AttackUp ; 361ac + dw BattleCommand_DefenseUp ; 361b0 + dw BattleCommand_SpeedUp ; 361b4 + dw BattleCommand_SpecialAttackUp ; 361b8 + dw BattleCommand_SpecialDefenseUp ; 361bc + dw BattleCommand_AccuracyUp ; 361c0 + dw BattleCommand_EvasionUp ; 361c4 + dw BattleCommand_AttackUp2 ; 361c8 + dw BattleCommand_DefenseUp2 ; 361cc + dw BattleCommand_SpeedUp2 ; 361d0 + dw BattleCommand_SpecialAttackUp2 ; 361d4 + dw BattleCommand_SpecialDefenseUp2 ; 361d8 + dw BattleCommand_AccuracyUp2 ; 361dc + dw BattleCommand_EvasionUp2 ; 361e0 + dw BattleCommand_AttackDown ; 362ad + dw BattleCommand_DefenseDown ; 362b1 + dw BattleCommand_SpeedDown ; 362b5 + dw BattleCommand_SpecialAttackDown ; 362b9 + dw BattleCommand_SpecialDefenseDown ; 362bd + dw BattleCommand_AccuracyDown ; 362c1 + dw BattleCommand_EvasionDown ; 362c5 + dw BattleCommand_AttackDown2 ; 362c9 + dw BattleCommand_DefenseDown2 ; 362cd + dw BattleCommand_SpeedDown2 ; 362d1 + dw BattleCommand_SpecialAttackDown2 ; 362d5 + dw BattleCommand_SpecialDefenseDown2 ; 362d9 + dw BattleCommand_AccuracyDown2 ; 362dd + dw BattleCommand_EvasionDown2 ; 362e1 + dw BattleCommand_StatUpMessage ; 363b8 + dw BattleCommand_StatDownMessage ; 363e9 + dw BattleCommand_StatUpFailText ; 3644c + dw BattleCommand_StatDownFailText ; 3646a + dw BattleCommand_EffectChance ; 34ecc + dw BattleCommand_StatDownAnim ; 34fdb + dw BattleCommand_StatUpAnim ; 34fd1 + dw BattleCommand_SwitchTurn ; 34ffd - 93 + dw BattleCommand_FakeOut ; 36a82 + dw BattleCommand_BellyDrum ; 37c1a + dw BattleCommand_PsychUp ; 37c55 + dw BattleCommand_Rage ; 36f1d + dw BattleCommand_DoubleFlyingDamage ; 36f25 + dw BattleCommand_DoubleUndergroundDamage ; 36f2f + dw BattleCommand_MirrorCoat ; 37c95 + dw BattleCommand_CheckFutureSight ; 37d0d + dw BattleCommand_FutureSight ; 37d34 + dw BattleCommand_DoubleMinimizeDamage ; 37ce6 + dw BattleCommand_SkipSunCharge ; 37d02 + dw BattleCommand_ThunderAccuracy ; 37d94 + dw BattleCommand_Teleport ; 36778 + dw BattleCommand_BeatUp ; 35461 + dw BattleCommand_RageDamage ; 3527b + dw BattleCommand_ResetTypeMatchup ; 34833 + dw BattleCommand_AllStatsUp ; 36500 + dw BattleCommanda5 ; 35165 + dw BattleCommand_RaiseSubNoAnim ; 365af + dw BattleCommand_LowerSubNoAnim ; 365c3 + dw BattleCommanda8 ; 355b5 + dw BattleCommand_ClearMissDamage ; 355d5 - a9 + dw BattleCommand_MoveDelay ; 37e80 + dw BattleCommand_HitTarget ; 34f57 + dw BattleCommand_TriStatusChance ; 3658f + dw BattleCommand_SuperEffectiveLoopText ; 351a5 + dw BattleCommand_StartLoop ; 35197 + dw BattleCommand_Curl ; 365a7 +; 3fe86 diff --git a/data/moves/move_anims.asm b/data/moves/move_anims.asm new file mode 100644 index 000000000..e28a2e62d --- /dev/null +++ b/data/moves/move_anims.asm @@ -0,0 +1,5176 @@ +BattleAnimations:: ; c906f +; entries correspond to constants/move_constants.asm + dw BattleAnim_0 + dw BattleAnim_Pound + dw BattleAnim_KarateChop + dw BattleAnim_Doubleslap + dw BattleAnim_CometPunch + dw BattleAnim_MegaPunch + dw BattleAnim_PayDay + dw BattleAnim_FirePunch + dw BattleAnim_IcePunch + dw BattleAnim_Thunderpunch + dw BattleAnim_Scratch + dw BattleAnim_Vicegrip + dw BattleAnim_Guillotine + dw BattleAnim_RazorWind + dw BattleAnim_SwordsDance + dw BattleAnim_Cut + dw BattleAnim_Gust + dw BattleAnim_WingAttack + dw BattleAnim_Whirlwind + dw BattleAnim_Fly + dw BattleAnim_Bind + dw BattleAnim_Slam + dw BattleAnim_VineWhip + dw BattleAnim_Stomp + dw BattleAnim_DoubleKick + dw BattleAnim_MegaKick + dw BattleAnim_JumpKick + dw BattleAnim_RollingKick + dw BattleAnim_SandAttack + dw BattleAnim_Headbutt + dw BattleAnim_HornAttack + dw BattleAnim_FuryAttack + dw BattleAnim_HornDrill + dw BattleAnim_Tackle + dw BattleAnim_BodySlam + dw BattleAnim_Wrap + dw BattleAnim_TakeDown + dw BattleAnim_Thrash + dw BattleAnim_DoubleEdge + dw BattleAnim_TailWhip + dw BattleAnim_PoisonSting + dw BattleAnim_Twineedle + dw BattleAnim_PinMissile + dw BattleAnim_Leer + dw BattleAnim_Bite + dw BattleAnim_Growl + dw BattleAnim_Roar + dw BattleAnim_Sing + dw BattleAnim_Supersonic + dw BattleAnim_Sonicboom + dw BattleAnim_Disable + dw BattleAnim_Acid + dw BattleAnim_Ember + dw BattleAnim_Flamethrower + dw BattleAnim_Mist + dw BattleAnim_WaterGun + dw BattleAnim_HydroPump + dw BattleAnim_Surf + dw BattleAnim_IceBeam + dw BattleAnim_Blizzard + dw BattleAnim_Psybeam + dw BattleAnim_Bubblebeam + dw BattleAnim_AuroraBeam + dw BattleAnim_HyperBeam + dw BattleAnim_Peck + dw BattleAnim_DrillPeck + dw BattleAnim_Submission + dw BattleAnim_LowKick + dw BattleAnim_Counter + dw BattleAnim_SeismicToss + dw BattleAnim_Strength + dw BattleAnim_Absorb + dw BattleAnim_MegaDrain + dw BattleAnim_LeechSeed + dw BattleAnim_Growth + dw BattleAnim_RazorLeaf + dw BattleAnim_Solarbeam + dw BattleAnim_Poisonpowder + dw BattleAnim_StunSpore + dw BattleAnim_SleepPowder + dw BattleAnim_PetalDance + dw BattleAnim_StringShot + dw BattleAnim_DragonRage + dw BattleAnim_FireSpin + dw BattleAnim_Thundershock + dw BattleAnim_Thunderbolt + dw BattleAnim_ThunderWave + dw BattleAnim_Thunder + dw BattleAnim_RockThrow + dw BattleAnim_Earthquake + dw BattleAnim_Fissure + dw BattleAnim_Dig + dw BattleAnim_Toxic + dw BattleAnim_Confusion + dw BattleAnim_PsychicM + dw BattleAnim_Hypnosis + dw BattleAnim_Meditate + dw BattleAnim_Agility + dw BattleAnim_QuickAttack + dw BattleAnim_Rage + dw BattleAnim_Teleport + dw BattleAnim_NightShade + dw BattleAnim_Mimic + dw BattleAnim_Screech + dw BattleAnim_DoubleTeam + dw BattleAnim_Recover + dw BattleAnim_Harden + dw BattleAnim_Minimize + dw BattleAnim_Smokescreen + dw BattleAnim_ConfuseRay + dw BattleAnim_Withdraw + dw BattleAnim_DefenseCurl + dw BattleAnim_Barrier + dw BattleAnim_LightScreen + dw BattleAnim_Haze + dw BattleAnim_Reflect + dw BattleAnim_FocusEnergy + dw BattleAnim_Bide + dw BattleAnim_Metronome + dw BattleAnim_MirrorMove + dw BattleAnim_Selfdestruct + dw BattleAnim_EggBomb + dw BattleAnim_Lick + dw BattleAnim_Smog + dw BattleAnim_Sludge + dw BattleAnim_BoneClub + dw BattleAnim_FireBlast + dw BattleAnim_Waterfall + dw BattleAnim_Clamp + dw BattleAnim_Swift + dw BattleAnim_SkullBash + dw BattleAnim_SpikeCannon + dw BattleAnim_Constrict + dw BattleAnim_Amnesia + dw BattleAnim_Kinesis + dw BattleAnim_Softboiled + dw BattleAnim_HiJumpKick + dw BattleAnim_Glare + dw BattleAnim_DreamEater + dw BattleAnim_PoisonGas + dw BattleAnim_Barrage + dw BattleAnim_LeechLife + dw BattleAnim_LovelyKiss + dw BattleAnim_SkyAttack + dw BattleAnim_Transform + dw BattleAnim_Bubble + dw BattleAnim_DizzyPunch + dw BattleAnim_Spore + dw BattleAnim_Flash + dw BattleAnim_Psywave + dw BattleAnim_Splash + dw BattleAnim_AcidArmor + dw BattleAnim_Crabhammer + dw BattleAnim_Explosion + dw BattleAnim_FurySwipes + dw BattleAnim_Bonemerang + dw BattleAnim_Rest + dw BattleAnim_RockSlide + dw BattleAnim_HyperFang + dw BattleAnim_Sharpen + dw BattleAnim_Conversion + dw BattleAnim_TriAttack + dw BattleAnim_SuperFang + dw BattleAnim_Slash + dw BattleAnim_Substitute + dw BattleAnim_Struggle + dw BattleAnim_Sketch + dw BattleAnim_TripleKick + dw BattleAnim_Thief + dw BattleAnim_SpiderWeb + dw BattleAnim_MindReader + dw BattleAnim_Nightmare + dw BattleAnim_FlameWheel + dw BattleAnim_Snore + dw BattleAnim_Curse + dw BattleAnim_Flail + dw BattleAnim_Conversion2 + dw BattleAnim_Aeroblast + dw BattleAnim_CottonSpore + dw BattleAnim_Reversal + dw BattleAnim_Spite + dw BattleAnim_PowderSnow + dw BattleAnim_Protect + dw BattleAnim_MachPunch + dw BattleAnim_ScaryFace + dw BattleAnim_FaintAttack + dw BattleAnim_SweetKiss + dw BattleAnim_BellyDrum + dw BattleAnim_SludgeBomb + dw BattleAnim_MudSlap + dw BattleAnim_Octazooka + dw BattleAnim_Spikes + dw BattleAnim_ZapCannon + dw BattleAnim_Foresight + dw BattleAnim_DestinyBond + dw BattleAnim_PerishSong + dw BattleAnim_IcyWind + dw BattleAnim_Detect + dw BattleAnim_BoneRush + dw BattleAnim_LockOn + dw BattleAnim_Outrage + dw BattleAnim_Sandstorm + dw BattleAnim_GigaDrain + dw BattleAnim_Endure + dw BattleAnim_Charm + dw BattleAnim_Rollout + dw BattleAnim_FalseSwipe + dw BattleAnim_Swagger + dw BattleAnim_MilkDrink + dw BattleAnim_Spark + dw BattleAnim_FuryCutter + dw BattleAnim_SteelWing + dw BattleAnim_MeanLook + dw BattleAnim_Attract + dw BattleAnim_SleepTalk + dw BattleAnim_HealBell + dw BattleAnim_Return + dw BattleAnim_Present + dw BattleAnim_Frustration + dw BattleAnim_Safeguard + dw BattleAnim_PainSplit + dw BattleAnim_SacredFire + dw BattleAnim_Magnitude + dw BattleAnim_Dynamicpunch + dw BattleAnim_Megahorn + dw BattleAnim_Dragonbreath + dw BattleAnim_BatonPass + dw BattleAnim_Encore + dw BattleAnim_Pursuit + dw BattleAnim_RapidSpin + dw BattleAnim_SweetScent + dw BattleAnim_IronTail + dw BattleAnim_MetalClaw + dw BattleAnim_VitalThrow + dw BattleAnim_MorningSun + dw BattleAnim_Synthesis + dw BattleAnim_Moonlight + dw BattleAnim_HiddenPower + dw BattleAnim_CrossChop + dw BattleAnim_Twister + dw BattleAnim_RainDance + dw BattleAnim_SunnyDay + dw BattleAnim_Crunch + dw BattleAnim_MirrorCoat + dw BattleAnim_PsychUp + dw BattleAnim_Extremespeed + dw BattleAnim_Ancientpower + dw BattleAnim_ShadowBall + dw BattleAnim_FutureSight + dw BattleAnim_RockSmash + dw BattleAnim_Whirlpool + dw BattleAnim_BeatUp + dw BattleAnim_252 + dw BattleAnim_253 + dw BattleAnim_254 + dw BattleAnim_SweetScent2 +; $100 + dw BattleAnim_ThrowPokeBall + dw BattleAnim_SendOutMon + dw BattleAnim_ReturnMon + dw BattleAnim_Confused + dw BattleAnim_Slp + dw BattleAnim_Brn + dw BattleAnim_Psn + dw BattleAnim_Sap + dw BattleAnim_Frz + dw BattleAnim_Par + dw BattleAnim_InLove + dw BattleAnim_InSandstorm + dw BattleAnim_InNightmare + dw BattleAnim_InWhirlpool + dw BattleAnim_Miss + dw BattleAnim_EnemyDamage + dw BattleAnim_EnemyStatDown + dw BattleAnim_PlayerStatDown + dw BattleAnim_PlayerDamage + dw BattleAnim_Wobble + dw BattleAnim_Shake + dw BattleAnim_HitConfusion +; c929b + +BattleAnim_0: ; c929b +BattleAnim_252: ; c929b +BattleAnim_253: ; c929b +BattleAnim_254: ; c929b +BattleAnim_MirrorMove: ; c929b + anim_ret +; c929c + +BattleAnim_SweetScent2: ; c929c + anim_2gfx ANIM_GFX_FLOWER, ANIM_GFX_MISC + anim_obj ANIM_OBJ_FLOWER, 8, 0, 12, 0, $2 + anim_wait 2 + anim_obj ANIM_OBJ_FLOWER, 8, 0, 10, 0, $2 + anim_wait 64 + anim_obj ANIM_OBJ_COTTON, -15, 0, 5, 0, $15 + anim_obj ANIM_OBJ_COTTON, -15, 0, 5, 0, $2a + anim_obj ANIM_OBJ_COTTON, -15, 0, 5, 0, $3f + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_wait 128 + anim_ret +; c92c1 + +BattleAnim_ThrowPokeBall + anim_if_param_equal NO_ITEM, .TheTrainerBlockedTheBall + anim_if_param_equal MASTER_BALL, .MasterBall + anim_if_param_equal ULTRA_BALL, .UltraBall + anim_if_param_equal GREAT_BALL, .GreatBall + ; any other ball + anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_SMOKE + anim_sound 6, 2, SFX_THROW_BALL + anim_obj ANIM_OBJ_POKE_BALL, 8, 4, 11, 4, $40 + anim_wait 36 + anim_obj ANIM_OBJ_POKE_BALL, -15, 0, 8, 1, $0 + anim_setobj $2, $7 + anim_wait 16 + anim_sound 0, 1, SFX_BALL_POOF + anim_obj ANIM_OBJ_BALL_POOF, -15, 0, 8, 0, $10 + anim_wait 16 + anim_jump .Shake +; c92f2 + +.TheTrainerBlockedTheBall: + anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_HIT + anim_sound 6, 2, SFX_THROW_BALL + anim_obj ANIM_OBJ_POKE_BALL_BLOCKED, 8, 0, 11, 4, $20 + anim_wait 20 + anim_obj ANIM_OBJ_01, 14, 0, 5, 0, $0 + anim_wait 32 + anim_ret +; c9305 + +.UltraBall: + anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_SMOKE + anim_sound 6, 2, SFX_THROW_BALL + anim_obj ANIM_OBJ_POKE_BALL, 8, 4, 11, 4, $40 + anim_wait 36 + anim_obj ANIM_OBJ_POKE_BALL, -15, 0, 8, 1, $0 + anim_setobj $2, $7 + anim_wait 16 + anim_sound 0, 1, SFX_BALL_POOF + anim_obj ANIM_OBJ_BALL_POOF, -15, 0, 8, 0, $10 + anim_wait 16 + anim_jump .Shake +; c9326 + +.GreatBall: + anim_2gfx ANIM_GFX_POKE_BALL, ANIM_GFX_SMOKE + anim_sound 6, 2, SFX_THROW_BALL + anim_obj ANIM_OBJ_POKE_BALL, 8, 4, 11, 4, $40 + anim_wait 36 + anim_obj ANIM_OBJ_POKE_BALL, -15, 0, 8, 1, $0 + anim_setobj $2, $7 + anim_wait 16 + anim_sound 0, 1, SFX_BALL_POOF + anim_obj ANIM_OBJ_BALL_POOF, -15, 0, 8, 0, $10 + anim_wait 16 + anim_jump .Shake +; c9347 + +.MasterBall: + anim_3gfx ANIM_GFX_POKE_BALL, ANIM_GFX_SMOKE, ANIM_GFX_SPEED + anim_sound 6, 2, SFX_THROW_BALL + anim_obj ANIM_OBJ_POKE_BALL, 8, 0, 11, 4, $20 + anim_wait 36 + anim_obj ANIM_OBJ_POKE_BALL, -15, 0, 8, 1, $0 + anim_setobj $2, $7 + anim_wait 16 + anim_sound 0, 1, SFX_BALL_POOF + anim_obj ANIM_OBJ_BALL_POOF, -15, 0, 8, 0, $10 + anim_wait 24 + anim_sound 0, 1, SFX_MASTER_BALL + anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $30 + anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $31 + anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $32 + anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $33 + anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $34 + anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $35 + anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $36 + anim_obj ANIM_OBJ_MASTER_BALL_SPARKLE, -15, 0, 7, 0, $37 + anim_wait 64 +.Shake: + anim_bgeffect ANIM_BG_RETURN_MON, $0, $0, $0 + anim_wait 8 + anim_incobj 2 + anim_wait 16 + anim_sound 0, 1, SFX_CHANGE_DEX_MODE + anim_incobj 1 + anim_wait 32 + anim_sound 0, 1, SFX_BALL_BOUNCE + anim_wait 32 + anim_wait 32 + anim_wait 32 + anim_wait 8 + anim_setvar $0 +.Loop: + anim_wait 48 + anim_checkpokeball + anim_if_var_equal $1, .Click + anim_if_var_equal $2, .BreakFree + anim_incobj 1 + anim_sound 0, 1, SFX_BALL_WIGGLE + anim_jump .Loop +; c93bc + +.Click: + anim_clearsprites + anim_ret +; c93be + +.BreakFree: + anim_setobj $1, $b + anim_sound 0, 1, SFX_BALL_POOF + anim_obj ANIM_OBJ_BALL_POOF, -15, 0, 8, 0, $10 + anim_wait 2 + anim_bgeffect ANIM_BG_ENTER_MON, $0, $0, $0 + anim_wait 32 + anim_ret +; c93d1 + +BattleAnim_SendOutMon: ; c93d1 + anim_if_param_equal $0, .Normal + anim_if_param_equal $1, .Shiny + anim_if_param_equal $2, .Unknown + anim_1gfx ANIM_GFX_SMOKE + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_2B, $0, $1, $0 + anim_sound 0, 0, SFX_BALL_POOF + anim_obj ANIM_OBJ_1B, 6, 0, 12, 0, $0 + anim_bgeffect ANIM_BG_ENTER_MON, $0, $1, $0 + anim_wait 128 + anim_wait 4 + anim_call BattleAnim_ShowMon_0 + anim_ret + +.Unknown: + anim_1gfx ANIM_GFX_SMOKE + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_2A, $0, $1, $0 + anim_wait 1 + anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 + anim_wait 4 + anim_sound 0, 0, SFX_BALL_POOF + anim_obj ANIM_OBJ_1B, 6, 0, 12, 0, $0 + anim_incbgeffect ANIM_BG_2A + anim_wait 96 + anim_incbgeffect ANIM_BG_2A + anim_call BattleAnim_ShowMon_0 + anim_ret + +.Shiny: + anim_1gfx ANIM_GFX_SPEED + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3 + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_sound 0, 0, SFX_SHINE + anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $0 + anim_wait 4 + anim_sound 0, 0, SFX_SHINE + anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $8 + anim_wait 4 + anim_sound 0, 0, SFX_SHINE + anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $10 + anim_wait 4 + anim_sound 0, 0, SFX_SHINE + anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $18 + anim_wait 4 + anim_sound 0, 0, SFX_SHINE + anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $20 + anim_wait 4 + anim_sound 0, 0, SFX_SHINE + anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $28 + anim_wait 4 + anim_sound 0, 0, SFX_SHINE + anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $30 + anim_wait 4 + anim_sound 0, 0, SFX_SHINE + anim_obj ANIM_OBJ_6D, 6, 0, 12, 0, $38 + anim_wait 32 + anim_ret + +.Normal: + anim_1gfx ANIM_GFX_SMOKE + anim_sound 0, 0, SFX_BALL_POOF + anim_obj ANIM_OBJ_BALL_POOF, 5, 4, 12, 0, $0 + anim_wait 4 + anim_bgeffect ANIM_BG_ENTER_MON, $0, $1, $0 + anim_wait 32 + anim_ret +; c9483 + +BattleAnim_ReturnMon: ; c9483 + anim_sound 0, 0, SFX_BALL_POOF +BattleAnim_BatonPass_branch_c9486: ; c9486 + anim_bgeffect ANIM_BG_RETURN_MON, $0, $1, $0 + anim_wait 32 + anim_ret +; c948d + +BattleAnim_Confused: ; c948d + anim_1gfx ANIM_GFX_STATUS + anim_sound 0, 0, SFX_KINESIS + anim_obj ANIM_OBJ_CHICK, 5, 4, 7, 0, $15 + anim_obj ANIM_OBJ_CHICK, 5, 4, 7, 0, $aa + anim_obj ANIM_OBJ_CHICK, 5, 4, 7, 0, $bf + anim_wait 96 + anim_ret +; c94a3 + +BattleAnim_Slp: ; c94a3 + anim_1gfx ANIM_GFX_STATUS + anim_sound 0, 0, SFX_TAIL_WHIP +.loop + anim_obj ANIM_OBJ_54, 8, 0, 10, 0, $0 + anim_wait 40 + anim_loop 3, .loop + anim_wait 32 + anim_ret +; c94b4 + +BattleAnim_Brn: ; c94b4 + anim_1gfx ANIM_GFX_FIRE +.loop + anim_sound 0, 0, SFX_BURN + anim_obj ANIM_OBJ_BURNED, 7, 0, 11, 0, $10 + anim_wait 4 + anim_loop 3, .loop + anim_wait 6 + anim_ret +; c94c5 + +BattleAnim_Psn: ; c94c5 + anim_1gfx ANIM_GFX_POISON + anim_sound 0, 0, SFX_POISON + anim_obj ANIM_OBJ_SKULL, 8, 0, 7, 0, $0 + anim_wait 8 + anim_sound 0, 0, SFX_POISON + anim_obj ANIM_OBJ_SKULL, 6, 0, 7, 0, $0 + anim_wait 8 + anim_ret +; c94da + +BattleAnim_Sap: ; c94da + anim_1gfx ANIM_GFX_CHARGE + anim_sound 6, 3, SFX_WATER_GUN + anim_obj ANIM_OBJ_ABSORB, 16, 0, 6, 0, $2 + anim_wait 6 + anim_sound 6, 3, SFX_WATER_GUN + anim_obj ANIM_OBJ_ABSORB, -15, 0, 8, 0, $3 + anim_wait 6 + anim_sound 6, 3, SFX_WATER_GUN + anim_obj ANIM_OBJ_ABSORB, -15, 0, 4, 0, $4 + anim_wait 16 + anim_ret +; c94f8 + +BattleAnim_Frz: ; c94f8 + anim_1gfx ANIM_GFX_ICE + anim_obj ANIM_OBJ_FROZEN, 5, 4, 13, 6, $0 + anim_sound 0, 0, SFX_SHINE + anim_wait 16 + anim_sound 0, 0, SFX_SHINE + anim_wait 16 + anim_ret +; c9508 + +BattleAnim_Par: ; c9508 + anim_1gfx ANIM_GFX_STATUS + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_sound 0, 0, SFX_THUNDERSHOCK + anim_obj ANIM_OBJ_PARALYZED, 2, 4, 11, 0, $42 + anim_obj ANIM_OBJ_PARALYZED, 9, 4, 11, 0, $c2 + anim_wait 128 + anim_ret +; c951e + +BattleAnim_InLove: ; c951e + anim_1gfx ANIM_GFX_OBJECTS + anim_sound 0, 0, SFX_LICK + anim_obj ANIM_OBJ_HEART, 8, 0, 9, 4, $0 + anim_wait 32 + anim_sound 0, 0, SFX_LICK + anim_obj ANIM_OBJ_HEART, 4, 4, 9, 0, $0 + anim_wait 32 + anim_ret +; c9533 + +BattleAnim_InSandstorm: ; c9533 + anim_1gfx ANIM_GFX_POWDER + anim_obj ANIM_OBJ_A2, 11, 0, 0, 0, $0 + anim_wait 8 + anim_obj ANIM_OBJ_A2, 9, 0, 0, 0, $1 + anim_wait 8 + anim_obj ANIM_OBJ_A2, 7, 0, 0, 0, $2 +.loop + anim_sound 0, 1, SFX_MENU + anim_wait 8 + anim_loop 6, .loop + anim_wait 8 + anim_ret +; c9550 + +BattleAnim_InNightmare: ; c9550 + anim_1gfx ANIM_GFX_ANGELS + anim_sound 0, 0, SFX_BUBBLEBEAM + anim_obj ANIM_OBJ_95, 8, 4, 10, 0, $0 + anim_wait 40 + anim_ret +; c955c + +BattleAnim_InWhirlpool: ; c955c + anim_1gfx ANIM_GFX_WIND + anim_bgeffect ANIM_BG_WHIRLPOOL, $0, $0, $0 + anim_sound 0, 1, SFX_SURF +.loop + anim_obj ANIM_OBJ_GUST, -16, 4, 9, 0, $0 + anim_wait 6 + anim_loop 6, .loop + anim_incbgeffect ANIM_BG_WHIRLPOOL + anim_wait 1 + anim_ret +; c9574 + +BattleAnim_HitConfusion: ; c9574 + anim_1gfx ANIM_GFX_HIT + anim_sound 0, 0, SFX_POUND + anim_obj ANIM_OBJ_04, 5, 4, 12, 0, $0 + anim_wait 16 + anim_ret +; c9580 + +BattleAnim_Miss: ; c9580 + anim_ret +; c9581 + +BattleAnim_EnemyDamage: ; c9581 +.loop + anim_bgeffect ANIM_BG_HIDE_MON, $0, $0, $0 + anim_wait 5 + anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0 + anim_wait 5 + anim_loop 3, .loop + anim_ret +; c9592 + +BattleAnim_EnemyStatDown: ; c9592 + anim_call BattleAnim_FollowEnemyFeet_1 + anim_bgeffect ANIM_BG_VIBRATE_MON, $0, $0, $0 + anim_wait 40 + anim_call BattleAnim_ShowMon_1 + anim_wait 1 + anim_ret +; c95a0 + +BattleAnim_PlayerStatDown: ; c95a0 + anim_call BattleAnim_FollowEnemyFeet_1 + anim_bgeffect ANIM_BG_WOBBLE_MON, $0, $0, $0 + anim_wait 40 + anim_call BattleAnim_ShowMon_1 + anim_wait 1 + anim_ret +; c95ae + +BattleAnim_PlayerDamage: ; c95ae + anim_bgeffect ANIM_BG_20, $20, $2, $20 + anim_wait 40 + anim_ret +; c95b5 + +BattleAnim_Wobble: ; c95b5 + anim_bgeffect ANIM_BG_35, $0, $0, $0 + anim_wait 40 + anim_ret +; c95bc + +BattleAnim_Shake: ; c95bc + anim_bgeffect ANIM_BG_1F, $20, $2, $40 + anim_wait 40 + anim_ret +; c95c3 + +BattleAnim_Pound: ; c95c3 + anim_1gfx ANIM_GFX_HIT + anim_sound 0, 1, SFX_POUND + anim_obj ANIM_OBJ_08, -15, 0, 7, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 + anim_wait 16 + anim_ret +; c95d5 + +BattleAnim_KarateChop: ; c95d5 + anim_1gfx ANIM_GFX_HIT + anim_sound 0, 1, SFX_KARATE_CHOP + anim_obj ANIM_OBJ_08, -15, 0, 5, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_01, -15, 0, 5, 0, $0 + anim_wait 6 + anim_sound 0, 1, SFX_KARATE_CHOP + anim_obj ANIM_OBJ_08, -15, 0, 5, 4, $0 + anim_wait 6 + anim_obj ANIM_OBJ_01, -15, 0, 5, 4, $0 + anim_wait 6 + anim_sound 0, 1, SFX_KARATE_CHOP + anim_obj ANIM_OBJ_08, -15, 0, 6, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0 + anim_wait 16 + anim_ret +; c9605 + +BattleAnim_Doubleslap: ; c9605 + anim_1gfx ANIM_GFX_HIT + anim_if_param_equal $1, BattleAnim_Doubleslap_branch_c961b + anim_sound 0, 1, SFX_DOUBLESLAP + anim_obj ANIM_OBJ_08, -14, 0, 6, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $0 + anim_wait 8 + anim_ret +; c961b + +BattleAnim_Doubleslap_branch_c961b: ; c961b + anim_sound 0, 1, SFX_DOUBLESLAP + anim_obj ANIM_OBJ_08, 15, 0, 6, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_01, 15, 0, 6, 0, $0 + anim_wait 8 + anim_ret +; c962b + +BattleAnim_CometPunch: ; c962b + anim_1gfx ANIM_GFX_HIT + anim_if_param_equal $1, BattleAnim_CometPunch_branch_c9641 + anim_sound 0, 1, SFX_COMET_PUNCH + anim_obj ANIM_OBJ_06, -14, 0, 6, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $0 + anim_wait 8 + anim_ret +; c9641 + +BattleAnim_CometPunch_branch_c9641: ; c9641 + anim_sound 0, 1, SFX_COMET_PUNCH + anim_obj ANIM_OBJ_06, 15, 0, 8, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_01, 15, 0, 8, 0, $0 + anim_wait 8 + anim_ret +; c9651 + +BattleAnim_Bide_branch_c9651: ; c9651 +BattleAnim_MegaPunch: ; c9651 + anim_1gfx ANIM_GFX_HIT + anim_bgeffect ANIM_BG_1F, $40, $2, $0 + anim_wait 48 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3 +.loop + anim_sound 0, 1, SFX_MEGA_PUNCH + anim_obj ANIM_OBJ_06, -15, 0, 7, 0, $0 + anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_06, -15, 0, 7, 0, $0 + anim_wait 6 + anim_loop 3, .loop + anim_ret +; c9677 + +BattleAnim_Stomp: ; c9677 + anim_1gfx ANIM_GFX_HIT + anim_sound 0, 1, SFX_STOMP + anim_obj ANIM_OBJ_07, -15, 0, 5, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_01, -15, 0, 5, 0, $0 + anim_wait 6 + anim_sound 0, 1, SFX_STOMP + anim_obj ANIM_OBJ_07, -15, 0, 5, 4, $0 + anim_wait 6 + anim_obj ANIM_OBJ_01, -15, 0, 5, 4, $0 + anim_wait 6 + anim_sound 0, 1, SFX_STOMP + anim_obj ANIM_OBJ_07, -15, 0, 6, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0 + anim_wait 16 + anim_ret +; c96a7 + +BattleAnim_DoubleKick: ; c96a7 + anim_1gfx ANIM_GFX_HIT + anim_if_param_equal $1, BattleAnim_DoubleKick_branch_c96bd + anim_sound 0, 1, SFX_DOUBLE_KICK + anim_obj ANIM_OBJ_07, -14, 0, 6, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $0 + anim_wait 8 + anim_ret +; c96bd + +BattleAnim_DoubleKick_branch_c96bd: ; c96bd + anim_sound 0, 1, SFX_DOUBLE_KICK + anim_obj ANIM_OBJ_07, 15, 0, 8, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_01, 15, 0, 8, 0, $0 + anim_wait 8 + anim_ret +; c96cd + +BattleAnim_JumpKick: ; c96cd + anim_1gfx ANIM_GFX_HIT + anim_if_param_equal $1, BattleAnim_JumpKick_branch_c96f1 + anim_sound 0, 1, SFX_JUMP_KICK + anim_obj ANIM_OBJ_07, 14, 0, 9, 0, $0 + anim_obj ANIM_OBJ_07, 12, 4, 7, 4, $0 + anim_setobj $1, $2 + anim_setobj $2, $2 + anim_wait 24 + anim_sound 0, 1, SFX_DOUBLE_KICK + anim_obj ANIM_OBJ_04, -15, 0, 6, 0, $0 + anim_wait 16 + anim_ret +; c96f1 + +BattleAnim_JumpKick_branch_c96f1: ; c96f1 + anim_wait 8 + anim_sound 0, 0, SFX_DOUBLE_KICK + anim_obj ANIM_OBJ_04, 5, 4, 11, 0, $0 + anim_wait 16 + anim_ret +; c96fc + +BattleAnim_HiJumpKick: ; c96fc + anim_1gfx ANIM_GFX_HIT + anim_bgeffect ANIM_BG_1F, $40, $2, $0 + anim_if_param_equal $1, BattleAnim_HiJumpKick_branch_c971e + anim_wait 32 + anim_sound 0, 1, SFX_JUMP_KICK + anim_obj ANIM_OBJ_07, 14, 0, 9, 0, $0 + anim_setobj $1, $2 + anim_wait 16 + anim_sound 0, 1, SFX_DOUBLE_KICK + anim_obj ANIM_OBJ_04, -15, 0, 6, 0, $0 + anim_wait 16 + anim_ret +; c971e + +BattleAnim_HiJumpKick_branch_c971e: ; c971e + anim_wait 16 + anim_sound 0, 0, SFX_DOUBLE_KICK + anim_obj ANIM_OBJ_04, 5, 4, 11, 0, $0 + anim_wait 16 + anim_ret +; c9729 + +BattleAnim_RollingKick: ; c9729 + anim_1gfx ANIM_GFX_HIT + anim_sound 0, 1, SFX_DOUBLE_KICK + anim_obj ANIM_OBJ_07, 14, 0, 7, 0, $0 + anim_setobj $1, $3 + anim_wait 12 + anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0 + anim_wait 16 + anim_ret +; c973e + +BattleAnim_MegaKick: ; c973e + anim_1gfx ANIM_GFX_HIT + anim_bgeffect ANIM_BG_1F, $40, $2, $0 + anim_wait 67 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3 +.loop + anim_sound 0, 1, SFX_MEGA_KICK + anim_obj ANIM_OBJ_07, -15, 0, 7, 0, $0 + anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_07, -15, 0, 7, 0, $0 + anim_wait 6 + anim_loop 3, .loop + anim_ret +; c9764 + +BattleAnim_HyperFang: ; c9764 + anim_1gfx ANIM_GFX_HIT + anim_bgeffect ANIM_BG_1F, $20, $1, $0 + anim_sound 0, 1, SFX_BITE + anim_obj ANIM_OBJ_09, -15, 0, 7, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 + anim_wait 16 + anim_ret +; c977b + +BattleAnim_SuperFang: ; c977b + anim_1gfx ANIM_GFX_HIT + anim_bgeffect ANIM_BG_1F, $40, $2, $0 + anim_wait 48 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3 +.loop + anim_sound 0, 1, SFX_BITE + anim_obj ANIM_OBJ_09, -15, 0, 7, 0, $0 + anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_09, -15, 0, 7, 0, $0 + anim_wait 6 + anim_loop 3, .loop + anim_ret +; c97a1 + +BattleAnim_Ember: ; c97a1 + anim_1gfx ANIM_GFX_FIRE + anim_sound 6, 2, SFX_EMBER + anim_obj ANIM_OBJ_0B, 8, 0, 12, 0, $12 + anim_wait 4 + anim_sound 6, 2, SFX_EMBER + anim_obj ANIM_OBJ_0B, 8, 0, 12, 4, $14 + anim_wait 4 + anim_sound 6, 2, SFX_EMBER + anim_obj ANIM_OBJ_0B, 8, 0, 10, 4, $13 + anim_wait 16 + anim_incobj 1 + anim_incobj 2 + anim_incobj 3 + anim_sound 0, 1, SFX_EMBER + anim_obj ANIM_OBJ_0B, 15, 0, 8, 4, $30 + anim_obj ANIM_OBJ_0B, -16, 4, 8, 4, $30 + anim_obj ANIM_OBJ_0B, -14, 0, 8, 4, $30 + anim_wait 32 + anim_ret +; c97d8 + +BattleAnim_FirePunch: ; c97d8 + anim_2gfx ANIM_GFX_HIT, ANIM_GFX_FIRE + anim_obj ANIM_OBJ_0A, -15, 0, 7, 0, $43 + anim_call BattleAnim_FirePunch_branch_cbbcc + anim_wait 16 + anim_ret +; c97e5 + +BattleAnim_FireSpin: ; c97e5 + anim_1gfx ANIM_GFX_FIRE +.loop + anim_sound 6, 2, SFX_EMBER + anim_obj ANIM_OBJ_0E, 8, 0, 11, 0, $4 + anim_wait 2 + anim_sound 6, 2, SFX_EMBER + anim_obj ANIM_OBJ_0E, 8, 0, 12, 0, $3 + anim_wait 2 + anim_sound 6, 2, SFX_EMBER + anim_obj ANIM_OBJ_0E, 8, 0, 11, 0, $3 + anim_wait 2 + anim_sound 6, 2, SFX_EMBER + anim_obj ANIM_OBJ_0E, 8, 0, 12, 0, $4 + anim_wait 2 + anim_loop 2, .loop + anim_wait 96 + anim_ret +; c9811 + +BattleAnim_DragonRage: ; c9811 + anim_1gfx ANIM_GFX_FIRE +.loop + anim_sound 6, 2, SFX_EMBER + anim_obj ANIM_OBJ_0C, 8, 0, 11, 4, $0 + anim_wait 3 + anim_loop 16, .loop + anim_wait 64 + anim_ret +; c9822 + +BattleAnim_Flamethrower: ; c9822 + anim_1gfx ANIM_GFX_FIRE + anim_sound 6, 2, SFX_EMBER + anim_obj ANIM_OBJ_0D, 8, 0, 11, 4, $3 + anim_wait 2 + anim_obj ANIM_OBJ_0D, 9, 3, 10, 6, $5 + anim_wait 2 + anim_obj ANIM_OBJ_0D, 10, 5, 10, 1, $7 + anim_wait 2 + anim_obj ANIM_OBJ_0D, 12, 0, 9, 4, $9 + anim_wait 2 + anim_obj ANIM_OBJ_0D, 13, 2, 8, 7, $b + anim_wait 2 + anim_obj ANIM_OBJ_0D, 14, 4, 8, 2, $c + anim_wait 2 + anim_obj ANIM_OBJ_0D, 15, 6, 7, 5, $a + anim_wait 2 + anim_obj ANIM_OBJ_0D, -15, 0, 7, 0, $8 + anim_wait 16 +.loop + anim_sound 0, 1, SFX_EMBER + anim_wait 16 + anim_loop 6, .loop + anim_wait 16 + anim_ret +; c9861 + +BattleAnim_FireBlast: ; c9861 + anim_1gfx ANIM_GFX_FIRE +.loop1 + anim_sound 6, 2, SFX_EMBER + anim_obj ANIM_OBJ_0F, 8, 0, 11, 4, $7 + anim_wait 6 + anim_loop 10, .loop1 +.loop2 + anim_sound 0, 1, SFX_EMBER + anim_wait 8 + anim_loop 10, .loop2 + anim_incobj 1 + anim_incobj 2 + anim_incobj 3 + anim_incobj 4 + anim_incobj 5 + anim_incobj 6 + anim_incobj 7 + anim_incobj 8 + anim_incobj 9 + anim_incobj 10 + anim_wait 2 +.loop3 + anim_sound 0, 1, SFX_EMBER + anim_obj ANIM_OBJ_0F, -15, 0, 7, 0, $1 + anim_obj ANIM_OBJ_0F, -15, 0, 7, 0, $2 + anim_obj ANIM_OBJ_0F, -15, 0, 7, 0, $3 + anim_obj ANIM_OBJ_0F, -15, 0, 7, 0, $4 + anim_obj ANIM_OBJ_0F, -15, 0, 7, 0, $5 + anim_wait 16 + anim_loop 2, .loop3 + anim_wait 32 + anim_ret +; c98b0 + +BattleAnim_IcePunch: ; c98b0 + anim_2gfx ANIM_GFX_HIT, ANIM_GFX_ICE + anim_obj ANIM_OBJ_0A, -15, 0, 7, 0, $43 + anim_call BattleAnim_IcePunch_branch_cbbdf + anim_wait 32 + anim_ret +; c98bd + +BattleAnim_IceBeam: ; c98bd + anim_1gfx ANIM_GFX_ICE +.loop + anim_sound 6, 2, SFX_SHINE + anim_obj ANIM_OBJ_ICE_BEAM, 8, 0, 11, 4, $4 + anim_wait 4 + anim_loop 5, .loop + anim_obj ANIM_OBJ_ICE_BUILDUP, -15, 0, 9, 2, $10 +.loop2 + anim_sound 6, 2, SFX_SHINE + anim_obj ANIM_OBJ_ICE_BEAM, 8, 0, 11, 4, $4 + anim_wait 4 + anim_loop 15, .loop2 + anim_wait 48 + anim_sound 0, 1, SFX_SHINE + anim_wait 8 + anim_sound 0, 1, SFX_SHINE + anim_wait 8 + anim_ret +; c98e8 + +BattleAnim_Blizzard: ; c98e8 + anim_1gfx ANIM_GFX_ICE +.loop + anim_sound 6, 2, SFX_SHINE + anim_obj ANIM_OBJ_BLIZZARD, 8, 0, 11, 0, $63 + anim_wait 2 + anim_sound 6, 2, SFX_SHINE + anim_obj ANIM_OBJ_BLIZZARD, 8, 0, 10, 0, $64 + anim_wait 2 + anim_sound 6, 2, SFX_SHINE + anim_obj ANIM_OBJ_BLIZZARD, 8, 0, 12, 0, $63 + anim_wait 2 + anim_loop 3, .loop + anim_bgeffect ANIM_BG_WHITE_HUES, $0, $8, $0 + anim_wait 32 + anim_obj ANIM_OBJ_ICE_BUILDUP, -15, 0, 9, 2, $10 + anim_wait 128 + anim_sound 0, 1, SFX_SHINE + anim_wait 8 + anim_sound 0, 1, SFX_SHINE + anim_wait 24 + anim_ret +; c991e + +BattleAnim_Bubble: ; c991e + anim_1gfx ANIM_GFX_BUBBLE + anim_sound 32, 2, SFX_WATER_GUN + anim_obj ANIM_OBJ_BUBBLE, 8, 0, 11, 4, $c1 + anim_wait 6 + anim_sound 32, 2, SFX_WATER_GUN + anim_obj ANIM_OBJ_BUBBLE, 8, 0, 11, 4, $e1 + anim_wait 6 + anim_sound 32, 2, SFX_WATER_GUN + anim_obj ANIM_OBJ_BUBBLE, 8, 0, 11, 4, $d1 + anim_wait 128 + anim_wait 32 + anim_ret +; c993d + +BattleAnim_Bubblebeam: ; c993d + anim_1gfx ANIM_GFX_BUBBLE +.loop + anim_sound 16, 2, SFX_BUBBLEBEAM + anim_obj ANIM_OBJ_BUBBLE, 8, 0, 11, 4, $92 + anim_wait 6 + anim_sound 16, 2, SFX_BUBBLEBEAM + anim_obj ANIM_OBJ_BUBBLE, 8, 0, 11, 4, $b3 + anim_wait 6 + anim_sound 16, 2, SFX_BUBBLEBEAM + anim_obj ANIM_OBJ_BUBBLE, 8, 0, 11, 4, $f4 + anim_wait 8 + anim_loop 3, .loop + anim_wait 64 + anim_clearobjs + anim_bgeffect ANIM_BG_30, $0, $0, $0 + anim_wait 1 + anim_call BattleAnim_FollowPlayerHead_1 + anim_bgeffect ANIM_BG_31, $1c, $0, $0 + anim_wait 19 + anim_call BattleAnim_ShowMon_1 + anim_bgeffect ANIM_BG_32, $0, $0, $0 + anim_wait 8 + anim_ret +; c9979 + +BattleAnim_WaterGun: ; c9979 + anim_bgeffect ANIM_BG_30, $0, $0, $0 + anim_1gfx ANIM_GFX_WATER + anim_call BattleAnim_FollowPlayerHead_1 + anim_sound 16, 2, SFX_WATER_GUN + anim_obj ANIM_OBJ_24, 8, 0, 11, 0, $0 + anim_wait 8 + anim_obj ANIM_OBJ_24, 8, 0, 9, 4, $0 + anim_wait 8 + anim_obj ANIM_OBJ_24, 8, 0, 10, 2, $0 + anim_wait 24 + anim_bgeffect ANIM_BG_31, $1c, $0, $0 + anim_wait 8 + anim_bgeffect ANIM_BG_31, $8, $0, $0 + anim_wait 8 + anim_bgeffect ANIM_BG_31, $30, $0, $0 + anim_wait 32 + anim_call BattleAnim_ShowMon_1 + anim_bgeffect ANIM_BG_32, $0, $0, $0 + anim_wait 16 + anim_ret +; c99b4 + +BattleAnim_HydroPump: ; c99b4 + anim_bgeffect ANIM_BG_30, $0, $0, $0 + anim_1gfx ANIM_GFX_WATER + anim_call BattleAnim_FollowPlayerHead_1 + anim_sound 0, 1, SFX_HYDRO_PUMP + anim_obj ANIM_OBJ_25, 13, 4, 9, 0, $0 + anim_bgeffect ANIM_BG_31, $1c, $0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_HYDRO_PUMP + anim_obj ANIM_OBJ_25, 14, 4, 9, 0, $0 + anim_bgeffect ANIM_BG_31, $8, $0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_HYDRO_PUMP + anim_obj ANIM_OBJ_25, 15, 4, 9, 0, $0 + anim_bgeffect ANIM_BG_31, $30, $0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_HYDRO_PUMP + anim_obj ANIM_OBJ_25, -16, 4, 9, 0, $0 + anim_bgeffect ANIM_BG_31, $1c, $0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_HYDRO_PUMP + anim_obj ANIM_OBJ_25, -15, 4, 9, 0, $0 + anim_bgeffect ANIM_BG_31, $8, $0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_HYDRO_PUMP + anim_obj ANIM_OBJ_25, -14, 4, 9, 0, $0 + anim_bgeffect ANIM_BG_31, $30, $0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_HYDRO_PUMP + anim_obj ANIM_OBJ_25, -13, 4, 9, 0, $0 + anim_bgeffect ANIM_BG_31, $1c, $0, $0 + anim_wait 32 + anim_call BattleAnim_ShowMon_1 + anim_bgeffect ANIM_BG_32, $0, $0, $0 + anim_wait 16 + anim_ret +; c9a2a + +BattleAnim_Surf: ; c9a2a + anim_1gfx ANIM_GFX_BUBBLE + anim_bgeffect ANIM_BG_SURF, $0, $0, $0 + anim_obj ANIM_OBJ_22, 11, 0, 13, 0, $8 +.loop + anim_sound 0, 1, SFX_SURF + anim_wait 32 + anim_loop 4, .loop + anim_incobj 1 + anim_wait 56 + anim_ret +; c9a42 + +BattleAnim_VineWhip: ; c9a42 + anim_1gfx ANIM_GFX_WHIP + anim_sound 0, 1, SFX_VINE_WHIP + anim_obj ANIM_OBJ_40, 14, 4, 6, 4, $80 + anim_wait 4 + anim_sound 0, 1, SFX_VINE_WHIP + anim_obj ANIM_OBJ_3F, 16, 0, 7, 4, $0 + anim_wait 4 + anim_incobj 1 + anim_wait 4 + anim_ret +; c9a5a + +BattleAnim_LeechSeed: ; c9a5a + anim_1gfx ANIM_GFX_PLANT + anim_sound 16, 2, SFX_VINE_WHIP + anim_obj ANIM_OBJ_LEECH_SEED, 6, 0, 10, 0, $20 + anim_wait 8 + anim_sound 16, 2, SFX_VINE_WHIP + anim_obj ANIM_OBJ_LEECH_SEED, 6, 0, 10, 0, $30 + anim_wait 8 + anim_sound 16, 2, SFX_VINE_WHIP + anim_obj ANIM_OBJ_LEECH_SEED, 6, 0, 10, 0, $28 + anim_wait 32 + anim_sound 0, 1, SFX_CHARGE + anim_wait 128 + anim_ret +; c9a7c + +BattleAnim_RazorLeaf: ; c9a7c + anim_1gfx ANIM_GFX_PLANT + anim_sound 0, 0, SFX_VINE_WHIP + anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $28 + anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $5c + anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $10 + anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $e8 + anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $9c + anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $d0 + anim_wait 6 + anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $1c + anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $50 + anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $dc + anim_obj ANIM_OBJ_RAZOR_LEAF, 6, 0, 10, 0, $90 + anim_wait 80 + anim_sound 16, 2, SFX_VINE_WHIP + anim_incobj 3 + anim_wait 2 + anim_sound 16, 2, SFX_VINE_WHIP + anim_incobj 5 + anim_wait 2 + anim_sound 16, 2, SFX_VINE_WHIP + anim_incobj 7 + anim_wait 2 + anim_sound 16, 2, SFX_VINE_WHIP + anim_incobj 9 + anim_wait 2 + anim_sound 16, 2, SFX_VINE_WHIP + anim_incobj 1 + anim_wait 2 + anim_sound 16, 2, SFX_VINE_WHIP + anim_incobj 2 + anim_wait 2 + anim_sound 16, 2, SFX_VINE_WHIP + anim_incobj 4 + anim_wait 2 + anim_sound 16, 2, SFX_VINE_WHIP + anim_incobj 6 + anim_wait 2 + anim_sound 16, 2, SFX_VINE_WHIP + anim_incobj 8 + anim_wait 2 + anim_sound 16, 2, SFX_VINE_WHIP + anim_incobj 10 + anim_wait 64 + anim_ret +; c9af2 + +BattleAnim_Solarbeam: ; c9af2 + anim_if_param_equal $0, .FireSolarBeam + ; charge turn + anim_1gfx ANIM_GFX_CHARGE + anim_sound 0, 0, SFX_CHARGE + anim_obj ANIM_OBJ_3D, 6, 0, 10, 4, $0 + anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $0 + anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $8 + anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $10 + anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $18 + anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $20 + anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $28 + anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $30 + anim_obj ANIM_OBJ_3C, 6, 0, 10, 4, $38 + anim_wait 104 + anim_bgeffect ANIM_BG_FLASH_WHITE, $0, $4, $2 + anim_wait 64 + anim_ret +; c9b30 + +.FireSolarBeam + anim_1gfx ANIM_GFX_BEAM + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_call BattleAnim_Solarbeam_branch_cbb39 + anim_wait 48 + anim_ret +; c9b3c + +BattleAnim_Thunderpunch: ; c9b3c + anim_2gfx ANIM_GFX_HIT, ANIM_GFX_LIGHTNING + anim_obj ANIM_OBJ_0A, -15, 0, 7, 0, $43 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $2 + anim_sound 0, 1, SFX_THUNDER + anim_obj ANIM_OBJ_2F, -13, 0, 8, 4, $0 + anim_wait 64 + anim_ret +; c9b53 + +BattleAnim_Thundershock: ; c9b53 + anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_EXPLOSION + anim_obj ANIM_OBJ_34, -15, 0, 7, 0, $2 + anim_wait 16 + anim_sound 0, 1, SFX_THUNDERSHOCK + anim_obj ANIM_OBJ_33, -15, 0, 7, 0, $0 + anim_wait 96 + anim_ret +; c9b66 + +BattleAnim_Thunderbolt: ; c9b66 + anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_EXPLOSION + anim_obj ANIM_OBJ_LIGHTNING_BOLT, -15, 0, 7, 0, $2 + anim_wait 16 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2 + anim_sound 0, 1, SFX_THUNDERSHOCK + anim_obj ANIM_OBJ_31, -15, 0, 7, 0, $0 + anim_wait 64 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2 + anim_wait 64 + anim_ret +; c9b84 + +BattleAnim_ThunderWave: ; c9b84 + anim_1gfx ANIM_GFX_LIGHTNING + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3 + anim_sound 0, 1, SFX_THUNDERSHOCK + anim_obj ANIM_OBJ_30, -15, 0, 7, 0, $0 + anim_wait 20 + anim_bgp $1b + anim_incobj 1 + anim_wait 96 + anim_ret +; c9b9a + +BattleAnim_Thunder: ; c9b9a + anim_1gfx ANIM_GFX_LIGHTNING + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $6, $20 + anim_sound 0, 1, SFX_THUNDER + anim_obj ANIM_OBJ_2E, 15, 0, 8, 4, $0 + anim_wait 16 + anim_sound 0, 1, SFX_THUNDER + anim_obj ANIM_OBJ_2F, -13, 0, 8, 4, $0 + anim_wait 16 + anim_sound 0, 1, SFX_THUNDER + anim_obj ANIM_OBJ_2D, -15, 0, 8, 4, $0 + anim_wait 48 + anim_ret +; c9bbd + +BattleAnim_RazorWind: ; c9bbd + anim_if_param_equal $1, BattleAnim_RazorWind_branch_c9fb5 + anim_1gfx ANIM_GFX_WHIP + anim_bgeffect ANIM_BG_06, $0, $1, $0 +.loop + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2 + anim_sound 0, 1, SFX_RAZOR_WIND + anim_obj ANIM_OBJ_42, -13, 0, 5, 0, $3 + anim_wait 4 + anim_sound 0, 1, SFX_RAZOR_WIND + anim_obj ANIM_OBJ_42, -15, 0, 7, 0, $3 + anim_wait 4 + anim_sound 0, 1, SFX_RAZOR_WIND + anim_obj ANIM_OBJ_42, -13, 0, 8, 0, $3 + anim_wait 4 + anim_sound 0, 1, SFX_RAZOR_WIND + anim_obj ANIM_OBJ_41, 15, 0, 5, 0, $83 + anim_wait 4 + anim_sound 0, 1, SFX_RAZOR_WIND + anim_obj ANIM_OBJ_41, 15, 0, 8, 0, $83 + anim_wait 4 + anim_loop 3, .loop + anim_wait 24 + anim_ret +; c9c00 + +BattleAnim_Sonicboom_JP: ; c9c00 + anim_2gfx ANIM_GFX_WHIP, ANIM_GFX_HIT +.loop + anim_sound 3, 0, SFX_RAZOR_WIND + anim_obj ANIM_OBJ_43, 8, 0, 10, 0, $3 + anim_wait 8 + anim_sound 3, 0, SFX_RAZOR_WIND + anim_obj ANIM_OBJ_43, 8, 0, 11, 0, $2 + anim_wait 8 + anim_sound 3, 0, SFX_RAZOR_WIND + anim_obj ANIM_OBJ_43, 8, 0, 12, 0, $4 + anim_wait 8 + anim_loop 2, .loop + anim_wait 32 + anim_incobj 1 + anim_incobj 2 + anim_incobj 3 + anim_incobj 4 + anim_incobj 5 + anim_incobj 6 + anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 + anim_wait 16 + anim_ret +; c9c36 + +BattleAnim_Gust: ; c9c36 +BattleAnim_Sonicboom: ; c9c36 + anim_2gfx ANIM_GFX_WIND, ANIM_GFX_HIT +.loop + anim_sound 0, 1, SFX_RAZOR_WIND + anim_obj ANIM_OBJ_GUST, -15, 0, 9, 0, $0 + anim_wait 6 + anim_loop 9, .loop + anim_obj ANIM_OBJ_01, -14, 0, 8, 0, $18 + anim_wait 8 + anim_obj ANIM_OBJ_01, 16, 0, 4, 0, $18 + anim_wait 16 + anim_ret +; c9c53 + +BattleAnim_Selfdestruct: ; c9c53 + anim_1gfx ANIM_GFX_EXPLOSION + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $24 + anim_if_param_equal $1, .loop + anim_call BattleAnim_Selfdestruct_branch_cbb8f + anim_wait 16 + anim_ret +; c9c63 + +.loop + anim_call BattleAnim_Selfdestruct_branch_cbb62 + anim_wait 5 + anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0 + anim_loop 2, .loop + anim_wait 16 + anim_ret +; c9c72 + +BattleAnim_Explosion: ; c9c72 + anim_1gfx ANIM_GFX_EXPLOSION + anim_bgeffect ANIM_BG_1F, $60, $4, $10 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $24 + anim_if_param_equal $1, .loop + anim_call BattleAnim_Explosion_branch_cbb8f + anim_wait 16 + anim_ret +; c9c87 + +.loop + anim_call BattleAnim_Explosion_branch_cbb62 + anim_wait 5 + anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0 + anim_loop 2, .loop + anim_wait 16 + anim_ret +; c9c96 + +BattleAnim_Acid: ; c9c96 + anim_1gfx ANIM_GFX_POISON + anim_call BattleAnim_Acid_branch_cbc35 + anim_wait 64 + anim_ret +; c9c9d + +BattleAnim_RockThrow: ; c9c9d + anim_1gfx ANIM_GFX_ROCKS + anim_bgeffect ANIM_BG_1F, $60, $1, $0 + anim_sound 0, 1, SFX_STRENGTH + anim_obj ANIM_OBJ_1E, 16, 0, 8, 0, $40 + anim_wait 2 + anim_sound 0, 1, SFX_STRENGTH + anim_obj ANIM_OBJ_1D, 15, 0, 8, 4, $30 + anim_wait 2 + anim_sound 0, 1, SFX_STRENGTH + anim_obj ANIM_OBJ_1E, -13, 0, 8, 4, $30 + anim_wait 2 + anim_sound 0, 1, SFX_STRENGTH + anim_obj ANIM_OBJ_1D, -14, 0, 8, 0, $40 + anim_wait 2 + anim_sound 0, 1, SFX_STRENGTH + anim_obj ANIM_OBJ_1E, -15, 0, 8, 4, $30 + anim_wait 96 + anim_ret +; c9cd2 + +BattleAnim_RockSlide: ; c9cd2 + anim_1gfx ANIM_GFX_ROCKS + anim_bgeffect ANIM_BG_1F, $c0, $1, $0 +.loop + anim_sound 0, 1, SFX_STRENGTH + anim_obj ANIM_OBJ_1E, 16, 0, 8, 0, $40 + anim_wait 4 + anim_sound 0, 1, SFX_STRENGTH + anim_obj ANIM_OBJ_1D, 15, 0, 8, 4, $30 + anim_wait 4 + anim_sound 0, 1, SFX_STRENGTH + anim_obj ANIM_OBJ_1E, -13, 0, 8, 4, $30 + anim_wait 4 + anim_sound 0, 1, SFX_STRENGTH + anim_obj ANIM_OBJ_1D, -14, 0, 8, 0, $40 + anim_wait 4 + anim_sound 0, 1, SFX_STRENGTH + anim_obj ANIM_OBJ_1E, -15, 0, 8, 4, $30 + anim_wait 16 + anim_loop 4, .loop + anim_wait 96 + anim_ret +; c9d0c + +BattleAnim_Sing: ; c9d0c + anim_1gfx ANIM_GFX_NOISE + anim_sound 16, 2, SFX_SING +.loop + anim_obj ANIM_OBJ_23, 8, 0, 11, 4, $0 + anim_wait 8 + anim_obj ANIM_OBJ_23, 8, 0, 11, 4, $1 + anim_wait 8 + anim_obj ANIM_OBJ_23, 8, 0, 11, 4, $2 + anim_wait 8 + anim_obj ANIM_OBJ_23, 8, 0, 11, 4, $0 + anim_wait 8 + anim_obj ANIM_OBJ_23, 8, 0, 11, 4, $2 + anim_wait 8 + anim_loop 4, .loop + anim_wait 64 + anim_ret +; c9d35 + +BattleAnim_Poisonpowder: ; c9d35 +BattleAnim_SleepPowder: ; c9d35 +BattleAnim_Spore: ; c9d35 +BattleAnim_StunSpore: ; c9d35 + anim_1gfx ANIM_GFX_POWDER +.loop + anim_sound 0, 1, SFX_POWDER + anim_obj ANIM_OBJ_26, 13, 0, 2, 0, $0 + anim_wait 4 + anim_sound 0, 1, SFX_POWDER + anim_obj ANIM_OBJ_26, -15, 0, 2, 0, $0 + anim_wait 4 + anim_sound 0, 1, SFX_POWDER + anim_obj ANIM_OBJ_26, 14, 0, 2, 0, $0 + anim_wait 4 + anim_sound 0, 1, SFX_POWDER + anim_obj ANIM_OBJ_26, 16, 0, 2, 0, $0 + anim_wait 4 + anim_sound 0, 1, SFX_POWDER + anim_obj ANIM_OBJ_26, 15, 0, 2, 0, $0 + anim_wait 4 + anim_loop 2, .loop + anim_wait 96 + anim_ret +; c9d6a + +BattleAnim_HyperBeam: ; c9d6a + anim_1gfx ANIM_GFX_BEAM + anim_bgeffect ANIM_BG_1F, $30, $4, $10 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $40 + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_call BattleAnim_HyperBeam_branch_cbb39 + anim_wait 48 + anim_ret +; c9d80 + +BattleAnim_AuroraBeam: ; c9d80 + anim_1gfx ANIM_GFX_BEAM + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0 + anim_wait 64 + anim_call BattleAnim_AuroraBeam_branch_cbb39 + anim_wait 48 + anim_incobj 5 + anim_wait 64 + anim_ret +; c9d95 + +BattleAnim_Vicegrip: ; c9d95 + anim_1gfx ANIM_GFX_CUT + anim_sound 0, 1, SFX_VICEGRIP + anim_obj ANIM_OBJ_37, -13, 0, 5, 0, $0 + anim_obj ANIM_OBJ_39, 15, 0, 9, 0, $0 + anim_wait 32 + anim_ret +; c9da6 + +BattleAnim_Scratch: ; c9da6 + anim_1gfx ANIM_GFX_CUT + anim_sound 0, 1, SFX_SCRATCH + anim_obj ANIM_OBJ_37, -14, 0, 6, 0, $0 + anim_obj ANIM_OBJ_37, -15, 4, 5, 4, $0 + anim_obj ANIM_OBJ_37, -15, 0, 5, 0, $0 + anim_wait 32 + anim_ret +; c9dbc + +BattleAnim_FurySwipes: ; c9dbc + anim_1gfx ANIM_GFX_CUT + anim_if_param_equal $1, BattleAnim_FurySwipes_branch_c9dd9 + anim_sound 0, 1, SFX_SCRATCH + anim_obj ANIM_OBJ_37, -14, 0, 6, 0, $0 + anim_obj ANIM_OBJ_37, -15, 4, 5, 4, $0 + anim_obj ANIM_OBJ_37, -15, 0, 5, 0, $0 + anim_sound 0, 1, SFX_SCRATCH + anim_wait 32 + anim_ret +; c9dd9 + +BattleAnim_FurySwipes_branch_c9dd9: ; c9dd9 + anim_sound 0, 1, SFX_SCRATCH + anim_obj ANIM_OBJ_38, 15, 0, 6, 0, $0 + anim_obj ANIM_OBJ_38, 15, 4, 5, 4, $0 + anim_obj ANIM_OBJ_38, 16, 0, 5, 0, $0 + anim_sound 0, 1, SFX_SCRATCH + anim_wait 32 + anim_ret +; c9df0 + +BattleAnim_Cut: ; c9df0 + anim_1gfx ANIM_GFX_CUT + anim_sound 0, 1, SFX_CUT + anim_obj ANIM_OBJ_3A, -13, 0, 5, 0, $0 + anim_wait 32 + anim_ret +; c9dfc + +BattleAnim_Slash: ; c9dfc + anim_1gfx ANIM_GFX_CUT + anim_sound 0, 1, SFX_CUT + anim_obj ANIM_OBJ_3A, -13, 0, 5, 0, $0 + anim_obj ANIM_OBJ_3A, -14, 4, 4, 4, $0 + anim_wait 32 + anim_ret +; c9e0d + +BattleAnim_Clamp: ; c9e0d + anim_2gfx ANIM_GFX_CUT, ANIM_GFX_HIT + anim_obj ANIM_OBJ_35, -15, 0, 7, 0, $a0 + anim_obj ANIM_OBJ_35, -15, 0, 7, 0, $20 + anim_wait 16 + anim_sound 0, 1, SFX_BITE + anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $18 + anim_wait 32 + anim_sound 0, 1, SFX_BITE + anim_obj ANIM_OBJ_01, 16, 0, 8, 0, $18 + anim_wait 16 + anim_ret +; c9e2e + +BattleAnim_Bite: ; c9e2e + anim_2gfx ANIM_GFX_CUT, ANIM_GFX_HIT + anim_obj ANIM_OBJ_36, -15, 0, 7, 0, $98 + anim_obj ANIM_OBJ_36, -15, 0, 7, 0, $18 + anim_wait 8 + anim_sound 0, 1, SFX_BITE + anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $18 + anim_wait 16 + anim_sound 0, 1, SFX_BITE + anim_obj ANIM_OBJ_01, 16, 0, 8, 0, $18 + anim_wait 8 + anim_ret +; c9e4f + +BattleAnim_Teleport: ; c9e4f + anim_1gfx ANIM_GFX_SPEED + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_TELEPORT, $0, $1, $0 + anim_wait 32 + anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0 + anim_wait 3 + anim_incbgeffect ANIM_BG_TELEPORT + anim_call BattleAnim_ShowMon_0 + anim_bgeffect ANIM_BG_06, $0, $1, $0 + anim_call BattleAnim_Teleport_branch_cbb12 + anim_wait 64 + anim_ret +; c9e6f + +BattleAnim_Fly: ; c9e6f + anim_if_param_equal $1, BattleAnim_Fly_branch_c9e89 + anim_if_param_equal $2, BattleAnim_Fly_branch_c9e82 + anim_1gfx ANIM_GFX_HIT + anim_sound 0, 1, SFX_WING_ATTACK + anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 + anim_wait 32 +BattleAnim_Fly_branch_c9e82: ; c9e82 + anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 + anim_wait 32 + anim_ret +; c9e89 + +BattleAnim_Fly_branch_c9e89: ; c9e89 + anim_1gfx ANIM_GFX_SPEED + anim_bgeffect ANIM_BG_06, $0, $1, $0 + anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0 + anim_call BattleAnim_Fly_branch_cbb12 + anim_wait 64 + anim_ret +; c9e9a + +BattleAnim_DoubleTeam: ; c9e9a + anim_call BattleAnim_FollowPlayerHead_0 + anim_sound 0, 0, SFX_PSYBEAM + anim_bgeffect ANIM_BG_DOUBLE_TEAM, $0, $1, $0 + anim_wait 96 + anim_incbgeffect ANIM_BG_DOUBLE_TEAM + anim_wait 24 + anim_incbgeffect ANIM_BG_DOUBLE_TEAM + anim_call BattleAnim_ShowMon_0 + anim_ret +; c9eaf + +BattleAnim_Recover: ; c9eaf + anim_1gfx ANIM_GFX_BUBBLE + anim_call BattleAnim_FollowEnemyFeet_0 + anim_sound 0, 0, SFX_FULL_HEAL + anim_bgeffect ANIM_BG_18, $0, $1, $40 + anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $30 + anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $31 + anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $32 + anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $33 + anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $34 + anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $35 + anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $36 + anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $37 + anim_wait 64 + anim_incbgeffect ANIM_BG_18 + anim_call BattleAnim_ShowMon_0 + anim_ret +; c9eeb + +BattleAnim_Absorb: ; c9eeb + anim_1gfx ANIM_GFX_CHARGE + anim_obj ANIM_OBJ_3D, 5, 4, 11, 0, $0 +.loop + anim_sound 6, 3, SFX_WATER_GUN + anim_obj ANIM_OBJ_ABSORB, 16, 0, 6, 0, $2 + anim_wait 6 + anim_sound 6, 3, SFX_WATER_GUN + anim_obj ANIM_OBJ_ABSORB, -15, 0, 8, 0, $3 + anim_wait 6 + anim_sound 6, 3, SFX_WATER_GUN + anim_obj ANIM_OBJ_ABSORB, -15, 0, 4, 0, $4 + anim_wait 6 + anim_loop 5, .loop + anim_wait 32 + anim_ret +; c9f13 + +BattleAnim_MegaDrain: ; c9f13 + anim_1gfx ANIM_GFX_CHARGE + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_1C, $0, $0, $10 + anim_setvar $0 +.loop + anim_sound 6, 3, SFX_WATER_GUN + anim_obj ANIM_OBJ_ABSORB, 16, 0, 6, 0, $2 + anim_wait 6 + anim_sound 6, 3, SFX_WATER_GUN + anim_obj ANIM_OBJ_ABSORB, -15, 0, 8, 0, $3 + anim_wait 6 + anim_sound 6, 3, SFX_WATER_GUN + anim_obj ANIM_OBJ_ABSORB, -15, 0, 4, 0, $4 + anim_wait 6 + anim_incvar + anim_if_var_equal $7, .done + anim_if_var_equal $2, .spawn + anim_jump .loop +; c9f46 + +.spawn + anim_obj ANIM_OBJ_3D, 5, 4, 11, 0, $0 + anim_jump .loop +; c9f4e + +.done + anim_wait 32 + anim_incbgeffect ANIM_BG_1C + anim_call BattleAnim_ShowMon_0 + anim_ret +; c9f55 + +BattleAnim_EggBomb: ; c9f55 + anim_2gfx ANIM_GFX_EGG, ANIM_GFX_EXPLOSION + anim_sound 0, 0, SFX_SWITCH_POKEMON + anim_obj ANIM_OBJ_46, 5, 4, 13, 0, $1 + anim_wait 128 + anim_wait 96 + anim_incobj 1 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3 + anim_sound 0, 1, SFX_EGG_BOMB + anim_obj ANIM_OBJ_18, 16, 0, 8, 0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_EGG_BOMB + anim_obj ANIM_OBJ_18, -14, 0, 8, 4, $0 + anim_wait 8 + anim_sound 0, 1, SFX_EGG_BOMB + anim_obj ANIM_OBJ_18, -15, 0, 9, 0, $0 + anim_wait 24 + anim_ret +; c9f85 + +BattleAnim_Softboiled: ; c9f85 + anim_2gfx ANIM_GFX_EGG, ANIM_GFX_BUBBLE + anim_call BattleAnim_FollowEnemyFeet_0 + anim_sound 0, 0, SFX_SWITCH_POKEMON + anim_obj ANIM_OBJ_46, 5, 4, 13, 0, $6 + anim_wait 128 + anim_incobj 2 + anim_obj ANIM_OBJ_46, 9, 4, 13, 0, $b + anim_wait 16 + anim_bgeffect ANIM_BG_18, $0, $1, $40 + anim_sound 0, 0, SFX_METRONOME +.loop + anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $20 + anim_wait 8 + anim_loop 8, .loop + anim_wait 128 + anim_incbgeffect ANIM_BG_18 + anim_call BattleAnim_ShowMon_0 + anim_ret +; c9fb5 + +BattleAnim_FocusEnergy: ; c9fb5 +BattleAnim_RazorWind_branch_c9fb5: ; c9fb5 +BattleAnim_SkullBash_branch_c9fb5: ; c9fb5 +BattleAnim_SkyAttack_branch_c9fb5: ; c9fb5 + anim_1gfx ANIM_GFX_SPEED + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_16, $0, $1, $40 + anim_bgeffect ANIM_BG_06, $0, $2, $0 +.loop + anim_sound 0, 0, SFX_SWORDS_DANCE + anim_obj ANIM_OBJ_47, 5, 4, 13, 4, $6 + anim_wait 2 + anim_obj ANIM_OBJ_47, 4, 4, 13, 4, $6 + anim_wait 2 + anim_obj ANIM_OBJ_47, 6, 4, 13, 4, $8 + anim_wait 2 + anim_obj ANIM_OBJ_47, 3, 4, 13, 4, $8 + anim_wait 2 + anim_obj ANIM_OBJ_47, 7, 4, 13, 4, $6 + anim_wait 2 + anim_obj ANIM_OBJ_47, 2, 4, 13, 4, $8 + anim_wait 2 + anim_obj ANIM_OBJ_47, 8, 4, 13, 4, $8 + anim_wait 2 + anim_loop 3, .loop + anim_wait 8 + anim_incbgeffect ANIM_BG_16 + anim_call BattleAnim_ShowMon_0 + anim_ret +; c9ffc + +BattleAnim_Bide: ; c9ffc + anim_if_param_equal $0, BattleAnim_Bide_branch_c9651 + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowEnemyFeet_0 + anim_sound 0, 0, SFX_ESCAPE_ROPE + anim_bgeffect ANIM_BG_1A, $0, $1, $20 + anim_wait 72 + anim_incbgeffect ANIM_BG_1A + anim_call BattleAnim_ShowMon_0 + anim_ret +; ca014 + +BattleAnim_Bind: ; ca014 + anim_1gfx ANIM_GFX_ROPE + anim_sound 0, 1, SFX_BIND + anim_obj ANIM_OBJ_48, -16, 4, 8, 0, $0 + anim_wait 8 + anim_obj ANIM_OBJ_49, -16, 4, 7, 0, $0 + anim_wait 8 + anim_obj ANIM_OBJ_48, -16, 4, 6, 0, $0 + anim_wait 64 + anim_sound 0, 1, SFX_BIND + anim_incobj 1 + anim_incobj 2 + anim_incobj 3 + anim_wait 96 + anim_ret +; ca036 + +BattleAnim_Wrap: ; ca036 + anim_1gfx ANIM_GFX_ROPE + anim_sound 0, 1, SFX_BIND + anim_obj ANIM_OBJ_48, -16, 4, 8, 0, $0 + anim_wait 8 + anim_obj ANIM_OBJ_48, -16, 4, 7, 0, $0 + anim_wait 8 + anim_obj ANIM_OBJ_48, -16, 4, 6, 0, $0 + anim_wait 64 + anim_sound 0, 1, SFX_BIND + anim_incobj 1 + anim_incobj 2 + anim_incobj 3 + anim_wait 96 + anim_ret +; ca058 + +BattleAnim_Confusion: ; ca058 + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowPlayerHead_1 + anim_sound 0, 1, SFX_PSYCHIC + anim_bgeffect ANIM_BG_NIGHT_SHADE, $0, $0, $8 + anim_wait 128 + anim_incbgeffect ANIM_BG_NIGHT_SHADE + anim_call BattleAnim_ShowMon_1 + anim_ret +; ca06c + +BattleAnim_Constrict: ; ca06c + anim_1gfx ANIM_GFX_ROPE + anim_sound 0, 1, SFX_BIND + anim_obj ANIM_OBJ_49, -16, 4, 8, 0, $0 + anim_wait 8 + anim_obj ANIM_OBJ_48, -16, 4, 6, 0, $0 + anim_wait 8 + anim_obj ANIM_OBJ_49, -16, 4, 5, 0, $0 + anim_wait 8 + anim_obj ANIM_OBJ_48, -16, 4, 7, 0, $0 + anim_wait 64 + anim_ret +; ca08a + +BattleAnim_Earthquake: ; ca08a + anim_bgeffect ANIM_BG_1F, $60, $4, $10 +.loop + anim_sound 0, 1, SFX_EMBER + anim_wait 24 + anim_loop 4, .loop + anim_ret +; ca098 + +BattleAnim_Fissure: ; ca098 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $40 + anim_bgeffect ANIM_BG_1F, $60, $4, $0 +.loop + anim_sound 0, 1, SFX_EMBER + anim_wait 24 + anim_loop 4, .loop + anim_ret +; ca0ab + +BattleAnim_Growl: ; ca0ab + anim_1gfx ANIM_GFX_NOISE + anim_enemyfeetobj + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_cry $0 +.loop + anim_call BattleAnim_Growl_branch_cbbbc + anim_wait 16 + anim_loop 3, .loop + anim_wait 9 + anim_bgeffect ANIM_BG_FEET_FOLLOW, $0, $1, $0 + anim_wait 8 + anim_bgeffect ANIM_BG_19, $0, $0, $40 + anim_wait 64 + anim_incbgeffect ANIM_BG_19 + anim_wait 1 + anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 + anim_wait 5 + anim_incobj 10 + anim_wait 8 + anim_ret +; ca0d7 + +BattleAnim_Roar: ; ca0d7 + anim_1gfx ANIM_GFX_NOISE + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_cry $1 +.loop + anim_call BattleAnim_Roar_branch_cbbbc + anim_wait 16 + anim_loop 3, .loop + anim_wait 16 + anim_if_param_equal $0, .done + anim_bgeffect ANIM_BG_27, $0, $0, $0 + anim_wait 64 +.done + anim_ret +; ca0f4 + +BattleAnim_Supersonic: ; ca0f4 + anim_1gfx ANIM_GFX_PSYCHIC +.loop + anim_sound 6, 2, SFX_SUPERSONIC + anim_obj ANIM_OBJ_4C, 8, 0, 11, 0, $2 + anim_wait 4 + anim_loop 10, .loop + anim_wait 64 + anim_ret +; ca105 + +BattleAnim_Screech: ; ca105 + anim_1gfx ANIM_GFX_PSYCHIC + anim_bgeffect ANIM_BG_1F, $8, $1, $20 + anim_sound 6, 2, SFX_SCREECH +.loop + anim_obj ANIM_OBJ_4C, 8, 0, 11, 0, $2 + anim_wait 2 + anim_loop 2, .loop + anim_wait 64 + anim_ret +; ca11b + +BattleAnim_ConfuseRay: ; ca11b + anim_1gfx ANIM_GFX_SPEED + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_bgeffect ANIM_BG_08, $0, $4, $0 + anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $0 + anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $80 + anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $88 + anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $90 + anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $98 + anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $a0 + anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $a8 + anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $b0 + anim_obj ANIM_OBJ_4D, 8, 0, 11, 0, $b8 +.loop + anim_sound 6, 2, SFX_WHIRLWIND + anim_wait 16 + anim_loop 8, .loop + anim_wait 32 + anim_ret +; ca15e + +BattleAnim_Leer: ; ca15e + anim_1gfx ANIM_GFX_BEAM + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_call BattleAnim_Leer_branch_cbadc + anim_wait 16 + anim_ret +; ca16a + +BattleAnim_Reflect: ; ca16a + anim_1gfx ANIM_GFX_REFLECT + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2 + anim_sound 0, 0, SFX_SHINE + anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0 + anim_wait 24 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2 + anim_sound 0, 0, SFX_SHINE + anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0 + anim_wait 64 + anim_ret +; ca18e + +BattleAnim_LightScreen: ; ca18e + anim_2gfx ANIM_GFX_SPEED, ANIM_GFX_REFLECT + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_sound 0, 0, SFX_FLASH + anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0 + anim_wait 4 + anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $0 + anim_wait 4 + anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $8 + anim_wait 4 + anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $10 + anim_wait 4 + anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $18 + anim_wait 4 + anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0 + anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $20 + anim_wait 4 + anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $28 + anim_wait 4 + anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $30 + anim_wait 4 + anim_obj ANIM_OBJ_6D, 9, 0, 10, 0, $38 + anim_wait 64 + anim_ret +; ca1d5 + +BattleAnim_Amnesia: ; ca1d5 + anim_1gfx ANIM_GFX_STATUS + anim_sound 0, 0, SFX_LICK + anim_obj ANIM_OBJ_53, 8, 0, 10, 0, $2 + anim_wait 16 + anim_obj ANIM_OBJ_53, 8, 4, 10, 0, $1 + anim_wait 16 + anim_obj ANIM_OBJ_53, 9, 0, 10, 0, $0 + anim_wait 64 + anim_ret +; ca1ed + +BattleAnim_DizzyPunch: ; ca1ed + anim_2gfx ANIM_GFX_STATUS, ANIM_GFX_HIT + anim_sound 0, 1, SFX_MEGA_PUNCH + anim_obj ANIM_OBJ_00, -15, 0, 5, 0, $0 + anim_obj ANIM_OBJ_02, -15, 0, 8, 0, $0 + anim_wait 16 + anim_sound 0, 1, SFX_KINESIS + anim_obj ANIM_OBJ_CHICK, -15, 0, 3, 0, $15 + anim_obj ANIM_OBJ_CHICK, -15, 0, 3, 0, $aa + anim_obj ANIM_OBJ_CHICK, -15, 0, 3, 0, $bf + anim_wait 96 + anim_ret +; ca212 + +BattleAnim_Rest: ; ca212 + anim_1gfx ANIM_GFX_STATUS + anim_sound 0, 0, SFX_TAIL_WHIP +.loop + anim_obj ANIM_OBJ_54, 8, 0, 10, 0, $0 + anim_wait 40 + anim_loop 3, .loop + anim_wait 32 + anim_ret +; ca223 + +BattleAnim_AcidArmor: ; ca223 + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowPlayerHead_0 + anim_bgeffect ANIM_BG_ACID_ARMOR, $0, $1, $8 + anim_sound 0, 0, SFX_MEGA_PUNCH + anim_wait 64 + anim_incbgeffect ANIM_BG_ACID_ARMOR + anim_call BattleAnim_ShowMon_0 + anim_ret +; ca237 + +BattleAnim_Splash: ; ca237 + anim_1gfx ANIM_GFX_HIT + anim_sound 0, 0, SFX_VICEGRIP + anim_call BattleAnim_FollowPlayerHead_0 + anim_bgeffect ANIM_BG_BOUNCE_DOWN, $0, $1, $0 + anim_wait 96 + anim_incbgeffect ANIM_BG_BOUNCE_DOWN + anim_call BattleAnim_ShowMon_0 + anim_ret +; ca24b + +BattleAnim_Dig: ; ca24b + anim_2gfx ANIM_GFX_SAND, ANIM_GFX_HIT + anim_if_param_equal $0, .hit + anim_if_param_equal $2, .fail + anim_call BattleAnim_FollowPlayerHead_0 + anim_bgeffect ANIM_BG_DIG, $0, $1, $1 + anim_obj ANIM_OBJ_57, 9, 0, 13, 0, $0 +.loop + anim_sound 0, 0, SFX_RAZOR_WIND + anim_obj ANIM_OBJ_56, 7, 0, 13, 0, $0 + anim_wait 16 + anim_loop 6, .loop + anim_wait 32 + anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0 + anim_wait 8 + anim_incbgeffect ANIM_BG_DIG + anim_call BattleAnim_ShowMon_0 + anim_ret + +.hit + anim_sound 0, 1, SFX_MEGA_PUNCH + anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 + anim_wait 32 +.fail + anim_bgeffect ANIM_BG_ENTER_MON, $0, $1, $0 + anim_wait 32 + anim_ret +; ca28d + +BattleAnim_SandAttack: ; ca28d + anim_1gfx ANIM_GFX_SAND + anim_call BattleAnim_SandAttack_branch_cbc5b + anim_ret +; ca293 + +BattleAnim_StringShot: ; ca293 + anim_1gfx ANIM_GFX_WEB + anim_bgeffect ANIM_BG_07, $0, $2, $0 + anim_sound 6, 2, SFX_MENU + anim_obj ANIM_OBJ_5A, 8, 0, 10, 0, $0 + anim_wait 4 + anim_sound 0, 1, SFX_MENU + anim_obj ANIM_OBJ_5A, -16, 4, 6, 0, $1 + anim_wait 4 + anim_sound 6, 2, SFX_MENU + anim_obj ANIM_OBJ_5A, 8, 0, 11, 0, $0 + anim_wait 4 + anim_sound 0, 1, SFX_MENU + anim_obj ANIM_OBJ_5A, -16, 4, 8, 0, $1 + anim_wait 4 + anim_sound 6, 2, SFX_MENU + anim_obj ANIM_OBJ_5A, 8, 0, 10, 4, $0 + anim_wait 4 + anim_sound 0, 1, SFX_MENU + anim_obj ANIM_OBJ_5A, -16, 4, 7, 0, $2 + anim_wait 64 + anim_ret +; ca2d1 + +BattleAnim_Headbutt: ; ca2d1 + anim_1gfx ANIM_GFX_HIT + anim_bgeffect ANIM_BG_1F, $14, $2, $0 + anim_wait 32 + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0 + anim_wait 4 + anim_sound 0, 1, SFX_HEADBUTT + anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 + anim_wait 8 + anim_call BattleAnim_ShowMon_0 + anim_ret +; ca2ef + +BattleAnim_Tackle: ; ca2ef + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowPlayerHead_0 + anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0 + anim_wait 4 + anim_sound 0, 1, SFX_TACKLE + anim_obj ANIM_OBJ_00, -15, 0, 6, 0, $0 + anim_wait 8 + anim_call BattleAnim_ShowMon_0 + anim_ret +; ca307 + +BattleAnim_BodySlam: ; ca307 + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowPlayerHead_0 + anim_bgeffect ANIM_BG_BOUNCE_DOWN, $0, $1, $0 + anim_wait 32 + anim_incbgeffect ANIM_BG_BOUNCE_DOWN + anim_wait 4 + anim_bgeffect ANIM_BG_25, $0, $1, $0 + anim_wait 3 + anim_sound 0, 1, SFX_TACKLE + anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0 + anim_wait 6 + anim_sound 0, 1, SFX_TACKLE + anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $0 + anim_wait 3 + anim_call BattleAnim_ShowMon_0 + anim_ret +; ca331 + +BattleAnim_TakeDown: ; ca331 + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0 + anim_wait 3 + anim_sound 0, 1, SFX_TACKLE + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2 + anim_obj ANIM_OBJ_01, 16, 0, 7, 0, $0 + anim_wait 6 + anim_sound 0, 1, SFX_TACKLE + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2 + anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $0 + anim_wait 3 + anim_call BattleAnim_ShowMon_0 + anim_ret +; ca35c + +BattleAnim_DoubleEdge: ; ca35c + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $10 + anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0 + anim_wait 3 + anim_sound 0, 1, SFX_TACKLE + anim_obj ANIM_OBJ_00, 16, 0, 6, 0, $0 + anim_wait 6 + anim_sound 0, 1, SFX_TACKLE + anim_obj ANIM_OBJ_00, -14, 0, 6, 0, $0 + anim_wait 3 + anim_call BattleAnim_ShowMon_0 + anim_ret +; ca382 + +BattleAnim_Submission: ; ca382 + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowEnemyFeet_1 + anim_bgeffect ANIM_BG_26, $0, $0, $0 + anim_sound 0, 1, SFX_SUBMISSION + anim_wait 32 + anim_obj ANIM_OBJ_01, 15, 0, 6, 0, $0 + anim_wait 32 + anim_obj ANIM_OBJ_01, -13, 0, 7, 0, $0 + anim_wait 32 + anim_obj ANIM_OBJ_01, -15, 0, 6, 4, $0 + anim_wait 32 + anim_incbgeffect ANIM_BG_26 + anim_call BattleAnim_ShowMon_1 + anim_ret +; ca3a8 + +BattleAnim_Whirlwind: ; ca3a8 + anim_1gfx ANIM_GFX_WIND +.loop + anim_sound 0, 0, SFX_RAZOR_WIND + anim_obj ANIM_OBJ_GUST, 8, 0, 14, 0, $0 + anim_wait 6 + anim_loop 9, .loop + anim_incobj 1 + anim_incobj 2 + anim_incobj 3 + anim_incobj 4 + anim_incobj 5 + anim_incobj 6 + anim_incobj 7 + anim_incobj 8 + anim_incobj 9 + anim_sound 16, 2, SFX_WHIRLWIND + anim_wait 128 + anim_if_param_equal $0, .done + anim_bgeffect ANIM_BG_27, $0, $0, $0 + anim_wait 64 +.done + anim_ret +; ca3d8 + +BattleAnim_Hypnosis: ; ca3d8 + anim_1gfx ANIM_GFX_PSYCHIC +.loop + anim_sound 6, 2, SFX_SUPERSONIC + anim_obj ANIM_OBJ_4C, 8, 0, 11, 0, $2 + anim_obj ANIM_OBJ_4C, 7, 0, 10, 0, $2 + anim_wait 8 + anim_loop 3, .loop + anim_wait 56 + anim_ret +; ca3ee + +BattleAnim_Haze: ; ca3ee + anim_1gfx ANIM_GFX_HAZE + anim_sound 0, 1, SFX_SURF +.loop + anim_obj ANIM_OBJ_HAZE, 6, 0, 7, 0, $0 + anim_obj ANIM_OBJ_HAZE, -16, 4, 2, 0, $0 + anim_wait 12 + anim_loop 5, .loop + anim_wait 96 + anim_ret +; ca404 + +BattleAnim_Mist: ; ca404 + anim_obp0 $54 + anim_1gfx ANIM_GFX_HAZE + anim_sound 0, 0, SFX_SURF +.loop + anim_obj ANIM_OBJ_MIST, 6, 0, 7, 0, $0 + anim_wait 8 + anim_loop 10, .loop + anim_wait 96 + anim_ret +; ca417 + +BattleAnim_Smog: ; ca417 + anim_1gfx ANIM_GFX_HAZE + anim_sound 0, 1, SFX_BUBBLEBEAM +.loop + anim_obj ANIM_OBJ_SMOG, -16, 4, 2, 0, $0 + anim_wait 8 + anim_loop 10, .loop + anim_wait 96 + anim_ret +; ca428 + +BattleAnim_PoisonGas: ; ca428 + anim_1gfx ANIM_GFX_HAZE + anim_sound 16, 2, SFX_BUBBLEBEAM +.loop + anim_obj ANIM_OBJ_POISON_GAS, 5, 4, 10, 0, $2 + anim_wait 8 + anim_loop 10, .loop + anim_wait 128 + anim_ret +; ca439 + +BattleAnim_HornAttack: ; ca439 + anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT + anim_obj ANIM_OBJ_HORN, 9, 0, 10, 0, $1 + anim_wait 16 + anim_sound 0, 1, SFX_HORN_ATTACK + anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 + anim_wait 16 + anim_ret +; ca44c + +BattleAnim_FuryAttack: ; ca44c + anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT + anim_obj ANIM_OBJ_HORN, 9, 0, 9, 0, $2 + anim_wait 8 + anim_sound 0, 1, SFX_HORN_ATTACK + anim_obj ANIM_OBJ_04, 16, 0, 5, 0, $0 + anim_wait 8 + anim_obj ANIM_OBJ_HORN, 10, 0, 11, 0, $2 + anim_wait 8 + anim_sound 0, 1, SFX_HORN_ATTACK + anim_obj ANIM_OBJ_04, -15, 0, 7, 0, $0 + anim_wait 8 + anim_obj ANIM_OBJ_HORN, 9, 4, 10, 0, $2 + anim_wait 8 + anim_sound 0, 1, SFX_HORN_ATTACK + anim_obj ANIM_OBJ_04, -16, 4, 6, 0, $0 + anim_wait 8 + anim_ret +; ca47d + +BattleAnim_HornDrill: ; ca47d + anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $40 + anim_obj ANIM_OBJ_HORN, 9, 0, 10, 0, $3 + anim_wait 8 +.loop + anim_sound 0, 1, SFX_HORN_ATTACK + anim_obj ANIM_OBJ_00, -16, 4, 5, 0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_HORN_ATTACK + anim_obj ANIM_OBJ_00, -15, 4, 6, 0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_HORN_ATTACK + anim_obj ANIM_OBJ_00, -16, 4, 7, 0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_HORN_ATTACK + anim_obj ANIM_OBJ_00, 15, 4, 6, 0, $0 + anim_wait 8 + anim_loop 3, .loop + anim_ret +; ca4b4 + +BattleAnim_PoisonSting: ; ca4b4 + anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT + anim_obj ANIM_OBJ_60, 8, 0, 11, 4, $14 + anim_wait 16 + anim_sound 0, 1, SFX_POISON_STING + anim_obj ANIM_OBJ_05, -15, 0, 7, 0, $0 + anim_wait 16 + anim_ret +; ca4c7 + +BattleAnim_Twineedle: ; ca4c7 + anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT + anim_sound 0, 1, SFX_POISON_STING + anim_obj ANIM_OBJ_60, 8, 0, 11, 4, $14 + anim_obj ANIM_OBJ_60, 7, 0, 10, 4, $14 + anim_wait 16 + anim_sound 0, 1, SFX_POISON_STING + anim_obj ANIM_OBJ_05, -15, 0, 7, 0, $0 + anim_obj ANIM_OBJ_05, 16, 0, 6, 0, $0 + anim_wait 16 + anim_ret +; ca4e7 + +BattleAnim_PinMissile: ; ca4e7 + anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT +.loop + anim_obj ANIM_OBJ_60, 8, 0, 11, 4, $28 + anim_wait 8 + anim_obj ANIM_OBJ_60, 7, 0, 10, 4, $28 + anim_sound 0, 1, SFX_POISON_STING + anim_obj ANIM_OBJ_05, -15, 0, 7, 0, $0 + anim_wait 8 + anim_obj ANIM_OBJ_60, 6, 4, 11, 0, $28 + anim_sound 0, 1, SFX_POISON_STING + anim_obj ANIM_OBJ_05, 16, 0, 6, 0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_POISON_STING + anim_obj ANIM_OBJ_05, -16, 4, 6, 4, $0 + anim_loop 3, .loop + anim_wait 16 + anim_ret +; ca51a + +BattleAnim_SpikeCannon: ; ca51a + anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT +.loop + anim_obj ANIM_OBJ_60, 8, 0, 11, 4, $18 + anim_wait 8 + anim_obj ANIM_OBJ_60, 7, 0, 10, 4, $18 + anim_sound 0, 1, SFX_POISON_STING + anim_obj ANIM_OBJ_05, -15, 0, 7, 0, $0 + anim_wait 8 + anim_obj ANIM_OBJ_60, 6, 4, 11, 0, $18 + anim_sound 0, 1, SFX_POISON_STING + anim_obj ANIM_OBJ_05, 16, 0, 6, 0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_POISON_STING + anim_obj ANIM_OBJ_05, -16, 4, 6, 4, $0 + anim_loop 3, .loop + anim_wait 16 + anim_ret +; ca54d + +BattleAnim_Transform: ; ca54d + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowPlayerHead_0 + anim_transform + anim_sound 0, 0, SFX_PSYBEAM + anim_bgeffect ANIM_BG_WAVE_DEFORM_USER, $0, $1, $0 + anim_wait 48 + anim_updateactorpic + anim_incbgeffect ANIM_BG_WAVE_DEFORM_USER + anim_wait 48 + anim_call BattleAnim_ShowMon_0 + anim_ret +; ca564 + +BattleAnim_PetalDance: ; ca564 + anim_sound 0, 0, SFX_MENU + anim_2gfx ANIM_GFX_FLOWER, ANIM_GFX_HIT +.loop + anim_obj ANIM_OBJ_61, 6, 0, 7, 0, $0 + anim_wait 11 + anim_loop 8, .loop + anim_wait 128 + anim_wait 64 + anim_sound 0, 1, SFX_COMET_PUNCH + anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0 + anim_wait 16 + anim_ret +; ca580 + +BattleAnim_Barrage: ; ca580 + anim_2gfx ANIM_GFX_EGG, ANIM_GFX_EXPLOSION + anim_sound 6, 2, SFX_THROW_BALL + anim_obj ANIM_OBJ_62, 8, 0, 11, 4, $10 + anim_wait 36 + anim_sound 0, 1, SFX_EGG_BOMB + anim_obj ANIM_OBJ_18, -15, 0, 7, 0, $0 + anim_wait 16 + anim_ret +; ca596 + +BattleAnim_PayDay: ; ca596 + anim_2gfx ANIM_GFX_HIT, ANIM_GFX_STATUS + anim_sound 0, 1, SFX_POUND + anim_obj ANIM_OBJ_01, 16, 0, 7, 0, $0 + anim_wait 16 + anim_sound 0, 1, SFX_PAY_DAY + anim_obj ANIM_OBJ_63, 15, 0, 9, 4, $1 + anim_wait 64 + anim_ret +; ca5ac + +BattleAnim_Mimic: ; ca5ac + anim_1gfx ANIM_GFX_SPEED + anim_obp0 $fc + anim_sound 63, 3, SFX_LICK + anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $0 + anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $8 + anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $10 + anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $18 + anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $20 + anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $28 + anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $30 + anim_obj ANIM_OBJ_65, -16, 4, 5, 4, $38 + anim_wait 128 + anim_wait 48 + anim_ret +; ca5de + +BattleAnim_LovelyKiss: ; ca5de + anim_2gfx ANIM_GFX_OBJECTS, ANIM_GFX_ANGELS + anim_bgeffect ANIM_BG_07, $0, $2, $0 + anim_obj ANIM_OBJ_96, -13, 0, 5, 0, $0 + anim_wait 32 + anim_sound 0, 1, SFX_LICK + anim_obj ANIM_OBJ_HEART, 16, 0, 5, 0, $0 + anim_wait 40 + anim_ret +; ca5f6 + +BattleAnim_Bonemerang: ; ca5f6 + anim_2gfx ANIM_GFX_MISC, ANIM_GFX_HIT + anim_sound 6, 2, SFX_HYDRO_PUMP + anim_obj ANIM_OBJ_67, 11, 0, 7, 0, $1c + anim_wait 24 + anim_sound 0, 1, SFX_MOVE_PUZZLE_PIECE + anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 + anim_wait 24 + anim_ret +; ca60c + +BattleAnim_Swift: ; ca60c + anim_1gfx ANIM_GFX_OBJECTS + anim_sound 6, 2, SFX_METRONOME + anim_obj ANIM_OBJ_6A, 8, 0, 11, 0, $4 + anim_wait 4 + anim_obj ANIM_OBJ_6A, 8, 0, 9, 0, $4 + anim_wait 4 + anim_obj ANIM_OBJ_6A, 8, 0, 9, 4, $4 + anim_wait 64 + anim_ret +; ca624 + +BattleAnim_Crabhammer: ; ca624 + anim_1gfx ANIM_GFX_HIT + anim_bgeffect ANIM_BG_1F, $40, $2, $0 + anim_wait 48 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3 +.loop + anim_sound 0, 1, SFX_MEGA_PUNCH + anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0 + anim_wait 12 + anim_loop 3, .loop + anim_ret +; ca63f + +BattleAnim_SkullBash: ; ca63f + anim_if_param_equal $1, BattleAnim_SkullBash_branch_c9fb5 + anim_1gfx ANIM_GFX_HIT + anim_bgeffect ANIM_BG_1F, $14, $2, $0 + anim_wait 32 + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3 + anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0 + anim_wait 4 +.loop + anim_sound 0, 1, SFX_HEADBUTT + anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 + anim_wait 8 + anim_loop 3, .loop + anim_call BattleAnim_ShowMon_0 + anim_ret +; ca66a + +BattleAnim_Kinesis: ; ca66a + anim_2gfx ANIM_GFX_MISC, ANIM_GFX_NOISE + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_obj ANIM_OBJ_6B, 10, 0, 9, 4, $0 + anim_wait 32 +.loop + anim_sound 0, 0, SFX_KINESIS + anim_obj ANIM_OBJ_4B, 8, 0, 11, 0, $0 + anim_wait 32 + anim_loop 3, .loop + anim_wait 32 + anim_sound 0, 0, SFX_KINESIS_2 + anim_wait 32 + anim_ret +; ca68b + +BattleAnim_Peck: ; ca68b + anim_1gfx ANIM_GFX_HIT + anim_sound 0, 1, SFX_PECK + anim_obj ANIM_OBJ_02, 16, 0, 6, 0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_PECK + anim_obj ANIM_OBJ_02, -15, 0, 7, 0, $0 + anim_wait 16 + anim_ret +; ca6a0 + +BattleAnim_DrillPeck: ; ca6a0 + anim_1gfx ANIM_GFX_HIT +.loop + anim_sound 0, 1, SFX_PECK + anim_obj ANIM_OBJ_02, 15, 4, 7, 0, $0 + anim_wait 4 + anim_sound 0, 1, SFX_PECK + anim_obj ANIM_OBJ_02, -16, 4, 6, 0, $0 + anim_wait 4 + anim_sound 0, 1, SFX_PECK + anim_obj ANIM_OBJ_02, -15, 4, 7, 0, $0 + anim_wait 4 + anim_sound 0, 1, SFX_PECK + anim_obj ANIM_OBJ_02, -16, 4, 8, 0, $0 + anim_wait 4 + anim_loop 5, .loop + anim_wait 16 + anim_ret +; ca6cc + +BattleAnim_Guillotine: ; ca6cc + anim_1gfx ANIM_GFX_CUT + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $10 + anim_bgeffect ANIM_BG_1F, $40, $2, $0 + anim_sound 0, 1, SFX_VICEGRIP + anim_obj ANIM_OBJ_37, -13, 4, 5, 4, $0 + anim_obj ANIM_OBJ_37, -13, 0, 5, 0, $0 + anim_obj ANIM_OBJ_37, -14, 4, 4, 4, $0 + anim_obj ANIM_OBJ_39, 15, 4, 9, 4, $0 + anim_obj ANIM_OBJ_39, 15, 0, 9, 0, $0 + anim_obj ANIM_OBJ_39, 14, 4, 8, 4, $0 + anim_obj ANIM_OBJ_39, 15, 0, 9, 0, $0 + anim_wait 32 + anim_ret +; ca700 + +BattleAnim_Flash: ; ca700 + anim_1gfx ANIM_GFX_SPEED + anim_sound 0, 1, SFX_FLASH + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $6, $20 + anim_wait 4 + anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $0 + anim_wait 4 + anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $8 + anim_wait 4 + anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $10 + anim_wait 4 + anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $18 + anim_wait 4 + anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $20 + anim_wait 4 + anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $28 + anim_wait 4 + anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $30 + anim_wait 4 + anim_obj ANIM_OBJ_6C, -15, 0, 7, 0, $38 + anim_wait 32 + anim_ret +; ca73c + +BattleAnim_Substitute: ; ca73c + anim_sound 0, 0, SFX_SURF + anim_if_param_equal $3, BattleAnim_Substitute_branch_ca77c + anim_if_param_equal $2, BattleAnim_Substitute_branch_ca76e + anim_if_param_equal $1, BattleAnim_Substitute_branch_ca760 + anim_1gfx ANIM_GFX_SMOKE + anim_bgeffect ANIM_BG_27, $0, $1, $0 + anim_wait 48 + anim_raisesub + anim_obj ANIM_OBJ_BALL_POOF, 6, 0, 12, 0, $0 + anim_bgeffect ANIM_BG_ENTER_MON, $0, $1, $0 + anim_wait 32 + anim_ret +; ca760 + +BattleAnim_Substitute_branch_ca760: ; ca760 + anim_bgeffect ANIM_BG_27, $0, $1, $0 + anim_wait 48 + anim_dropsub + anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 + anim_wait 32 + anim_ret +; ca76e + +BattleAnim_Substitute_branch_ca76e: ; ca76e + anim_bgeffect ANIM_BG_27, $0, $1, $0 + anim_wait 48 + anim_raisesub + anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 + anim_wait 32 + anim_ret +; ca77c + +BattleAnim_Substitute_branch_ca77c: ; ca77c + anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0 + anim_wait 48 + anim_dropsub + anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 + anim_wait 32 + anim_ret +; ca78a + +BattleAnim_Minimize: ; ca78a + anim_sound 0, 0, SFX_SURF + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowPlayerHead_0 + anim_minimize + anim_bgeffect ANIM_BG_WAVE_DEFORM_USER, $0, $1, $0 + anim_wait 48 + anim_updateactorpic + anim_incbgeffect ANIM_BG_WAVE_DEFORM_USER + anim_wait 48 + anim_call BattleAnim_ShowMon_0 + anim_ret +; ca7a1 + +BattleAnim_SkyAttack: ; ca7a1 + anim_if_param_equal $1, BattleAnim_SkyAttack_branch_c9fb5 + anim_1gfx ANIM_GFX_SKY_ATTACK + anim_bgeffect ANIM_BG_27, $0, $1, $0 + anim_wait 32 + anim_sound 0, 0, SFX_HYPER_BEAM + anim_obj ANIM_OBJ_SKY_ATTACK_FEAROW, 6, 0, 11, 0, $40 + anim_wait 64 + anim_incobj 1 + anim_wait 21 + anim_sound 0, 1, SFX_HYPER_BEAM + anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0 + anim_wait 64 + anim_incobj 1 + anim_wait 32 + anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 + anim_wait 16 + anim_ret +; ca7cc + +BattleAnim_NightShade: ; ca7cc + anim_1gfx ANIM_GFX_HIT + anim_bgp $1b + anim_obp1 $1b + anim_wait 32 + anim_call BattleAnim_FollowPlayerHead_1 + anim_bgeffect ANIM_BG_NIGHT_SHADE, $0, $0, $8 + anim_sound 0, 1, SFX_PSYCHIC + anim_wait 96 + anim_incbgeffect ANIM_BG_NIGHT_SHADE + anim_call BattleAnim_ShowMon_1 + anim_ret +; ca7e5 + +BattleAnim_Lick: ; ca7e5 + anim_1gfx ANIM_GFX_WATER + anim_sound 0, 1, SFX_LICK + anim_obj ANIM_OBJ_LICK, -15, 0, 7, 0, $0 + anim_wait 64 + anim_ret +; ca7f1 + +BattleAnim_TriAttack: ; ca7f1 + anim_3gfx ANIM_GFX_FIRE, ANIM_GFX_ICE, ANIM_GFX_LIGHTNING + anim_call BattleAnim_TriAttack_branch_cbbcc + anim_wait 16 + anim_call BattleAnim_TriAttack_branch_cbbdf + anim_wait 16 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $4 + anim_sound 0, 1, SFX_THUNDER + anim_obj ANIM_OBJ_2F, -13, 0, 8, 4, $0 + anim_wait 16 + anim_ret +; ca80c + +BattleAnim_Withdraw: ; ca80c + anim_1gfx ANIM_GFX_REFLECT + anim_call BattleAnim_FollowPlayerHead_0 + anim_bgeffect ANIM_BG_WITHDRAW, $0, $1, $50 + anim_wait 48 + anim_sound 0, 0, SFX_SHINE + anim_obj ANIM_OBJ_WITHDRAW, 6, 0, 11, 0, $0 + anim_wait 64 + anim_incobj 2 + anim_wait 1 + anim_incbgeffect ANIM_BG_WITHDRAW + anim_call BattleAnim_ShowMon_0 + anim_ret +; ca829 + +BattleAnim_Psybeam: ; ca829 + anim_1gfx ANIM_GFX_PSYCHIC + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_bgeffect ANIM_BG_08, $0, $4, $0 +.loop + anim_sound 6, 2, SFX_PSYBEAM + anim_obj ANIM_OBJ_4C, 8, 0, 11, 0, $4 + anim_wait 4 + anim_loop 10, .loop + anim_wait 48 + anim_ret +; ca844 + +BattleAnim_DreamEater: ; ca844 + anim_1gfx ANIM_GFX_BUBBLE + anim_bgp $1b + anim_obp0 $27 + anim_sound 6, 3, SFX_WATER_GUN + anim_call BattleAnim_DreamEater_branch_cbab3 + anim_wait 128 + anim_wait 48 + anim_ret +; ca853 + +BattleAnim_LeechLife: ; ca853 + anim_1gfx ANIM_GFX_BUBBLE + anim_sound 6, 3, SFX_WATER_GUN + anim_call BattleAnim_LeechLife_branch_cbab3 + anim_wait 128 + anim_wait 48 + anim_ret +; ca85e + +BattleAnim_Harden: ; ca85e + anim_1gfx ANIM_GFX_REFLECT + anim_obp0 $0 + anim_call BattleAnim_FollowEnemyFeet_0 + anim_call BattleAnim_Harden_branch_cbc43 + anim_call BattleAnim_ShowMon_0 + anim_ret +; ca86c + +BattleAnim_Psywave: ; ca86c + anim_1gfx ANIM_GFX_PSYCHIC + anim_bgeffect ANIM_BG_PSYCHIC, $0, $0, $0 +.loop + anim_sound 6, 2, SFX_PSYCHIC + anim_obj ANIM_OBJ_4C, 8, 0, 10, 0, $2 + anim_wait 8 + anim_sound 6, 2, SFX_PSYCHIC + anim_obj ANIM_OBJ_4C, 8, 0, 11, 0, $3 + anim_wait 8 + anim_sound 6, 2, SFX_PSYCHIC + anim_obj ANIM_OBJ_4C, 8, 0, 12, 0, $4 + anim_wait 8 + anim_loop 3, .loop + anim_wait 32 + anim_incbgeffect ANIM_BG_PSYCHIC + anim_wait 4 + anim_ret +; ca897 + +BattleAnim_Glare: ; ca897 + anim_1gfx ANIM_GFX_BEAM + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $20 + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_call BattleAnim_Glare_branch_cbadc + anim_wait 16 + anim_ret +; ca8a8 + +BattleAnim_Thrash: ; ca8a8 + anim_1gfx ANIM_GFX_HIT + anim_sound 0, 1, SFX_POUND + anim_obj ANIM_OBJ_08, 15, 0, 9, 0, $0 + anim_obj ANIM_OBJ_00, 15, 0, 9, 0, $0 + anim_wait 6 + anim_sound 0, 1, SFX_MOVE_PUZZLE_PIECE + anim_obj ANIM_OBJ_06, -15, 0, 7, 0, $0 + anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0 + anim_wait 6 + anim_sound 0, 1, SFX_DOUBLE_KICK + anim_obj ANIM_OBJ_07, -13, 0, 5, 0, $0 + anim_obj ANIM_OBJ_00, -13, 0, 5, 0, $0 + anim_wait 16 + anim_ret +; ca8d5 + +BattleAnim_Growth: ; ca8d5 + anim_bgeffect ANIM_BG_WHITE_HUES, $0, $8, $0 + anim_1gfx ANIM_GFX_CHARGE + anim_sound 0, 0, SFX_SWORDS_DANCE + anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $0 + anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $8 + anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $10 + anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $18 + anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $20 + anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $28 + anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $30 + anim_obj ANIM_OBJ_72, 6, 0, 13, 4, $38 + anim_wait 64 + anim_ret +; ca909 + +BattleAnim_Conversion2: ; ca909 + anim_1gfx ANIM_GFX_EXPLOSION + anim_sound 63, 3, SFX_SHARPEN + anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $0 + anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $8 + anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $10 + anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $18 + anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $20 + anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $28 + anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $30 + anim_obj ANIM_OBJ_73, -16, 4, 5, 4, $38 + anim_wait 128 + anim_wait 48 + anim_ret +; ca939 + +BattleAnim_Smokescreen: ; ca939 + anim_3gfx ANIM_GFX_HAZE, ANIM_GFX_EGG, ANIM_GFX_SMOKE + anim_sound 6, 2, SFX_THROW_BALL + anim_obj ANIM_OBJ_75, 8, 0, 11, 4, $6c + anim_wait 24 + anim_incobj 1 + anim_sound 0, 1, SFX_BALL_POOF + anim_obj ANIM_OBJ_BALL_POOF, 13, 4, 8, 6, $10 + anim_wait 8 +.loop + anim_sound 0, 1, SFX_MENU + anim_obj ANIM_OBJ_74, -16, 4, 7, 4, $20 + anim_wait 8 + anim_loop 5, .loop + anim_wait 128 + anim_ret +; ca960 + +BattleAnim_Strength: ; ca960 + anim_2gfx ANIM_GFX_ROCKS, ANIM_GFX_HIT + anim_bgeffect ANIM_BG_20, $10, $1, $20 + anim_sound 0, 0, SFX_STRENGTH + anim_obj ANIM_OBJ_1F, 8, 0, 13, 0, $1 + anim_wait 128 + anim_incobj 1 + anim_wait 20 + anim_sound 0, 1, SFX_MEGA_PUNCH + anim_obj ANIM_OBJ_00, -16, 4, 5, 0, $0 + anim_wait 16 + anim_ret +; ca97e + +BattleAnim_SwordsDance: ; ca97e + anim_1gfx ANIM_GFX_WHIP + anim_sound 0, 0, SFX_SWORDS_DANCE + anim_obj ANIM_OBJ_76, 6, 0, 13, 4, $0 + anim_obj ANIM_OBJ_76, 6, 0, 13, 4, $d + anim_obj ANIM_OBJ_76, 6, 0, 13, 4, $1a + anim_obj ANIM_OBJ_76, 6, 0, 13, 4, $27 + anim_obj ANIM_OBJ_76, 6, 0, 13, 4, $34 + anim_wait 56 + anim_ret +; ca99e + +BattleAnim_QuickAttack: ; ca99e + anim_2gfx ANIM_GFX_SPEED, ANIM_GFX_HIT + anim_sound 0, 0, SFX_MENU + anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0 + anim_obj ANIM_OBJ_77, 3, 0, 11, 0, $2 + anim_obj ANIM_OBJ_77, 4, 0, 11, 0, $1 + anim_obj ANIM_OBJ_77, 5, 0, 11, 0, $0 + anim_obj ANIM_OBJ_77, 6, 0, 11, 0, $80 + anim_obj ANIM_OBJ_77, 7, 0, 11, 0, $81 + anim_obj ANIM_OBJ_77, 8, 0, 11, 0, $82 + anim_wait 12 + anim_sound 0, 1, SFX_COMET_PUNCH + anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 + anim_wait 8 + anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 + anim_wait 16 + anim_ret +; ca9d8 + +BattleAnim_Meditate: ; ca9d8 + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowEnemyFeet_0 + anim_sound 0, 0, SFX_PSYBEAM + anim_bgeffect ANIM_BG_WAVE_DEFORM_USER, $0, $1, $0 + anim_wait 48 + anim_incbgeffect ANIM_BG_WAVE_DEFORM_USER + anim_wait 48 + anim_call BattleAnim_ShowMon_0 + anim_ret +; ca9ed + +BattleAnim_Sharpen: ; ca9ed + anim_1gfx ANIM_GFX_SHAPES + anim_obp0 $e4 + anim_call BattleAnim_FollowEnemyFeet_0 + anim_sound 0, 0, SFX_SHARPEN + anim_bgeffect ANIM_BG_18, $0, $1, $40 + anim_obj ANIM_OBJ_78, 6, 0, 11, 0, $0 + anim_wait 96 + anim_incobj 2 + anim_incbgeffect ANIM_BG_18 + anim_call BattleAnim_ShowMon_0 + anim_ret +; caa0a + +BattleAnim_DefenseCurl: ; caa0a + anim_1gfx ANIM_GFX_SHAPES + anim_obp0 $e4 + anim_call BattleAnim_FollowEnemyFeet_0 + anim_sound 0, 0, SFX_SHARPEN + anim_bgeffect ANIM_BG_18, $0, $1, $40 + anim_obj ANIM_OBJ_79, 6, 0, 11, 0, $0 + anim_wait 96 + anim_incobj 2 + anim_incbgeffect ANIM_BG_18 + anim_call BattleAnim_ShowMon_0 + anim_ret +; caa27 + +BattleAnim_SeismicToss: ; caa27 + anim_2gfx ANIM_GFX_GLOBE, ANIM_GFX_HIT + anim_bgeffect ANIM_BG_20, $10, $1, $20 + anim_sound 0, 0, SFX_STRENGTH + anim_obj ANIM_OBJ_20, 8, 0, 13, 0, $1 + anim_wait 128 + anim_incobj 1 + anim_wait 20 + anim_sound 0, 1, SFX_MEGA_PUNCH + anim_obj ANIM_OBJ_00, -16, 4, 5, 0, $0 + anim_wait 16 + anim_ret +; caa45 + +BattleAnim_Rage: ; caa45 + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_1A, $0, $1, $20 + anim_sound 0, 0, SFX_RAGE + anim_wait 72 + anim_incbgeffect ANIM_BG_1A + anim_call BattleAnim_ShowMon_0 + anim_sound 0, 1, SFX_MOVE_PUZZLE_PIECE + anim_obj ANIM_OBJ_00, 15, 0, 9, 0, $0 + anim_wait 6 + anim_sound 0, 1, SFX_COMET_PUNCH + anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0 + anim_wait 6 + anim_sound 0, 1, SFX_MEGA_PUNCH + anim_obj ANIM_OBJ_00, -13, 0, 5, 0, $0 + anim_wait 16 + anim_ret +; caa74 + +BattleAnim_Agility: ; caa74 + anim_1gfx ANIM_GFX_WIND + anim_obp0 $fc + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_18, $0, $1, $40 + anim_obj ANIM_OBJ_7D, 1, 0, 3, 0, $10 + anim_obj ANIM_OBJ_7D, 1, 0, 6, 0, $2 + anim_obj ANIM_OBJ_7D, 1, 0, 11, 0, $8 + anim_wait 4 + anim_obj ANIM_OBJ_7D, 1, 0, 4, 0, $6 + anim_obj ANIM_OBJ_7D, 1, 0, 7, 0, $c + anim_obj ANIM_OBJ_7D, 1, 0, 10, 0, $4 + anim_obj ANIM_OBJ_7D, 1, 0, 13, 0, $e +.loop + anim_sound 0, 0, SFX_RAZOR_WIND + anim_wait 4 + anim_loop 18, .loop + anim_incbgeffect ANIM_BG_18 + anim_call BattleAnim_ShowMon_0 + anim_ret +; caab2 + +BattleAnim_BoneClub: ; caab2 + anim_2gfx ANIM_GFX_HIT, ANIM_GFX_MISC + anim_obj ANIM_OBJ_68, 8, 0, 11, 0, $2 + anim_wait 32 + anim_sound 0, 1, SFX_BONE_CLUB + anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 + anim_wait 16 + anim_ret +; caac5 + +BattleAnim_Barrier: ; caac5 + anim_1gfx ANIM_GFX_REFLECT + anim_enemyfeetobj + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_wait 8 + anim_sound 0, 0, SFX_SHINE + anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0 + anim_wait 32 + anim_sound 0, 0, SFX_SHINE + anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0 + anim_wait 32 + anim_ret +; caae1 + +BattleAnim_Waterfall: ; caae1 + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowPlayerHead_0 + anim_bgeffect ANIM_BG_25, $0, $1, $0 + anim_wait 16 + anim_call BattleAnim_ShowMon_0 + anim_sound 0, 1, SFX_LICK + anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 + anim_wait 3 + anim_sound 0, 1, SFX_LICK + anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0 + anim_wait 3 + anim_sound 0, 1, SFX_LICK + anim_obj ANIM_OBJ_01, -15, 0, 5, 0, $0 + anim_wait 3 + anim_sound 0, 1, SFX_LICK + anim_obj ANIM_OBJ_01, -15, 0, 4, 0, $0 + anim_wait 3 + anim_sound 0, 1, SFX_LICK + anim_obj ANIM_OBJ_01, -15, 0, 3, 0, $0 + anim_wait 8 + anim_ret +; cab1d + +BattleAnim_PsychicM: ; cab1d + anim_1gfx ANIM_GFX_PSYCHIC + anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0 + anim_bgeffect ANIM_BG_PSYCHIC, $0, $0, $0 +.loop + anim_sound 6, 2, SFX_PSYCHIC + anim_obj ANIM_OBJ_4C, 8, 0, 11, 0, $2 + anim_wait 8 + anim_loop 8, .loop + anim_wait 96 + anim_incbgeffect ANIM_BG_PSYCHIC + anim_wait 4 + anim_ret +; cab3b + +BattleAnim_Sludge: ; cab3b + anim_1gfx ANIM_GFX_POISON + anim_call BattleAnim_Sludge_branch_cbc15 + anim_wait 56 + anim_ret +; cab42 + +BattleAnim_Toxic: ; cab42 + anim_1gfx ANIM_GFX_POISON + anim_bgeffect ANIM_BG_BLACK_HUES, $0, $8, $0 + anim_call BattleAnim_Toxic_branch_cbc35 + anim_wait 32 + anim_call BattleAnim_Toxic_branch_cbc15 + anim_wait 64 + anim_ret +; cab52 + +BattleAnim_Metronome: ; cab52 + anim_2gfx ANIM_GFX_MISC, ANIM_GFX_SPEED + anim_sound 0, 0, SFX_METRONOME + anim_obj ANIM_OBJ_7A, 9, 0, 11, 0, $0 +.loop + anim_obj ANIM_OBJ_7B, 9, 0, 10, 0, $0 + anim_wait 8 + anim_loop 5, .loop + anim_wait 48 + anim_ret +; cab69 + +BattleAnim_Counter: ; cab69 + anim_1gfx ANIM_GFX_HIT +.loop + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $6, $2 + anim_sound 0, 1, SFX_POUND + anim_obj ANIM_OBJ_08, 15, 0, 9, 0, $0 + anim_obj ANIM_OBJ_00, 15, 0, 9, 0, $0 + anim_wait 6 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $6, $2 + anim_sound 0, 1, SFX_COMET_PUNCH + anim_obj ANIM_OBJ_06, -15, 0, 5, 0, $0 + anim_obj ANIM_OBJ_00, -15, 0, 5, 0, $0 + anim_wait 6 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $6, $2 + anim_sound 0, 1, SFX_MEGA_KICK + anim_obj ANIM_OBJ_07, -13, 0, 7, 0, $0 + anim_obj ANIM_OBJ_00, -13, 0, 7, 0, $0 + anim_wait 6 + anim_loop 3, .loop + anim_wait 16 + anim_ret +; cabaa + +BattleAnim_LowKick: ; cabaa + anim_1gfx ANIM_GFX_HIT + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2 + anim_sound 0, 1, SFX_DOUBLE_KICK + anim_obj ANIM_OBJ_07, 15, 4, 8, 0, $0 + anim_obj ANIM_OBJ_00, 15, 4, 8, 0, $0 + anim_wait 6 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2 + anim_sound 0, 1, SFX_DOUBLE_KICK + anim_obj ANIM_OBJ_07, -16, 4, 8, 0, $0 + anim_obj ANIM_OBJ_00, -16, 4, 8, 0, $0 + anim_wait 6 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2 + anim_sound 0, 1, SFX_DOUBLE_KICK + anim_obj ANIM_OBJ_07, -15, 4, 8, 0, $0 + anim_obj ANIM_OBJ_00, -15, 4, 8, 0, $0 + anim_wait 16 + anim_ret +; cabe6 + +BattleAnim_WingAttack: ; cabe6 + anim_1gfx ANIM_GFX_HIT + anim_sound 0, 1, SFX_WING_ATTACK + anim_obj ANIM_OBJ_01, -14, 4, 7, 0, $0 + anim_obj ANIM_OBJ_01, 14, 4, 7, 0, $0 + anim_wait 6 + anim_sound 0, 1, SFX_WING_ATTACK + anim_obj ANIM_OBJ_01, -14, 0, 7, 0, $0 + anim_obj ANIM_OBJ_01, 15, 0, 7, 0, $0 + anim_wait 6 + anim_sound 0, 1, SFX_WING_ATTACK + anim_obj ANIM_OBJ_01, -15, 4, 7, 0, $0 + anim_obj ANIM_OBJ_01, 15, 4, 7, 0, $0 + anim_wait 16 + anim_ret +; cac13 + +BattleAnim_Slam: ; cac13 + anim_1gfx ANIM_GFX_HIT + anim_sound 0, 1, SFX_WING_ATTACK + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $2 + anim_obj ANIM_OBJ_01, 15, 4, 5, 0, $0 + anim_wait 16 + anim_ret +; cac24 + +BattleAnim_Disable: ; cac24 + anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_STATUS + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_obj ANIM_OBJ_7C, -16, 4, 7, 0, $0 + anim_wait 16 + anim_sound 0, 1, SFX_BIND + anim_obj ANIM_OBJ_PARALYZED, 13, 0, 7, 0, $42 + anim_obj ANIM_OBJ_PARALYZED, -12, 0, 7, 0, $c2 + anim_wait 96 + anim_ret +; cac41 + +BattleAnim_TailWhip: ; cac41 + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowPlayerHead_0 + anim_sound 0, 0, SFX_TAIL_WHIP + anim_bgeffect ANIM_BG_26, $0, $1, $0 + anim_wait 32 + anim_incbgeffect ANIM_BG_26 + anim_call BattleAnim_ShowMon_0 + anim_ret +; cac55 + +BattleAnim_Struggle: ; cac55 + anim_1gfx ANIM_GFX_HIT + anim_sound 0, 1, SFX_POUND + anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 + anim_wait 16 + anim_ret +; cac61 + +BattleAnim_Sketch: ; cac61 + anim_1gfx ANIM_GFX_OBJECTS + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_1A, $0, $1, $20 + anim_sound 0, 0, SFX_SKETCH + anim_obj ANIM_OBJ_98, 9, 0, 10, 0, $0 + anim_wait 80 + anim_incbgeffect ANIM_BG_1A + anim_call BattleAnim_ShowMon_0 + anim_wait 1 + anim_ret +; cac7b + +BattleAnim_TripleKick: ; cac7b + anim_1gfx ANIM_GFX_HIT + anim_if_param_equal $1, BattleAnim_TripleKick_branch_cac95 + anim_if_param_equal $2, BattleAnim_TripleKick_branch_caca5 + anim_sound 0, 1, SFX_MEGA_KICK + anim_obj ANIM_OBJ_07, -14, 0, 6, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_01, -14, 0, 6, 0, $0 + anim_wait 8 + anim_ret +; cac95 + +BattleAnim_TripleKick_branch_cac95: ; cac95 + anim_sound 0, 1, SFX_DOUBLE_KICK + anim_obj ANIM_OBJ_07, 15, 0, 8, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_01, 15, 0, 8, 0, $0 + anim_wait 8 + anim_ret +; caca5 + +BattleAnim_TripleKick_branch_caca5: ; caca5 + anim_sound 0, 1, SFX_DOUBLE_KICK + anim_obj ANIM_OBJ_07, -16, 4, 4, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_01, -16, 4, 4, 0, $0 + anim_wait 8 + anim_ret +; cacb5 + +BattleAnim_Thief: ; cacb5 + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0 + anim_wait 16 + anim_sound 0, 1, SFX_THIEF + anim_obj ANIM_OBJ_01, 16, 0, 6, 0, $0 + anim_wait 16 + anim_call BattleAnim_ShowMon_0 + anim_wait 1 + anim_1gfx ANIM_GFX_STATUS + anim_sound 0, 1, SFX_THIEF_2 + anim_obj ANIM_OBJ_8B, 15, 0, 9, 4, $1 + anim_wait 64 + anim_ret +; cacd9 + +BattleAnim_SpiderWeb: ; cacd9 + anim_1gfx ANIM_GFX_WEB + anim_bgeffect ANIM_BG_07, $0, $2, $0 + anim_obj ANIM_OBJ_92, -16, 4, 6, 0, $0 + anim_sound 6, 2, SFX_SPIDER_WEB + anim_obj ANIM_OBJ_5A, 8, 0, 10, 0, $0 + anim_wait 4 + anim_obj ANIM_OBJ_5A, 8, 0, 11, 0, $0 + anim_wait 4 + anim_obj ANIM_OBJ_5A, 8, 0, 10, 4, $0 + anim_wait 64 + anim_ret +; cacfb + +BattleAnim_MindReader: ; cacfb + anim_1gfx ANIM_GFX_MISC + anim_sound 0, 1, SFX_MIND_READER +.loop + anim_obj ANIM_OBJ_88, -16, 4, 6, 0, $3 + anim_obj ANIM_OBJ_88, -16, 4, 6, 0, $12 + anim_obj ANIM_OBJ_88, -16, 4, 6, 0, $20 + anim_obj ANIM_OBJ_88, -16, 4, 6, 0, $31 + anim_wait 16 + anim_loop 2, .loop + anim_wait 32 + anim_ret +; cad1b + +BattleAnim_Nightmare: ; cad1b + anim_1gfx ANIM_GFX_ANGELS + anim_bgp $1b + anim_obp0 $f + anim_obj ANIM_OBJ_94, -16, 4, 5, 0, $0 + anim_obj ANIM_OBJ_94, -16, 4, 5, 0, $a0 + anim_sound 0, 1, SFX_NIGHTMARE + anim_wait 96 + anim_ret +; cad30 + +BattleAnim_FlameWheel: ; cad30 + anim_1gfx ANIM_GFX_FIRE +.loop + anim_sound 0, 0, SFX_EMBER + anim_obj ANIM_OBJ_7F, 6, 0, 12, 0, $0 + anim_wait 6 + anim_loop 8, .loop + anim_wait 96 + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0 + anim_wait 4 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3 + anim_sound 0, 1, SFX_EMBER + anim_obj ANIM_OBJ_0F, -15, 0, 6, 0, $1 + anim_obj ANIM_OBJ_0F, -15, 0, 6, 0, $4 + anim_obj ANIM_OBJ_0F, -15, 0, 6, 0, $5 + anim_wait 8 + anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0 + anim_wait 4 + anim_incobj 9 + anim_wait 8 + anim_ret +; cad6b + +BattleAnim_Snore: ; cad6b + anim_2gfx ANIM_GFX_STATUS, ANIM_GFX_NOISE + anim_obj ANIM_OBJ_54, 8, 0, 10, 0, $0 + anim_wait 32 + anim_bgeffect ANIM_BG_1F, $60, $2, $0 + anim_sound 0, 0, SFX_SNORE +.loop + anim_call BattleAnim_Snore_branch_cbbbc + anim_wait 16 + anim_loop 2, .loop + anim_wait 8 + anim_ret +; cad86 + +BattleAnim_Curse: ; cad86 + anim_if_param_equal $1, .NotGhost + anim_2gfx ANIM_GFX_HIT, ANIM_GFX_OBJECTS + anim_obj ANIM_OBJ_A5, 8, 4, 9, 0, $0 + anim_sound 0, 0, SFX_CURSE + anim_wait 32 + anim_incobj 1 + anim_wait 12 + anim_sound 0, 0, SFX_POISON_STING + anim_obj ANIM_OBJ_04, 5, 4, 12, 0, $0 + anim_wait 16 + anim_ret +; cada3 + +.NotGhost: ; cada3 + anim_1gfx ANIM_GFX_SPEED + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_19, $0, $1, $40 + anim_sound 0, 0, SFX_SHARPEN + anim_wait 64 + anim_incbgeffect ANIM_BG_19 + anim_wait 1 + anim_bgeffect ANIM_BG_16, $0, $1, $40 +.loop + anim_sound 0, 0, SFX_SWORDS_DANCE + anim_obj ANIM_OBJ_47, 5, 4, 13, 4, $6 + anim_wait 2 + anim_obj ANIM_OBJ_47, 4, 4, 13, 4, $6 + anim_wait 2 + anim_obj ANIM_OBJ_47, 6, 4, 13, 4, $8 + anim_wait 2 + anim_obj ANIM_OBJ_47, 3, 4, 13, 4, $8 + anim_wait 2 + anim_obj ANIM_OBJ_47, 7, 4, 13, 4, $6 + anim_wait 2 + anim_obj ANIM_OBJ_47, 2, 4, 13, 4, $8 + anim_wait 2 + anim_obj ANIM_OBJ_47, 8, 4, 13, 4, $8 + anim_wait 2 + anim_loop 3, .loop + anim_wait 8 + anim_incbgeffect ANIM_BG_16 + anim_call BattleAnim_ShowMon_0 + anim_ret +; cadf1 + +BattleAnim_Flail: ; cadf1 + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowEnemyFeet_0 + anim_sound 0, 0, SFX_SUBMISSION + anim_bgeffect ANIM_BG_2C, $0, $1, $0 + anim_wait 8 + anim_obj ANIM_OBJ_01, 15, 0, 6, 0, $0 + anim_wait 8 + anim_obj ANIM_OBJ_01, -13, 0, 6, 0, $0 + anim_wait 8 + anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0 + anim_wait 8 + anim_incbgeffect ANIM_BG_2C + anim_call BattleAnim_ShowMon_0 + anim_ret +; cae17 + +BattleAnim_Conversion: ; cae17 + anim_1gfx ANIM_GFX_EXPLOSION + anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0 + anim_sound 63, 3, SFX_SHARPEN + anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $0 + anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $8 + anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $10 + anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $18 + anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $20 + anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $28 + anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $30 + anim_obj ANIM_OBJ_91, 6, 0, 11, 0, $38 + anim_wait 128 + anim_ret +; cae4b + +BattleAnim_Aeroblast: ; cae4b + anim_2gfx ANIM_GFX_BEAM, ANIM_GFX_AEROBLAST + anim_bgp $1b + anim_bgeffect ANIM_BG_1F, $50, $4, $10 + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_sound 0, 0, SFX_AEROBLAST + anim_obj ANIM_OBJ_B3, 9, 0, 11, 0, $0 + anim_wait 32 + anim_sound 0, 0, SFX_HYPER_BEAM + anim_obj ANIM_OBJ_27, 10, 0, 10, 4, $0 + anim_wait 2 + anim_sound 0, 1, SFX_HYPER_BEAM + anim_obj ANIM_OBJ_27, 12, 0, 9, 4, $0 + anim_wait 2 + anim_sound 0, 1, SFX_HYPER_BEAM + anim_obj ANIM_OBJ_27, 14, 0, 8, 4, $0 + anim_obj ANIM_OBJ_28, 15, 6, 7, 6, $0 + anim_wait 48 + anim_ret +; cae84 + +BattleAnim_CottonSpore: ; cae84 + anim_obp0 $54 + anim_1gfx ANIM_GFX_MISC + anim_sound 0, 1, SFX_POWDER +.loop ; cae8b + anim_obj ANIM_OBJ_COTTON_SPORE, -16, 4, 4, 0, $0 + anim_wait 8 + anim_loop 5, .loop + anim_wait 96 + anim_ret +; cae97 + +BattleAnim_Reversal: ; cae97 + anim_2gfx ANIM_GFX_SHINE, ANIM_GFX_HIT + anim_bgeffect ANIM_BG_07, $0, $0, $0 + anim_sound 0, 1, SFX_MEGA_PUNCH + anim_obj ANIM_OBJ_04, 14, 0, 8, 0, $0 + anim_wait 2 + anim_sound 0, 1, SFX_SHINE + anim_obj ANIM_OBJ_A7, 15, 0, 7, 0, $0 + anim_wait 2 + anim_sound 0, 1, SFX_MEGA_PUNCH + anim_obj ANIM_OBJ_04, 16, 0, 7, 0, $0 + anim_wait 2 + anim_sound 0, 1, SFX_SHINE + anim_obj ANIM_OBJ_A7, -15, 0, 6, 0, $0 + anim_wait 2 + anim_sound 0, 1, SFX_MEGA_PUNCH + anim_obj ANIM_OBJ_04, -14, 0, 6, 0, $0 + anim_wait 2 + anim_sound 0, 1, SFX_SHINE + anim_obj ANIM_OBJ_A7, -13, 0, 5, 0, $0 + anim_wait 24 + anim_ret +; caed6 + +BattleAnim_Spite: ; caed6 + anim_1gfx ANIM_GFX_ANGELS + anim_obj ANIM_OBJ_A4, -16, 4, 2, 0, $0 + anim_sound 0, 1, SFX_SPITE + anim_wait 96 + anim_ret +; caee2 + +BattleAnim_PowderSnow: ; caee2 + anim_1gfx ANIM_GFX_ICE +.loop ; caee4 + anim_sound 6, 2, SFX_SHINE + anim_obj ANIM_OBJ_8F, 8, 0, 11, 0, $23 + anim_wait 2 + anim_sound 6, 2, SFX_SHINE + anim_obj ANIM_OBJ_8F, 8, 0, 10, 0, $24 + anim_wait 2 + anim_sound 6, 2, SFX_SHINE + anim_obj ANIM_OBJ_8F, 8, 0, 12, 0, $23 + anim_wait 2 + anim_loop 2, .loop + anim_bgeffect ANIM_BG_WHITE_HUES, $0, $8, $0 + anim_wait 40 + anim_call BattleAnim_PowderSnow_branch_cbbdf + anim_wait 32 + anim_ret +; caf0e + +BattleAnim_Protect: ; caf0e + anim_1gfx ANIM_GFX_OBJECTS + anim_bgeffect ANIM_BG_07, $0, $2, $0 + anim_obj ANIM_OBJ_8A, 10, 0, 10, 0, $0 + anim_obj ANIM_OBJ_8A, 10, 0, 10, 0, $d + anim_obj ANIM_OBJ_8A, 10, 0, 10, 0, $1a + anim_obj ANIM_OBJ_8A, 10, 0, 10, 0, $27 + anim_obj ANIM_OBJ_8A, 10, 0, 10, 0, $34 + anim_sound 0, 0, SFX_PROTECT + anim_wait 96 + anim_ret +; caf33 + +BattleAnim_MachPunch: ; caf33 + anim_2gfx ANIM_GFX_SPEED, ANIM_GFX_HIT + anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0 + anim_sound 0, 0, SFX_MENU + anim_obj ANIM_OBJ_77, 3, 0, 11, 0, $2 + anim_obj ANIM_OBJ_77, 4, 0, 11, 0, $1 + anim_obj ANIM_OBJ_77, 5, 0, 11, 0, $0 + anim_obj ANIM_OBJ_77, 6, 0, 11, 0, $80 + anim_obj ANIM_OBJ_77, 7, 0, 11, 0, $81 + anim_obj ANIM_OBJ_77, 8, 0, 11, 0, $82 + anim_wait 12 + anim_sound 0, 1, SFX_MEGA_PUNCH + anim_obj ANIM_OBJ_06, -15, 0, 7, 0, $0 + anim_wait 6 + anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 + anim_wait 8 + anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 + anim_wait 16 + anim_ret +; caf73 + +BattleAnim_ScaryFace: ; caf73 + anim_1gfx ANIM_GFX_BEAM + anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0 + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_call BattleAnim_ScaryFace_branch_cbadc + anim_wait 64 + anim_ret +; caf84 + +BattleAnim_FaintAttack: ; caf84 + anim_1gfx ANIM_GFX_HIT + anim_sound 0, 0, SFX_CURSE + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_1D, $0, $1, $80 + anim_wait 96 + anim_sound 0, 1, SFX_COMET_PUNCH + anim_obj ANIM_OBJ_04, 15, 0, 4, 0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_COMET_PUNCH + anim_obj ANIM_OBJ_04, -13, 0, 5, 0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_COMET_PUNCH + anim_obj ANIM_OBJ_04, -15, 0, 6, 0, $0 + anim_wait 32 + anim_incbgeffect ANIM_BG_1D + anim_call BattleAnim_ShowMon_0 + anim_wait 4 + anim_ret +; cafb4 + +BattleAnim_SweetKiss: ; cafb4 + anim_2gfx ANIM_GFX_OBJECTS, ANIM_GFX_ANGELS + anim_bgeffect ANIM_BG_07, $0, $2, $0 + anim_obj ANIM_OBJ_97, 12, 0, 5, 0, $0 + anim_sound 0, 1, SFX_SWEET_KISS + anim_wait 32 + anim_sound 0, 1, SFX_SWEET_KISS_2 + anim_obj ANIM_OBJ_HEART, 15, 0, 5, 0, $0 + anim_wait 40 + anim_ret +; cafcf + +BattleAnim_BellyDrum: ; cafcf + anim_2gfx ANIM_GFX_HIT, ANIM_GFX_NOISE + anim_sound 0, 0, SFX_BELLY_DRUM + anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0 + anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8 + anim_wait 24 + anim_sound 0, 0, SFX_BELLY_DRUM + anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0 + anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8 + anim_wait 24 + anim_sound 0, 0, SFX_BELLY_DRUM + anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0 + anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8 + anim_wait 12 + anim_sound 0, 0, SFX_BELLY_DRUM + anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0 + anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8 + anim_wait 12 + anim_sound 0, 0, SFX_BELLY_DRUM + anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0 + anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8 + anim_wait 24 + anim_sound 0, 0, SFX_BELLY_DRUM + anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0 + anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8 + anim_wait 12 + anim_sound 0, 0, SFX_BELLY_DRUM + anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0 + anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8 + anim_wait 12 + anim_sound 0, 0, SFX_BELLY_DRUM + anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0 + anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8 + anim_wait 12 + anim_sound 0, 0, SFX_BELLY_DRUM + anim_obj ANIM_OBJ_AA, 8, 0, 13, 0, $0 + anim_obj ANIM_OBJ_AB, 8, 0, 11, 4, $f8 + anim_wait 12 + anim_ret +; cb051 + +BattleAnim_SludgeBomb: ; cb051 + anim_2gfx ANIM_GFX_EGG, ANIM_GFX_POISON + anim_bgeffect ANIM_BG_BLACK_HUES, $0, $8, $0 + anim_sound 6, 2, SFX_SLUDGE_BOMB + anim_obj ANIM_OBJ_62, 8, 0, 11, 4, $10 + anim_wait 36 + anim_call BattleAnim_SludgeBomb_branch_cbc15 + anim_wait 64 + anim_ret +; cb067 + +BattleAnim_MudSlap: ; cb067 + anim_1gfx ANIM_GFX_SAND + anim_obp0 $fc + anim_call BattleAnim_MudSlap_branch_cbc5b + anim_ret +; cb06f + +BattleAnim_Octazooka: ; cb06f + anim_3gfx ANIM_GFX_HAZE, ANIM_GFX_EGG, ANIM_GFX_SMOKE + anim_sound 6, 2, SFX_SLUDGE_BOMB + anim_obj ANIM_OBJ_8C, 8, 0, 11, 4, $4 + anim_wait 16 + anim_obj ANIM_OBJ_BALL_POOF, -16, 4, 7, 0, $10 + anim_wait 8 + anim_if_param_equal $0, .done +.loop + anim_obj ANIM_OBJ_74, -16, 4, 7, 4, $20 + anim_wait 8 + anim_loop 5, .loop + anim_wait 128 +.done + anim_ret +; cb092 + +BattleAnim_Spikes: ; cb092 + anim_1gfx ANIM_GFX_MISC + anim_sound 6, 2, SFX_MENU + anim_obj ANIM_OBJ_SPIKES, 6, 0, 11, 0, $20 + anim_wait 8 + anim_sound 6, 2, SFX_MENU + anim_obj ANIM_OBJ_SPIKES, 6, 0, 11, 0, $30 + anim_wait 8 + anim_sound 6, 2, SFX_MENU + anim_obj ANIM_OBJ_SPIKES, 6, 0, 11, 0, $28 + anim_wait 64 + anim_ret +; cb0b0 + +BattleAnim_ZapCannon: ; cb0b0 + anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_EXPLOSION + anim_bgp $1b + anim_obp0 $30 + anim_sound 6, 2, SFX_ZAP_CANNON + anim_obj ANIM_OBJ_A3, 8, 0, 11, 4, $2 + anim_wait 40 + anim_sound 0, 1, SFX_THUNDERSHOCK + anim_obj ANIM_OBJ_LIGHTNING_BOLT, -15, 0, 7, 0, $2 + anim_wait 16 + anim_obj ANIM_OBJ_31, -15, 0, 7, 0, $0 + anim_wait 128 + anim_ret +; cb0d0 + +BattleAnim_Foresight: ; cb0d0 + anim_1gfx ANIM_GFX_SHINE + anim_call BattleAnim_FollowEnemyFeet_1 + anim_bgeffect ANIM_BG_07, $0, $0, $0 + anim_sound 0, 1, SFX_FORESIGHT + anim_obj ANIM_OBJ_A7, -16, 4, 5, 0, $0 + anim_wait 24 + anim_bgeffect ANIM_BG_19, $0, $0, $40 + anim_wait 64 + anim_incbgeffect ANIM_BG_19 + anim_call BattleAnim_ShowMon_1 + anim_wait 8 + anim_ret +; cb0f0 + +BattleAnim_DestinyBond: ; cb0f0 + anim_1gfx ANIM_GFX_ANGELS + anim_bgp $1b + anim_obp0 $0 + anim_if_param_equal $1, BattleAnim_DestinyBond_branch_cb104 + anim_sound 6, 2, SFX_WHIRLWIND + anim_obj ANIM_OBJ_9B, 5, 4, 15, 0, $2 + anim_wait 128 + anim_ret +; cb104 + +BattleAnim_DestinyBond_branch_cb104: ; cb104 + anim_obj ANIM_OBJ_9B, -16, 4, 9, 4, $0 + anim_sound 0, 1, SFX_KINESIS + anim_bgeffect ANIM_BG_RETURN_MON, $0, $0, $0 + anim_wait 32 + anim_ret +; cb113 + +BattleAnim_PerishSong: ; cb113 + anim_1gfx ANIM_GFX_NOISE + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0 + anim_sound 0, 2, SFX_PERISH_SONG + anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $0 + anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $8 + anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $10 + anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $18 + anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $20 + anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $28 + anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $30 + anim_obj ANIM_OBJ_PERISH_SONG, 11, 0, 0, 0, $38 + anim_wait 112 + anim_ret +; cb14c + +BattleAnim_IcyWind: ; cb14c + anim_1gfx ANIM_GFX_SPEED + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0 + anim_playerheadobj + anim_sound 0, 0, SFX_PSYCHIC +.loop + anim_wait 8 + anim_obj ANIM_OBJ_AE, 8, 0, 11, 0, $4 + anim_wait 8 + anim_obj ANIM_OBJ_AE, 8, 0, 10, 0, $4 + anim_wait 8 + anim_obj ANIM_OBJ_AE, 8, 0, 12, 0, $4 + anim_wait 8 + anim_loop 2, .loop + anim_wait 16 + anim_bgeffect ANIM_BG_HEAD_FOLLOW, $0, $1, $0 + anim_wait 6 + anim_bgeffect ANIM_BG_NIGHT_SHADE, $0, $0, $8 + anim_wait 64 + anim_incbgeffect ANIM_BG_NIGHT_SHADE + anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 + anim_wait 4 + anim_incobj 7 + anim_wait 1 + anim_ret +; cb18c + +BattleAnim_Detect: ; cb18c + anim_1gfx ANIM_GFX_SHINE + anim_bgeffect ANIM_BG_07, $0, $0, $0 + anim_sound 0, 0, SFX_FORESIGHT + anim_obj ANIM_OBJ_A7, 8, 0, 11, 0, $0 + anim_wait 24 + anim_ret +; cb19d + +BattleAnim_BoneRush: ; cb19d + anim_2gfx ANIM_GFX_HIT, ANIM_GFX_MISC + anim_sound 0, 1, SFX_BONE_CLUB + anim_obj ANIM_OBJ_69, -16, 4, 7, 0, $2 + anim_wait 16 + anim_sound 0, 1, SFX_COMET_PUNCH + anim_obj ANIM_OBJ_01, 15, 0, 6, 0, $0 + anim_wait 16 + anim_sound 0, 1, SFX_COMET_PUNCH + anim_obj ANIM_OBJ_01, -14, 0, 8, 0, $0 + anim_wait 16 + anim_ret +; cb1bc + +BattleAnim_LockOn: ; cb1bc + anim_1gfx ANIM_GFX_MISC + anim_sound 0, 1, SFX_MIND_READER +.loop + anim_obj ANIM_OBJ_87, -16, 4, 6, 0, $3 + anim_obj ANIM_OBJ_87, -16, 4, 6, 0, $12 + anim_obj ANIM_OBJ_87, -16, 4, 6, 0, $20 + anim_obj ANIM_OBJ_87, -16, 4, 6, 0, $31 + anim_wait 16 + anim_loop 2, .loop + anim_wait 32 + anim_ret +; cb1dc + +BattleAnim_Outrage: ; cb1dc + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_1A, $0, $1, $20 + anim_sound 0, 0, SFX_OUTRAGE + anim_wait 72 + anim_incbgeffect ANIM_BG_1A + anim_call BattleAnim_ShowMon_0 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3 + anim_sound 0, 1, SFX_MOVE_PUZZLE_PIECE + anim_obj ANIM_OBJ_00, 15, 0, 9, 0, $0 + anim_wait 6 + anim_sound 0, 1, SFX_COMET_PUNCH + anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0 + anim_wait 6 + anim_sound 0, 1, SFX_MEGA_PUNCH + anim_obj ANIM_OBJ_00, -13, 0, 5, 0, $0 + anim_wait 16 + anim_ret +; cb210 + +BattleAnim_Sandstorm: ; cb210 + anim_1gfx ANIM_GFX_POWDER + anim_obj ANIM_OBJ_A2, 11, 0, 0, 0, $0 + anim_wait 8 + anim_obj ANIM_OBJ_A2, 9, 0, 0, 0, $1 + anim_wait 8 + anim_obj ANIM_OBJ_A2, 7, 0, 0, 0, $2 +.loop + anim_sound 0, 1, SFX_MENU + anim_wait 8 + anim_loop 16, .loop + anim_wait 8 + anim_ret +; cb22d + +BattleAnim_GigaDrain: ; cb22d + anim_2gfx ANIM_GFX_BUBBLE, ANIM_GFX_CHARGE + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_1C, $0, $0, $10 + anim_sound 6, 3, SFX_GIGA_DRAIN + anim_call BattleAnim_GigaDrain_branch_cbab3 + anim_wait 48 + anim_wait 128 + anim_incbgeffect ANIM_BG_1C + anim_call BattleAnim_ShowMon_0 + anim_wait 1 + anim_1gfx ANIM_GFX_SHINE + anim_bgeffect ANIM_BG_07, $0, $0, $0 +.loop + anim_sound 0, 0, SFX_METRONOME + anim_obj ANIM_OBJ_9D, 3, 0, 8, 0, $0 + anim_wait 5 + anim_obj ANIM_OBJ_9D, 7, 0, 13, 0, $0 + anim_wait 5 + anim_obj ANIM_OBJ_9D, 3, 0, 13, 0, $0 + anim_wait 5 + anim_obj ANIM_OBJ_9D, 7, 0, 8, 0, $0 + anim_wait 5 + anim_obj ANIM_OBJ_9D, 5, 0, 10, 4, $0 + anim_wait 5 + anim_loop 2, .loop + anim_wait 32 + anim_ret +; cb274 + +BattleAnim_Endure: ; cb274 + anim_1gfx ANIM_GFX_SPEED + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_1A, $0, $1, $20 + anim_bgeffect ANIM_BG_07, $0, $2, $0 +.loop + anim_sound 0, 0, SFX_SWORDS_DANCE + anim_obj ANIM_OBJ_47, 5, 4, 13, 4, $6 + anim_wait 2 + anim_obj ANIM_OBJ_47, 4, 4, 13, 4, $6 + anim_wait 2 + anim_obj ANIM_OBJ_47, 6, 4, 13, 4, $8 + anim_wait 2 + anim_obj ANIM_OBJ_47, 3, 4, 13, 4, $8 + anim_wait 2 + anim_obj ANIM_OBJ_47, 7, 4, 13, 4, $6 + anim_wait 2 + anim_obj ANIM_OBJ_47, 2, 4, 13, 4, $8 + anim_wait 2 + anim_obj ANIM_OBJ_47, 8, 4, 13, 4, $8 + anim_wait 2 + anim_loop 5, .loop + anim_wait 8 + anim_incbgeffect ANIM_BG_1A + anim_call BattleAnim_ShowMon_0 + anim_ret +; cb2bb + +BattleAnim_Charm: ; cb2bb + anim_1gfx ANIM_GFX_OBJECTS + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_26, $0, $1, $0 + anim_sound 0, 0, SFX_ATTRACT + anim_obj ANIM_OBJ_HEART, 8, 0, 10, 0, $0 + anim_wait 32 + anim_incbgeffect ANIM_BG_26 + anim_call BattleAnim_ShowMon_0 + anim_wait 4 + anim_ret +; cb2d5 + +BattleAnim_Rollout: ; cb2d5 + anim_1gfx ANIM_GFX_HIT + anim_sound 0, 0, SFX_SPARK + anim_call BattleAnim_FollowPlayerHead_0 + anim_bgeffect ANIM_BG_2E, $60, $1, $1 + anim_bgeffect ANIM_BG_25, $0, $1, $0 + anim_wait 4 + anim_sound 0, 1, SFX_MEGA_PUNCH + anim_obj ANIM_OBJ_03, -15, 0, 5, 0, $0 + anim_wait 8 + anim_call BattleAnim_ShowMon_0 + anim_ret +; cb2f5 + +BattleAnim_FalseSwipe: ; cb2f5 + anim_2gfx ANIM_GFX_SHINE, ANIM_GFX_CUT + anim_bgeffect ANIM_BG_07, $0, $0, $0 + anim_sound 0, 1, SFX_CUT + anim_obj ANIM_OBJ_3A, -13, 0, 5, 0, $0 + anim_wait 4 + anim_obj ANIM_OBJ_9D, -15, 0, 5, 0, $0 + anim_wait 32 + anim_ret +; cb30d + +BattleAnim_Swagger: ; cb30d + anim_2gfx ANIM_GFX_MISC, ANIM_GFX_WIND +.loop + anim_sound 0, 0, SFX_MENU + anim_obj ANIM_OBJ_A9, 9, 0, 11, 0, $44 + anim_wait 32 + anim_loop 2, .loop + anim_wait 32 + anim_sound 0, 1, SFX_KINESIS_2 + anim_obj ANIM_OBJ_83, 13, 0, 5, 0, $0 + anim_wait 40 + anim_ret +; cb328 + +BattleAnim_MilkDrink: ; cb328 + anim_2gfx ANIM_GFX_MISC, ANIM_GFX_BUBBLE + anim_call BattleAnim_FollowEnemyFeet_0 + anim_obj ANIM_OBJ_82, 9, 2, 13, 0, $0 + anim_wait 16 + anim_bgeffect ANIM_BG_18, $0, $1, $40 + anim_sound 0, 0, SFX_MILK_DRINK +.loop + anim_obj ANIM_OBJ_2C, 5, 4, 11, 0, $20 + anim_wait 8 + anim_loop 8, .loop + anim_wait 128 + anim_incbgeffect ANIM_BG_18 + anim_call BattleAnim_ShowMon_0 + anim_ret +; cb34d + +BattleAnim_Spark: ; cb34d + anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_EXPLOSION + anim_sound 0, 0, SFX_ZAP_CANNON + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3 + anim_obj ANIM_OBJ_30, 6, 0, 11, 4, $0 + anim_wait 24 + anim_setobj $1, $3 + anim_wait 1 + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0 + anim_sound 0, 0, SFX_SPARK + anim_wait 16 + anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0 + anim_wait 4 + anim_incobj 2 + anim_wait 1 + anim_sound 0, 1, SFX_THUNDERSHOCK + anim_obj ANIM_OBJ_LIGHTNING_BOLT, -15, 0, 7, 0, $2 + anim_obj ANIM_OBJ_33, -15, 0, 7, 0, $0 + anim_wait 32 + anim_ret +; cb386 + +BattleAnim_FuryCutter: ; cb386 + anim_1gfx ANIM_GFX_CUT +.loop + anim_sound 0, 1, SFX_CUT + anim_if_param_and %00000001, .obj1 + anim_obj ANIM_OBJ_3A, -13, 0, 5, 0, $0 + anim_jump .okay + +.obj1 + anim_obj ANIM_OBJ_3B, 14, 0, 5, 0, $0 +.okay + anim_wait 16 + anim_jumpuntil .loop + anim_ret +; cb3a1 + +BattleAnim_SteelWing: ; cb3a1 + anim_1gfx ANIM_GFX_REFLECT + anim_obp0 $0 + anim_sound 0, 0, SFX_RAGE + anim_call BattleAnim_FollowEnemyFeet_0 + anim_call BattleAnim_SteelWing_branch_cbc43 + anim_call BattleAnim_ShowMon_0 + anim_1gfx ANIM_GFX_HIT + anim_resetobp0 + anim_sound 0, 1, SFX_WING_ATTACK + anim_obj ANIM_OBJ_01, -14, 4, 7, 0, $0 + anim_obj ANIM_OBJ_01, 14, 4, 7, 0, $0 + anim_wait 6 + anim_sound 0, 1, SFX_WING_ATTACK + anim_obj ANIM_OBJ_01, -14, 0, 7, 0, $0 + anim_obj ANIM_OBJ_01, 15, 0, 7, 0, $0 + anim_wait 6 + anim_sound 0, 1, SFX_WING_ATTACK + anim_obj ANIM_OBJ_01, -15, 4, 7, 0, $0 + anim_obj ANIM_OBJ_01, 15, 4, 7, 0, $0 + anim_wait 16 + anim_ret +; cb3df + +BattleAnim_MeanLook: ; cb3df + anim_1gfx ANIM_GFX_PSYCHIC + anim_obp0 $e0 + anim_sound 0, 1, SFX_MEAN_LOOK + anim_obj ANIM_OBJ_AC, -14, 4, 4, 0, $0 + anim_wait 5 + anim_obj ANIM_OBJ_AC, 14, 4, 8, 0, $0 + anim_wait 5 + anim_obj ANIM_OBJ_AC, -14, 4, 8, 0, $0 + anim_wait 5 + anim_obj ANIM_OBJ_AC, 14, 4, 4, 0, $0 + anim_wait 5 + anim_obj ANIM_OBJ_AC, -16, 4, 6, 0, $0 + anim_wait 128 + anim_ret +; cb405 + +BattleAnim_Attract: ; cb405 + anim_1gfx ANIM_GFX_OBJECTS +.loop + anim_sound 0, 0, SFX_ATTRACT + anim_obj ANIM_OBJ_66, 5, 4, 10, 0, $2 + anim_wait 8 + anim_loop 5, .loop + anim_wait 128 + anim_wait 64 + anim_ret +; cb417 + +BattleAnim_SleepTalk: ; cb417 + anim_1gfx ANIM_GFX_STATUS +.loop + anim_sound 0, 0, SFX_STRENGTH + anim_obj ANIM_OBJ_54, 8, 0, 10, 0, $0 + anim_wait 40 + anim_loop 2, .loop + anim_wait 32 + anim_ret +; cb428 + +BattleAnim_HealBell: ; cb428 + anim_2gfx ANIM_GFX_MISC, ANIM_GFX_NOISE + anim_obj ANIM_OBJ_84, 9, 0, 7, 0, $0 + anim_wait 32 +.loop + anim_sound 0, 0, SFX_HEAL_BELL + anim_obj ANIM_OBJ_85, 9, 0, 6, 4, $0 + anim_wait 8 + anim_sound 0, 0, SFX_HEAL_BELL + anim_obj ANIM_OBJ_85, 9, 0, 6, 4, $1 + anim_wait 8 + anim_sound 0, 0, SFX_HEAL_BELL + anim_obj ANIM_OBJ_85, 9, 0, 6, 4, $2 + anim_wait 8 + anim_sound 0, 0, SFX_HEAL_BELL + anim_obj ANIM_OBJ_85, 9, 0, 6, 4, $0 + anim_wait 8 + anim_sound 0, 0, SFX_HEAL_BELL + anim_obj ANIM_OBJ_85, 9, 0, 6, 4, $2 + anim_wait 8 + anim_loop 4, .loop + anim_wait 64 + anim_ret +; cb464 + +BattleAnim_Return: ; cb464 + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowPlayerHead_0 + anim_bgeffect ANIM_BG_BOUNCE_DOWN, $0, $1, $0 + anim_sound 0, 0, SFX_RETURN + anim_wait 64 + anim_incbgeffect ANIM_BG_BOUNCE_DOWN + anim_wait 32 + anim_bgeffect ANIM_BG_25, $0, $1, $0 + anim_wait 4 + anim_sound 0, 1, SFX_COMET_PUNCH + anim_obj ANIM_OBJ_03, -15, 0, 5, 0, $0 + anim_wait 8 + anim_call BattleAnim_ShowMon_0 + anim_ret +; cb488 + +BattleAnim_Present: ; cb488 + anim_2gfx ANIM_GFX_STATUS, ANIM_GFX_BUBBLE + anim_sound 0, 1, SFX_PRESENT + anim_obj ANIM_OBJ_8D, 8, 0, 11, 0, $6c + anim_wait 56 + anim_obj ANIM_OBJ_53, 13, 0, 6, 0, $0 + anim_wait 48 + anim_incobj 2 + anim_if_param_equal $3, .heal + anim_incobj 1 + anim_wait 1 + anim_1gfx ANIM_GFX_EXPLOSION + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $12 +.loop + anim_call BattleAnim_Present_branch_cbb8f + anim_wait 16 + anim_jumpuntil .loop + anim_ret + +.heal + anim_sound 0, 1, SFX_METRONOME +.loop2 + anim_obj ANIM_OBJ_2C, -16, 4, 6, 0, $24 + anim_wait 8 + anim_loop 8, .loop2 + anim_wait 128 + anim_ret +; cb4c1 + +BattleAnim_Frustration: ; cb4c1 + anim_1gfx ANIM_GFX_MISC + anim_sound 0, 0, SFX_KINESIS_2 + anim_obj ANIM_OBJ_83, 9, 0, 10, 0, $0 + anim_wait 40 + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_26, $0, $1, $0 + anim_wait 8 + anim_sound 0, 1, SFX_COMET_PUNCH + anim_obj ANIM_OBJ_01, 15, 0, 6, 0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_COMET_PUNCH + anim_obj ANIM_OBJ_01, -13, 0, 6, 0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_COMET_PUNCH + anim_obj ANIM_OBJ_01, -15, 0, 6, 0, $0 + anim_wait 8 + anim_incbgeffect ANIM_BG_26 + anim_wait 1 + anim_call BattleAnim_ShowMon_0 + anim_ret +; cb4f9 + +BattleAnim_Safeguard: ; cb4f9 + anim_1gfx ANIM_GFX_MISC + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_obj ANIM_OBJ_89, 10, 0, 10, 0, $0 + anim_obj ANIM_OBJ_89, 10, 0, 10, 0, $d + anim_obj ANIM_OBJ_89, 10, 0, 10, 0, $1a + anim_obj ANIM_OBJ_89, 10, 0, 10, 0, $27 + anim_obj ANIM_OBJ_89, 10, 0, 10, 0, $34 + anim_sound 0, 0, SFX_PROTECT + anim_wait 96 + anim_ret +; cb51e + +BattleAnim_PainSplit: ; cb51e + anim_2gfx ANIM_GFX_HIT, ANIM_GFX_OBJECTS + anim_call BattleAnim_FollowPlayerHead_0 + anim_bgeffect ANIM_BG_25, $0, $1, $0 + anim_wait 4 + anim_sound 0, 1, SFX_TACKLE + anim_obj ANIM_OBJ_04, 14, 0, 6, 0, $0 + anim_obj ANIM_OBJ_04, 9, 4, 12, 0, $0 + anim_wait 8 + anim_call BattleAnim_ShowMon_0 + anim_wait 1 + anim_ret +; cb53d + +BattleAnim_SacredFire: ; cb53d + anim_1gfx ANIM_GFX_FIRE + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0 +.loop + anim_sound 0, 0, SFX_EMBER + anim_obj ANIM_OBJ_80, 6, 0, 13, 0, $0 + anim_wait 8 + anim_loop 8, .loop + anim_wait 96 + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0 + anim_wait 4 + anim_sound 0, 1, SFX_EMBER + anim_obj ANIM_OBJ_0F, -15, 0, 6, 0, $1 + anim_obj ANIM_OBJ_0F, -15, 0, 6, 0, $4 + anim_obj ANIM_OBJ_0F, -15, 0, 6, 0, $5 + anim_wait 8 + anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0 + anim_wait 4 + anim_incobj 9 + anim_wait 8 + anim_ret +; cb57d + +BattleAnim_Magnitude: ; cb57d + anim_1gfx ANIM_GFX_ROCKS +.loop + anim_bgeffect ANIM_BG_1F, $e, $4, $0 + anim_sound 0, 1, SFX_STRENGTH + anim_obj ANIM_OBJ_1E, 16, 0, 8, 0, $40 + anim_wait 2 + anim_obj ANIM_OBJ_1E, 15, 0, 8, 4, $30 + anim_wait 2 + anim_obj ANIM_OBJ_1E, -13, 0, 8, 4, $30 + anim_wait 2 + anim_obj ANIM_OBJ_1E, -14, 0, 8, 0, $40 + anim_wait 2 + anim_obj ANIM_OBJ_1E, -15, 0, 8, 4, $30 + anim_wait 2 + anim_jumpuntil .loop + anim_wait 96 + anim_ret +; cb5aa + +BattleAnim_Dynamicpunch: ; cb5aa + anim_2gfx ANIM_GFX_HIT, ANIM_GFX_EXPLOSION + anim_sound 0, 1, SFX_COMET_PUNCH + anim_obj ANIM_OBJ_0A, -15, 0, 7, 0, $43 + anim_wait 16 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $12 + anim_call BattleAnim_Dynamicpunch_branch_cbb8f + anim_wait 16 + anim_ret +; cb5c0 + +BattleAnim_Megahorn: ; cb5c0 + anim_2gfx ANIM_GFX_HORN, ANIM_GFX_HIT + anim_bgeffect ANIM_BG_1F, $40, $2, $0 + anim_wait 48 + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3 + anim_obj ANIM_OBJ_HORN, 9, 0, 10, 0, $1 + anim_sound 0, 1, SFX_HORN_ATTACK + anim_wait 16 + anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0 + anim_wait 16 + anim_ret +; cb5de + +BattleAnim_Dragonbreath: ; cb5de + anim_1gfx ANIM_GFX_FIRE + anim_sound 6, 2, SFX_EMBER +.loop + anim_obj ANIM_OBJ_90, 8, 0, 11, 4, $4 + anim_wait 4 + anim_loop 10, .loop + anim_wait 64 + anim_ret +; cb5ef + +BattleAnim_BatonPass: ; cb5ef + anim_1gfx ANIM_GFX_MISC + anim_obj ANIM_OBJ_86, 5, 4, 13, 0, $20 + anim_sound 0, 0, SFX_BATON_PASS + anim_call BattleAnim_BatonPass_branch_c9486 + anim_wait 64 + anim_ret +; cb5fe + +BattleAnim_Encore: ; cb5fe + anim_1gfx ANIM_GFX_OBJECTS + anim_obj ANIM_OBJ_99, 8, 0, 10, 0, $90 + anim_obj ANIM_OBJ_99, 8, 0, 10, 0, $10 + anim_sound 0, 0, SFX_ENCORE + anim_wait 16 + anim_obj ANIM_OBJ_9A, 8, 0, 9, 0, $2c + anim_wait 32 + anim_obj ANIM_OBJ_9A, 8, 0, 9, 0, $34 + anim_wait 16 + anim_ret +; cb61b + +BattleAnim_Pursuit: ; cb61b + anim_1gfx ANIM_GFX_HIT + anim_if_param_equal $1, BattleAnim_Pursuit_branch_cb62b + anim_sound 0, 1, SFX_COMET_PUNCH + anim_obj ANIM_OBJ_01, -15, 0, 7, 0, $0 + anim_wait 16 + anim_ret +; cb62b + +BattleAnim_Pursuit_branch_cb62b: ; cb62b + anim_bgeffect ANIM_BG_HIDE_MON, $0, $0, $0 + anim_wait 4 + anim_call BattleAnim_FollowEnemyFeet_1 + anim_obj ANIM_OBJ_AD, -16, 4, 8, 0, $0 + anim_wait 64 + anim_obj ANIM_OBJ_AD, -16, 4, 8, 0, $1 + anim_sound 0, 1, SFX_BALL_POOF + anim_bgeffect ANIM_BG_ENTER_MON, $0, $0, $0 + anim_wait 64 + anim_incobj 3 + anim_wait 16 + anim_sound 0, 1, SFX_MEGA_PUNCH + anim_obj ANIM_OBJ_00, 15, 0, 7, 0, $0 + anim_bgeffect ANIM_BG_2D, $0, $0, $0 + anim_wait 16 + anim_call BattleAnim_ShowMon_1 + anim_wait 1 + anim_ret +; cb65e + +BattleAnim_RapidSpin: ; cb65e + anim_2gfx ANIM_GFX_WIND, ANIM_GFX_HIT + anim_obp0 $e4 +.loop + anim_sound 0, 0, SFX_MENU + anim_obj ANIM_OBJ_A8, 5, 4, 14, 0, $0 + anim_wait 2 + anim_loop 5, .loop + anim_wait 24 + anim_call BattleAnim_FollowPlayerHead_0 + anim_bgeffect ANIM_BG_25, $0, $1, $0 + anim_wait 4 + anim_resetobp0 + anim_sound 0, 1, SFX_MEGA_KICK + anim_obj ANIM_OBJ_04, -15, 0, 5, 0, $0 + anim_wait 8 + anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0 + anim_wait 4 + anim_incobj 6 + anim_wait 1 + anim_ret +; cb68e + +BattleAnim_SweetScent: ; cb68e + anim_2gfx ANIM_GFX_FLOWER, ANIM_GFX_MISC + anim_sound 0, 0, SFX_SWEET_SCENT + anim_obj ANIM_OBJ_FLOWER, 8, 0, 12, 0, $2 + anim_wait 2 + anim_obj ANIM_OBJ_FLOWER, 8, 0, 10, 0, $2 + anim_wait 96 + anim_obp0 $54 + anim_sound 0, 1, SFX_SWEET_SCENT_2 + anim_obj ANIM_OBJ_COTTON, -15, 0, 5, 0, $15 + anim_obj ANIM_OBJ_COTTON, -15, 0, 5, 0, $2a + anim_obj ANIM_OBJ_COTTON, -15, 0, 5, 0, $3f + anim_wait 128 + anim_ret +; cb6b6 + +BattleAnim_IronTail: ; cb6b6 + anim_1gfx ANIM_GFX_REFLECT + anim_obp0 $0 + anim_sound 0, 0, SFX_RAGE + anim_call BattleAnim_FollowEnemyFeet_0 + anim_call BattleAnim_IronTail_branch_cbc43 + anim_wait 4 + anim_1gfx ANIM_GFX_HIT + anim_resetobp0 + anim_bgeffect ANIM_BG_26, $0, $1, $0 + anim_wait 16 + anim_sound 0, 1, SFX_MEGA_KICK + anim_obj ANIM_OBJ_00, -15, 0, 6, 0, $0 + anim_wait 16 + anim_incbgeffect ANIM_BG_26 + anim_call BattleAnim_ShowMon_0 + anim_ret +; cb6dc + +BattleAnim_MetalClaw: ; cb6dc + anim_1gfx ANIM_GFX_REFLECT + anim_obp0 $0 + anim_sound 0, 0, SFX_RAGE + anim_call BattleAnim_FollowEnemyFeet_0 + anim_call BattleAnim_MetalClaw_branch_cbc43 + anim_call BattleAnim_ShowMon_0 + anim_1gfx ANIM_GFX_CUT + anim_resetobp0 + anim_sound 0, 1, SFX_SCRATCH + anim_obj ANIM_OBJ_37, -14, 0, 6, 0, $0 + anim_obj ANIM_OBJ_37, -15, 4, 5, 4, $0 + anim_obj ANIM_OBJ_37, -15, 0, 5, 0, $0 + anim_wait 32 + anim_ret +; cb703 + +BattleAnim_VitalThrow: ; cb703 + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_2F, $0, $1, $0 + anim_wait 16 + anim_sound 0, 0, SFX_MENU + anim_obj ANIM_OBJ_04, 8, 0, 12, 0, $0 + anim_wait 8 + anim_sound 0, 0, SFX_MENU + anim_obj ANIM_OBJ_04, 7, 0, 11, 0, $0 + anim_wait 8 + anim_sound 0, 0, SFX_MENU + anim_obj ANIM_OBJ_04, 8, 4, 13, 0, $0 + anim_wait 8 + anim_incbgeffect ANIM_BG_2F + anim_wait 16 + anim_call BattleAnim_ShowMon_0 + anim_sound 0, 1, SFX_MEGA_PUNCH + anim_obj ANIM_OBJ_03, -16, 4, 7, 0, $0 + anim_wait 16 + anim_ret +; cb739 + +BattleAnim_MorningSun: ; cb739 + anim_1gfx ANIM_GFX_SHINE + anim_bgeffect ANIM_BG_07, $0, $0, $0 + anim_sound 0, 0, SFX_MORNING_SUN +.loop + anim_obj ANIM_OBJ_9C, 2, 0, 6, 0, $88 + anim_wait 6 + anim_loop 5, .loop + anim_wait 32 + anim_if_param_equal 0, .zero + anim_call BattleAnim_MorningSun_branch_cbc6a + anim_ret +; cb756 + +.zero + anim_call BattleAnim_MorningSun_branch_cbc80 + anim_ret +; cb75a + +BattleAnim_Synthesis: ; cb75a + anim_1gfx ANIM_GFX_SHINE + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_18, $0, $1, $40 + anim_bgeffect ANIM_BG_07, $0, $0, $0 + anim_sound 0, 0, SFX_OUTRAGE + anim_wait 72 + anim_incbgeffect ANIM_BG_18 + anim_call BattleAnim_ShowMon_0 + anim_if_param_equal $1, .one + anim_call BattleAnim_Synthesis_branch_cbc6a + anim_ret +; cb77a + +.one + anim_call BattleAnim_Synthesis_branch_cbc80 + anim_ret +; cb77e + +BattleAnim_Crunch: ; cb77e + anim_2gfx ANIM_GFX_CUT, ANIM_GFX_HIT + anim_bgp $1b + anim_obp0 $c0 + anim_bgeffect ANIM_BG_1F, $20, $2, $0 + anim_obj ANIM_OBJ_36, -15, 0, 7, 0, $a8 + anim_obj ANIM_OBJ_36, -15, 0, 7, 0, $28 + anim_wait 8 + anim_sound 0, 1, SFX_BITE + anim_obj ANIM_OBJ_00, -14, 0, 6, 0, $18 + anim_wait 16 + anim_sound 0, 1, SFX_BITE + anim_obj ANIM_OBJ_00, 16, 0, 8, 0, $18 + anim_wait 8 + anim_ret +; cb7a8 + +BattleAnim_Moonlight: ; cb7a8 + anim_1gfx ANIM_GFX_SHINE + anim_bgp $1b + anim_bgeffect ANIM_BG_07, $0, $0, $0 + anim_obj ANIM_OBJ_9E, 0, 0, 5, 0, $0 + anim_obj ANIM_OBJ_9E, 2, 0, 7, 0, $0 + anim_obj ANIM_OBJ_9E, 4, 0, 9, 0, $0 + anim_obj ANIM_OBJ_9E, 6, 0, 11, 0, $0 + anim_obj ANIM_OBJ_9E, 8, 0, 13, 0, $0 + anim_wait 1 + anim_sound 0, 0, SFX_MOONLIGHT + anim_wait 63 + anim_if_param_equal $3, .three + anim_call BattleAnim_Moonlight_branch_cbc6a + anim_ret + +.three + anim_call BattleAnim_Moonlight_branch_cbc80 + anim_ret +; cb7db + +BattleAnim_HiddenPower: ; cb7db + anim_1gfx ANIM_GFX_CHARGE + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_1A, $0, $1, $20 + anim_bgeffect ANIM_BG_07, $0, $2, $0 + anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $0 + anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $8 + anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $10 + anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $18 + anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $20 + anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $28 + anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $30 + anim_obj ANIM_OBJ_9F, 5, 4, 11, 0, $38 +.loop + anim_sound 0, 0, SFX_SWORDS_DANCE + anim_wait 8 + anim_loop 12, .loop + anim_incbgeffect ANIM_BG_1A + anim_call BattleAnim_ShowMon_0 + anim_wait 1 + anim_incobj 2 + anim_incobj 3 + anim_incobj 4 + anim_incobj 5 + anim_incobj 6 + anim_incobj 7 + anim_incobj 8 + anim_incobj 9 + anim_wait 16 + anim_1gfx ANIM_GFX_HIT + anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0 + anim_wait 32 + anim_ret +; cb83a + +BattleAnim_CrossChop: ; cb83a + anim_1gfx ANIM_GFX_CUT + anim_sound 0, 1, SFX_CUT + anim_obj ANIM_OBJ_A0, -13, 0, 5, 0, $0 + anim_obj ANIM_OBJ_A1, 15, 0, 9, 0, $0 + anim_wait 8 + anim_bgeffect ANIM_BG_1F, $58, $2, $0 + anim_wait 92 + anim_sound 0, 1, SFX_VICEGRIP + anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $10 + anim_wait 16 + anim_ret +; cb85a + +BattleAnim_Twister: ; cb85a + anim_2gfx ANIM_GFX_WIND, ANIM_GFX_HIT +.loop1 + anim_sound 0, 0, SFX_RAZOR_WIND + anim_obj ANIM_OBJ_GUST, 8, 0, 14, 0, $0 + anim_wait 6 + anim_loop 9, .loop1 +.loop2 + anim_sound 0, 0, SFX_RAZOR_WIND + anim_wait 8 + anim_loop 8, .loop2 + anim_incobj 1 + anim_incobj 2 + anim_incobj 3 + anim_incobj 4 + anim_incobj 5 + anim_incobj 6 + anim_incobj 7 + anim_incobj 8 + anim_incobj 9 + anim_wait 64 + anim_obj ANIM_OBJ_01, -14, 0, 8, 0, $18 +.loop3 + anim_sound 0, 1, SFX_RAZOR_WIND + anim_wait 8 + anim_loop 4, .loop3 + anim_obj ANIM_OBJ_01, 16, 0, 4, 0, $18 +.loop4 + anim_sound 0, 1, SFX_RAZOR_WIND + anim_wait 8 + anim_loop 4, .loop4 + anim_incobj 1 + anim_incobj 2 + anim_incobj 3 + anim_incobj 4 + anim_incobj 5 + anim_incobj 6 + anim_incobj 7 + anim_incobj 8 + anim_incobj 9 + anim_wait 32 + anim_ret +; cb8b3 + +BattleAnim_RainDance: ; cb8b3 + anim_1gfx ANIM_GFX_WATER + anim_bgp $f8 + anim_obp0 $7c + anim_sound 0, 1, SFX_RAIN_DANCE + anim_obj ANIM_OBJ_AF, 11, 0, 0, 0, $0 + anim_wait 8 + anim_obj ANIM_OBJ_AF, 11, 0, 0, 0, $1 + anim_wait 8 + anim_obj ANIM_OBJ_AF, 11, 0, 0, 0, $2 + anim_wait 128 + anim_ret +; cb8cf + +BattleAnim_SunnyDay: ; cb8cf + anim_1gfx ANIM_GFX_WATER + anim_bgp $90 + anim_sound 0, 1, SFX_MORNING_SUN + anim_obj ANIM_OBJ_AF, 11, 0, 0, 0, $2 + anim_wait 8 + anim_obj ANIM_OBJ_AF, 11, 0, 0, 0, $2 + anim_wait 8 + anim_obj ANIM_OBJ_AF, 11, 0, 0, 0, $2 + anim_wait 128 + anim_ret +; cb8e9 + +BattleAnim_MirrorCoat: ; cb8e9 + anim_2gfx ANIM_GFX_REFLECT, ANIM_GFX_SPEED + anim_bgeffect ANIM_BG_06, $0, $2, $0 +.loop + anim_sound 0, 0, SFX_SHINE + anim_obj ANIM_OBJ_50, 9, 0, 10, 0, $0 + anim_obj ANIM_OBJ_AE, 8, 0, 9, 0, $4 + anim_wait 8 + anim_obj ANIM_OBJ_AE, 8, 0, 11, 0, $4 + anim_wait 8 + anim_obj ANIM_OBJ_AE, 8, 0, 10, 0, $4 + anim_wait 8 + anim_obj ANIM_OBJ_AE, 8, 0, 12, 0, $4 + anim_wait 8 + anim_loop 3, .loop + anim_wait 32 + anim_ret +; cb917 + +BattleAnim_PsychUp: ; cb917 + anim_1gfx ANIM_GFX_STATUS + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_1A, $0, $1, $20 + anim_sound 0, 0, SFX_PSYBEAM + anim_obj ANIM_OBJ_B1, 5, 4, 11, 0, $0 + anim_obj ANIM_OBJ_B1, 5, 4, 11, 0, $10 + anim_obj ANIM_OBJ_B1, 5, 4, 11, 0, $20 + anim_obj ANIM_OBJ_B1, 5, 4, 11, 0, $30 + anim_wait 64 + anim_incbgeffect ANIM_BG_1A + anim_call BattleAnim_ShowMon_0 + anim_wait 16 + anim_ret +; cb940 + +BattleAnim_Extremespeed: ; cb940 + anim_2gfx ANIM_GFX_SPEED, ANIM_GFX_CUT + anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0 + anim_sound 0, 0, SFX_MENU + anim_obj ANIM_OBJ_77, 3, 0, 11, 0, $2 + anim_obj ANIM_OBJ_77, 4, 0, 11, 0, $1 + anim_obj ANIM_OBJ_77, 5, 0, 11, 0, $0 + anim_obj ANIM_OBJ_77, 6, 0, 11, 0, $80 + anim_obj ANIM_OBJ_77, 7, 0, 11, 0, $81 + anim_obj ANIM_OBJ_77, 8, 0, 11, 0, $82 + anim_wait 12 + anim_sound 0, 1, SFX_CUT + anim_obj ANIM_OBJ_3A, -13, 0, 5, 0, $0 + anim_wait 32 + anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 + anim_wait 16 + anim_ret +; cb97a + +BattleAnim_Ancientpower: ; cb97a + anim_2gfx ANIM_GFX_ROCKS, ANIM_GFX_HIT + anim_sound 0, 0, SFX_SPARK + anim_obj ANIM_OBJ_B2, 8, 0, 13, 4, $20 + anim_wait 8 + anim_sound 0, 0, SFX_SPARK + anim_obj ANIM_OBJ_B2, 9, 3, 12, 6, $20 + anim_wait 8 + anim_sound 0, 0, SFX_SPARK + anim_obj ANIM_OBJ_B2, 10, 5, 12, 1, $20 + anim_wait 8 + anim_sound 0, 0, SFX_SPARK + anim_obj ANIM_OBJ_B2, 12, 0, 11, 4, $20 + anim_wait 8 + anim_sound 0, 1, SFX_SPARK + anim_obj ANIM_OBJ_B2, 13, 2, 10, 7, $20 + anim_wait 8 + anim_sound 0, 1, SFX_SPARK + anim_obj ANIM_OBJ_B2, 14, 4, 10, 2, $20 + anim_wait 8 + anim_sound 0, 1, SFX_SPARK + anim_obj ANIM_OBJ_B2, 15, 6, 9, 5, $20 + anim_wait 8 + anim_sound 0, 1, SFX_SPARK + anim_obj ANIM_OBJ_00, -15, 0, 7, 0, $0 + anim_wait 6 + anim_ret +; cb9c6 + +BattleAnim_ShadowBall: ; cb9c6 + anim_2gfx ANIM_GFX_EGG, ANIM_GFX_SMOKE + anim_bgp $1b + anim_sound 6, 2, SFX_SLUDGE_BOMB + anim_obj ANIM_OBJ_B4, 8, 0, 11, 4, $2 + anim_wait 32 + anim_obj ANIM_OBJ_BALL_POOF, -16, 4, 7, 0, $10 + anim_wait 24 + anim_ret +; cb9db + +BattleAnim_FutureSight: ; cb9db + anim_1gfx ANIM_GFX_WIND + anim_bgeffect ANIM_BG_06, $0, $2, $0 + anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0 + anim_bgeffect ANIM_BG_PSYCHIC, $0, $0, $0 + anim_obj ANIM_OBJ_7D, 1, 0, 3, 0, $10 + anim_obj ANIM_OBJ_7D, 1, 0, 6, 0, $2 + anim_obj ANIM_OBJ_7D, 1, 0, 11, 0, $8 + anim_wait 4 + anim_obj ANIM_OBJ_7D, 1, 0, 4, 0, $6 + anim_obj ANIM_OBJ_7D, 1, 0, 7, 0, $c + anim_obj ANIM_OBJ_7D, 1, 0, 10, 0, $4 + anim_obj ANIM_OBJ_7D, 1, 0, 13, 0, $e +.loop + anim_sound 0, 0, SFX_THROW_BALL + anim_wait 16 + anim_loop 4, .loop + anim_incbgeffect ANIM_BG_PSYCHIC + anim_ret +; cba1b + +BattleAnim_RockSmash: ; cba1b + anim_2gfx ANIM_GFX_ROCKS, ANIM_GFX_HIT + anim_sound 0, 1, SFX_SPARK + anim_obj ANIM_OBJ_01, 16, 0, 7, 0, $0 + anim_sound 0, 1, SFX_SPARK + anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $28 + anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $5c + anim_sound 0, 1, SFX_SPARK + anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $10 + anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $e8 + anim_sound 0, 1, SFX_SPARK + anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $9c + anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $d0 + anim_wait 6 + anim_sound 0, 1, SFX_SPARK + anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $1c + anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $50 + anim_sound 0, 1, SFX_SPARK + anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $dc + anim_obj ANIM_OBJ_B5, 16, 0, 8, 0, $90 + anim_wait 32 + anim_ret +; cba6a + +BattleAnim_Whirlpool: ; cba6a + anim_1gfx ANIM_GFX_WIND + anim_bgeffect ANIM_BG_WHIRLPOOL, $0, $0, $0 + anim_sound 0, 1, SFX_SURF + anim_wait 16 +.loop + anim_obj ANIM_OBJ_GUST, -16, 4, 9, 0, $0 + anim_wait 6 + anim_loop 9, .loop + anim_wait 64 + anim_incbgeffect ANIM_BG_WHIRLPOOL + anim_wait 1 + anim_ret +; cba84 + +BattleAnim_BeatUp: ; cba84 + anim_if_param_equal $0, .current_mon + anim_sound 0, 0, SFX_BALL_POOF + anim_bgeffect ANIM_BG_RETURN_MON, $0, $1, $0 + anim_wait 16 + anim_beatup + anim_sound 0, 0, SFX_BALL_POOF + anim_bgeffect ANIM_BG_ENTER_MON, $0, $1, $0 + anim_wait 16 +.current_mon + anim_1gfx ANIM_GFX_HIT + anim_call BattleAnim_FollowEnemyFeet_0 + anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0 + anim_wait 4 + anim_sound 0, 1, SFX_BEAT_UP + anim_obj ANIM_OBJ_00, -15, 0, 6, 0, $0 + anim_wait 8 + anim_call BattleAnim_ShowMon_0 + anim_ret +; cbab3 + +BattleAnim_DreamEater_branch_cbab3: ; cbab3 +BattleAnim_GigaDrain_branch_cbab3: ; cbab3 +BattleAnim_LeechLife_branch_cbab3: ; cbab3 + anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $0 + anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $8 + anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $10 + anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $18 + anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $20 + anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $28 + anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $30 + anim_obj ANIM_OBJ_71, -16, 4, 5, 4, $38 + anim_ret +; cbadc + +BattleAnim_Glare_branch_cbadc: ; cbadc +BattleAnim_Leer_branch_cbadc: ; cbadc +BattleAnim_ScaryFace_branch_cbadc: ; cbadc + anim_sound 6, 2, SFX_LEER + anim_obj ANIM_OBJ_4E, 9, 0, 10, 4, $0 + anim_obj ANIM_OBJ_4E, 8, 0, 10, 0, $0 + anim_obj ANIM_OBJ_4E, 11, 0, 9, 4, $0 + anim_obj ANIM_OBJ_4E, 10, 0, 9, 0, $0 + anim_obj ANIM_OBJ_4E, 13, 0, 8, 4, $0 + anim_obj ANIM_OBJ_4E, 12, 0, 8, 0, $0 + anim_obj ANIM_OBJ_4E, 15, 0, 7, 4, $0 + anim_obj ANIM_OBJ_4E, 14, 0, 7, 0, $0 + anim_obj ANIM_OBJ_4F, -16, 2, 6, 6, $0 + anim_obj ANIM_OBJ_4F, 15, 2, 6, 2, $0 + anim_ret +; cbb12 + +BattleAnim_Fly_branch_cbb12: ; cbb12 +BattleAnim_Teleport_branch_cbb12: ; cbb12 + anim_sound 0, 0, SFX_WARP_TO + anim_obj ANIM_OBJ_44, 5, 4, 13, 4, $0 + anim_obj ANIM_OBJ_44, 5, 4, 12, 4, $0 + anim_obj ANIM_OBJ_44, 5, 4, 11, 4, $0 + anim_obj ANIM_OBJ_44, 5, 4, 10, 4, $0 + anim_obj ANIM_OBJ_44, 5, 4, 9, 4, $0 + anim_obj ANIM_OBJ_44, 5, 4, 8, 4, $0 + anim_obj ANIM_OBJ_44, 5, 4, 7, 4, $0 + anim_ret +; cbb39 + +BattleAnim_AuroraBeam_branch_cbb39: ; cbb39 +BattleAnim_HyperBeam_branch_cbb39: ; cbb39 +BattleAnim_Solarbeam_branch_cbb39: ; cbb39 + anim_sound 0, 0, SFX_HYPER_BEAM + anim_obj ANIM_OBJ_27, 8, 0, 11, 4, $0 + anim_wait 4 + anim_sound 0, 0, SFX_HYPER_BEAM + anim_obj ANIM_OBJ_27, 10, 0, 10, 4, $0 + anim_wait 4 + anim_sound 0, 1, SFX_HYPER_BEAM + anim_obj ANIM_OBJ_27, 12, 0, 9, 4, $0 + anim_wait 4 + anim_sound 0, 1, SFX_HYPER_BEAM + anim_obj ANIM_OBJ_27, 14, 0, 8, 4, $0 + anim_obj ANIM_OBJ_28, 15, 6, 7, 6, $0 + anim_ret +; cbb62 + +BattleAnim_Explosion_branch_cbb62: ; cbb62 +BattleAnim_Selfdestruct_branch_cbb62: ; cbb62 + anim_sound 0, 0, SFX_EGG_BOMB + anim_obj ANIM_OBJ_17, 3, 0, 8, 0, $0 + anim_wait 5 + anim_sound 0, 0, SFX_EGG_BOMB + anim_obj ANIM_OBJ_17, 7, 0, 13, 0, $0 + anim_wait 5 + anim_sound 0, 0, SFX_EGG_BOMB + anim_obj ANIM_OBJ_17, 3, 0, 13, 0, $0 + anim_wait 5 + anim_sound 0, 0, SFX_EGG_BOMB + anim_obj ANIM_OBJ_17, 7, 0, 8, 0, $0 + anim_wait 5 + anim_sound 0, 0, SFX_EGG_BOMB + anim_obj ANIM_OBJ_17, 5, 0, 10, 4, $0 + anim_ret +; cbb8f + +BattleAnim_Dynamicpunch_branch_cbb8f: ; cbb8f +BattleAnim_Explosion_branch_cbb8f: ; cbb8f +BattleAnim_Present_branch_cbb8f: ; cbb8f +BattleAnim_Selfdestruct_branch_cbb8f: ; cbb8f + anim_sound 0, 1, SFX_EGG_BOMB + anim_obj ANIM_OBJ_17, -14, 4, 4, 0, $0 + anim_wait 5 + anim_sound 0, 1, SFX_EGG_BOMB + anim_obj ANIM_OBJ_17, 14, 4, 9, 0, $0 + anim_wait 5 + anim_sound 0, 1, SFX_EGG_BOMB + anim_obj ANIM_OBJ_17, -14, 4, 9, 0, $0 + anim_wait 5 + anim_sound 0, 1, SFX_EGG_BOMB + anim_obj ANIM_OBJ_17, 14, 4, 4, 0, $0 + anim_wait 5 + anim_sound 0, 1, SFX_EGG_BOMB + anim_obj ANIM_OBJ_17, -16, 4, 6, 4, $0 + anim_ret +; cbbbc + +BattleAnim_Growl_branch_cbbbc: ; cbbbc +BattleAnim_Roar_branch_cbbbc: ; cbbbc +BattleAnim_Snore_branch_cbbbc: ; cbbbc + anim_obj ANIM_OBJ_4B, 8, 0, 9, 4, $0 + anim_obj ANIM_OBJ_4B, 8, 0, 11, 0, $1 + anim_obj ANIM_OBJ_4B, 8, 0, 12, 4, $2 + anim_ret +; cbbcc + +BattleAnim_FirePunch_branch_cbbcc: ; cbbcc +BattleAnim_TriAttack_branch_cbbcc: ; cbbcc + anim_sound 0, 1, SFX_EMBER +.loop + anim_obj ANIM_OBJ_BURNED, -15, 0, 7, 0, $10 + anim_obj ANIM_OBJ_BURNED, -15, 0, 7, 0, $90 + anim_wait 4 + anim_loop 4, .loop + anim_ret +; cbbdf + +BattleAnim_IcePunch_branch_cbbdf: ; cbbdf +BattleAnim_PowderSnow_branch_cbbdf: ; cbbdf +BattleAnim_TriAttack_branch_cbbdf: ; cbbdf + anim_sound 0, 1, SFX_SHINE + anim_obj ANIM_OBJ_12, 16, 0, 5, 2, $0 + anim_wait 6 + anim_sound 0, 1, SFX_SHINE + anim_obj ANIM_OBJ_12, -14, 0, 8, 6, $0 + anim_wait 6 + anim_sound 0, 1, SFX_SHINE + anim_obj ANIM_OBJ_12, 15, 0, 7, 0, $0 + anim_wait 6 + anim_sound 0, 1, SFX_SHINE + anim_obj ANIM_OBJ_12, -13, 0, 7, 0, $0 + anim_wait 6 + anim_sound 0, 1, SFX_SHINE + anim_obj ANIM_OBJ_12, -14, 0, 5, 2, $0 + anim_wait 6 + anim_sound 0, 1, SFX_SHINE + anim_obj ANIM_OBJ_12, 16, 0, 8, 6, $0 + anim_ret +; cbc15 + +BattleAnim_SludgeBomb_branch_cbc15: ; cbc15 +BattleAnim_Sludge_branch_cbc15: ; cbc15 +BattleAnim_Toxic_branch_cbc15: ; cbc15 +.loop + anim_sound 0, 1, SFX_UNKNOWN_7F + anim_obj ANIM_OBJ_1A, -16, 4, 9, 0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_UNKNOWN_7F + anim_obj ANIM_OBJ_1A, 14, 4, 9, 0, $0 + anim_wait 8 + anim_sound 0, 1, SFX_UNKNOWN_7F + anim_obj ANIM_OBJ_1A, -14, 4, 9, 0, $0 + anim_wait 8 + anim_loop 5, .loop + anim_ret +; cbc35 + +BattleAnim_Acid_branch_cbc35: ; cbc35 +BattleAnim_Toxic_branch_cbc35: ; cbc35 +.loop + anim_sound 6, 2, SFX_BUBBLEBEAM + anim_obj ANIM_OBJ_19, 8, 0, 11, 4, $10 + anim_wait 5 + anim_loop 8, .loop + anim_ret +; cbc43 + +BattleAnim_Harden_branch_cbc43: ; cbc43 +BattleAnim_IronTail_branch_cbc43: ; cbc43 +BattleAnim_MetalClaw_branch_cbc43: ; cbc43 +BattleAnim_SteelWing_branch_cbc43: ; cbc43 + anim_sound 0, 0, SFX_SHINE + anim_bgeffect ANIM_BG_17, $0, $1, $40 + anim_wait 8 + anim_obj ANIM_OBJ_51, 6, 0, 10, 4, $0 + anim_wait 32 + anim_obj ANIM_OBJ_51, 6, 0, 10, 4, $0 + anim_wait 64 + anim_incbgeffect ANIM_BG_17 + anim_ret +; cbc5b + +BattleAnim_MudSlap_branch_cbc5b: ; cbc5b +BattleAnim_SandAttack_branch_cbc5b: ; cbc5b +.loop + anim_sound 6, 2, SFX_MENU + anim_obj ANIM_OBJ_58, 8, 0, 11, 4, $4 + anim_wait 4 + anim_loop 8, .loop + anim_wait 32 + anim_ret +; cbc6a + +BattleAnim_Moonlight_branch_cbc6a: ; cbc6a +BattleAnim_MorningSun_branch_cbc6a: ; cbc6a +BattleAnim_Synthesis_branch_cbc6a: ; cbc6a + anim_sound 0, 0, SFX_METRONOME + anim_obj ANIM_OBJ_9D, 5, 4, 8, 0, $0 + anim_wait 5 + anim_obj ANIM_OBJ_9D, 3, 0, 12, 0, $0 + anim_wait 5 + anim_obj ANIM_OBJ_9D, 7, 0, 13, 0, $0 + anim_wait 21 + anim_ret +; cbc80 + +BattleAnim_Moonlight_branch_cbc80: ; cbc80 +BattleAnim_MorningSun_branch_cbc80: ; cbc80 +BattleAnim_Synthesis_branch_cbc80: ; cbc80 + anim_sound 0, 0, SFX_METRONOME +.loop + anim_obj ANIM_OBJ_9D, 3, 0, 8, 0, $0 + anim_wait 5 + anim_obj ANIM_OBJ_9D, 7, 0, 13, 0, $0 + anim_wait 5 + anim_obj ANIM_OBJ_9D, 3, 0, 13, 0, $0 + anim_wait 5 + anim_obj ANIM_OBJ_9D, 7, 0, 8, 0, $0 + anim_wait 5 + anim_obj ANIM_OBJ_9D, 5, 0, 10, 4, $0 + anim_wait 5 + anim_loop 2, .loop + anim_wait 16 + anim_ret +; cbca7 + +BattleAnim_FollowEnemyFeet_0: ; cbca7 + anim_enemyfeetobj + anim_bgeffect ANIM_BG_FEET_FOLLOW, $0, $0, $0 + anim_wait 6 + anim_ret +; cbcaf + +BattleAnim_FollowPlayerHead_0: ; cbcaf + anim_playerheadobj + anim_bgeffect ANIM_BG_HEAD_FOLLOW, $0, $0, $0 + anim_wait 6 + anim_ret +; cbcb7 + +BattleAnim_ShowMon_0: ; cbcb7 + anim_wait 1 + anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0 + anim_wait 5 + anim_incobj 1 + anim_wait 1 + anim_ret +; cbcc2 + +BattleAnim_FollowEnemyFeet_1: ; cbcc2 + anim_enemyfeetobj + anim_bgeffect ANIM_BG_FEET_FOLLOW, $0, $1, $0 + anim_wait 6 + anim_ret +; cbcca + +BattleAnim_FollowPlayerHead_1: ; cbcca + anim_playerheadobj + anim_bgeffect ANIM_BG_HEAD_FOLLOW, $0, $1, $0 + anim_wait 4 + anim_ret +; cbcd2 + +BattleAnim_ShowMon_1: ; cbcd2 + anim_wait 1 + anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0 + anim_wait 4 + anim_incobj 1 + anim_wait 1 + anim_ret +; cbcdd diff --git a/data/moves/move_descriptions.asm b/data/moves/move_descriptions.asm new file mode 100644 index 000000000..d86ceea37 --- /dev/null +++ b/data/moves/move_descriptions.asm @@ -0,0 +1,1270 @@ +MoveDescriptions:: ; 2cb52 +; entries correspond to move ids (see constants/move_constants.asm) + dw PoundDescription + dw KarateChopDescription + dw DoubleslapDescription + dw CometPunchDescription + dw MegaPunchDescription + dw PayDayDescription + dw FirePunchDescription + dw IcePunchDescription + dw ThunderpunchDescription + dw ScratchDescription + dw VicegripDescription + dw GuillotineDescription + dw RazorWindDescription + dw SwordsDanceDescription + dw CutDescription + dw GustDescription + dw WingAttackDescription + dw WhirlwindDescription + dw FlyDescription + dw BindDescription + dw SlamDescription + dw VineWhipDescription + dw StompDescription + dw DoubleKickDescription + dw MegaKickDescription + dw JumpKickDescription + dw RollingKickDescription + dw SandAttackDescription + dw HeadbuttDescription + dw HornAttackDescription + dw FuryAttackDescription + dw HornDrillDescription + dw TackleDescription + dw BodySlamDescription + dw WrapDescription + dw TakeDownDescription + dw ThrashDescription + dw DoubleEdgeDescription + dw TailWhipDescription + dw PoisonStingDescription + dw TwineedleDescription + dw PinMissileDescription + dw LeerDescription + dw BiteDescription + dw GrowlDescription + dw RoarDescription + dw SingDescription + dw SupersonicDescription + dw SonicboomDescription + dw DisableDescription + dw AcidDescription + dw EmberDescription + dw FlamethrowerDescription + dw MistDescription + dw WaterGunDescription + dw HydroPumpDescription + dw SurfDescription + dw IceBeamDescription + dw BlizzardDescription + dw PsybeamDescription + dw BubblebeamDescription + dw AuroraBeamDescription + dw HyperBeamDescription + dw PeckDescription + dw DrillPeckDescription + dw SubmissionDescription + dw LowKickDescription + dw CounterDescription + dw SeismicTossDescription + dw StrengthDescription + dw AbsorbDescription + dw MegaDrainDescription + dw LeechSeedDescription + dw GrowthDescription + dw RazorLeafDescription + dw SolarbeamDescription + dw PoisonpowderDescription + dw StunSporeDescription + dw SleepPowderDescription + dw PetalDanceDescription + dw StringShotDescription + dw DragonRageDescription + dw FireSpinDescription + dw ThundershockDescription + dw ThunderboltDescription + dw ThunderWaveDescription + dw ThunderDescription + dw RockThrowDescription + dw EarthquakeDescription + dw FissureDescription + dw DigDescription + dw ToxicDescription + dw ConfusionDescription + dw PsychicMDescription + dw HypnosisDescription + dw MeditateDescription + dw AgilityDescription + dw QuickAttackDescription + dw RageDescription + dw TeleportDescription + dw NightShadeDescription + dw MimicDescription + dw ScreechDescription + dw DoubleTeamDescription + dw RecoverDescription + dw HardenDescription + dw MinimizeDescription + dw SmokescreenDescription + dw ConfuseRayDescription + dw WithdrawDescription + dw DefenseCurlDescription + dw BarrierDescription + dw LightScreenDescription + dw HazeDescription + dw ReflectDescription + dw FocusEnergyDescription + dw BideDescription + dw MetronomeDescription + dw MirrorMoveDescription + dw SelfdestructDescription + dw EggBombDescription + dw LickDescription + dw SmogDescription + dw SludgeDescription + dw BoneClubDescription + dw FireBlastDescription + dw WaterfallDescription + dw ClampDescription + dw SwiftDescription + dw SkullBashDescription + dw SpikeCannonDescription + dw ConstrictDescription + dw AmnesiaDescription + dw KinesisDescription + dw SoftboiledDescription + dw HiJumpKickDescription + dw GlareDescription + dw DreamEaterDescription + dw PoisonGasDescription + dw BarrageDescription + dw LeechLifeDescription + dw LovelyKissDescription + dw SkyAttackDescription + dw TransformDescription + dw BubbleDescription + dw DizzyPunchDescription + dw SporeDescription + dw FlashDescription + dw PsywaveDescription + dw SplashDescription + dw AcidArmorDescription + dw CrabhammerDescription + dw ExplosionDescription + dw FurySwipesDescription + dw BonemerangDescription + dw RestDescription + dw RockSlideDescription + dw HyperFangDescription + dw SharpenDescription + dw ConversionDescription + dw TriAttackDescription + dw SuperFangDescription + dw SlashDescription + dw SubstituteDescription + dw StruggleDescription + dw SketchDescription + dw TripleKickDescription + dw ThiefDescription + dw SpiderWebDescription + dw MindReaderDescription + dw NightmareDescription + dw FlameWheelDescription + dw SnoreDescription + dw CurseDescription + dw FlailDescription + dw Conversion2Description + dw AeroblastDescription + dw CottonSporeDescription + dw ReversalDescription + dw SpiteDescription + dw PowderSnowDescription + dw ProtectDescription + dw MachPunchDescription + dw ScaryFaceDescription + dw FaintAttackDescription + dw SweetKissDescription + dw BellyDrumDescription + dw SludgeBombDescription + dw MudSlapDescription + dw OctazookaDescription + dw SpikesDescription + dw ZapCannonDescription + dw ForesightDescription + dw DestinyBondDescription + dw PerishSongDescription + dw IcyWindDescription + dw DetectDescription + dw BoneRushDescription + dw LockOnDescription + dw OutrageDescription + dw SandstormDescription + dw GigaDrainDescription + dw EndureDescription + dw CharmDescription + dw RolloutDescription + dw FalseSwipeDescription + dw SwaggerDescription + dw MilkDrinkDescription + dw SparkDescription + dw FuryCutterDescription + dw SteelWingDescription + dw MeanLookDescription + dw AttractDescription + dw SleepTalkDescription + dw HealBellDescription + dw ReturnDescription + dw PresentDescription + dw FrustrationDescription + dw SafeguardDescription + dw PainSplitDescription + dw SacredFireDescription + dw MagnitudeDescription + dw DynamicpunchDescription + dw MegahornDescription + dw DragonbreathDescription + dw BatonPassDescription + dw EncoreDescription + dw PursuitDescription + dw RapidSpinDescription + dw SweetScentDescription + dw IronTailDescription + dw MetalClawDescription + dw VitalThrowDescription + dw MorningSunDescription + dw SynthesisDescription + dw MoonlightDescription + dw HiddenPowerDescription + dw CrossChopDescription + dw TwisterDescription + dw RainDanceDescription + dw SunnyDayDescription + dw CrunchDescription + dw MirrorCoatDescription + dw PsychUpDescription + dw ExtremespeedDescription + dw AncientpowerDescription + dw ShadowBallDescription + dw FutureSightDescription + dw RockSmashDescription + dw WhirlpoolDescription + dw BeatUpDescription + dw MoveFCDescription + dw MoveFDDescription + dw MoveFEDescription + dw MoveFFDescription + dw Move00Description +; 2cd52 + +MoveFCDescription: +MoveFDDescription: +MoveFEDescription: +MoveFFDescription: +Move00Description: + db "?@" + +PoundDescription: + db "Pounds with fore-" + next "legs or tail.@" + +KarateChopDescription: + db "Has a high criti-" + next "cal hit ratio.@" + +DoubleslapDescription: + db "Repeatedly slaps" + next "2-5 times.@" + +CometPunchDescription: + db "Repeatedly punches" + next "2-5 times.@" + +MegaPunchDescription: + db "A powerful punch" + next "thrown very hard.@" + +PayDayDescription: + db "Throws coins. Gets" + next "them back later.@" + +FirePunchDescription: + db "A fiery punch. May" + next "cause a burn.@" + +IcePunchDescription: + db "An icy punch. May" + next "cause freezing.@" + +ThunderpunchDescription: + db "An electric punch." + next "It may paralyze.@" + +ScratchDescription: + db "Scratches with" + next "sharp claws.@" + +VicegripDescription: + db "Grips with power-" + next "ful pincers.@" + +GuillotineDescription: + db "A one-hit KO," + next "pincer attack.@" + +RazorWindDescription: + db "1st turn: Prepare" + next "2nd turn: Attack@" + +SwordsDanceDescription: + db "A dance that in-" + next "creases ATTACK.@" + +CutDescription: + db "Cuts using claws," + next "scythes, etc.@" + +GustDescription: + db "Whips up a strong" + next "gust of wind.@" + +WingAttackDescription: + db "Strikes the target" + next "with wings.@" + +WhirlwindDescription: + db "Blows away the foe" + next "& ends battle.@" + +FlyDescription: + db "1st turn: Fly" + next "2nd turn: Attack@" + +BindDescription: + db "Binds the target" + next "for 2-5 turns.@" + +SlamDescription: + db "Slams the foe with" + next "a tail, vine, etc.@" + +VineWhipDescription: + db "Whips the foe with" + next "slender vines.@" + +StompDescription: + db "An attack that may" + next "cause flinching.@" + +DoubleKickDescription: + db "A double kicking" + next "attack.@" + +MegaKickDescription: + db "A powerful kicking" + next "attack.@" + +JumpKickDescription: + db "May miss, damaging" + next "the user.@" + +RollingKickDescription: + db "A fast, spinning" + next "kick.@" + +SandAttackDescription: + db "Reduces accuracy" + next "by throwing sand.@" + +HeadbuttDescription: + db "An attack that may" + next "make foe flinch.@" + +HornAttackDescription: + db "An attack using a" + next "horn to jab.@" + +FuryAttackDescription: + db "Jabs the target" + next "2-5 times.@" + +HornDrillDescription: + db "A one-hit KO," + next "drill attack.@" + +TackleDescription: + db "A full-body charge" + next "attack.@" + +BodySlamDescription: + db "An attack that may" + next "cause paralysis.@" + +WrapDescription: + db "Squeezes the foe" + next "for 2-5 turns.@" + +TakeDownDescription: + db "A tackle that also" + next "hurts the user.@" + +ThrashDescription: + db "Works 2-3 turns" + next "and confuses user.@" + +DoubleEdgeDescription: + db "A tackle that also" + next "hurts the user.@" + +TailWhipDescription: + db "Lowers the foe's" + next "DEFENSE.@" + +PoisonStingDescription: + db "An attack that may" + next "poison the target.@" + +TwineedleDescription: + db "Jabs the foe twice" + next "using stingers.@" + +PinMissileDescription: + db "Fires pins that" + next "strike 2-5 times.@" + +LeerDescription: + db "Reduces the foe's" + next "DEFENSE.@" + +BiteDescription: + db "An attack that may" + next "cause flinching.@" + +GrowlDescription: + db "Reduces the foe's" + next "ATTACK.@" + +RoarDescription: + db "Scares wild foes" + next "to end battle.@" + +SingDescription: + db "May cause the foe" + next "to fall asleep.@" + +SupersonicDescription: + db "Sound waves that" + next "cause confusion.@" + +SonicboomDescription: + db "Always inflicts" + next "20HP damage.@" + +DisableDescription: + db "Disables the foe's" + next "most recent move.@" + +AcidDescription: + db "An attack that may" + next "lower DEFENSE.@" + +EmberDescription: + db "An attack that may" + next "inflict a burn.@" + +FlamethrowerDescription: + db "An attack that may" + next "inflict a burn.@" + +MistDescription: + db "Prevents stat" + next "reduction.@" + +WaterGunDescription: + db "Squirts water to" + next "attack.@" + +HydroPumpDescription: + db "A powerful water-" + next "type attack.@" + +SurfDescription: + db "A strong water-" + next "type attack.@" + +IceBeamDescription: + db "An attack that may" + next "freeze the foe.@" + +BlizzardDescription: + db "An attack that may" + next "freeze the foe.@" + +PsybeamDescription: + db "An attack that may" + next "confuse the foe.@" + +BubblebeamDescription: + db "An attack that may" + next "lower SPEED.@" + +AuroraBeamDescription: + db "An attack that may" + next "lower ATTACK.@" + +HyperBeamDescription: + db "1st turn: Attack" + next "2nd turn: Rest@" + +PeckDescription: + db "Jabs the foe with" + next "a beak, etc.@" + +DrillPeckDescription: + db "A strong, spin-" + next "ning-peck attack.@" + +SubmissionDescription: + db "An attack that al-" + next "so hurts the user.@" + +LowKickDescription: + db "An attack that may" + next "cause flinching.@" + +CounterDescription: + db "Returns a physical" + next "blow double.@" + +SeismicTossDescription: + db "The user's level" + next "equals damage HP.@" + +StrengthDescription: + db "A powerful physi-" + next "cal attack.@" + +AbsorbDescription: + db "Steals 1/2 of the" + next "damage inflicted.@" + +MegaDrainDescription: + db "Steals 1/2 of the" + next "damage inflicted.@" + +LeechSeedDescription: + db "Steals HP from the" + next "foe on every turn.@" + +GrowthDescription: + db "Raises the SPCL." + next "ATK rating.@" + +RazorLeafDescription: + db "Has a high criti-" + next "cal hit ratio.@" + +SolarbeamDescription: + db "1st turn: Prepare" + next "2nd turn: Attack@" + +PoisonpowderDescription: + db "A move that may" + next "poison the foe.@" + +StunSporeDescription: + db "A move that may" + next "paralyze the foe.@" + +SleepPowderDescription: + db "May cause the foe" + next "to fall asleep.@" + +PetalDanceDescription: + db "Works 2-3 turns" + next "and confuses user.@" + +StringShotDescription: + db "A move that lowers" + next "the foe's SPEED.@" + +DragonRageDescription: + db "Always inflicts" + next "40HP damage.@" + +FireSpinDescription: + db "Traps foe in fire" + next "for 2-5 turns.@" + +ThundershockDescription: + db "An attack that may" + next "cause paralysis.@" + +ThunderboltDescription: + db "An attack that may" + next "cause paralysis.@" + +ThunderWaveDescription: + db "A move that may" + next "cause paralysis.@" + +ThunderDescription: + db "An attack that may" + next "cause paralysis.@" + +RockThrowDescription: + db "Drops rocks on the" + next "enemy.@" + +EarthquakeDescription: + db "Tough but useless" + next "vs. flying foes.@" + +FissureDescription: + db "A ground-type," + next "one-hit KO attack.@" + +DigDescription: + db "1st turn: Burrow" + next "2nd turn: Attack@" + +ToxicDescription: + db "A poison move with" + next "increasing damage.@" + +ConfusionDescription: + db "An attack that may" + next "cause confusion.@" + +PsychicMDescription: + db "An attack that may" + next "lower SPCL.DEF.@" + +HypnosisDescription: + db "May put the foe to" + next "sleep.@" + +MeditateDescription: + db "Raises the user's" + next "ATTACK.@" + +AgilityDescription: + db "Sharply increases" + next "the user's SPEED.@" + +QuickAttackDescription: + db "Lets the user get" + next "in the first hit.@" + +RageDescription: + db "Raises ATTACK if" + next "the user is hit.@" + +TeleportDescription: + db "A move for fleeing" + next "from battle.@" + +NightShadeDescription: + db "The user's level" + next "equals damage HP.@" + +MimicDescription: + db "Copies a move used" + next "by the foe.@" + +ScreechDescription: + db "Sharply reduces" + next "the foe's DEFENSE.@" + +DoubleTeamDescription: + db "Heightens evasive-" + next "ness.@" + +RecoverDescription: + db "Restores HP by 1/2" + next "the max HP.@" + +HardenDescription: + db "Raises the user's" + next "DEFENSE.@" + +MinimizeDescription: + db "Heightens evasive-" + next "ness.@" + +SmokescreenDescription: + db "Lowers the foe's" + next "accuracy.@" + +ConfuseRayDescription: + db "A move that causes" + next "confusion.@" + +WithdrawDescription: + db "Heightens the" + next "user's DEFENSE.@" + +DefenseCurlDescription: + db "Heightens the" + next "user's DEFENSE.@" + +BarrierDescription: + db "Sharply increases" + next "user's DEFENSE.@" + +LightScreenDescription: + db "Ups SPCL.DEF with" + next "a wall of light.@" + +HazeDescription: + db "Eliminates all" + next "stat changes.@" + +ReflectDescription: + db "Raises DEFENSE" + next "with a barrier.@" + +FocusEnergyDescription: + db "Raises the criti-" + next "cal hit ratio.@" + +BideDescription: + db "Waits 2-3 turns &" + next "hits back double.@" + +MetronomeDescription: + db "Randomly uses any" + next "#MON move.@" + +MirrorMoveDescription: + db "Counters with the" + next "same move.@" + +SelfdestructDescription: + db "Powerful but makes" + next "the user faint.@" + +EggBombDescription: + db "Eggs are hurled at" + next "the foe.@" + +LickDescription: + db "An attack that may" + next "cause paralysis.@" + +SmogDescription: + db "An attack that may" + next "poison the foe.@" + +SludgeDescription: + db "An attack that may" + next "poison the foe.@" + +BoneClubDescription: + db "An attack that may" + next "cause flinching.@" + +FireBlastDescription: + db "An attack that" + next "may cause a burn.@" + +WaterfallDescription: + db "An aquatic charge" + next "attack.@" + +ClampDescription: + db "Traps the foe for" + next "2-5 turns.@" + +SwiftDescription: + db "An attack that" + next "never misses.@" + +SkullBashDescription: + db "1st turn: Prepare" + next "2nd turn: Attack@" + +SpikeCannonDescription: + db "Fires spikes to" + next "hit 2-5 times.@" + +ConstrictDescription: + db "An attack that may" + next "lower SPEED.@" + +AmnesiaDescription: + db "Sharply raises the" + next "user's SPCL.DEF.@" + +KinesisDescription: + db "Reduces the foe's" + next "accuracy.@" + +SoftboiledDescription: + db "Restores HP by 1/2" + next "the user's max HP.@" + +HiJumpKickDescription: + db "May miss and hurt" + next "the user.@" + +GlareDescription: + db "A move that may" + next "cause paralysis.@" + +DreamEaterDescription: + db "Steals HP from a" + next "sleeping victim.@" + +PoisonGasDescription: + db "A move that may" + next "poison the foe.@" + +BarrageDescription: + db "Throws orbs to hit" + next "2-5 times.@" + +LeechLifeDescription: + db "Steals 1/2 of the" + next "damage inflicted.@" + +LovelyKissDescription: + db "May cause the foe" + next "to fall asleep.@" + +SkyAttackDescription: + db "1st turn: Prepare" + next "2nd turn: Attack@" +TransformDescription: + db "The user assumes" + next "the foe's guise.@" + +BubbleDescription: + db "An attack that may" + next "reduce SPEED.@" + +DizzyPunchDescription: + db "An attack that may" + next "cause confusion.@" + +SporeDescription: + db "A move that" + next "induces sleep.@" + +FlashDescription: + db "Blinds the foe to" + next "reduce accuracy.@" + +PsywaveDescription: + db "An attack with" + next "variable power.@" + +SplashDescription: + db "Has no effect" + next "whatsoever.@" + +AcidArmorDescription: + db "Sharply raises the" + next "user's DEFENSE.@" + +CrabhammerDescription: + db "Has a high criti-" + next "cal hit ratio.@" + +ExplosionDescription: + db "Very powerful but" + next "makes user faint.@" + +FurySwipesDescription: + db "Quickly scratches" + next "2-5 times.@" + +BonemerangDescription: + db "An attack that" + next "strikes twice.@" + +RestDescription: + db "Sleep for 2 turns" + next "to fully recover.@" + +RockSlideDescription: + db "An attack that may" + next "cause flinching.@" + +HyperFangDescription: + db "An attack that may" + next "cause flinching.@" + +SharpenDescription: + db "A move that raises" + next "the user's ATTACK.@" + +ConversionDescription: + db "Change user's type" + next "to a move's type.@" + +TriAttackDescription: + db "Fires three kinds" + next "of beams at once.@" + +SuperFangDescription: + db "Cuts the foe's HP" + next "by 1/2.@" + +SlashDescription: + db "Has a high criti-" + next "cal hit ratio.@" + +SubstituteDescription: + db "Makes a decoy with" + next "1/4 user's max HP.@" + +StruggleDescription: + db "Used only if all" + next "PP are exhausted.@" + +SketchDescription: + db "Copies the foe's" + next "move permanently.@" + +TripleKickDescription: + db "Hits three times" + next "with rising power.@" + +ThiefDescription: + db "An attack that may" + next "steal a held item.@" + +SpiderWebDescription: + db "Prevents fleeing" + next "or switching.@" + +MindReaderDescription: + db "Ensures the next" + next "attack will hit.@" + +NightmareDescription: + db "A sleeper loses" + next "1/4 HP every turn.@" + +FlameWheelDescription: + db "An attack that may" + next "cause a burn.@" + +SnoreDescription: + db "An attack useable" + next "only while asleep.@" + +CurseDescription: + db "Works differently" + next "for ghost-types.@" + +FlailDescription: + db "Stronger if the" + next "user's HP is low.@" + +Conversion2Description: + db "The user's type is" + next "made resistant.@" + +AeroblastDescription: + db "Has a high criti-" + next "cal hit ratio.@" + +CottonSporeDescription: + db "Sharply reduces" + next "the foe's SPEED.@" + +ReversalDescription: + db "Stronger if the" + next "user's HP is low.@" + +SpiteDescription: + db "Cuts the PP of the" + next "foe's last move.@" + +PowderSnowDescription: + db "An attack that may" + next "cause freezing.@" + +ProtectDescription: + db "Foils attack that" + next "turn. It may fail.@" + +MachPunchDescription: + db "A fast punch that" + next "lands first.@" + +ScaryFaceDescription: + db "Sharply reduces" + next "the foe's SPEED.@" + +FaintAttackDescription: + db "An attack that" + next "never misses.@" + +SweetKissDescription: + db "A move that causes" + next "confusion.@" + +BellyDrumDescription: + db "Reduces own HP to" + next "maximize ATTACK.@" + +SludgeBombDescription: + db "An attack that may" + next "poison the foe.@" + +MudSlapDescription: + db "Reduces the foe's" + next "accuracy.@" + +OctazookaDescription: + db "An attack that may" + next "reduce accuracy.@" + +SpikesDescription: + db "Hurts foes when" + next "they switch out.@" + +ZapCannonDescription: + db "An attack that" + next "always paralyzes.@" + +ForesightDescription: + db "Negates accuracy" + next "reduction moves.@" + +DestinyBondDescription: + db "The foe faints if" + next "the user does.@" + +PerishSongDescription: + db "Both user and foe" + next "faint in 3 turns.@" + +IcyWindDescription: + db "An icy attack that" + next "lowers SPEED.@" + +DetectDescription: + db "Evades attack that" + next "turn. It may fail.@" + +BoneRushDescription: + db "An attack that" + next "hits 2-5 times.@" + +LockOnDescription: + db "Ensures the next" + next "attack will hit.@" + +OutrageDescription: + db "Works 2-3 turns" + next "and confuses user.@" + +SandstormDescription: + db "Inflicts damage" + next "every turn.@" + +GigaDrainDescription: + db "Steals 1/2 of the" + next "damage inflicted.@" + +EndureDescription: + db "Always leaves at" + next "least 1HP.@" + +CharmDescription: + db "Sharply lowers the" + next "foe's ATTACK.@" + +RolloutDescription: + db "Attacks 5 turns" + next "with rising power.@" + +FalseSwipeDescription: + db "Leaves the foe" + next "with at least 1HP.@" + +SwaggerDescription: + db "Causes confusion" + next "and raises ATTACK.@" + +MilkDrinkDescription: + db "Restores HP by 1/2" + next "the max HP.@" + +SparkDescription: + db "An attack that may" + next "cause paralysis.@" + +FuryCutterDescription: + db "Successive hits" + next "raise power.@" + +SteelWingDescription: + db "Stiff wings strike" + next "the foe.@" + +MeanLookDescription: + db "Prevents fleeing" + next "or switching.@" + +AttractDescription: + db "Makes the opposite" + next "gender infatuated.@" + +SleepTalkDescription: + db "Randomly attacks" + next "while asleep.@" + +HealBellDescription: + db "Eliminates all" + next "status problems.@" + +ReturnDescription: + db "An attack that is" + next "based on loyalty.@" + +PresentDescription: + db "A bomb that may" + next "restore HP.@" + +FrustrationDescription: + db "An attack based on" + next "lack of loyalty.@" + +SafeguardDescription: + db "Prevents all" + next "status problems.@" + +PainSplitDescription: + db "Adds user & foe's" + next "HPs. Shares total.@" + +SacredFireDescription: + db "An attack that may" + next "inflict a burn.@" + +MagnitudeDescription: + db "A ground attack" + next "with random power.@" + +DynamicpunchDescription: + db "An attack that" + next "always confuses.@" + +MegahornDescription: + db "A powerful charge" + next "attack.@" + +DragonbreathDescription: + db "A strong breath" + next "attack.@" + +BatonPassDescription: + db "Switches while" + next "keeping effects.@" + +EncoreDescription: + db "Makes the foe re-" + next "peat 2-6 times.@" + +PursuitDescription: + db "Heavily strikes" + next "switching #MON.@" + +RapidSpinDescription: + db "A high-speed" + next "spinning attack.@" + +SweetScentDescription: + db "Reduces the foe's" + next "evasiveness.@" + +IronTailDescription: + db "An attack that may" + next "reduce DEFENSE.@" + +MetalClawDescription: + db "An attack that may" + next "up user's ATTACK.@" + +VitalThrowDescription: + db "A 2nd-strike move" + next "that never misses.@" + +MorningSunDescription: + db "Restores HP" + next "(varies by time).@" + +SynthesisDescription: + db "Restores HP" + next "(varies by time).@" + +MoonlightDescription: + db "Restores HP" + next "(varies by time).@" + +HiddenPowerDescription: + db "The power varies" + next "with the #MON.@" + +CrossChopDescription: + db "Has a high criti-" + next "cal hit ratio.@" + +TwisterDescription: + db "Whips up a tornado" + next "to attack.@" + +RainDanceDescription: + db "Boosts water-type" + next "moves for 5 turns.@" + +SunnyDayDescription: + db "Boosts fire-type" + next "moves for 5 turns.@" + +CrunchDescription: + db "An attack that may" + next "lower SPCL.DEF.@" + +MirrorCoatDescription: + db "Counters a SPCL." + next "ATK move double.@" + +PsychUpDescription: + db "Copies the foe's" + next "stat changes.@" + +ExtremespeedDescription: + db "A powerful first-" + next "strike move.@" + +AncientpowerDescription: + db "An attack that may" + next "raise all stats.@" + +ShadowBallDescription: + db "An attack that may" + next "lower SPCL.DEF.@" + +FutureSightDescription: + db "An attack that" + next "hits on 3rd turn.@" + +RockSmashDescription: + db "An attack that may" + next "lower DEFENSE.@" + +WhirlpoolDescription: + db "Traps the foe for" + next "2-5 turns.@" + +BeatUpDescription: + db "Party #MON join" + next "in the attack.@" +; 2ed44 diff --git a/data/moves/move_effects.asm b/data/moves/move_effects.asm new file mode 100644 index 000000000..c56ff2560 --- /dev/null +++ b/data/moves/move_effects.asm @@ -0,0 +1,2075 @@ +MoveEffects: ; 2732e + +NormalHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + kingsrock + endmove + +DoSleep: + checkobedience + usedmovetext + doturn + checkhit + checksafeguard + sleeptarget + endmove + +PoisonHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + poisontarget + endmove + +LeechHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + draintarget + checkdestinybond + buildopponentrage + kingsrock + endmove + +BurnHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + burntarget + endmove + +FreezeHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + freezetarget + endmove + +ParalyzeHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + paralyzetarget + endmove + +Selfdestruct: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + selfdestruct + hittargetnosub + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + kingsrock + endmove + +DreamEater: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + eatdream + checkdestinybond + buildopponentrage + endmove + +MirrorMove: + checkobedience + usedmovetext + doturn + mirrormove + endmove + +AttackUp: + checkobedience + usedmovetext + doturn + attackup + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +DefenseUp: + checkobedience + usedmovetext + doturn + defenseup + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +SpeedUp: + checkobedience + usedmovetext + doturn + speedup + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +SpecialAttackUp: + checkobedience + usedmovetext + doturn + specialattackup + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +SpecialDefenseUp: + checkobedience + usedmovetext + doturn + specialdefenseup + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +AccuracyUp: + checkobedience + usedmovetext + doturn + accuracyup + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +EvasionUp: + checkobedience + usedmovetext + doturn + lowersub + evasionup + statupanim + lowersubnoanim + raisesub + statupmessage + statupfailtext + endmove + +AttackUp2: + checkobedience + usedmovetext + doturn + attackup2 + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +DefenseUp2: + checkobedience + usedmovetext + doturn + defenseup2 + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +SpeedUp2: + checkobedience + usedmovetext + doturn + speedup2 + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +SpecialAttackUp2: + checkobedience + usedmovetext + doturn + specialattackup2 + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +SpecialDefenseUp2: + checkobedience + usedmovetext + doturn + specialdefenseup2 + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +AccuracyUp2: + checkobedience + usedmovetext + doturn + accuracyup2 + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +EvasionUp2: + checkobedience + usedmovetext + doturn + evasionup2 + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove + +AttackDown: + checkobedience + usedmovetext + doturn + checkhit + attackdown + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +DefenseDown: + checkobedience + usedmovetext + doturn + checkhit + defensedown + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +SpeedDown: + checkobedience + usedmovetext + doturn + checkhit + speeddown + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +SpecialAttackDown: + checkobedience + usedmovetext + doturn + checkhit + specialattackdown + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +SpecialDefenseDown: + checkobedience + usedmovetext + doturn + checkhit + specialdefensedown + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +AccuracyDown: + checkobedience + usedmovetext + doturn + checkhit + accuracydown + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +EvasionDown: + checkobedience + usedmovetext + doturn + checkhit + evasiondown + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +AttackDown2: + checkobedience + usedmovetext + doturn + checkhit + attackdown2 + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +DefenseDown2: + checkobedience + usedmovetext + doturn + checkhit + defensedown2 + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +SpeedDown2: + checkobedience + usedmovetext + doturn + checkhit + speeddown2 + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +SpecialAttackDown2: + checkobedience + usedmovetext + doturn + checkhit + specialattackdown2 + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +SpecialDefenseDown2: + checkobedience + usedmovetext + doturn + checkhit + specialdefensedown2 + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +AccuracyDown2: + checkobedience + usedmovetext + doturn + checkhit + accuracydown2 + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +EvasionDown2: + checkobedience + usedmovetext + doturn + checkhit + evasiondown2 + lowersub + statdownanim + raisesub + statdownmessage + statdownfailtext + endmove + +AttackDownHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + attackdown + statdownmessage + endmove + +DefenseDownHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + effectchance ; bug: duplicate effectchance shouldn't be here + defensedown + statdownmessage + endmove + +SpeedDownHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + speeddown + statdownmessage + endmove + +SpecialAttackDownHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + specialattackdown + statdownmessage + endmove + +SpecialDefenseDownHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + specialdefensedown + statdownmessage + endmove + +AccuracyDownHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + accuracydown + statdownmessage + endmove + +EvasionDownHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + evasiondown + statdownmessage + endmove + +DefenseUpHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + defenseup + statupmessage + endmove + +AttackUpHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + attackup + statupmessage + endmove + +AllUpHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + allstatsup + endmove + +PayDay: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + payday + checkdestinybond + buildopponentrage + kingsrock + endmove + +Conversion: + checkobedience + usedmovetext + doturn + conversion + endmove + +ResetStats: + checkobedience + usedmovetext + doturn + resetstats + endmove + +Bide: + storeenergy + checkobedience + doturn + usedmovetext + unleashenergy + resettypematchup + checkhit + hittarget + effect0xa5 + checkfaint + checkdestinybond + buildopponentrage + kingsrock + endmove + +Rampage: + checkrampage + checkobedience + doturn + rampage + usedmovetext + checkhit + critical + damagestats + damagecalc + stab + damagevariation + clearmissdamage + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + kingsrock + endmove + +ForceSwitch: + checkobedience + usedmovetext + doturn + checkhit + forceswitch + endmove + +MultiHit: + checkobedience + usedmovetext + doturn + startloop + lowersub + checkhit + critical + damagestats + damagecalc + stab + damagevariation + clearmissdamage + hittargetnosub + failuretext + checkfaint + criticaltext + cleartext + supereffectivelooptext + checkdestinybond + buildopponentrage + endloop + raisesub + kingsrock + endmove + +PoisonMultiHit: + checkobedience + usedmovetext + doturn + startloop + lowersub + checkhit + effectchance + critical + damagestats + damagecalc + stab + damagevariation + clearmissdamage + hittargetnosub + failuretext + checkfaint + criticaltext + cleartext + supereffectivelooptext + checkdestinybond + buildopponentrage + endloop + raisesub + kingsrock + poisontarget + endmove + +FlinchHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + flinchtarget + endmove + +OHKOHit: + checkobedience + usedmovetext + doturn + stab + ohko + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + endmove + +RecoilHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + recoil + checkdestinybond + buildopponentrage + kingsrock + endmove + +Mist: + checkobedience + usedmovetext + doturn + mist + endmove + +FocusEnergy: + checkobedience + usedmovetext + doturn + focusenergy + endmove + +DoConfuse: + checkobedience + usedmovetext + doturn + checkhit + checksafeguard + confuse + endmove + +ConfuseHit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + confusetarget + endmove + +Heal: + checkobedience + usedmovetext + doturn + heal + endmove + +Transform: + checkobedience + usedmovetext + doturn + transform + endmove + +LightScreen: +Reflect: + checkobedience + usedmovetext + doturn + screen + endmove + +TriAttack: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + tristatuschance + endmove + +Toxic: +DoPoison: + checkobedience + usedmovetext + doturn + checkhit + stab + checksafeguard + poison + endmove + +DoParalyze: + checkobedience + usedmovetext + doturn + stab + checkhit + checksafeguard + paralyze + endmove + +SkyAttack: + checkcharge + checkobedience + doturn + charge + usedmovetext + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + flinchtarget + kingsrock + endmove + +Substitute: + checkobedience + usedmovetext + doturn + substitute + endmove + +HyperBeam: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + rechargenextturn + checkdestinybond + buildopponentrage + endmove + +Rage: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + checkhit + ragedamage + damagevariation + hittarget + failuretext + rage + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + kingsrock + endmove + +Mimic: + checkobedience + usedmovetext + doturn + checkhit + mimic + endmove + +Metronome: + checkobedience + usedmovetext + doturn + metronome + endmove + +LeechSeed: + checkobedience + usedmovetext + doturn + checkhit + leechseed + endmove + +Splash: + checkobedience + usedmovetext + doturn + splash + endmove + +Disable: + checkobedience + usedmovetext + doturn + checkhit + disable + endmove + +RazorWind: + checkcharge + checkobedience + doturn + charge + usedmovetext + critical + damagestats + damagecalc + stab + damagevariation + checkhit + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + kingsrock + endmove + +Fly: + checkcharge + checkobedience + doturn + charge + usedmovetext + critical + damagestats + damagecalc + stab + damagevariation + checkhit + hittargetnosub + raisesub + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + kingsrock + endmove + +TrapTarget: + checkobedience + usedmovetext + doturn + checkhit + critical + damagestats + damagecalc + stab + damagevariation + clearmissdamage + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + traptarget + endmove + +SuperFang: +Psywave: +StaticDamage: + checkobedience + usedmovetext + doturn + constantdamage + checkhit + resettypematchup + hittarget + failuretext + checkfaint + checkdestinybond + buildopponentrage + kingsrock + endmove + +Reversal: + checkobedience + usedmovetext + doturn + constantdamage + stab + checkhit + hittarget + failuretext + checkfaint + supereffectivetext + checkdestinybond + buildopponentrage + kingsrock + endmove + +Counter: + checkobedience + usedmovetext + doturn + counter + hittarget + failuretext + checkfaint + checkdestinybond + buildopponentrage + kingsrock + endmove + +Encore: + checkobedience + usedmovetext + doturn + checkhit + encore + endmove + +PainSplit: + checkobedience + usedmovetext + doturn + checkhit + painsplit + endmove + +Snore: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + snore + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + flinchtarget + kingsrock + endmove + +Conversion2: + checkobedience + usedmovetext + doturn + checkhit + conversion2 + endmove + +LockOn: + checkobedience + usedmovetext + doturn + checkhit + lockon + endmove + +Sketch: + checkobedience + usedmovetext + doturn + sketch + endmove + +DefrostOpponent: + checkobedience + usedmovetext + doturn + defrostopponent + endmove + +SleepTalk: + checkobedience + usedmovetext + doturn + sleeptalk + endmove + +DestinyBond: + checkobedience + usedmovetext + doturn + destinybond + endmove + +Spite: + checkobedience + usedmovetext + doturn + checkhit + spite + endmove + +FalseSwipe: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + falseswipe + checkhit + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + kingsrock + endmove + +HealBell: + checkobedience + usedmovetext + doturn + healbell + endmove + +TripleKick: + checkobedience + usedmovetext + doturn + startloop + lowersub + checkhit + critical + damagestats + damagecalc + triplekick + stab + damagevariation + clearmissdamage + hittargetnosub + failuretext + checkfaint + criticaltext + cleartext + supereffectivelooptext + checkdestinybond + buildopponentrage + kickcounter + endloop + raisesub + kingsrock + endmove + +Thief: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + thief + checkdestinybond + buildopponentrage + kingsrock + endmove + +MeanLook: + checkobedience + usedmovetext + doturn + arenatrap + endmove + +Nightmare: + checkobedience + usedmovetext + doturn + nightmare + endmove + +FlameWheel: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + defrost + checkdestinybond + buildopponentrage + burntarget + endmove + +Curse: + checkobedience + usedmovetext + doturn + curse + endmove + +Protect: + checkobedience + usedmovetext + doturn + protect + endmove + +Spikes: + checkobedience + usedmovetext + doturn + spikes + endmove + +Foresight: + checkobedience + usedmovetext + doturn + checkhit + foresight + endmove + +PerishSong: + checkobedience + usedmovetext + doturn + perishsong + endmove + +Sandstorm: + checkobedience + usedmovetext + doturn + startsandstorm + endmove + +Endure: + checkobedience + usedmovetext + doturn + endure + endmove + +Rollout: + checkcurl + checkobedience + doturn + usedmovetext + critical + damagestats + damagecalc + stab + checkhit + rolloutpower + damagevariation + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + kingsrock + endmove + +Swagger: + checkobedience + usedmovetext + doturn + checkhit + switchturn + attackup2 + switchturn + lowersub + statupanim + raisesub + failuretext + switchturn + statupmessage + switchturn + confusetarget + endmove + +FuryCutter: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + checkhit + furycutter + damagevariation + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + kingsrock + endmove + +Attract: + checkobedience + usedmovetext + doturn + checkhit + attract + endmove + +Return: + checkobedience + usedmovetext + doturn + critical + damagestats + happinesspower + damagecalc + stab + damagevariation + checkhit + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + kingsrock + endmove + +Present: + checkobedience + usedmovetext + doturn + checkhit + critical + damagestats + present + damagecalc + stab + damagevariation + clearmissdamage + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + kingsrock + endmove + +Frustration: + checkobedience + usedmovetext + doturn + critical + damagestats + frustrationpower + damagecalc + stab + damagevariation + checkhit + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + kingsrock + endmove + +Safeguard: + checkobedience + usedmovetext + doturn + safeguard + endmove + +SacredFire: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + defrost + checkdestinybond + buildopponentrage + burntarget + endmove + +Magnitude: + checkobedience + usedmovetext + doturn + critical + damagestats + getmagnitude + damagecalc + stab + damagevariation + checkhit + doubleundergrounddamage + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + kingsrock + endmove + +BatonPass: + checkobedience + usedmovetext + doturn + batonpass + endmove + +Pursuit: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + pursuit + checkhit + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + kingsrock + endmove + +RapidSpin: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + checkhit + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + clearhazards + checkdestinybond + buildopponentrage + kingsrock + endmove + +MorningSun: + checkobedience + usedmovetext + doturn + healmorn + endmove + +Synthesis: + checkobedience + usedmovetext + doturn + healday + endmove + +Moonlight: + checkobedience + usedmovetext + doturn + healnite + endmove + +HiddenPower: + checkobedience + usedmovetext + doturn + critical + hiddenpower + damagecalc + stab + damagevariation + checkhit + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + kingsrock + endmove + +RainDance: + checkobedience + usedmovetext + doturn + startrain + endmove + +SunnyDay: + checkobedience + usedmovetext + doturn + startsun + endmove + +FakeOut: + checkobedience + usedmovetext + doturn + checkhit + fakeout + hittarget + failuretext + endmove + +BellyDrum: + checkobedience + usedmovetext + doturn + bellydrum + endmove + +PsychUp: + checkobedience + usedmovetext + doturn + psychup + endmove + +MirrorCoat: + checkobedience + usedmovetext + doturn + mirrorcoat + hittarget + failuretext + checkfaint + checkdestinybond + buildopponentrage + kingsrock + endmove + +SkullBash: + checkcharge + checkobedience + doturn + charge + usedmovetext + critical + damagestats + damagecalc + stab + damagevariation + checkhit + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + kingsrock + endturn + defenseup + statupmessage + endmove + +Twister: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + doubleflyingdamage + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + flinchtarget + endmove + +Earthquake: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + doubleundergrounddamage + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + endmove + +FutureSight: + checkfuturesight + checkobedience + usedmovetext + doturn + damagestats + damagecalc + futuresight + damagevariation ; skip here if last turn + checkhit + hittargetnosub + failuretext + checkfaint + checkdestinybond + buildopponentrage + endmove + +Gust: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + doubleflyingdamage + checkhit + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + endmove + +Stomp: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + stab + damagevariation + doubleminimizedamage + checkhit + effectchance + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + flinchtarget + endmove + +Solarbeam: + checkcharge + checkobedience + doturn + skipsuncharge + charge + usedmovetext + critical + damagestats + damagecalc + stab + damagevariation + checkhit + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + kingsrock + endmove + +Thunder: + checkobedience + usedmovetext + doturn + critical + damagestats + damagecalc + thunderaccuracy + checkhit + effectchance + stab + damagevariation + hittarget + failuretext + checkfaint + criticaltext + supereffectivetext + checkdestinybond + buildopponentrage + paralyzetarget + endmove + +Teleport: + checkobedience + usedmovetext + doturn + teleport + endmove + +BeatUp: + checkobedience + usedmovetext + movedelay + doturn + startloop + lowersub + checkhit + critical + beatup + damagecalc + damagevariation + clearmissdamage + hittargetnosub + failuretext + checkfaint + criticaltext + cleartext + supereffectivetext + checkdestinybond + buildopponentrage + endloop + effect0xa8 + raisesub + kingsrock + endmove + +DefenseCurl: + checkobedience + usedmovetext + doturn + defenseup + curl + lowersub + statupanim + raisesub + statupmessage + statupfailtext + endmove diff --git a/data/moves/move_effects_pointers.asm b/data/moves/move_effects_pointers.asm new file mode 100644 index 000000000..a12092881 --- /dev/null +++ b/data/moves/move_effects_pointers.asm @@ -0,0 +1,159 @@ +MoveEffectsPointers: ; 271f4 +; entries correspond to EFFECT_* constants + dw NormalHit + dw DoSleep + dw PoisonHit + dw LeechHit + dw BurnHit + dw FreezeHit + dw ParalyzeHit + dw Selfdestruct + dw DreamEater + dw MirrorMove + dw AttackUp + dw DefenseUp + dw SpeedUp + dw SpecialAttackUp + dw SpecialDefenseUp + dw AccuracyUp + dw EvasionUp + dw NormalHit + dw AttackDown + dw DefenseDown + dw SpeedDown + dw SpecialAttackDown + dw SpecialDefenseDown + dw AccuracyDown + dw EvasionDown + dw ResetStats + dw Bide + dw Rampage + dw ForceSwitch + dw MultiHit + dw Conversion + dw FlinchHit + dw Heal + dw Toxic + dw PayDay + dw LightScreen + dw TriAttack + dw NormalHit + dw OHKOHit + dw RazorWind + dw SuperFang + dw StaticDamage + dw TrapTarget + dw NormalHit + dw MultiHit + dw NormalHit + dw Mist + dw FocusEnergy + dw RecoilHit + dw DoConfuse + dw AttackUp2 + dw DefenseUp2 + dw SpeedUp2 + dw SpecialAttackUp2 + dw SpecialDefenseUp2 + dw AccuracyUp2 + dw EvasionUp2 + dw Transform + dw AttackDown2 + dw DefenseDown2 + dw SpeedDown2 + dw SpecialAttackDown2 + dw SpecialDefenseDown2 + dw AccuracyDown2 + dw EvasionDown2 + dw Reflect + dw DoPoison + dw DoParalyze + dw AttackDownHit + dw DefenseDownHit + dw SpeedDownHit + dw SpecialAttackDownHit + dw SpecialDefenseDownHit + dw AccuracyDownHit + dw EvasionDownHit + dw SkyAttack + dw ConfuseHit + dw PoisonMultiHit + dw NormalHit + dw Substitute + dw HyperBeam + dw Rage + dw Mimic + dw Metronome + dw LeechSeed + dw Splash + dw Disable + dw StaticDamage + dw Psywave + dw Counter + dw Encore + dw PainSplit + dw Snore + dw Conversion2 + dw LockOn + dw Sketch + dw DefrostOpponent + dw SleepTalk + dw DestinyBond + dw Reversal + dw Spite + dw FalseSwipe + dw HealBell + dw NormalHit + dw TripleKick + dw Thief + dw MeanLook + dw Nightmare + dw FlameWheel + dw Curse + dw NormalHit + dw Protect + dw Spikes + dw Foresight + dw PerishSong + dw Sandstorm + dw Endure + dw Rollout + dw Swagger + dw FuryCutter + dw Attract + dw Return + dw Present + dw Frustration + dw Safeguard + dw SacredFire + dw Magnitude + dw BatonPass + dw Pursuit + dw RapidSpin + dw NormalHit + dw NormalHit + dw MorningSun + dw Synthesis + dw Moonlight + dw HiddenPower + dw RainDance + dw SunnyDay + dw DefenseUpHit + dw AttackUpHit + dw AllUpHit + dw FakeOut + dw BellyDrum + dw PsychUp + dw MirrorCoat + dw SkullBash + dw Twister + dw Earthquake + dw FutureSight + dw Gust + dw Stomp + dw Solarbeam + dw Thunder + dw Teleport + dw BeatUp + dw Fly + dw DefenseCurl diff --git a/data/moves/move_names.asm b/data/moves/move_names.asm new file mode 100644 index 000000000..cfc7ac54f --- /dev/null +++ b/data/moves/move_names.asm @@ -0,0 +1,252 @@ +MoveNames:: + db "POUND@" + db "KARATE CHOP@" + db "DOUBLESLAP@" + db "COMET PUNCH@" + db "MEGA PUNCH@" + db "PAY DAY@" + db "FIRE PUNCH@" + db "ICE PUNCH@" + db "THUNDERPUNCH@" + db "SCRATCH@" + db "VICEGRIP@" + db "GUILLOTINE@" + db "RAZOR WIND@" + db "SWORDS DANCE@" + db "CUT@" + db "GUST@" + db "WING ATTACK@" + db "WHIRLWIND@" + db "FLY@" + db "BIND@" + db "SLAM@" + db "VINE WHIP@" + db "STOMP@" + db "DOUBLE KICK@" + db "MEGA KICK@" + db "JUMP KICK@" + db "ROLLING KICK@" + db "SAND-ATTACK@" + db "HEADBUTT@" + db "HORN ATTACK@" + db "FURY ATTACK@" + db "HORN DRILL@" + db "TACKLE@" + db "BODY SLAM@" + db "WRAP@" + db "TAKE DOWN@" + db "THRASH@" + db "DOUBLE-EDGE@" + db "TAIL WHIP@" + db "POISON STING@" + db "TWINEEDLE@" + db "PIN MISSILE@" + db "LEER@" + db "BITE@" + db "GROWL@" + db "ROAR@" + db "SING@" + db "SUPERSONIC@" + db "SONICBOOM@" + db "DISABLE@" + db "ACID@" + db "EMBER@" + db "FLAMETHROWER@" + db "MIST@" + db "WATER GUN@" + db "HYDRO PUMP@" + db "SURF@" + db "ICE BEAM@" + db "BLIZZARD@" + db "PSYBEAM@" + db "BUBBLEBEAM@" + db "AURORA BEAM@" + db "HYPER BEAM@" + db "PECK@" + db "DRILL PECK@" + db "SUBMISSION@" + db "LOW KICK@" + db "COUNTER@" + db "SEISMIC TOSS@" + db "STRENGTH@" + db "ABSORB@" + db "MEGA DRAIN@" + db "LEECH SEED@" + db "GROWTH@" + db "RAZOR LEAF@" + db "SOLARBEAM@" + db "POISONPOWDER@" + db "STUN SPORE@" + db "SLEEP POWDER@" + db "PETAL DANCE@" + db "STRING SHOT@" + db "DRAGON RAGE@" + db "FIRE SPIN@" + db "THUNDERSHOCK@" + db "THUNDERBOLT@" + db "THUNDER WAVE@" + db "THUNDER@" + db "ROCK THROW@" + db "EARTHQUAKE@" + db "FISSURE@" + db "DIG@" + db "TOXIC@" + db "CONFUSION@" + db "PSYCHIC@" + db "HYPNOSIS@" + db "MEDITATE@" + db "AGILITY@" + db "QUICK ATTACK@" + db "RAGE@" + db "TELEPORT@" + db "NIGHT SHADE@" + db "MIMIC@" + db "SCREECH@" + db "DOUBLE TEAM@" + db "RECOVER@" + db "HARDEN@" + db "MINIMIZE@" + db "SMOKESCREEN@" + db "CONFUSE RAY@" + db "WITHDRAW@" + db "DEFENSE CURL@" + db "BARRIER@" + db "LIGHT SCREEN@" + db "HAZE@" + db "REFLECT@" + db "FOCUS ENERGY@" + db "BIDE@" + db "METRONOME@" + db "MIRROR MOVE@" + db "SELFDESTRUCT@" + db "EGG BOMB@" + db "LICK@" + db "SMOG@" + db "SLUDGE@" + db "BONE CLUB@" + db "FIRE BLAST@" + db "WATERFALL@" + db "CLAMP@" + db "SWIFT@" + db "SKULL BASH@" + db "SPIKE CANNON@" + db "CONSTRICT@" + db "AMNESIA@" + db "KINESIS@" + db "SOFTBOILED@" + db "HI JUMP KICK@" + db "GLARE@" + db "DREAM EATER@" + db "POISON GAS@" + db "BARRAGE@" + db "LEECH LIFE@" + db "LOVELY KISS@" + db "SKY ATTACK@" + db "TRANSFORM@" + db "BUBBLE@" + db "DIZZY PUNCH@" + db "SPORE@" + db "FLASH@" + db "PSYWAVE@" + db "SPLASH@" + db "ACID ARMOR@" + db "CRABHAMMER@" + db "EXPLOSION@" + db "FURY SWIPES@" + db "BONEMERANG@" + db "REST@" + db "ROCK SLIDE@" + db "HYPER FANG@" + db "SHARPEN@" + db "CONVERSION@" + db "TRI ATTACK@" + db "SUPER FANG@" + db "SLASH@" + db "SUBSTITUTE@" + db "STRUGGLE@" + db "SKETCH@" + db "TRIPLE KICK@" + db "THIEF@" + db "SPIDER WEB@" + db "MIND READER@" + db "NIGHTMARE@" + db "FLAME WHEEL@" + db "SNORE@" + db "CURSE@" + db "FLAIL@" + db "CONVERSION2@" + db "AEROBLAST@" + db "COTTON SPORE@" + db "REVERSAL@" + db "SPITE@" + db "POWDER SNOW@" + db "PROTECT@" + db "MACH PUNCH@" + db "SCARY FACE@" + db "FAINT ATTACK@" + db "SWEET KISS@" + db "BELLY DRUM@" + db "SLUDGE BOMB@" + db "MUD-SLAP@" + db "OCTAZOOKA@" + db "SPIKES@" + db "ZAP CANNON@" + db "FORESIGHT@" + db "DESTINY BOND@" + db "PERISH SONG@" + db "ICY WIND@" + db "DETECT@" + db "BONE RUSH@" + db "LOCK-ON@" + db "OUTRAGE@" + db "SANDSTORM@" + db "GIGA DRAIN@" + db "ENDURE@" + db "CHARM@" + db "ROLLOUT@" + db "FALSE SWIPE@" + db "SWAGGER@" + db "MILK DRINK@" + db "SPARK@" + db "FURY CUTTER@" + db "STEEL WING@" + db "MEAN LOOK@" + db "ATTRACT@" + db "SLEEP TALK@" + db "HEAL BELL@" + db "RETURN@" + db "PRESENT@" + db "FRUSTRATION@" + db "SAFEGUARD@" + db "PAIN SPLIT@" + db "SACRED FIRE@" + db "MAGNITUDE@" + db "DYNAMICPUNCH@" + db "MEGAHORN@" + db "DRAGONBREATH@" + db "BATON PASS@" + db "ENCORE@" + db "PURSUIT@" + db "RAPID SPIN@" + db "SWEET SCENT@" + db "IRON TAIL@" + db "METAL CLAW@" + db "VITAL THROW@" + db "MORNING SUN@" + db "SYNTHESIS@" + db "MOONLIGHT@" + db "HIDDEN POWER@" + db "CROSS CHOP@" + db "TWISTER@" + db "RAIN DANCE@" + db "SUNNY DAY@" + db "CRUNCH@" + db "MIRROR COAT@" + db "PSYCH UP@" + db "EXTREMESPEED@" + db "ANCIENTPOWER@" + db "SHADOW BALL@" + db "FUTURE SIGHT@" + db "ROCK SMASH@" + db "WHIRLPOOL@" + db "BEAT UP@" diff --git a/data/moves/moves.asm b/data/moves/moves.asm new file mode 100644 index 000000000..b576fbaff --- /dev/null +++ b/data/moves/moves.asm @@ -0,0 +1,265 @@ +; Characteristics of each move. + +move: MACRO + db \1 ; animation + db \2 ; effect + db \3 ; power + db \4 ; type + db \5 percent ; accuracy + db \6 ; pp + db \7 percent ; effect chance +ENDM + +Moves: ; 41afb +; entries correspond to constants/move_constants.asm + move POUND, EFFECT_NORMAL_HIT, 40, NORMAL, 100, 35, 0 + move KARATE_CHOP, EFFECT_NORMAL_HIT, 50, FIGHTING, 100, 25, 0 + move DOUBLESLAP, EFFECT_MULTI_HIT, 15, NORMAL, 85, 10, 0 + move COMET_PUNCH, EFFECT_MULTI_HIT, 18, NORMAL, 85, 15, 0 + move MEGA_PUNCH, EFFECT_NORMAL_HIT, 80, NORMAL, 85, 20, 0 + move PAY_DAY, EFFECT_PAY_DAY, 40, NORMAL, 100, 20, 0 + move FIRE_PUNCH, EFFECT_BURN_HIT, 75, FIRE, 100, 15, 10 + move ICE_PUNCH, EFFECT_FREEZE_HIT, 75, ICE, 100, 15, 10 + move THUNDERPUNCH, EFFECT_PARALYZE_HIT, 75, ELECTRIC, 100, 15, 10 + move SCRATCH, EFFECT_NORMAL_HIT, 40, NORMAL, 100, 35, 0 + move VICEGRIP, EFFECT_NORMAL_HIT, 55, NORMAL, 100, 30, 0 + move GUILLOTINE, EFFECT_OHKO, 0, NORMAL, 30, 5, 0 + move RAZOR_WIND, EFFECT_RAZOR_WIND, 80, NORMAL, 75, 10, 0 + move SWORDS_DANCE, EFFECT_ATTACK_UP_2, 0, NORMAL, 100, 30, 0 + move CUT, EFFECT_NORMAL_HIT, 50, NORMAL, 95, 30, 0 + move GUST, EFFECT_GUST, 40, FLYING, 100, 35, 0 + move WING_ATTACK, EFFECT_NORMAL_HIT, 60, FLYING, 100, 35, 0 + move WHIRLWIND, EFFECT_FORCE_SWITCH, 0, NORMAL, 100, 20, 0 + move FLY, EFFECT_FLY, 70, FLYING, 95, 15, 0 + move BIND, EFFECT_TRAP_TARGET, 15, NORMAL, 75, 20, 0 + move SLAM, EFFECT_NORMAL_HIT, 80, NORMAL, 75, 20, 0 + move VINE_WHIP, EFFECT_NORMAL_HIT, 35, GRASS, 100, 10, 0 + move STOMP, EFFECT_STOMP, 65, NORMAL, 100, 20, 30 + move DOUBLE_KICK, EFFECT_DOUBLE_HIT, 30, FIGHTING, 100, 30, 0 + move MEGA_KICK, EFFECT_NORMAL_HIT, 120, NORMAL, 75, 5, 0 + move JUMP_KICK, EFFECT_JUMP_KICK, 70, FIGHTING, 95, 25, 0 + move ROLLING_KICK, EFFECT_FLINCH_HIT, 60, FIGHTING, 85, 15, 30 + move SAND_ATTACK, EFFECT_ACCURACY_DOWN, 0, GROUND, 100, 15, 0 + move HEADBUTT, EFFECT_FLINCH_HIT, 70, NORMAL, 100, 15, 30 + move HORN_ATTACK, EFFECT_NORMAL_HIT, 65, NORMAL, 100, 25, 0 + move FURY_ATTACK, EFFECT_MULTI_HIT, 15, NORMAL, 85, 20, 0 + move HORN_DRILL, EFFECT_OHKO, 1, NORMAL, 30, 5, 0 + move TACKLE, EFFECT_NORMAL_HIT, 35, NORMAL, 95, 35, 0 + move BODY_SLAM, EFFECT_PARALYZE_HIT, 85, NORMAL, 100, 15, 30 + move WRAP, EFFECT_TRAP_TARGET, 15, NORMAL, 85, 20, 0 + move TAKE_DOWN, EFFECT_RECOIL_HIT, 90, NORMAL, 85, 20, 0 + move THRASH, EFFECT_RAMPAGE, 90, NORMAL, 100, 20, 0 + move DOUBLE_EDGE, EFFECT_RECOIL_HIT, 120, NORMAL, 100, 15, 0 + move TAIL_WHIP, EFFECT_DEFENSE_DOWN, 0, NORMAL, 100, 30, 0 + move POISON_STING, EFFECT_POISON_HIT, 15, POISON, 100, 35, 30 + move TWINEEDLE, EFFECT_POISON_MULTI_HIT, 25, BUG, 100, 20, 20 + move PIN_MISSILE, EFFECT_MULTI_HIT, 14, BUG, 85, 20, 0 + move LEER, EFFECT_DEFENSE_DOWN, 0, NORMAL, 100, 30, 0 + move BITE, EFFECT_FLINCH_HIT, 60, DARK, 100, 25, 30 + move GROWL, EFFECT_ATTACK_DOWN, 0, NORMAL, 100, 40, 0 + move ROAR, EFFECT_FORCE_SWITCH, 0, NORMAL, 100, 20, 0 + move SING, EFFECT_SLEEP, 0, NORMAL, 55, 15, 0 + move SUPERSONIC, EFFECT_CONFUSE, 0, NORMAL, 55, 20, 0 + move SONICBOOM, EFFECT_STATIC_DAMAGE, 20, NORMAL, 90, 20, 0 + move DISABLE, EFFECT_DISABLE, 0, NORMAL, 55, 20, 0 + move ACID, EFFECT_DEFENSE_DOWN_HIT, 40, POISON, 100, 30, 10 + move EMBER, EFFECT_BURN_HIT, 40, FIRE, 100, 25, 10 + move FLAMETHROWER, EFFECT_BURN_HIT, 95, FIRE, 100, 15, 10 + move MIST, EFFECT_MIST, 0, ICE, 100, 30, 0 + move WATER_GUN, EFFECT_NORMAL_HIT, 40, WATER, 100, 25, 0 + move HYDRO_PUMP, EFFECT_NORMAL_HIT, 120, WATER, 80, 5, 0 + move SURF, EFFECT_NORMAL_HIT, 95, WATER, 100, 15, 0 + move ICE_BEAM, EFFECT_FREEZE_HIT, 95, ICE, 100, 10, 10 + move BLIZZARD, EFFECT_FREEZE_HIT, 120, ICE, 70, 5, 10 + move PSYBEAM, EFFECT_CONFUSE_HIT, 65, PSYCHIC, 100, 20, 10 + move BUBBLEBEAM, EFFECT_SPEED_DOWN_HIT, 65, WATER, 100, 20, 10 + move AURORA_BEAM, EFFECT_ATTACK_DOWN_HIT, 65, ICE, 100, 20, 10 + move HYPER_BEAM, EFFECT_HYPER_BEAM, 150, NORMAL, 90, 5, 0 + move PECK, EFFECT_NORMAL_HIT, 35, FLYING, 100, 35, 0 + move DRILL_PECK, EFFECT_NORMAL_HIT, 80, FLYING, 100, 20, 0 + move SUBMISSION, EFFECT_RECOIL_HIT, 80, FIGHTING, 80, 25, 0 + move LOW_KICK, EFFECT_FLINCH_HIT, 50, FIGHTING, 90, 20, 30 + move COUNTER, EFFECT_COUNTER, 1, FIGHTING, 100, 20, 0 + move SEISMIC_TOSS, EFFECT_LEVEL_DAMAGE, 1, FIGHTING, 100, 20, 0 + move STRENGTH, EFFECT_NORMAL_HIT, 80, NORMAL, 100, 15, 0 + move ABSORB, EFFECT_LEECH_HIT, 20, GRASS, 100, 20, 0 + move MEGA_DRAIN, EFFECT_LEECH_HIT, 40, GRASS, 100, 10, 0 + move LEECH_SEED, EFFECT_LEECH_SEED, 0, GRASS, 90, 10, 0 + move GROWTH, EFFECT_SP_ATK_UP, 0, NORMAL, 100, 40, 0 + move RAZOR_LEAF, EFFECT_NORMAL_HIT, 55, GRASS, 95, 25, 0 + move SOLARBEAM, EFFECT_SOLARBEAM, 120, GRASS, 100, 10, 0 + move POISONPOWDER, EFFECT_POISON, 0, POISON, 75, 35, 0 + move STUN_SPORE, EFFECT_PARALYZE, 0, GRASS, 75, 30, 0 + move SLEEP_POWDER, EFFECT_SLEEP, 0, GRASS, 75, 15, 0 + move PETAL_DANCE, EFFECT_RAMPAGE, 70, GRASS, 100, 20, 0 + move STRING_SHOT, EFFECT_SPEED_DOWN, 0, BUG, 95, 40, 0 + move DRAGON_RAGE, EFFECT_STATIC_DAMAGE, 40, DRAGON, 100, 10, 0 + move FIRE_SPIN, EFFECT_TRAP_TARGET, 15, FIRE, 70, 15, 0 + move THUNDERSHOCK, EFFECT_PARALYZE_HIT, 40, ELECTRIC, 100, 30, 10 + move THUNDERBOLT, EFFECT_PARALYZE_HIT, 95, ELECTRIC, 100, 15, 10 + move THUNDER_WAVE, EFFECT_PARALYZE, 0, ELECTRIC, 100, 20, 0 + move THUNDER, EFFECT_THUNDER, 120, ELECTRIC, 70, 10, 30 + move ROCK_THROW, EFFECT_NORMAL_HIT, 50, ROCK, 90, 15, 0 + move EARTHQUAKE, EFFECT_EARTHQUAKE, 100, GROUND, 100, 10, 0 + move FISSURE, EFFECT_OHKO, 1, GROUND, 30, 5, 0 + move DIG, EFFECT_FLY, 60, GROUND, 100, 10, 0 + move TOXIC, EFFECT_TOXIC, 0, POISON, 85, 10, 0 + move CONFUSION, EFFECT_CONFUSE_HIT, 50, PSYCHIC, 100, 25, 10 + move PSYCHIC_M, EFFECT_SP_DEF_DOWN_HIT, 90, PSYCHIC, 100, 10, 10 + move HYPNOSIS, EFFECT_SLEEP, 0, PSYCHIC, 60, 20, 0 + move MEDITATE, EFFECT_ATTACK_UP, 0, PSYCHIC, 100, 40, 0 + move AGILITY, EFFECT_SPEED_UP_2, 0, PSYCHIC, 100, 30, 0 + move QUICK_ATTACK, EFFECT_PRIORITY_HIT, 40, NORMAL, 100, 30, 0 + move RAGE, EFFECT_RAGE, 20, NORMAL, 100, 20, 0 + move TELEPORT, EFFECT_TELEPORT, 0, PSYCHIC, 100, 20, 0 + move NIGHT_SHADE, EFFECT_LEVEL_DAMAGE, 1, GHOST, 100, 15, 0 + move MIMIC, EFFECT_MIMIC, 0, NORMAL, 100, 10, 0 + move SCREECH, EFFECT_DEFENSE_DOWN_2, 0, NORMAL, 85, 40, 0 + move DOUBLE_TEAM, EFFECT_EVASION_UP, 0, NORMAL, 100, 15, 0 + move RECOVER, EFFECT_HEAL, 0, NORMAL, 100, 20, 0 + move HARDEN, EFFECT_DEFENSE_UP, 0, NORMAL, 100, 30, 0 + move MINIMIZE, EFFECT_EVASION_UP, 0, NORMAL, 100, 20, 0 + move SMOKESCREEN, EFFECT_ACCURACY_DOWN, 0, NORMAL, 100, 20, 0 + move CONFUSE_RAY, EFFECT_CONFUSE, 0, GHOST, 100, 10, 0 + move WITHDRAW, EFFECT_DEFENSE_UP, 0, WATER, 100, 40, 0 + move DEFENSE_CURL, EFFECT_DEFENSE_CURL, 0, NORMAL, 100, 40, 0 + move BARRIER, EFFECT_DEFENSE_UP_2, 0, PSYCHIC, 100, 30, 0 + move LIGHT_SCREEN, EFFECT_LIGHT_SCREEN, 0, PSYCHIC, 100, 30, 0 + move HAZE, EFFECT_RESET_STATS, 0, ICE, 100, 30, 0 + move REFLECT, EFFECT_REFLECT, 0, PSYCHIC, 100, 20, 0 + move FOCUS_ENERGY, EFFECT_FOCUS_ENERGY, 0, NORMAL, 100, 30, 0 + move BIDE, EFFECT_BIDE, 0, NORMAL, 100, 10, 0 + move METRONOME, EFFECT_METRONOME, 0, NORMAL, 100, 10, 0 + move MIRROR_MOVE, EFFECT_MIRROR_MOVE, 0, FLYING, 100, 20, 0 + move SELFDESTRUCT, EFFECT_SELFDESTRUCT, 200, NORMAL, 100, 5, 0 + move EGG_BOMB, EFFECT_NORMAL_HIT, 100, NORMAL, 75, 10, 0 + move LICK, EFFECT_PARALYZE_HIT, 20, GHOST, 100, 30, 30 + move SMOG, EFFECT_POISON_HIT, 20, POISON, 70, 20, 40 + move SLUDGE, EFFECT_POISON_HIT, 65, POISON, 100, 20, 30 + move BONE_CLUB, EFFECT_FLINCH_HIT, 65, GROUND, 85, 20, 10 + move FIRE_BLAST, EFFECT_BURN_HIT, 120, FIRE, 85, 5, 10 + move WATERFALL, EFFECT_NORMAL_HIT, 80, WATER, 100, 15, 0 + move CLAMP, EFFECT_TRAP_TARGET, 35, WATER, 75, 10, 0 + move SWIFT, EFFECT_ALWAYS_HIT, 60, NORMAL, 100, 20, 0 + move SKULL_BASH, EFFECT_SKULL_BASH, 100, NORMAL, 100, 15, 0 + move SPIKE_CANNON, EFFECT_MULTI_HIT, 20, NORMAL, 100, 15, 0 + move CONSTRICT, EFFECT_SPEED_DOWN_HIT, 10, NORMAL, 100, 35, 10 + move AMNESIA, EFFECT_SP_DEF_UP_2, 0, PSYCHIC, 100, 20, 0 + move KINESIS, EFFECT_ACCURACY_DOWN, 0, PSYCHIC, 80, 15, 0 + move SOFTBOILED, EFFECT_HEAL, 0, NORMAL, 100, 10, 0 + move HI_JUMP_KICK, EFFECT_JUMP_KICK, 85, FIGHTING, 90, 20, 0 + move GLARE, EFFECT_PARALYZE, 0, NORMAL, 75, 30, 0 + move DREAM_EATER, EFFECT_DREAM_EATER, 100, PSYCHIC, 100, 15, 0 + move POISON_GAS, EFFECT_POISON, 0, POISON, 55, 40, 0 + move BARRAGE, EFFECT_MULTI_HIT, 15, NORMAL, 85, 20, 0 + move LEECH_LIFE, EFFECT_LEECH_HIT, 20, BUG, 100, 15, 0 + move LOVELY_KISS, EFFECT_SLEEP, 0, NORMAL, 75, 10, 0 + move SKY_ATTACK, EFFECT_SKY_ATTACK, 140, FLYING, 90, 5, 0 + move TRANSFORM, EFFECT_TRANSFORM, 0, NORMAL, 100, 10, 0 + move BUBBLE, EFFECT_SPEED_DOWN_HIT, 20, WATER, 100, 30, 10 + move DIZZY_PUNCH, EFFECT_CONFUSE_HIT, 70, NORMAL, 100, 10, 20 + move SPORE, EFFECT_SLEEP, 0, GRASS, 100, 15, 0 + move FLASH, EFFECT_ACCURACY_DOWN, 0, NORMAL, 70, 20, 0 + move PSYWAVE, EFFECT_PSYWAVE, 1, PSYCHIC, 80, 15, 0 + move SPLASH, EFFECT_SPLASH, 0, NORMAL, 100, 40, 0 + move ACID_ARMOR, EFFECT_DEFENSE_UP_2, 0, POISON, 100, 40, 0 + move CRABHAMMER, EFFECT_NORMAL_HIT, 90, WATER, 85, 10, 0 + move EXPLOSION, EFFECT_SELFDESTRUCT, 250, NORMAL, 100, 5, 0 + move FURY_SWIPES, EFFECT_MULTI_HIT, 18, NORMAL, 80, 15, 0 + move BONEMERANG, EFFECT_DOUBLE_HIT, 50, GROUND, 90, 10, 0 + move REST, EFFECT_HEAL, 0, PSYCHIC, 100, 10, 0 + move ROCK_SLIDE, EFFECT_FLINCH_HIT, 75, ROCK, 90, 10, 30 + move HYPER_FANG, EFFECT_FLINCH_HIT, 80, NORMAL, 90, 15, 10 + move SHARPEN, EFFECT_ATTACK_UP, 0, NORMAL, 100, 30, 0 + move CONVERSION, EFFECT_CONVERSION, 0, NORMAL, 100, 30, 0 + move TRI_ATTACK, EFFECT_TRI_ATTACK, 80, NORMAL, 100, 10, 20 + move SUPER_FANG, EFFECT_SUPER_FANG, 1, NORMAL, 90, 10, 0 + move SLASH, EFFECT_NORMAL_HIT, 70, NORMAL, 100, 20, 0 + move SUBSTITUTE, EFFECT_SUBSTITUTE, 0, NORMAL, 100, 10, 0 + move STRUGGLE, EFFECT_RECOIL_HIT, 50, NORMAL, 100, 1, 0 + move SKETCH, EFFECT_SKETCH, 0, NORMAL, 100, 1, 0 + move TRIPLE_KICK, EFFECT_TRIPLE_KICK, 10, FIGHTING, 90, 10, 0 + move THIEF, EFFECT_THIEF, 40, DARK, 100, 10, 100 + move SPIDER_WEB, EFFECT_MEAN_LOOK, 0, BUG, 100, 10, 0 + move MIND_READER, EFFECT_LOCK_ON, 0, NORMAL, 100, 5, 0 + move NIGHTMARE, EFFECT_NIGHTMARE, 0, GHOST, 100, 15, 0 + move FLAME_WHEEL, EFFECT_FLAME_WHEEL, 60, FIRE, 100, 25, 10 + move SNORE, EFFECT_SNORE, 40, NORMAL, 100, 15, 30 + move CURSE, EFFECT_CURSE, 0, CURSE_T, 100, 10, 0 + move FLAIL, EFFECT_REVERSAL, 1, NORMAL, 100, 15, 0 + move CONVERSION2, EFFECT_CONVERSION2, 0, NORMAL, 100, 30, 0 + move AEROBLAST, EFFECT_NORMAL_HIT, 100, FLYING, 95, 5, 0 + move COTTON_SPORE, EFFECT_SPEED_DOWN_2, 0, GRASS, 85, 40, 0 + move REVERSAL, EFFECT_REVERSAL, 1, FIGHTING, 100, 15, 0 + move SPITE, EFFECT_SPITE, 0, GHOST, 100, 10, 0 + move POWDER_SNOW, EFFECT_FREEZE_HIT, 40, ICE, 100, 25, 10 + move PROTECT, EFFECT_PROTECT, 0, NORMAL, 100, 10, 0 + move MACH_PUNCH, EFFECT_PRIORITY_HIT, 40, FIGHTING, 100, 30, 0 + move SCARY_FACE, EFFECT_SPEED_DOWN_2, 0, NORMAL, 90, 10, 0 + move FAINT_ATTACK, EFFECT_ALWAYS_HIT, 60, DARK, 100, 20, 0 + move SWEET_KISS, EFFECT_CONFUSE, 0, NORMAL, 75, 10, 0 + move BELLY_DRUM, EFFECT_BELLY_DRUM, 0, NORMAL, 100, 10, 0 + move SLUDGE_BOMB, EFFECT_POISON_HIT, 90, POISON, 100, 10, 30 + move MUD_SLAP, EFFECT_ACCURACY_DOWN_HIT, 20, GROUND, 100, 10, 100 + move OCTAZOOKA, EFFECT_ACCURACY_DOWN_HIT, 65, WATER, 85, 10, 50 + move SPIKES, EFFECT_SPIKES, 0, GROUND, 100, 20, 0 + move ZAP_CANNON, EFFECT_PARALYZE_HIT, 100, ELECTRIC, 50, 5, 100 + move FORESIGHT, EFFECT_FORESIGHT, 0, NORMAL, 100, 40, 0 + move DESTINY_BOND, EFFECT_DESTINY_BOND, 0, GHOST, 100, 5, 0 + move PERISH_SONG, EFFECT_PERISH_SONG, 0, NORMAL, 100, 5, 0 + move ICY_WIND, EFFECT_SPEED_DOWN_HIT, 55, ICE, 95, 15, 100 + move DETECT, EFFECT_PROTECT, 0, FIGHTING, 100, 5, 0 + move BONE_RUSH, EFFECT_MULTI_HIT, 25, GROUND, 80, 10, 0 + move LOCK_ON, EFFECT_LOCK_ON, 0, NORMAL, 100, 5, 0 + move OUTRAGE, EFFECT_RAMPAGE, 90, DRAGON, 100, 15, 0 + move SANDSTORM, EFFECT_SANDSTORM, 0, ROCK, 100, 10, 0 + move GIGA_DRAIN, EFFECT_LEECH_HIT, 60, GRASS, 100, 5, 0 + move ENDURE, EFFECT_ENDURE, 0, NORMAL, 100, 10, 0 + move CHARM, EFFECT_ATTACK_DOWN_2, 0, NORMAL, 100, 20, 0 + move ROLLOUT, EFFECT_ROLLOUT, 30, ROCK, 90, 20, 0 + move FALSE_SWIPE, EFFECT_FALSE_SWIPE, 40, NORMAL, 100, 40, 0 + move SWAGGER, EFFECT_SWAGGER, 0, NORMAL, 90, 15, 100 + move MILK_DRINK, EFFECT_HEAL, 0, NORMAL, 100, 10, 0 + move SPARK, EFFECT_PARALYZE_HIT, 65, ELECTRIC, 100, 20, 30 + move FURY_CUTTER, EFFECT_FURY_CUTTER, 10, BUG, 95, 20, 0 + move STEEL_WING, EFFECT_DEFENSE_UP_HIT, 70, STEEL, 90, 25, 10 + move MEAN_LOOK, EFFECT_MEAN_LOOK, 0, NORMAL, 100, 5, 0 + move ATTRACT, EFFECT_ATTRACT, 0, NORMAL, 100, 15, 0 + move SLEEP_TALK, EFFECT_SLEEP_TALK, 0, NORMAL, 100, 10, 0 + move HEAL_BELL, EFFECT_HEAL_BELL, 0, NORMAL, 100, 5, 0 + move RETURN, EFFECT_RETURN, 1, NORMAL, 100, 20, 0 + move PRESENT, EFFECT_PRESENT, 1, NORMAL, 90, 15, 0 + move FRUSTRATION, EFFECT_FRUSTRATION, 1, NORMAL, 100, 20, 0 + move SAFEGUARD, EFFECT_SAFEGUARD, 0, NORMAL, 100, 25, 0 + move PAIN_SPLIT, EFFECT_PAIN_SPLIT, 0, NORMAL, 100, 20, 0 + move SACRED_FIRE, EFFECT_SACRED_FIRE, 100, FIRE, 95, 5, 50 + move MAGNITUDE, EFFECT_MAGNITUDE, 1, GROUND, 100, 30, 0 + move DYNAMICPUNCH, EFFECT_CONFUSE_HIT, 100, FIGHTING, 50, 5, 100 + move MEGAHORN, EFFECT_NORMAL_HIT, 120, BUG, 85, 10, 0 + move DRAGONBREATH, EFFECT_PARALYZE_HIT, 60, DRAGON, 100, 20, 30 + move BATON_PASS, EFFECT_BATON_PASS, 0, NORMAL, 100, 40, 0 + move ENCORE, EFFECT_ENCORE, 0, NORMAL, 100, 5, 0 + move PURSUIT, EFFECT_PURSUIT, 40, DARK, 100, 20, 0 + move RAPID_SPIN, EFFECT_RAPID_SPIN, 20, NORMAL, 100, 40, 0 + move SWEET_SCENT, EFFECT_EVASION_DOWN, 0, NORMAL, 100, 20, 0 + move IRON_TAIL, EFFECT_DEFENSE_DOWN_HIT, 100, STEEL, 75, 15, 30 + move METAL_CLAW, EFFECT_ATTACK_UP_HIT, 50, STEEL, 95, 35, 10 + move VITAL_THROW, EFFECT_ALWAYS_HIT, 70, FIGHTING, 100, 10, 0 + move MORNING_SUN, EFFECT_MORNING_SUN, 0, NORMAL, 100, 5, 0 + move SYNTHESIS, EFFECT_SYNTHESIS, 0, GRASS, 100, 5, 0 + move MOONLIGHT, EFFECT_MOONLIGHT, 0, NORMAL, 100, 5, 0 + move HIDDEN_POWER, EFFECT_HIDDEN_POWER, 1, NORMAL, 100, 15, 0 + move CROSS_CHOP, EFFECT_NORMAL_HIT, 100, FIGHTING, 80, 5, 0 + move TWISTER, EFFECT_TWISTER, 40, DRAGON, 100, 20, 20 + move RAIN_DANCE, EFFECT_RAIN_DANCE, 0, WATER, 90, 5, 0 + move SUNNY_DAY, EFFECT_SUNNY_DAY, 0, FIRE, 90, 5, 0 + move CRUNCH, EFFECT_SP_DEF_DOWN_HIT, 80, DARK, 100, 15, 20 + move MIRROR_COAT, EFFECT_MIRROR_COAT, 1, PSYCHIC, 100, 20, 0 + move PSYCH_UP, EFFECT_PSYCH_UP, 0, NORMAL, 100, 10, 0 + move EXTREMESPEED, EFFECT_PRIORITY_HIT, 80, NORMAL, 100, 5, 0 + move ANCIENTPOWER, EFFECT_ALL_UP_HIT, 60, ROCK, 100, 5, 10 + move SHADOW_BALL, EFFECT_SP_DEF_DOWN_HIT, 80, GHOST, 100, 15, 20 + move FUTURE_SIGHT, EFFECT_FUTURE_SIGHT, 80, PSYCHIC, 90, 15, 0 + move ROCK_SMASH, EFFECT_DEFENSE_DOWN_HIT, 20, FIGHTING, 100, 15, 50 + move WHIRLPOOL, EFFECT_TRAP_TARGET, 15, WATER, 70, 15, 0 + move BEAT_UP, EFFECT_BEAT_UP, 10, DARK, 100, 10, 0 diff --git a/data/tmhm_moves.asm b/data/moves/tmhm_moves.asm index c1af85ec5..fea29780c 100644 --- a/data/tmhm_moves.asm +++ b/data/moves/tmhm_moves.asm @@ -50,7 +50,6 @@ TMHMMoves: ; 1167a db FIRE_PUNCH db FURY_CUTTER db NIGHTMARE - ; HMs db CUT db FLY @@ -59,11 +58,9 @@ TMHMMoves: ; 1167a db FLASH db WHIRLPOOL db WATERFALL - ; Move tutor db FLAMETHROWER db THUNDERBOLT db ICE_BEAM - db 0 ; end ; 116b7 diff --git a/data/mystery_gift/decos.asm b/data/mystery_gift_decos.asm index bdd4694c6..bdd4694c6 100644 --- a/data/mystery_gift/decos.asm +++ b/data/mystery_gift_decos.asm diff --git a/data/mystery_gift/items.asm b/data/mystery_gift_items.asm index b2379071e..b2379071e 100644 --- a/data/mystery_gift/items.asm +++ b/data/mystery_gift_items.asm diff --git a/data/sprite_anim_frames.asm b/data/sprite_anim_frames.asm deleted file mode 100755 index e69792ec1..000000000 --- a/data/sprite_anim_frames.asm +++ /dev/null @@ -1,499 +0,0 @@ -SpriteAnimFrameData: ; 8d6e6 -; entries correspond to SPRITE_ANIM_FRAMESET_* constants - dw .Frameset_00 - dw .Frameset_PartyMon - dw .Frameset_PartyMonWithMail - dw .Frameset_PartyMonWithItem - dw .Frameset_PartyMonFast - dw .Frameset_PartyMonWithMailFast - dw .Frameset_PartyMonWithItemFast - dw .Frameset_GSTitleTrail - dw .Frameset_TextEntryCursor - dw .Frameset_09 - dw .Frameset_GameFreakLogo - dw .Frameset_GSIntroStar - dw .Frameset_GSIntroSparkle - dw .Frameset_SlotsGolem - dw .Frameset_SlotsChansey - dw .Frameset_SlotsChansey2 - dw .Frameset_SlotsEgg - dw .Frameset_RedWalk - dw .Frameset_StillCursor - dw .Frameset_TradePokeBall - dw .Frameset_TradePokeBall0 - dw .Frameset_TradePoof - dw .Frameset_TradeTubeBulge - dw .Frameset_TrademonIcon - dw .Frameset_TrademonBubble - dw .Frameset_EvolutionBallOfLight - dw .Frameset_RadioTuningKnob - dw .Frameset_MagnetTrainRed - dw .Frameset_1c - dw .Frameset_Leaf - dw .Frameset_CutTree - dw .Frameset_EggCrack - dw .Frameset_EggHatch - dw .Frameset_21 - dw .Frameset_22 - dw .Frameset_23 - dw .Frameset_24 - dw .Frameset_HeadbuttTree - dw .Frameset_26 - dw .Frameset_27 - dw .Frameset_28 - dw .Frameset_29 - dw .Frameset_2a - dw .Frameset_2b - dw .Frameset_2c - dw .Frameset_BlueWalk - dw .Frameset_MagnetTrainBlue - dw .Frameset_MobileTradeSentBall - dw .Frameset_MobileTradeOTBall - dw .Frameset_ForMobile22 - dw .Frameset_ForMobile23 - dw .Frameset_ForMobile24 - dw .Frameset_ForMobile25 - dw .Frameset_IntroSuicune - dw .Frameset_IntroSuicune2 - dw .Frameset_IntroPichu - dw .Frameset_IntroWooper - dw .Frameset_IntroUnown1 - dw .Frameset_IntroUnown2 - dw .Frameset_IntroUnown3 - dw .Frameset_IntroUnown4 - dw .Frameset_IntroUnownF2 - dw .Frameset_IntroSuicuneAway - dw .Frameset_IntroUnownF - dw .Frameset_CelebiLeft - dw .Frameset_CelebiRight -; 8d76a - -.Frameset_00: - frame SPRITE_ANIM_FRAME_IDX_RED_WALK_1, 32 - endanim - -.Frameset_PartyMon: - frame SPRITE_ANIM_FRAME_IDX_RED_WALK_1, 8 - frame SPRITE_ANIM_FRAME_IDX_RED_WALK_2, 8 - dorestart - -.Frameset_PartyMonWithMail: - frame SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_MAIL_1, 8 - frame SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_MAIL_2, 8 - dorestart - -.Frameset_PartyMonWithItem: - frame SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_ITEM_1, 8 - frame SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_ITEM_2, 8 - dorestart - -.Frameset_PartyMonFast: - frame SPRITE_ANIM_FRAME_IDX_RED_WALK_1, 4 - frame SPRITE_ANIM_FRAME_IDX_RED_WALK_2, 4 - dorestart - -.Frameset_PartyMonWithMailFast: - frame SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_MAIL_1, 4 - frame SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_MAIL_2, 4 - dorestart - -.Frameset_PartyMonWithItemFast: - frame SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_ITEM_1, 4 - frame SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_ITEM_2, 4 - dorestart - -.Frameset_RedWalk: - frame SPRITE_ANIM_FRAME_IDX_RED_WALK_1, 8 - frame SPRITE_ANIM_FRAME_IDX_RED_WALK_2, 8 - frame SPRITE_ANIM_FRAME_IDX_RED_WALK_1, 8 - frame SPRITE_ANIM_FRAME_IDX_RED_WALK_2, 8, OAM_X_FLIP - dorestart - -.Frameset_BlueWalk: - frame SPRITE_ANIM_FRAME_IDX_BLUE_WALK_1, 8 - frame SPRITE_ANIM_FRAME_IDX_BLUE_WALK_2, 8 - frame SPRITE_ANIM_FRAME_IDX_BLUE_WALK_1, 8 - frame SPRITE_ANIM_FRAME_IDX_BLUE_WALK_2, 8, OAM_X_FLIP - dorestart - -.Frameset_MagnetTrainBlue: - frame SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_BLUE_1, 8 - frame SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_BLUE_2, 8 - frame SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_BLUE_1, 8 - frame SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_BLUE_2, 8, OAM_X_FLIP - dorestart - -.Frameset_GSTitleTrail: - frame SPRITE_ANIM_FRAME_IDX_GS_TITLE_TRAIL_1, 1 - frame SPRITE_ANIM_FRAME_IDX_GS_TITLE_TRAIL_2, 1 - dorestart - -.Frameset_TextEntryCursor: - frame SPRITE_ANIM_FRAME_IDX_TEXT_ENTRY_CURSOR, 1 - dorepeat 1 - dorestart - -.Frameset_09: - frame SPRITE_ANIM_FRAME_IDX_FOR_FRAMESET_09, 1 - dorepeat 1 - dorestart - -.Frameset_GameFreakLogo: - frame SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_1, 12 - frame SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_2, 1 - frame SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_3, 1 - frame SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_2, 4 - frame SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_1, 12 - frame SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_2, 12 - frame SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_3, 4 - frame SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_4, 32 - frame SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_5, 3 - frame SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_6, 3 - frame SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_7, 4 - frame SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_8, 4 - frame SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_9, 4 - frame SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_10, 10 - frame SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_11, 7 - endanim - -.Frameset_GSIntroStar: - frame SPRITE_ANIM_FRAME_IDX_GS_INTRO_STAR, 3 - frame SPRITE_ANIM_FRAME_IDX_GS_INTRO_STAR, 3, OAM_Y_FLIP - dorestart - -.Frameset_GSIntroSparkle: - frame SPRITE_ANIM_FRAME_IDX_GS_INTRO_SPARKLE_1, 2 - frame SPRITE_ANIM_FRAME_IDX_GS_INTRO_SPARKLE_2, 2 - frame SPRITE_ANIM_FRAME_IDX_GS_INTRO_SPARKLE_3, 2 - frame SPRITE_ANIM_FRAME_IDX_GS_INTRO_SPARKLE_2, 2 - dorestart - -.Frameset_SlotsGolem: - frame SPRITE_ANIM_FRAME_IDX_SLOTS_GOLEM_1, 7 - frame SPRITE_ANIM_FRAME_IDX_SLOTS_GOLEM_2, 7 - frame SPRITE_ANIM_FRAME_IDX_SLOTS_GOLEM_1, 7, OAM_Y_FLIP - frame SPRITE_ANIM_FRAME_IDX_SLOTS_GOLEM_2, 7, OAM_X_FLIP - dorestart - -.Frameset_SlotsChansey: - frame SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_1, 7 - frame SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_2, 7 - frame SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_1, 7 - frame SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_3, 7 - dorestart - -.Frameset_SlotsChansey2: - frame SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_1, 7 - frame SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_4, 7 - frame SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_5, 7 - frame SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_4, 7 - frame SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_1, 7 - endanim - -.Frameset_SlotsEgg: - frame SPRITE_ANIM_FRAME_IDX_SLOTS_EGG, 20 - endanim - -.Frameset_StillCursor: - frame SPRITE_ANIM_FRAME_IDX_STILL_CURSOR, 32 - endanim - -.Frameset_TradePokeBall: - frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1, 32 - endanim - -.Frameset_TradePokeBall0: - frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1, 3 - frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2, 3 - frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1, 3 - frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2, 3, OAM_X_FLIP - dorestart - -.Frameset_TradePoof: - frame SPRITE_ANIM_FRAME_IDX_TRADE_POOF_1, 4 - frame SPRITE_ANIM_FRAME_IDX_TRADE_POOF_2, 4 - frame SPRITE_ANIM_FRAME_IDX_TRADE_POOF_3, 4 - delanim - -.Frameset_TradeTubeBulge: - frame SPRITE_ANIM_FRAME_IDX_35, 3 - frame SPRITE_ANIM_FRAME_IDX_36, 3 - dorestart - -.Frameset_TrademonIcon: - frame SPRITE_ANIM_FRAME_IDX_TRADEMON_ICON_1, 7 - frame SPRITE_ANIM_FRAME_IDX_TRADEMON_ICON_2, 7 - dorestart - -.Frameset_TrademonBubble: - frame SPRITE_ANIM_FRAME_IDX_TRADEMON_BUBBLE, 32 - endanim - -.Frameset_EvolutionBallOfLight: - frame SPRITE_ANIM_FRAME_IDX_EVOLUTION_BALL_OF_LIGHT_2, 2 - frame SPRITE_ANIM_FRAME_IDX_EVOLUTION_BALL_OF_LIGHT_1, 2 - frame SPRITE_ANIM_FRAME_IDX_EVOLUTION_BALL_OF_LIGHT_2, 2 - endanim - -.Frameset_RadioTuningKnob: - frame SPRITE_ANIM_FRAME_IDX_RADIO_TUNING_KNOB, 32 - endanim - -.Frameset_MagnetTrainRed: - frame SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_RED_1, 8 - frame SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_RED_2, 8 - frame SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_RED_1, 8 - frame SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_RED_2, 8, OAM_X_FLIP - dorestart - -; XXX - frame SPRITE_ANIM_FRAME_IDX_43, 8 - frame SPRITE_ANIM_FRAME_IDX_44, 8 - dorestart - -; XXX - frame SPRITE_ANIM_FRAME_IDX_45, 8 - frame SPRITE_ANIM_FRAME_IDX_46, 8 - dorestart - -; XXX - frame SPRITE_ANIM_FRAME_IDX_47, 8 - frame SPRITE_ANIM_FRAME_IDX_48, 8 - dorestart - -; XXX - frame SPRITE_ANIM_FRAME_IDX_49, 1 - frame SPRITE_ANIM_FRAME_IDX_49, 1, OAM_X_FLIP - frame SPRITE_ANIM_FRAME_IDX_49, 1, OAM_X_FLIP, OAM_Y_FLIP - frame SPRITE_ANIM_FRAME_IDX_49, 1, OAM_Y_FLIP - dorestart - -; XXX - frame SPRITE_ANIM_FRAME_IDX_4A, 32 - endanim - -; XXX - frame SPRITE_ANIM_FRAME_IDX_4B, 32 - endanim - -; XXX - frame SPRITE_ANIM_FRAME_IDX_4C, 32 - endanim - -; XXX - frame SPRITE_ANIM_FRAME_IDX_4D, 32 - endanim - -; XXX - frame SPRITE_ANIM_FRAME_IDX_4E, 3 - dorepeat 3 - dorestart - -.Frameset_1c: - dorepeat 32 - endanim - -.Frameset_Leaf: - frame SPRITE_ANIM_FRAME_IDX_LEAF, 32 - endanim - -.Frameset_CutTree: - frame SPRITE_ANIM_FRAME_IDX_TREE_1, 2 - frame SPRITE_ANIM_FRAME_IDX_CUT_TREE_2, 16 - dorepeat 1 - frame SPRITE_ANIM_FRAME_IDX_CUT_TREE_3, 1 - dorepeat 1 - frame SPRITE_ANIM_FRAME_IDX_CUT_TREE_4, 1 - delanim - -.Frameset_EggCrack: - frame SPRITE_ANIM_FRAME_IDX_EGG_CRACK, 32 - endanim - -.Frameset_EggHatch: - frame SPRITE_ANIM_FRAME_IDX_55, 32 - endanim - -.Frameset_21: - frame SPRITE_ANIM_FRAME_IDX_55, 32, OAM_X_FLIP - endanim - -.Frameset_22: - frame SPRITE_ANIM_FRAME_IDX_55, 32, OAM_Y_FLIP - endanim - -.Frameset_23: - frame SPRITE_ANIM_FRAME_IDX_55, 32, OAM_X_FLIP, OAM_Y_FLIP - endanim - -.Frameset_24: - frame SPRITE_ANIM_FRAME_IDX_56, 10 - frame SPRITE_ANIM_FRAME_IDX_57, 9 - frame SPRITE_ANIM_FRAME_IDX_58, 10 - frame SPRITE_ANIM_FRAME_IDX_59, 10 - frame SPRITE_ANIM_FRAME_IDX_58, 9 - frame SPRITE_ANIM_FRAME_IDX_5A, 10 - dorestart - -.Frameset_HeadbuttTree: - frame SPRITE_ANIM_FRAME_IDX_TREE_1, 2 - frame SPRITE_ANIM_FRAME_IDX_HEADBUTT_TREE_2, 2 - frame SPRITE_ANIM_FRAME_IDX_TREE_1, 2 - frame SPRITE_ANIM_FRAME_IDX_HEADBUTT_TREE_2, 2, OAM_X_FLIP - dorestart - -.Frameset_26: - frame SPRITE_ANIM_FRAME_IDX_5C, 2 - endanim - -.Frameset_27: - frame SPRITE_ANIM_FRAME_IDX_5D, 2 - endanim - -.Frameset_28: - frame SPRITE_ANIM_FRAME_IDX_5E, 2 - endanim - -.Frameset_29: - frame SPRITE_ANIM_FRAME_IDX_5F, 2 - endanim - -.Frameset_2a: - frame SPRITE_ANIM_FRAME_IDX_60, 2 - endanim - -.Frameset_2b: - frame SPRITE_ANIM_FRAME_IDX_61, 2 - endanim - -.Frameset_2c: - frame SPRITE_ANIM_FRAME_IDX_62, 2 - endanim - -.Frameset_MobileTradeSentBall: - frame SPRITE_ANIM_FRAME_IDX_TRADE_POOF_1, 3 - frame SPRITE_ANIM_FRAME_IDX_TRADE_POOF_2, 3 - frame SPRITE_ANIM_FRAME_IDX_TRADE_POOF_3, 3 - frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1, 3 - frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2, 3 - frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1, 3 - frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2, 3, OAM_X_FLIP - frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1, 3 - frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2, 3 - frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1, 3 - frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2, 3, OAM_X_FLIP - frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1, 3 - frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2, 3 - frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1, 3 - frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2, 3, OAM_X_FLIP - endanim - -.Frameset_MobileTradeOTBall: - frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1, 3 - frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2, 3 - frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1, 3 - frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2, 3, OAM_X_FLIP - frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1, 3 - frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2, 3 - frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1, 3 - frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2, 3, OAM_X_FLIP - frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1, 3 - frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2, 3 - frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1, 3 - frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2, 3, OAM_X_FLIP - frame SPRITE_ANIM_FRAME_IDX_TRADE_POOF_1, 3 - frame SPRITE_ANIM_FRAME_IDX_TRADE_POOF_2, 3 - frame SPRITE_ANIM_FRAME_IDX_TRADE_POOF_3, 3 - delanim - -.Frameset_ForMobile22: - frame SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_22_1, 3 - frame SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_22_2, 3 - dorestart - -.Frameset_ForMobile23: - frame SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_23, 3 - endanim - -.Frameset_ForMobile24: - frame SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_24, 3 - endanim - -.Frameset_ForMobile25: - frame SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_25_1, 2 - frame SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_25_2, 2 - frame SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_25_3, 2 - delanim - -.Frameset_IntroSuicune: - frame SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_1, 3 - frame SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_2, 3 - frame SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_3, 3 - frame SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_4, 3 - dorestart - -.Frameset_IntroSuicune2: - frame SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_4, 3 - frame SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_1, 7 - endanim - -.Frameset_IntroPichu: - frame SPRITE_ANIM_FRAME_IDX_INTRO_PICHU_1, 32 - frame SPRITE_ANIM_FRAME_IDX_INTRO_PICHU_2, 7 - frame SPRITE_ANIM_FRAME_IDX_INTRO_PICHU_3, 7 - endanim - -.Frameset_IntroWooper: - frame SPRITE_ANIM_FRAME_IDX_INTRO_WOOPER, 3 - endanim - -.Frameset_IntroUnown1: - frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_1, 3 - frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_2, 3 - frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_3, 7 - delanim - -.Frameset_IntroUnown2: - frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_1, 3, OAM_X_FLIP - frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_2, 3, OAM_X_FLIP - frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_3, 7, OAM_X_FLIP - delanim - -.Frameset_IntroUnown3: - frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_1, 3, OAM_Y_FLIP - frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_2, 3, OAM_Y_FLIP - frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_3, 7, OAM_Y_FLIP - delanim - -.Frameset_IntroUnown4: - frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_1, 3, OAM_X_FLIP, OAM_Y_FLIP - frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_2, 3, OAM_X_FLIP, OAM_Y_FLIP - frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_3, 7, OAM_X_FLIP, OAM_Y_FLIP - delanim - -.Frameset_IntroUnownF2: - frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_1, 3 - frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_2, 3 - frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_3, 3 - frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_4, 7 - frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_5, 7 - endanim - -.Frameset_IntroSuicuneAway: - frame SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_AWAY, 3 - endanim - -.Frameset_IntroUnownF: - dorepeat 0 - endanim - -.Frameset_CelebiLeft: - frame SPRITE_ANIM_FRAME_IDX_CELEBI_1, 8 - frame SPRITE_ANIM_FRAME_IDX_CELEBI_2, 8 - endanim - -.Frameset_CelebiRight: - frame SPRITE_ANIM_FRAME_IDX_CELEBI_1, 8, OAM_X_FLIP - frame SPRITE_ANIM_FRAME_IDX_CELEBI_2, 8, OAM_X_FLIP - endanim -; 8d94d diff --git a/data/sprites/framesets.asm b/data/sprites/framesets.asm new file mode 100755 index 000000000..24b058859 --- /dev/null +++ b/data/sprites/framesets.asm @@ -0,0 +1,499 @@ +SpriteAnimFrameData: ; 8d6e6 +; entries correspond to SPRITE_ANIM_FRAMESET_* constants + dw .Frameset_00 + dw .Frameset_PartyMon + dw .Frameset_PartyMonWithMail + dw .Frameset_PartyMonWithItem + dw .Frameset_PartyMonFast + dw .Frameset_PartyMonWithMailFast + dw .Frameset_PartyMonWithItemFast + dw .Frameset_GSTitleTrail + dw .Frameset_TextEntryCursor + dw .Frameset_09 + dw .Frameset_GameFreakLogo + dw .Frameset_GSIntroStar + dw .Frameset_GSIntroSparkle + dw .Frameset_SlotsGolem + dw .Frameset_SlotsChansey + dw .Frameset_SlotsChansey2 + dw .Frameset_SlotsEgg + dw .Frameset_RedWalk + dw .Frameset_StillCursor + dw .Frameset_TradePokeBall + dw .Frameset_TradePokeBall0 + dw .Frameset_TradePoof + dw .Frameset_TradeTubeBulge + dw .Frameset_TrademonIcon + dw .Frameset_TrademonBubble + dw .Frameset_EvolutionBallOfLight + dw .Frameset_RadioTuningKnob + dw .Frameset_MagnetTrainRed + dw .Frameset_1c + dw .Frameset_Leaf + dw .Frameset_CutTree + dw .Frameset_EggCrack + dw .Frameset_EggHatch + dw .Frameset_21 + dw .Frameset_22 + dw .Frameset_23 + dw .Frameset_24 + dw .Frameset_HeadbuttTree + dw .Frameset_26 + dw .Frameset_27 + dw .Frameset_28 + dw .Frameset_29 + dw .Frameset_2a + dw .Frameset_2b + dw .Frameset_2c + dw .Frameset_BlueWalk + dw .Frameset_MagnetTrainBlue + dw .Frameset_MobileTradeSentBall + dw .Frameset_MobileTradeOTBall + dw .Frameset_ForMobile22 + dw .Frameset_ForMobile23 + dw .Frameset_ForMobile24 + dw .Frameset_ForMobile25 + dw .Frameset_IntroSuicune + dw .Frameset_IntroSuicune2 + dw .Frameset_IntroPichu + dw .Frameset_IntroWooper + dw .Frameset_IntroUnown1 + dw .Frameset_IntroUnown2 + dw .Frameset_IntroUnown3 + dw .Frameset_IntroUnown4 + dw .Frameset_IntroUnownF2 + dw .Frameset_IntroSuicuneAway + dw .Frameset_IntroUnownF + dw .Frameset_CelebiLeft + dw .Frameset_CelebiRight +; 8d76a + +.Frameset_00: + frame SPRITE_ANIM_OAMSET_RED_WALK_1, 32 + endanim + +.Frameset_PartyMon: + frame SPRITE_ANIM_OAMSET_RED_WALK_1, 8 + frame SPRITE_ANIM_OAMSET_RED_WALK_2, 8 + dorestart + +.Frameset_PartyMonWithMail: + frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_1, 8 + frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_2, 8 + dorestart + +.Frameset_PartyMonWithItem: + frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_1, 8 + frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_2, 8 + dorestart + +.Frameset_PartyMonFast: + frame SPRITE_ANIM_OAMSET_RED_WALK_1, 4 + frame SPRITE_ANIM_OAMSET_RED_WALK_2, 4 + dorestart + +.Frameset_PartyMonWithMailFast: + frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_1, 4 + frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_2, 4 + dorestart + +.Frameset_PartyMonWithItemFast: + frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_1, 4 + frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_2, 4 + dorestart + +.Frameset_RedWalk: + frame SPRITE_ANIM_OAMSET_RED_WALK_1, 8 + frame SPRITE_ANIM_OAMSET_RED_WALK_2, 8 + frame SPRITE_ANIM_OAMSET_RED_WALK_1, 8 + frame SPRITE_ANIM_OAMSET_RED_WALK_2, 8, OAM_X_FLIP + dorestart + +.Frameset_BlueWalk: + frame SPRITE_ANIM_OAMSET_BLUE_WALK_1, 8 + frame SPRITE_ANIM_OAMSET_BLUE_WALK_2, 8 + frame SPRITE_ANIM_OAMSET_BLUE_WALK_1, 8 + frame SPRITE_ANIM_OAMSET_BLUE_WALK_2, 8, OAM_X_FLIP + dorestart + +.Frameset_MagnetTrainBlue: + frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_1, 8 + frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_2, 8 + frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_1, 8 + frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_2, 8, OAM_X_FLIP + dorestart + +.Frameset_GSTitleTrail: + frame SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_1, 1 + frame SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_2, 1 + dorestart + +.Frameset_TextEntryCursor: + frame SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR, 1 + dorepeat 1 + dorestart + +.Frameset_09: + frame SPRITE_ANIM_OAMSET_FOR_FRAMESET_09, 1 + dorepeat 1 + dorestart + +.Frameset_GameFreakLogo: + frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_1, 12 + frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2, 1 + frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_3, 1 + frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2, 4 + frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_1, 12 + frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2, 12 + frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_3, 4 + frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_4, 32 + frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_5, 3 + frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_6, 3 + frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_7, 4 + frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_8, 4 + frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_9, 4 + frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_10, 10 + frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_11, 7 + endanim + +.Frameset_GSIntroStar: + frame SPRITE_ANIM_OAMSET_GS_INTRO_STAR, 3 + frame SPRITE_ANIM_OAMSET_GS_INTRO_STAR, 3, OAM_Y_FLIP + dorestart + +.Frameset_GSIntroSparkle: + frame SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_1, 2 + frame SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_2, 2 + frame SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_3, 2 + frame SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_2, 2 + dorestart + +.Frameset_SlotsGolem: + frame SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1, 7 + frame SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2, 7 + frame SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1, 7, OAM_Y_FLIP + frame SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2, 7, OAM_X_FLIP + dorestart + +.Frameset_SlotsChansey: + frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1, 7 + frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_2, 7 + frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1, 7 + frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_3, 7 + dorestart + +.Frameset_SlotsChansey2: + frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1, 7 + frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_4, 7 + frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_5, 7 + frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_4, 7 + frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1, 7 + endanim + +.Frameset_SlotsEgg: + frame SPRITE_ANIM_OAMSET_SLOTS_EGG, 20 + endanim + +.Frameset_StillCursor: + frame SPRITE_ANIM_OAMSET_STILL_CURSOR, 32 + endanim + +.Frameset_TradePokeBall: + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 32 + endanim + +.Frameset_TradePokeBall0: + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP + dorestart + +.Frameset_TradePoof: + frame SPRITE_ANIM_OAMSET_TRADE_POOF_1, 4 + frame SPRITE_ANIM_OAMSET_TRADE_POOF_2, 4 + frame SPRITE_ANIM_OAMSET_TRADE_POOF_3, 4 + delanim + +.Frameset_TradeTubeBulge: + frame SPRITE_ANIM_OAMSET_35, 3 + frame SPRITE_ANIM_OAMSET_36, 3 + dorestart + +.Frameset_TrademonIcon: + frame SPRITE_ANIM_OAMSET_TRADEMON_ICON_1, 7 + frame SPRITE_ANIM_OAMSET_TRADEMON_ICON_2, 7 + dorestart + +.Frameset_TrademonBubble: + frame SPRITE_ANIM_OAMSET_TRADEMON_BUBBLE, 32 + endanim + +.Frameset_EvolutionBallOfLight: + frame SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_2, 2 + frame SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_1, 2 + frame SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_2, 2 + endanim + +.Frameset_RadioTuningKnob: + frame SPRITE_ANIM_OAMSET_RADIO_TUNING_KNOB, 32 + endanim + +.Frameset_MagnetTrainRed: + frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_1, 8 + frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2, 8 + frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_1, 8 + frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2, 8, OAM_X_FLIP + dorestart + +; XXX + frame SPRITE_ANIM_OAMSET_43, 8 + frame SPRITE_ANIM_OAMSET_44, 8 + dorestart + +; XXX + frame SPRITE_ANIM_OAMSET_45, 8 + frame SPRITE_ANIM_OAMSET_46, 8 + dorestart + +; XXX + frame SPRITE_ANIM_OAMSET_47, 8 + frame SPRITE_ANIM_OAMSET_48, 8 + dorestart + +; XXX + frame SPRITE_ANIM_OAMSET_49, 1 + frame SPRITE_ANIM_OAMSET_49, 1, OAM_X_FLIP + frame SPRITE_ANIM_OAMSET_49, 1, OAM_X_FLIP, OAM_Y_FLIP + frame SPRITE_ANIM_OAMSET_49, 1, OAM_Y_FLIP + dorestart + +; XXX + frame SPRITE_ANIM_OAMSET_4A, 32 + endanim + +; XXX + frame SPRITE_ANIM_OAMSET_4B, 32 + endanim + +; XXX + frame SPRITE_ANIM_OAMSET_4C, 32 + endanim + +; XXX + frame SPRITE_ANIM_OAMSET_4D, 32 + endanim + +; XXX + frame SPRITE_ANIM_OAMSET_4E, 3 + dorepeat 3 + dorestart + +.Frameset_1c: + dorepeat 32 + endanim + +.Frameset_Leaf: + frame SPRITE_ANIM_OAMSET_LEAF, 32 + endanim + +.Frameset_CutTree: + frame SPRITE_ANIM_OAMSET_TREE_1, 2 + frame SPRITE_ANIM_OAMSET_CUT_TREE_2, 16 + dorepeat 1 + frame SPRITE_ANIM_OAMSET_CUT_TREE_3, 1 + dorepeat 1 + frame SPRITE_ANIM_OAMSET_CUT_TREE_4, 1 + delanim + +.Frameset_EggCrack: + frame SPRITE_ANIM_OAMSET_EGG_CRACK, 32 + endanim + +.Frameset_EggHatch: + frame SPRITE_ANIM_OAMSET_55, 32 + endanim + +.Frameset_21: + frame SPRITE_ANIM_OAMSET_55, 32, OAM_X_FLIP + endanim + +.Frameset_22: + frame SPRITE_ANIM_OAMSET_55, 32, OAM_Y_FLIP + endanim + +.Frameset_23: + frame SPRITE_ANIM_OAMSET_55, 32, OAM_X_FLIP, OAM_Y_FLIP + endanim + +.Frameset_24: + frame SPRITE_ANIM_OAMSET_56, 10 + frame SPRITE_ANIM_OAMSET_57, 9 + frame SPRITE_ANIM_OAMSET_58, 10 + frame SPRITE_ANIM_OAMSET_59, 10 + frame SPRITE_ANIM_OAMSET_58, 9 + frame SPRITE_ANIM_OAMSET_5A, 10 + dorestart + +.Frameset_HeadbuttTree: + frame SPRITE_ANIM_OAMSET_TREE_1, 2 + frame SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2, 2 + frame SPRITE_ANIM_OAMSET_TREE_1, 2 + frame SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2, 2, OAM_X_FLIP + dorestart + +.Frameset_26: + frame SPRITE_ANIM_OAMSET_5C, 2 + endanim + +.Frameset_27: + frame SPRITE_ANIM_OAMSET_5D, 2 + endanim + +.Frameset_28: + frame SPRITE_ANIM_OAMSET_5E, 2 + endanim + +.Frameset_29: + frame SPRITE_ANIM_OAMSET_5F, 2 + endanim + +.Frameset_2a: + frame SPRITE_ANIM_OAMSET_60, 2 + endanim + +.Frameset_2b: + frame SPRITE_ANIM_OAMSET_61, 2 + endanim + +.Frameset_2c: + frame SPRITE_ANIM_OAMSET_62, 2 + endanim + +.Frameset_MobileTradeSentBall: + frame SPRITE_ANIM_OAMSET_TRADE_POOF_1, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POOF_2, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POOF_3, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP + endanim + +.Frameset_MobileTradeOTBall: + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP + frame SPRITE_ANIM_OAMSET_TRADE_POOF_1, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POOF_2, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POOF_3, 3 + delanim + +.Frameset_ForMobile22: + frame SPRITE_ANIM_OAMSET_FOR_MOBILE_22_1, 3 + frame SPRITE_ANIM_OAMSET_FOR_MOBILE_22_2, 3 + dorestart + +.Frameset_ForMobile23: + frame SPRITE_ANIM_OAMSET_FOR_MOBILE_23, 3 + endanim + +.Frameset_ForMobile24: + frame SPRITE_ANIM_OAMSET_FOR_MOBILE_24, 3 + endanim + +.Frameset_ForMobile25: + frame SPRITE_ANIM_OAMSET_FOR_MOBILE_25_1, 2 + frame SPRITE_ANIM_OAMSET_FOR_MOBILE_25_2, 2 + frame SPRITE_ANIM_OAMSET_FOR_MOBILE_25_3, 2 + delanim + +.Frameset_IntroSuicune: + frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_1, 3 + frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_2, 3 + frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_3, 3 + frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_4, 3 + dorestart + +.Frameset_IntroSuicune2: + frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_4, 3 + frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_1, 7 + endanim + +.Frameset_IntroPichu: + frame SPRITE_ANIM_OAMSET_INTRO_PICHU_1, 32 + frame SPRITE_ANIM_OAMSET_INTRO_PICHU_2, 7 + frame SPRITE_ANIM_OAMSET_INTRO_PICHU_3, 7 + endanim + +.Frameset_IntroWooper: + frame SPRITE_ANIM_OAMSET_INTRO_WOOPER, 3 + endanim + +.Frameset_IntroUnown1: + frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_1, 3 + frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_2, 3 + frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_3, 7 + delanim + +.Frameset_IntroUnown2: + frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_1, 3, OAM_X_FLIP + frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_2, 3, OAM_X_FLIP + frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_3, 7, OAM_X_FLIP + delanim + +.Frameset_IntroUnown3: + frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_1, 3, OAM_Y_FLIP + frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_2, 3, OAM_Y_FLIP + frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_3, 7, OAM_Y_FLIP + delanim + +.Frameset_IntroUnown4: + frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_1, 3, OAM_X_FLIP, OAM_Y_FLIP + frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_2, 3, OAM_X_FLIP, OAM_Y_FLIP + frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_3, 7, OAM_X_FLIP, OAM_Y_FLIP + delanim + +.Frameset_IntroUnownF2: + frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_1, 3 + frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_2, 3 + frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_3, 3 + frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_4, 7 + frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_5, 7 + endanim + +.Frameset_IntroSuicuneAway: + frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_AWAY, 3 + endanim + +.Frameset_IntroUnownF: + dorepeat 0 + endanim + +.Frameset_CelebiLeft: + frame SPRITE_ANIM_OAMSET_CELEBI_1, 8 + frame SPRITE_ANIM_OAMSET_CELEBI_2, 8 + endanim + +.Frameset_CelebiRight: + frame SPRITE_ANIM_OAMSET_CELEBI_1, 8, OAM_X_FLIP + frame SPRITE_ANIM_OAMSET_CELEBI_2, 8, OAM_X_FLIP + endanim +; 8d94d diff --git a/data/sprite_anim_oam.asm b/data/sprites/oam.asm index fea73f596..99adc9df3 100644 --- a/data/sprite_anim_oam.asm +++ b/data/sprites/oam.asm @@ -1,146 +1,146 @@ SpriteAnimOAMData: ; 8d94d -; entries correspond to SPRITE_ANIM_FRAME_IDX_* constants +; entries correspond to SPRITE_ANIM_OAMSET_* constants ; vtile offset, pointer - dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_FRAME_IDX_RED_WALK_1 - dbw $04, .OAMData_RedWalk ; SPRITE_ANIM_FRAME_IDX_RED_WALK_2 - dbw $4c, .OAMData_1x1_Palette0 ; SPRITE_ANIM_FRAME_IDX_02 - dbw $5c, .OAMData_1x1_Palette0 ; SPRITE_ANIM_FRAME_IDX_03 - dbw $6c, .OAMData_04 ; SPRITE_ANIM_FRAME_IDX_04 - dbw $6e, .OAMData_04 ; SPRITE_ANIM_FRAME_IDX_05 - dbw $2d, .OAMData_06 ; SPRITE_ANIM_FRAME_IDX_06 - dbw $4d, .OAMData_06 ; SPRITE_ANIM_FRAME_IDX_07 - dbw $60, .OAMData_08 ; SPRITE_ANIM_FRAME_IDX_08 - dbw $00, .OAMData_08 ; SPRITE_ANIM_FRAME_IDX_09 - dbw $00, .OAMData_08 ; SPRITE_ANIM_FRAME_IDX_0A - dbw $06, .OAMData_08 ; SPRITE_ANIM_FRAME_IDX_0B - dbw $0c, .OAMData_0c ; SPRITE_ANIM_FRAME_IDX_0C - dbw $0d, .OAMData_1x1_Palette0 ; SPRITE_ANIM_FRAME_IDX_0D - dbw $00, .OAMData_0e ; SPRITE_ANIM_FRAME_IDX_0E - dbw $04, .OAMData_0e ; SPRITE_ANIM_FRAME_IDX_0F - dbw $08, .OAMData_0e ; SPRITE_ANIM_FRAME_IDX_10 - dbw $40, .OAMData_0e ; SPRITE_ANIM_FRAME_IDX_11 - dbw $44, .OAMData_0e ; SPRITE_ANIM_FRAME_IDX_12 - dbw $48, .OAMData_0e ; SPRITE_ANIM_FRAME_IDX_13 - dbw $4c, .OAMData_0e ; SPRITE_ANIM_FRAME_IDX_14 - dbw $80, .OAMData_15 ; SPRITE_ANIM_FRAME_IDX_15 - dbw $85, .OAMData_15 ; SPRITE_ANIM_FRAME_IDX_16 - dbw $8a, .OAMData_15 ; SPRITE_ANIM_FRAME_IDX_17 - dbw $00, .OAMData_18 ; SPRITE_ANIM_FRAME_IDX_18 - dbw $01, .OAMData_TradePoofBubble ; SPRITE_ANIM_FRAME_IDX_19 - dbw $09, .OAMData_1a ; SPRITE_ANIM_FRAME_IDX_1A - dbw $10, .OAMData_1b ; SPRITE_ANIM_FRAME_IDX_1B - dbw $29, .OAMData_1b ; SPRITE_ANIM_FRAME_IDX_1C - dbw $42, .OAMData_1b ; SPRITE_ANIM_FRAME_IDX_1D - dbw $f8, .OAMData_GSTitleTrail ; SPRITE_ANIM_FRAME_IDX_GS_TITLE_TRAIL_1 - dbw $fa, .OAMData_GSTitleTrail ; SPRITE_ANIM_FRAME_IDX_GS_TITLE_TRAIL_2 - dbw $00, .OAMData_TextEntryCursor ; SPRITE_ANIM_FRAME_IDX_TEXT_ENTRY_CURSOR - dbw $00, .OAMData_ForFrameset09 ; SPRITE_ANIM_FRAME_IDX_FOR_FRAMESET_09 - dbw $00, .OAMData_22 ; SPRITE_ANIM_FRAME_IDX_22 - dbw $0f, .OAMData_GSIntroStar ; SPRITE_ANIM_FRAME_IDX_GS_INTRO_STAR - dbw $11, .OAMData_1x1_Palette0 ; SPRITE_ANIM_FRAME_IDX_GS_INTRO_SPARKLE_1 - dbw $12, .OAMData_1x1_Palette0 ; SPRITE_ANIM_FRAME_IDX_GS_INTRO_SPARKLE_2 - dbw $13, .OAMData_1x1_Palette0 ; SPRITE_ANIM_FRAME_IDX_GS_INTRO_SPARKLE_3 - dbw $00, .OAMData_SlotsGolem ; SPRITE_ANIM_FRAME_IDX_SLOTS_GOLEM_1 - dbw $08, .OAMData_SlotsGolem ; SPRITE_ANIM_FRAME_IDX_SLOTS_GOLEM_2 - dbw $10, .OAMData_SlotsChansey1 ; SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_1 - dbw $10, .OAMData_SlotsChansey2 ; SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_2 - dbw $10, .OAMData_SlotsChansey3 ; SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_3 - dbw $10, .OAMData_SlotsChansey4 ; SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_4 - dbw $10, .OAMData_SlotsChansey5 ; SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_5 - dbw $3a, .OAMData_1x1_Palette0 ; SPRITE_ANIM_FRAME_IDX_SLOTS_EGG - dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_FRAME_IDX_STILL_CURSOR - dbw $00, .OAMData_TradePokeBall1 ; SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1 - dbw $02, .OAMData_MagnetTrainRed ; SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2 - dbw $06, .OAMData_TradePoofBubble ; SPRITE_ANIM_FRAME_IDX_TRADE_POOF_1 - dbw $0a, .OAMData_TradePoofBubble ; SPRITE_ANIM_FRAME_IDX_TRADE_POOF_2 - dbw $0e, .OAMData_TradePoofBubble ; SPRITE_ANIM_FRAME_IDX_TRADE_POOF_3 - dbw $12, .OAMData_35 ; SPRITE_ANIM_FRAME_IDX_35 - dbw $13, .OAMData_35 ; SPRITE_ANIM_FRAME_IDX_36 - dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_FRAME_IDX_TRADEMON_ICON_1 - dbw $04, .OAMData_RedWalk ; SPRITE_ANIM_FRAME_IDX_TRADEMON_ICON_2 - dbw $10, .OAMData_TradePoofBubble ; SPRITE_ANIM_FRAME_IDX_TRADEMON_BUBBLE - dbw $00, .OAMData_MagnetTrainRed ; SPRITE_ANIM_FRAME_IDX_EVOLUTION_BALL_OF_LIGHT_1 - dbw $04, .OAMData_1x1_Palette0 ; SPRITE_ANIM_FRAME_IDX_EVOLUTION_BALL_OF_LIGHT_2 - dbw $00, .OAMData_RadioTuningKnob ; SPRITE_ANIM_FRAME_IDX_RADIO_TUNING_KNOB - dbw $00, .OAMData_PartyMonWithMail1 ; SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_MAIL_1 - dbw $00, .OAMData_PartyMonWithMail2 ; SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_MAIL_2 - dbw $00, .OAMData_PartyMonWithItem1 ; SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_ITEM_1 - dbw $00, .OAMData_PartyMonWithItem2 ; SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_ITEM_2 - dbw $00, .OAMData_MagnetTrainRed ; SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_RED_1 - dbw $04, .OAMData_MagnetTrainRed ; SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_RED_2 - dbw $00, .OAMData_43 ; SPRITE_ANIM_FRAME_IDX_43 - dbw $30, .OAMData_43 ; SPRITE_ANIM_FRAME_IDX_44 - dbw $03, .OAMData_43 ; SPRITE_ANIM_FRAME_IDX_45 - dbw $33, .OAMData_43 ; SPRITE_ANIM_FRAME_IDX_46 - dbw $06, .OAMData_43 ; SPRITE_ANIM_FRAME_IDX_47 - dbw $36, .OAMData_43 ; SPRITE_ANIM_FRAME_IDX_48 - dbw $09, .OAMData_43 ; SPRITE_ANIM_FRAME_IDX_49 - dbw $39, .OAMData_43 ; SPRITE_ANIM_FRAME_IDX_4A - dbw $0c, .OAMData_4b ; SPRITE_ANIM_FRAME_IDX_4B - dbw $0c, .OAMData_4c ; SPRITE_ANIM_FRAME_IDX_4C - dbw $3c, .OAMData_1x1_Palette0 ; SPRITE_ANIM_FRAME_IDX_4D - dbw $3e, .OAMData_1x1_Palette0 ; SPRITE_ANIM_FRAME_IDX_4E - dbw $00, .OAMData_Leaf ; SPRITE_ANIM_FRAME_IDX_LEAF - dbw $00, .OAMData_Tree ; SPRITE_ANIM_FRAME_IDX_TREE_1 - dbw $00, .OAMData_CutTree2 ; SPRITE_ANIM_FRAME_IDX_CUT_TREE_2 - dbw $00, .OAMData_CutTree3 ; SPRITE_ANIM_FRAME_IDX_CUT_TREE_3 - dbw $00, .OAMData_CutTree4 ; SPRITE_ANIM_FRAME_IDX_CUT_TREE_4 - dbw $00, .OAMData_1x1_Palette0 ; SPRITE_ANIM_FRAME_IDX_EGG_CRACK - dbw $01, .OAMData_1x1_Palette0 ; SPRITE_ANIM_FRAME_IDX_55 - dbw $00, .OAMData_56 ; SPRITE_ANIM_FRAME_IDX_56 - dbw $00, .OAMData_57 ; SPRITE_ANIM_FRAME_IDX_57 - dbw $00, .OAMData_58 ; SPRITE_ANIM_FRAME_IDX_58 - dbw $00, .OAMData_59 ; SPRITE_ANIM_FRAME_IDX_59 - dbw $00, .OAMData_5a ; SPRITE_ANIM_FRAME_IDX_5A - dbw $04, .OAMData_Tree ; SPRITE_ANIM_FRAME_IDX_HEADBUTT_TREE_2 - dbw $00, .OAMData_5c ; SPRITE_ANIM_FRAME_IDX_5C - dbw $00, .OAMData_5d ; SPRITE_ANIM_FRAME_IDX_5D - dbw $00, .OAMData_5e ; SPRITE_ANIM_FRAME_IDX_5E - dbw $00, .OAMData_5f ; SPRITE_ANIM_FRAME_IDX_5F - dbw $00, .OAMData_60 ; SPRITE_ANIM_FRAME_IDX_60 - dbw $00, .OAMData_61 ; SPRITE_ANIM_FRAME_IDX_61 - dbw $00, .OAMData_62 ; SPRITE_ANIM_FRAME_IDX_62 - dbw $00, .OAMData_BlueWalk ; SPRITE_ANIM_FRAME_IDX_BLUE_WALK_1 - dbw $04, .OAMData_BlueWalk ; SPRITE_ANIM_FRAME_IDX_BLUE_WALK_2 - dbw $00, .OAMData_MagnetTrainBlue ; SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_BLUE_1 - dbw $04, .OAMData_MagnetTrainBlue ; SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_BLUE_2 - dbw $20, .OAMData_ForMobile22 ; SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_22_1 - dbw $21, .OAMData_ForMobile22 ; SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_22_2 - dbw $22, .OAMData_ForMobile25_1 ; SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_25_1 - dbw $23, .OAMData_ForMobile25_2 ; SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_25_2 - dbw $27, .OAMData_ForMobile25_3 ; SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_25_3 - dbw $2a, .OAMData_ForMobile23 ; SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_23 - dbw $2a, .OAMData_ForMobile24 ; SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_24 - dbw $00, .OAMData_IntroSuicune1 ; SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_1 - dbw $08, .OAMData_IntroSuicune2 ; SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_2 - dbw $60, .OAMData_IntroSuicune3 ; SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_3 - dbw $68, .OAMData_IntroSuicune4 ; SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_4 - dbw $00, .OAMData_IntroPichu ; SPRITE_ANIM_FRAME_IDX_INTRO_PICHU_1 - dbw $05, .OAMData_IntroPichu ; SPRITE_ANIM_FRAME_IDX_INTRO_PICHU_2 - dbw $0a, .OAMData_IntroPichu ; SPRITE_ANIM_FRAME_IDX_INTRO_PICHU_3 - dbw $50, .OAMData_IntroWooper ; SPRITE_ANIM_FRAME_IDX_INTRO_WOOPER - dbw $00, .OAMData_IntroUnown1 ; SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_1 - dbw $01, .OAMData_IntroUnown2 ; SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_2 - dbw $04, .OAMData_IntroUnown3 ; SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_3 - dbw $00, .OAMData_18 ; SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_1 - dbw $01, .OAMData_IntroUnownF2_2 ; SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_2 - dbw $03, .OAMData_IntroUnownF2_3 ; SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_3 - dbw $08, .OAMData_IntroUnownF2_4_5 ; SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_4 - dbw $1c, .OAMData_IntroUnownF2_4_5 ; SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_5 - dbw $80, .OAMData_IntroSuicuneAway ; SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_AWAY - dbw $00, .OAMData_Celebi ; SPRITE_ANIM_FRAME_IDX_CELEBI_1 - dbw $04, .OAMData_Celebi ; SPRITE_ANIM_FRAME_IDX_CELEBI_2 - dbw $d0, .OAMData_GameFreakLogo1_3 ; SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_1 - dbw $d3, .OAMData_GameFreakLogo1_3 ; SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_2 - dbw $d6, .OAMData_GameFreakLogo1_3 ; SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_3 - dbw $6c, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_4 - dbw $68, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_5 - dbw $64, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_6 - dbw $60, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_7 - dbw $0c, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_8 - dbw $08, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_9 - dbw $04, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_10 - dbw $00, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_11 + dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_RED_WALK_1 + dbw $04, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_RED_WALK_2 + dbw $4c, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_02 + dbw $5c, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_03 + dbw $6c, .OAMData_04 ; SPRITE_ANIM_OAMSET_04 + dbw $6e, .OAMData_04 ; SPRITE_ANIM_OAMSET_05 + dbw $2d, .OAMData_06 ; SPRITE_ANIM_OAMSET_06 + dbw $4d, .OAMData_06 ; SPRITE_ANIM_OAMSET_07 + dbw $60, .OAMData_08 ; SPRITE_ANIM_OAMSET_08 + dbw $00, .OAMData_08 ; SPRITE_ANIM_OAMSET_09 + dbw $00, .OAMData_08 ; SPRITE_ANIM_OAMSET_0A + dbw $06, .OAMData_08 ; SPRITE_ANIM_OAMSET_0B + dbw $0c, .OAMData_0c ; SPRITE_ANIM_OAMSET_0C + dbw $0d, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_0D + dbw $00, .OAMData_0e ; SPRITE_ANIM_OAMSET_0E + dbw $04, .OAMData_0e ; SPRITE_ANIM_OAMSET_0F + dbw $08, .OAMData_0e ; SPRITE_ANIM_OAMSET_10 + dbw $40, .OAMData_0e ; SPRITE_ANIM_OAMSET_11 + dbw $44, .OAMData_0e ; SPRITE_ANIM_OAMSET_12 + dbw $48, .OAMData_0e ; SPRITE_ANIM_OAMSET_13 + dbw $4c, .OAMData_0e ; SPRITE_ANIM_OAMSET_14 + dbw $80, .OAMData_15 ; SPRITE_ANIM_OAMSET_15 + dbw $85, .OAMData_15 ; SPRITE_ANIM_OAMSET_16 + dbw $8a, .OAMData_15 ; SPRITE_ANIM_OAMSET_17 + dbw $00, .OAMData_18 ; SPRITE_ANIM_OAMSET_18 + dbw $01, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_19 + dbw $09, .OAMData_1a ; SPRITE_ANIM_OAMSET_1A + dbw $10, .OAMData_1b ; SPRITE_ANIM_OAMSET_1B + dbw $29, .OAMData_1b ; SPRITE_ANIM_OAMSET_1C + dbw $42, .OAMData_1b ; SPRITE_ANIM_OAMSET_1D + dbw $f8, .OAMData_GSTitleTrail ; SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_1 + dbw $fa, .OAMData_GSTitleTrail ; SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_2 + dbw $00, .OAMData_TextEntryCursor ; SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR + dbw $00, .OAMData_ForFrameset09 ; SPRITE_ANIM_OAMSET_FOR_FRAMESET_09 + dbw $00, .OAMData_22 ; SPRITE_ANIM_OAMSET_22 + dbw $0f, .OAMData_GSIntroStar ; SPRITE_ANIM_OAMSET_GS_INTRO_STAR + dbw $11, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_1 + dbw $12, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_2 + dbw $13, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_3 + dbw $00, .OAMData_SlotsGolem ; SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1 + dbw $08, .OAMData_SlotsGolem ; SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2 + dbw $10, .OAMData_SlotsChansey1 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1 + dbw $10, .OAMData_SlotsChansey2 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_2 + dbw $10, .OAMData_SlotsChansey3 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_3 + dbw $10, .OAMData_SlotsChansey4 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_4 + dbw $10, .OAMData_SlotsChansey5 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_5 + dbw $3a, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_SLOTS_EGG + dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_STILL_CURSOR + dbw $00, .OAMData_TradePokeBall1 ; SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1 + dbw $02, .OAMData_MagnetTrainRed ; SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2 + dbw $06, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_TRADE_POOF_1 + dbw $0a, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_TRADE_POOF_2 + dbw $0e, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_TRADE_POOF_3 + dbw $12, .OAMData_35 ; SPRITE_ANIM_OAMSET_35 + dbw $13, .OAMData_35 ; SPRITE_ANIM_OAMSET_36 + dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_TRADEMON_ICON_1 + dbw $04, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_TRADEMON_ICON_2 + dbw $10, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_TRADEMON_BUBBLE + dbw $00, .OAMData_MagnetTrainRed ; SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_1 + dbw $04, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_2 + dbw $00, .OAMData_RadioTuningKnob ; SPRITE_ANIM_OAMSET_RADIO_TUNING_KNOB + dbw $00, .OAMData_PartyMonWithMail1 ; SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_1 + dbw $00, .OAMData_PartyMonWithMail2 ; SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_2 + dbw $00, .OAMData_PartyMonWithItem1 ; SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_1 + dbw $00, .OAMData_PartyMonWithItem2 ; SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_2 + dbw $00, .OAMData_MagnetTrainRed ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_1 + dbw $04, .OAMData_MagnetTrainRed ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2 + dbw $00, .OAMData_43 ; SPRITE_ANIM_OAMSET_43 + dbw $30, .OAMData_43 ; SPRITE_ANIM_OAMSET_44 + dbw $03, .OAMData_43 ; SPRITE_ANIM_OAMSET_45 + dbw $33, .OAMData_43 ; SPRITE_ANIM_OAMSET_46 + dbw $06, .OAMData_43 ; SPRITE_ANIM_OAMSET_47 + dbw $36, .OAMData_43 ; SPRITE_ANIM_OAMSET_48 + dbw $09, .OAMData_43 ; SPRITE_ANIM_OAMSET_49 + dbw $39, .OAMData_43 ; SPRITE_ANIM_OAMSET_4A + dbw $0c, .OAMData_4b ; SPRITE_ANIM_OAMSET_4B + dbw $0c, .OAMData_4c ; SPRITE_ANIM_OAMSET_4C + dbw $3c, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_4D + dbw $3e, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_4E + dbw $00, .OAMData_Leaf ; SPRITE_ANIM_OAMSET_LEAF + dbw $00, .OAMData_Tree ; SPRITE_ANIM_OAMSET_TREE_1 + dbw $00, .OAMData_CutTree2 ; SPRITE_ANIM_OAMSET_CUT_TREE_2 + dbw $00, .OAMData_CutTree3 ; SPRITE_ANIM_OAMSET_CUT_TREE_3 + dbw $00, .OAMData_CutTree4 ; SPRITE_ANIM_OAMSET_CUT_TREE_4 + dbw $00, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_EGG_CRACK + dbw $01, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_55 + dbw $00, .OAMData_56 ; SPRITE_ANIM_OAMSET_56 + dbw $00, .OAMData_57 ; SPRITE_ANIM_OAMSET_57 + dbw $00, .OAMData_58 ; SPRITE_ANIM_OAMSET_58 + dbw $00, .OAMData_59 ; SPRITE_ANIM_OAMSET_59 + dbw $00, .OAMData_5a ; SPRITE_ANIM_OAMSET_5A + dbw $04, .OAMData_Tree ; SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2 + dbw $00, .OAMData_5c ; SPRITE_ANIM_OAMSET_5C + dbw $00, .OAMData_5d ; SPRITE_ANIM_OAMSET_5D + dbw $00, .OAMData_5e ; SPRITE_ANIM_OAMSET_5E + dbw $00, .OAMData_5f ; SPRITE_ANIM_OAMSET_5F + dbw $00, .OAMData_60 ; SPRITE_ANIM_OAMSET_60 + dbw $00, .OAMData_61 ; SPRITE_ANIM_OAMSET_61 + dbw $00, .OAMData_62 ; SPRITE_ANIM_OAMSET_62 + dbw $00, .OAMData_BlueWalk ; SPRITE_ANIM_OAMSET_BLUE_WALK_1 + dbw $04, .OAMData_BlueWalk ; SPRITE_ANIM_OAMSET_BLUE_WALK_2 + dbw $00, .OAMData_MagnetTrainBlue ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_1 + dbw $04, .OAMData_MagnetTrainBlue ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_2 + dbw $20, .OAMData_ForMobile22 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_22_1 + dbw $21, .OAMData_ForMobile22 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_22_2 + dbw $22, .OAMData_ForMobile25_1 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_25_1 + dbw $23, .OAMData_ForMobile25_2 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_25_2 + dbw $27, .OAMData_ForMobile25_3 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_25_3 + dbw $2a, .OAMData_ForMobile23 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_23 + dbw $2a, .OAMData_ForMobile24 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_24 + dbw $00, .OAMData_IntroSuicune1 ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_1 + dbw $08, .OAMData_IntroSuicune2 ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_2 + dbw $60, .OAMData_IntroSuicune3 ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_3 + dbw $68, .OAMData_IntroSuicune4 ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_4 + dbw $00, .OAMData_IntroPichu ; SPRITE_ANIM_OAMSET_INTRO_PICHU_1 + dbw $05, .OAMData_IntroPichu ; SPRITE_ANIM_OAMSET_INTRO_PICHU_2 + dbw $0a, .OAMData_IntroPichu ; SPRITE_ANIM_OAMSET_INTRO_PICHU_3 + dbw $50, .OAMData_IntroWooper ; SPRITE_ANIM_OAMSET_INTRO_WOOPER + dbw $00, .OAMData_IntroUnown1 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_1 + dbw $01, .OAMData_IntroUnown2 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_2 + dbw $04, .OAMData_IntroUnown3 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_3 + dbw $00, .OAMData_18 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_1 + dbw $01, .OAMData_IntroUnownF2_2 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_2 + dbw $03, .OAMData_IntroUnownF2_3 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_3 + dbw $08, .OAMData_IntroUnownF2_4_5 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_4 + dbw $1c, .OAMData_IntroUnownF2_4_5 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_5 + dbw $80, .OAMData_IntroSuicuneAway ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_AWAY + dbw $00, .OAMData_Celebi ; SPRITE_ANIM_OAMSET_CELEBI_1 + dbw $04, .OAMData_Celebi ; SPRITE_ANIM_OAMSET_CELEBI_2 + dbw $d0, .OAMData_GameFreakLogo1_3 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_1 + dbw $d3, .OAMData_GameFreakLogo1_3 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2 + dbw $d6, .OAMData_GameFreakLogo1_3 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_3 + dbw $6c, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_4 + dbw $68, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_5 + dbw $64, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_6 + dbw $60, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_7 + dbw $0c, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_8 + dbw $08, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_9 + dbw $04, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_10 + dbw $00, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_11 .OAMData_1x1_Palette0: db 1 diff --git a/data/sprite_anim_seqs.asm b/data/sprites/sequences.asm index 70544a60a..70544a60a 100644 --- a/data/sprite_anim_seqs.asm +++ b/data/sprites/sequences.asm diff --git a/data/type_matchups.asm b/data/type_matchups.asm new file mode 100644 index 000000000..b1e06c6f7 --- /dev/null +++ b/data/type_matchups.asm @@ -0,0 +1,125 @@ +; The multiplier is divided by 10, so we can use values like 0.5. +; All other cases are neutral (1x). +SUPER_EFFECTIVE EQU 20 +NOT_VERY_EFFECTIVE EQU 05 +NO_EFFECT EQU 00 + +TypeMatchups: ; 34bb1 + ; attacker defender*= + db NORMAL, ROCK, NOT_VERY_EFFECTIVE + db NORMAL, STEEL, NOT_VERY_EFFECTIVE + db FIRE, FIRE, NOT_VERY_EFFECTIVE + db FIRE, WATER, NOT_VERY_EFFECTIVE + db FIRE, GRASS, SUPER_EFFECTIVE + db FIRE, ICE, SUPER_EFFECTIVE + db FIRE, BUG, SUPER_EFFECTIVE + db FIRE, ROCK, NOT_VERY_EFFECTIVE + db FIRE, DRAGON, NOT_VERY_EFFECTIVE + db FIRE, STEEL, SUPER_EFFECTIVE + db WATER, FIRE, SUPER_EFFECTIVE + db WATER, WATER, NOT_VERY_EFFECTIVE + db WATER, GRASS, NOT_VERY_EFFECTIVE + db WATER, GROUND, SUPER_EFFECTIVE + db WATER, ROCK, SUPER_EFFECTIVE + db WATER, DRAGON, NOT_VERY_EFFECTIVE + db ELECTRIC, WATER, SUPER_EFFECTIVE + db ELECTRIC, ELECTRIC, NOT_VERY_EFFECTIVE + db ELECTRIC, GRASS, NOT_VERY_EFFECTIVE + db ELECTRIC, GROUND, NO_EFFECT + db ELECTRIC, FLYING, SUPER_EFFECTIVE + db ELECTRIC, DRAGON, NOT_VERY_EFFECTIVE + db GRASS, FIRE, NOT_VERY_EFFECTIVE + db GRASS, WATER, SUPER_EFFECTIVE + db GRASS, GRASS, NOT_VERY_EFFECTIVE + db GRASS, POISON, NOT_VERY_EFFECTIVE + db GRASS, GROUND, SUPER_EFFECTIVE + db GRASS, FLYING, NOT_VERY_EFFECTIVE + db GRASS, BUG, NOT_VERY_EFFECTIVE + db GRASS, ROCK, SUPER_EFFECTIVE + db GRASS, DRAGON, NOT_VERY_EFFECTIVE + db GRASS, STEEL, NOT_VERY_EFFECTIVE + db ICE, WATER, NOT_VERY_EFFECTIVE + db ICE, GRASS, SUPER_EFFECTIVE + db ICE, ICE, NOT_VERY_EFFECTIVE + db ICE, GROUND, SUPER_EFFECTIVE + db ICE, FLYING, SUPER_EFFECTIVE + db ICE, DRAGON, SUPER_EFFECTIVE + db ICE, STEEL, NOT_VERY_EFFECTIVE + db ICE, FIRE, NOT_VERY_EFFECTIVE + db FIGHTING, NORMAL, SUPER_EFFECTIVE + db FIGHTING, ICE, SUPER_EFFECTIVE + db FIGHTING, POISON, NOT_VERY_EFFECTIVE + db FIGHTING, FLYING, NOT_VERY_EFFECTIVE + db FIGHTING, PSYCHIC, NOT_VERY_EFFECTIVE + db FIGHTING, BUG, NOT_VERY_EFFECTIVE + db FIGHTING, ROCK, SUPER_EFFECTIVE + db FIGHTING, DARK, SUPER_EFFECTIVE + db FIGHTING, STEEL, SUPER_EFFECTIVE + db POISON, GRASS, SUPER_EFFECTIVE + db POISON, POISON, NOT_VERY_EFFECTIVE + db POISON, GROUND, NOT_VERY_EFFECTIVE + db POISON, ROCK, NOT_VERY_EFFECTIVE + db POISON, GHOST, NOT_VERY_EFFECTIVE + db POISON, STEEL, NO_EFFECT + db GROUND, FIRE, SUPER_EFFECTIVE + db GROUND, ELECTRIC, SUPER_EFFECTIVE + db GROUND, GRASS, NOT_VERY_EFFECTIVE + db GROUND, POISON, SUPER_EFFECTIVE + db GROUND, FLYING, NO_EFFECT + db GROUND, BUG, NOT_VERY_EFFECTIVE + db GROUND, ROCK, SUPER_EFFECTIVE + db GROUND, STEEL, SUPER_EFFECTIVE + db FLYING, ELECTRIC, NOT_VERY_EFFECTIVE + db FLYING, GRASS, SUPER_EFFECTIVE + db FLYING, FIGHTING, SUPER_EFFECTIVE + db FLYING, BUG, SUPER_EFFECTIVE + db FLYING, ROCK, NOT_VERY_EFFECTIVE + db FLYING, STEEL, NOT_VERY_EFFECTIVE + db PSYCHIC, FIGHTING, SUPER_EFFECTIVE + db PSYCHIC, POISON, SUPER_EFFECTIVE + db PSYCHIC, PSYCHIC, NOT_VERY_EFFECTIVE + db PSYCHIC, DARK, NO_EFFECT + db PSYCHIC, STEEL, NOT_VERY_EFFECTIVE + db BUG, FIRE, NOT_VERY_EFFECTIVE + db BUG, GRASS, SUPER_EFFECTIVE + db BUG, FIGHTING, NOT_VERY_EFFECTIVE + db BUG, POISON, NOT_VERY_EFFECTIVE + db BUG, FLYING, NOT_VERY_EFFECTIVE + db BUG, PSYCHIC, SUPER_EFFECTIVE + db BUG, GHOST, NOT_VERY_EFFECTIVE + db BUG, DARK, SUPER_EFFECTIVE + db BUG, STEEL, NOT_VERY_EFFECTIVE + db ROCK, FIRE, SUPER_EFFECTIVE + db ROCK, ICE, SUPER_EFFECTIVE + db ROCK, FIGHTING, NOT_VERY_EFFECTIVE + db ROCK, GROUND, NOT_VERY_EFFECTIVE + db ROCK, FLYING, SUPER_EFFECTIVE + db ROCK, BUG, SUPER_EFFECTIVE + db ROCK, STEEL, NOT_VERY_EFFECTIVE + db GHOST, NORMAL, NO_EFFECT + db GHOST, PSYCHIC, SUPER_EFFECTIVE + db GHOST, DARK, NOT_VERY_EFFECTIVE + db GHOST, STEEL, NOT_VERY_EFFECTIVE + db GHOST, GHOST, SUPER_EFFECTIVE + db DRAGON, DRAGON, SUPER_EFFECTIVE + db DRAGON, STEEL, NOT_VERY_EFFECTIVE + db DARK, FIGHTING, NOT_VERY_EFFECTIVE + db DARK, PSYCHIC, SUPER_EFFECTIVE + db DARK, GHOST, SUPER_EFFECTIVE + db DARK, DARK, NOT_VERY_EFFECTIVE + db DARK, STEEL, NOT_VERY_EFFECTIVE + db STEEL, FIRE, NOT_VERY_EFFECTIVE + db STEEL, WATER, NOT_VERY_EFFECTIVE + db STEEL, ELECTRIC, NOT_VERY_EFFECTIVE + db STEEL, ICE, SUPER_EFFECTIVE + db STEEL, ROCK, SUPER_EFFECTIVE + db STEEL, STEEL, NOT_VERY_EFFECTIVE + + db $fe ; end + +; Foresight removes Ghost's immunities. + db NORMAL, GHOST, NO_EFFECT + db FIGHTING, GHOST, NO_EFFECT + + db $ff ; end (with Foresight) +; 34cfd diff --git a/data/type_names.asm b/data/type_names.asm new file mode 100644 index 000000000..d86fd62c7 --- /dev/null +++ b/data/type_names.asm @@ -0,0 +1,50 @@ +TypeNames: ; 5097b +; entries correspond to types (see constants/type_constants.asm) + dw Normal + dw Fighting + dw Flying + dw Poison + dw Ground + dw Rock + dw Bird + dw Bug + dw Ghost + dw Steel + dw Normal + dw Normal + dw Normal + dw Normal + dw Normal + dw Normal + dw Normal + dw Normal + dw Normal + dw CurseType + dw Fire + dw Water + dw Grass + dw Electric + dw Psychic + dw Ice + dw Dragon + dw Dark + +Normal: db "NORMAL@" +Fighting: db "FIGHTING@" +Flying: db "FLYING@" +Poison: db "POISON@" +CurseType: db "???@" +Fire: db "FIRE@" +Water: db "WATER@" +Grass: db "GRASS@" +Electric: db "ELECTRIC@" +Psychic: db "PSYCHIC@" +Ice: db "ICE@" +Ground: db "GROUND@" +Rock: db "ROCK@" +Bird: db "BIRD@" +Bug: db "BUG@" +Ghost: db "GHOST@" +Steel: db "STEEL@" +Dragon: db "DRAGON@" +Dark: db "DARK@" diff --git a/data/battle/flee_mons.asm b/data/wild/flee_mons.asm index 1b1cea036..1b1cea036 100644 --- a/data/battle/flee_mons.asm +++ b/data/wild/flee_mons.asm |