Skip to content
On This Day:

Super Nintendo · Game Specific

FF3us Animation Scripts

By Everything

Final Fantasy III · All hacks & resources →

About this project

This is a dump of the animation scripts code made with an utility coded by Everything. Not all commands have a description but most have one and it's enough to be able to understand and modify the animations.

Original game requirements

See the release instructions.

Creator credits

Everything
Listed creator

RELEASE 1.0

Readme & instructions

[717]battle_anim_script.txt

; [ Animation Script $00E9: W Wind (bg1) ] D0/0000: 00 20 speed 1, align to center of character/monster D0/0002: C9 00 play default sound effect D0/0004: D1 01 invalidate character/monster sprite priority D0/0006: CC FF set bg1 animation palette color subtraction to 31 (black) D0/0008: AD 08 set bg1 hdma scroll type to 8 D0/000B: BD A0 hide bg1 thread D0/000D: 85 move to attacker position D0/0012: D2 64 60 set vector target to (100,96) D0/0015: 95 calculate vector from attacker to target D0/0016: 93 00 move to vector position 0 D0/0018: 80 06 clear tornado data D0/001A: 80 07 move tornado to thread position D0/001C: 83 FF move up/back 32…

Read moreRead less
; [ Animation Script $00E9: W Wind (bg1) ]

D0/0000: 00 20                    speed 1, align to center of character/monster
D0/0002: C9 00                    play default sound effect
D0/0004: D1 01                    invalidate character/monster sprite priority
D0/0006: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/0008: AD 08                    set bg1 hdma scroll type to 8
D0/000A: 00                       [$00]
D0/000B: BD A0                    hide bg1 thread
D0/000D: 85                       move to attacker position
D0/000E: 83 DF                    move up 32
D0/0010: 83 DF                    move up 32
D0/0012: D2 64 60                 set vector target to (100,96)
D0/0015: 95                       calculate vector from attacker to target
D0/0016: 93 00                    move to vector position 0
D0/0018: 80 06                    clear tornado data
D0/001A: 80 07                    move tornado to thread position
D0/001C: 83 FF                    move up/back 32
D0/001E: 83 FF                    move up/back 32
D0/0020: 83 FF                    move up/back 32
D0/0022: 83 FF                    move up/back 32
D0/0024: 89 10                    loop start (16 times)
D0/0026: 83 01                    move down/forward 2
D0/0028: DA 02 01                 move tornado sinusoidally with speed (+2,+1)
D0/002B: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/002E: CF F2                    decrease bg1 animation palette color subtraction by 2 (black)
D0/0030: 80 09                    update character/monster sprite tile priority for tornado
D0/0032: 00                       [$00]
D0/0033: 80 08                    move thread to vector position
D0/0035: 8A                       loop end
D0/0036: F7 A0                    wait until scanline 160
D0/0038: D4 02 01 10              add (sprites) to (bg1)
D0/003C: 89 2C                    loop start (44 times)
D0/003E: 83 01                    move down/forward 2
D0/0040: DA 02 01                 move tornado sinusoidally with speed (+2,+1)
D0/0043: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/0046: CF F2                    decrease bg1 animation palette color subtraction by 2 (black)
D0/0048: B4 F1                    decrease bg3 animation palette color subtraction by 1 (black)
D0/004A: 80 09                    update character/monster sprite tile priority for tornado
D0/004C: 00                       [$00]
D0/004D: 80 08                    move thread to vector position
D0/004F: 8A                       loop end
D0/0050: 80 07                    move tornado to thread position
D0/0052: DA 02 01                 move tornado sinusoidally with speed (+2,+1)
D0/0055: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/0058: 80 09                    update character/monster sprite tile priority for tornado
D0/005A: 00                       [$00]
D0/005B: 92 01 0D                 move along vector at speed 1, branch to $0050
D0/005E: 89 60                    loop start (96 times)
D0/0060: DA 02 01                 move tornado sinusoidally with speed (+2,+1)
D0/0063: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/0066: 80 09                    update character/monster sprite tile priority for tornado
D0/0068: 00                       [$00]
D0/0069: 8A                       loop end
D0/006A: F7 A0                    wait until scanline 160
D0/006C: D4 02 01 12              add (sprites, bg2) to (bg1)
D0/0070: 89 13                    loop start (19 times)
D0/0072: DA 02 01                 move tornado sinusoidally with speed (+2,+1)
D0/0075: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/0078: CF E2                    increase bg1 animation palette color subtraction by 2 (black)
D0/007A: 80 09                    update character/monster sprite tile priority for tornado
D0/007C: 00                       [$00]
D0/007D: 8A                       loop end
D0/007E: AD 03                    set bg1 hdma scroll type to 3
D0/0080: 80 06                    clear tornado data
D0/0082: FF                       end of script

; [ Animation Script $01A2: Goner (bg1) ]

D0/0083: 00 20                    speed 1, align to center of character/monster
D0/0085: 80 8C 8F                 play sound effect $8F (pan center)
D0/0088: AF E0                    set background color subtraction to 0 (black)
D0/008A: 89 1F                    loop start (31 times)
D0/008C: B6 61                    increase background color subtraction by 1 (red)
D0/008E: 1F                       [---]
D0/008F: 8A                       loop end
D0/0090: 89 1F                    loop start (31 times)
D0/0092: B6 31                    decrease background color subtraction by 1 (yellow)
D0/0094: 1F                       [---]
D0/0095: 8A                       loop end
D0/0096: 89 1F                    loop start (31 times)
D0/0098: B6 81                    increase background color subtraction by 1 (cyan)
D0/009A: 1F                       [---]
D0/009B: 8A                       loop end
D0/009C: 80 8C 74                 play sound effect $74 (pan center)
D0/009F: 89 1F                    loop start (31 times)
D0/00A1: B6 91                    decrease background color subtraction by 1 (cyan)
D0/00A3: B6 21                    increase background color subtraction by 1 (yellow)
D0/00A5: 1F                       [---]
D0/00A6: 8A                       loop end
D0/00A7: F7 A0                    wait until scanline 160
D0/00A9: B9 60                    set monster color subtraction to 0 (red)
D0/00AB: 89 1F                    loop start (31 times)
D0/00AD: BC 61                    increase monster color subtraction by 1 (red)
D0/00AF: 86 81                    move attacker back 2
D0/00B1: 0F                       [$0F]
D0/00B2: 86 61                    move attacker forward 2
D0/00B4: 0F                       [$0F]
D0/00B5: 86 81                    move attacker back 2
D0/00B7: 0F                       [$0F]
D0/00B8: 86 61                    move attacker forward 2
D0/00BA: 0F                       [$0F]
D0/00BB: 86 81                    move attacker back 2
D0/00BD: 0F                       [$0F]
D0/00BE: 86 61                    move attacker forward 2
D0/00C0: 0F                       [$0F]
D0/00C1: 8A                       loop end
D0/00C2: 80 89 00                 command $80/$89
D0/00C5: D0 20                    set tile priority to 2 for all character/monster sprites
D0/00C7: D1 01                    invalidate character/monster sprite priority
D0/00C9: C4 80                    move bg1 thread to this thread's position
D0/00CB: 80 26 01                 disable character palette updates
D0/00CE: 80 8C 00                 play sound effect $00 (pan center)
D0/00D1: F7 A0                    wait until scanline 160
D0/00D3: B6 8F                    increase background color subtraction by 15 (cyan)
D0/00D5: BC 8F                    increase monster color subtraction by 15 (cyan)
D0/00D7: CD FF                    set bg1 animation palette color addition to 31 (white)
D0/00D9: AB FF                    set bg3 animation palette color addition to 31 (white)
D0/00DB: BA FF                    set monster color addition to 31 (white)
D0/00DD: FC FF                    set character color addition to 31 (white)
D0/00DF: B0 FF                    set background color addition to 31 (white)
D0/00E1: AD 00                    set bg1 hdma scroll type to 0
D0/00E3: 89 0F                    loop start (15 times)
D0/00E5: CE F2                    decrease bg1 animation palette color addition by 2 (white)
D0/00E7: B3 F2                    decrease bg3 animation palette color addition by 2 (white)
D0/00E9: 80 56                    command $80/$56
D0/00EB: 00                       [$00]
D0/00EC: BD A0                    hide bg1 thread
D0/00EE: 8A                       loop end
D0/00EF: 89 2F                    loop start (47 times)
D0/00F1: 80 56                    command $80/$56
D0/00F3: 00                       [$00]
D0/00F4: 8A                       loop end
D0/00F5: 80 57 CC                 enable bg3 in window 2 only
D0/00F8: 80 45 3C                 enable bg1 in window 2
D0/00FB: A5 80 48 50 FF FF 40 00  init circle at (128,72)
D0/0103: 89 03                    loop start (3 times)
D0/0105: A6 00 00 FC              move circle (+0,+0) and shrink by 4
D0/0109: 80 56                    command $80/$56
D0/010B: A7                       update circle
D0/010C: 00                       [$00]
D0/010D: 8A                       loop end
D0/010E: 80 58 06                 set circle shape to horizontal oval
D0/0111: 89 03                    loop start (3 times)
D0/0113: A6 00 00 FC              move circle (+0,+0) and shrink by 4
D0/0117: 80 56                    command $80/$56
D0/0119: A7                       update circle
D0/011A: 00                       [$00]
D0/011B: 8A                       loop end
D0/011C: 80 59 48                 command $80/$59
D0/011F: 80 56                    command $80/$56
D0/0121: 00                       [$00]
D0/0122: 80 59 4A                 command $80/$59
D0/0125: 80 56                    command $80/$56
D0/0127: 00                       [$00]
D0/0128: 80 59 4C                 command $80/$59
D0/012B: 80 56                    command $80/$56
D0/012D: 00                       [$00]
D0/012E: 80 59 48                 command $80/$59
D0/0131: 80 56                    command $80/$56
D0/0133: 00                       [$00]
D0/0134: 80 59 40                 command $80/$59
D0/0137: 80 56                    command $80/$56
D0/0139: 00                       [$00]
D0/013A: 80 59 38                 command $80/$59
D0/013D: 80 56                    command $80/$56
D0/013F: 00                       [$00]
D0/0140: 80 59 30                 command $80/$59
D0/0143: 80 56                    command $80/$56
D0/0145: 00                       [$00]
D0/0146: 80 59 28                 command $80/$59
D0/0149: 80 56                    command $80/$56
D0/014B: 00                       [$00]
D0/014C: 80 59 20                 command $80/$59
D0/014F: 80 56                    command $80/$56
D0/0151: 00                       [$00]
D0/0152: 80 59 18                 command $80/$59
D0/0155: 80 56                    command $80/$56
D0/0157: 00                       [$00]
D0/0158: 80 59 10                 command $80/$59
D0/015B: 80 56                    command $80/$56
D0/015D: 00                       [$00]
D0/015E: 80 59 08                 command $80/$59
D0/0161: 80 56                    command $80/$56
D0/0163: 00                       [$00]
D0/0164: 80 59 00                 command $80/$59
D0/0167: 89 40                    loop start (64 times)
D0/0169: 80 56                    command $80/$56
D0/016B: 00                       [$00]
D0/016C: 8A                       loop end
D0/016D: BD 80                    show bg1 thread
D0/016F: 89 0F                    loop start (15 times)
D0/0171: 0F                       [$0F]
D0/0172: B5 F2                    decrease background color addition by 2 (white)
D0/0174: 0F                       [$0F]
D0/0175: BB F2                    decrease monster color addition by 2 (white)
D0/0177: 0F                       [$0F]
D0/0178: FD F2                    decrease character color addition by 2 (white)
D0/017A: 8A                       loop end
D0/017B: F7 A0                    wait until scanline 160
D0/017D: AD 03                    set bg1 hdma scroll type to 3
D0/017F: 80 26 00                 enable character palette updates
D0/0182: C9 FF                    play sound effect $FF
D0/0184: FF                       end of script

; [ Animation Script $01A3: Goner (bg3) ]

D0/0185: 00 20                    speed 1, align to center of character/monster
D0/0187: C4 40                    move bg3 thread to this thread's position
D0/0189: 89 1F                    loop start (31 times)
D0/018B: 09                       [$09]
D0/018C: 09                       [$09]
D0/018D: 09                       [$09]
D0/018E: 09                       [$09]
D0/018F: 09                       [$09]
D0/0190: 09                       [$09]
D0/0191: 09                       [$09]
D0/0192: 09                       [$09]
D0/0193: 09                       [$09]
D0/0194: 09                       [$09]
D0/0195: 8A                       loop end
D0/0196: 84 03                    set animation speed to 4
D0/0198: 8B 06                    animated loop start (6 times, increment frame offset each time)
D0/019A: 00                       [$00]
D0/019B: 8C                       animated loop end
D0/019C: 8B 06                    animated loop start (6 times, increment frame offset each time)
D0/019E: 00                       [$00]
D0/019F: 8C                       animated loop end
D0/01A0: 8B 06                    animated loop start (6 times, increment frame offset each time)
D0/01A2: 00                       [$00]
D0/01A3: 8C                       animated loop end
D0/01A4: 84 01                    set animation speed to 2
D0/01A6: 89 0C                    loop start (12 times)
D0/01A8: 09                       [$09]
D0/01A9: 8A                       loop end
D0/01AA: F7 A0                    wait until scanline 160
D0/01AC: AD 87                    set bg3 hdma scroll type to 7
D0/01AE: AC 21 48                 set (bg3) hdma scroll data (amplitude 8, frequency 1, horizontal)
D0/01B1: 89 20                    loop start (32 times)
D0/01B3: AE 41                    update (bg3) hdma scroll data (horizontal)
D0/01B5: 09                       [$09]
D0/01B6: 8A                       loop end
D0/01B7: 89 1F                    loop start (31 times)
D0/01B9: 83 87                    move back 8
D0/01BB: AE 41                    update (bg3) hdma scroll data (horizontal)
D0/01BD: CE E1                    increase bg1 animation palette color addition by 1 (white)
D0/01BF: B3 E1                    increase bg3 animation palette color addition by 1 (white)
D0/01C1: 09                       [$09]
D0/01C2: 8A                       loop end
D0/01C3: F7 A0                    wait until scanline 160
D0/01C5: AD 85                    set bg3 hdma scroll type to 5
D0/01C7: 80 24                    clear bg3 hdma scroll data
D0/01C9: FF                       end of script

; [ Animation Script $0288: Animation $0195 ]

D0/01CA: 00 20                    speed 1, align to center of character/monster
D0/01CC: 85                       move to attacker position
D0/01CD: 80 0E                    command $80/$0E
D0/01CF: 0F                       [$0F]
D0/01D0: E4                       command $E4
D0/01D1: 0F                       [$0F]
D0/01D2: E2                       command $E2
D0/01D3: 0C                       [$0C]
D0/01D4: 03                       [$03]
D0/01D5: 0F                       [$0F]
D0/01D6: E3                       command $E3
D0/01D7: 08                       [$08]
D0/01D8: 03                       [$03]
D0/01D9: FF                       end of script

; [ Animation Script $0287: BabaBreath (sprite) ]

D0/01DA: 00 20                    speed 1, align to center of character/monster
D0/01DC: 89 1F                    loop start (31 times)
D0/01DE: 1F                       [---]
D0/01DF: 8A                       loop end
D0/01E0: 89 1F                    loop start (31 times)
D0/01E2: 87 61                    move target forward 2
D0/01E4: 1F                       [---]
D0/01E5: 87 81                    move target back 2
D0/01E7: 1F                       [---]
D0/01E8: 8A                       loop end
D0/01E9: 80 72 01                 branch to $01ED if attack hit
D0/01EC: FF                       end of script

D0/01ED: 89 15                    loop start (21 times)
D0/01EF: 87 67                    move target forward 8
D0/01F1: 1F                       [---]
D0/01F2: 8A                       loop end
D0/01F3: F1 00                    hide target character sprite
D0/01F5: FF                       end of script

; [ Animation Script $0286: Animation $0194 ]

D0/01F6: 00 20                    speed 1, align to center of character/monster
D0/01F8: BF 67 70                 jump to subroutine $7067
D0/01FB: 81 07 07                 change attacker graphic to 7 (jumping)
D0/01FE: 80 72 08                 branch to $0209 if attack hit
D0/0201: 89 1F                    loop start (31 times)
D0/0203: 0F                       [$0F]
D0/0204: 8A                       loop end
D0/0205: 81 00 00                 change attacker graphic to 0 (no action)
D0/0208: FF                       end of script

D0/0209: C9 FC                    play sound effect $FC
D0/020B: 84 04                    set animation speed to 5
D0/020D: 89 07                    loop start (7 times)
D0/020F: D5 01                    flip target monster horizontally
D0/0211: 0F                       [$0F]
D0/0212: D5 01                    flip target monster horizontally
D0/0214: 0F                       [$0F]
D0/0215: 8A                       loop end
D0/0216: 81 00 00                 change attacker graphic to 0 (no action)
D0/0219: FF                       end of script

; [ Animation Script $0285: Super Ball (extra) ]

D0/021A: 00 20                    speed 1, align to center of character/monster
D0/021C: BF 19 70                 jump to subroutine $7019
D0/021F: 81 07 07                 change attacker graphic to 7 (jumping)
D0/0222: 89 40                    loop start (64 times)
D0/0224: 1F                       [---]
D0/0225: 8A                       loop end
D0/0226: 81 00 00                 change attacker graphic to 0 (no action)
D0/0229: BF 40 70                 jump to subroutine $7040
D0/022C: FF                       end of script

; [ Animation Script $0284: Misc. Monster Animation $0D: Final KEFKA Death (bg1) ]

D0/022D: 00 20                    speed 1, align to center of character/monster
D0/022F: D1 01                    invalidate character/monster sprite priority
D0/0231: C7 0B 81 E0 00           spc command $81, $E0, $00
D0/0236: 89 80                    loop start (128 times)
D0/0238: 0F                       [$0F]
D0/0239: 8A                       loop end
D0/023A: B0 FF                    set background color addition to 31 (white)
D0/023C: C9 E3                    play sound effect $E3
D0/023E: 89 07                    loop start (7 times)
D0/0240: B5 F4                    decrease background color addition by 4 (white)
D0/0242: 0F                       [$0F]
D0/0243: 8A                       loop end
D0/0244: 89 40                    loop start (64 times)
D0/0246: 0F                       [$0F]
D0/0247: 8A                       loop end
D0/0248: B0 FF                    set background color addition to 31 (white)
D0/024A: C9 E3                    play sound effect $E3
D0/024C: 89 07                    loop start (7 times)
D0/024E: B5 F4                    decrease background color addition by 4 (white)
D0/0250: 0F                       [$0F]
D0/0251: 8A                       loop end
D0/0252: 89 40                    loop start (64 times)
D0/0254: 0F                       [$0F]
D0/0255: 8A                       loop end
D0/0256: C9 A5                    play sound effect $A5
D0/0258: 80 89 00                 command $80/$89
D0/025B: AF 60                    set background color subtraction to 0 (red)
D0/025D: 89 0F                    loop start (15 times)
D0/025F: B6 E1                    increase background color subtraction by 1 (black)
D0/0261: 0F                       [$0F]
D0/0262: 0F                       [$0F]
D0/0263: 0F                       [$0F]
D0/0264: 0F                       [$0F]
D0/0265: B6 61                    increase background color subtraction by 1 (red)
D0/0267: 0F                       [$0F]
D0/0268: 0F                       [$0F]
D0/0269: 0F                       [$0F]
D0/026A: 0F                       [$0F]
D0/026B: 8A                       loop end
D0/026C: FF                       end of script

; [ Animation Script $0283: Misc. Monster Animation $0C: Monsters Glow Long (bg1) ]

D0/026D: 00 20                    speed 1, align to center of character/monster
D0/026F: BD A0                    hide bg1 thread
D0/0271: C4 80                    move bg1 thread to this thread's position
D0/0273: CD E0                    set bg1 animation palette color addition to 0 (white)
D0/0275: 89 0E                    loop start (14 times)
D0/0277: 0F                       [$0F]
D0/0278: CE E1                    increase bg1 animation palette color addition by 1 (white)
D0/027A: 8A                       loop end
D0/027B: 89 04                    loop start (4 times)
D0/027D: 0F                       [$0F]
D0/027E: CE C1                    increase bg1 animation palette color addition by 1 (yellow)
D0/0280: 8A                       loop end
D0/0281: 89 10                    loop start (16 times)
D0/0283: 0F                       [$0F]
D0/0284: 8A                       loop end
D0/0285: 89 04                    loop start (4 times)
D0/0287: 0F                       [$0F]
D0/0288: CE D1                    decrease bg1 animation palette color addition by 1 (yellow)
D0/028A: 8A                       loop end
D0/028B: 89 0E                    loop start (14 times)
D0/028D: 0F                       [$0F]
D0/028E: CE F1                    decrease bg1 animation palette color addition by 1 (white)
D0/0290: 8A                       loop end
D0/0291: FF                       end of script

; [ Animation Script $0282: Misc. Monster Animation $0B: Monsters Glow Short (bg1) ]

D0/0292: 00 20                    speed 1, align to center of character/monster
D0/0294: BD A0                    hide bg1 thread
D0/0296: C4 80                    move bg1 thread to this thread's position
D0/0298: BA E0                    set monster color addition to 0 (white)
D0/029A: 89 0A                    loop start (10 times)
D0/029C: 0F                       [$0F]
D0/029D: BB E1                    increase monster color addition by 1 (white)
D0/029F: 8A                       loop end
D0/02A0: 89 04                    loop start (4 times)
D0/02A2: 0F                       [$0F]
D0/02A3: BB C1                    increase monster color addition by 1 (yellow)
D0/02A5: 8A                       loop end
D0/02A6: 89 04                    loop start (4 times)
D0/02A8: A3 D3 81                 shift colors (13..16) of monster 1 palette left (8 loops per shift)
D0/02AB: 0F                       [$0F]
D0/02AC: 0F                       [$0F]
D0/02AD: 0F                       [$0F]
D0/02AE: 0F                       [$0F]
D0/02AF: 0F                       [$0F]
D0/02B0: 0F                       [$0F]
D0/02B1: 8A                       loop end
D0/02B2: 89 08                    loop start (8 times)
D0/02B4: A3 D3 81                 shift colors (13..16) of monster 1 palette left (8 loops per shift)
D0/02B7: 0F                       [$0F]
D0/02B8: 0F                       [$0F]
D0/02B9: 0F                       [$0F]
D0/02BA: 0F                       [$0F]
D0/02BB: 8A                       loop end
D0/02BC: 89 0F                    loop start (15 times)
D0/02BE: A3 D3 81                 shift colors (13..16) of monster 1 palette left (8 loops per shift)
D0/02C1: 0F                       [$0F]
D0/02C2: 0F                       [$0F]
D0/02C3: 8A                       loop end
D0/02C4: 89 20                    loop start (32 times)
D0/02C6: A3 D3 81                 shift colors (13..16) of monster 1 palette left (8 loops per shift)
D0/02C9: 0F                       [$0F]
D0/02CA: 8A                       loop end
D0/02CB: 89 0F                    loop start (15 times)
D0/02CD: A3 D3 81                 shift colors (13..16) of monster 1 palette left (8 loops per shift)
D0/02D0: 0F                       [$0F]
D0/02D1: 0F                       [$0F]
D0/02D2: 8A                       loop end
D0/02D3: 89 08                    loop start (8 times)
D0/02D5: A3 D3 81                 shift colors (13..16) of monster 1 palette left (8 loops per shift)
D0/02D8: 0F                       [$0F]
D0/02D9: 0F                       [$0F]
D0/02DA: 0F                       [$0F]
D0/02DB: 0F                       [$0F]
D0/02DC: 0F                       [$0F]
D0/02DD: 8A                       loop end
D0/02DE: 89 04                    loop start (4 times)
D0/02E0: A3 D3 81                 shift colors (13..16) of monster 1 palette left (8 loops per shift)
D0/02E3: 0F                       [$0F]
D0/02E4: 0F                       [$0F]
D0/02E5: 0F                       [$0F]
D0/02E6: 0F                       [$0F]
D0/02E7: 0F                       [$0F]
D0/02E8: 0F                       [$0F]
D0/02E9: 8A                       loop end
D0/02EA: 89 04                    loop start (4 times)
D0/02EC: 0F                       [$0F]
D0/02ED: BB D1                    decrease monster color addition by 1 (yellow)
D0/02EF: 8A                       loop end
D0/02F0: 89 0A                    loop start (10 times)
D0/02F2: 0F                       [$0F]
D0/02F3: BB F1                    decrease monster color addition by 1 (white)
D0/02F5: 8A                       loop end
D0/02F6: FF                       end of script

; [ Animation Script $0281: Misc. Monster Animation $0A: Final KEFKA Disembodied Head (bg1) ]

D0/02F7: 00 20                    speed 1, align to center of character/monster
D0/02F9: C4 80                    move bg1 thread to this thread's position
D0/02FB: D0 20                    set tile priority to 2 for all character/monster sprites
D0/02FD: 83 70                    move forward 17
D0/02FF: 83 30                    move down 17
D0/0301: 83 34                    move down 21
D0/0303: CD FF                    set bg1 animation palette color addition to 31 (white)
D0/0305: 89 1F                    loop start (31 times)
D0/0307: CE F1                    decrease bg1 animation palette color addition by 1 (white)
D0/0309: 00                       [$00]
D0/030A: 8A                       loop end
D0/030B: 80 89 01                 command $80/$89
D0/030E: 89 40                    loop start (64 times)
D0/0310: 00                       [$00]
D0/0311: 8A                       loop end
D0/0312: F7 A0                    wait until scanline 160
D0/0314: D4 02 01 12              add (sprites, bg2) to (bg1)
D0/0318: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/031A: 89 1F                    loop start (31 times)
D0/031C: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/031E: 00                       [$00]
D0/031F: 8A                       loop end
D0/0320: FF                       end of script

; [ Animation Script $0280: Monster Entry $0F: Final KEFKA (sprite) ]

D0/0321: 00 20                    speed 1, align to center of character/monster
D0/0323: 9A                       set facing direction to match attacker
D0/0324: D1 01                    invalidate character/monster sprite priority
D0/0326: 89 04                    loop start (4 times)
D0/0328: 87 DF                    move target up 32
D0/032A: 8A                       loop end
D0/032B: 80 1A 01                 command $80/$1A
D0/032E: 89 9F                    loop start (159 times)
D0/0330: 87 20                    move target down 1
D0/0332: 1F                       [---]
D0/0333: 1F                       [---]
D0/0334: 1F                       [---]
D0/0335: 1F                       [---]
D0/0336: 8A                       loop end
D0/0337: 89 40                    loop start (64 times)
D0/0339: 1F                       [---]
D0/033A: 8A                       loop end
D0/033B: C7 0B 10 50 FF           spc command $10, $50, $FF
D0/0340: FF                       end of script

; [ Animation Script $027F: Flash (bg1) ]

D0/0341: 10 20                    speed 2, align to center of character/monster
D0/0343: C9 00                    play default sound effect
D0/0345: 00                       [$00]
D0/0346: 01                       [$01]
D0/0347: 02                       [$02]
D0/0348: 89 12                    loop start (18 times)
D0/034A: 03                       [$03]
D0/034B: 8A                       loop end
D0/034C: FF                       end of script

; [ Animation Script $0240:  ]

D0/034D: 00 20                    speed 1, align to center of character/monster
D0/034F: 80 83                    command $80/$83
D0/0351: 1F                       [---]
D0/0352: 80 1A 01                 command $80/$1A
D0/0355: FF                       end of script

; [ Animation Script $0241: Monster Exit $0E: Chadarnook (bg1) ]

D0/0356: 00 20                    speed 1, align to center of character/monster
D0/0358: C4 80                    move bg1 thread to this thread's position
D0/035A: D1 01                    invalidate character/monster sprite priority
D0/035C: BD A0                    hide bg1 thread
D0/035E: F7 A0                    wait until scanline 160
D0/0360: D0 20                    set tile priority to 2 for all character/monster sprites
D0/0362: 80 84                    command $80/$84
D0/0364: B9 FF                    set monster color subtraction to 31 (black)
D0/0366: 80 85 01                 command $80/$85
D0/0369: 0F                       [$0F]
D0/036A: 0F                       [$0F]
D0/036B: 0F                       [$0F]
D0/036C: 80 85 00                 command $80/$85
D0/036F: F7 A0                    wait until scanline 160
D0/0371: D4 02 01 12              add (sprites, bg2) to (bg1)
D0/0375: 89 1F                    loop start (31 times)
D0/0377: BC F1                    decrease monster color subtraction by 1 (black)
D0/0379: 0F                       [$0F]
D0/037A: 0F                       [$0F]
D0/037B: 0F                       [$0F]
D0/037C: 80 85 02                 command $80/$85
D0/037F: 0F                       [$0F]
D0/0380: 0F                       [$0F]
D0/0381: 0F                       [$0F]
D0/0382: 80 85 00                 command $80/$85
D0/0385: 8A                       loop end
D0/0386: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/0388: 89 1F                    loop start (31 times)
D0/038A: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/038C: 0F                       [$0F]
D0/038D: 0F                       [$0F]
D0/038E: 0F                       [$0F]
D0/038F: 80 85 02                 command $80/$85
D0/0392: 0F                       [$0F]
D0/0393: 0F                       [$0F]
D0/0394: 0F                       [$0F]
D0/0395: 80 85 00                 command $80/$85
D0/0398: 8A                       loop end
D0/0399: F7 A0                    wait until scanline 160
D0/039B: 80 3E 12                 enable (sprites, bg2) in main screen
D0/039E: F1 80                    hide target monster sprite
D0/03A0: FF                       end of script

; [ Animation Script $027E: Unused (sprite) ]

D0/03A1: 00 20                    speed 1, align to center of character/monster
D0/03A3: FF                       end of script

; [ Animation Script $011F: Atom Edge, True Edge (bg1) ]

D0/03A4: 00 20                    speed 1, align to center of character/monster
D0/03A6: D1 01                    invalidate character/monster sprite priority
D0/03A8: BD A0                    hide bg1 thread
D0/03AA: C4 80                    move bg1 thread to this thread's position
D0/03AC: BF 16 55                 jump to subroutine $5516
D0/03AF: BD A0                    hide bg1 thread
D0/03B1: 89 1F                    loop start (31 times)
D0/03B3: 0F                       [$0F]
D0/03B4: 8A                       loop end
D0/03B5: C9 00                    play default sound effect
D0/03B7: 80 32 BD 03 C8 03        jump to $03BD (left) or $03C8 (right)
D0/03BD: 80 42 00                 disable bg1 mirroring (mode 7)
D0/03C0: 89 04                    loop start (4 times)
D0/03C2: 83 9F                    move back 32
D0/03C4: 8A                       loop end
D0/03C5: FA D0 03                 jump to $03D0
D0/03C8: 80 42 01                 mirror bg1 horizontal (mode 7)
D0/03CB: 89 04                    loop start (4 times)
D0/03CD: 83 7F                    move forward 32
D0/03CF: 8A                       loop end
D0/03D0: AF E0                    set background color subtraction to 0 (black)
D0/03D2: 80 3A 0F                 set gradient line intensity to 15
D0/03D5: F7 A0                    wait until scanline 160
D0/03D7: D4 20 22 00              add fixed color to (back area, bg2)
D0/03DB: 89 0E                    loop start (14 times)
D0/03DD: B6 E1                    increase background color subtraction by 1 (black)
D0/03DF: 80 39 FF                 update blue gradient lines, increase intensity by 1
D0/03E2: 0F                       [$0F]
D0/03E3: 8A                       loop end
D0/03E4: 89 10                    loop start (16 times)
D0/03E6: B6 E1                    increase background color subtraction by 1 (black)
D0/03E8: 80 39 00                 update blue gradient lines
D0/03EB: 0F                       [$0F]
D0/03EC: 8A                       loop end
D0/03ED: 83 C4                    move up 5
D0/03EF: 80 39 00                 update blue gradient lines
D0/03F2: 0F                       [$0F]
D0/03F3: 80 41 00 00 60 00        zoom bg1 (0,0), move bg1 (96,0)
D0/03F9: F7 A0                    wait until scanline 160
D0/03FB: 80 3E 11                 enable (sprites, bg1) in main screen
D0/03FE: 80 40 07                 set screen to mode 7
D0/0401: D0 30                    set tile priority to 3 for all character/monster sprites
D0/0403: F7 A0                    wait until scanline 160
D0/0405: 89 0F                    loop start (15 times)
D0/0407: 80 41 F8 F8 00 00        zoom bg1 (-8,-8), move bg1 (0,0)
D0/040D: 80 39 00                 update blue gradient lines
D0/0410: 0F                       [$0F]
D0/0411: 8A                       loop end
D0/0412: D0 00                    set tile priority to 0 for all character/monster sprites
D0/0414: 89 0F                    loop start (15 times)
D0/0416: 80 41 F8 F8 00 00        zoom bg1 (-8,-8), move bg1 (0,0)
D0/041C: 80 39 00                 update blue gradient lines
D0/041F: 0F                       [$0F]
D0/0420: 8A                       loop end
D0/0421: D0 30                    set tile priority to 3 for all character/monster sprites
D0/0423: 80 39 00                 update blue gradient lines
D0/0426: 0F                       [$0F]
D0/0427: F7 A0                    wait until scanline 160
D0/0429: 80 3E 16                 enable (sprites, bg3, bg2) in main screen
D0/042C: 80 40 01                 set screen to mode 1
D0/042F: BD 80                    show bg1 thread
D0/0431: 80 39 00                 update blue gradient lines
D0/0434: 0F                       [$0F]
D0/0435: EA 81                    set bg1 tile data quadrant to 1
D0/0437: 80 39 00                 update blue gradient lines
D0/043A: 0F                       [$0F]
D0/043B: EA 82                    set bg1 tile data quadrant to 2
D0/043D: 80 39 00                 update blue gradient lines
D0/0440: 0F                       [$0F]
D0/0441: EA 83                    set bg1 tile data quadrant to 3
D0/0443: 80 39 00                 update blue gradient lines
D0/0446: 0F                       [$0F]
D0/0447: BD A0                    hide bg1 thread
D0/0449: 89 10                    loop start (16 times)
D0/044B: B6 F1                    decrease background color subtraction by 1 (black)
D0/044D: 80 39 00                 update blue gradient lines
D0/0450: 0F                       [$0F]
D0/0451: 8A                       loop end
D0/0452: 89 0E                    loop start (14 times)
D0/0454: 80 39 01                 update blue gradient lines, decrease intensity by 1
D0/0457: B6 F1                    decrease background color subtraction by 1 (black)
D0/0459: 0F                       [$0F]
D0/045A: 8A                       loop end
D0/045B: 80 37                    clear fixed color value hdma data
D0/045D: BF 49 55                 jump to subroutine $5549
D0/0460: BF A0 2C                 jump to subroutine $2CA0
D0/0463: FF                       end of script

; [ Animation Script $027C: Misc. Monster Animation $08: Move Forward 64 (sprite) ]

D0/0464: 00 20                    speed 1, align to center of character/monster
D0/0466: 87 7F                    move target forward 32
D0/0468: 87 7F                    move target forward 32
D0/046A: 1F                       [---]
D0/046B: FF                       end of script

; [ Animation Script $027D: Misc. Monster Animation $07: Move Back 64 (sprite) ]

D0/046C: 00 20                    speed 1, align to center of character/monster
D0/046E: 87 9F                    move target back 32
D0/0470: 87 9F                    move target back 32
D0/0472: 1F                       [---]
D0/0473: FF                       end of script

; [ Animation Script $027B: Monster Exit $0C: Boss Death (bg1) ]

D0/0474: 00 20                    speed 1, align to center of character/monster
D0/0476: B0 FF                    set background color addition to 31 (white)
D0/0478: C9 E3                    play sound effect $E3
D0/047A: 89 07                    loop start (7 times)
D0/047C: B5 F4                    decrease background color addition by 4 (white)
D0/047E: 0F                       [$0F]
D0/047F: 8A                       loop end
D0/0480: 89 40                    loop start (64 times)
D0/0482: 0F                       [$0F]
D0/0483: 8A                       loop end
D0/0484: B0 FF                    set background color addition to 31 (white)
D0/0486: BA FF                    set monster color addition to 31 (white)
D0/0488: C9 E3                    play sound effect $E3
D0/048A: F7 A0                    wait until scanline 160
D0/048C: D4 02 02 10              add (sprites) to (bg2)
D0/0490: D0 00                    set tile priority to 0 for all character/monster sprites
D0/0492: 80 28 30                 set tile priority to 3 for all character sprites
D0/0495: 89 07                    loop start (7 times)
D0/0497: B5 F4                    decrease background color addition by 4 (white)
D0/0499: BB F1                    decrease monster color addition by 1 (white)
D0/049B: 0F                       [$0F]
D0/049C: 8A                       loop end
D0/049D: 89 17                    loop start (23 times)
D0/049F: BB F1                    decrease monster color addition by 1 (white)
D0/04A1: 0F                       [$0F]
D0/04A2: 8A                       loop end
D0/04A3: B9 E0                    set monster color subtraction to 0 (black)
D0/04A5: 89 1F                    loop start (31 times)
D0/04A7: 0F                       [$0F]
D0/04A8: 8A                       loop end
D0/04A9: C9 F6                    play sound effect $F6
D0/04AB: 89 0F                    loop start (15 times)
D0/04AD: 80 82 01                 command $80/$82
D0/04B0: 0F                       [$0F]
D0/04B1: 80 82 FF                 command $80/$82
D0/04B4: 0F                       [$0F]
D0/04B5: 8A                       loop end
D0/04B6: 84 02                    set animation speed to 3
D0/04B8: 89 0F                    loop start (15 times)
D0/04BA: 80 80 21 10 00           command $80/$80
D0/04BF: 80 82 01                 command $80/$82
D0/04C2: 0F                       [$0F]
D0/04C3: 80 82 FF                 command $80/$82
D0/04C6: 0F                       [$0F]
D0/04C7: 80 80 21 10 00           command $80/$80
D0/04CC: 80 80 41 10 00           command $80/$80
D0/04D1: 80 82 01                 command $80/$82
D0/04D4: 0F                       [$0F]
D0/04D5: 80 82 FF                 command $80/$82
D0/04D8: 0F                       [$0F]
D0/04D9: 8A                       loop end
D0/04DA: 89 0F                    loop start (15 times)
D0/04DC: 80 80 41 10 00           command $80/$80
D0/04E1: 80 82 02                 command $80/$82
D0/04E4: 0F                       [$0F]
D0/04E5: 80 82 FE                 command $80/$82
D0/04E8: 0F                       [$0F]
D0/04E9: 80 80 81 10 00           command $80/$80
D0/04EE: 80 82 02                 command $80/$82
D0/04F1: 0F                       [$0F]
D0/04F2: 80 82 FE                 command $80/$82
D0/04F5: 0F                       [$0F]
D0/04F6: 8A                       loop end
D0/04F7: 89 07                    loop start (7 times)
D0/04F9: 80 80 81 10 00           command $80/$80
D0/04FE: 80 82 03                 command $80/$82
D0/0501: 0F                       [$0F]
D0/0502: 80 82 FD                 command $80/$82
D0/0505: 0F                       [$0F]
D0/0506: 80 80 81 10 00           command $80/$80
D0/050B: 80 82 03                 command $80/$82
D0/050E: 0F                       [$0F]
D0/050F: 80 82 FD                 command $80/$82
D0/0512: 0F                       [$0F]
D0/0513: 8A                       loop end
D0/0514: 80 7F                    command $80/$7F
D0/0516: 0F                       [$0F]
D0/0517: C9 FF                    play sound effect $FF
D0/0519: FF                       end of script

; [ Animation Script $027A: Slash/Skull Hit (bg1) ]

D0/051A: 00 20                    speed 1, align to center of character/monster
D0/051C: C9 00                    play default sound effect
D0/051E: 8B 07                    animated loop start (7 times, increment frame offset each time)
D0/0520: 00                       [$00]
D0/0521: 00                       [$00]
D0/0522: 8C                       animated loop end
D0/0523: 89 40                    loop start (64 times)
D0/0525: 08                       [$08]
D0/0526: 8A                       loop end
D0/0527: FF                       end of script

; [ Animation Script $0277: Black Ball Hit (bg1) ]

D0/0528: 00 00                    speed 1, align to bottom of character/monster
D0/052A: 89 04                    loop start (4 times)
D0/052C: 83 DF                    move up 32
D0/052E: 8A                       loop end
D0/052F: C9 00                    play default sound effect
D0/0531: 89 13                    loop start (19 times)
D0/0533: 83 27                    move down 8
D0/0535: 00                       [$00]
D0/0536: 8A                       loop end
D0/0537: 82 16 16                 change target graphic to 22 (hit)
D0/053A: 89 0F                    loop start (15 times)
D0/053C: 83 82                    move back 3
D0/053E: 00                       [$00]
D0/053F: 83 62                    move forward 3
D0/0541: 00                       [$00]
D0/0542: 8A                       loop end
D0/0543: 82 00 00                 change target graphic to 0 (no action)
D0/0546: FF                       end of script

; [ Animation Script $0276: Drill Hit (bg1) ]

D0/0547: 00 20                    speed 1, align to center of character/monster
D0/0549: C9 00                    play default sound effect
D0/054B: 85                       move to attacker position
D0/054C: 95                       calculate vector from attacker to target
D0/054D: 00                       [$00]
D0/054E: 92 08 03                 move along vector at speed 8, branch to $054D
D0/0551: 80 4E                    clear frame offset
D0/0553: BF 2F 07                 jump to subroutine $072F
D0/0556: FF                       end of script

; [ Animation Script $0275: Net Hit (bg1) ]

D0/0557: 20 20                    speed 3, align to center of character/monster
D0/0559: C9 00                    play default sound effect
D0/055B: 8B 03                    animated loop start (3 times, increment frame offset each time)
D0/055D: 00                       [$00]
D0/055E: 8C                       animated loop end
D0/055F: 89 07                    loop start (7 times)
D0/0561: 03                       [$03]
D0/0562: 8A                       loop end
D0/0563: 02                       [$02]
D0/0564: 01                       [$01]
D0/0565: 00                       [$00]
D0/0566: FF                       end of script

; [ Animation Script $0274: Missiles Hit (bg1) ]

D0/0567: 00 20                    speed 1, align to center of character/monster
D0/0569: D1 01                    invalidate character/monster sprite priority
D0/056B: C9 00                    play default sound effect
D0/056D: 85                       move to attacker position
D0/056E: 00                       [$00]
D0/056F: 00                       [$00]
D0/0570: 00                       [$00]
D0/0571: 01                       [$01]
D0/0572: 01                       [$01]
D0/0573: 01                       [$01]
D0/0574: 95                       calculate vector from attacker to target
D0/0575: 98 01 03                 increment frame offset every 1 loops (0..3)
D0/0578: 02                       [$02]
D0/0579: 92 08 06                 move along vector at speed 8, branch to $0575
D0/057C: 80 4E                    clear frame offset
D0/057E: BF 2F 07                 jump to subroutine $072F
D0/0581: FF                       end of script

; [ Animation Script $0273: Blooming Flowers Hit (bg1) ]

D0/0582: 30 20                    speed 4, align to center of character/monster
D0/0584: D1 01                    invalidate character/monster sprite priority
D0/0586: C9 00                    play default sound effect
D0/0588: 83 AF                    move up/forward 16
D0/058A: 82 16 16                 change target graphic to 22 (hit)
D0/058D: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/0590: 8B 09                    animated loop start (9 times, increment frame offset each time)
D0/0592: 00                       [$00]
D0/0593: 8C                       animated loop end
D0/0594: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/0597: 8B 09                    animated loop start (9 times, increment frame offset each time)
D0/0599: 00                       [$00]
D0/059A: 8C                       animated loop end
D0/059B: 82 00 00                 change target graphic to 0 (no action)
D0/059E: FF                       end of script

; [ Animation Script $0272: Wheel Hit (bg1) ]

D0/059F: 00 00                    speed 1, align to bottom of character/monster
D0/05A1: D1 01                    invalidate character/monster sprite priority
D0/05A3: 83 9F                    move back 32
D0/05A5: 83 9F                    move back 32
D0/05A7: 83 9F                    move back 32
D0/05A9: C9 00                    play default sound effect
D0/05AB: 89 11                    loop start (17 times)
D0/05AD: 83 63                    move forward 4
D0/05AF: 98 01 03                 increment frame offset every 1 loops (0..3)
D0/05B2: 00                       [$00]
D0/05B3: 8A                       loop end
D0/05B4: 82 16 16                 change target graphic to 22 (hit)
D0/05B7: 83 63                    move forward 4
D0/05B9: 83 C4                    move up 5
D0/05BB: 98 01 03                 increment frame offset every 1 loops (0..3)
D0/05BE: 00                       [$00]
D0/05BF: 83 63                    move forward 4
D0/05C1: 83 C3                    move up 4
D0/05C3: 98 01 03                 increment frame offset every 1 loops (0..3)
D0/05C6: 00                       [$00]
D0/05C7: 83 63                    move forward 4
D0/05C9: 83 C2                    move up 3
D0/05CB: 98 01 03                 increment frame offset every 1 loops (0..3)
D0/05CE: 00                       [$00]
D0/05CF: 83 63                    move forward 4
D0/05D1: 83 C1                    move up 2
D0/05D3: 98 01 03                 increment frame offset every 1 loops (0..3)
D0/05D6: 00                       [$00]
D0/05D7: 83 63                    move forward 4
D0/05D9: 83 21                    move down 2
D0/05DB: 98 01 03                 increment frame offset every 1 loops (0..3)
D0/05DE: 00                       [$00]
D0/05DF: 83 63                    move forward 4
D0/05E1: 83 21                    move down 2
D0/05E3: 98 01 03                 increment frame offset every 1 loops (0..3)
D0/05E6: 00                       [$00]
D0/05E7: 83 63                    move forward 4
D0/05E9: 83 21                    move down 2
D0/05EB: 98 01 03                 increment frame offset every 1 loops (0..3)
D0/05EE: 00                       [$00]
D0/05EF: 83 63                    move forward 4
D0/05F1: 83 22                    move down 3
D0/05F3: 98 01 03                 increment frame offset every 1 loops (0..3)
D0/05F6: 00                       [$00]
D0/05F7: 83 63                    move forward 4
D0/05F9: 83 23                    move down 4
D0/05FB: 98 01 03                 increment frame offset every 1 loops (0..3)
D0/05FE: 00                       [$00]
D0/05FF: 83 63                    move forward 4
D0/0601: 83 24                    move down 5
D0/0603: 98 01 03                 increment frame offset every 1 loops (0..3)
D0/0606: 00                       [$00]
D0/0607: 82 00 00                 change target graphic to 0 (no action)
D0/060A: 89 1A                    loop start (26 times)
D0/060C: 83 63                    move forward 4
D0/060E: 98 01 03                 increment frame offset every 1 loops (0..3)
D0/0611: 00                       [$00]
D0/0612: 8A                       loop end
D0/0613: FF                       end of script

; [ Animation Script $0271: Heart Hit (bg1) ]

D0/0614: 00 20                    speed 1, align to center of character/monster
D0/0616: D1 01                    invalidate character/monster sprite priority
D0/0618: 85                       move to attacker position
D0/0619: 95                       calculate vector from attacker to target
D0/061A: C9 00                    play default sound effect
D0/061C: 80 5D                    command $80/$5D
D0/061E: 98 04 02                 increment frame offset every 4 loops (0..2)
D0/0621: 00                       [$00]
D0/0622: 92 02 08                 move along vector at speed 2, branch to $061C
D0/0625: 80 4E                    clear frame offset
D0/0627: 80 5D                    command $80/$5D
D0/0629: 00                       [$00]
D0/062A: 01                       [$01]
D0/062B: 02                       [$02]
D0/062C: 03                       [$03]
D0/062D: 00                       [$00]
D0/062E: 01                       [$01]
D0/062F: 02                       [$02]
D0/0630: 03                       [$03]
D0/0631: BF 2F 07                 jump to subroutine $072F
D0/0634: FF                       end of script

; [ Animation Script $0270: Music Note Hit (bg1) ]

D0/0635: 00 20                    speed 1, align to center of character/monster
D0/0637: D1 01                    invalidate character/monster sprite priority
D0/0639: 85                       move to attacker position
D0/063A: 95                       calculate vector from attacker to target
D0/063B: C9 00                    play default sound effect
D0/063D: 80 5D                    command $80/$5D
D0/063F: 98 04 02                 increment frame offset every 4 loops (0..2)
D0/0642: 00                       [$00]
D0/0643: 92 02 08                 move along vector at speed 2, branch to $063D
D0/0646: 80 4E                    clear frame offset
D0/0648: 80 5D                    command $80/$5D
D0/064A: BF 2F 07                 jump to subroutine $072F
D0/064D: FF                       end of script

; [ Animation Script $026F: Bubble Hit (bg1) ]

D0/064E: 20 20                    speed 3, align to center of character/monster
D0/0650: C9 00                    play default sound effect
D0/0652: 83 A7                    move up/forward 8
D0/0654: 89 03                    loop start (3 times)
D0/0656: E9 0F 0F                 move animation randomly (0..15,0..15)
D0/0659: 00                       [$00]
D0/065A: 01                       [$01]
D0/065B: 02                       [$02]
D0/065C: 03                       [$03]
D0/065D: 04                       [$04]
D0/065E: 82 16 16                 change target graphic to 22 (hit)
D0/0661: 8A                       loop end
D0/0662: BF 2F 07                 jump to subroutine $072F
D0/0665: C9 FF                    play sound effect $FF
D0/0667: FF                       end of script

; [ Animation Script $026E: Bit Hit (bg1) ]

D0/0668: 20 20                    speed 3, align to center of character/monster
D0/066A: C9 00                    play default sound effect
D0/066C: 82 16 16                 change target graphic to 22 (hit)
D0/066F: 83 64                    move forward 5
D0/0671: 8B 0B                    animated loop start (11 times, increment frame offset each time)
D0/0673: 00                       [$00]
D0/0674: 8C                       animated loop end
D0/0675: BF 2F 07                 jump to subroutine $072F
D0/0678: FF                       end of script

; [ Animation Script $026D: Vertical Hit (bg1) ]

D0/0679: 20 20                    speed 3, align to center of character/monster
D0/067B: C9 00                    play default sound effect
D0/067D: 82 16 16                 change target graphic to 22 (hit)
D0/0680: 83 64                    move forward 5
D0/0682: 00                       [$00]
D0/0683: 01                       [$01]
D0/0684: 02                       [$02]
D0/0685: 03                       [$03]
D0/0686: 04                       [$04]
D0/0687: BF 2F 07                 jump to subroutine $072F
D0/068A: FF                       end of script

; [ Animation Script $026C: Star Hit (bg1) ]

D0/068B: 30 20                    speed 4, align to center of character/monster
D0/068D: C9 00                    play default sound effect
D0/068F: 82 16 16                 change target graphic to 22 (hit)
D0/0692: 00                       [$00]
D0/0693: 01                       [$01]
D0/0694: 02                       [$02]
D0/0695: 03                       [$03]
D0/0696: BF 2F 07                 jump to subroutine $072F
D0/0699: FF                       end of script

; [ Animation Script $026B: Blue Slime Hit (bg1) ]

D0/069A: 40 00                    speed 5, align to bottom of character/monster
D0/069C: C9 00                    play default sound effect
D0/069E: 83 20                    move down 1
D0/06A0: 0A                       [$0A]
D0/06A1: 09                       [$09]
D0/06A2: 08                       [$08]
D0/06A3: 07                       [$07]
D0/06A4: 06                       [$06]
D0/06A5: 05                       [$05]
D0/06A6: 83 67                    move forward 8
D0/06A8: 04                       [$04]
D0/06A9: 03                       [$03]
D0/06AA: 02                       [$02]
D0/06AB: 01                       [$01]
D0/06AC: 00                       [$00]
D0/06AD: 00                       [$00]
D0/06AE: 00                       [$00]
D0/06AF: 00                       [$00]
D0/06B0: 00                       [$00]
D0/06B1: 00                       [$00]
D0/06B2: 01                       [$01]
D0/06B3: 02                       [$02]
D0/06B4: 03                       [$03]
D0/06B5: 04                       [$04]
D0/06B6: 83 87                    move back 8
D0/06B8: 05                       [$05]
D0/06B9: 06                       [$06]
D0/06BA: 07                       [$07]
D0/06BB: 08                       [$08]
D0/06BC: 09                       [$09]
D0/06BD: 0A                       [$0A]
D0/06BE: BF 2F 07                 jump to subroutine $072F
D0/06C1: FF                       end of script

; [ Animation Script $026A: Robot Hand Hit (bg1) ]

D0/06C2: 00 20                    speed 1, align to center of character/monster
D0/06C4: C9 00                    play default sound effect
D0/06C6: 85                       move to attacker position
D0/06C7: 95                       calculate vector from attacker to target
D0/06C8: 00                       [$00]
D0/06C9: C1 08 03                 command $C1
D0/06CC: 82 16 16                 change target graphic to 22 (hit)
D0/06CF: 87 67                    move target forward 8
D0/06D1: 00                       [$00]
D0/06D2: C1 08 03                 command $C1
D0/06D5: 89 04                    loop start (4 times)
D0/06D7: 87 60                    move target forward 1
D0/06D9: 83 60                    move forward 1
D0/06DB: 0F                       [$0F]
D0/06DC: 87 80                    move target back 1
D0/06DE: 83 80                    move back 1
D0/06E0: 0F                       [$0F]
D0/06E1: 8A                       loop end
D0/06E2: 87 87                    move target back 8
D0/06E4: 82 00 00                 change target graphic to 0 (no action)
D0/06E7: FF                       end of script

; [ Animation Script $0269: Beam Hit (bg1) ]

D0/06E8: 00 00                    speed 1, align to bottom of character/monster
D0/06EA: 82 16 16                 change target graphic to 22 (hit)
D0/06ED: 83 24                    move down 5
D0/06EF: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/06F1: C9 00                    play default sound effect
D0/06F3: 89 0F                    loop start (15 times)
D0/06F5: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/06F8: 00                       [$00]
D0/06F9: CF F2                    decrease bg1 animation palette color subtraction by 2 (black)
D0/06FB: 8A                       loop end
D0/06FC: 89 30                    loop start (48 times)
D0/06FE: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/0701: 00                       [$00]
D0/0702: 8A                       loop end
D0/0703: 82 00 00                 change target graphic to 0 (no action)
D0/0706: 89 0F                    loop start (15 times)
D0/0708: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/070B: 00                       [$00]
D0/070C: CF E2                    increase bg1 animation palette color subtraction by 2 (black)
D0/070E: 8A                       loop end
D0/070F: FF                       end of script

; [ Animation Script $0268: Lightning Hit (bg1) ]

D0/0710: 20 00                    speed 3, align to bottom of character/monster
D0/0712: C9 00                    play default sound effect
D0/0714: 8B 05                    animated loop start (5 times, increment frame offset each time)
D0/0716: 00                       [$00]
D0/0717: 8C                       animated loop end
D0/0718: BF 2F 07                 jump to subroutine $072F
D0/071B: FF                       end of script

; [ Animation Script $0266: Bone Hit (bg1) ]

D0/071C: 00 20                    speed 1, align to center of character/monster
D0/071E: C9 00                    play default sound effect
D0/0720: 85                       move to attacker position
D0/0721: 95                       calculate vector from attacker to target
D0/0722: 98 02 04                 increment frame offset every 2 loops (0..4)
D0/0725: 00                       [$00]
D0/0726: 92 08 06                 move along vector at speed 8, branch to $0722
D0/0729: 80 4E                    clear frame offset
D0/072B: BF 2F 07                 jump to subroutine $072F
D0/072E: FF                       end of script

D0/072F: 84 01                    set animation speed to 2
D0/0731: 82 16 16                 change target graphic to 22 (hit)
D0/0734: 89 03                    loop start (3 times)
D0/0736: 87 60                    move target forward 1
D0/0738: 0F                       [$0F]
D0/0739: 87 80                    move target back 1
D0/073B: 0F                       [$0F]
D0/073C: 8A                       loop end
D0/073D: 82 00 00                 change target graphic to 0 (no action)
D0/0740: C0                       return from subroutine

; [ Animation Script $0265: Hammer Hit (bg1) ]

D0/0741: 40 40                    speed 5, align to top of character/monster
D0/0743: 83 CB                    move up 12
D0/0745: 83 8B                    move back 12
D0/0747: C9 00                    play default sound effect
D0/0749: 82 16 16                 change target graphic to 22 (hit)
D0/074C: 00                       [$00]
D0/074D: 83 67                    move forward 8
D0/074F: 89 03                    loop start (3 times)
D0/0751: 01                       [$01]
D0/0752: 8A                       loop end
D0/0753: 82 00 00                 change target graphic to 0 (no action)
D0/0756: FF                       end of script

; [ Animation Script $0264: Ink Hit (bg1) ]

D0/0757: 20 20                    speed 3, align to center of character/monster
D0/0759: 80 49                    command $80/$49
D0/075B: 83 8F                    move back 16
D0/075D: 82 16 16                 change target graphic to 22 (hit)
D0/0760: C9 00                    play default sound effect
D0/0762: 8B 05                    animated loop start (5 times, increment frame offset each time)
D0/0764: 00                       [$00]
D0/0765: 8C                       animated loop end
D0/0766: 82 00 00                 change target graphic to 0 (no action)
D0/0769: FF                       end of script

; [ Animation Script $0263: Needles Hit (bg1) ]

D0/076A: 00 20                    speed 1, align to center of character/monster
D0/076C: C9 00                    play default sound effect
D0/076E: 83 9F                    move back 32
D0/0770: 83 9F                    move back 32
D0/0772: 83 9F                    move back 32
D0/0774: 89 0B                    loop start (11 times)
D0/0776: 83 67                    move forward 8
D0/0778: 00                       [$00]
D0/0779: 8A                       loop end
D0/077A: 82 16 16                 change target graphic to 22 (hit)
D0/077D: 83 C7                    move up 8
D0/077F: 83 9F                    move back 32
D0/0781: 83 9F                    move back 32
D0/0783: 89 03                    loop start (3 times)
D0/0785: 83 67                    move forward 8
D0/0787: 87 60                    move target forward 1
D0/0789: 00                       [$00]
D0/078A: 83 67                    move forward 8
D0/078C: 87 80                    move target back 1
D0/078E: 00                       [$00]
D0/078F: 8A                       loop end
D0/0790: 83 2F                    move down 16
D0/0792: 83 9F                    move back 32
D0/0794: 83 9F                    move back 32
D0/0796: 89 03                    loop start (3 times)
D0/0798: 83 67                    move forward 8
D0/079A: 87 60                    move target forward 1
D0/079C: 00                       [$00]
D0/079D: 83 67                    move forward 8
D0/079F: 87 80                    move target back 1
D0/07A1: 00                       [$00]
D0/07A2: 8A                       loop end
D0/07A3: 82 00 00                 change target graphic to 0 (no action)
D0/07A6: FF                       end of script

; [ Animation Script $00DB: Sketch (bg1) ]

D0/07A7: 00 20                    speed 1, align to center of character/monster
D0/07A9: 80 72 03                 branch to $07AF if attack hit
D0/07AC: FA E2 07                 jump to $07E2
D0/07AF: BD A0                    hide bg1 thread
D0/07B1: 0F                       [$0F]
D0/07B2: 0F                       [$0F]
D0/07B3: F7 A0                    wait until scanline 160
D0/07B5: 80 46 28                 command $80/$46
D0/07B8: 85                       move to attacker position
D0/07B9: 80 19                    command $80/$19
D0/07BB: F7 A0                    wait until scanline 160
D0/07BD: 80 3E 17                 enable (sprites, bg3, bg2, bg1) in main screen
D0/07C0: 80 18                    load sketched monster palette
D0/07C2: EA 84                    set bg1 tile data quadrant to 4
D0/07C4: 83 7F                    move forward 32
D0/07C6: 83 7F                    move forward 32
D0/07C8: 83 C3                    move up 4
D0/07CA: BD 80                    show bg1 thread
D0/07CC: 01                       [$01]
D0/07CD: BD A0                    hide bg1 thread
D0/07CF: 89 5F                    loop start (95 times)
D0/07D1: 01                       [$01]
D0/07D2: 8A                       loop end
D0/07D3: 89 10                    loop start (16 times)
D0/07D5: F7 A0                    wait until scanline 160
D0/07D7: 80 3E 17                 enable (sprites, bg3, bg2, bg1) in main screen
D0/07DA: 01                       [$01]
D0/07DB: F7 A0                    wait until scanline 160
D0/07DD: 80 3E 16                 enable (sprites, bg3, bg2) in main screen
D0/07E0: 01                       [$01]
D0/07E1: 8A                       loop end
D0/07E2: F7 A0                    wait until scanline 160
D0/07E4: 80 3E 16                 enable (sprites, bg3, bg2) in main screen
D0/07E7: BD 80                    show bg1 thread
D0/07E9: EA 84                    set bg1 tile data quadrant to 4
D0/07EB: 0F                       [$0F]
D0/07EC: EA 81                    set bg1 tile data quadrant to 1
D0/07EE: 0F                       [$0F]
D0/07EF: EA 82                    set bg1 tile data quadrant to 2
D0/07F1: 0F                       [$0F]
D0/07F2: EA 83                    set bg1 tile data quadrant to 3
D0/07F4: 0F                       [$0F]
D0/07F5: F7 A0                    wait until scanline 160
D0/07F7: 80 46 0C                 command $80/$46
D0/07FA: FF                       end of script

; [ Animation Script $0262:  ]

D0/07FB: 00 00                    speed 1, align to bottom of character/monster
D0/07FD: 80 72 01                 branch to $0801 if attack hit
D0/0800: FF                       end of script

D0/0801: 85                       move to attacker position
D0/0802: 83 7F                    move forward 32
D0/0804: 83 7F                    move forward 32
D0/0806: 83 9F                    move back 32
D0/0808: 83 9F                    move back 32
D0/080A: 83 20                    move down 1
D0/080C: F7 A0                    wait until scanline 160
D0/080E: D4 02 04 12              add (sprites, bg2) to (bg3)
D0/0812: AD 87                    set bg3 hdma scroll type to 7
D0/0814: AC 22 47                 set (bg3) hdma scroll data (amplitude 7, frequency 2, horizontal)
D0/0817: 80 6F                    command $80/$6F
D0/0819: 00                       [$00]
D0/081A: EA 41                    set bg3 tile data quadrant to 1
D0/081C: 01                       [$01]
D0/081D: 89 40                    loop start (64 times)
D0/081F: 83 63                    move forward 4
D0/0821: AE 41                    update (bg3) hdma scroll data (horizontal)
D0/0823: 80 70                    command $80/$70
D0/0825: 00                       [$00]
D0/0826: 80 3E 17                 enable (sprites, bg3, bg2, bg1) in main screen
D0/0829: 8A                       loop end
D0/082A: F7 A0                    wait until scanline 160
D0/082C: 80 1A 01                 command $80/$1A
D0/082F: AD 85                    set bg3 hdma scroll type to 5
D0/0831: 80 24                    clear bg3 hdma scroll data
D0/0833: EA 41                    set bg3 tile data quadrant to 1
D0/0835: 09                       [$09]
D0/0836: FF                       end of script

; [ Animation Script $0261: Confuser (sprite) ]

D0/0837: 20 20                    speed 3, align to center of character/monster
D0/0839: 89 07                    loop start (7 times)
D0/083B: 1F                       [---]
D0/083C: 8A                       loop end
D0/083D: 80 72 01                 branch to $0841 if attack hit
D0/0840: FF                       end of script

D0/0841: 89 07                    loop start (7 times)
D0/0843: D5 01                    flip target monster horizontally
D0/0845: 1F                       [---]
D0/0846: 1F                       [---]
D0/0847: D5 01                    flip target monster horizontally
D0/0849: 1F                       [---]
D0/084A: 1F                       [---]
D0/084B: 8A                       loop end
D0/084C: FF                       end of script

; [ Animation Script $0260: Engulf (sprite) ]

D0/084D: 00 20                    speed 1, align to center of character/monster
D0/084F: 80 7C                    command $80/$7C
D0/0851: 85                       move to attacker position
D0/0852: 89 1F                    loop start (31 times)
D0/0854: 86 62                    move attacker forward 3
D0/0856: 1F                       [---]
D0/0857: 86 82                    move attacker back 3
D0/0859: 1F                       [---]
D0/085A: 8A                       loop end
D0/085B: 80 72 01                 branch to $085F if attack hit
D0/085E: FF                       end of script

D0/085F: E7                       calculate vector from attacking character to target
D0/0860: 1F                       [---]
D0/0861: E5 0C 03 00              move character forward along vector at speed 12 and height 0, branch to $0860
D0/0865: E1 00                    hide attacking character sprite
D0/0867: FF                       end of script

; [ Animation Script $025E: Engulf (bg1) ]

D0/0868: 00 20                    speed 1, align to center of character/monster
D0/086A: 85                       move to attacker position
D0/086B: 83 7F                    move forward 32
D0/086D: 83 7F                    move forward 32
D0/086F: 89 80                    loop start (128 times)
D0/0871: 00                       [$00]
D0/0872: 8A                       loop end
D0/0873: FF                       end of script

; [ Animation Script $025F: Engulf (bg3) ]

D0/0874: 00 20                    speed 1, align to center of character/monster
D0/0876: C9 00                    play default sound effect
D0/0878: 85                       move to attacker position
D0/0879: 83 7F                    move forward 32
D0/087B: 83 7F                    move forward 32
D0/087D: 83 20                    move down 1
D0/087F: 89 80                    loop start (128 times)
D0/0881: A4 17 31                 shift colors (1..8) of bg1 animation/esper palette right (3 loops per shift)
D0/0884: 00                       [$00]
D0/0885: 8A                       loop end
D0/0886: FF                       end of script

; [ Animation Script $025C: Misc. Monster Animation $06: Characters Run Right to Left (bg1) ]

D0/0887: 00 20                    speed 1, align to center of character/monster
D0/0889: D1 01                    invalidate character/monster sprite priority
D0/088B: 89 37                    loop start (55 times)
D0/088D: 80 79                    command $80/$79
D0/088F: 0F                       [$0F]
D0/0890: 8A                       loop end
D0/0891: 80 7B                    command $80/$7B
D0/0893: FF                       end of script

; [ Animation Script $025D: Misc. Monster Animation $05: Characters Run Left to Right (bg1) ]

D0/0894: 00 20                    speed 1, align to center of character/monster
D0/0896: D1 01                    invalidate character/monster sprite priority
D0/0898: 89 37                    loop start (55 times)
D0/089A: 80 7A                    command $80/$7A
D0/089C: 0F                       [$0F]
D0/089D: 8A                       loop end
D0/089E: 80 7B                    command $80/$7B
D0/08A0: FF                       end of script

; [ Animation Script $025B: Discard (sprite) ]

D0/08A1: 00 20                    speed 1, align to center of character/monster
D0/08A3: 80 72 01                 branch to $08A7 if attack hit
D0/08A6: FF                       end of script

D0/08A7: 80 78                    command $80/$78
D0/08A9: 1F                       [---]
D0/08AA: FF                       end of script

; [ Animation Script $00F1: Spin Edge (bg1) ]

D0/08AB: 10 20                    speed 2, align to center of character/monster
D0/08AD: 83 CF                    move up 16
D0/08AF: 8B 04                    animated loop start (4 times, increment frame offset each time)
D0/08B1: 00                       [$00]
D0/08B2: 8C                       animated loop end
D0/08B3: 83 2F                    move down 16
D0/08B5: 8B 04                    animated loop start (4 times, increment frame offset each time)
D0/08B7: 00                       [$00]
D0/08B8: 8C                       animated loop end
D0/08B9: 83 2F                    move down 16
D0/08BB: 8B 04                    animated loop start (4 times, increment frame offset each time)
D0/08BD: 00                       [$00]
D0/08BE: 8C                       animated loop end
D0/08BF: FF                       end of script

; [ Animation Script $01DD: Spin Edge (sprite) ]

D0/08C0: 00 00                    speed 1, align to bottom of character/monster
D0/08C2: C7 02                    save attacking character position
D0/08C4: C9 00                    play default sound effect
D0/08C6: 81 07 07                 change attacker graphic to 7 (jumping)
D0/08C9: 85                       move to attacker position
D0/08CA: E7                       calculate vector from attacking character to target
D0/08CB: 1F                       [---]
D0/08CC: E5 0C 03 10              move character forward along vector at speed 12 and height 16, branch to $08CB
D0/08D0: 81 00 00                 change attacker graphic to 0 (no action)
D0/08D3: 83 24                    move down 5
D0/08D5: C2 80                    unpause bg1 thread
D0/08D7: 89 05                    loop start (5 times)
D0/08D9: C9 2E                    play sound effect $2E
D0/08DB: 81 04 04                 change attacker graphic to 4 (walking forward, frame 1)
D0/08DE: 00                       [$00]
D0/08DF: 00                       [$00]
D0/08E0: 83 8A                    move back 11
D0/08E2: 81 03 03                 change attacker graphic to 3 (walking down, frame 3)
D0/08E5: 01                       [$01]
D0/08E6: 01                       [$01]
D0/08E7: 83 92                    move back 19
D0/08E9: 81 36 36                 change attacker graphic to 6 (walking forward, frame 3)
D0/08EC: 02                       [$02]
D0/08ED: 02                       [$02]
D0/08EE: 83 7D                    move forward 30
D0/08F0: 81 10 10                 change attacker graphic to 16 (walking up, frame 3)
D0/08F3: 1F                       [---]
D0/08F4: 1F                       [---]
D0/08F5: 8A                       loop end
D0/08F6: 81 37 37                 change attacker graphic to 7 (jumping)
D0/08F9: 1F                       [---]
D0/08FA: E6 0C 03 10              move character backward along vector at speed 12 and height 16, branch to $08F9
D0/08FE: C7 03                    restore attacking character position and reset offsets
D0/0900: C8 00                    change attacker action to 0 (no action)
D0/0902: 81 00 00                 change attacker graphic to 0 (no action)
D0/0905: FF                       end of script

; [ Animation Script $025A: UMARO's throw (sprite) ]

D0/0906: 00 20                    speed 1, align to center of character/monster
D0/0908: C7 02                    save attacking character position
D0/090A: C9 00                    play default sound effect
D0/090C: 81 07 07                 change attacker graphic to 7 (jumping)
D0/090F: 85                       move to attacker position
D0/0910: E7                       calculate vector from attacking character to target
D0/0911: 1F                       [---]
D0/0912: E5 04 03 10              move character forward along vector at speed 4 and height 16, branch to $0911
D0/0916: 81 07 07                 change attacker graphic to 7 (jumping)
D0/0919: 1F                       [---]
D0/091A: 1F                       [---]
D0/091B: 1F                       [---]
D0/091C: 1F                       [---]
D0/091D: C2 80                    unpause bg1 thread
D0/091F: 81 06 06                 change attacker graphic to 6 (walking forward, frame 3)
D0/0922: 89 10                    loop start (16 times)
D0/0924: 1F                       [---]
D0/0925: 8A                       loop end
D0/0926: 81 37 37                 change attacker graphic to 7 (jumping)
D0/0929: 1F                       [---]
D0/092A: E6 04 03 10              move character backward along vector at speed 4 and height 16, branch to $0929
D0/092E: C7 03                    restore attacking character position and reset offsets
D0/0930: C8 00                    change attacker action to 0 (no action)
D0/0932: 81 00 00                 change attacker graphic to 0 (no action)
D0/0935: FF                       end of script

; [ Animation Script $0227: UMARO's throw (bg1) ]

D0/0936: 00 20                    speed 1, align to center of character/monster
D0/0938: C7 02                    save attacking character position
D0/093A: C9 00                    play default sound effect
D0/093C: 85                       move to attacker position
D0/093D: E7                       calculate vector from attacking character to target
D0/093E: 81 14 14                 change attacker graphic to 20 (kneeling)
D0/0941: 0F                       [$0F]
D0/0942: E5 0C 03 00              move character forward along vector at speed 12 and height 0, branch to $0941
D0/0946: C9 DB                    play sound effect $DB
D0/0948: 89 07                    loop start (7 times)
D0/094A: 87 61                    move target forward 2
D0/094C: 0F                       [$0F]
D0/094D: 87 81                    move target back 2
D0/094F: 0F                       [$0F]
D0/0950: 8A                       loop end
D0/0951: 81 37 37                 change attacker graphic to 7 (jumping)
D0/0954: 0F                       [$0F]
D0/0955: E6 0C 03 20              move character backward along vector at speed 12 and height 32, branch to $0954
D0/0959: 81 00 00                 change attacker graphic to 0 (no action)
D0/095C: C7 03                    restore attacking character position and reset offsets
D0/095E: C8 00                    change attacker action to 0 (no action)
D0/0960: 81 00 00                 change attacker graphic to 0 (no action)
D0/0963: FF                       end of script

; [ Animation Script $0258: Capture-to (sprite) ]

D0/0964: 00 E0                    speed 1, align to character
D0/0966: C7 02                    save attacking character position
D0/0968: 85                       move to attacker position
D0/0969: E7                       calculate vector from attacking character to target
D0/096A: C7 09                    update character action based on vector direction (arms up)
D0/096C: 1F                       [---]
D0/096D: E5 0C 03 20              move character forward along vector at speed 12 and height 32, branch to $096C
D0/0971: C7 01                    reset attacking character position offsets
D0/0973: 81 14 14                 change attacker graphic to 20 (kneeling)
D0/0976: FF                       end of script

; [ Animation Script $0259: Capture-from (sprite) ]

D0/0977: 00 E0                    speed 1, align to character
D0/0979: C7 04                    restore attacking character position
D0/097B: C8 00                    change attacker action to 0 (no action)
D0/097D: 81 00 00                 change attacker graphic to 0 (no action)
D0/0980: E7                       calculate vector from attacking character to target
D0/0981: C7 09                    update character action based on vector direction (arms up)
D0/0983: 1F                       [---]
D0/0984: E5 0C 03 20              move character forward along vector at speed 12 and height 32, branch to $0983
D0/0988: C7 03                    restore attacking character position and reset offsets
D0/098A: C8 00                    change attacker action to 0 (no action)
D0/098C: 81 00 00                 change attacker graphic to 0 (no action)
D0/098F: FF                       end of script

; [ Animation Script $0226: UMARO's tackle (sprite) ]

D0/0990: 00 20                    speed 1, align to center of character/monster
D0/0992: DB 03                    branch to $0997 if character already stepped forward to attack
D0/0994: BF 19 70                 jump to subroutine $7019
D0/0997: 81 07 07                 change attacker graphic to 7 (jumping)
D0/099A: C9 00                    play default sound effect
D0/099C: 85                       move to attacker position
D0/099D: E7                       calculate vector from attacking character to target
D0/099E: 1F                       [---]
D0/099F: E5 08 03 00              move character forward along vector at speed 8 and height 0, branch to $099E
D0/09A3: C9 A9                    play sound effect $A9
D0/09A5: 89 07                    loop start (7 times)
D0/09A7: 87 61                    move target forward 2
D0/09A9: 1F                       [---]
D0/09AA: 87 81                    move target back 2
D0/09AC: 1F                       [---]
D0/09AD: 8A                       loop end
D0/09AE: 81 37 37                 change attacker graphic to 7 (jumping)
D0/09B1: 1F                       [---]
D0/09B2: E6 08 03 20              move character backward along vector at speed 8 and height 32, branch to $09B1
D0/09B6: 81 00 00                 change attacker graphic to 0 (no action)
D0/09B9: FF                       end of script

; [ Animation Script $020E: Super Ball (sprite) ]

D0/09BA: 00 20                    speed 1, align to center of character/monster
D0/09BC: D1 01                    invalidate character/monster sprite priority
D0/09BE: 89 18                    loop start (24 times)
D0/09C0: 1F                       [---]
D0/09C1: 8A                       loop end
D0/09C2: C9 00                    play default sound effect
D0/09C4: 85                       move to attacker position
D0/09C5: 83 77                    move forward 24
D0/09C7: 95                       calculate vector from attacker to target
D0/09C8: 80 75 60 08 80           command $80/$75
D0/09CD: 00                       [$00]
D0/09CE: C1 04 08                 command $C1
D0/09D1: 80 3B                    change target's color palette to animation palette
D0/09D3: 00                       [$00]
D0/09D4: 80 3C                    restore target's color palette
D0/09D6: 80 75 60 08 80           command $80/$75
D0/09DB: 00                       [$00]
D0/09DC: C1 04 08                 command $C1
D0/09DF: FF                       end of script

; [ Animation Script $0253: Misc. Monster Animation $04 (sprite) ]

D0/09E0: 00 20                    speed 1, align to center of character/monster
D0/09E2: 87 67                    move target forward 8
D0/09E4: 1F                       [---]
D0/09E5: FF                       end of script

; [ Animation Script $0254: Misc. Monster Animation $03 (sprite) ]

D0/09E6: 00 20                    speed 1, align to center of character/monster
D0/09E8: 87 87                    move target back 8
D0/09EA: 1F                       [---]
D0/09EB: FF                       end of script

; [ Animation Script $0012: Dice, Fixed Dice (sprite) ]

D0/09EC: 00 20                    speed 1, align to center of character/monster
D0/09EE: 85                       move to attacker position
D0/09EF: 95                       calculate vector from attacker to target
D0/09F0: EB                       jump based on thread ($09F9, $0A6A, $0ACD, $0B31)
D0/09F9: D1 01                    invalidate character/monster sprite priority
D0/09FB: BF 19 70                 jump to subroutine $7019
D0/09FE: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/0A01: 1F                       [---]
D0/0A02: 1F                       [---]
D0/0A03: 1F                       [---]
D0/0A04: 1F                       [---]
D0/0A05: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/0A08: C9 00                    play default sound effect
D0/0A0A: 00                       [$00]
D0/0A0B: 92 06 03                 move along vector at speed 6, branch to $0A0A
D0/0A0E: C9 F3                    play sound effect $F3
D0/0A10: 81 00 00                 change attacker graphic to 0 (no action)
D0/0A13: 00                       [$00]
D0/0A14: 83 81                    move back 2
D0/0A16: 83 C3                    move up 4
D0/0A18: 00                       [$00]
D0/0A19: 83 81                    move back 2
D0/0A1B: 83 C3                    move up 4
D0/0A1D: 01                       [$01]
D0/0A1E: 83 81                    move back 2
D0/0A20: 83 C2                    move up 3
D0/0A22: 01                       [$01]
D0/0A23: 83 81                    move back 2
D0/0A25: 83 C1                    move up 2
D0/0A27: 01                       [$01]
D0/0A28: 83 81                    move back 2
D0/0A2A: 83 C0                    move up 1
D0/0A2C: 02                       [$02]
D0/0A2D: 83 81                    move back 2
D0/0A2F: 83 C0                    move up 1
D0/0A31: 02                       [$02]
D0/0A32: 83 81                    move back 2
D0/0A34: 83 C0                    move up 1
D0/0A36: 02                       [$02]
D0/0A37: 83 81                    move back 2
D0/0A39: 83 21                    move down 2
D0/0A3B: 01                       [$01]
D0/0A3C: 83 81                    move back 2
D0/0A3E: 83 21                    move down 2
D0/0A40: 01                       [$01]
D0/0A41: 83 81                    move back 2
D0/0A43: 83 22                    move down 3
D0/0A45: 01                       [$01]
D0/0A46: 83 81                    move back 2
D0/0A48: 83 22                    move down 3
D0/0A4A: 00                       [$00]
D0/0A4B: 83 81                    move back 2
D0/0A4D: 83 22                    move down 3
D0/0A4F: 00                       [$00]
D0/0A50: 83 81                    move back 2
D0/0A52: 83 22                    move down 3
D0/0A54: 00                       [$00]
D0/0A55: 83 81                    move back 2
D0/0A57: 83 22                    move down 3
D0/0A59: 03                       [$03]
D0/0A5A: 83 81                    move back 2
D0/0A5C: 83 22                    move down 3
D0/0A5E: 03                       [$03]
D0/0A5F: 80 73 01                 set graphics for dice roll (die 1)
D0/0A62: 89 40                    loop start (64 times)
D0/0A64: 00                       [$00]
D0/0A65: 8A                       loop end
D0/0A66: BF 40 70                 jump to subroutine $7040
D0/0A69: FF                       end of script

D0/0A6A: DB 06                    branch to $0A72 if character already stepped forward to attack
D0/0A6C: 83 77                    move forward 24
D0/0A6E: 89 0B                    loop start (11 times)
D0/0A70: 1F                       [---]
D0/0A71: 8A                       loop end
D0/0A72: 1F                       [---]
D0/0A73: 1F                       [---]
D0/0A74: 1F                       [---]
D0/0A75: 01                       [$01]
D0/0A76: 92 06 03                 move along vector at speed 6, branch to $0A75
D0/0A79: 02                       [$02]
D0/0A7A: 83 80                    move back 1
D0/0A7C: 83 C4                    move up 5
D0/0A7E: 02                       [$02]
D0/0A7F: 83 80                    move back 1
D0/0A81: 83 C3                    move up 4
D0/0A83: 02                       [$02]
D0/0A84: 83 80                    move back 1
D0/0A86: 83 C2                    move up 3
D0/0A88: 03                       [$03]
D0/0A89: 83 80                    move back 1
D0/0A8B: 83 C1                    move up 2
D0/0A8D: 03                       [$03]
D0/0A8E: 83 80                    move back 1
D0/0A90: 83 C0                    move up 1
D0/0A92: 03                       [$03]
D0/0A93: 83 80                    move back 1
D0/0A95: 83 C0                    move up 1
D0/0A97: 00                       [$00]
D0/0A98: 83 80                    move back 1
D0/0A9A: 83 C0                    move up 1
D0/0A9C: 00                       [$00]
D0/0A9D: 83 80                    move back 1
D0/0A9F: 83 21                    move down 2
D0/0AA1: 00                       [$00]
D0/0AA2: 83 80                    move back 1
D0/0AA4: 83 22                    move down 3
D0/0AA6: 01                       [$01]
D0/0AA7: 83 80                    move back 1
D0/0AA9: 83 22                    move down 3
D0/0AAB: 01                       [$01]
D0/0AAC: 83 80                    move back 1
D0/0AAE: 83 23                    move down 4
D0/0AB0: 01                       [$01]
D0/0AB1: 83 80                    move back 1
D0/0AB3: 83 23                    move down 4
D0/0AB5: 02                       [$02]
D0/0AB6: 83 80                    move back 1
D0/0AB8: 83 24                    move down 5
D0/0ABA: 02                       [$02]
D0/0ABB: 83 80                    move back 1
D0/0ABD: 83 24                    move down 5
D0/0ABF: 02                       [$02]
D0/0AC0: 83 80                    move back 1
D0/0AC2: 83 24                    move down 5
D0/0AC4: 02                       [$02]
D0/0AC5: 80 73 02                 set graphics for dice roll (die 2)
D0/0AC8: 89 40                    loop start (64 times)
D0/0ACA: 00                       [$00]
D0/0ACB: 8A                       loop end
D0/0ACC: FF                       end of script

D0/0ACD: DB 06                    branch to $0AD5 if character already stepped forward to attack
D0/0ACF: 83 77                    move forward 24
D0/0AD1: 89 0B                    loop start (11 times)
D0/0AD3: 1F                       [---]
D0/0AD4: 8A                       loop end
D0/0AD5: 1F                       [---]
D0/0AD6: 1F                       [---]
D0/0AD7: 1F                       [---]
D0/0AD8: 1F                       [---]
D0/0AD9: 1F                       [---]
D0/0ADA: 1F                       [---]
D0/0ADB: 02                       [$02]
D0/0ADC: 92 06 03                 move along vector at speed 6, branch to $0ADB
D0/0ADF: 00                       [$00]
D0/0AE0: 83 60                    move forward 1
D0/0AE2: 83 C3                    move up 4
D0/0AE4: 00                       [$00]
D0/0AE5: 83 60                    move forward 1
D0/0AE7: 83 C3                    move up 4
D0/0AE9: 00                       [$00]
D0/0AEA: 83 60                    move forward 1
D0/0AEC: 83 C2                    move up 3
D0/0AEE: 01                       [$01]
D0/0AEF: 83 60                    move forward 1
D0/0AF1: 83 C1                    move up 2
D0/0AF3: 01                       [$01]
D0/0AF4: 83 60                    move forward 1
D0/0AF6: 83 C0                    move up 1
D0/0AF8: 01                       [$01]
D0/0AF9: 83 60                    move forward 1
D0/0AFB: 83 C0                    move up 1
D0/0AFD: 00                       [$00]
D0/0AFE: 83 60                    move forward 1
D0/0B00: 83 C0                    move up 1
D0/0B02: 00                       [$00]
D0/0B03: 83 60                    move forward 1
D0/0B05: 83 21                    move down 2
D0/0B07: 00                       [$00]
D0/0B08: 83 60                    move forward 1
D0/0B0A: 83 21                    move down 2
D0/0B0C: 01                       [$01]
D0/0B0D: 83 60                    move forward 1
D0/0B0F: 83 22                    move down 3
D0/0B11: 01                       [$01]
D0/0B12: 83 60                    move forward 1
D0/0B14: 83 22                    move down 3
D0/0B16: 01                       [$01]
D0/0B17: 83 60                    move forward 1
D0/0B19: 83 23                    move down 4
D0/0B1B: 00                       [$00]
D0/0B1C: 83 60                    move forward 1
D0/0B1E: 83 23                    move down 4
D0/0B20: 00                       [$00]
D0/0B21: 83 60                    move forward 1
D0/0B23: 83 23                    move down 4
D0/0B25: 00                       [$00]
D0/0B26: 83 60                    move forward 1
D0/0B28: 83 23                    move down 4
D0/0B2A: 80 73 00                 set graphics for dice roll (die 0)
D0/0B2D: 89 40                    loop start (64 times)
D0/0B2F: 00                       [$00]
D0/0B30: 8A                       loop end
D0/0B31: FF                       end of script

; [ Animation Script $024E: Misc. Monster Animation $02: Move Forward (sprite) ]

D0/0B32: 00 20                    speed 1, align to center of character/monster
D0/0B34: 89 07                    loop start (7 times)
D0/0B36: 1F                       [---]
D0/0B37: 1F                       [---]
D0/0B38: 87 20                    move target down 1
D0/0B3A: 1F                       [---]
D0/0B3B: 1F                       [---]
D0/0B3C: 87 C0                    move target up 1
D0/0B3E: 1F                       [---]
D0/0B3F: 1F                       [---]
D0/0B40: 87 20                    move target down 1
D0/0B42: 1F                       [---]
D0/0B43: 1F                       [---]
D0/0B44: 87 C0                    move target up 1
D0/0B46: 1F                       [---]
D0/0B47: 1F                       [---]
D0/0B48: 87 60                    move target forward 1
D0/0B4A: 8A                       loop end
D0/0B4B: FF                       end of script

; [ Animation Script $024F: Misc. Monster Animation $01: Move Back (sprite) ]

D0/0B4C: 00 20                    speed 1, align to center of character/monster
D0/0B4E: 89 07                    loop start (7 times)
D0/0B50: 1F                       [---]
D0/0B51: 1F                       [---]
D0/0B52: 87 20                    move target down 1
D0/0B54: 1F                       [---]
D0/0B55: 1F                       [---]
D0/0B56: 87 C0                    move target up 1
D0/0B58: 1F                       [---]
D0/0B59: 1F                       [---]
D0/0B5A: 87 20                    move target down 1
D0/0B5C: 1F                       [---]
D0/0B5D: 1F                       [---]
D0/0B5E: 87 C0                    move target up 1
D0/0B60: 1F                       [---]
D0/0B61: 1F                       [---]
D0/0B62: 87 80                    move target back 1
D0/0B64: 8A                       loop end
D0/0B65: FF                       end of script

; [ Animation Script $024D: Misc. Monster Animation $00/$09: Flash Red (bg1) ]

D0/0B66: 00 20                    speed 1, align to center of character/monster
D0/0B68: BD A0                    hide bg1 thread
D0/0B6A: C4 80                    move bg1 thread to this thread's position
D0/0B6C: CC 60                    set bg1 animation palette color subtraction to 0 (red)
D0/0B6E: 89 1F                    loop start (31 times)
D0/0B70: 0F                       [$0F]
D0/0B71: CF 61                    increase bg1 animation palette color subtraction by 1 (red)
D0/0B73: 8A                       loop end
D0/0B74: 89 1F                    loop start (31 times)
D0/0B76: 0F                       [$0F]
D0/0B77: 8A                       loop end
D0/0B78: 89 1F                    loop start (31 times)
D0/0B7A: 0F                       [$0F]
D0/0B7B: CF 71                    decrease bg1 animation palette color subtraction by 1 (red)
D0/0B7D: 8A                       loop end
D0/0B7E: FF                       end of script

; [ Animation Script $024B: Monster Entry $0B: Horizontal Fade (bg3) ]

D0/0B7F: 00 00                    speed 1, align to bottom of character/monster
D0/0B81: 9A                       set facing direction to match attacker
D0/0B82: C9 00                    play default sound effect
D0/0B84: 83 9F                    move back 32
D0/0B86: 83 9F                    move back 32
D0/0B88: 83 20                    move down 1
D0/0B8A: F7 A0                    wait until scanline 160
D0/0B8C: D4 02 04 12              add (sprites, bg2) to (bg3)
D0/0B90: AD 87                    set bg3 hdma scroll type to 7
D0/0B92: AC 22 47                 set (bg3) hdma scroll data (amplitude 7, frequency 2, horizontal)
D0/0B95: 80 6F                    command $80/$6F
D0/0B97: 00                       [$00]
D0/0B98: EA 41                    set bg3 tile data quadrant to 1
D0/0B9A: 01                       [$01]
D0/0B9B: 89 80                    loop start (128 times)
D0/0B9D: 83 61                    move forward 2
D0/0B9F: AE 41                    update (bg3) hdma scroll data (horizontal)
D0/0BA1: 80 70                    command $80/$70
D0/0BA3: 00                       [$00]
D0/0BA4: 80 3E 17                 enable (sprites, bg3, bg2, bg1) in main screen
D0/0BA7: 8A                       loop end
D0/0BA8: F7 A0                    wait until scanline 160
D0/0BAA: 80 1A 01                 command $80/$1A
D0/0BAD: AD 85                    set bg3 hdma scroll type to 5
D0/0BAF: 80 24                    clear bg3 hdma scroll data
D0/0BB1: EA 41                    set bg3 tile data quadrant to 1
D0/0BB3: 09                       [$09]
D0/0BB4: FF                       end of script

; [ Animation Script $024C: Monster Exit $0B: Horizontal Fade (bg3) ]

D0/0BB5: 00 00                    speed 1, align to bottom of character/monster
D0/0BB7: C9 00                    play default sound effect
D0/0BB9: 9A                       set facing direction to match attacker
D0/0BBA: 83 20                    move down 1
D0/0BBC: 89 05                    loop start (5 times)
D0/0BBE: 83 7F                    move forward 32
D0/0BC0: 8A                       loop end
D0/0BC1: F7 A0                    wait until scanline 160
D0/0BC3: D4 02 04 12              add (sprites, bg2) to (bg3)
D0/0BC7: AC 21 47                 set (bg3) hdma scroll data (amplitude 7, frequency 1, horizontal)
D0/0BCA: AD 87                    set bg3 hdma scroll type to 7
D0/0BCC: 09                       [$09]
D0/0BCD: AE 41                    update (bg3) hdma scroll data (horizontal)
D0/0BCF: 80 70                    command $80/$70
D0/0BD1: EA 41                    set bg3 tile data quadrant to 1
D0/0BD3: 01                       [$01]
D0/0BD4: 89 7F                    loop start (127 times)
D0/0BD6: 83 81                    move back 2
D0/0BD8: AE 41                    update (bg3) hdma scroll data (horizontal)
D0/0BDA: 80 70                    command $80/$70
D0/0BDC: 00                       [$00]
D0/0BDD: 80 3E 17                 enable (sprites, bg3, bg2, bg1) in main screen
D0/0BE0: 8A                       loop end
D0/0BE1: F7 A0                    wait until scanline 160
D0/0BE3: 80 3E 16                 enable (sprites, bg3, bg2) in main screen
D0/0BE6: F1 80                    hide target monster sprite
D0/0BE8: AD 85                    set bg3 hdma scroll type to 5
D0/0BEA: 80 24                    clear bg3 hdma scroll data
D0/0BEC: EA 41                    set bg3 tile data quadrant to 1
D0/0BEE: 09                       [$09]
D0/0BEF: FF                       end of script

; [ Animation Script $0249: Monster Entry $0A: Materialize (bg3) ]

D0/0BF0: 00 00                    speed 1, align to bottom of character/monster
D0/0BF2: 9A                       set facing direction to match attacker
D0/0BF3: F7 A0                    wait until scanline 160
D0/0BF5: D4 02 04 12              add (sprites, bg2) to (bg3)
D0/0BF9: AD 87                    set bg3 hdma scroll type to 7
D0/0BFB: AC 21 44                 set (bg3) hdma scroll data (amplitude 4, frequency 1, horizontal)
D0/0BFE: 80 6F                    command $80/$6F
D0/0C00: C9 00                    play default sound effect
D0/0C02: 8B 07                    animated loop start (7 times, increment frame offset each time)
D0/0C04: AE 41                    update (bg3) hdma scroll data (horizontal)
D0/0C06: 80 70                    command $80/$70
D0/0C08: 00                       [$00]
D0/0C09: 80 3E 17                 enable (sprites, bg3, bg2, bg1) in main screen
D0/0C0C: AE 41                    update (bg3) hdma scroll data (horizontal)
D0/0C0E: 80 70                    command $80/$70
D0/0C10: 00                       [$00]
D0/0C11: AE 41                    update (bg3) hdma scroll data (horizontal)
D0/0C13: 80 70                    command $80/$70
D0/0C15: 00                       [$00]
D0/0C16: AE 41                    update (bg3) hdma scroll data (horizontal)
D0/0C18: 80 70                    command $80/$70
D0/0C1A: 00                       [$00]
D0/0C1B: 8C                       animated loop end
D0/0C1C: F7 A0                    wait until scanline 160
D0/0C1E: 80 1A 01                 command $80/$1A
D0/0C21: AD 85                    set bg3 hdma scroll type to 5
D0/0C23: 80 24                    clear bg3 hdma scroll data
D0/0C25: FF                       end of script

; [ Animation Script $024A: Monster Exit $0A: Materialize (bg3) ]

D0/0C26: 00 00                    speed 1, align to bottom of character/monster
D0/0C28: C9 00                    play default sound effect
D0/0C2A: 9A                       set facing direction to match attacker
D0/0C2B: F7 A0                    wait until scanline 160
D0/0C2D: D4 02 04 12              add (sprites, bg2) to (bg3)
D0/0C31: AD 87                    set bg3 hdma scroll type to 7
D0/0C33: AC 21 44                 set (bg3) hdma scroll data (amplitude 4, frequency 1, horizontal)
D0/0C36: 09                       [$09]
D0/0C37: 8B 07                    animated loop start (7 times, increment frame offset each time)
D0/0C39: AE 41                    update (bg3) hdma scroll data (horizontal)
D0/0C3B: 80 70                    command $80/$70
D0/0C3D: 00                       [$00]
D0/0C3E: 80 3E 17                 enable (sprites, bg3, bg2, bg1) in main screen
D0/0C41: AE 41                    update (bg3) hdma scroll data (horizontal)
D0/0C43: 80 70                    command $80/$70
D0/0C45: 00                       [$00]
D0/0C46: AE 41                    update (bg3) hdma scroll data (horizontal)
D0/0C48: 80 70                    command $80/$70
D0/0C4A: 00                       [$00]
D0/0C4B: AE 41                    update (bg3) hdma scroll data (horizontal)
D0/0C4D: 80 70                    command $80/$70
D0/0C4F: 00                       [$00]
D0/0C50: 8C                       animated loop end
D0/0C51: F7 A0                    wait until scanline 160
D0/0C53: 80 3E 16                 enable (sprites, bg3, bg2) in main screen
D0/0C56: F1 80                    hide target monster sprite
D0/0C58: AD 85                    set bg3 hdma scroll type to 5
D0/0C5A: 80 24                    clear bg3 hdma scroll data
D0/0C5C: FF                       end of script

; [ Animation Script $0247: Monster Entry $09: Fade Bottom to Top (bg3) ]

D0/0C5D: 00 00                    speed 1, align to bottom of character/monster
D0/0C5F: C9 00                    play default sound effect
D0/0C61: 9A                       set facing direction to match attacker
D0/0C62: 83 3F                    move down 32
D0/0C64: 83 3F                    move down 32
D0/0C66: 83 2F                    move down 16
D0/0C68: F7 A0                    wait until scanline 160
D0/0C6A: D4 02 04 12              add (sprites, bg2) to (bg3)
D0/0C6E: AD 87                    set bg3 hdma scroll type to 7
D0/0C70: AC 21 44                 set (bg3) hdma scroll data (amplitude 4, frequency 1, horizontal)
D0/0C73: 80 6F                    command $80/$6F
D0/0C75: 89 80                    loop start (128 times)
D0/0C77: 83 C1                    move up 2
D0/0C79: AE 41                    update (bg3) hdma scroll data (horizontal)
D0/0C7B: 80 70                    command $80/$70
D0/0C7D: 00                       [$00]
D0/0C7E: 80 3E 17                 enable (sprites, bg3, bg2, bg1) in main screen
D0/0C81: 8A                       loop end
D0/0C82: F7 A0                    wait until scanline 160
D0/0C84: 80 1A 01                 command $80/$1A
D0/0C87: AD 85                    set bg3 hdma scroll type to 5
D0/0C89: 80 24                    clear bg3 hdma scroll data
D0/0C8B: FF                       end of script

; [ Animation Script $0248: Monster Exit $09: Fade Bottom to Top (bg3) ]

D0/0C8C: 00 00                    speed 1, align to bottom of character/monster
D0/0C8E: C9 00                    play default sound effect
D0/0C90: 9A                       set facing direction to match attacker
D0/0C91: F7 A0                    wait until scanline 160
D0/0C93: D4 02 04 12              add (sprites, bg2) to (bg3)
D0/0C97: AD 87                    set bg3 hdma scroll type to 7
D0/0C99: AC 21 44                 set (bg3) hdma scroll data (amplitude 4, frequency 1, horizontal)
D0/0C9C: 89 05                    loop start (5 times)
D0/0C9E: 83 3F                    move down 32
D0/0CA0: 8A                       loop end
D0/0CA1: 83 2F                    move down 16
D0/0CA3: 09                       [$09]
D0/0CA4: 89 67                    loop start (103 times)
D0/0CA6: 83 C1                    move up 2
D0/0CA8: AE 41                    update (bg3) hdma scroll data (horizontal)
D0/0CAA: 80 70                    command $80/$70
D0/0CAC: 00                       [$00]
D0/0CAD: 80 3E 17                 enable (sprites, bg3, bg2, bg1) in main screen
D0/0CB0: 8A                       loop end
D0/0CB1: F7 A0                    wait until scanline 160
D0/0CB3: 80 3E 16                 enable (sprites, bg3, bg2) in main screen
D0/0CB6: F1 80                    hide target monster sprite
D0/0CB8: AD 85                    set bg3 hdma scroll type to 5
D0/0CBA: 80 24                    clear bg3 hdma scroll data
D0/0CBC: FF                       end of script

; [ Animation Script $0244: Monster Entry $08: Fade Top to Bottom (bg3) ]

D0/0CBD: 00 00                    speed 1, align to bottom of character/monster
D0/0CBF: C9 00                    play default sound effect
D0/0CC1: 9A                       set facing direction to match attacker
D0/0CC2: F7 A0                    wait until scanline 160
D0/0CC4: D4 02 04 12              add (sprites, bg2) to (bg3)
D0/0CC8: AD 87                    set bg3 hdma scroll type to 7
D0/0CCA: AC 21 44                 set (bg3) hdma scroll data (amplitude 4, frequency 1, horizontal)
D0/0CCD: 80 6F                    command $80/$6F
D0/0CCF: 89 7F                    loop start (127 times)
D0/0CD1: 83 21                    move down 2
D0/0CD3: AE 41                    update (bg3) hdma scroll data (horizontal)
D0/0CD5: 80 70                    command $80/$70
D0/0CD7: 00                       [$00]
D0/0CD8: 80 3E 17                 enable (sprites, bg3, bg2, bg1) in main screen
D0/0CDB: 8A                       loop end
D0/0CDC: F7 A0                    wait until scanline 160
D0/0CDE: 80 1A 01                 command $80/$1A
D0/0CE1: AD 85                    set bg3 hdma scroll type to 5
D0/0CE3: 80 24                    clear bg3 hdma scroll data
D0/0CE5: FF                       end of script

; [ Animation Script $0245: Monster Exit $08: Fade Top to Bottom (bg3) ]

D0/0CE6: 00 40                    speed 1, align to top of character/monster
D0/0CE8: C9 00                    play default sound effect
D0/0CEA: 9A                       set facing direction to match attacker
D0/0CEB: F7 A0                    wait until scanline 160
D0/0CED: D4 02 04 12              add (sprites, bg2) to (bg3)
D0/0CF1: AD 87                    set bg3 hdma scroll type to 7
D0/0CF3: AC 21 44                 set (bg3) hdma scroll data (amplitude 4, frequency 1, horizontal)
D0/0CF6: 89 05                    loop start (5 times)
D0/0CF8: 83 DF                    move up 32
D0/0CFA: 8A                       loop end
D0/0CFB: 83 CF                    move up 16
D0/0CFD: 09                       [$09]
D0/0CFE: 89 88                    loop start (136 times)
D0/0D00: 83 21                    move down 2
D0/0D02: AE 41                    update (bg3) hdma scroll data (horizontal)
D0/0D04: 80 70                    command $80/$70
D0/0D06: 00                       [$00]
D0/0D07: 80 3E 17                 enable (sprites, bg3, bg2, bg1) in main screen
D0/0D0A: 8A                       loop end
D0/0D0B: F7 A0                    wait until scanline 160
D0/0D0D: 80 3E 16                 enable (sprites, bg3, bg2) in main screen
D0/0D10: F1 80                    hide target monster sprite
D0/0D12: AD 85                    set bg3 hdma scroll type to 5
D0/0D14: 80 24                    clear bg3 hdma scroll data
D0/0D16: FF                       end of script

; [ Animation Script $0243:  ]

D0/0D17: 00 20                    speed 1, align to center of character/monster
D0/0D19: DB 03                    branch to $0D1E if character already stepped forward to attack
D0/0D1B: BF 67 70                 jump to subroutine $7067
D0/0D1E: FF                       end of script

; [ Animation Script $0242: Monster Entry $0E: Chadarnook (sprite) ]

D0/0D1F: 00 20                    speed 1, align to center of character/monster
D0/0D21: C9 00                    play default sound effect
D0/0D23: 83 CC                    move up 13
D0/0D25: 83 86                    move back 7
D0/0D27: 82 07 07                 change target graphic to 7 (jumping)
D0/0D2A: 1F                       [---]
D0/0D2B: 1F                       [---]
D0/0D2C: 1F                       [---]
D0/0D2D: 89 1F                    loop start (31 times)
D0/0D2F: 00                       [$00]
D0/0D30: 8A                       loop end
D0/0D31: 82 00 00                 change target graphic to 0 (no action)
D0/0D34: FF                       end of script

; [ Animation Script $0246: Lifeshaver (bg1) ]

D0/0D35: 00 00                    speed 1, align to bottom of character/monster
D0/0D37: EE 20                    set target sprite tile priority to 2
D0/0D39: D1 01                    invalidate character/monster sprite priority
D0/0D3B: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/0D3D: 89 08                    loop start (8 times)
D0/0D3F: 83 2F                    move down 16
D0/0D41: 8A                       loop end
D0/0D42: 00                       [$00]
D0/0D43: BD A0                    hide bg1 thread
D0/0D45: C9 00                    play default sound effect
D0/0D47: 89 1F                    loop start (31 times)
D0/0D49: CF F1                    decrease bg1 animation palette color subtraction by 1 (black)
D0/0D4B: A3 16 32                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/0D4E: 00                       [$00]
D0/0D4F: BD A0                    hide bg1 thread
D0/0D51: 8A                       loop end
D0/0D52: 89 08                    loop start (8 times)
D0/0D54: 82 07 17                 change target graphic to 7 (jumping) if facing left or 23 (hands up, facing down) if facing right
D0/0D57: A3 16 32                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/0D5A: 00                       [$00]
D0/0D5B: A3 16 32                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/0D5E: 00                       [$00]
D0/0D5F: 82 18 37                 change target graphic to 24 (hands up, facing up) if facing left or 7 (jumping) if facing right
D0/0D62: A3 16 32                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/0D65: 00                       [$00]
D0/0D66: A3 16 32                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/0D69: 00                       [$00]
D0/0D6A: 82 37 18                 change target graphic to 7 (jumping) if facing left or 24 (hands up, facing up) if facing right
D0/0D6D: A3 16 32                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/0D70: 00                       [$00]
D0/0D71: A3 16 32                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/0D74: 00                       [$00]
D0/0D75: 82 17 07                 change target graphic to 23 (hands up, facing down) if facing left or 7 (jumping) if facing right
D0/0D78: A3 16 32                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/0D7B: 00                       [$00]
D0/0D7C: A3 16 32                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/0D7F: 00                       [$00]
D0/0D80: 8A                       loop end
D0/0D81: 82 00 00                 change target graphic to 0 (no action)
D0/0D84: 89 1F                    loop start (31 times)
D0/0D86: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/0D88: A3 16 32                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/0D8B: 00                       [$00]
D0/0D8C: 8A                       loop end
D0/0D8D: FF                       end of script

; [ Animation Script $023E: Monster Entry $06: Sand (sprite) ]

D0/0D8E: 00 00                    speed 1, align to bottom of character/monster
D0/0D90: BF 25 5F                 jump to subroutine $5F25
D0/0D93: 9A                       set facing direction to match attacker
D0/0D94: 83 27                    move down 8
D0/0D96: EB                       jump based on thread ($0DC7, $0DB2, $0DA4, $0D9F)
D0/0D9F: 83 8F                    move back 16
D0/0DA1: FA 18 10                 jump to $1018
D0/0DA4: 83 6F                    move forward 16
D0/0DA6: 84 03                    set animation speed to 4
D0/0DA8: 00                       [$00]
D0/0DA9: 01                       [$01]
D0/0DAA: 02                       [$02]
D0/0DAB: 03                       [$03]
D0/0DAC: 04                       [$04]
D0/0DAD: 05                       [$05]
D0/0DAE: 06                       [$06]
D0/0DAF: 01                       [$01]
D0/0DB0: 00                       [$00]
D0/0DB1: FF                       end of script

D0/0DB2: 87 2F                    move target down 16
D0/0DB4: 80 1A 01                 command $80/$1A
D0/0DB7: 89 03                    loop start (3 times)
D0/0DB9: 87 C3                    move target up 4
D0/0DBB: 00                       [$00]
D0/0DBC: 8A                       loop end
D0/0DBD: 84 03                    set animation speed to 4
D0/0DBF: 01                       [$01]
D0/0DC0: 02                       [$02]
D0/0DC1: 03                       [$03]
D0/0DC2: 04                       [$04]
D0/0DC3: 05                       [$05]
D0/0DC4: 06                       [$06]
D0/0DC5: 01                       [$01]
D0/0DC6: 00                       [$00]
D0/0DC7: FF                       end of script

; [ Animation Script $023F: Monster Exit $06: Sand (sprite) ]

D0/0DC8: 00 00                    speed 1, align to bottom of character/monster
D0/0DCA: 9A                       set facing direction to match attacker
D0/0DCB: BF 25 5F                 jump to subroutine $5F25
D0/0DCE: D1 01                    invalidate character/monster sprite priority
D0/0DD0: 83 27                    move down 8
D0/0DD2: 89 03                    loop start (3 times)
D0/0DD4: 87 23                    move target down 4
D0/0DD6: 1F                       [---]
D0/0DD7: 8A                       loop end
D0/0DD8: F1 80                    hide target monster sprite
D0/0DDA: 1F                       [---]
D0/0DDB: 84 03                    set animation speed to 4
D0/0DDD: 00                       [$00]
D0/0DDE: 01                       [$01]
D0/0DDF: 02                       [$02]
D0/0DE0: 03                       [$03]
D0/0DE1: 04                       [$04]
D0/0DE2: 05                       [$05]
D0/0DE3: 06                       [$06]
D0/0DE4: 01                       [$01]
D0/0DE5: 00                       [$00]
D0/0DE6: 87 CF                    move target up 16
D0/0DE8: FF                       end of script

; [ Animation Script $023D: Seize (bg1) ]

D0/0DE9: 00 00                    speed 1, align to bottom of character/monster
D0/0DEB: C4 80                    move bg1 thread to this thread's position
D0/0DED: BD A0                    hide bg1 thread
D0/0DEF: D1 01                    invalidate character/monster sprite priority
D0/0DF1: AD 00                    set bg1 hdma scroll type to 0
D0/0DF3: 89 04                    loop start (4 times)
D0/0DF5: 80 76 54                 command $80/$76
D0/0DF8: 0F                       [$0F]
D0/0DF9: 8A                       loop end
D0/0DFA: 89 07                    loop start (7 times)
D0/0DFC: 0F                       [$0F]
D0/0DFD: 8A                       loop end
D0/0DFE: 89 04                    loop start (4 times)
D0/0E00: 80 76 AC                 command $80/$76
D0/0E03: 0F                       [$0F]
D0/0E04: 8A                       loop end
D0/0E05: 80 72 05                 branch to $0E0D if attack hit
D0/0E08: 80 25                    clear bg1 hdma scroll data
D0/0E0A: AD 03                    set bg1 hdma scroll type to 3
D0/0E0C: FF                       end of script

D0/0E0D: 80 77                    command $80/$77
D0/0E0F: 80 25                    clear bg1 hdma scroll data
D0/0E11: AD 03                    set bg1 hdma scroll type to 3
D0/0E13: FF                       end of script

; [ Animation Script $0214: Seize (sprite) ]

D0/0E14: 00 20                    speed 1, align to center of character/monster
D0/0E16: 89 04                    loop start (4 times)
D0/0E18: 1F                       [---]
D0/0E19: 8A                       loop end
D0/0E1A: C9 00                    play default sound effect
D0/0E1C: 8B 0D                    animated loop start (13 times, increment frame offset each time)
D0/0E1E: 00                       [$00]
D0/0E1F: 8C                       animated loop end
D0/0E20: FF                       end of script

; [ Animation Script $023C: Monster Exit $05: Float (sprite) ]

D0/0E21: 00 20                    speed 1, align to center of character/monster
D0/0E23: 9A                       set facing direction to match attacker
D0/0E24: D1 01                    invalidate character/monster sprite priority
D0/0E26: 80 16                    command $80/$16
D0/0E28: EF 40 80                 move in flattened polar coordinates (64,-128)
D0/0E2B: 89 13                    loop start (19 times)
D0/0E2D: 87 C7                    move target up 8
D0/0E2F: EF 00 06                 move in flattened polar coordinates (0,6)
D0/0E32: 1F                       [---]
D0/0E33: 8A                       loop end
D0/0E34: F1 80                    hide target monster sprite
D0/0E36: 1F                       [---]
D0/0E37: 89 04                    loop start (4 times)
D0/0E39: 87 3F                    move target down 32
D0/0E3B: 8A                       loop end
D0/0E3C: FF                       end of script

; [ Animation Script $023B: Monster Entry $05: Float (sprite) ]

D0/0E3D: 00 20                    speed 1, align to center of character/monster
D0/0E3F: 9A                       set facing direction to match attacker
D0/0E40: D1 01                    invalidate character/monster sprite priority
D0/0E42: 80 16                    command $80/$16
D0/0E44: EF 40 80                 move in flattened polar coordinates (64,-128)
D0/0E47: 89 04                    loop start (4 times)
D0/0E49: 87 DF                    move target up 32
D0/0E4B: 8A                       loop end
D0/0E4C: 80 1A 01                 command $80/$1A
D0/0E4F: BF 56 0E                 jump to subroutine $0E56
D0/0E52: BF 56 0E                 jump to subroutine $0E56
D0/0E55: FF                       end of script

D0/0E56: 87 21                    move target down 2
D0/0E58: 87 62                    move target forward 3
D0/0E5A: 1F                       [---]
D0/0E5B: 87 21                    move target down 2
D0/0E5D: 87 62                    move target forward 3
D0/0E5F: 1F                       [---]
D0/0E60: 87 21                    move target down 2
D0/0E62: 87 62                    move target forward 3
D0/0E64: 1F                       [---]
D0/0E65: 87 21                    move target down 2
D0/0E67: 87 61                    move target forward 2
D0/0E69: 1F                       [---]
D0/0E6A: 87 21                    move target down 2
D0/0E6C: 87 61                    move target forward 2
D0/0E6E: 1F                       [---]
D0/0E6F: 87 21                    move target down 2
D0/0E71: 87 61                    move target forward 2
D0/0E73: 1F                       [---]
D0/0E74: 87 21                    move target down 2
D0/0E76: 87 60                    move target forward 1
D0/0E78: 1F                       [---]
D0/0E79: 87 21                    move target down 2
D0/0E7B: 87 60                    move target forward 1
D0/0E7D: 1F                       [---]
D0/0E7E: 87 21                    move target down 2
D0/0E80: 87 60                    move target forward 1
D0/0E82: 1F                       [---]
D0/0E83: 87 21                    move target down 2
D0/0E85: 1F                       [---]
D0/0E86: 87 21                    move target down 2
D0/0E88: 1F                       [---]
D0/0E89: 87 21                    move target down 2
D0/0E8B: 87 80                    move target back 1
D0/0E8D: 1F                       [---]
D0/0E8E: 87 21                    move target down 2
D0/0E90: 87 80                    move target back 1
D0/0E92: 1F                       [---]
D0/0E93: 87 21                    move target down 2
D0/0E95: 87 80                    move target back 1
D0/0E97: 1F                       [---]
D0/0E98: 87 21                    move target down 2
D0/0E9A: 87 81                    move target back 2
D0/0E9C: 1F                       [---]
D0/0E9D: 87 21                    move target down 2
D0/0E9F: 87 81                    move target back 2
D0/0EA1: 1F                       [---]
D0/0EA2: 87 21                    move target down 2
D0/0EA4: 87 81                    move target back 2
D0/0EA6: 1F                       [---]
D0/0EA7: 87 21                    move target down 2
D0/0EA9: 87 82                    move target back 3
D0/0EAB: 1F                       [---]
D0/0EAC: 87 21                    move target down 2
D0/0EAE: 87 82                    move target back 3
D0/0EB0: 1F                       [---]
D0/0EB1: 87 21                    move target down 2
D0/0EB3: 87 82                    move target back 3
D0/0EB5: 1F                       [---]
D0/0EB6: 87 21                    move target down 2
D0/0EB8: 87 82                    move target back 3
D0/0EBA: 1F                       [---]
D0/0EBB: 87 21                    move target down 2
D0/0EBD: 87 82                    move target back 3
D0/0EBF: 1F                       [---]
D0/0EC0: 87 21                    move target down 2
D0/0EC2: 87 82                    move target back 3
D0/0EC4: 1F                       [---]
D0/0EC5: 87 21                    move target down 2
D0/0EC7: 87 81                    move target back 2
D0/0EC9: 1F                       [---]
D0/0ECA: 87 21                    move target down 2
D0/0ECC: 87 81                    move target back 2
D0/0ECE: 1F                       [---]
D0/0ECF: 87 21                    move target down 2
D0/0ED1: 87 81                    move target back 2
D0/0ED3: 1F                       [---]
D0/0ED4: 87 21                    move target down 2
D0/0ED6: 87 80                    move target back 1
D0/0ED8: 1F                       [---]
D0/0ED9: 87 21                    move target down 2
D0/0EDB: 87 80                    move target back 1
D0/0EDD: 1F                       [---]
D0/0EDE: 87 21                    move target down 2
D0/0EE0: 87 80                    move target back 1
D0/0EE2: 1F                       [---]
D0/0EE3: 87 21                    move target down 2
D0/0EE5: 1F                       [---]
D0/0EE6: 87 21                    move target down 2
D0/0EE8: 1F                       [---]
D0/0EE9: 87 21                    move target down 2
D0/0EEB: 87 60                    move target forward 1
D0/0EED: 1F                       [---]
D0/0EEE: 87 21                    move target down 2
D0/0EF0: 87 60                    move target forward 1
D0/0EF2: 1F                       [---]
D0/0EF3: 87 21                    move target down 2
D0/0EF5: 87 60                    move target forward 1
D0/0EF7: 1F                       [---]
D0/0EF8: 87 21                    move target down 2
D0/0EFA: 87 61                    move target forward 2
D0/0EFC: 1F                       [---]
D0/0EFD: 87 21                    move target down 2
D0/0EFF: 87 61                    move target forward 2
D0/0F01: 1F                       [---]
D0/0F02: 87 21                    move target down 2
D0/0F04: 87 61                    move target forward 2
D0/0F06: 1F                       [---]
D0/0F07: 87 21                    move target down 2
D0/0F09: 87 62                    move target forward 3
D0/0F0B: 1F                       [---]
D0/0F0C: 87 21                    move target down 2
D0/0F0E: 87 62                    move target forward 3
D0/0F10: 1F                       [---]
D0/0F11: 87 21                    move target down 2
D0/0F13: 87 62                    move target forward 3
D0/0F15: 1F                       [---]
D0/0F16: C0                       return from subroutine

; [ Animation Script $023A: Event Animation $0E: Transform into Magicite (bg3) ]

D0/0F17: 00 20                    speed 1, align to center of character/monster
D0/0F19: D1 01                    invalidate character/monster sprite priority
D0/0F1B: C4 40                    move bg3 thread to this thread's position
D0/0F1D: 00                       [$00]
D0/0F1E: BD 50                    hide bg3 thread
D0/0F20: C9 24                    play sound effect $24
D0/0F22: A5 80 64 50 DE FF 80 00  init circle at (128,100)
D0/0F2A: C3                       move circle to target
D0/0F2B: AD 87                    set bg3 hdma scroll type to 7
D0/0F2D: AC 22 44                 set (bg3) hdma scroll data (amplitude 4, frequency 2, horizontal)
D0/0F30: B0 FF                    set background color addition to 31 (white)
D0/0F32: AB FF                    set bg3 animation palette color addition to 31 (white)
D0/0F34: EE 00                    set target sprite tile priority to 0
D0/0F36: 89 25                    loop start (37 times)
D0/0F38: A6 00 00 FF              move circle (+0,+0) and shrink by 1
D0/0F3C: A7                       update circle
D0/0F3D: AE 41                    update (bg3) hdma scroll data (horizontal)
D0/0F3F: B5 F2                    decrease background color addition by 2 (white)
D0/0F41: B3 F2                    decrease bg3 animation palette color addition by 2 (white)
D0/0F43: 00                       [$00]
D0/0F44: 8A                       loop end
D0/0F45: 89 12                    loop start (18 times)
D0/0F47: A6 00 00 FE              move circle (+0,+0) and shrink by 2
D0/0F4B: A7                       update circle
D0/0F4C: AE 41                    update (bg3) hdma scroll data (horizontal)
D0/0F4E: B5 F2                    decrease background color addition by 2 (white)
D0/0F50: B3 F2                    decrease bg3 animation palette color addition by 2 (white)
D0/0F52: 00                       [$00]
D0/0F53: 8A                       loop end
D0/0F54: AD 85                    set bg3 hdma scroll type to 5
D0/0F56: F1 80                    hide target monster sprite
D0/0F58: FF                       end of script

; [ Animation Script $0239: Event Animation $0E: Transform into Magicite (sprite) ]

D0/0F59: 00 20                    speed 1, align to center of character/monster
D0/0F5B: D1 01                    invalidate character/monster sprite priority
D0/0F5D: 85                       move to attacker position
D0/0F5E: 95                       calculate vector from attacker to target
D0/0F5F: EB                       jump based on thread ($0F70, $0FED, $0FED, $0FED, $0FED, $0FED, $0FED, $0FED)
D0/0F70: C9 00                    play default sound effect
D0/0F72: 81 07 07                 change attacker graphic to 7 (jumping)
D0/0F75: 80 1D                    command $80/$1D
D0/0F77: 00                       [$00]
D0/0F78: 92 01 05                 move along vector at speed 1, branch to $0F75
D0/0F7B: 80 10                    move to target position
D0/0F7D: 81 00 00                 change attacker graphic to 0 (no action)
D0/0F80: 83 AF                    move up/forward 16
D0/0F82: C9 00                    play default sound effect
D0/0F84: 89 40                    loop start (64 times)
D0/0F86: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/0F89: 1F                       [---]
D0/0F8A: 8A                       loop end
D0/0F8B: C2 40                    unpause bg3 thread
D0/0F8D: 89 40                    loop start (64 times)
D0/0F8F: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/0F92: 1F                       [---]
D0/0F93: 8A                       loop end
D0/0F94: C9 47                    play sound effect $47
D0/0F96: 83 4F                    move down/back 16
D0/0F98: E9 00 00                 move animation randomly (0..0,0..0)
D0/0F9B: 1F                       [---]
D0/0F9C: 08                       [$08]
D0/0F9D: 83 C3                    move up 4
D0/0F9F: 83 61                    move forward 2
D0/0FA1: 1F                       [---]
D0/0FA2: 08                       [$08]
D0/0FA3: 83 C2                    move up 3
D0/0FA5: 83 61                    move forward 2
D0/0FA7: 1F                       [---]
D0/0FA8: 08                       [$08]
D0/0FA9: 83 C1                    move up 2
D0/0FAB: 83 61                    move forward 2
D0/0FAD: 1F                       [---]
D0/0FAE: 08                       [$08]
D0/0FAF: 83 C1                    move up 2
D0/0FB1: 83 61                    move forward 2
D0/0FB3: 1F                       [---]
D0/0FB4: 08                       [$08]
D0/0FB5: 83 21                    move down 2
D0/0FB7: 83 61                    move forward 2
D0/0FB9: 1F                       [---]
D0/0FBA: 08                       [$08]
D0/0FBB: 83 21                    move down 2
D0/0FBD: 83 61                    move forward 2
D0/0FBF: 1F                       [---]
D0/0FC0: 08                       [$08]
D0/0FC1: 83 22                    move down 3
D0/0FC3: 83 61                    move forward 2
D0/0FC5: 1F                       [---]
D0/0FC6: 08                       [$08]
D0/0FC7: 83 23                    move down 4
D0/0FC9: 83 61                    move forward 2
D0/0FCB: 1F                       [---]
D0/0FCC: 08                       [$08]
D0/0FCD: 89 1F                    loop start (31 times)
D0/0FCF: 1F                       [---]
D0/0FD0: 08                       [$08]
D0/0FD1: 8A                       loop end
D0/0FD2: E7                       calculate vector from attacking character to target
D0/0FD3: C7 07                    update character action based on vector direction (walking)
D0/0FD5: 80 1B                    command $80/$1B
D0/0FD7: 08                       [$08]
D0/0FD8: E5 01 03 00              move character forward along vector at speed 1 and height 0, branch to $0FD7
D0/0FDC: C8 00                    change attacker action to 0 (no action)
D0/0FDE: 81 06 06                 change attacker graphic to 6 (walking forward, frame 3)
D0/0FE1: 89 0F                    loop start (15 times)
D0/0FE3: 83 80                    move back 1
D0/0FE5: 08                       [$08]
D0/0FE6: 08                       [$08]
D0/0FE7: 08                       [$08]
D0/0FE8: 8A                       loop end
D0/0FE9: 81 00 00                 change attacker graphic to 0 (no action)
D0/0FEC: FF                       end of script

D0/0FED: 84 03                    set animation speed to 4
D0/0FEF: 89 05                    loop start (5 times)
D0/0FF1: 80 0C                    move to first sprite thread position
D0/0FF3: 00                       [$00]
D0/0FF4: 01                       [$01]
D0/0FF5: 02                       [$02]
D0/0FF6: 03                       [$03]
D0/0FF7: 04                       [$04]
D0/0FF8: 05                       [$05]
D0/0FF9: 06                       [$06]
D0/0FFA: 07                       [$07]
D0/0FFB: 8A                       loop end
D0/0FFC: FF                       end of script

; [ Animation Script $0230: Event Animation $05: Bahamut (bg1) ]

D0/0FFD: 00 20                    speed 1, align to center of character/monster
D0/0FFF: FF                       end of script

; [ Animation Script $022E: Monster Entry $04: Water (sprite) ]

D0/1000: 00 00                    speed 1, align to bottom of character/monster
D0/1002: BF 25 5F                 jump to subroutine $5F25
D0/1005: 9A                       set facing direction to match attacker
D0/1006: 83 3F                    move down 32
D0/1008: EB                       jump based on thread ($103E, $1024, $1016, $1011)
D0/1011: 83 8F                    move back 16
D0/1013: FA 18 10                 jump to $1018
D0/1016: 83 6F                    move forward 16
D0/1018: 84 03                    set animation speed to 4
D0/101A: 00                       [$00]
D0/101B: 01                       [$01]
D0/101C: 02                       [$02]
D0/101D: 03                       [$03]
D0/101E: 04                       [$04]
D0/101F: 05                       [$05]
D0/1020: 06                       [$06]
D0/1021: 01                       [$01]
D0/1022: 00                       [$00]
D0/1023: FF                       end of script

D0/1024: 87 3F                    move target down 32
D0/1026: 80 1A 01                 command $80/$1A
D0/1029: 89 03                    loop start (3 times)
D0/102B: 87 C3                    move target up 4
D0/102D: 00                       [$00]
D0/102E: 8A                       loop end
D0/102F: 89 03                    loop start (3 times)
D0/1031: 87 C3                    move target up 4
D0/1033: 01                       [$01]
D0/1034: 8A                       loop end
D0/1035: 84 03                    set animation speed to 4
D0/1037: 02                       [$02]
D0/1038: 03                       [$03]
D0/1039: 04                       [$04]
D0/103A: 05                       [$05]
D0/103B: 06                       [$06]
D0/103C: 01                       [$01]
D0/103D: 00                       [$00]
D0/103E: FF                       end of script

; [ Animation Script $022F: Monster Exit $04: Water (sprite) ]

D0/103F: 00 00                    speed 1, align to bottom of character/monster
D0/1041: 9A                       set facing direction to match attacker
D0/1042: D1 01                    invalidate character/monster sprite priority
D0/1044: BF 25 5F                 jump to subroutine $5F25
D0/1047: 83 3F                    move down 32
D0/1049: 89 07                    loop start (7 times)
D0/104B: 87 23                    move target down 4
D0/104D: 1F                       [---]
D0/104E: 8A                       loop end
D0/104F: F1 80                    hide target monster sprite
D0/1051: 1F                       [---]
D0/1052: 84 03                    set animation speed to 4
D0/1054: 00                       [$00]
D0/1055: 01                       [$01]
D0/1056: 02                       [$02]
D0/1057: 03                       [$03]
D0/1058: 04                       [$04]
D0/1059: 05                       [$05]
D0/105A: 06                       [$06]
D0/105B: 01                       [$01]
D0/105C: 00                       [$00]
D0/105D: 87 DF                    move target up 32
D0/105F: FF                       end of script

; [ Animation Script $022C: Monster Entry $03/$07: Sides (sprite) ]

D0/1060: 00 20                    speed 1, align to center of character/monster
D0/1062: 9A                       set facing direction to match attacker
D0/1063: D1 01                    invalidate character/monster sprite priority
D0/1065: 89 07                    loop start (7 times)
D0/1067: 87 9F                    move target back 32
D0/1069: 8A                       loop end
D0/106A: 80 1A 01                 command $80/$1A
D0/106D: 89 0F                    loop start (15 times)
D0/106F: 87 6F                    move target forward 16
D0/1071: 1F                       [---]
D0/1072: 8A                       loop end
D0/1073: FF                       end of script

; [ Animation Script $022D: Monster Exit $03/$07: Sides (sprite) ]

D0/1074: 00 20                    speed 1, align to center of character/monster
D0/1076: 9A                       set facing direction to match attacker
D0/1077: D1 01                    invalidate character/monster sprite priority
D0/1079: 89 1F                    loop start (31 times)
D0/107B: 87 87                    move target back 8
D0/107D: 1F                       [---]
D0/107E: 8A                       loop end
D0/107F: F1 80                    hide target monster sprite
D0/1081: 1F                       [---]
D0/1082: 89 07                    loop start (7 times)
D0/1084: 87 7F                    move target forward 32
D0/1086: 8A                       loop end
D0/1087: FF                       end of script

; [ Animation Script $022B: Monster Exit $02: Ceiling (sprite) ]

D0/1088: 00 20                    speed 1, align to center of character/monster
D0/108A: 9A                       set facing direction to match attacker
D0/108B: D1 01                    invalidate character/monster sprite priority
D0/108D: 89 13                    loop start (19 times)
D0/108F: 87 C7                    move target up 8
D0/1091: 1F                       [---]
D0/1092: 8A                       loop end
D0/1093: F1 80                    hide target monster sprite
D0/1095: 1F                       [---]
D0/1096: 89 04                    loop start (4 times)
D0/1098: 87 3F                    move target down 32
D0/109A: 8A                       loop end
D0/109B: FF                       end of script

; [ Animation Script $022A: Monster Entry $02: Ceiling (sprite) ]

D0/109C: 00 20                    speed 1, align to center of character/monster
D0/109E: 9A                       set facing direction to match attacker
D0/109F: D1 01                    invalidate character/monster sprite priority
D0/10A1: 89 04                    loop start (4 times)
D0/10A3: 87 DF                    move target up 32
D0/10A5: 8A                       loop end
D0/10A6: 80 1A 01                 command $80/$1A
D0/10A9: 89 13                    loop start (19 times)
D0/10AB: 87 27                    move target down 8
D0/10AD: 1F                       [---]
D0/10AE: 8A                       loop end
D0/10AF: FF                       end of script

; [ Animation Script $0229: Monster Entry $01: Puff of Smoke (sprite) ]

D0/10B0: 40 20                    speed 5, align to center of character/monster
D0/10B2: 9A                       set facing direction to match attacker
D0/10B3: 83 AF                    move up/forward 16
D0/10B5: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/10B8: C9 00                    play default sound effect
D0/10BA: 00                       [$00]
D0/10BB: 01                       [$01]
D0/10BC: 02                       [$02]
D0/10BD: 03                       [$03]
D0/10BE: 04                       [$04]
D0/10BF: 05                       [$05]
D0/10C0: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/10C3: 00                       [$00]
D0/10C4: 01                       [$01]
D0/10C5: 02                       [$02]
D0/10C6: 80 1A 01                 command $80/$1A
D0/10C9: 03                       [$03]
D0/10CA: 04                       [$04]
D0/10CB: 05                       [$05]
D0/10CC: FF                       end of script

; [ Animation Script $0228: Heal Force (sprite) ]

D0/10CD: 00 20                    speed 1, align to center of character/monster
D0/10CF: D1 01                    invalidate character/monster sprite priority
D0/10D1: 89 18                    loop start (24 times)
D0/10D3: 1F                       [---]
D0/10D4: 8A                       loop end
D0/10D5: 84 03                    set animation speed to 4
D0/10D7: C9 00                    play default sound effect
D0/10D9: 8B 10                    animated loop start (16 times, increment frame offset each time)
D0/10DB: 00                       [$00]
D0/10DC: 8C                       animated loop end
D0/10DD: C9 29                    play sound effect $29
D0/10DF: 11                       [$11]
D0/10E0: 12                       [$12]
D0/10E1: 13                       [$13]
D0/10E2: 14                       [$14]
D0/10E3: 15                       [$15]
D0/10E4: 16                       [$16]
D0/10E5: 17                       [$17]
D0/10E6: 18                       [$18]
D0/10E7: 19                       [$19]
D0/10E8: FF                       end of script

; [ Animation Script $0225: Possess (bg1) ]

D0/10E9: 00 20                    speed 1, align to center of character/monster
D0/10EB: 80 72 04                 branch to $10F2 if attack hit
D0/10EE: BF 67 70                 jump to subroutine $7067
D0/10F1: FF                       end of script

D0/10F2: E1 00                    hide attacking character sprite
D0/10F4: 85                       move to attacker position
D0/10F5: 95                       calculate vector from attacker to target
D0/10F6: 93 00                    move to vector position 0
D0/10F8: 80 17                    update sprite layer priority based on target
D0/10FA: EE 20                    set target sprite tile priority to 2
D0/10FC: F3                       jump based on attacker ($1107, $1120, $1137, $114E, $1164)
D0/1107: C9 00                    play default sound effect
D0/1109: 80 5D                    command $80/$5D
D0/110B: 00                       [$00]
D0/110C: 92 02 05                 move along vector at speed 2, branch to $1109
D0/110F: 80 5D                    command $80/$5D
D0/1111: F7 A0                    wait until scanline 160
D0/1113: D4 02 01 12              add (sprites, bg2) to (bg1)
D0/1117: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/1119: 89 1F                    loop start (31 times)
D0/111B: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/111D: 00                       [$00]
D0/111E: 8A                       loop end
D0/111F: FF                       end of script

D0/1120: C9 00                    play default sound effect
D0/1122: 80 5D                    command $80/$5D
D0/1124: 01                       [$01]
D0/1125: 92 02 05                 move along vector at speed 2, branch to $1122
D0/1128: 80 5D                    command $80/$5D
D0/112A: D4 02 01 12              add (sprites, bg2) to (bg1)
D0/112E: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/1130: 89 1F                    loop start (31 times)
D0/1132: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/1134: 01                       [$01]
D0/1135: 8A                       loop end
D0/1136: FF                       end of script

D0/1137: C9 00                    play default sound effect
D0/1139: 80 5D                    command $80/$5D
D0/113B: 02                       [$02]
D0/113C: 92 02 05                 move along vector at speed 2, branch to $1139
D0/113F: 80 5D                    command $80/$5D
D0/1141: D4 02 01 12              add (sprites, bg2) to (bg1)
D0/1145: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/1147: 89 1F                    loop start (31 times)
D0/1149: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/114B: 02                       [$02]
D0/114C: 8A                       loop end
D0/114D: FF                       end of script

D0/114E: C9 00                    play default sound effect
D0/1150: 80 5D                    command $80/$5D
D0/1152: 03                       [$03]
D0/1153: 92 02 05                 move along vector at speed 2, branch to $1150
D0/1156: 80 5D                    command $80/$5D
D0/1158: D4 02 01 12              add (sprites, bg2) to (bg1)
D0/115C: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/115E: 89 1F                    loop start (31 times)
D0/1160: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/1162: 03                       [$03]
D0/1163: 8A                       loop end
D0/1164: FF                       end of script

; [ Animation Script $0224: Cure 3 (sprite) ]

D0/1165: 00 20                    speed 1, align to center of character/monster
D0/1167: 80 16                    command $80/$16
D0/1169: E8 30 00                 move in polar coordinates (48,0)
D0/116C: EB                       jump based on thread ($117C, $11A7, $1175, $1175)
D0/1175: 89 40                    loop start (64 times)
D0/1177: 1F                       [---]
D0/1178: 8A                       loop end
D0/1179: FA CB 11                 jump to $11CB
D0/117C: D1 01                    invalidate character/monster sprite priority
D0/117E: C9 00                    play default sound effect
D0/1180: 1F                       [---]
D0/1181: 1F                       [---]
D0/1182: 1F                       [---]
D0/1183: E8 00 80                 move in polar coordinates (0,-128)
D0/1186: 89 10                    loop start (16 times)
D0/1188: E8 00 FA                 move in polar coordinates (0,-6)
D0/118B: 00                       [$00]
D0/118C: 8A                       loop end
D0/118D: 89 10                    loop start (16 times)
D0/118F: E8 00 FA                 move in polar coordinates (0,-6)
D0/1192: 01                       [$01]
D0/1193: 8A                       loop end
D0/1194: 89 10                    loop start (16 times)
D0/1196: E8 00 FA                 move in polar coordinates (0,-6)
D0/1199: 02                       [$02]
D0/119A: 8A                       loop end
D0/119B: 89 10                    loop start (16 times)
D0/119D: E8 00 FA                 move in polar coordinates (0,-6)
D0/11A0: 03                       [$03]
D0/11A1: 8A                       loop end
D0/11A2: C9 7D                    play sound effect $7D
D0/11A4: FA CB 11                 jump to $11CB
D0/11A7: 89 10                    loop start (16 times)
D0/11A9: 80 65                    change rainbow palette
D0/11AB: E8 00 FA                 move in polar coordinates (0,-6)
D0/11AE: 00                       [$00]
D0/11AF: 8A                       loop end
D0/11B0: 89 10                    loop start (16 times)
D0/11B2: 80 65                    change rainbow palette
D0/11B4: E8 00 FA                 move in polar coordinates (0,-6)
D0/11B7: 01                       [$01]
D0/11B8: 8A                       loop end
D0/11B9: 89 10                    loop start (16 times)
D0/11BB: 80 65                    change rainbow palette
D0/11BD: E8 00 FA                 move in polar coordinates (0,-6)
D0/11C0: 02                       [$02]
D0/11C1: 8A                       loop end
D0/11C2: 89 10                    loop start (16 times)
D0/11C4: 80 65                    change rainbow palette
D0/11C6: E8 00 FA                 move in polar coordinates (0,-6)
D0/11C9: 03                       [$03]
D0/11CA: 8A                       loop end
D0/11CB: 84 02                    set animation speed to 3
D0/11CD: 89 05                    loop start (5 times)
D0/11CF: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/11D2: 04                       [$04]
D0/11D3: 05                       [$05]
D0/11D4: 06                       [$06]
D0/11D5: 07                       [$07]
D0/11D6: 8A                       loop end
D0/11D7: FF                       end of script

; [ Animation Script $01C2: Meteo (bg3) ]

D0/11D8: 00 20                    speed 1, align to center of character/monster
D0/11DA: BD 50                    hide bg3 thread
D0/11DC: B0 80                    set background color addition to 0 (red)
D0/11DE: 89 1F                    loop start (31 times)
D0/11E0: B5 81                    increase background color addition by 1 (red)
D0/11E2: 09                       [$09]
D0/11E3: 8A                       loop end
D0/11E4: 89 50                    loop start (80 times)
D0/11E6: 09                       [$09]
D0/11E7: 8A                       loop end
D0/11E8: 89 1F                    loop start (31 times)
D0/11EA: B5 91                    decrease background color addition by 1 (red)
D0/11EC: 09                       [$09]
D0/11ED: 8A                       loop end
D0/11EE: FF                       end of script

; [ Animation Script $01BB: Magnitude8 (sprite) ]

D0/11EF: 00 20                    speed 1, align to center of character/monster
D0/11F1: 89 1F                    loop start (31 times)
D0/11F3: 1F                       [---]
D0/11F4: 8A                       loop end
D0/11F5: 89 1F                    loop start (31 times)
D0/11F7: 87 61                    move target forward 2
D0/11F9: 1F                       [---]
D0/11FA: 87 81                    move target back 2
D0/11FC: 1F                       [---]
D0/11FD: 8A                       loop end
D0/11FE: FF                       end of script

; [ Animation Script $018E: Slow, Slow 2 (bg3) ]

D0/11FF: 00 20                    speed 1, align to center of character/monster
D0/1201: D1 01                    invalidate character/monster sprite priority
D0/1203: C9 00                    play default sound effect
D0/1205: C4 40                    move bg3 thread to this thread's position
D0/1207: 09                       [$09]
D0/1208: F7 A0                    wait until scanline 160
D0/120A: 80 3E 13                 enable (sprites, bg2, bg1) in main screen
D0/120D: AD 87                    set bg3 hdma scroll type to 7
D0/120F: AC 21 44                 set (bg3) hdma scroll data (amplitude 4, frequency 1, horizontal)
D0/1212: AA FF                    set bg3 animation palette color subtraction to 31 (black)
D0/1214: AE 41                    update (bg3) hdma scroll data (horizontal)
D0/1216: 00                       [$00]
D0/1217: EA 41                    set bg3 tile data quadrant to 1
D0/1219: 00                       [$00]
D0/121A: AE 41                    update (bg3) hdma scroll data (horizontal)
D0/121C: BD 50                    hide bg3 thread
D0/121E: F7 A0                    wait until scanline 160
D0/1220: 80 3E 17                 enable (sprites, bg3, bg2, bg1) in main screen
D0/1223: 89 1F                    loop start (31 times)
D0/1225: 83 60                    move forward 1
D0/1227: B4 F1                    decrease bg3 animation palette color subtraction by 1 (black)
D0/1229: AE 41                    update (bg3) hdma scroll data (horizontal)
D0/122B: 00                       [$00]
D0/122C: 8A                       loop end
D0/122D: 89 40                    loop start (64 times)
D0/122F: 83 60                    move forward 1
D0/1231: AE 41                    update (bg3) hdma scroll data (horizontal)
D0/1233: 00                       [$00]
D0/1234: 8A                       loop end
D0/1235: 89 1F                    loop start (31 times)
D0/1237: 83 60                    move forward 1
D0/1239: B4 E1                    increase bg3 animation palette color subtraction by 1 (black)
D0/123B: AE 41                    update (bg3) hdma scroll data (horizontal)
D0/123D: 00                       [$00]
D0/123E: 8A                       loop end
D0/123F: F7 A0                    wait until scanline 160
D0/1241: AD 85                    set bg3 hdma scroll type to 5
D0/1243: BD 40                    show bg3 thread
D0/1245: EA 41                    set bg3 tile data quadrant to 1
D0/1247: 80 24                    clear bg3 hdma scroll data
D0/1249: 09                       [$09]
D0/124A: FF                       end of script

; [ Animation Script $0181: WaveCannon (sprite) ]

D0/124B: 20 20                    speed 3, align to center of character/monster
D0/124D: D0 20                    set tile priority to 2 for all character/monster sprites
D0/124F: 89 15                    loop start (21 times)
D0/1251: 1F                       [---]
D0/1252: 8A                       loop end
D0/1253: 83 AF                    move up/forward 16
D0/1255: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/1258: 8B 08                    animated loop start (8 times, increment frame offset each time)
D0/125A: 00                       [$00]
D0/125B: 8C                       animated loop end
D0/125C: FF                       end of script

; [ Animation Script $0133: WaveCannon (bg1) ]

D0/125D: 00 20                    speed 1, align to center of character/monster
D0/125F: C4 80                    move bg1 thread to this thread's position
D0/1261: D1 01                    invalidate character/monster sprite priority
D0/1263: C9 00                    play default sound effect
D0/1265: D0 20                    set tile priority to 2 for all character/monster sprites
D0/1267: A5 00 00 00 FF FF 80 00  init circle at (0,0)
D0/126F: A8                       move circle to attacker
D0/1270: 80 17                    update sprite layer priority based on target
D0/1272: EC 01                    change thread layer to bg1
D0/1274: D0 20                    set tile priority to 2 for all character/monster sprites
D0/1276: EA 81                    set bg1 tile data quadrant to 1
D0/1278: 00                       [$00]
D0/1279: 00                       [$00]
D0/127A: 89 32                    loop start (50 times)
D0/127C: A6 00 00 04              move circle (+0,+0) and grow by 4
D0/1280: A9 FC 00                 move circle (-4,+0)
D0/1283: 83 6F                    move forward 16
D0/1285: F7 D0                    wait until scanline 208
D0/1287: A7                       update circle
D0/1288: 00                       [$00]
D0/1289: 8A                       loop end
D0/128A: 89 40                    loop start (64 times)
D0/128C: 83 6F                    move forward 16
D0/128E: F7 D0                    wait until scanline 208
D0/1290: A7                       update circle
D0/1291: 00                       [$00]
D0/1292: 8A                       loop end
D0/1293: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/1295: 89 1F                    loop start (31 times)
D0/1297: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/1299: 83 6F                    move forward 16
D0/129B: F7 D0                    wait until scanline 208
D0/129D: A7                       update circle
D0/129E: 00                       [$00]
D0/129F: 8A                       loop end
D0/12A0: EA 81                    set bg1 tile data quadrant to 1
D0/12A2: 0F                       [$0F]
D0/12A3: FF                       end of script

; [ Animation Script $021A: Purifier (bg1) ]

D0/12A4: 00 20                    speed 1, align to center of character/monster
D0/12A6: D1 01                    invalidate character/monster sprite priority
D0/12A8: BD A0                    hide bg1 thread
D0/12AA: BF 16 55                 jump to subroutine $5516
D0/12AD: C4 80                    move bg1 thread to this thread's position
D0/12AF: 80 8C 00                 play sound effect $00 (pan center)
D0/12B2: 89 D0                    loop start (208 times)
D0/12B4: 0F                       [$0F]
D0/12B5: 8A                       loop end
D0/12B6: 80 32 CC 12 BC 12        jump to $12CC (left) or $12BC (right)
D0/12BC: 80 42 01                 mirror bg1 horizontal (mode 7)
D0/12BF: 83 7F                    move forward 32
D0/12C1: 83 7F                    move forward 32
D0/12C3: 83 7F                    move forward 32
D0/12C5: 83 DF                    move up 32
D0/12C7: 83 C7                    move up 8
D0/12C9: FA D9 12                 jump to $12D9
D0/12CC: 80 42 00                 disable bg1 mirroring (mode 7)
D0/12CF: 83 9F                    move back 32
D0/12D1: 83 9F                    move back 32
D0/12D3: 83 9F                    move back 32
D0/12D5: 83 DF                    move up 32
D0/12D7: 83 C7                    move up 8
D0/12D9: F7 A0                    wait until scanline 160
D0/12DB: 80 3E 11                 enable (sprites, bg1) in main screen
D0/12DE: 80 40 07                 set screen to mode 7
D0/12E1: D0 30                    set tile priority to 3 for all character/monster sprites
D0/12E3: 80 41 00 00 BA BA        zoom bg1 (0,0), move bg1 (-70,-70)
D0/12E9: 80 41 00 00 D8 21        zoom bg1 (0,0), move bg1 (-40,33)
D0/12EF: 89 1E                    loop start (30 times)
D0/12F1: 80 41 FC FC 03 02        zoom bg1 (-4,-4), move bg1 (3,2)
D0/12F7: 0F                       [$0F]
D0/12F8: 8A                       loop end
D0/12F9: D0 00                    set tile priority to 0 for all character/monster sprites
D0/12FB: 89 1D                    loop start (29 times)
D0/12FD: 80 41 FC FC 03 02        zoom bg1 (-4,-4), move bg1 (3,2)
D0/1303: 0F                       [$0F]
D0/1304: 8A                       loop end
D0/1305: F7 A0                    wait until scanline 160
D0/1307: D0 30                    set tile priority to 3 for all character/monster sprites
D0/1309: 0F                       [$0F]
D0/130A: F7 A0                    wait until scanline 160
D0/130C: 80 3E 12                 enable (sprites, bg2) in main screen
D0/130F: 80 40 01                 set screen to mode 1
D0/1312: 89 30                    loop start (48 times)
D0/1314: 0F                       [$0F]
D0/1315: 0F                       [$0F]
D0/1316: 8A                       loop end
D0/1317: BF 49 55                 jump to subroutine $5549
D0/131A: BF A0 2C                 jump to subroutine $2CA0
D0/131D: 80 26 00                 enable character palette updates
D0/1320: 80 71                    restore character palettes
D0/1322: FF                       end of script

; [ Animation Script $00AF: Purifier (bg3) ]

D0/1323: 00 20                    speed 1, align to center of character/monster
D0/1325: C4 40                    move bg3 thread to this thread's position
D0/1327: 80 32 2D 13 38 13        jump to $132D (left) or $1338 (right)
D0/132D: A5 C0 68 40 FF FF 80 00  init circle at (192,104)
D0/1335: FA 40 13                 jump to $1340
D0/1338: A5 40 68 40 FF FF 80 00  init circle at (64,104)
D0/1340: AF E0                    set background color subtraction to 0 (black)
D0/1342: 89 20                    loop start (32 times)
D0/1344: 09                       [$09]
D0/1345: 8A                       loop end
D0/1346: 89 0F                    loop start (15 times)
D0/1348: B6 62                    increase background color subtraction by 2 (red)
D0/134A: 09                       [$09]
D0/134B: 8A                       loop end
D0/134C: 89 2C                    loop start (44 times)
D0/134E: 09                       [$09]
D0/134F: 8A                       loop end
D0/1350: F7 A0                    wait until scanline 160
D0/1352: D4 02 04 12              add (sprites, bg2) to (bg3)
D0/1356: 89 1E                    loop start (30 times)
D0/1358: A6 00 00 FE              move circle (+0,+0) and shrink by 2
D0/135C: A9 FE 00                 move circle (-2,+0)
D0/135F: A7                       update circle
D0/1360: 08                       [$08]
D0/1361: 8A                       loop end
D0/1362: 80 58 07                 set circle shape to ultima
D0/1365: 89 18                    loop start (24 times)
D0/1367: A6 00 00 04              move circle (+0,+0) and grow by 4
D0/136B: A7                       update circle
D0/136C: 08                       [$08]
D0/136D: 8A                       loop end
D0/136E: 80 57 CC                 enable bg3 in window 2 only
D0/1371: 8B 07                    animated loop start (7 times, increment frame offset each time)
D0/1373: 00                       [$00]
D0/1374: 00                       [$00]
D0/1375: 00                       [$00]
D0/1376: 8C                       animated loop end
D0/1377: 8B 07                    animated loop start (7 times, increment frame offset each time)
D0/1379: 00                       [$00]
D0/137A: 00                       [$00]
D0/137B: 00                       [$00]
D0/137C: 8C                       animated loop end
D0/137D: 09                       [$09]
D0/137E: 89 1F                    loop start (31 times)
D0/1380: B6 81                    increase background color subtraction by 1 (cyan)
D0/1382: 09                       [$09]
D0/1383: 8A                       loop end
D0/1384: 89 80                    loop start (128 times)
D0/1386: 09                       [$09]
D0/1387: 8A                       loop end
D0/1388: 89 1F                    loop start (31 times)
D0/138A: B6 F1                    decrease background color subtraction by 1 (black)
D0/138C: 09                       [$09]
D0/138D: 8A                       loop end
D0/138E: FF                       end of script

; [ Animation Script $0219: Purifier (sprite) ]

D0/138F: 00 20                    speed 1, align to center of character/monster
D0/1391: 80 2E 80 48              move to (128,72)
D0/1395: 89 24                    loop start (36 times)
D0/1397: 1F                       [---]
D0/1398: 8A                       loop end
D0/1399: 80 26 01                 disable character palette updates
D0/139C: 1F                       [---]
D0/139D: EB                       jump based on thread ($13A4, $13C5, $13F9)
D0/13A4: 1F                       [---]
D0/13A5: 1F                       [---]
D0/13A6: 80 68                    command $80/$68
D0/13A8: 80 64                    command $80/$64
D0/13AA: 99 0C                    change palette to 14 (character 3/crusader 1)
D0/13AC: 83 2F                    move down 16
D0/13AE: 83 DF                    move up 32
D0/13B0: 83 DF                    move up 32
D0/13B2: 83 DF                    move up 32
D0/13B4: 83 DF                    move up 32
D0/13B6: 89 0F                    loop start (15 times)
D0/13B8: 1F                       [---]
D0/13B9: 8A                       loop end
D0/13BA: 89 0F                    loop start (15 times)
D0/13BC: 83 27                    move down 8
D0/13BE: 02                       [$02]
D0/13BF: 8A                       loop end
D0/13C0: 89 A8                    loop start (168 times)
D0/13C2: 02                       [$02]
D0/13C3: 8A                       loop end
D0/13C4: FF                       end of script

D0/13C5: 1F                       [---]
D0/13C6: 80 67                    command $80/$67
D0/13C8: 99 0E                    change palette to 14 (character 3/crusader 1)
D0/13CA: 83 E7                    move up/back 8
D0/13CC: 1F                       [---]
D0/13CD: 83 1F                    move down/forward 32
D0/13CF: 83 1F                    move down/forward 32
D0/13D1: 83 1F                    move down/forward 32
D0/13D3: 83 1F                    move down/forward 32
D0/13D5: 89 0F                    loop start (15 times)
D0/13D7: 1F                       [---]
D0/13D8: 8A                       loop end
D0/13D9: 89 0F                    loop start (15 times)
D0/13DB: 83 E7                    move up/back 8
D0/13DD: 00                       [$00]
D0/13DE: 8A                       loop end
D0/13DF: 89 58                    loop start (88 times)
D0/13E1: 00                       [$00]
D0/13E2: 00                       [$00]
D0/13E3: 8A                       loop end
D0/13E4: 90 00                    set animation tile priority to 0
D0/13E6: 89 17                    loop start (23 times)
D0/13E8: 00                       [$00]
D0/13E9: 00                       [$00]
D0/13EA: 8A                       loop end
D0/13EB: 90 30                    set animation tile priority to 3
D0/13ED: 89 17                    loop start (23 times)
D0/13EF: 00                       [$00]
D0/13F0: 00                       [$00]
D0/13F1: 8A                       loop end
D0/13F2: 89 0F                    loop start (15 times)
D0/13F4: 83 07                    move down/forward 8
D0/13F6: 00                       [$00]
D0/13F7: 8A                       loop end
D0/13F8: FF                       end of script

D0/13F9: 83 67                    move forward 8
D0/13FB: 1F                       [---]
D0/13FC: 1F                       [---]
D0/13FD: 83 5F                    move down/back 32
D0/13FF: 83 5F                    move down/back 32
D0/1401: 83 5F                    move down/back 32
D0/1403: 83 5F                    move down/back 32
D0/1405: 89 0F                    loop start (15 times)
D0/1407: 1F                       [---]
D0/1408: 8A                       loop end
D0/1409: 89 0F                    loop start (15 times)
D0/140B: 83 A7                    move up/forward 8
D0/140D: 01                       [$01]
D0/140E: 8A                       loop end
D0/140F: 89 88                    loop start (136 times)
D0/1411: 01                       [$01]
D0/1412: 01                       [$01]
D0/1413: 8A                       loop end
D0/1414: 89 0F                    loop start (15 times)
D0/1416: 83 47                    move down/back 8
D0/1418: 01                       [$01]
D0/1419: 8A                       loop end
D0/141A: FF                       end of script

; [ Animation Script $0166: Tek Laser (sprite) ]

D0/141B: 30 20                    speed 4, align to center of character/monster
D0/141D: C9 85                    play sound effect $85
D0/141F: EB                       jump based on thread ($1426, $142A, $142A)
D0/1426: 8B 14                    animated loop start (20 times, increment frame offset each time)
D0/1428: 00                       [$00]
D0/1429: 8C                       animated loop end
D0/142A: FF                       end of script

; [ Animation Script $0165: Tek Laser (bg1) ]

D0/142B: 20 20                    speed 3, align to center of character/monster
D0/142D: D1 01                    invalidate character/monster sprite priority
D0/142F: C9 00                    play default sound effect
D0/1431: 89 03                    loop start (3 times)
D0/1433: 83 9E                    move back 31
D0/1435: 8A                       loop end
D0/1436: 8B 06                    animated loop start (6 times, increment frame offset each time)
D0/1438: 00                       [$00]
D0/1439: 8C                       animated loop end
D0/143A: C2 60                    unpause bg3 thread, unpause sprite threads
D0/143C: 82 16 16                 change target graphic to 22 (hit)
D0/143F: 07                       [$07]
D0/1440: 08                       [$08]
D0/1441: 09                       [$09]
D0/1442: 89 0F                    loop start (15 times)
D0/1444: 0F                       [$0F]
D0/1445: 8A                       loop end
D0/1446: 82 00 00                 change target graphic to 0 (no action)
D0/1449: FF                       end of script

; [ Animation Script $0175: ChokeSmoke (bg1) ]

D0/144A: 20 00                    speed 3, align to bottom of character/monster
D0/144C: 83 8F                    move back 16
D0/144E: C9 00                    play default sound effect
D0/1450: 8B 05                    animated loop start (5 times, increment frame offset each time)
D0/1452: 00                       [$00]
D0/1453: 8C                       animated loop end
D0/1454: 83 87                    move back 8
D0/1456: 06                       [$06]
D0/1457: 07                       [$07]
D0/1458: 08                       [$08]
D0/1459: 09                       [$09]
D0/145A: 0A                       [$0A]
D0/145B: 0B                       [$0B]
D0/145C: 84 01                    set animation speed to 2
D0/145E: 89 0F                    loop start (15 times)
D0/1460: 83 60                    move forward 1
D0/1462: 0B                       [$0B]
D0/1463: 8A                       loop end
D0/1464: F7 A0                    wait until scanline 160
D0/1466: D4 02 01 12              add (sprites, bg2) to (bg1)
D0/146A: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/146C: 89 1F                    loop start (31 times)
D0/146E: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/1470: 0B                       [$0B]
D0/1471: 8A                       loop end
D0/1472: FF                       end of script

; [ Animation Script $020C: HyperDrive (sprite) ]

D0/1473: 00 00                    speed 1, align to bottom of character/monster
D0/1475: 85                       move to attacker position
D0/1476: 95                       calculate vector from attacker to target
D0/1477: 83 7F                    move forward 32
D0/1479: 93 00                    move to vector position 0
D0/147B: EB                       jump based on thread ($14BA, $1488, $1492, $149C, $14A6, $14B0)
D0/1488: 89 01                    loop start (1 times)
D0/148A: 1F                       [---]
D0/148B: 8A                       loop end
D0/148C: 01                       [$01]
D0/148D: 02                       [$02]
D0/148E: 92 10 04                 move along vector at speed 16, branch to $148C
D0/1491: FF                       end of script

D0/1492: 89 03                    loop start (3 times)
D0/1494: 1F                       [---]
D0/1495: 8A                       loop end
D0/1496: 02                       [$02]
D0/1497: 03                       [$03]
D0/1498: 92 10 04                 move along vector at speed 16, branch to $1496
D0/149B: FF                       end of script

D0/149C: 89 05                    loop start (5 times)
D0/149E: 1F                       [---]
D0/149F: 8A                       loop end
D0/14A0: 03                       [$03]
D0/14A1: 04                       [$04]
D0/14A2: 92 10 04                 move along vector at speed 16, branch to $14A0
D0/14A5: FF                       end of script

D0/14A6: 89 07                    loop start (7 times)
D0/14A8: 1F                       [---]
D0/14A9: 8A                       loop end
D0/14AA: 04                       [$04]
D0/14AB: 05                       [$05]
D0/14AC: 92 10 04                 move along vector at speed 16, branch to $14AA
D0/14AF: FF                       end of script

D0/14B0: 89 09                    loop start (9 times)
D0/14B2: 1F                       [---]
D0/14B3: 8A                       loop end
D0/14B4: 05                       [$05]
D0/14B5: 06                       [$06]
D0/14B6: 92 10 04                 move along vector at speed 16, branch to $14B4
D0/14B9: FF                       end of script

D0/14BA: C9 00                    play default sound effect
D0/14BC: 00                       [$00]
D0/14BD: 01                       [$01]
D0/14BE: 92 10 04                 move along vector at speed 16, branch to $14BC
D0/14C1: F7 A0                    wait until scanline 160
D0/14C3: D4 02 01 12              add (sprites, bg2) to (bg1)
D0/14C7: C9 19                    play sound effect $19
D0/14C9: A5 00 00 00 FF FF 80 00  init circle at (0,0)
D0/14D1: C3                       move circle to target
D0/14D2: 80 17                    update sprite layer priority based on target
D0/14D4: EC 01                    change thread layer to bg1
D0/14D6: 89 18                    loop start (24 times)
D0/14D8: A6 00 00 02              move circle (+0,+0) and grow by 2
D0/14DC: A7                       update circle
D0/14DD: 00                       [$00]
D0/14DE: 8A                       loop end
D0/14DF: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/14E1: 89 0F                    loop start (15 times)
D0/14E3: A6 00 00 02              move circle (+0,+0) and grow by 2
D0/14E7: A7                       update circle
D0/14E8: CF E2                    increase bg1 animation palette color subtraction by 2 (black)
D0/14EA: 00                       [$00]
D0/14EB: 8A                       loop end
D0/14EC: FF                       end of script

; [ Animation Script $00CB: Grand Train (bg1) ]

D0/14ED: 00 A0                    speed 1, align to center of screen
D0/14EF: D1 01                    invalidate character/monster sprite priority
D0/14F1: C4 80                    move bg1 thread to this thread's position
D0/14F3: F7 A0                    wait until scanline 160
D0/14F5: D4 02 04 11              add (sprites, bg1) to (bg3)
D0/14F9: 80 45 3C                 enable bg1 in window 2
D0/14FC: 89 89                    loop start (137 times)
D0/14FE: A4 17 32                 shift colors (1..8) of bg1 animation/esper palette right (3 loops per shift)
D0/1501: 00                       [$00]
D0/1502: 8A                       loop end
D0/1503: FF                       end of script

; [ Animation Script $00D4: GrandTrain (bg3) ]

D0/1504: 00 A0                    speed 1, align to center of screen
D0/1506: C4 40                    move bg3 thread to this thread's position
D0/1508: D0 20                    set tile priority to 2 for all character/monster sprites
D0/150A: DD 80 50 00 00           init triangle at (128,80)
D0/150F: 00                       [$00]
D0/1510: BD 50                    hide bg3 thread
D0/1512: 80 8C 00                 play sound effect $00 (pan center)
D0/1515: 89 38                    loop start (56 times)
D0/1517: E0 00 00 03 04           move triangle (+0,+0) and change diameter by +3, rotate +4 units
D0/151C: F6                       update triangle 3d
D0/151D: 00                       [$00]
D0/151E: 8A                       loop end
D0/151F: 89 30                    loop start (48 times)
D0/1521: E0 00 00 00 04           move triangle (+0,+0), rotate +4 units
D0/1526: F6                       update triangle 3d
D0/1527: 00                       [$00]
D0/1528: 8A                       loop end
D0/1529: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/152B: AA E0                    set bg3 animation palette color subtraction to 0 (black)
D0/152D: 89 1F                    loop start (31 times)
D0/152F: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/1531: B4 E1                    increase bg3 animation palette color subtraction by 1 (black)
D0/1533: E0 00 00 00 04           move triangle (+0,+0), rotate +4 units
D0/1538: F6                       update triangle 3d
D0/1539: 00                       [$00]
D0/153A: 8A                       loop end
D0/153B: FF                       end of script

; [ Animation Script $01E0: Wild Fang (sprite) ]

D0/153C: 00 00                    speed 1, align to bottom of character/monster
D0/153E: 89 07                    loop start (7 times)
D0/1540: 83 9F                    move back 32
D0/1542: 8A                       loop end
D0/1543: BF 55 15                 jump to subroutine $1555
D0/1546: C9 C3                    play sound effect $C3
D0/1548: 84 04                    set animation speed to 5
D0/154A: 01                       [$01]
D0/154B: 03                       [$03]
D0/154C: 04                       [$04]
D0/154D: 03                       [$03]
D0/154E: 01                       [$01]
D0/154F: 84 01                    set animation speed to 2
D0/1551: BF 55 15                 jump to subroutine $1555
D0/1554: FF                       end of script

D0/1555: 89 04                    loop start (4 times)
D0/1557: C9 00                    play default sound effect
D0/1559: 83 63                    move forward 4
D0/155B: 00                       [$00]
D0/155C: 83 63                    move forward 4
D0/155E: 00                       [$00]
D0/155F: 83 63                    move forward 4
D0/1561: 00                       [$00]
D0/1562: 83 63                    move forward 4
D0/1564: 00                       [$00]
D0/1565: 83 63                    move forward 4
D0/1567: 01                       [$01]
D0/1568: 83 63                    move forward 4
D0/156A: 01                       [$01]
D0/156B: 83 63                    move forward 4
D0/156D: 01                       [$01]
D0/156E: 83 63                    move forward 4
D0/1570: 01                       [$01]
D0/1571: 83 63                    move forward 4
D0/1573: 02                       [$02]
D0/1574: 83 63                    move forward 4
D0/1576: 02                       [$02]
D0/1577: 83 63                    move forward 4
D0/1579: 02                       [$02]
D0/157A: 83 63                    move forward 4
D0/157C: 02                       [$02]
D0/157D: 8A                       loop end
D0/157E: C0                       return from subroutine

; [ Animation Script $01E4: Takedown (sprite) ]

D0/157F: 00 00                    speed 1, align to bottom of character/monster
D0/1581: 89 07                    loop start (7 times)
D0/1583: 83 9F                    move back 32
D0/1585: 8A                       loop end
D0/1586: BF 55 15                 jump to subroutine $1555
D0/1589: C2 80                    unpause bg1 thread
D0/158B: BF 55 15                 jump to subroutine $1555
D0/158E: FF                       end of script

; [ Animation Script $01E5: Takedown (bg1) ]

D0/158F: 40 20                    speed 5, align to center of character/monster
D0/1591: C9 94                    play sound effect $94
D0/1593: 8B 03                    animated loop start (3 times, increment frame offset each time)
D0/1595: 00                       [$00]
D0/1596: 8C                       animated loop end
D0/1597: FF                       end of script

; [ Animation Script $0189: L? Pearl (sprite) ]

D0/1598: 10 00                    speed 2, align to bottom of character/monster
D0/159A: 89 04                    loop start (4 times)
D0/159C: 83 FF                    move up/back 32
D0/159E: 8A                       loop end
D0/159F: C9 00                    play default sound effect
D0/15A1: 89 09                    loop start (9 times)
D0/15A3: 83 0F                    move down/forward 16
D0/15A5: 04                       [$04]
D0/15A6: 8A                       loop end
D0/15A7: 03                       [$03]
D0/15A8: 02                       [$02]
D0/15A9: 01                       [$01]
D0/15AA: 00                       [$00]
D0/15AB: 80 17                    update sprite layer priority based on target
D0/15AD: EC 01                    change thread layer to bg1
D0/15AF: 80 6B                    command $80/$6B
D0/15B1: C9 85                    play sound effect $85
D0/15B3: 84 03                    set animation speed to 4
D0/15B5: 8B 0D                    animated loop start (13 times, increment frame offset each time)
D0/15B7: 00                       [$00]
D0/15B8: 8C                       animated loop end
D0/15B9: FF                       end of script

; [ Animation Script $018D: Aero (bg1) ]

D0/15BA: 00 20                    speed 1, align to center of character/monster
D0/15BC: D1 01                    invalidate character/monster sprite priority
D0/15BE: C4 80                    move bg1 thread to this thread's position
D0/15C0: D0 20                    set tile priority to 2 for all character/monster sprites
D0/15C2: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/15C4: AA FF                    set bg3 animation palette color subtraction to 31 (black)
D0/15C6: F7 A0                    wait until scanline 160
D0/15C8: D4 02 05 12              add (sprites, bg2) to (bg3, bg1)
D0/15CC: C9 00                    play default sound effect
D0/15CE: AD 82                    set bg3 hdma scroll type to 2
D0/15D0: 00                       [$00]
D0/15D1: BD A0                    hide bg1 thread
D0/15D3: 89 1F                    loop start (31 times)
D0/15D5: CF F1                    decrease bg1 animation palette color subtraction by 1 (black)
D0/15D7: B4 F1                    decrease bg3 animation palette color subtraction by 1 (black)
D0/15D9: A4 17 31                 shift colors (1..8) of bg1 animation/esper palette right (3 loops per shift)
D0/15DC: 00                       [$00]
D0/15DD: 8A                       loop end
D0/15DE: 89 80                    loop start (128 times)
D0/15E0: A4 17 31                 shift colors (1..8) of bg1 animation/esper palette right (3 loops per shift)
D0/15E3: 00                       [$00]
D0/15E4: 8A                       loop end
D0/15E5: 89 1F                    loop start (31 times)
D0/15E7: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/15E9: B4 E1                    increase bg3 animation palette color subtraction by 1 (black)
D0/15EB: A4 17 31                 shift colors (1..8) of bg1 animation/esper palette right (3 loops per shift)
D0/15EE: 00                       [$00]
D0/15EF: 8A                       loop end
D0/15F0: F7 A0                    wait until scanline 160
D0/15F2: AD 85                    set bg3 hdma scroll type to 5
D0/15F4: FF                       end of script

; [ Animation Script $0191: Aero (bg3) ]

D0/15F5: 00 20                    speed 1, align to center of character/monster
D0/15F7: C4 40                    move bg3 thread to this thread's position
D0/15F9: 00                       [$00]
D0/15FA: BD 50                    hide bg3 thread
D0/15FC: 89 C0                    loop start (192 times)
D0/15FE: 80 50 00                 command $80/$50
D0/1601: 00                       [$00]
D0/1602: 8A                       loop end
D0/1603: 80 24                    clear bg3 hdma scroll data
D0/1605: FF                       end of script

; [ Animation Script $0197: Cyclonic (sprite) ]

D0/1606: 00 20                    speed 1, align to center of character/monster
D0/1608: 89 0F                    loop start (15 times)
D0/160A: 1F                       [---]
D0/160B: 8A                       loop end
D0/160C: 84 02                    set animation speed to 3
D0/160E: 82 16 46                 change target graphic to 22 (hit)
D0/1611: 89 06                    loop start (6 times)
D0/1613: 00                       [$00]
D0/1614: 01                       [$01]
D0/1615: 02                       [$02]
D0/1616: 8A                       loop end
D0/1617: 82 00 00                 change target graphic to 0 (no action)
D0/161A: FF                       end of script

; [ Animation Script $01B2: Big Guard (sprite) ]

D0/161B: 00 20                    speed 1, align to center of character/monster
D0/161D: EB                       jump based on thread ($1626, $1630, $1641, $1641)
D0/1626: C9 00                    play default sound effect
D0/1628: 8B 0A                    animated loop start (10 times, increment frame offset each time)
D0/162A: 00                       [$00]
D0/162B: 00                       [$00]
D0/162C: 00                       [$00]
D0/162D: 00                       [$00]
D0/162E: 8C                       animated loop end
D0/162F: FF                       end of script

D0/1630: 83 47                    move down/back 8
D0/1632: 89 1C                    loop start (28 times)
D0/1634: 1F                       [---]
D0/1635: 8A                       loop end
D0/1636: 80 17                    update sprite layer priority based on target
D0/1638: EC 01                    change thread layer to bg1
D0/163A: 89 40                    loop start (64 times)
D0/163C: A3 17 34                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/163F: 00                       [$00]
D0/1640: 8A                       loop end
D0/1641: FF                       end of script

; [ Animation Script $0182:  ]

D0/1642: 20 20                    speed 3, align to center of character/monster
D0/1644: 89 14                    loop start (20 times)
D0/1646: 1F                       [---]
D0/1647: 8A                       loop end
D0/1648: 8B 0A                    animated loop start (10 times, increment frame offset each time)
D0/164A: 00                       [$00]
D0/164B: 8C                       animated loop end
D0/164C: FF                       end of script

; [ Animation Script $0183: Train (bg1) ]

D0/164D: 00 A0                    speed 1, align to center of screen
D0/164F: C4 80                    move bg1 thread to this thread's position
D0/1651: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/1653: 00                       [$00]
D0/1654: BD A0                    hide bg1 thread
D0/1656: C9 00                    play default sound effect
D0/1658: 89 1F                    loop start (31 times)
D0/165A: CF F1                    decrease bg1 animation palette color subtraction by 1 (black)
D0/165C: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/165F: 00                       [$00]
D0/1660: 8A                       loop end
D0/1661: 89 48                    loop start (72 times)
D0/1663: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/1666: 00                       [$00]
D0/1667: 8A                       loop end
D0/1668: 89 1F                    loop start (31 times)
D0/166A: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/166C: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/166F: 00                       [$00]
D0/1670: 8A                       loop end
D0/1671: FF                       end of script

; [ Animation Script $0184: Train (bg3) ]

D0/1672: 00 A0                    speed 1, align to center of screen
D0/1674: D1 01                    invalidate character/monster sprite priority
D0/1676: C4 40                    move bg3 thread to this thread's position
D0/1678: D0 20                    set tile priority to 2 for all character/monster sprites
D0/167A: DD 80 50 00 00           init triangle at (128,80)
D0/167F: 00                       [$00]
D0/1680: BD 50                    hide bg3 thread
D0/1682: 89 38                    loop start (56 times)
D0/1684: E0 00 00 03 04           move triangle (+0,+0) and change diameter by +3, rotate +4 units
D0/1689: F6                       update triangle 3d
D0/168A: 00                       [$00]
D0/168B: 8A                       loop end
D0/168C: 89 30                    loop start (48 times)
D0/168E: E0 00 00 00 04           move triangle (+0,+0), rotate +4 units
D0/1693: F6                       update triangle 3d
D0/1694: 00                       [$00]
D0/1695: 8A                       loop end
D0/1696: AA E0                    set bg3 animation palette color subtraction to 0 (black)
D0/1698: 89 1F                    loop start (31 times)
D0/169A: B4 E1                    increase bg3 animation palette color subtraction by 1 (black)
D0/169C: E0 00 00 00 04           move triangle (+0,+0), rotate +4 units
D0/16A1: F6                       update triangle 3d
D0/16A2: 00                       [$00]
D0/16A3: 8A                       loop end
D0/16A4: FF                       end of script

; [ Animation Script $018F: Aqua Rake (bg1) ]

D0/16A5: 40 20                    speed 5, align to center of character/monster
D0/16A7: D0 20                    set tile priority to 2 for all character/monster sprites
D0/16A9: C9 00                    play default sound effect
D0/16AB: 8B 0E                    animated loop start (14 times, increment frame offset each time)
D0/16AD: 00                       [$00]
D0/16AE: 8C                       animated loop end
D0/16AF: 8B 0E                    animated loop start (14 times, increment frame offset each time)
D0/16B1: 00                       [$00]
D0/16B2: 8C                       animated loop end
D0/16B3: FF                       end of script

; [ Animation Script $0180: CleanSweep (bg1) ]

D0/16B4: 00 20                    speed 1, align to center of character/monster
D0/16B6: C9 00                    play default sound effect
D0/16B8: D0 30                    set tile priority to 3 for all character/monster sprites
D0/16BA: D1 01                    invalidate character/monster sprite priority
D0/16BC: C4 80                    move bg1 thread to this thread's position
D0/16BE: 83 3F                    move down 32
D0/16C0: 83 3F                    move down 32
D0/16C2: 83 2F                    move down 16
D0/16C4: 89 24                    loop start (36 times)
D0/16C6: 83 C0                    move up 1
D0/16C8: 83 81                    move back 2
D0/16CA: 98 02 04                 increment frame offset every 2 loops (0..4)
D0/16CD: 0B                       [$0B]
D0/16CE: 83 61                    move forward 2
D0/16D0: 98 02 04                 increment frame offset every 2 loops (0..4)
D0/16D3: 0B                       [$0B]
D0/16D4: 8A                       loop end
D0/16D5: 89 08                    loop start (8 times)
D0/16D7: 83 C2                    move up 3
D0/16D9: 83 81                    move back 2
D0/16DB: 98 02 04                 increment frame offset every 2 loops (0..4)
D0/16DE: 0B                       [$0B]
D0/16DF: 83 C2                    move up 3
D0/16E1: 83 61                    move forward 2
D0/16E3: 98 02 04                 increment frame offset every 2 loops (0..4)
D0/16E6: 0B                       [$0B]
D0/16E7: 8A                       loop end
D0/16E8: AF C0                    set background color subtraction to 0 (blue)
D0/16EA: AC 41 42                 set (bg2) hdma scroll data (amplitude 2, frequency 1, horizontal)
D0/16ED: 89 08                    loop start (8 times)
D0/16EF: 98 02 04                 increment frame offset every 2 loops (0..4)
D0/16F2: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/16F4: F7 A0                    wait until scanline 160
D0/16F6: B6 C4                    increase background color subtraction by 4 (blue)
D0/16F8: 0B                       [$0B]
D0/16F9: 8A                       loop end
D0/16FA: 80 4E                    clear frame offset
D0/16FC: F7 A0                    wait until scanline 160
D0/16FE: AD 03                    set bg1 hdma scroll type to 3
D0/1700: C4 80                    move bg1 thread to this thread's position
D0/1702: 80 45 33                 enable bg1 in window 1
D0/1705: 89 08                    loop start (8 times)
D0/1707: 83 9F                    move back 32
D0/1709: 8A                       loop end
D0/170A: D0 20                    set tile priority to 2 for all character/monster sprites
D0/170C: BF 25 17                 jump to subroutine $1725
D0/170F: BF 25 17                 jump to subroutine $1725
D0/1712: 80 3E 12                 enable (sprites, bg2) in main screen
D0/1715: 89 1F                    loop start (31 times)
D0/1717: B6 D4                    decrease background color subtraction by 4 (blue)
D0/1719: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/171B: 0F                       [$0F]
D0/171C: 8A                       loop end
D0/171D: F7 A0                    wait until scanline 160
D0/171F: AC 40 40                 set (bg2) hdma scroll data (amplitude 0, frequency 0, horizontal)
D0/1722: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/1724: FF                       end of script

D0/1725: 8B 0A                    animated loop start (10 times, increment frame offset each time)
D0/1727: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/1729: 83 63                    move forward 4
D0/172B: 00                       [$00]
D0/172C: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/172E: 83 63                    move forward 4
D0/1730: 00                       [$00]
D0/1731: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/1733: 83 63                    move forward 4
D0/1735: 00                       [$00]
D0/1736: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/1738: 83 63                    move forward 4
D0/173A: 00                       [$00]
D0/173B: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/173D: 83 63                    move forward 4
D0/173F: 00                       [$00]
D0/1740: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/1742: 83 63                    move forward 4
D0/1744: 00                       [$00]
D0/1745: 8C                       animated loop end
D0/1746: C0                       return from subroutine

; [ Animation Script $00F9: Wall (sprite) ]

D0/1747: 00 20                    speed 1, align to center of character/monster
D0/1749: D1 01                    invalidate character/monster sprite priority
D0/174B: 90 00                    set animation tile priority to 0
D0/174D: 89 40                    loop start (64 times)
D0/174F: 1F                       [---]
D0/1750: 8A                       loop end
D0/1751: C9 00                    play default sound effect
D0/1753: 89 40                    loop start (64 times)
D0/1755: 00                       [$00]
D0/1756: 8A                       loop end
D0/1757: 84 04                    set animation speed to 5
D0/1759: 01                       [$01]
D0/175A: 02                       [$02]
D0/175B: 03                       [$03]
D0/175C: 04                       [$04]
D0/175D: 05                       [$05]
D0/175E: 06                       [$06]
D0/175F: 07                       [$07]
D0/1760: FF                       end of script

; [ Animation Script $00FA: Wall (bg1) ]

D0/1761: 00 A0                    speed 1, align to center of screen
D0/1763: D1 01                    invalidate character/monster sprite priority
D0/1765: D0 20                    set tile priority to 2 for all character/monster sprites
D0/1767: 80 2E 80 50              move to (128,80)
D0/176B: 80 8C 18                 play sound effect $18 (pan center)
D0/176E: CD FF                    set bg1 animation palette color addition to 31 (white)
D0/1770: 89 1F                    loop start (31 times)
D0/1772: CE F1                    decrease bg1 animation palette color addition by 1 (white)
D0/1774: A3 17 B4                 shift colors (1..8) of sprite animation palette left (11 loops per shift)
D0/1777: 00                       [$00]
D0/1778: 8A                       loop end
D0/1779: BD A0                    hide bg1 thread
D0/177B: AF E0                    set background color subtraction to 0 (black)
D0/177D: 89 0F                    loop start (15 times)
D0/177F: B6 61                    increase background color subtraction by 1 (red)
D0/1781: A3 17 B4                 shift colors (1..8) of sprite animation palette left (11 loops per shift)
D0/1784: 0F                       [$0F]
D0/1785: 8A                       loop end
D0/1786: 89 0F                    loop start (15 times)
D0/1788: B6 51                    decrease background color subtraction by 1 (magenta)
D0/178A: A3 17 B4                 shift colors (1..8) of sprite animation palette left (11 loops per shift)
D0/178D: 0F                       [$0F]
D0/178E: 8A                       loop end
D0/178F: 89 0F                    loop start (15 times)
D0/1791: B6 81                    increase background color subtraction by 1 (cyan)
D0/1793: A3 17 B4                 shift colors (1..8) of sprite animation palette left (11 loops per shift)
D0/1796: 0F                       [$0F]
D0/1797: 8A                       loop end
D0/1798: 89 0F                    loop start (15 times)
D0/179A: B6 31                    decrease background color subtraction by 1 (yellow)
D0/179C: A3 17 B4                 shift colors (1..8) of sprite animation palette left (11 loops per shift)
D0/179F: 0F                       [$0F]
D0/17A0: 8A                       loop end
D0/17A1: 89 0F                    loop start (15 times)
D0/17A3: B6 41                    increase background color subtraction by 1 (magenta)
D0/17A5: A3 17 B4                 shift colors (1..8) of sprite animation palette left (11 loops per shift)
D0/17A8: 0F                       [$0F]
D0/17A9: 8A                       loop end
D0/17AA: 89 0F                    loop start (15 times)
D0/17AC: B6 91                    decrease background color subtraction by 1 (cyan)
D0/17AE: A3 17 B4                 shift colors (1..8) of sprite animation palette left (11 loops per shift)
D0/17B1: 0F                       [$0F]
D0/17B2: 8A                       loop end
D0/17B3: 89 0F                    loop start (15 times)
D0/17B5: B6 51                    decrease background color subtraction by 1 (magenta)
D0/17B7: A3 17 B4                 shift colors (1..8) of sprite animation palette left (11 loops per shift)
D0/17BA: 0F                       [$0F]
D0/17BB: 8A                       loop end
D0/17BC: 89 80                    loop start (128 times)
D0/17BE: A3 17 B4                 shift colors (1..8) of sprite animation palette left (11 loops per shift)
D0/17C1: 00                       [$00]
D0/17C2: 8A                       loop end
D0/17C3: C9 18                    play sound effect $18
D0/17C5: 89 0F                    loop start (15 times)
D0/17C7: CE E1                    increase bg1 animation palette color addition by 1 (white)
D0/17C9: A3 17 B4                 shift colors (1..8) of sprite animation palette left (11 loops per shift)
D0/17CC: 00                       [$00]
D0/17CD: CE E1                    increase bg1 animation palette color addition by 1 (white)
D0/17CF: A3 17 B4                 shift colors (1..8) of sprite animation palette left (11 loops per shift)
D0/17D2: 0F                       [$0F]
D0/17D3: 8A                       loop end
D0/17D4: FF                       end of script

; [ Animation Script $00B0: Bserk (sprite) ]

D0/17D5: 30 20                    speed 4, align to center of character/monster
D0/17D7: D1 01                    invalidate character/monster sprite priority
D0/17D9: C9 D3                    play sound effect $D3
D0/17DB: 8B 07                    animated loop start (7 times, increment frame offset each time)
D0/17DD: 00                       [$00]
D0/17DE: 8C                       animated loop end
D0/17DF: C9 47                    play sound effect $47
D0/17E1: 08                       [$08]
D0/17E2: 09                       [$09]
D0/17E3: 0A                       [$0A]
D0/17E4: 0B                       [$0B]
D0/17E5: 84 01                    set animation speed to 2
D0/17E7: F7 A0                    wait until scanline 160
D0/17E9: D4 00 01 00              add fixed color to (bg1)
D0/17ED: C9 67                    play sound effect $67
D0/17EF: 80 33 0B                 update rainbow gradient lines (intensity 4)
D0/17F2: BF 23 18                 jump to subroutine $1823
D0/17F5: 80 33 07                 update rainbow gradient lines (intensity 8)
D0/17F8: BF 23 18                 jump to subroutine $1823
D0/17FB: 80 33 03                 update rainbow gradient lines (intensity 12)
D0/17FE: BF 23 18                 jump to subroutine $1823
D0/1801: 89 40                    loop start (64 times)
D0/1803: 80 33 00                 update rainbow gradient lines (intensity 15)
D0/1806: 1F                       [---]
D0/1807: 8A                       loop end
D0/1808: 80 33 03                 update rainbow gradient lines (intensity 12)
D0/180B: BF 23 18                 jump to subroutine $1823
D0/180E: 80 33 07                 update rainbow gradient lines (intensity 8)
D0/1811: BF 23 18                 jump to subroutine $1823
D0/1814: 80 33 0B                 update rainbow gradient lines (intensity 4)
D0/1817: BF 23 18                 jump to subroutine $1823
D0/181A: 80 33 0F                 update rainbow gradient lines (intensity 0)
D0/181D: BF 23 18                 jump to subroutine $1823
D0/1820: 80 37                    clear fixed color value hdma data
D0/1822: FF                       end of script

D0/1823: 89 07                    loop start (7 times)
D0/1825: 80 33 00                 update rainbow gradient lines (intensity 15)
D0/1828: 1F                       [---]
D0/1829: 8A                       loop end
D0/182A: C0                       return from subroutine

; [ Animation Script $00C9: Bio (sprite) ]

D0/182B: 00 20                    speed 1, align to center of character/monster
D0/182D: C9 00                    play default sound effect
D0/182F: EB                       jump based on thread ($1838, $1844, $1843, $1843)
D0/1838: 90 30                    set animation tile priority to 3
D0/183A: 84 05                    set animation speed to 6
D0/183C: 00                       [$00]
D0/183D: 01                       [$01]
D0/183E: 02                       [$02]
D0/183F: 03                       [$03]
D0/1840: 04                       [$04]
D0/1841: 05                       [$05]
D0/1842: 06                       [$06]
D0/1843: FF                       end of script

D0/1844: F7 A0                    wait until scanline 160
D0/1846: D4 00 00 00              add fixed color to (no layers)
D0/184A: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/184C: 80 17                    update sprite layer priority based on target
D0/184E: EC 01                    change thread layer to bg1
D0/1850: F7 A0                    wait until scanline 160
D0/1852: AD 06                    set bg1 hdma scroll type to 6
D0/1854: AC 81 C4                 set (bg1) hdma scroll data (amplitude 4, frequency 1, horizontal and vertical)
D0/1857: 84 01                    set animation speed to 2
D0/1859: 89 10                    loop start (16 times)
D0/185B: AE C4                    update (bg1) hdma scroll data (horizontal and vertical)
D0/185D: 00                       [$00]
D0/185E: 00                       [$00]
D0/185F: 8A                       loop end
D0/1860: F7 A0                    wait until scanline 160
D0/1862: D4 02 01 12              add (sprites, bg2) to (bg1)
D0/1866: 89 03                    loop start (3 times)
D0/1868: CF E4                    increase bg1 animation palette color subtraction by 4 (black)
D0/186A: AE C4                    update (bg1) hdma scroll data (horizontal and vertical)
D0/186C: 00                       [$00]
D0/186D: CF E4                    increase bg1 animation palette color subtraction by 4 (black)
D0/186F: 00                       [$00]
D0/1870: 8A                       loop end
D0/1871: F7 A0                    wait until scanline 160
D0/1873: AD 03                    set bg1 hdma scroll type to 3
D0/1875: 80 25                    clear bg1 hdma scroll data
D0/1877: FF                       end of script

; [ Animation Script $0223: Event Animation $04: Water Splash (sprite) ]

D0/1878: 00 20                    speed 1, align to center of character/monster
D0/187A: 80 2E 60 60              move to (96,96)
D0/187E: 83 67                    move forward 8
D0/1880: EB                       jump based on thread ($189E, $1893, $188E, $1889)
D0/1889: 83 8F                    move back 16
D0/188B: FA 93 18                 jump to $1893
D0/188E: 83 6F                    move forward 16
D0/1890: FA 93 18                 jump to $1893
D0/1893: 84 04                    set animation speed to 5
D0/1895: 00                       [$00]
D0/1896: 01                       [$01]
D0/1897: 02                       [$02]
D0/1898: 03                       [$03]
D0/1899: 04                       [$04]
D0/189A: 05                       [$05]
D0/189B: 06                       [$06]
D0/189C: 01                       [$01]
D0/189D: 00                       [$00]
D0/189E: FF                       end of script

; [ Animation Script $0222: Event Animation $03: Water Splash (bg1) ]

D0/189F: 00 20                    speed 1, align to center of character/monster
D0/18A1: D1 01                    invalidate character/monster sprite priority
D0/18A3: 80 2E 60 60              move to (96,96)
D0/18A7: 89 35                    loop start (53 times)
D0/18A9: 0F                       [$0F]
D0/18AA: 8A                       loop end
D0/18AB: 83 07                    move down/forward 8
D0/18AD: 84 04                    set animation speed to 5
D0/18AF: 00                       [$00]
D0/18B0: 01                       [$01]
D0/18B1: 02                       [$02]
D0/18B2: 03                       [$03]
D0/18B3: 04                       [$04]
D0/18B4: 05                       [$05]
D0/18B5: 06                       [$06]
D0/18B6: 01                       [$01]
D0/18B7: 00                       [$00]
D0/18B8: FF                       end of script

; [ Animation Script $00E4: Pearl (sprite) ]

D0/18B9: 00 20                    speed 1, align to center of character/monster
D0/18BB: D1 01                    invalidate character/monster sprite priority
D0/18BD: 89 0F                    loop start (15 times)
D0/18BF: 1F                       [---]
D0/18C0: 8A                       loop end
D0/18C1: 80 16                    command $80/$16
D0/18C3: 83 DF                    move up 32
D0/18C5: 83 DF                    move up 32
D0/18C7: 83 DF                    move up 32
D0/18C9: 83 DF                    move up 32
D0/18CB: 83 DF                    move up 32
D0/18CD: EB                       jump based on thread ($18D4, $18DC, $18E2)
D0/18D4: C9 00                    play default sound effect
D0/18D6: EF 40 00                 move in flattened polar coordinates (64,0)
D0/18D9: FA E5 18                 jump to $18E5
D0/18DC: EF 40 55                 move in flattened polar coordinates (64,85)
D0/18DF: FA E5 18                 jump to $18E5
D0/18E2: EF 40 AA                 move in flattened polar coordinates (64,-86)
D0/18E5: 89 A0                    loop start (160 times)
D0/18E7: EF 00 04                 move in flattened polar coordinates (0,4)
D0/18EA: 83 20                    move down 1
D0/18EC: 80 21                    update sprite layer priority based on polar movement angle
D0/18EE: 00                       [$00]
D0/18EF: 8A                       loop end
D0/18F0: EF C0 04                 move in flattened polar coordinates (-64,4)
D0/18F3: C2 80                    unpause bg1 thread
D0/18F5: 84 02                    set animation speed to 3
D0/18F7: 83 AF                    move up/forward 16
D0/18F9: 89 02                    loop start (2 times)
D0/18FB: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/18FE: 01                       [$01]
D0/18FF: 02                       [$02]
D0/1900: 03                       [$03]
D0/1901: 04                       [$04]
D0/1902: 05                       [$05]
D0/1903: 06                       [$06]
D0/1904: 07                       [$07]
D0/1905: 08                       [$08]
D0/1906: 8A                       loop end
D0/1907: FF                       end of script

; [ Animation Script $00E5: Pearl (bg1) ]

D0/1908: 20 20                    speed 3, align to center of character/monster
D0/190A: 8B 0D                    animated loop start (13 times, increment frame offset each time)
D0/190C: 00                       [$00]
D0/190D: 8C                       animated loop end
D0/190E: B0 E0                    set background color addition to 0 (white)
D0/1910: 8B 0D                    animated loop start (13 times, increment frame offset each time)
D0/1912: 00                       [$00]
D0/1913: B5 E2                    increase background color addition by 2 (white)
D0/1915: 8C                       animated loop end
D0/1916: 84 01                    set animation speed to 2
D0/1918: 89 20                    loop start (32 times)
D0/191A: 0F                       [$0F]
D0/191B: 8A                       loop end
D0/191C: 89 1B                    loop start (27 times)
D0/191E: B5 F1                    decrease background color addition by 1 (white)
D0/1920: 0F                       [$0F]
D0/1921: 8A                       loop end
D0/1922: FF                       end of script

; [ Animation Script $00E6: Pearl (bg3) ]

D0/1923: 00 20                    speed 1, align to center of character/monster
D0/1925: D1 01                    invalidate character/monster sprite priority
D0/1927: 80 1F                    init bg3 hdma scroll data for pearl (horizontal)
D0/1929: 80 20                    init bg3 hdma scroll data for pearl (vertical)
D0/192B: AA FF                    set bg3 animation palette color subtraction to 31 (black)
D0/192D: C4 40                    move bg3 thread to this thread's position
D0/192F: 80 1E                    scroll bg3 for pearl
D0/1931: AD 82                    set bg3 hdma scroll type to 2
D0/1933: EA 42                    set bg3 tile data quadrant to 2
D0/1935: 00                       [$00]
D0/1936: EA 41                    set bg3 tile data quadrant to 1
D0/1938: 00                       [$00]
D0/1939: EA 43                    set bg3 tile data quadrant to 3
D0/193B: 00                       [$00]
D0/193C: 89 07                    loop start (7 times)
D0/193E: B6 C2                    increase background color subtraction by 2 (blue)
D0/1940: 00                       [$00]
D0/1941: 8A                       loop end
D0/1942: 89 1F                    loop start (31 times)
D0/1944: B4 F1                    decrease bg3 animation palette color subtraction by 1 (black)
D0/1946: 80 1E                    scroll bg3 for pearl
D0/1948: 00                       [$00]
D0/1949: 8A                       loop end
D0/194A: 89 E0                    loop start (224 times)
D0/194C: 80 1E                    scroll bg3 for pearl
D0/194E: 00                       [$00]
D0/194F: 8A                       loop end
D0/1950: 89 1F                    loop start (31 times)
D0/1952: B4 E1                    increase bg3 animation palette color subtraction by 1 (black)
D0/1954: 80 1E                    scroll bg3 for pearl
D0/1956: 00                       [$00]
D0/1957: 8A                       loop end
D0/1958: EA 41                    set bg3 tile data quadrant to 1
D0/195A: 09                       [$09]
D0/195B: EA 42                    set bg3 tile data quadrant to 2
D0/195D: 09                       [$09]
D0/195E: EA 43                    set bg3 tile data quadrant to 3
D0/1960: 09                       [$09]
D0/1961: AD 85                    set bg3 hdma scroll type to 5
D0/1963: 80 24                    clear bg3 hdma scroll data
D0/1965: FF                       end of script

; [ Animation Script $00E0: Ice 3 (sprite) ]

D0/1966: 20 20                    speed 3, align to center of character/monster
D0/1968: D1 01                    invalidate character/monster sprite priority
D0/196A: C9 00                    play default sound effect
D0/196C: 83 27                    move down 8
D0/196E: 00                       [$00]
D0/196F: 01                       [$01]
D0/1970: 02                       [$02]
D0/1971: 03                       [$03]
D0/1972: 04                       [$04]
D0/1973: 05                       [$05]
D0/1974: 06                       [$06]
D0/1975: 07                       [$07]
D0/1976: 08                       [$08]
D0/1977: 09                       [$09]
D0/1978: B0 FF                    set background color addition to 31 (white)
D0/197A: 0A                       [$0A]
D0/197B: B5 F4                    decrease background color addition by 4 (white)
D0/197D: 0B                       [$0B]
D0/197E: B5 F4                    decrease background color addition by 4 (white)
D0/1980: 0C                       [$0C]
D0/1981: B5 F4                    decrease background color addition by 4 (white)
D0/1983: 0D                       [$0D]
D0/1984: B5 F4                    decrease background color addition by 4 (white)
D0/1986: 0E                       [$0E]
D0/1987: B5 F4                    decrease background color addition by 4 (white)
D0/1989: 0F                       [$0F]
D0/198A: B5 F4                    decrease background color addition by 4 (white)
D0/198C: 10                       [$10]
D0/198D: B5 F4                    decrease background color addition by 4 (white)
D0/198F: 11                       [$11]
D0/1990: B5 F4                    decrease background color addition by 4 (white)
D0/1992: 12                       [$12]
D0/1993: 13                       [$13]
D0/1994: 14                       [$14]
D0/1995: 15                       [$15]
D0/1996: 16                       [$16]
D0/1997: 84 01                    set animation speed to 2
D0/1999: 1F                       [---]
D0/199A: 1F                       [---]
D0/199B: 1F                       [---]
D0/199C: 80 6A                    align bottom of thread with bottom of target
D0/199E: 83 2F                    move down 16
D0/19A0: EC 01                    change thread layer to bg1
D0/19A2: 80 17                    update sprite layer priority based on target
D0/19A4: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/19A6: F7 A0                    wait until scanline 160
D0/19A8: D4 02 01 12              add (sprites, bg2) to (bg1)
D0/19AC: F7 A0                    wait until scanline 160
D0/19AE: D4 02 01 10              add (sprites) to (bg1)
D0/19B2: 89 0F                    loop start (15 times)
D0/19B4: 00                       [$00]
D0/19B5: 8A                       loop end
D0/19B6: F7 A0                    wait until scanline 160
D0/19B8: D4 02 01 12              add (sprites, bg2) to (bg1)
D0/19BC: 89 07                    loop start (7 times)
D0/19BE: CF E4                    increase bg1 animation palette color subtraction by 4 (black)
D0/19C0: 00                       [$00]
D0/19C1: 8A                       loop end
D0/19C2: FF                       end of script

; [ Animation Script $00C4: Fire 3 (sprite) ]

D0/19C3: 00 00                    speed 1, align to bottom of character/monster
D0/19C5: D1 01                    invalidate character/monster sprite priority
D0/19C7: 89 04                    loop start (4 times)
D0/19C9: 83 FF                    move up/back 32
D0/19CB: 8A                       loop end
D0/19CC: EB                       jump based on thread ($19F0, $19D5, $19DD, $19E6)
D0/19D5: 1F                       [---]
D0/19D6: 89 13                    loop start (19 times)
D0/19D8: 83 07                    move down/forward 8
D0/19DA: 01                       [$01]
D0/19DB: 8A                       loop end
D0/19DC: FF                       end of script

D0/19DD: 1F                       [---]
D0/19DE: 1F                       [---]
D0/19DF: 89 13                    loop start (19 times)
D0/19E1: 83 07                    move down/forward 8
D0/19E3: 02                       [$02]
D0/19E4: 8A                       loop end
D0/19E5: FF                       end of script

D0/19E6: 1F                       [---]
D0/19E7: 1F                       [---]
D0/19E8: 1F                       [---]
D0/19E9: 89 13                    loop start (19 times)
D0/19EB: 83 07                    move down/forward 8
D0/19ED: 03                       [$03]
D0/19EE: 8A                       loop end
D0/19EF: FF                       end of script

D0/19F0: C9 00                    play default sound effect
D0/19F2: 89 13                    loop start (19 times)
D0/19F4: 83 07                    move down/forward 8
D0/19F6: 00                       [$00]
D0/19F7: 8A                       loop end
D0/19F8: 84 03                    set animation speed to 4
D0/19FA: B0 9F                    set background color addition to 31 (red)
D0/19FC: F7 A0                    wait until scanline 160
D0/19FE: D4 00 00 00              add fixed color to (no layers)
D0/1A02: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/1A04: EC 01                    change thread layer to bg1
D0/1A06: 80 17                    update sprite layer priority based on target
D0/1A08: 00                       [$00]
D0/1A09: 01                       [$01]
D0/1A0A: 02                       [$02]
D0/1A0B: 03                       [$03]
D0/1A0C: 04                       [$04]
D0/1A0D: 05                       [$05]
D0/1A0E: 84 01                    set animation speed to 2
D0/1A10: F7 A0                    wait until scanline 160
D0/1A12: D4 02 01 12              add (sprites, bg2) to (bg1)
D0/1A16: 83 CF                    move up 16
D0/1A18: 89 07                    loop start (7 times)
D0/1A1A: CF E4                    increase bg1 animation palette color subtraction by 4 (black)
D0/1A1C: B5 94                    decrease background color addition by 4 (red)
D0/1A1E: 06                       [$06]
D0/1A1F: 8A                       loop end
D0/1A20: FF                       end of script

; [ Animation Script $00ED: Sleep (bg1) ]

D0/1A21: 00 20                    speed 1, align to center of character/monster
D0/1A23: AF E0                    set background color subtraction to 0 (black)
D0/1A25: BD A0                    hide bg1 thread
D0/1A27: 89 07                    loop start (7 times)
D0/1A29: B6 E1                    increase background color subtraction by 1 (black)
D0/1A2B: 0F                       [$0F]
D0/1A2C: 8A                       loop end
D0/1A2D: 89 80                    loop start (128 times)
D0/1A2F: 0F                       [$0F]
D0/1A30: 8A                       loop end
D0/1A31: 89 07                    loop start (7 times)
D0/1A33: B6 F1                    decrease background color subtraction by 1 (black)
D0/1A35: 0F                       [$0F]
D0/1A36: 8A                       loop end
D0/1A37: FF                       end of script

; [ Animation Script $00A8: Sleep (sprite) ]

D0/1A38: 00 20                    speed 1, align to center of character/monster
D0/1A3A: D1 01                    invalidate character/monster sprite priority
D0/1A3C: 83 CF                    move up 16
D0/1A3E: EB                       jump based on thread ($1A47, $1A50, $1A4E, $1A4D)
D0/1A47: C9 00                    play default sound effect
D0/1A49: 89 40                    loop start (64 times)
D0/1A4B: 00                       [$00]
D0/1A4C: 8A                       loop end
D0/1A4D: FF                       end of script

D0/1A4E: 83 67                    move forward 8
D0/1A50: 83 87                    move back 8
D0/1A52: 83 27                    move down 8
D0/1A54: 8B 06                    animated loop start (6 times, increment frame offset each time)
D0/1A56: 83 20                    move down 1
D0/1A58: 01                       [$01]
D0/1A59: 83 20                    move down 1
D0/1A5B: 01                       [$01]
D0/1A5C: 83 20                    move down 1
D0/1A5E: 01                       [$01]
D0/1A5F: 83 20                    move down 1
D0/1A61: 01                       [$01]
D0/1A62: 83 20                    move down 1
D0/1A64: 01                       [$01]
D0/1A65: 83 20                    move down 1
D0/1A67: 01                       [$01]
D0/1A68: 8C                       animated loop end
D0/1A69: FF                       end of script

; [ Animation Script $00D6: Slow 2 (bg1) ]

D0/1A6A: 00 20                    speed 1, align to center of character/monster
D0/1A6C: F7 A0                    wait until scanline 160
D0/1A6E: D4 02 04 12              add (sprites, bg2) to (bg3)
D0/1A72: FF                       end of script

; [ Animation Script $00D5: Safe (bg1) ]

D0/1A73: 00 20                    speed 1, align to center of character/monster
D0/1A75: D1 01                    invalidate character/monster sprite priority
D0/1A77: 89 1F                    loop start (31 times)
D0/1A79: A4 17 33                 shift colors (1..8) of bg1 animation/esper palette right (3 loops per shift)
D0/1A7C: 00                       [$00]
D0/1A7D: 8A                       loop end
D0/1A7E: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/1A80: 89 1F                    loop start (31 times)
D0/1A82: A4 17 33                 shift colors (1..8) of bg1 animation/esper palette right (3 loops per shift)
D0/1A85: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/1A87: 00                       [$00]
D0/1A88: 8A                       loop end
D0/1A89: FF                       end of script

; [ Animation Script $00A9: Safe (sprite) ]

D0/1A8A: 00 20                    speed 1, align to center of character/monster
D0/1A8C: C9 00                    play default sound effect
D0/1A8E: 89 40                    loop start (64 times)
D0/1A90: 1F                       [---]
D0/1A91: 8A                       loop end
D0/1A92: 84 06                    set animation speed to 7
D0/1A94: 8B 05                    animated loop start (5 times, increment frame offset each time)
D0/1A96: 00                       [$00]
D0/1A97: 8C                       animated loop end
D0/1A98: FF                       end of script

; [ Animation Script $00D3: Demi, Quartr, Reflect??? (sprite) ]

D0/1A99: 00 20                    speed 1, align to center of character/monster
D0/1A9B: D1 01                    invalidate character/monster sprite priority
D0/1A9D: 80 72 01                 branch to $1AA1 if attack hit
D0/1AA0: FF                       end of script

D0/1AA1: 85                       move to attacker position
D0/1AA2: 95                       calculate vector from attacker to target
D0/1AA3: EB                       jump based on thread ($1AAC, $1ACD, $1AD6, $1ADF)
D0/1AAC: C9 00                    play default sound effect
D0/1AAE: 80 5D                    command $80/$5D
D0/1AB0: 03                       [$03]
D0/1AB1: 92 02 05                 move along vector at speed 2, branch to $1AAE
D0/1AB4: 80 5D                    command $80/$5D
D0/1AB6: 04                       [$04]
D0/1AB7: 83 A7                    move up/forward 8
D0/1AB9: 05                       [$05]
D0/1ABA: 06                       [$06]
D0/1ABB: 07                       [$07]
D0/1ABC: 89 40                    loop start (64 times)
D0/1ABE: 07                       [$07]
D0/1ABF: 8A                       loop end
D0/1AC0: 84 03                    set animation speed to 4
D0/1AC2: 07                       [$07]
D0/1AC3: 06                       [$06]
D0/1AC4: 05                       [$05]
D0/1AC5: 83 47                    move down/back 8
D0/1AC7: 04                       [$04]
D0/1AC8: 03                       [$03]
D0/1AC9: 02                       [$02]
D0/1ACA: 01                       [$01]
D0/1ACB: 00                       [$00]
D0/1ACC: FF                       end of script

D0/1ACD: 80 5D                    command $80/$5D
D0/1ACF: 02                       [$02]
D0/1AD0: 92 02 05                 move along vector at speed 2, branch to $1ACD
D0/1AD3: 80 5D                    command $80/$5D
D0/1AD5: FF                       end of script

D0/1AD6: 80 5D                    command $80/$5D
D0/1AD8: 01                       [$01]
D0/1AD9: 92 02 05                 move along vector at speed 2, branch to $1AD6
D0/1ADC: 80 5D                    command $80/$5D
D0/1ADE: FF                       end of script

D0/1ADF: FF                       end of script

; [ Animation Script $00A7: Step Mine (bg1) ]

D0/1AE0: 00 20                    speed 1, align to center of character/monster
D0/1AE2: 85                       move to attacker position
D0/1AE3: 80 69                    update sprite layer priority based on attacker
D0/1AE5: 00                       [$00]
D0/1AE6: 00                       [$00]
D0/1AE7: 00                       [$00]
D0/1AE8: 00                       [$00]
D0/1AE9: 01                       [$01]
D0/1AEA: 01                       [$01]
D0/1AEB: 01                       [$01]
D0/1AEC: 01                       [$01]
D0/1AED: 02                       [$02]
D0/1AEE: 02                       [$02]
D0/1AEF: 02                       [$02]
D0/1AF0: 02                       [$02]
D0/1AF1: 03                       [$03]
D0/1AF2: 03                       [$03]
D0/1AF3: 03                       [$03]
D0/1AF4: 03                       [$03]
D0/1AF5: 89 27                    loop start (39 times)
D0/1AF7: 83 C3                    move up 4
D0/1AF9: 03                       [$03]
D0/1AFA: 8A                       loop end
D0/1AFB: FF                       end of script

; [ Animation Script $0221: Storm (sprite) ]

D0/1AFC: 00 20                    speed 1, align to center of character/monster
D0/1AFE: EE 20                    set target sprite tile priority to 2
D0/1B00: 1F                       [---]
D0/1B01: FF                       end of script

; [ Animation Script $021C: Storm (bg1) ]

D0/1B02: 00 20                    speed 1, align to center of character/monster
D0/1B04: D1 01                    invalidate character/monster sprite priority
D0/1B06: C4 80                    move bg1 thread to this thread's position
D0/1B08: A5 00 00 00 FF FF 80 00  init circle at (0,0)
D0/1B10: 00                       [$00]
D0/1B11: BD A0                    hide bg1 thread
D0/1B13: A8                       move circle to attacker
D0/1B14: C9 00                    play default sound effect
D0/1B16: 89 2A                    loop start (42 times)
D0/1B18: A9 FE 00                 move circle (-2,+0)
D0/1B1B: A6 00 00 02              move circle (+0,+0) and grow by 2
D0/1B1F: A3 16 31                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/1B22: F7 D8                    wait until scanline 216
D0/1B24: A7                       update circle
D0/1B25: 00                       [$00]
D0/1B26: 8A                       loop end
D0/1B27: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/1B29: 89 30                    loop start (48 times)
D0/1B2B: A9 FE 00                 move circle (-2,+0)
D0/1B2E: A6 00 00 02              move circle (+0,+0) and grow by 2
D0/1B32: A3 16 31                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/1B35: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/1B37: F7 D8                    wait until scanline 216
D0/1B39: A7                       update circle
D0/1B3A: 00                       [$00]
D0/1B3B: 8A                       loop end
D0/1B3C: FF                       end of script

; [ Animation Script $0220: 7-Flush (bg1) ]

D0/1B3D: 00 00                    speed 1, align to bottom of character/monster
D0/1B3F: D1 01                    invalidate character/monster sprite priority
D0/1B41: BD A0                    hide bg1 thread
D0/1B43: AF E0                    set background color subtraction to 0 (black)
D0/1B45: 89 0F                    loop start (15 times)
D0/1B47: B6 61                    increase background color subtraction by 1 (red)
D0/1B49: 0F                       [$0F]
D0/1B4A: 8A                       loop end
D0/1B4B: 89 0F                    loop start (15 times)
D0/1B4D: B6 51                    decrease background color subtraction by 1 (magenta)
D0/1B4F: 0F                       [$0F]
D0/1B50: 8A                       loop end
D0/1B51: 89 0F                    loop start (15 times)
D0/1B53: B6 81                    increase background color subtraction by 1 (cyan)
D0/1B55: 0F                       [$0F]
D0/1B56: 8A                       loop end
D0/1B57: 89 0F                    loop start (15 times)
D0/1B59: B6 31                    decrease background color subtraction by 1 (yellow)
D0/1B5B: 0F                       [$0F]
D0/1B5C: 8A                       loop end
D0/1B5D: 89 0F                    loop start (15 times)
D0/1B5F: B6 41                    increase background color subtraction by 1 (magenta)
D0/1B61: 0F                       [$0F]
D0/1B62: 8A                       loop end
D0/1B63: 89 0F                    loop start (15 times)
D0/1B65: B6 91                    decrease background color subtraction by 1 (cyan)
D0/1B67: 0F                       [$0F]
D0/1B68: 8A                       loop end
D0/1B69: 89 0F                    loop start (15 times)
D0/1B6B: B6 51                    decrease background color subtraction by 1 (magenta)
D0/1B6D: 0F                       [$0F]
D0/1B6E: 8A                       loop end
D0/1B6F: FF                       end of script

; [ Animation Script $021F: 7-Flush (sprite) ]

D0/1B70: 00 00                    speed 1, align to bottom of character/monster
D0/1B72: 90 00                    set animation tile priority to 0
D0/1B74: C9 00                    play default sound effect
D0/1B76: EB                       jump based on thread ($1B7F, $1B85, $1B8D, $1BA0)
D0/1B7F: E9 00 0F                 move animation randomly (0..0,0..15)
D0/1B82: FA 92 1B                 jump to $1B92
D0/1B85: E9 00 0F                 move animation randomly (0..0,0..15)
D0/1B88: 83 6F                    move forward 16
D0/1B8A: FA 92 1B                 jump to $1B92
D0/1B8D: E9 00 0F                 move animation randomly (0..0,0..15)
D0/1B90: 83 8F                    move back 16
D0/1B92: C9 00                    play default sound effect
D0/1B94: 8B 0B                    animated loop start (11 times, increment frame offset each time)
D0/1B96: 80 65                    change rainbow palette
D0/1B98: 00                       [$00]
D0/1B99: 80 65                    change rainbow palette
D0/1B9B: 00                       [$00]
D0/1B9C: 80 65                    change rainbow palette
D0/1B9E: 00                       [$00]
D0/1B9F: 8C                       animated loop end
D0/1BA0: FF                       end of script

; [ Animation Script $021D: H-Bomb (sprite) ]

D0/1BA1: 20 20                    speed 3, align to center of character/monster
D0/1BA3: 89 2E                    loop start (46 times)
D0/1BA5: 1F                       [---]
D0/1BA6: 8A                       loop end
D0/1BA7: 83 AF                    move up/forward 16
D0/1BA9: 89 01                    loop start (1 times)
D0/1BAB: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/1BAE: 00                       [$00]
D0/1BAF: 01                       [$01]
D0/1BB0: 02                       [$02]
D0/1BB1: 03                       [$03]
D0/1BB2: 04                       [$04]
D0/1BB3: 05                       [$05]
D0/1BB4: 06                       [$06]
D0/1BB5: 07                       [$07]
D0/1BB6: 08                       [$08]
D0/1BB7: 8A                       loop end
D0/1BB8: FF                       end of script

; [ Animation Script $021E: H-Bomb (bg1) ]

D0/1BB9: 00 A0                    speed 1, align to center of screen
D0/1BBB: D1 01                    invalidate character/monster sprite priority
D0/1BBD: BD A0                    hide bg1 thread
D0/1BBF: C4 80                    move bg1 thread to this thread's position
D0/1BC1: C9 00                    play default sound effect
D0/1BC3: F7 A0                    wait until scanline 160
D0/1BC5: B0 E0                    set background color addition to 0 (white)
D0/1BC7: 89 1F                    loop start (31 times)
D0/1BC9: B5 E1                    increase background color addition by 1 (white)
D0/1BCB: 0F                       [$0F]
D0/1BCC: 8A                       loop end
D0/1BCD: F7 A0                    wait until scanline 160
D0/1BCF: 80 42 00                 disable bg1 mirroring (mode 7)
D0/1BD2: 80 41 00 00 40 50        zoom bg1 (0,0), move bg1 (64,80)
D0/1BD8: 80 41 00 00 38 50        zoom bg1 (0,0), move bg1 (56,80)
D0/1BDE: 89 03                    loop start (3 times)
D0/1BE0: 80 41 C0 C0 00 00        zoom bg1 (-64,-64), move bg1 (0,0)
D0/1BE6: 8A                       loop end
D0/1BE7: 80 3E 10                 enable (sprites) in main screen
D0/1BEA: 80 40 07                 set screen to mode 7
D0/1BED: 0F                       [$0F]
D0/1BEE: 80 3E 11                 enable (sprites, bg1) in main screen
D0/1BF1: D0 00                    set tile priority to 0 for all character/monster sprites
D0/1BF3: 89 5F                    loop start (95 times)
D0/1BF5: 80 41 02 02 00 FF        zoom bg1 (2,2), move bg1 (0,-1)
D0/1BFB: 0F                       [$0F]
D0/1BFC: 8A                       loop end
D0/1BFD: D0 30                    set tile priority to 3 for all character/monster sprites
D0/1BFF: 89 5F                    loop start (95 times)
D0/1C01: 80 41 02 02 00 FF        zoom bg1 (2,2), move bg1 (0,-1)
D0/1C07: 0F                       [$0F]
D0/1C08: 8A                       loop end
D0/1C09: F7 A0                    wait until scanline 160
D0/1C0B: 80 3E 12                 enable (sprites, bg2) in main screen
D0/1C0E: 80 40 01                 set screen to mode 1
D0/1C11: 89 1F                    loop start (31 times)
D0/1C13: B5 F1                    decrease background color addition by 1 (white)
D0/1C15: 0F                       [$0F]
D0/1C16: 8A                       loop end
D0/1C17: BF A0 2C                 jump to subroutine $2CA0
D0/1C1A: FF                       end of script

; [ Animation Script $021B: Chocobop (sprite) ]

D0/1C1B: 00 00                    speed 1, align to bottom of character/monster
D0/1C1D: D1 01                    invalidate character/monster sprite priority
D0/1C1F: C9 00                    play default sound effect
D0/1C21: EB                       jump based on thread ($1C26, $1C2B)
D0/1C26: 83 24                    move down 5
D0/1C28: FA 31 1C                 jump to $1C31
D0/1C2B: F4 01                    show sprite behind character/monster sprites
D0/1C2D: 83 9F                    move back 32
D0/1C2F: 83 C7                    move up 8
D0/1C31: 89 07                    loop start (7 times)
D0/1C33: 83 9F                    move back 32
D0/1C35: 8A                       loop end
D0/1C36: 89 3F                    loop start (63 times)
D0/1C38: 83 63                    move forward 4
D0/1C3A: 98 02 03                 increment frame offset every 2 loops (0..3)
D0/1C3D: 00                       [$00]
D0/1C3E: 8A                       loop end
D0/1C3F: 89 07                    loop start (7 times)
D0/1C41: 83 63                    move forward 4
D0/1C43: 98 02 03                 increment frame offset every 2 loops (0..3)
D0/1C46: 87 62                    move target forward 3
D0/1C48: 00                       [$00]
D0/1C49: 83 63                    move forward 4
D0/1C4B: 98 02 03                 increment frame offset every 2 loops (0..3)
D0/1C4E: 87 82                    move target back 3
D0/1C50: 00                       [$00]
D0/1C51: 8A                       loop end
D0/1C52: 89 2F                    loop start (47 times)
D0/1C54: 83 63                    move forward 4
D0/1C56: 98 02 03                 increment frame offset every 2 loops (0..3)
D0/1C59: 00                       [$00]
D0/1C5A: 8A                       loop end
D0/1C5B: FF                       end of script

; [ Animation Script $0218: Revenger (sprite) ]

D0/1C5C: 00 20                    speed 1, align to center of character/monster
D0/1C5E: D1 01                    invalidate character/monster sprite priority
D0/1C60: C9 00                    play default sound effect
D0/1C62: AF E0                    set background color subtraction to 0 (black)
D0/1C64: 89 0F                    loop start (15 times)
D0/1C66: B6 81                    increase background color subtraction by 1 (cyan)
D0/1C68: 1F                       [---]
D0/1C69: 8A                       loop end
D0/1C6A: 89 0F                    loop start (15 times)
D0/1C6C: B6 41                    increase background color subtraction by 1 (magenta)
D0/1C6E: 1F                       [---]
D0/1C6F: 8A                       loop end
D0/1C70: 89 0F                    loop start (15 times)
D0/1C72: B6 91                    decrease background color subtraction by 1 (cyan)
D0/1C74: 1F                       [---]
D0/1C75: 8A                       loop end
D0/1C76: 89 0F                    loop start (15 times)
D0/1C78: B6 21                    increase background color subtraction by 1 (yellow)
D0/1C7A: 1F                       [---]
D0/1C7B: 8A                       loop end
D0/1C7C: 89 0F                    loop start (15 times)
D0/1C7E: B6 51                    decrease background color subtraction by 1 (magenta)
D0/1C80: 1F                       [---]
D0/1C81: 8A                       loop end
D0/1C82: 89 0F                    loop start (15 times)
D0/1C84: B6 81                    increase background color subtraction by 1 (cyan)
D0/1C86: B6 31                    decrease background color subtraction by 1 (yellow)
D0/1C88: 1F                       [---]
D0/1C89: 8A                       loop end
D0/1C8A: 89 0F                    loop start (15 times)
D0/1C8C: B6 91                    decrease background color subtraction by 1 (cyan)
D0/1C8E: 1F                       [---]
D0/1C8F: 8A                       loop end
D0/1C90: FF                       end of script

; [ Animation Script $0217: Magnitude8 (bg1) ]

D0/1C91: 00 20                    speed 1, align to center of character/monster
D0/1C93: BD A0                    hide bg1 thread
D0/1C95: C9 00                    play default sound effect
D0/1C97: 89 0F                    loop start (15 times)
D0/1C99: D6 01 00                 scroll background to (1,0)
D0/1C9C: 09                       [$09]
D0/1C9D: D6 FF 00                 scroll background to (-1,0)
D0/1CA0: 09                       [$09]
D0/1CA1: 8A                       loop end
D0/1CA2: 89 20                    loop start (32 times)
D0/1CA4: D6 02 00                 scroll background to (2,0)
D0/1CA7: 09                       [$09]
D0/1CA8: D6 FE 00                 scroll background to (-2,0)
D0/1CAB: 09                       [$09]
D0/1CAC: 8A                       loop end
D0/1CAD: 89 0F                    loop start (15 times)
D0/1CAF: D6 01 00                 scroll background to (1,0)
D0/1CB2: 09                       [$09]
D0/1CB3: D6 FF 00                 scroll background to (-1,0)
D0/1CB6: 09                       [$09]
D0/1CB7: 8A                       loop end
D0/1CB8: D6 00 00                 scroll background to (0,0)
D0/1CBB: C9 FF                    play sound effect $FF
D0/1CBD: FF                       end of script

; [ Animation Script $0213: Soul Out (sprite) ]

D0/1CBE: 00 20                    speed 1, align to center of character/monster
D0/1CC0: D1 01                    invalidate character/monster sprite priority
D0/1CC2: 85                       move to attacker position
D0/1CC3: 95                       calculate vector from attacker to target
D0/1CC4: 93 00                    move to vector position 0
D0/1CC6: C9 7A                    play sound effect $7A
D0/1CC8: 98 02 04                 increment frame offset every 2 loops (0..4)
D0/1CCB: 00                       [$00]
D0/1CCC: 92 06 06                 move along vector at speed 6, branch to $1CC8
D0/1CCF: EB                       jump based on thread ($1CD8, $1CE8, $1CF4, $1D00)
D0/1CD8: C9 00                    play default sound effect
D0/1CDA: C2 80                    unpause bg1 thread
D0/1CDC: 89 0F                    loop start (15 times)
D0/1CDE: 83 00                    move down/forward 1
D0/1CE0: 98 02 04                 increment frame offset every 2 loops (0..4)
D0/1CE3: 00                       [$00]
D0/1CE4: 8A                       loop end
D0/1CE5: FA 09 1D                 jump to $1D09
D0/1CE8: 89 0F                    loop start (15 times)
D0/1CEA: 83 40                    move down/back 1
D0/1CEC: 98 02 04                 increment frame offset every 2 loops (0..4)
D0/1CEF: 00                       [$00]
D0/1CF0: 8A                       loop end
D0/1CF1: FA 09 1D                 jump to $1D09
D0/1CF4: 89 0F                    loop start (15 times)
D0/1CF6: 83 A0                    move up/forward 1
D0/1CF8: 98 02 04                 increment frame offset every 2 loops (0..4)
D0/1CFB: 00                       [$00]
D0/1CFC: 8A                       loop end
D0/1CFD: FA 09 1D                 jump to $1D09
D0/1D00: 89 0F                    loop start (15 times)
D0/1D02: 83 E0                    move up/back 1
D0/1D04: 98 02 04                 increment frame offset every 2 loops (0..4)
D0/1D07: 00                       [$00]
D0/1D08: 8A                       loop end
D0/1D09: 89 20                    loop start (32 times)
D0/1D0B: 98 02 04                 increment frame offset every 2 loops (0..4)
D0/1D0E: 00                       [$00]
D0/1D0F: 8A                       loop end
D0/1D10: FF                       end of script

; [ Animation Script $0216: Soul Out (bg1) ]

D0/1D11: 00 20                    speed 1, align to center of character/monster
D0/1D13: F7 A0                    wait until scanline 160
D0/1D15: D4 02 01 12              add (sprites, bg2) to (bg1)
D0/1D19: 80 17                    update sprite layer priority based on target
D0/1D1B: EE 20                    set target sprite tile priority to 2
D0/1D1D: F0                       jump based on target ($1D28, $1D39, $1D4A, $1D5B, $1D6B)
D0/1D28: 89 1F                    loop start (31 times)
D0/1D2A: 83 60                    move forward 1
D0/1D2C: 00                       [$00]
D0/1D2D: 8A                       loop end
D0/1D2E: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/1D30: 89 1F                    loop start (31 times)
D0/1D32: 83 60                    move forward 1
D0/1D34: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/1D36: 00                       [$00]
D0/1D37: 8A                       loop end
D0/1D38: FF                       end of script

D0/1D39: 89 1F                    loop start (31 times)
D0/1D3B: 83 60                    move forward 1
D0/1D3D: 01                       [$01]
D0/1D3E: 8A                       loop end
D0/1D3F: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/1D41: 89 1F                    loop start (31 times)
D0/1D43: 83 60                    move forward 1
D0/1D45: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/1D47: 01                       [$01]
D0/1D48: 8A                       loop end
D0/1D49: FF                       end of script

D0/1D4A: 89 1F                    loop start (31 times)
D0/1D4C: 83 60                    move forward 1
D0/1D4E: 02                       [$02]
D0/1D4F: 8A                       loop end
D0/1D50: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/1D52: 89 1F                    loop start (31 times)
D0/1D54: 83 60                    move forward 1
D0/1D56: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/1D58: 02                       [$02]
D0/1D59: 8A                       loop end
D0/1D5A: FF                       end of script

D0/1D5B: 89 1F                    loop start (31 times)
D0/1D5D: 83 60                    move forward 1
D0/1D5F: 03                       [$03]
D0/1D60: 8A                       loop end
D0/1D61: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/1D63: 89 1F                    loop start (31 times)
D0/1D65: 83 60                    move forward 1
D0/1D67: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/1D69: 03                       [$03]
D0/1D6A: 8A                       loop end
D0/1D6B: FF                       end of script

; [ Animation Script $0211: Shock Wave (sprite) ]

D0/1D6C: 10 00                    speed 2, align to bottom of character/monster
D0/1D6E: 90 00                    set animation tile priority to 0
D0/1D70: 85                       move to attacker position
D0/1D71: 95                       calculate vector from attacker to target
D0/1D72: 93 00                    move to vector position 0
D0/1D74: 83 7F                    move forward 32
D0/1D76: 83 67                    move forward 8
D0/1D78: EB                       jump based on thread ($1D85, $1DB7, $1DC1, $1DCB, $1DD5, $1DDF)
D0/1D85: F7 A0                    wait until scanline 160
D0/1D87: D4 02 02 10              add (sprites) to (bg2)
D0/1D8B: C2 80                    unpause bg1 thread
D0/1D8D: C9 00                    play default sound effect
D0/1D8F: 03                       [$03]
D0/1D90: 04                       [$04]
D0/1D91: 92 10 06                 move along vector at speed 16, branch to $1D8D
D0/1D94: 80 10                    move to target position
D0/1D96: 80 66                    clear thread offset
D0/1D98: 83 7F                    move forward 32
D0/1D9A: C9 62                    play sound effect $62
D0/1D9C: 84 04                    set animation speed to 5
D0/1D9E: 03                       [$03]
D0/1D9F: 04                       [$04]
D0/1DA0: 05                       [$05]
D0/1DA1: 06                       [$06]
D0/1DA2: 82 16 16                 change target graphic to 22 (hit)
D0/1DA5: F7 A0                    wait until scanline 160
D0/1DA7: D4 02 01 12              add (sprites, bg2) to (bg1)
D0/1DAB: 80 17                    update sprite layer priority based on target
D0/1DAD: EC 01                    change thread layer to bg1
D0/1DAF: 8B 07                    animated loop start (7 times, increment frame offset each time)
D0/1DB1: 00                       [$00]
D0/1DB2: 8C                       animated loop end
D0/1DB3: 82 00 00                 change target graphic to 0 (no action)
D0/1DB6: FF                       end of script

D0/1DB7: 89 01                    loop start (1 times)
D0/1DB9: 1F                       [---]
D0/1DBA: 8A                       loop end
D0/1DBB: 04                       [$04]
D0/1DBC: 03                       [$03]
D0/1DBD: 92 10 04                 move along vector at speed 16, branch to $1DBB
D0/1DC0: FF                       end of script

D0/1DC1: 89 03                    loop start (3 times)
D0/1DC3: 1F                       [---]
D0/1DC4: 8A                       loop end
D0/1DC5: 03                       [$03]
D0/1DC6: 02                       [$02]
D0/1DC7: 92 10 04                 move along vector at speed 16, branch to $1DC5
D0/1DCA: FF                       end of script

D0/1DCB: 89 05                    loop start (5 times)
D0/1DCD: 1F                       [---]
D0/1DCE: 8A                       loop end
D0/1DCF: 02                       [$02]
D0/1DD0: 01                       [$01]
D0/1DD1: 92 10 04                 move along vector at speed 16, branch to $1DCF
D0/1DD4: FF                       end of script

D0/1DD5: 89 07                    loop start (7 times)
D0/1DD7: 1F                       [---]
D0/1DD8: 8A                       loop end
D0/1DD9: 01                       [$01]
D0/1DDA: 00                       [$00]
D0/1DDB: 92 10 04                 move along vector at speed 16, branch to $1DD9
D0/1DDE: FF                       end of script

D0/1DDF: 89 09                    loop start (9 times)
D0/1DE1: 1F                       [---]
D0/1DE2: 8A                       loop end
D0/1DE3: 00                       [$00]
D0/1DE4: 00                       [$00]
D0/1DE5: 92 10 04                 move along vector at speed 16, branch to $1DE3
D0/1DE8: FF                       end of script

; [ Animation Script $020F: Phantasm (sprite) ]

D0/1DE9: 00 00                    speed 1, align to bottom of character/monster
D0/1DEB: 89 51                    loop start (81 times)
D0/1DED: 1F                       [---]
D0/1DEE: 8A                       loop end
D0/1DEF: C9 00                    play default sound effect
D0/1DF1: 8B 0A                    animated loop start (10 times, increment frame offset each time)
D0/1DF3: 00                       [$00]
D0/1DF4: 00                       [$00]
D0/1DF5: 8C                       animated loop end
D0/1DF6: FF                       end of script

; [ Animation Script $0210: Phantasm (bg3) ]

D0/1DF7: 00 20                    speed 1, align to center of character/monster
D0/1DF9: D1 01                    invalidate character/monster sprite priority
D0/1DFB: C4 40                    move bg3 thread to this thread's position
D0/1DFD: AF E0                    set background color subtraction to 0 (black)
D0/1DFF: C9 E3                    play sound effect $E3
D0/1E01: 89 0F                    loop start (15 times)
D0/1E03: B6 E1                    increase background color subtraction by 1 (black)
D0/1E05: 09                       [$09]
D0/1E06: 8A                       loop end
D0/1E07: B0 FF                    set background color addition to 31 (white)
D0/1E09: AA E0                    set bg3 animation palette color subtraction to 0 (black)
D0/1E0B: 89 07                    loop start (7 times)
D0/1E0D: B5 F4                    decrease background color addition by 4 (white)
D0/1E0F: B4 E2                    increase bg3 animation palette color subtraction by 2 (black)
D0/1E11: 00                       [$00]
D0/1E12: 8A                       loop end
D0/1E13: 89 07                    loop start (7 times)
D0/1E15: B6 E2                    increase background color subtraction by 2 (black)
D0/1E17: B4 E2                    increase bg3 animation palette color subtraction by 2 (black)
D0/1E19: 09                       [$09]
D0/1E1A: 8A                       loop end
D0/1E1B: 89 1F                    loop start (31 times)
D0/1E1D: 09                       [$09]
D0/1E1E: 8A                       loop end
D0/1E1F: B0 FF                    set background color addition to 31 (white)
D0/1E21: AA E0                    set bg3 animation palette color subtraction to 0 (black)
D0/1E23: C9 CC                    play sound effect $CC
D0/1E25: 89 07                    loop start (7 times)
D0/1E27: B5 F4                    decrease background color addition by 4 (white)
D0/1E29: B4 E2                    increase bg3 animation palette color subtraction by 2 (black)
D0/1E2B: 01                       [$01]
D0/1E2C: 8A                       loop end
D0/1E2D: 89 07                    loop start (7 times)
D0/1E2F: B6 E2                    increase background color subtraction by 2 (black)
D0/1E31: B4 E2                    increase bg3 animation palette color subtraction by 2 (black)
D0/1E33: 09                       [$09]
D0/1E34: 8A                       loop end
D0/1E35: 89 16                    loop start (22 times)
D0/1E37: 09                       [$09]
D0/1E38: 8A                       loop end
D0/1E39: 89 0F                    loop start (15 times)
D0/1E3B: B6 F1                    decrease background color subtraction by 1 (black)
D0/1E3D: 09                       [$09]
D0/1E3E: 8A                       loop end
D0/1E3F: FF                       end of script

; [ Animation Script $0215: Zinger (bg1) ]

D0/1E40: 00 A0                    speed 1, align to center of screen
D0/1E42: D1 01                    invalidate character/monster sprite priority
D0/1E44: C4 80                    move bg1 thread to this thread's position
D0/1E46: 80 72 01                 branch to $1E4A if attack hit
D0/1E49: FF                       end of script

D0/1E4A: BD A0                    hide bg1 thread
D0/1E4C: F7 A0                    wait until scanline 160
D0/1E4E: D4 02 01 12              add (sprites, bg2) to (bg1)
D0/1E52: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/1E54: AF E0                    set background color subtraction to 0 (black)
D0/1E56: C9 00                    play default sound effect
D0/1E58: 89 0F                    loop start (15 times)
D0/1E5A: B6 E1                    increase background color subtraction by 1 (black)
D0/1E5C: 0F                       [$0F]
D0/1E5D: 8A                       loop end
D0/1E5E: 89 1F                    loop start (31 times)
D0/1E60: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/1E62: 83 60                    move forward 1
D0/1E64: 0F                       [$0F]
D0/1E65: 83 60                    move forward 1
D0/1E67: 0F                       [$0F]
D0/1E68: 8A                       loop end
D0/1E69: 89 0F                    loop start (15 times)
D0/1E6B: B6 F1                    decrease background color subtraction by 1 (black)
D0/1E6D: 0F                       [$0F]
D0/1E6E: 8A                       loop end
D0/1E6F: 80 3E 12                 enable (sprites, bg2) in main screen
D0/1E72: E1 80                    hide attacking monster sprite
D0/1E74: C9 FF                    play sound effect $FF
D0/1E76: FF                       end of script

; [ Animation Script $020B: Cold Dust (bg1) ]

D0/1E77: 30 00                    speed 4, align to bottom of character/monster
D0/1E79: F7 A0                    wait until scanline 160
D0/1E7B: D4 02 01 12              add (sprites, bg2) to (bg1)
D0/1E7F: 80 45 33                 enable bg1 in window 1
D0/1E82: 8B 05                    animated loop start (5 times, increment frame offset each time)
D0/1E84: 00                       [$00]
D0/1E85: 8C                       animated loop end
D0/1E86: FF                       end of script

; [ Animation Script $020A: Cold Dust (sprite) ]

D0/1E87: 00 20                    speed 1, align to center of character/monster
D0/1E89: EB                       jump based on thread ($1E96, $1EB2, $1EB2, $1EB2, $1EB2, $1EB2)
D0/1E96: C9 00                    play default sound effect
D0/1E98: 85                       move to attacker position
D0/1E99: 89 04                    loop start (4 times)
D0/1E9B: D1 01                    invalidate character/monster sprite priority
D0/1E9D: 81 07 07                 change attacker graphic to 7 (jumping)
D0/1EA0: 03                       [$03]
D0/1EA1: 83 67                    move forward 8
D0/1EA3: 8A                       loop end
D0/1EA4: 80 0F                    command $80/$0F
D0/1EA6: 03                       [$03]
D0/1EA7: ED                       command $ED
D0/1EA8: 08                       [$08]
D0/1EA9: 03                       [$03]
D0/1EAA: C9 18                    play sound effect $18
D0/1EAC: C2 80                    unpause bg1 thread
D0/1EAE: 81 00 00                 change attacker graphic to 0 (no action)
D0/1EB1: FF                       end of script

D0/1EB2: 84 03                    set animation speed to 4
D0/1EB4: 89 01                    loop start (1 times)
D0/1EB6: 80 0C                    move to first sprite thread position
D0/1EB8: 03                       [$03]
D0/1EB9: 02                       [$02]
D0/1EBA: 01                       [$01]
D0/1EBB: 00                       [$00]
D0/1EBC: 8A                       loop end
D0/1EBD: 80 10                    move to target position
D0/1EBF: 83 AF                    move up/forward 16
D0/1EC1: 89 07                    loop start (7 times)
D0/1EC3: 1F                       [---]
D0/1EC4: 8A                       loop end
D0/1EC5: C9 1E                    play sound effect $1E
D0/1EC7: 84 05                    set animation speed to 6
D0/1EC9: 89 04                    loop start (4 times)
D0/1ECB: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/1ECE: 04                       [$04]
D0/1ECF: 05                       [$05]
D0/1ED0: 06                       [$06]
D0/1ED1: 07                       [$07]
D0/1ED2: 8A                       loop end
D0/1ED3: FF                       end of script

; [ Animation Script $0209: Sneeze (sprite) ]

D0/1ED4: 00 20                    speed 1, align to center of character/monster
D0/1ED6: 85                       move to attacker position
D0/1ED7: C9 00                    play default sound effect
D0/1ED9: 90 00                    set animation tile priority to 0
D0/1EDB: 95                       calculate vector from attacker to target
D0/1EDC: 93 00                    move to vector position 0
D0/1EDE: A3 17 B1                 shift colors (1..8) of sprite animation palette left (11 loops per shift)
D0/1EE1: 00                       [$00]
D0/1EE2: 92 06 03                 move along vector at speed 6, branch to $1EE1
D0/1EE5: 89 1A                    loop start (26 times)
D0/1EE7: 87 C5                    move target up 6
D0/1EE9: 87 63                    move target forward 4
D0/1EEB: 83 65                    move forward 6
D0/1EED: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/1EF0: 00                       [$00]
D0/1EF1: 8A                       loop end
D0/1EF2: F1 00                    hide target character sprite
D0/1EF4: FF                       end of script

; [ Animation Script $0208: N. Cross (bg3) ]

D0/1EF5: 00 20                    speed 1, align to center of character/monster
D0/1EF7: BD 50                    hide bg3 thread
D0/1EF9: B0 20                    set background color addition to 0 (blue)
D0/1EFB: 89 07                    loop start (7 times)
D0/1EFD: B5 22                    increase background color addition by 2 (blue)
D0/1EFF: 09                       [$09]
D0/1F00: 8A                       loop end
D0/1F01: 89 80                    loop start (128 times)
D0/1F03: 09                       [$09]
D0/1F04: 8A                       loop end
D0/1F05: 89 07                    loop start (7 times)
D0/1F07: B5 32                    decrease background color addition by 2 (blue)
D0/1F09: 09                       [$09]
D0/1F0A: 8A                       loop end
D0/1F0B: FF                       end of script

; [ Animation Script $0204: Echo Screen, Monster Exit $01: Puff of Smoke (sprite) ]

D0/1F0C: 40 20                    speed 5, align to center of character/monster
D0/1F0E: 9A                       set facing direction to match attacker
D0/1F0F: 83 AF                    move up/forward 16
D0/1F11: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/1F14: C9 00                    play default sound effect
D0/1F16: 00                       [$00]
D0/1F17: 01                       [$01]
D0/1F18: 02                       [$02]
D0/1F19: 03                       [$03]
D0/1F1A: 04                       [$04]
D0/1F1B: 05                       [$05]
D0/1F1C: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/1F1F: 00                       [$00]
D0/1F20: 01                       [$01]
D0/1F21: 02                       [$02]
D0/1F22: 03                       [$03]
D0/1F23: 04                       [$04]
D0/1F24: 05                       [$05]
D0/1F25: FF                       end of script

; [ Animation Script $0205: Smoke Bomb (sprite) ]

D0/1F26: 40 20                    speed 5, align to center of character/monster
D0/1F28: 9A                       set facing direction to match attacker
D0/1F29: 83 AF                    move up/forward 16
D0/1F2B: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/1F2E: C9 00                    play default sound effect
D0/1F30: 00                       [$00]
D0/1F31: 01                       [$01]
D0/1F32: 02                       [$02]
D0/1F33: 03                       [$03]
D0/1F34: 04                       [$04]
D0/1F35: 05                       [$05]
D0/1F36: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/1F39: 00                       [$00]
D0/1F3A: 01                       [$01]
D0/1F3B: 02                       [$02]
D0/1F3C: 80 72 04                 branch to $1F43 if attack hit
D0/1F3F: 03                       [$03]
D0/1F40: 04                       [$04]
D0/1F41: 05                       [$05]
D0/1F42: FF                       end of script

D0/1F43: F1 00                    hide target character sprite
D0/1F45: F1 80                    hide target monster sprite
D0/1F47: 03                       [$03]
D0/1F48: 04                       [$04]
D0/1F49: 05                       [$05]
D0/1F4A: FF                       end of script

; [ Animation Script $0201: Green Cherry (sprite) ]

D0/1F4B: 30 00                    speed 4, align to bottom of character/monster
D0/1F4D: 90 00                    set animation tile priority to 0
D0/1F4F: C9 00                    play default sound effect
D0/1F51: 8B 07                    animated loop start (7 times, increment frame offset each time)
D0/1F53: 00                       [$00]
D0/1F54: 8C                       animated loop end
D0/1F55: FF                       end of script

; [ Animation Script $0202: Remedy (sprite) ]

D0/1F56: 00 00                    speed 1, align to bottom of character/monster
D0/1F58: 90 00                    set animation tile priority to 0
D0/1F5A: 83 6F                    move forward 16
D0/1F5C: EB                       jump based on thread ($1F69, $1F6B, $1F6B, $1F6B, $1F6B, $1F6B)
D0/1F69: C9 00                    play default sound effect
D0/1F6B: BF 78 1F                 jump to subroutine $1F78
D0/1F6E: BF 78 1F                 jump to subroutine $1F78
D0/1F71: BF 78 1F                 jump to subroutine $1F78
D0/1F74: BF 78 1F                 jump to subroutine $1F78
D0/1F77: FF                       end of script

D0/1F78: E9 1F 00                 move animation randomly (0..31,0..0)
D0/1F7B: 80 65                    change rainbow palette
D0/1F7D: 00                       [$00]
D0/1F7E: 80 65                    change rainbow palette
D0/1F80: 00                       [$00]
D0/1F81: 80 65                    change rainbow palette
D0/1F83: 01                       [$01]
D0/1F84: 80 65                    change rainbow palette
D0/1F86: 01                       [$01]
D0/1F87: 80 65                    change rainbow palette
D0/1F89: 02                       [$02]
D0/1F8A: 80 65                    change rainbow palette
D0/1F8C: 02                       [$02]
D0/1F8D: 80 65                    change rainbow palette
D0/1F8F: 03                       [$03]
D0/1F90: 80 65                    change rainbow palette
D0/1F92: 03                       [$03]
D0/1F93: 89 09                    loop start (9 times)
D0/1F95: 83 CF                    move up 16
D0/1F97: 80 65                    change rainbow palette
D0/1F99: 03                       [$03]
D0/1F9A: 80 65                    change rainbow palette
D0/1F9C: 03                       [$03]
D0/1F9D: 8A                       loop end
D0/1F9E: 83 3F                    move down 32
D0/1FA0: 83 3F                    move down 32
D0/1FA2: 83 3F                    move down 32
D0/1FA4: 83 3F                    move down 32
D0/1FA6: 83 3F                    move down 32
D0/1FA8: C0                       return from subroutine

; [ Animation Script $0200: Antidote, Soft (sprite) ]

D0/1FA9: 40 20                    speed 5, align to center of character/monster
D0/1FAB: 90 00                    set animation tile priority to 0
D0/1FAD: 9A                       set facing direction to match attacker
D0/1FAE: 83 AF                    move up/forward 16
D0/1FB0: 89 01                    loop start (1 times)
D0/1FB2: C9 00                    play default sound effect
D0/1FB4: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/1FB7: 00                       [$00]
D0/1FB8: 01                       [$01]
D0/1FB9: 02                       [$02]
D0/1FBA: 03                       [$03]
D0/1FBB: 04                       [$04]
D0/1FBC: 05                       [$05]
D0/1FBD: 8A                       loop end
D0/1FBE: FF                       end of script

; [ Animation Script $0203: Revivify, Eyedrop (sprite) ]

D0/1FBF: 00 00                    speed 1, align to bottom of character/monster
D0/1FC1: EB                       jump based on thread ($1FCE, $2009, $203A, $2083, $20CC, $2115)
D0/1FCE: C9 00                    play default sound effect
D0/1FD0: C2 80                    unpause bg1 thread
D0/1FD2: 83 DF                    move up 32
D0/1FD4: 83 DF                    move up 32
D0/1FD6: 89 1F                    loop start (31 times)
D0/1FD8: 83 21                    move down 2
D0/1FDA: 00                       [$00]
D0/1FDB: 8A                       loop end
D0/1FDC: 89 07                    loop start (7 times)
D0/1FDE: 80 61 20 04 80           command $80/$61
D0/1FE3: 83 60                    move forward 1
D0/1FE5: 00                       [$00]
D0/1FE6: 8A                       loop end
D0/1FE7: 89 07                    loop start (7 times)
D0/1FE9: 80 61 20 04 80           command $80/$61
D0/1FEE: 83 60                    move forward 1
D0/1FF0: 01                       [$01]
D0/1FF1: 8A                       loop end
D0/1FF2: 89 07                    loop start (7 times)
D0/1FF4: 80 61 20 04 80           command $80/$61
D0/1FF9: 83 60                    move forward 1
D0/1FFB: 02                       [$02]
D0/1FFC: 8A                       loop end
D0/1FFD: 89 07                    loop start (7 times)
D0/1FFF: 80 61 20 04 80           command $80/$61
D0/2004: 83 60                    move forward 1
D0/2006: 03                       [$03]
D0/2007: 8A                       loop end
D0/2008: FF                       end of script

D0/2009: 89 1F                    loop start (31 times)
D0/200B: 1F                       [---]
D0/200C: 8A                       loop end
D0/200D: 89 07                    loop start (7 times)
D0/200F: 80 61 20 04 80           command $80/$61
D0/2014: 83 80                    move back 1
D0/2016: 00                       [$00]
D0/2017: 8A                       loop end
D0/2018: 89 07                    loop start (7 times)
D0/201A: 80 61 20 04 80           command $80/$61
D0/201F: 83 80                    move back 1
D0/2021: 01                       [$01]
D0/2022: 8A                       loop end
D0/2023: 89 07                    loop start (7 times)
D0/2025: 80 61 20 04 80           command $80/$61
D0/202A: 83 80                    move back 1
D0/202C: 02                       [$02]
D0/202D: 8A                       loop end
D0/202E: 89 07                    loop start (7 times)
D0/2030: 80 61 20 04 80           command $80/$61
D0/2035: 83 80                    move back 1
D0/2037: 03                       [$03]
D0/2038: 8A                       loop end
D0/2039: FF                       end of script

D0/203A: 89 1F                    loop start (31 times)
D0/203C: 1F                       [---]
D0/203D: 8A                       loop end
D0/203E: 89 03                    loop start (3 times)
D0/2040: 80 61 20 04 80           command $80/$61
D0/2045: 83 00                    move down/forward 1
D0/2047: 00                       [$00]
D0/2048: 80 61 20 04 80           command $80/$61
D0/204D: 00                       [$00]
D0/204E: 8A                       loop end
D0/204F: 89 03                    loop start (3 times)
D0/2051: 80 61 20 04 80           command $80/$61
D0/2056: 83 00                    move down/forward 1
D0/2058: 01                       [$01]
D0/2059: 80 61 20 04 80           command $80/$61
D0/205E: 01                       [$01]
D0/205F: 8A                       loop end
D0/2060: 89 03                    loop start (3 times)
D0/2062: 80 61 20 04 80           command $80/$61
D0/2067: 83 00                    move down/forward 1
D0/2069: 02                       [$02]
D0/206A: 80 61 20 04 80           command $80/$61
D0/206F: 02                       [$02]
D0/2070: 8A                       loop end
D0/2071: 89 03                    loop start (3 times)
D0/2073: 80 61 20 04 80           command $80/$61
D0/2078: 83 00                    move down/forward 1
D0/207A: 03                       [$03]
D0/207B: 80 61 20 04 80           command $80/$61
D0/2080: 03                       [$03]
D0/2081: 8A                       loop end
D0/2082: FF                       end of script

D0/2083: 89 1F                    loop start (31 times)
D0/2085: 1F                       [---]
D0/2086: 8A                       loop end
D0/2087: 89 03                    loop start (3 times)
D0/2089: 80 61 20 04 80           command $80/$61
D0/208E: 83 40                    move down/back 1
D0/2090: 00                       [$00]
D0/2091: 80 61 20 04 80           command $80/$61
D0/2096: 00                       [$00]
D0/2097: 8A                       loop end
D0/2098: 89 03                    loop start (3 times)
D0/209A: 80 61 20 04 80           command $80/$61
D0/209F: 83 40                    move down/back 1
D0/20A1: 01                       [$01]
D0/20A2: 80 61 20 04 80           command $80/$61
D0/20A7: 01                       [$01]
D0/20A8: 8A                       loop end
D0/20A9: 89 03                    loop start (3 times)
D0/20AB: 80 61 20 04 80           command $80/$61
D0/20B0: 83 40                    move down/back 1
D0/20B2: 02                       [$02]
D0/20B3: 80 61 20 04 80           command $80/$61
D0/20B8: 02                       [$02]
D0/20B9: 8A                       loop end
D0/20BA: 89 03                    loop start (3 times)
D0/20BC: 80 61 20 04 80           command $80/$61
D0/20C1: 83 40                    move down/back 1
D0/20C3: 03                       [$03]
D0/20C4: 80 61 20 04 80           command $80/$61
D0/20C9: 03                       [$03]
D0/20CA: 8A                       loop end
D0/20CB: FF                       end of script

D0/20CC: 89 1F                    loop start (31 times)
D0/20CE: 1F                       [---]
D0/20CF: 8A                       loop end
D0/20D0: 89 03                    loop start (3 times)
D0/20D2: 80 61 20 04 80           command $80/$61
D0/20D7: 83 A0                    move up/forward 1
D0/20D9: 00                       [$00]
D0/20DA: 80 61 20 04 80           command $80/$61
D0/20DF: 00                       [$00]
D0/20E0: 8A                       loop end
D0/20E1: 89 03                    loop start (3 times)
D0/20E3: 80 61 20 04 80           command $80/$61
D0/20E8: 83 A0                    move up/forward 1
D0/20EA: 01                       [$01]
D0/20EB: 80 61 20 04 80           command $80/$61
D0/20F0: 01                       [$01]
D0/20F1: 8A                       loop end
D0/20F2: 89 03                    loop start (3 times)
D0/20F4: 80 61 20 04 80           command $80/$61
D0/20F9: 83 A0                    move up/forward 1
D0/20FB: 02                       [$02]
D0/20FC: 80 61 20 04 80           command $80/$61
D0/2101: 02                       [$02]
D0/2102: 8A                       loop end
D0/2103: 89 03                    loop start (3 times)
D0/2105: 80 61 20 04 80           command $80/$61
D0/210A: 83 A0                    move up/forward 1
D0/210C: 03                       [$03]
D0/210D: 80 61 20 04 80           command $80/$61
D0/2112: 03                       [$03]
D0/2113: 8A                       loop end
D0/2114: FF                       end of script

D0/2115: 89 1F                    loop start (31 times)
D0/2117: 1F                       [---]
D0/2118: 8A                       loop end
D0/2119: 89 03                    loop start (3 times)
D0/211B: 80 61 20 04 80           command $80/$61
D0/2120: 83 E0                    move up/back 1
D0/2122: 00                       [$00]
D0/2123: 80 61 20 04 80           command $80/$61
D0/2128: 00                       [$00]
D0/2129: 8A                       loop end
D0/212A: 89 03                    loop start (3 times)
D0/212C: 80 61 20 04 80           command $80/$61
D0/2131: 83 E0                    move up/back 1
D0/2133: 01                       [$01]
D0/2134: 80 61 20 04 80           command $80/$61
D0/2139: 01                       [$01]
D0/213A: 8A                       loop end
D0/213B: 89 03                    loop start (3 times)
D0/213D: 80 61 20 04 80           command $80/$61
D0/2142: 83 E0                    move up/back 1
D0/2144: 02                       [$02]
D0/2145: 80 61 20 04 80           command $80/$61
D0/214A: 02                       [$02]
D0/214B: 8A                       loop end
D0/214C: 89 03                    loop start (3 times)
D0/214E: 80 61 20 04 80           command $80/$61
D0/2153: 83 E0                    move up/back 1
D0/2155: 03                       [$03]
D0/2156: 80 61 20 04 80           command $80/$61
D0/215B: 03                       [$03]
D0/215C: 8A                       loop end
D0/215D: FF                       end of script

; [ Animation Script $01FF: Fenix Down (sprite) ]

D0/215E: 40 20                    speed 5, align to center of character/monster
D0/2160: 83 6F                    move forward 16
D0/2162: EB                       jump based on thread ($2184, $2199, $2199, $2199, $2199, $216F)
D0/216F: E9 1F 0F                 move animation randomly (0..31,0..15)
D0/2172: 83 D8                    move up 25
D0/2174: BF AC 21                 jump to subroutine $21AC
D0/2177: BF AC 21                 jump to subroutine $21AC
D0/217A: BF AC 21                 jump to subroutine $21AC
D0/217D: 05                       [$05]
D0/217E: 06                       [$06]
D0/217F: 07                       [$07]
D0/2180: 08                       [$08]
D0/2181: C9 FF                    play sound effect $FF
D0/2183: FF                       end of script

D0/2184: C9 00                    play default sound effect
D0/2186: E9 1F 0F                 move animation randomly (0..31,0..15)
D0/2189: 83 D8                    move up 25
D0/218B: BF AC 21                 jump to subroutine $21AC
D0/218E: BF AC 21                 jump to subroutine $21AC
D0/2191: BF AC 21                 jump to subroutine $21AC
D0/2194: 05                       [$05]
D0/2195: 06                       [$06]
D0/2196: 07                       [$07]
D0/2197: 08                       [$08]
D0/2198: FF                       end of script

D0/2199: E9 1F 0F                 move animation randomly (0..31,0..15)
D0/219C: 83 D8                    move up 25
D0/219E: BF AC 21                 jump to subroutine $21AC
D0/21A1: BF AC 21                 jump to subroutine $21AC
D0/21A4: BF AC 21                 jump to subroutine $21AC
D0/21A7: 05                       [$05]
D0/21A8: 06                       [$06]
D0/21A9: 07                       [$07]
D0/21AA: 08                       [$08]
D0/21AB: FF                       end of script

D0/21AC: 83 20                    move down 1
D0/21AE: 03                       [$03]
D0/21AF: 83 20                    move down 1
D0/21B1: 02                       [$02]
D0/21B2: 83 20                    move down 1
D0/21B4: 01                       [$01]
D0/21B5: 83 20                    move down 1
D0/21B7: 00                       [$00]
D0/21B8: 83 20                    move down 1
D0/21BA: 00                       [$00]
D0/21BB: 83 20                    move down 1
D0/21BD: 01                       [$01]
D0/21BE: 83 20                    move down 1
D0/21C0: 02                       [$02]
D0/21C1: 83 20                    move down 1
D0/21C3: 03                       [$03]
D0/21C4: 83 20                    move down 1
D0/21C6: 04                       [$04]
D0/21C7: 83 20                    move down 1
D0/21C9: 04                       [$04]
D0/21CA: C0                       return from subroutine

; [ Animation Script $0206: Megalixir (sprite) ]

D0/21CB: 00 20                    speed 1, align to center of character/monster
D0/21CD: 90 00                    set animation tile priority to 0
D0/21CF: 80 16                    command $80/$16
D0/21D1: EB                       jump based on thread ($21DA, $2205, $2214, $2214)
D0/21DA: C9 00                    play default sound effect
D0/21DC: EF 28 00                 move in flattened polar coordinates (40,0)
D0/21DF: 89 40                    loop start (64 times)
D0/21E1: EF 00 FC                 move in flattened polar coordinates (0,-4)
D0/21E4: 80 21                    update sprite layer priority based on polar movement angle
D0/21E6: 98 04 08                 increment frame offset every 4 loops (0..8)
D0/21E9: 80 65                    change rainbow palette
D0/21EB: 00                       [$00]
D0/21EC: 8A                       loop end
D0/21ED: FF                       end of script

; [ Animation Script $01FE: Elixir (sprite) ]

D0/21EE: 00 20                    speed 1, align to center of character/monster
D0/21F0: 90 00                    set animation tile priority to 0
D0/21F2: 80 16                    command $80/$16
D0/21F4: EB                       jump based on thread ($21FD, $2205, $2214, $2214)
D0/21FD: C9 00                    play default sound effect
D0/21FF: EF 28 00                 move in flattened polar coordinates (40,0)
D0/2202: FA 08 22                 jump to $2208
D0/2205: EF 28 80                 move in flattened polar coordinates (40,-128)
D0/2208: 89 40                    loop start (64 times)
D0/220A: EF 00 FC                 move in flattened polar coordinates (0,-4)
D0/220D: 80 21                    update sprite layer priority based on polar movement angle
D0/220F: 98 04 08                 increment frame offset every 4 loops (0..8)
D0/2212: 00                       [$00]
D0/2213: 8A                       loop end
D0/2214: FF                       end of script

; [ Animation Script $0207: X-Potion, X-Ether, Revivify, Eyedrop (bg3) ]

D0/2215: 00 20                    speed 1, align to center of character/monster
D0/2217: BD 50                    hide bg3 thread
D0/2219: D1 01                    invalidate character/monster sprite priority
D0/221B: F7 A0                    wait until scanline 160
D0/221D: D4 00 01 00              add fixed color to (bg1)
D0/2221: 89 40                    loop start (64 times)
D0/2223: F7 A0                    wait until scanline 160
D0/2225: 80 33 00                 update rainbow gradient lines (intensity 15)
D0/2228: 09                       [$09]
D0/2229: 8A                       loop end
D0/222A: 89 07                    loop start (7 times)
D0/222C: F7 A0                    wait until scanline 160
D0/222E: 80 33 03                 update rainbow gradient lines (intensity 12)
D0/2231: 09                       [$09]
D0/2232: 8A                       loop end
D0/2233: 89 07                    loop start (7 times)
D0/2235: F7 A0                    wait until scanline 160
D0/2237: 80 33 06                 update rainbow gradient lines (intensity 9)
D0/223A: 09                       [$09]
D0/223B: 8A                       loop end
D0/223C: 89 07                    loop start (7 times)
D0/223E: F7 A0                    wait until scanline 160
D0/2240: 80 33 0A                 update rainbow gradient lines (intensity 5)
D0/2243: 09                       [$09]
D0/2244: 8A                       loop end
D0/2245: 89 07                    loop start (7 times)
D0/2247: F7 A0                    wait until scanline 160
D0/2249: 80 33 0E                 update rainbow gradient lines (intensity 1)
D0/224C: 09                       [$09]
D0/224D: 8A                       loop end
D0/224E: 80 37                    clear fixed color value hdma data
D0/2250: FF                       end of script

; [ Animation Script $01FD: X-Potion (sprite) ]

D0/2251: 40 20                    speed 5, align to center of character/monster
D0/2253: EB                       jump based on thread ($225C, $225C, $225C, $2273)
D0/225C: 9A                       set facing direction to match attacker
D0/225D: 83 AF                    move up/forward 16
D0/225F: 89 01                    loop start (1 times)
D0/2261: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/2264: C9 00                    play default sound effect
D0/2266: 00                       [$00]
D0/2267: 01                       [$01]
D0/2268: 02                       [$02]
D0/2269: 03                       [$03]
D0/226A: 04                       [$04]
D0/226B: 05                       [$05]
D0/226C: 83 47                    move down/back 8
D0/226E: 06                       [$06]
D0/226F: 07                       [$07]
D0/2270: 83 A7                    move up/forward 8
D0/2272: 8A                       loop end
D0/2273: FF                       end of script

; [ Animation Script $01FC: Potion, Ether (sprite) ]

D0/2274: 40 20                    speed 5, align to center of character/monster
D0/2276: 90 00                    set animation tile priority to 0
D0/2278: 9A                       set facing direction to match attacker
D0/2279: 83 AF                    move up/forward 16
D0/227B: EB                       jump based on thread ($2284, $2284, $2284, $2297)
D0/2284: 89 01                    loop start (1 times)
D0/2286: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/2289: C9 00                    play default sound effect
D0/228B: 00                       [$00]
D0/228C: 01                       [$01]
D0/228D: 83 47                    move down/back 8
D0/228F: 02                       [$02]
D0/2290: 03                       [$03]
D0/2291: 04                       [$04]
D0/2292: 05                       [$05]
D0/2293: 06                       [$06]
D0/2294: 83 A7                    move up/forward 8
D0/2296: 8A                       loop end
D0/2297: FF                       end of script

; [ Animation Script $01FB: Tonic, Tincture (sprite) ]

D0/2298: 40 20                    speed 5, align to center of character/monster
D0/229A: 90 00                    set animation tile priority to 0
D0/229C: 9A                       set facing direction to match attacker
D0/229D: 83 AF                    move up/forward 16
D0/229F: 89 01                    loop start (1 times)
D0/22A1: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/22A4: C9 00                    play default sound effect
D0/22A6: 00                       [$00]
D0/22A7: 01                       [$01]
D0/22A8: 02                       [$02]
D0/22A9: 03                       [$03]
D0/22AA: 04                       [$04]
D0/22AB: 05                       [$05]
D0/22AC: 06                       [$06]
D0/22AD: 8A                       loop end
D0/22AE: FF                       end of script

; [ Animation Script $01FA: Inviz Edge (bg1) ]

D0/22AF: 00 20                    speed 1, align to center of character/monster
D0/22B1: DB 03                    branch to $22B6 if character already stepped forward to attack
D0/22B3: BF 67 70                 jump to subroutine $7067
D0/22B6: FA F5 48                 jump to $48F5
; [ Animation Script $01F8: Inviz Edge (sprite) ]

D0/22B9: 00 20                    speed 1, align to center of character/monster
D0/22BB: 80 64                    command $80/$64
D0/22BD: 80 16                    command $80/$16
D0/22BF: EB                       jump based on thread ($22C8, $22D9, $22DF, $22E5)
D0/22C8: F7 A0                    wait until scanline 160
D0/22CA: D4 02 41 02              half add (bg2) to (bg1)
D0/22CE: DB 03                    branch to $22D3 if character already stepped forward to attack
D0/22D0: BF 19 70                 jump to subroutine $7019
D0/22D3: EF 20 00                 move in flattened polar coordinates (32,0)
D0/22D6: FA F0 22                 jump to $22F0
D0/22D9: EF 20 40                 move in flattened polar coordinates (32,64)
D0/22DC: FA E8 22                 jump to $22E8
D0/22DF: EF 20 80                 move in flattened polar coordinates (32,-128)
D0/22E2: FA E8 22                 jump to $22E8
D0/22E5: EF 20 C0                 move in flattened polar coordinates (32,-64)
D0/22E8: DB 04                    branch to $22EE if character already stepped forward to attack
D0/22EA: 89 07                    loop start (7 times)
D0/22EC: 83 62                    move forward 3
D0/22EE: 1F                       [---]
D0/22EF: 8A                       loop end
D0/22F0: F0                       jump based on target ($22FB, $2307, $2313, $231F, $2306)
D0/22FB: 99 08                    change palette to 12 (character 1)
D0/22FD: 89 80                    loop start (128 times)
D0/22FF: EF 00 FC                 move in flattened polar coordinates (0,-4)
D0/2302: 80 21                    update sprite layer priority based on polar movement angle
D0/2304: 00                       [$00]
D0/2305: 8A                       loop end
D0/2306: FF                       end of script

D0/2307: 99 0A                    change palette to 12 (character 1)
D0/2309: 89 80                    loop start (128 times)
D0/230B: EF 00 FC                 move in flattened polar coordinates (0,-4)
D0/230E: 80 21                    update sprite layer priority based on polar movement angle
D0/2310: 01                       [$01]
D0/2311: 8A                       loop end
D0/2312: FF                       end of script

D0/2313: 99 0C                    change palette to 14 (character 3/crusader 1)
D0/2315: 89 80                    loop start (128 times)
D0/2317: EF 00 FC                 move in flattened polar coordinates (0,-4)
D0/231A: 80 21                    update sprite layer priority based on polar movement angle
D0/231C: 02                       [$02]
D0/231D: 8A                       loop end
D0/231E: FF                       end of script

D0/231F: 99 0E                    change palette to 14 (character 3/crusader 1)
D0/2321: 89 80                    loop start (128 times)
D0/2323: EF 00 FC                 move in flattened polar coordinates (0,-4)
D0/2326: 80 21                    update sprite layer priority based on polar movement angle
D0/2328: 03                       [$03]
D0/2329: 8A                       loop end
D0/232A: FF                       end of script

; [ Animation Script $01F9: Bolt Edge (bg3) ]

D0/232B: 00 20                    speed 1, align to center of character/monster
D0/232D: DB 04                    branch to $2333 if character already stepped forward to attack
D0/232F: 89 07                    loop start (7 times)
D0/2331: 09                       [$09]
D0/2332: 8A                       loop end
D0/2333: C4 40                    move bg3 thread to this thread's position
D0/2335: 89 0C                    loop start (12 times)
D0/2337: 09                       [$09]
D0/2338: 8A                       loop end
D0/2339: 8B 08                    animated loop start (8 times, increment frame offset each time)
D0/233B: 00                       [$00]
D0/233C: 00                       [$00]
D0/233D: 00                       [$00]
D0/233E: 8C                       animated loop end
D0/233F: FF                       end of script

; [ Animation Script $01F7: Bolt Edge (bg1) ]

D0/2340: 00 20                    speed 1, align to center of character/monster
D0/2342: DB 03                    branch to $2347 if character already stepped forward to attack
D0/2344: BF 67 70                 jump to subroutine $7067
D0/2347: C9 00                    play default sound effect
D0/2349: C4 80                    move bg1 thread to this thread's position
D0/234B: 8B 08                    animated loop start (8 times, increment frame offset each time)
D0/234D: 00                       [$00]
D0/234E: 00                       [$00]
D0/234F: 00                       [$00]
D0/2350: 8C                       animated loop end
D0/2351: FF                       end of script

; [ Animation Script $01F5: Water Edge (sprite) ]

D0/2352: 00 20                    speed 1, align to center of character/monster
D0/2354: DB 04                    branch to $235A if character already stepped forward to attack
D0/2356: 89 07                    loop start (7 times)
D0/2358: 1F                       [---]
D0/2359: 8A                       loop end
D0/235A: B0 20                    set background color addition to 0 (blue)
D0/235C: 89 07                    loop start (7 times)
D0/235E: B5 22                    increase background color addition by 2 (blue)
D0/2360: 1F                       [---]
D0/2361: 8A                       loop end
D0/2362: 80 2E 80 48              move to (128,72)
D0/2366: 89 07                    loop start (7 times)
D0/2368: 83 9F                    move back 32
D0/236A: 8A                       loop end
D0/236B: 89 60                    loop start (96 times)
D0/236D: E9 0B 03                 move animation randomly (0..11,0..3)
D0/2370: 83 63                    move forward 4
D0/2372: 00                       [$00]
D0/2373: 8A                       loop end
D0/2374: 89 07                    loop start (7 times)
D0/2376: B5 32                    decrease background color addition by 2 (blue)
D0/2378: 1F                       [---]
D0/2379: 8A                       loop end
D0/237A: FF                       end of script

; [ Animation Script $01F6:  ]

D0/237B: 00 A0                    speed 1, align to center of screen
D0/237D: D1 01                    invalidate character/monster sprite priority
D0/237F: DB 03                    branch to $2384 if character already stepped forward to attack
D0/2381: BF 67 70                 jump to subroutine $7067
D0/2384: C4 80                    move bg1 thread to this thread's position
D0/2386: C9 00                    play default sound effect
D0/2388: 89 07                    loop start (7 times)
D0/238A: 83 9F                    move back 32
D0/238C: 8A                       loop end
D0/238D: 89 60                    loop start (96 times)
D0/238F: E9 0B 03                 move animation randomly (0..11,0..3)
D0/2392: 83 63                    move forward 4
D0/2394: 00                       [$00]
D0/2395: 8A                       loop end
D0/2396: C9 FF                    play sound effect $FF
D0/2398: FF                       end of script

; [ Animation Script $0289: Water Edge (bg1) ]

D0/2399: 00 A0                    speed 1, align to center of screen
D0/239B: D1 01                    invalidate character/monster sprite priority
D0/239D: DB 03                    branch to $23A2 if character already stepped forward to attack
D0/239F: BF 67 70                 jump to subroutine $7067
D0/23A2: C4 80                    move bg1 thread to this thread's position
D0/23A4: C9 00                    play default sound effect
D0/23A6: 89 07                    loop start (7 times)
D0/23A8: 83 9F                    move back 32
D0/23AA: 8A                       loop end
D0/23AB: 89 60                    loop start (96 times)
D0/23AD: E9 0B 03                 move animation randomly (0..11,0..3)
D0/23B0: 83 63                    move forward 4
D0/23B2: 00                       [$00]
D0/23B3: 8A                       loop end
D0/23B4: C9 FF                    play sound effect $FF
D0/23B6: DB 03                    branch to $23BB if character already stepped forward to attack
D0/23B8: BF 8E 70                 jump to subroutine $708E
D0/23BB: FF                       end of script

; [ Animation Script $01F4: Fire Skean (bg1) ]

D0/23BC: 00 20                    speed 1, align to center of character/monster
D0/23BE: D1 01                    invalidate character/monster sprite priority
D0/23C0: DB 03                    branch to $23C5 if character already stepped forward to attack
D0/23C2: BF 67 70                 jump to subroutine $7067
D0/23C5: C9 00                    play default sound effect
D0/23C7: AF 60                    set background color subtraction to 0 (red)
D0/23C9: 89 07                    loop start (7 times)
D0/23CB: B6 62                    increase background color subtraction by 2 (red)
D0/23CD: 0F                       [$0F]
D0/23CE: 8A                       loop end
D0/23CF: C4 80                    move bg1 thread to this thread's position
D0/23D1: 84 03                    set animation speed to 4
D0/23D3: D0 20                    set tile priority to 2 for all character/monster sprites
D0/23D5: 8B 0C                    animated loop start (12 times, increment frame offset each time)
D0/23D7: 00                       [$00]
D0/23D8: 8C                       animated loop end
D0/23D9: 89 07                    loop start (7 times)
D0/23DB: B6 72                    decrease background color subtraction by 2 (red)
D0/23DD: 0F                       [$0F]
D0/23DE: 8A                       loop end
D0/23DF: FF                       end of script

; [ Animation Script $01DB: TigerBreak (sprite) ]

D0/23E0: 00 20                    speed 1, align to center of character/monster
D0/23E2: D1 01                    invalidate character/monster sprite priority
D0/23E4: 85                       move to attacker position
D0/23E5: 83 27                    move down 8
D0/23E7: D9 00                    set attacker sprite tile priority to 0
D0/23E9: E7                       calculate vector from attacking character to target
D0/23EA: 00                       [$00]
D0/23EB: E5 08 03 00              move character forward along vector at speed 8 and height 0, branch to $23EA
D0/23EF: D9 30                    set attacker sprite tile priority to 3
D0/23F1: 81 37 37                 change attacker graphic to 7 (jumping)
D0/23F4: 1F                       [---]
D0/23F5: E6 08 03 20              move character backward along vector at speed 8 and height 32, branch to $23F4
D0/23F9: 81 00 00                 change attacker graphic to 0 (no action)
D0/23FC: FF                       end of script

; [ Animation Script $01CC: TigerBreak (bg1) ]

D0/23FD: 00 20                    speed 1, align to center of character/monster
D0/23FF: 85                       move to attacker position
D0/2400: 95                       calculate vector from attacker to target
D0/2401: 83 27                    move down 8
D0/2403: C9 5B                    play sound effect $5B
D0/2405: 93 00                    move to vector position 0
D0/2407: 00                       [$00]
D0/2408: C1 08 03                 command $C1
D0/240B: C9 00                    play default sound effect
D0/240D: B0 FF                    set background color addition to 31 (white)
D0/240F: 89 07                    loop start (7 times)
D0/2411: B5 F2                    decrease background color addition by 2 (white)
D0/2413: 87 63                    move target forward 4
D0/2415: 0F                       [$0F]
D0/2416: B5 F2                    decrease background color addition by 2 (white)
D0/2418: 0F                       [$0F]
D0/2419: 8A                       loop end
D0/241A: 89 03                    loop start (3 times)
D0/241C: 87 87                    move target back 8
D0/241E: 0F                       [$0F]
D0/241F: 8A                       loop end
D0/2420: FF                       end of script

; [ Animation Script $01E7: Evil Toot (sprite) ]

D0/2421: 00 20                    speed 1, align to center of character/monster
D0/2423: D1 01                    invalidate character/monster sprite priority
D0/2425: 90 00                    set animation tile priority to 0
D0/2427: 80 32 2D 24 34 24        jump to $242D (left) or $2434 (right)
D0/242D: 80 2E F8 60              move to (248,96)
D0/2431: FA 38 24                 jump to $2438
D0/2434: 80 2E 08 60              move to (8,96)
D0/2438: EB                       jump based on thread ($243F, $2456, $2467)
D0/243F: C9 00                    play default sound effect
D0/2441: F7 A0                    wait until scanline 160
D0/2443: D4 02 02 10              add (sprites) to (bg2)
D0/2447: 89 80                    loop start (128 times)
D0/2449: 83 61                    move forward 2
D0/244B: 80 62 20 04 00           command $80/$62
D0/2450: 80 63 04                 move in narrow vertical sine wave (speed 4)
D0/2453: 00                       [$00]
D0/2454: 8A                       loop end
D0/2455: FF                       end of script

D0/2456: 89 80                    loop start (128 times)
D0/2458: 83 C0                    move up 1
D0/245A: 83 61                    move forward 2
D0/245C: 80 62 20 04 00           command $80/$62
D0/2461: 80 63 04                 move in narrow vertical sine wave (speed 4)
D0/2464: 01                       [$01]
D0/2465: 8A                       loop end
D0/2466: FF                       end of script

D0/2467: 89 80                    loop start (128 times)
D0/2469: 83 20                    move down 1
D0/246B: 83 61                    move forward 2
D0/246D: 80 62 20 04 00           command $80/$62
D0/2472: 80 63 04                 move in narrow vertical sine wave (speed 4)
D0/2475: 02                       [$02]
D0/2476: 8A                       loop end
D0/2477: FF                       end of script

; [ Animation Script $01F3: Fader (bg1) ]

D0/2478: 00 20                    speed 1, align to center of character/monster
D0/247A: D0 20                    set tile priority to 2 for all character/monster sprites
D0/247C: D1 01                    invalidate character/monster sprite priority
D0/247E: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/2480: AF E0                    set background color subtraction to 0 (black)
D0/2482: 89 07                    loop start (7 times)
D0/2484: B6 E1                    increase background color subtraction by 1 (black)
D0/2486: 0F                       [$0F]
D0/2487: 8A                       loop end
D0/2488: 80 32 8E 24 95 24        jump to $248E (left) or $2495 (right)
D0/248E: 80 2E D0 80              move to (208,128)
D0/2492: FA 99 24                 jump to $2499
D0/2495: 80 2E 30 80              move to (48,128)
D0/2499: C9 00                    play default sound effect
D0/249B: 89 1F                    loop start (31 times)
D0/249D: CF F1                    decrease bg1 animation palette color subtraction by 1 (black)
D0/249F: 83 A0                    move up/forward 1
D0/24A1: 80 62 20 04 00           command $80/$62
D0/24A6: 00                       [$00]
D0/24A7: 8A                       loop end
D0/24A8: 89 40                    loop start (64 times)
D0/24AA: 83 A0                    move up/forward 1
D0/24AC: 80 62 20 04 00           command $80/$62
D0/24B1: 00                       [$00]
D0/24B2: 8A                       loop end
D0/24B3: 89 1F                    loop start (31 times)
D0/24B5: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/24B7: 83 A0                    move up/forward 1
D0/24B9: 80 62 20 04 00           command $80/$62
D0/24BE: 00                       [$00]
D0/24BF: 8A                       loop end
D0/24C0: 89 07                    loop start (7 times)
D0/24C2: B6 F1                    decrease background color subtraction by 1 (black)
D0/24C4: 0F                       [$0F]
D0/24C5: 8A                       loop end
D0/24C6: FF                       end of script

; [ Animation Script $01F0: Tri-Dazer (bg1) ]

D0/24C7: 00 20                    speed 1, align to center of character/monster
D0/24C9: C4 80                    move bg1 thread to this thread's position
D0/24CB: D0 20                    set tile priority to 2 for all character/monster sprites
D0/24CD: 89 47                    loop start (71 times)
D0/24CF: 0F                       [$0F]
D0/24D0: 8A                       loop end
D0/24D1: B0 20                    set background color addition to 0 (blue)
D0/24D3: 89 07                    loop start (7 times)
D0/24D5: B5 21                    increase background color addition by 1 (blue)
D0/24D7: 0F                       [$0F]
D0/24D8: 8A                       loop end
D0/24D9: 84 06                    set animation speed to 7
D0/24DB: 8B 0D                    animated loop start (13 times, increment frame offset each time)
D0/24DD: 00                       [$00]
D0/24DE: 8C                       animated loop end
D0/24DF: 84 01                    set animation speed to 2
D0/24E1: 89 07                    loop start (7 times)
D0/24E3: B5 31                    decrease background color addition by 1 (blue)
D0/24E5: 0F                       [$0F]
D0/24E6: 8A                       loop end
D0/24E7: FF                       end of script

; [ Animation Script $01F1: Tri-Dazer (bg3) ]

D0/24E8: 00 20                    speed 1, align to center of character/monster
D0/24EA: C4 40                    move bg3 thread to this thread's position
D0/24EC: 89 4F                    loop start (79 times)
D0/24EE: 09                       [$09]
D0/24EF: 8A                       loop end
D0/24F0: 84 06                    set animation speed to 7
D0/24F2: 8B 08                    animated loop start (8 times, increment frame offset each time)
D0/24F4: 00                       [$00]
D0/24F5: 8C                       animated loop end
D0/24F6: FF                       end of script

; [ Animation Script $01F2: Tri-Dazer (sprite) ]

D0/24F7: 00 20                    speed 1, align to center of character/monster
D0/24F9: D1 01                    invalidate character/monster sprite priority
D0/24FB: BF B8 54                 jump to subroutine $54B8
D0/24FE: F7 A0                    wait until scanline 160
D0/2500: D4 02 05 12              add (sprites, bg2) to (bg3, bg1)
D0/2504: 80 32 0A 25 11 25        jump to $250A (left) or $2511 (right)
D0/250A: 80 2E D0 48              move to (208,72)
D0/250E: FA 15 25                 jump to $2515
D0/2511: 80 2E 30 48              move to (48,72)
D0/2515: BF CB 4C                 jump to subroutine $4CCB
D0/2518: C9 00                    play default sound effect
D0/251A: 89 40                    loop start (64 times)
D0/251C: 00                       [$00]
D0/251D: 8A                       loop end
D0/251E: BF E7 54                 jump to subroutine $54E7
D0/2521: FF                       end of script

; [ Animation Script $01EF: True Edge (bg3) ]

D0/2522: 00 20                    speed 1, align to center of character/monster
D0/2524: C4 40                    move bg3 thread to this thread's position
D0/2526: 89 1F                    loop start (31 times)
D0/2528: 09                       [$09]
D0/2529: 8A                       loop end
D0/252A: C9 3D                    play sound effect $3D
D0/252C: 84 02                    set animation speed to 3
D0/252E: 8B 06                    animated loop start (6 times, increment frame offset each time)
D0/2530: 00                       [$00]
D0/2531: 8C                       animated loop end
D0/2532: FF                       end of script

; [ Animation Script $01EC: Metamorph (sprite) ]

D0/2533: 00 20                    speed 1, align to center of character/monster
D0/2535: 80 2D 3D 25 44 25 4B 25  jump to $253D (normal attack), $2544 (back attack), or $254B (pincer attack)
D0/253D: 80 2E D0 50              move to (208,80)
D0/2541: FA 4F 25                 jump to $254F
D0/2544: 80 2E 30 50              move to (48,80)
D0/2548: FA 4F 25                 jump to $254F
D0/254B: 80 2E 80 50              move to (128,80)
D0/254F: 89 04                    loop start (4 times)
D0/2551: 83 DF                    move up 32
D0/2553: 8A                       loop end
D0/2554: 89 0C                    loop start (12 times)
D0/2556: 83 2B                    move down 12
D0/2558: 00                       [$00]
D0/2559: 8A                       loop end
D0/255A: 89 40                    loop start (64 times)
D0/255C: 01                       [$01]
D0/255D: 8A                       loop end
D0/255E: FF                       end of script

; [ Animation Script $01ED: Metamorph (bg3) ]

D0/255F: 00 20                    speed 1, align to center of character/monster
D0/2561: 80 2D 69 25 70 25 77 25  jump to $2569 (normal attack), $2570 (back attack), or $2577 (pincer attack)
D0/2569: 80 2E D0 60              move to (208,96)
D0/256D: FA 7B 25                 jump to $257B
D0/2570: 80 2E 30 60              move to (48,96)
D0/2574: FA 7B 25                 jump to $257B
D0/2577: 80 2E 80 60              move to (128,96)
D0/257B: 89 0C                    loop start (12 times)
D0/257D: 09                       [$09]
D0/257E: 8A                       loop end
D0/257F: 84 03                    set animation speed to 4
D0/2581: 8B 08                    animated loop start (8 times, increment frame offset each time)
D0/2583: 00                       [$00]
D0/2584: 8C                       animated loop end
D0/2585: 8B 08                    animated loop start (8 times, increment frame offset each time)
D0/2587: 00                       [$00]
D0/2588: 8C                       animated loop end
D0/2589: FF                       end of script

; [ Animation Script $01EE: Metamorph (bg1) ]

D0/258A: 00 20                    speed 1, align to center of character/monster
D0/258C: D1 01                    invalidate character/monster sprite priority
D0/258E: BF 16 55                 jump to subroutine $5516
D0/2591: C9 00                    play default sound effect
D0/2593: BD A0                    hide bg1 thread
D0/2595: AF E0                    set background color subtraction to 0 (black)
D0/2597: 89 07                    loop start (7 times)
D0/2599: B6 61                    increase background color subtraction by 1 (red)
D0/259B: 0F                       [$0F]
D0/259C: 8A                       loop end
D0/259D: 89 14                    loop start (20 times)
D0/259F: 0F                       [$0F]
D0/25A0: 8A                       loop end
D0/25A1: CD FF                    set bg1 animation palette color addition to 31 (white)
D0/25A3: 89 1F                    loop start (31 times)
D0/25A5: CE F1                    decrease bg1 animation palette color addition by 1 (white)
D0/25A7: 0F                       [$0F]
D0/25A8: 8A                       loop end
D0/25A9: 89 18                    loop start (24 times)
D0/25AB: 0F                       [$0F]
D0/25AC: 8A                       loop end
D0/25AD: 89 07                    loop start (7 times)
D0/25AF: B6 71                    decrease background color subtraction by 1 (red)
D0/25B1: 0F                       [$0F]
D0/25B2: 8A                       loop end
D0/25B3: BF 49 55                 jump to subroutine $5549
D0/25B6: FF                       end of script

; [ Animation Script $01EA: Earth Wall (sprite) ]

D0/25B7: 30 20                    speed 4, align to center of character/monster
D0/25B9: 89 08                    loop start (8 times)
D0/25BB: 1F                       [---]
D0/25BC: 8A                       loop end
D0/25BD: 80 2D C5 25 CC 25 D3 25  jump to $25C5 (normal attack), $25CC (back attack), or $25D3 (pincer attack)
D0/25C5: 80 2E D0 50              move to (208,80)
D0/25C9: FA D7 25                 jump to $25D7
D0/25CC: 80 2E 30 50              move to (48,80)
D0/25D0: FA D7 25                 jump to $25D7
D0/25D3: 80 2E 80 50              move to (128,80)
D0/25D7: BF DE 25                 jump to subroutine $25DE
D0/25DA: BF DE 25                 jump to subroutine $25DE
D0/25DD: FF                       end of script

D0/25DE: E9 07 03                 move animation randomly (0..7,0..3)
D0/25E1: 8B 07                    animated loop start (7 times, increment frame offset each time)
D0/25E3: 00                       [$00]
D0/25E4: 83 87                    move back 8
D0/25E6: 8C                       animated loop end
D0/25E7: 83 7F                    move forward 32
D0/25E9: 83 7F                    move forward 32
D0/25EB: C0                       return from subroutine

; [ Animation Script $01EB: Earth Wall (bg1) ]

D0/25EC: 00 20                    speed 1, align to center of character/monster
D0/25EE: D1 01                    invalidate character/monster sprite priority
D0/25F0: BF 16 55                 jump to subroutine $5516
D0/25F3: C9 00                    play default sound effect
D0/25F5: 80 2D FD 25 04 26 0B 26  jump to $25FD (normal attack), $2604 (back attack), or $260B (pincer attack)
D0/25FD: 80 2E D0 70              move to (208,112)
D0/2601: FA 0F 26                 jump to $260F
D0/2604: 80 2E 30 70              move to (48,112)
D0/2608: FA 0F 26                 jump to $260F
D0/260B: 80 2E 80 70              move to (128,112)
D0/260F: CD FF                    set bg1 animation palette color addition to 31 (white)
D0/2611: B2 FF                    set sprite animation palette color addition to 31 (white)
D0/2613: 89 1F                    loop start (31 times)
D0/2615: CE F1                    decrease bg1 animation palette color addition by 1 (white)
D0/2617: B7 F1                    decrease sprite animation palette color addition by 1 (white)
D0/2619: 00                       [$00]
D0/261A: 8A                       loop end
D0/261B: 89 40                    loop start (64 times)
D0/261D: 00                       [$00]
D0/261E: 8A                       loop end
D0/261F: BF 49 55                 jump to subroutine $5549
D0/2622: FF                       end of script

; [ Animation Script $01E8: Cat Rain (sprite) ]

D0/2623: 00 20                    speed 1, align to center of character/monster
D0/2625: 90 00                    set animation tile priority to 0
D0/2627: 89 47                    loop start (71 times)
D0/2629: 1F                       [---]
D0/262A: 8A                       loop end
D0/262B: FA 39 3F                 jump to $3F39
; [ Animation Script $01E9: Cat Rain (bg1) ]

D0/262E: 00 20                    speed 1, align to center of character/monster
D0/2630: D1 01                    invalidate character/monster sprite priority
D0/2632: F7 A0                    wait until scanline 160
D0/2634: D4 02 02 10              add (sprites) to (bg2)
D0/2638: 80 2E 80 58              move to (128,88)
D0/263C: 89 07                    loop start (7 times)
D0/263E: 83 9F                    move back 32
D0/2640: 8A                       loop end
D0/2641: C9 CA                    play sound effect $CA
D0/2643: 89 0F                    loop start (15 times)
D0/2645: 83 63                    move forward 4
D0/2647: 80 61 40 08 80           command $80/$61
D0/264C: 00                       [$00]
D0/264D: 8A                       loop end
D0/264E: C9 CA                    play sound effect $CA
D0/2650: 89 0F                    loop start (15 times)
D0/2652: 83 63                    move forward 4
D0/2654: 80 61 40 08 80           command $80/$61
D0/2659: 00                       [$00]
D0/265A: 8A                       loop end
D0/265B: C9 CA                    play sound effect $CA
D0/265D: 89 0F                    loop start (15 times)
D0/265F: 83 63                    move forward 4
D0/2661: 80 61 40 08 80           command $80/$61
D0/2666: 00                       [$00]
D0/2667: 8A                       loop end
D0/2668: C9 CA                    play sound effect $CA
D0/266A: 89 0F                    loop start (15 times)
D0/266C: 83 63                    move forward 4
D0/266E: 80 61 40 08 80           command $80/$61
D0/2673: 00                       [$00]
D0/2674: 8A                       loop end
D0/2675: C9 CA                    play sound effect $CA
D0/2677: B0 FF                    set background color addition to 31 (white)
D0/2679: 89 1F                    loop start (31 times)
D0/267B: B5 F1                    decrease background color addition by 1 (white)
D0/267D: 80 61 70 04 80           command $80/$61
D0/2682: 83 63                    move forward 4
D0/2684: 00                       [$00]
D0/2685: 8A                       loop end
D0/2686: 89 1F                    loop start (31 times)
D0/2688: 00                       [$00]
D0/2689: 80 61 70 04 80           command $80/$61
D0/268E: 83 63                    move forward 4
D0/2690: 8A                       loop end
D0/2691: FF                       end of script

; [ Animation Script $01E6: Charm (sprite) ]

D0/2692: 00 20                    speed 1, align to center of character/monster
D0/2694: D1 01                    invalidate character/monster sprite priority
D0/2696: 85                       move to attacker position
D0/2697: 95                       calculate vector from attacker to target
D0/2698: EB                       jump based on thread ($26A1, $26AC, $26B5, $26BE)
D0/26A1: C9 00                    play default sound effect
D0/26A3: 80 5D                    command $80/$5D
D0/26A5: 00                       [$00]
D0/26A6: 92 02 05                 move along vector at speed 2, branch to $26A3
D0/26A9: 80 5D                    command $80/$5D
D0/26AB: FF                       end of script

D0/26AC: 80 5D                    command $80/$5D
D0/26AE: 01                       [$01]
D0/26AF: 92 02 05                 move along vector at speed 2, branch to $26AC
D0/26B2: 80 5D                    command $80/$5D
D0/26B4: FF                       end of script

D0/26B5: 80 5D                    command $80/$5D
D0/26B7: 02                       [$02]
D0/26B8: 92 02 05                 move along vector at speed 2, branch to $26B5
D0/26BB: 80 5D                    command $80/$5D
D0/26BD: FF                       end of script

D0/26BE: 80 5D                    command $80/$5D
D0/26C0: 03                       [$03]
D0/26C1: 92 02 05                 move along vector at speed 2, branch to $26BE
D0/26C4: 80 5D                    command $80/$5D
D0/26C6: FF                       end of script

D0/26C7: 00                       [$00]
D0/26C8: A0 D0 20                 jump forward along vector at speed 208, branch to $26AA
D0/26CB: C4 80                    move bg1 thread to this thread's position
D0/26CD: F7 A0                    wait until scanline 160
D0/26CF: 80 43 00                 command $80/$43
D0/26D2: D4 02 04 11              add (sprites, bg1) to (bg3)
D0/26D6: AD 00                    set bg1 hdma scroll type to 0
D0/26D8: 80 43 01                 command $80/$43
D0/26DB: 0F                       [$0F]
D0/26DC: 00                       [$00]
D0/26DD: D1 01                    invalidate character/monster sprite priority
D0/26DF: 89 7E                    loop start (126 times)
D0/26E1: 80 43 01                 command $80/$43
D0/26E4: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/26E7: 00                       [$00]
D0/26E8: 8A                       loop end
D0/26E9: 80 26 01                 disable character palette updates
D0/26EC: AB FF                    set bg3 animation palette color addition to 31 (white)
D0/26EE: B0 FF                    set background color addition to 31 (white)
D0/26F0: BA FF                    set monster color addition to 31 (white)
D0/26F2: FC FF                    set character color addition to 31 (white)
D0/26F4: AB FF                    set bg3 animation palette color addition to 31 (white)
D0/26F6: 80 3E 12                 enable (sprites, bg2) in main screen
D0/26F9: 89 1F                    loop start (31 times)
D0/26FB: B5 F1                    decrease background color addition by 1 (white)
D0/26FD: BB F1                    decrease monster color addition by 1 (white)
D0/26FF: FD F1                    decrease character color addition by 1 (white)
D0/2701: 0F                       [$0F]
D0/2702: 8A                       loop end
D0/2703: 80 26 00                 enable character palette updates
D0/2706: F7 A0                    wait until scanline 160
D0/2708: 80 25                    clear bg1 hdma scroll data
D0/270A: AD 03                    set bg1 hdma scroll type to 3
D0/270C: FF                       end of script

D0/270D: 00                       [$00]
D0/270E: A0 D1 01                 jump forward along vector at speed 209, branch to $270F
D0/2711: C4 40                    move bg3 thread to this thread's position
D0/2713: 80 58 04                 set circle shape to vertical oval
D0/2716: A5 B0 30 00 FF FF 80 00  init circle at (176,48)
D0/271E: 00                       [$00]
D0/271F: BD 50                    hide bg3 thread
D0/2721: 89 1E                    loop start (30 times)
D0/2723: A6 00 00 02              move circle (+0,+0) and grow by 2
D0/2727: A7                       update circle
D0/2728: 00                       [$00]
D0/2729: 8A                       loop end
D0/272A: 89 61                    loop start (97 times)
D0/272C: 00                       [$00]
D0/272D: 8A                       loop end
D0/272E: FF                       end of script

; [ Animation Script $01E2: Shrapnel (sprite) ]

D0/272F: 00 20                    speed 1, align to center of character/monster
D0/2731: 80 16                    command $80/$16
D0/2733: C9 00                    play default sound effect
D0/2735: EF 20 00                 move in flattened polar coordinates (32,0)
D0/2738: 89 40                    loop start (64 times)
D0/273A: 98 02 04                 increment frame offset every 2 loops (0..4)
D0/273D: EF 00 FC                 move in flattened polar coordinates (0,-4)
D0/2740: 80 21                    update sprite layer priority based on polar movement angle
D0/2742: 00                       [$00]
D0/2743: 8A                       loop end
D0/2744: 80 4E                    clear frame offset
D0/2746: C9 8B                    play sound effect $8B
D0/2748: 80 17                    update sprite layer priority based on target
D0/274A: EC 01                    change thread layer to bg1
D0/274C: 82 16 16                 change target graphic to 22 (hit)
D0/274F: 8B 0C                    animated loop start (12 times, increment frame offset each time)
D0/2751: 87 62                    move target forward 3
D0/2753: 00                       [$00]
D0/2754: 87 82                    move target back 3
D0/2756: 00                       [$00]
D0/2757: 8C                       animated loop end
D0/2758: 82 00 00                 change target graphic to 0 (no action)
D0/275B: FF                       end of script

; [ Animation Script $01DF: Mirager (bg1) ]

D0/275C: 00 A0                    speed 1, align to center of screen
D0/275E: C4 80                    move bg1 thread to this thread's position
D0/2760: BD A0                    hide bg1 thread
D0/2762: 89 0F                    loop start (15 times)
D0/2764: 83 62                    move forward 3
D0/2766: 0F                       [$0F]
D0/2767: 83 82                    move back 3
D0/2769: 0F                       [$0F]
D0/276A: 8A                       loop end
D0/276B: FF                       end of script

; [ Animation Script $01DE: Mirager (sprite) ]

D0/276C: 00 80                    speed 1, initial position $80
D0/276E: C7 02                    save attacking character position
D0/2770: CB 81                    enable echo sprites (1 frame delay)
D0/2772: C9 5B                    play sound effect $5B
D0/2774: D9 30                    set attacker sprite tile priority to 3
D0/2776: 85                       move to attacker position
D0/2777: E7                       calculate vector from attacking character to target
D0/2778: 81 07 07                 change attacker graphic to 7 (jumping)
D0/277B: 1F                       [---]
D0/277C: E5 08 03 20              move character forward along vector at speed 8 and height 32, branch to $277B
D0/2780: C7 01                    reset attacking character position offsets
D0/2782: D1 01                    invalidate character/monster sprite priority
D0/2784: C9 00                    play default sound effect
D0/2786: 81 14 14                 change attacker graphic to 20 (kneeling)
D0/2789: 89 02                    loop start (2 times)
D0/278B: 86 67                    move attacker forward 8
D0/278D: 1F                       [---]
D0/278E: 8A                       loop end
D0/278F: C2 80                    unpause bg1 thread
D0/2791: B0 FF                    set background color addition to 31 (white)
D0/2793: 89 0F                    loop start (15 times)
D0/2795: B5 F2                    decrease background color addition by 2 (white)
D0/2797: 1F                       [---]
D0/2798: 8A                       loop end
D0/2799: C9 FF                    play sound effect $FF
D0/279B: C7 01                    reset attacking character position offsets
D0/279D: 81 37 37                 change attacker graphic to 7 (jumping)
D0/27A0: C7 04                    restore attacking character position
D0/27A2: E7                       calculate vector from attacking character to target
D0/27A3: 1F                       [---]
D0/27A4: E5 08 03 20              move character forward along vector at speed 8 and height 32, branch to $27A3
D0/27A8: 81 00 00                 change attacker graphic to 0 (no action)
D0/27AB: C7 03                    restore attacking character position and reset offsets
D0/27AD: CB 01                    disable echo sprites
D0/27AF: FF                       end of script

; [ Animation Script $01DC: SabreSoul (bg1) ]

D0/27B0: 00 80                    speed 1, initial position $80
D0/27B2: C4 80                    move bg1 thread to this thread's position
D0/27B4: BD A0                    hide bg1 thread
D0/27B6: F7 A0                    wait until scanline 160
D0/27B8: 80 3E 12                 enable (sprites, bg2) in main screen
D0/27BB: C9 5B                    play sound effect $5B
D0/27BD: 85                       move to attacker position
D0/27BE: E7                       calculate vector from attacking character to target
D0/27BF: 81 07 07                 change attacker graphic to 7 (jumping)
D0/27C2: 0F                       [$0F]
D0/27C3: E5 08 03 20              move character forward along vector at speed 8 and height 32, branch to $27C2
D0/27C7: C9 00                    play default sound effect
D0/27C9: D1 01                    invalidate character/monster sprite priority
D0/27CB: C4 80                    move bg1 thread to this thread's position
D0/27CD: 0F                       [$0F]
D0/27CE: 80 3E 13                 enable (sprites, bg2, bg1) in main screen
D0/27D1: EE 20                    set target sprite tile priority to 2
D0/27D3: B0 FF                    set background color addition to 31 (white)
D0/27D5: 81 14 14                 change attacker graphic to 20 (kneeling)
D0/27D8: 89 0F                    loop start (15 times)
D0/27DA: B5 F2                    decrease background color addition by 2 (white)
D0/27DC: 0F                       [$0F]
D0/27DD: 8A                       loop end
D0/27DE: 89 09                    loop start (9 times)
D0/27E0: 83 C3                    move up 4
D0/27E2: 0F                       [$0F]
D0/27E3: 8A                       loop end
D0/27E4: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/27E6: 89 0F                    loop start (15 times)
D0/27E8: 83 C3                    move up 4
D0/27EA: CF E2                    increase bg1 animation palette color subtraction by 2 (black)
D0/27EC: 0F                       [$0F]
D0/27ED: 8A                       loop end
D0/27EE: D1 00                    validate character/monster sprite priority
D0/27F0: 81 37 37                 change attacker graphic to 7 (jumping)
D0/27F3: 0F                       [$0F]
D0/27F4: E6 08 03 20              move character backward along vector at speed 8 and height 32, branch to $27F3
D0/27F8: F7 A0                    wait until scanline 160
D0/27FA: C4 80                    move bg1 thread to this thread's position
D0/27FC: 80 3E 12                 enable (sprites, bg2) in main screen
D0/27FF: 81 00 00                 change attacker graphic to 0 (no action)
D0/2802: FF                       end of script

; [ Animation Script $01DA: Star Prism (bg1) ]

D0/2803: 00 A0                    speed 1, align to center of screen
D0/2805: C4 80                    move bg1 thread to this thread's position
D0/2807: BD A0                    hide bg1 thread
D0/2809: D1 01                    invalidate character/monster sprite priority
D0/280B: C8 04                    change attacker action to 4 (walking forward)
D0/280D: 89 07                    loop start (7 times)
D0/280F: 86 62                    move attacker forward 3
D0/2811: 0F                       [$0F]
D0/2812: 8A                       loop end
D0/2813: C8 00                    change attacker action to 0 (no action)
D0/2815: F7 A0                    wait until scanline 160
D0/2817: D4 00 01 00              add fixed color to (bg1)
D0/281B: 89 40                    loop start (64 times)
D0/281D: F7 A0                    wait until scanline 160
D0/281F: 80 33 00                 update rainbow gradient lines (intensity 15)
D0/2822: 0F                       [$0F]
D0/2823: 8A                       loop end
D0/2824: 89 07                    loop start (7 times)
D0/2826: F7 A0                    wait until scanline 160
D0/2828: 80 33 03                 update rainbow gradient lines (intensity 12)
D0/282B: 0F                       [$0F]
D0/282C: 8A                       loop end
D0/282D: 89 07                    loop start (7 times)
D0/282F: F7 A0                    wait until scanline 160
D0/2831: 80 33 06                 update rainbow gradient lines (intensity 9)
D0/2834: 0F                       [$0F]
D0/2835: 8A                       loop end
D0/2836: 89 07                    loop start (7 times)
D0/2838: F7 A0                    wait until scanline 160
D0/283A: 80 33 0A                 update rainbow gradient lines (intensity 5)
D0/283D: 0F                       [$0F]
D0/283E: 8A                       loop end
D0/283F: 89 07                    loop start (7 times)
D0/2841: F7 A0                    wait until scanline 160
D0/2843: 80 33 0E                 update rainbow gradient lines (intensity 1)
D0/2846: 0F                       [$0F]
D0/2847: 8A                       loop end
D0/2848: C8 03                    change attacker action to 3 (walking back)
D0/284A: 89 07                    loop start (7 times)
D0/284C: 86 82                    move attacker back 3
D0/284E: 0F                       [$0F]
D0/284F: 8A                       loop end
D0/2850: C8 00                    change attacker action to 0 (no action)
D0/2852: 80 37                    clear fixed color value hdma data
D0/2854: FF                       end of script

; [ Animation Script $01CB: Star Prism (sprite) ]

D0/2855: 00 00                    speed 1, align to bottom of character/monster
D0/2857: 90 20                    set animation tile priority to 2
D0/2859: 80 16                    command $80/$16
D0/285B: EB                       jump based on thread ($2868, $2870, $2876, $287C, $28BC, $28BC)
D0/2868: C9 00                    play default sound effect
D0/286A: EF 40 00                 move in flattened polar coordinates (64,0)
D0/286D: FA 7F 28                 jump to $287F
D0/2870: EF 40 40                 move in flattened polar coordinates (64,64)
D0/2873: FA 7F 28                 jump to $287F
D0/2876: EF 40 80                 move in flattened polar coordinates (64,-128)
D0/2879: FA 7F 28                 jump to $287F
D0/287C: EF 40 C0                 move in flattened polar coordinates (64,-64)
D0/287F: 89 40                    loop start (64 times)
D0/2881: EF 00 FC                 move in flattened polar coordinates (0,-4)
D0/2884: 80 21                    update sprite layer priority based on polar movement angle
D0/2886: 00                       [$00]
D0/2887: 8A                       loop end
D0/2888: 89 07                    loop start (7 times)
D0/288A: EF 00 FD                 move in flattened polar coordinates (0,-3)
D0/288D: 80 21                    update sprite layer priority based on polar movement angle
D0/288F: 00                       [$00]
D0/2890: 8A                       loop end
D0/2891: 89 07                    loop start (7 times)
D0/2893: EF 00 FE                 move in flattened polar coordinates (0,-2)
D0/2896: 80 21                    update sprite layer priority based on polar movement angle
D0/2898: 00                       [$00]
D0/2899: 8A                       loop end
D0/289A: 89 07                    loop start (7 times)
D0/289C: EF 00 FF                 move in flattened polar coordinates (0,-1)
D0/289F: 80 21                    update sprite layer priority based on polar movement angle
D0/28A1: 00                       [$00]
D0/28A2: 8A                       loop end
D0/28A3: C9 17                    play sound effect $17
D0/28A5: 00                       [$00]
D0/28A6: 00                       [$00]
D0/28A7: 83 CF                    move up 16
D0/28A9: 01                       [$01]
D0/28AA: 01                       [$01]
D0/28AB: 83 CF                    move up 16
D0/28AD: 02                       [$02]
D0/28AE: 02                       [$02]
D0/28AF: 83 CF                    move up 16
D0/28B1: 03                       [$03]
D0/28B2: 03                       [$03]
D0/28B3: 83 CF                    move up 16
D0/28B5: 89 0F                    loop start (15 times)
D0/28B7: 04                       [$04]
D0/28B8: 04                       [$04]
D0/28B9: 83 CF                    move up 16
D0/28BB: 8A                       loop end
D0/28BC: FF                       end of script

; [ Animation Script $01CD: Back Blade (bg3) ]

D0/28BD: 00 00                    speed 1, align to bottom of character/monster
D0/28BF: C9 5B                    play sound effect $5B
D0/28C1: 85                       move to attacker position
D0/28C2: E7                       calculate vector from attacking character to target
D0/28C3: 81 07 07                 change attacker graphic to 7 (jumping)
D0/28C6: 09                       [$09]
D0/28C7: E5 08 03 20              move character forward along vector at speed 8 and height 32, branch to $28C6
D0/28CB: D1 01                    invalidate character/monster sprite priority
D0/28CD: C9 00                    play default sound effect
D0/28CF: 80 26 01                 disable character palette updates
D0/28D2: 09                       [$09]
D0/28D3: AF FF                    set background color subtraction to 31 (black)
D0/28D5: B9 FF                    set monster color subtraction to 31 (black)
D0/28D7: FB FF                    set character color subtraction to 31 (black)
D0/28D9: 8B 07                    animated loop start (7 times, increment frame offset each time)
D0/28DB: 00                       [$00]
D0/28DC: 8C                       animated loop end
D0/28DD: 89 07                    loop start (7 times)
D0/28DF: B6 F4                    decrease background color subtraction by 4 (black)
D0/28E1: 09                       [$09]
D0/28E2: BC F4                    decrease monster color subtraction by 4 (black)
D0/28E4: FE F4                    decrease character color subtraction by 4 (black)
D0/28E6: 09                       [$09]
D0/28E7: 8A                       loop end
D0/28E8: 80 26 00                 enable character palette updates
D0/28EB: D1 00                    validate character/monster sprite priority
D0/28ED: 81 37 37                 change attacker graphic to 7 (jumping)
D0/28F0: 09                       [$09]
D0/28F1: E6 08 03 20              move character backward along vector at speed 8 and height 32, branch to $28F0
D0/28F5: 81 00 00                 change attacker graphic to 0 (no action)
D0/28F8: FF                       end of script

; [ Animation Script $01C8:  ]

D0/28F9: 00 80                    speed 1, initial position $80
D0/28FB: C9 5B                    play sound effect $5B
D0/28FD: 85                       move to attacker position
D0/28FE: E7                       calculate vector from attacking character to target
D0/28FF: 81 07 07                 change attacker graphic to 7 (jumping)
D0/2902: 1F                       [---]
D0/2903: E5 06 03 20              move character forward along vector at speed 6 and height 32, branch to $2902
D0/2907: D1 01                    invalidate character/monster sprite priority
D0/2909: 8E 01                    show animation on weapon-hand side of character/monster sprites
D0/290B: 81 12 06                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 6 (walking forward, frame 3) if facing right
D0/290E: 83 69                    move forward 10
D0/2910: 8F 61                    move forward 2 if mirrored
D0/2912: C9 00                    play default sound effect
D0/2914: BF 31 7F                 jump to subroutine $7F31
D0/2917: BF 31 7F                 jump to subroutine $7F31
D0/291A: BF 31 7F                 jump to subroutine $7F31
D0/291D: C9 FF                    play sound effect $FF
D0/291F: D1 00                    validate character/monster sprite priority
D0/2921: 81 37 37                 change attacker graphic to 7 (jumping)
D0/2924: 1F                       [---]
D0/2925: E6 06 03 20              move character backward along vector at speed 6 and height 32, branch to $2924
D0/2929: 81 00 00                 change attacker graphic to 0 (no action)
D0/292C: FF                       end of script

; [ Animation Script $01C7: X-Meteo (bg1) ]

D0/292D: 00 20                    speed 1, align to center of character/monster
D0/292F: BF 67 70                 jump to subroutine $7067
D0/2932: 89 07                    loop start (7 times)
D0/2934: 83 FF                    move up/back 32
D0/2936: 8A                       loop end
D0/2937: C9 00                    play default sound effect
D0/2939: 89 1F                    loop start (31 times)
D0/293B: 83 07                    move down/forward 8
D0/293D: 00                       [$00]
D0/293E: 8A                       loop end
D0/293F: 89 07                    loop start (7 times)
D0/2941: 87 62                    move target forward 3
D0/2943: 83 07                    move down/forward 8
D0/2945: 00                       [$00]
D0/2946: 87 82                    move target back 3
D0/2948: 83 07                    move down/forward 8
D0/294A: 00                       [$00]
D0/294B: 8A                       loop end
D0/294C: 89 17                    loop start (23 times)
D0/294E: 83 07                    move down/forward 8
D0/2950: 00                       [$00]
D0/2951: 8A                       loop end
D0/2952: BF 8E 70                 jump to subroutine $708E
D0/2955: FF                       end of script

; [ Animation Script $01CA: RoyalShock (bg1) ]

D0/2956: 00 00                    speed 1, align to bottom of character/monster
D0/2958: BF 67 70                 jump to subroutine $7067
D0/295B: C9 00                    play default sound effect
D0/295D: 81 14 14                 change attacker graphic to 20 (kneeling)
D0/2960: 89 07                    loop start (7 times)
D0/2962: 0F                       [$0F]
D0/2963: 8A                       loop end
D0/2964: 81 07 07                 change attacker graphic to 7 (jumping)
D0/2967: B0 FF                    set background color addition to 31 (white)
D0/2969: 8B 09                    animated loop start (9 times, increment frame offset each time)
D0/296B: B5 F2                    decrease background color addition by 2 (white)
D0/296D: 00                       [$00]
D0/296E: 8C                       animated loop end
D0/296F: 89 0A                    loop start (10 times)
D0/2971: 83 CF                    move up 16
D0/2973: B5 F2                    decrease background color addition by 2 (white)
D0/2975: 09                       [$09]
D0/2976: 8A                       loop end
D0/2977: BF 8E 70                 jump to subroutine $708E
D0/297A: 81 00 00                 change attacker graphic to 0 (no action)
D0/297D: FF                       end of script

; [ Animation Script $01C9: Riot Blade (sprite) ]

D0/297E: 00 20                    speed 1, align to center of character/monster
D0/2980: D1 01                    invalidate character/monster sprite priority
D0/2982: 90 00                    set animation tile priority to 0
D0/2984: 85                       move to attacker position
D0/2985: 83 77                    move forward 24
D0/2987: 95                       calculate vector from attacker to target
D0/2988: 81 07 07                 change attacker graphic to 7 (jumping)
D0/298B: C9 00                    play default sound effect
D0/298D: 93 00                    move to vector position 0
D0/298F: 98 02 05                 increment frame offset every 2 loops (0..5)
D0/2992: 00                       [$00]
D0/2993: C1 08 06                 command $C1
D0/2996: 81 00 00                 change attacker graphic to 0 (no action)
D0/2999: 87 67                    move target forward 8
D0/299B: 98 02 05                 increment frame offset every 2 loops (0..5)
D0/299E: 00                       [$00]
D0/299F: C1 08 06                 command $C1
D0/29A2: 80 4E                    clear frame offset
D0/29A4: 89 04                    loop start (4 times)
D0/29A6: 87 60                    move target forward 1
D0/29A8: 83 60                    move forward 1
D0/29AA: 1F                       [---]
D0/29AB: 87 80                    move target back 1
D0/29AD: 83 80                    move back 1
D0/29AF: 1F                       [---]
D0/29B0: 8A                       loop end
D0/29B1: 87 87                    move target back 8
D0/29B3: FF                       end of script

; [ Animation Script $0062: Sketch (bg3) ]

D0/29B4: 00 20                    speed 1, align to center of character/monster
D0/29B6: 89 06                    loop start (6 times)
D0/29B8: 1F                       [---]
D0/29B9: 8A                       loop end
D0/29BA: C9 00                    play default sound effect
D0/29BC: FF                       end of script

; [ Animation Script $01C6: ShadowFang (bg1) ]

D0/29BD: 00 00                    speed 1, align to bottom of character/monster
D0/29BF: 80 02                    command $80/$02
D0/29C1: C9 5B                    play sound effect $5B
D0/29C3: 8E 01                    show animation on weapon-hand side of character/monster sprites
D0/29C5: 85                       move to attacker position
D0/29C6: 95                       calculate vector from attacker to target
D0/29C7: 93 00                    move to vector position 0
D0/29C9: 8F 61                    move forward 2 if mirrored
D0/29CB: 81 07 07                 change attacker graphic to 7 (jumping)
D0/29CE: 0F                       [$0F]
D0/29CF: A0 08 03                 jump forward along vector at speed 8, branch to $29CE
D0/29D2: 81 14 14                 change attacker graphic to 20 (kneeling)
D0/29D5: C9 00                    play default sound effect
D0/29D7: 89 0F                    loop start (15 times)
D0/29D9: 0F                       [$0F]
D0/29DA: 8A                       loop end
D0/29DB: D1 01                    invalidate character/monster sprite priority
D0/29DD: 81 07 07                 change attacker graphic to 7 (jumping)
D0/29E0: 8B 0E                    animated loop start (14 times, increment frame offset each time)
D0/29E2: 86 A7                    move attacker up/forward 8
D0/29E4: 00                       [$00]
D0/29E5: 8C                       animated loop end
D0/29E6: 89 04                    loop start (4 times)
D0/29E8: 86 A7                    move attacker up/forward 8
D0/29EA: 0F                       [$0F]
D0/29EB: 8A                       loop end
D0/29EC: 89 13                    loop start (19 times)
D0/29EE: 86 87                    move attacker back 8
D0/29F0: 8A                       loop end
D0/29F1: 80 03                    command $80/$03
D0/29F3: 80 01                    command $80/$01
D0/29F5: E1 00                    hide attacking character sprite
D0/29F7: D1 00                    validate character/monster sprite priority
D0/29F9: 0F                       [$0F]
D0/29FA: 0F                       [$0F]
D0/29FB: D1 01                    invalidate character/monster sprite priority
D0/29FD: E1 01                    show attacking character sprite
D0/29FF: 89 13                    loop start (19 times)
D0/2A01: 86 C7                    move attacker up 8
D0/2A03: 8A                       loop end
D0/2A04: 89 13                    loop start (19 times)
D0/2A06: 86 27                    move attacker down 8
D0/2A08: 0F                       [$0F]
D0/2A09: 8A                       loop end
D0/2A0A: 81 14 14                 change attacker graphic to 20 (kneeling)
D0/2A0D: 89 08                    loop start (8 times)
D0/2A0F: 0F                       [$0F]
D0/2A10: 8A                       loop end
D0/2A11: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/2A14: 80 4F                    move to attacking character position
D0/2A16: 81 00 00                 change attacker graphic to 0 (no action)
D0/2A19: FF                       end of script

; [ Animation Script $01C5: Meteo (sprite) ]

D0/2A1A: 00 00                    speed 1, align to bottom of character/monster
D0/2A1C: D1 01                    invalidate character/monster sprite priority
D0/2A1E: 83 AF                    move up/forward 16
D0/2A20: EB                       jump based on thread ($2A37, $2A29, $2A39, $2A42)
D0/2A29: 83 DF                    move up 32
D0/2A2B: F4 01                    show sprite behind character/monster sprites
D0/2A2D: BF 43 2A                 jump to subroutine $2A43
D0/2A30: BF 43 2A                 jump to subroutine $2A43
D0/2A33: BF 43 2A                 jump to subroutine $2A43
D0/2A36: FF                       end of script

D0/2A37: C9 00                    play default sound effect
D0/2A39: BF 43 2A                 jump to subroutine $2A43
D0/2A3C: BF 43 2A                 jump to subroutine $2A43
D0/2A3F: BF 43 2A                 jump to subroutine $2A43
D0/2A42: FF                       end of script

D0/2A43: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/2A46: 89 04                    loop start (4 times)
D0/2A48: 83 FF                    move up/back 32
D0/2A4A: 8A                       loop end
D0/2A4B: 89 13                    loop start (19 times)
D0/2A4D: 83 07                    move down/forward 8
D0/2A4F: 00                       [$00]
D0/2A50: 8A                       loop end
D0/2A51: 82 16 46                 change target graphic to 22 (hit)
D0/2A54: 8B 04                    animated loop start (4 times, increment frame offset each time)
D0/2A56: 01                       [$01]
D0/2A57: 01                       [$01]
D0/2A58: 01                       [$01]
D0/2A59: 8C                       animated loop end
D0/2A5A: 82 00 00                 change target graphic to 0 (no action)
D0/2A5D: C0                       return from subroutine

; [ Animation Script $01C4: Tentacle (sprite) ]

D0/2A5E: 00 00                    speed 1, align to bottom of character/monster
D0/2A60: 83 9F                    move back 32
D0/2A62: 82 16 46                 change target graphic to 22 (hit)
D0/2A65: C9 00                    play default sound effect
D0/2A67: 89 03                    loop start (3 times)
D0/2A69: 83 67                    move forward 8
D0/2A6B: 00                       [$00]
D0/2A6C: 8A                       loop end
D0/2A6D: 89 03                    loop start (3 times)
D0/2A6F: 83 87                    move back 8
D0/2A71: 00                       [$00]
D0/2A72: 8A                       loop end
D0/2A73: 89 07                    loop start (7 times)
D0/2A75: 83 60                    move forward 1
D0/2A77: 00                       [$00]
D0/2A78: 83 80                    move back 1
D0/2A7A: 00                       [$00]
D0/2A7B: 8A                       loop end
D0/2A7C: 82 00 00                 change target graphic to 0 (no action)
D0/2A7F: FF                       end of script

; [ Animation Script $01C3: Love Token (sprite) ]

D0/2A80: 30 20                    speed 4, align to center of character/monster
D0/2A82: D1 01                    invalidate character/monster sprite priority
D0/2A84: C9 00                    play default sound effect
D0/2A86: 83 AF                    move up/forward 16
D0/2A88: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/2A8B: 8B 09                    animated loop start (9 times, increment frame offset each time)
D0/2A8D: 00                       [$00]
D0/2A8E: 8C                       animated loop end
D0/2A8F: FF                       end of script

; [ Animation Script $01C1:  ]

D0/2A90: 00 00                    speed 1, align to bottom of character/monster
D0/2A92: 83 2F                    move down 16
D0/2A94: D1 01                    invalidate character/monster sprite priority
D0/2A96: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/2A98: C9 00                    play default sound effect
D0/2A9A: 89 1F                    loop start (31 times)
D0/2A9C: CF F1                    decrease bg1 animation palette color subtraction by 1 (black)
D0/2A9E: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/2AA1: 00                       [$00]
D0/2AA2: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/2AA5: 00                       [$00]
D0/2AA6: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/2AA9: 00                       [$00]
D0/2AAA: BD A0                    hide bg1 thread
D0/2AAC: 8A                       loop end
D0/2AAD: B0 FF                    set background color addition to 31 (white)
D0/2AAF: 89 0F                    loop start (15 times)
D0/2AB1: B5 F2                    decrease background color addition by 2 (white)
D0/2AB3: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/2AB6: 00                       [$00]
D0/2AB7: 8A                       loop end
D0/2AB8: 89 1F                    loop start (31 times)
D0/2ABA: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/2ABC: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/2ABF: 00                       [$00]
D0/2AC0: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/2AC3: 00                       [$00]
D0/2AC4: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/2AC7: 00                       [$00]
D0/2AC8: 8A                       loop end
D0/2AC9: FF                       end of script

; [ Animation Script $01C0: Heart Burn (sprite) ]

D0/2ACA: 40 00                    speed 5, align to bottom of character/monster
D0/2ACC: C9 00                    play default sound effect
D0/2ACE: 83 20                    move down 1
D0/2AD0: 0A                       [$0A]
D0/2AD1: 09                       [$09]
D0/2AD2: 08                       [$08]
D0/2AD3: 07                       [$07]
D0/2AD4: 06                       [$06]
D0/2AD5: 05                       [$05]
D0/2AD6: 83 67                    move forward 8
D0/2AD8: 04                       [$04]
D0/2AD9: 03                       [$03]
D0/2ADA: 02                       [$02]
D0/2ADB: 01                       [$01]
D0/2ADC: 00                       [$00]
D0/2ADD: 00                       [$00]
D0/2ADE: 00                       [$00]
D0/2ADF: 00                       [$00]
D0/2AE0: 00                       [$00]
D0/2AE1: 00                       [$00]
D0/2AE2: 01                       [$01]
D0/2AE3: 02                       [$02]
D0/2AE4: 03                       [$03]
D0/2AE5: 04                       [$04]
D0/2AE6: 83 87                    move back 8
D0/2AE8: 05                       [$05]
D0/2AE9: 06                       [$06]
D0/2AEA: 07                       [$07]
D0/2AEB: 08                       [$08]
D0/2AEC: 09                       [$09]
D0/2AED: 0A                       [$0A]
D0/2AEE: FF                       end of script

; [ Animation Script $01BE: Mute (sprite) ]

D0/2AEF: 00 20                    speed 1, align to center of character/monster
D0/2AF1: D1 01                    invalidate character/monster sprite priority
D0/2AF3: 90 00                    set animation tile priority to 0
D0/2AF5: 83 AF                    move up/forward 16
D0/2AF7: EB                       jump based on thread ($2B17, $2B00, $2B16, $2B16)
D0/2B00: C9 00                    play default sound effect
D0/2B02: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/2B05: 84 03                    set animation speed to 4
D0/2B07: 8B 04                    animated loop start (4 times, increment frame offset each time)
D0/2B09: 00                       [$00]
D0/2B0A: 8C                       animated loop end
D0/2B0B: C9 00                    play default sound effect
D0/2B0D: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/2B10: 84 03                    set animation speed to 4
D0/2B12: 8B 04                    animated loop start (4 times, increment frame offset each time)
D0/2B14: 00                       [$00]
D0/2B15: 8C                       animated loop end
D0/2B16: FF                       end of script

D0/2B17: C9 00                    play default sound effect
D0/2B19: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/2B1C: 84 03                    set animation speed to 4
D0/2B1E: 8B 04                    animated loop start (4 times, increment frame offset each time)
D0/2B20: 00                       [$00]
D0/2B21: 8C                       animated loop end
D0/2B22: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/2B25: C9 00                    play default sound effect
D0/2B27: 84 03                    set animation speed to 4
D0/2B29: 8B 04                    animated loop start (4 times, increment frame offset each time)
D0/2B2B: 00                       [$00]
D0/2B2C: 8C                       animated loop end
D0/2B2D: 89 04                    loop start (4 times)
D0/2B2F: 1F                       [---]
D0/2B30: 8A                       loop end
D0/2B31: C9 CC                    play sound effect $CC
D0/2B33: 83 4F                    move down/back 16
D0/2B35: E9 00 00                 move animation randomly (0..0,0..0)
D0/2B38: 84 01                    set animation speed to 2
D0/2B3A: 80 17                    update sprite layer priority based on target
D0/2B3C: EC 01                    change thread layer to bg1
D0/2B3E: 80 32 44 2B 49 2B        jump to $2B44 (left) or $2B49 (right)
D0/2B44: 89 20                    loop start (32 times)
D0/2B46: 00                       [$00]
D0/2B47: 8A                       loop end
D0/2B48: FF                       end of script

D0/2B49: 89 20                    loop start (32 times)
D0/2B4B: 01                       [$01]
D0/2B4C: 8A                       loop end
D0/2B4D: FF                       end of script

; [ Animation Script $01BC: Event Animation $01: Vargas' Blizzard Fist (bg1) ]

D0/2B4E: 00 20                    speed 1, align to center of character/monster
D0/2B50: D0 20                    set tile priority to 2 for all character/monster sprites
D0/2B52: D1 01                    invalidate character/monster sprite priority
D0/2B54: C4 80                    move bg1 thread to this thread's position
D0/2B56: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/2B58: C9 00                    play default sound effect
D0/2B5A: 89 1F                    loop start (31 times)
D0/2B5C: CF F1                    decrease bg1 animation palette color subtraction by 1 (black)
D0/2B5E: A4 17 31                 shift colors (1..8) of bg1 animation/esper palette right (3 loops per shift)
D0/2B61: 00                       [$00]
D0/2B62: BD A0                    hide bg1 thread
D0/2B64: 8A                       loop end
D0/2B65: 89 80                    loop start (128 times)
D0/2B67: A4 17 31                 shift colors (1..8) of bg1 animation/esper palette right (3 loops per shift)
D0/2B6A: 00                       [$00]
D0/2B6B: A4 17 31                 shift colors (1..8) of bg1 animation/esper palette right (3 loops per shift)
D0/2B6E: 00                       [$00]
D0/2B6F: 8A                       loop end
D0/2B70: 89 1F                    loop start (31 times)
D0/2B72: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/2B74: A4 17 31                 shift colors (1..8) of bg1 animation/esper palette right (3 loops per shift)
D0/2B77: 00                       [$00]
D0/2B78: 8A                       loop end
D0/2B79: FF                       end of script

; [ Animation Script $01BD: Event Animation $01: Vargas' Blizzard Fist (bg3) ]

D0/2B7A: 00 20                    speed 1, align to center of character/monster
D0/2B7C: C4 40                    move bg3 thread to this thread's position
D0/2B7E: F7 A0                    wait until scanline 160
D0/2B80: AD 82                    set bg3 hdma scroll type to 2
D0/2B82: AA FF                    set bg3 animation palette color subtraction to 31 (black)
D0/2B84: 89 1F                    loop start (31 times)
D0/2B86: B4 F1                    decrease bg3 animation palette color subtraction by 1 (black)
D0/2B88: 80 50 01                 command $80/$50
D0/2B8B: 00                       [$00]
D0/2B8C: BD 50                    hide bg3 thread
D0/2B8E: 8A                       loop end
D0/2B8F: 89 80                    loop start (128 times)
D0/2B91: 80 50 01                 command $80/$50
D0/2B94: 00                       [$00]
D0/2B95: 80 50 01                 command $80/$50
D0/2B98: 00                       [$00]
D0/2B99: 8A                       loop end
D0/2B9A: 89 1F                    loop start (31 times)
D0/2B9C: B4 E1                    increase bg3 animation palette color subtraction by 1 (black)
D0/2B9E: 80 50 01                 command $80/$50
D0/2BA1: 00                       [$00]
D0/2BA2: 8A                       loop end
D0/2BA3: F7 A0                    wait until scanline 160
D0/2BA5: 80 24                    clear bg3 hdma scroll data
D0/2BA7: AD 85                    set bg3 hdma scroll type to 5
D0/2BA9: FF                       end of script

; [ Animation Script $01B9: 50 Gs (sprite) ]

D0/2BAA: 00 20                    speed 1, align to center of character/monster
D0/2BAC: 89 20                    loop start (32 times)
D0/2BAE: 1F                       [---]
D0/2BAF: 8A                       loop end
D0/2BB0: 89 40                    loop start (64 times)
D0/2BB2: A3 17 B3                 shift colors (1..8) of sprite animation palette left (11 loops per shift)
D0/2BB5: 00                       [$00]
D0/2BB6: 8A                       loop end
D0/2BB7: FF                       end of script

; [ Animation Script $01BA: 50 Gs (bg1) ]

D0/2BB8: 00 20                    speed 1, align to center of character/monster
D0/2BBA: C4 80                    move bg1 thread to this thread's position
D0/2BBC: C9 00                    play default sound effect
D0/2BBE: F7 A0                    wait until scanline 160
D0/2BC0: AD 06                    set bg1 hdma scroll type to 6
D0/2BC2: 80 46 61                 command $80/$46
D0/2BC5: 80 47 11                 command $80/$47
D0/2BC8: AC 81 84                 set (bg1) hdma scroll data (amplitude 4, frequency 1, vertical)
D0/2BCB: AC 41 44                 set (bg2) hdma scroll data (amplitude 4, frequency 1, horizontal)
D0/2BCE: 89 80                    loop start (128 times)
D0/2BD0: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/2BD2: AE 84                    update (bg1) hdma scroll data (vertical)
D0/2BD4: 00                       [$00]
D0/2BD5: 8A                       loop end
D0/2BD6: F7 A0                    wait until scanline 160
D0/2BD8: 80 46 0C                 command $80/$46
D0/2BDB: 80 47 10                 command $80/$47
D0/2BDE: AD 03                    set bg1 hdma scroll type to 3
D0/2BE0: C4 80                    move bg1 thread to this thread's position
D0/2BE2: AC C0 C0                 set (bg2, bg1) hdma scroll data (amplitude 0, frequency 0, horizontal and vertical)
D0/2BE5: AE C6                    update (bg2, bg1) hdma scroll data (horizontal and vertical)
D0/2BE7: 80 25                    clear bg1 hdma scroll data
D0/2BE9: FF                       end of script

; [ Animation Script $01B8: Absolute 0 (bg1) ]

D0/2BEA: 00 A0                    speed 1, align to center of screen
D0/2BEC: C9 00                    play default sound effect
D0/2BEE: D1 01                    invalidate character/monster sprite priority
D0/2BF0: C4 80                    move bg1 thread to this thread's position
D0/2BF2: D0 20                    set tile priority to 2 for all character/monster sprites
D0/2BF4: AF C0                    set background color subtraction to 0 (blue)
D0/2BF6: 89 1F                    loop start (31 times)
D0/2BF8: B6 C1                    increase background color subtraction by 1 (blue)
D0/2BFA: 0F                       [$0F]
D0/2BFB: 8A                       loop end
D0/2BFC: C9 37                    play sound effect $37
D0/2BFE: CD FF                    set bg1 animation palette color addition to 31 (white)
D0/2C00: 89 1F                    loop start (31 times)
D0/2C02: CE F1                    decrease bg1 animation palette color addition by 1 (white)
D0/2C04: 00                       [$00]
D0/2C05: 8A                       loop end
D0/2C06: 89 40                    loop start (64 times)
D0/2C08: 00                       [$00]
D0/2C09: 8A                       loop end
D0/2C0A: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/2C0C: 89 1F                    loop start (31 times)
D0/2C0E: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/2C10: B6 D1                    decrease background color subtraction by 1 (blue)
D0/2C12: 00                       [$00]
D0/2C13: 8A                       loop end
D0/2C14: FF                       end of script

; [ Animation Script $01B6: Overcast (sprite) ]

D0/2C15: 00 20                    speed 1, align to center of character/monster
D0/2C17: 89 40                    loop start (64 times)
D0/2C19: 1F                       [---]
D0/2C1A: 8A                       loop end
D0/2C1B: 84 04                    set animation speed to 5
D0/2C1D: 8B 04                    animated loop start (4 times, increment frame offset each time)
D0/2C1F: 00                       [$00]
D0/2C20: 8C                       animated loop end
D0/2C21: 89 02                    loop start (2 times)
D0/2C23: 05                       [$05]
D0/2C24: 06                       [$06]
D0/2C25: 07                       [$07]
D0/2C26: 08                       [$08]
D0/2C27: 8A                       loop end
D0/2C28: 05                       [$05]
D0/2C29: 09                       [$09]
D0/2C2A: 0A                       [$0A]
D0/2C2B: FF                       end of script

; [ Animation Script $01B7: Overcast (bg1) ]

D0/2C2C: 00 A0                    speed 1, align to center of screen
D0/2C2E: D1 01                    invalidate character/monster sprite priority
D0/2C30: BD A0                    hide bg1 thread
D0/2C32: C4 80                    move bg1 thread to this thread's position
D0/2C34: D0 30                    set tile priority to 3 for all character/monster sprites
D0/2C36: C9 00                    play default sound effect
D0/2C38: F7 A0                    wait until scanline 160
D0/2C3A: AF E0                    set background color subtraction to 0 (black)
D0/2C3C: 89 04                    loop start (4 times)
D0/2C3E: 83 C7                    move up 8
D0/2C40: 8A                       loop end
D0/2C41: 80 3A 1F                 set gradient line intensity to 31
D0/2C44: F7 A0                    wait until scanline 160
D0/2C46: D4 20 22 00              add fixed color to (back area, bg2)
D0/2C4A: 89 1E                    loop start (30 times)
D0/2C4C: F7 A0                    wait until scanline 160
D0/2C4E: 80 5F FF                 command $80/$5F
D0/2C51: 0F                       [$0F]
D0/2C52: 8A                       loop end
D0/2C53: 89 1F                    loop start (31 times)
D0/2C55: B6 E1                    increase background color subtraction by 1 (black)
D0/2C57: 0F                       [$0F]
D0/2C58: 8A                       loop end
D0/2C59: F7 A0                    wait until scanline 160
D0/2C5B: 80 42 00                 disable bg1 mirroring (mode 7)
D0/2C5E: 80 41 00 00 40 40        zoom bg1 (0,0), move bg1 (64,64)
D0/2C64: 80 41 00 00 40 40        zoom bg1 (0,0), move bg1 (64,64)
D0/2C6A: 80 3E 10                 enable (sprites) in main screen
D0/2C6D: 80 40 07                 set screen to mode 7
D0/2C70: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/2C72: C9 AE                    play sound effect $AE
D0/2C74: 89 1F                    loop start (31 times)
D0/2C76: CF F1                    decrease bg1 animation palette color subtraction by 1 (black)
D0/2C78: 80 5E                    command $80/$5E
D0/2C7A: 0F                       [$0F]
D0/2C7B: 80 3E 11                 enable (sprites, bg1) in main screen
D0/2C7E: 8A                       loop end
D0/2C7F: 89 5E                    loop start (94 times)
D0/2C81: 80 5E                    command $80/$5E
D0/2C83: 0F                       [$0F]
D0/2C84: 8A                       loop end
D0/2C85: F7 A0                    wait until scanline 160
D0/2C87: 80 3E 12                 enable (sprites, bg2) in main screen
D0/2C8A: 80 40 01                 set screen to mode 1
D0/2C8D: B6 F1                    decrease background color subtraction by 1 (black)
D0/2C8F: 89 1E                    loop start (30 times)
D0/2C91: B6 F1                    decrease background color subtraction by 1 (black)
D0/2C93: F7 A0                    wait until scanline 160
D0/2C95: 80 5F 01                 command $80/$5F
D0/2C98: 0F                       [$0F]
D0/2C99: 8A                       loop end
D0/2C9A: BF A0 2C                 jump to subroutine $2CA0
D0/2C9D: 80 37                    clear fixed color value hdma data
D0/2C9F: FF                       end of script

D0/2CA0: 80 6C                    command $80/$6C
D0/2CA2: F7 A0                    wait until scanline 160
D0/2CA4: 80 3E 12                 enable (sprites, bg2) in main screen
D0/2CA7: BD 80                    show bg1 thread
D0/2CA9: EA 81                    set bg1 tile data quadrant to 1
D0/2CAB: 0F                       [$0F]
D0/2CAC: EA 82                    set bg1 tile data quadrant to 2
D0/2CAE: 0F                       [$0F]
D0/2CAF: EA 83                    set bg1 tile data quadrant to 3
D0/2CB1: 0F                       [$0F]
D0/2CB2: 0F                       [$0F]
D0/2CB3: C0                       return from subroutine

; [ Animation Script $01B4: Disaster (sprite) ]

D0/2CB4: 00 20                    speed 1, align to center of character/monster
D0/2CB6: 85                       move to attacker position
D0/2CB7: 89 40                    loop start (64 times)
D0/2CB9: 1F                       [---]
D0/2CBA: 8A                       loop end
D0/2CBB: 95                       calculate vector from attacker to target
D0/2CBC: 80 5D                    command $80/$5D
D0/2CBE: 00                       [$00]
D0/2CBF: 92 02 05                 move along vector at speed 2, branch to $2CBC
D0/2CC2: 82 16 46                 change target graphic to 22 (hit)
D0/2CC5: 80 5D                    command $80/$5D
D0/2CC7: 84 03                    set animation speed to 4
D0/2CC9: 89 07                    loop start (7 times)
D0/2CCB: 83 61                    move forward 2
D0/2CCD: 00                       [$00]
D0/2CCE: 83 81                    move back 2
D0/2CD0: 00                       [$00]
D0/2CD1: 8A                       loop end
D0/2CD2: 82 00 00                 change target graphic to 0 (no action)
D0/2CD5: FF                       end of script

; [ Animation Script $01B5: Disaster (bg1) ]

D0/2CD6: 00 A0                    speed 1, align to center of screen
D0/2CD8: D1 01                    invalidate character/monster sprite priority
D0/2CDA: C9 00                    play default sound effect
D0/2CDC: D0 20                    set tile priority to 2 for all character/monster sprites
D0/2CDE: C4 80                    move bg1 thread to this thread's position
D0/2CE0: 89 07                    loop start (7 times)
D0/2CE2: 83 9F                    move back 32
D0/2CE4: 8A                       loop end
D0/2CE5: F7 A0                    wait until scanline 160
D0/2CE7: AD 06                    set bg1 hdma scroll type to 6
D0/2CE9: AC 81 44                 set (bg1) hdma scroll data (amplitude 4, frequency 1, horizontal)
D0/2CEC: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/2CEE: AF E0                    set background color subtraction to 0 (black)
D0/2CF0: 89 07                    loop start (7 times)
D0/2CF2: B6 E1                    increase background color subtraction by 1 (black)
D0/2CF4: 00                       [$00]
D0/2CF5: 8A                       loop end
D0/2CF6: 89 1F                    loop start (31 times)
D0/2CF8: AE 44                    update (bg1) hdma scroll data (horizontal)
D0/2CFA: CF F1                    decrease bg1 animation palette color subtraction by 1 (black)
D0/2CFC: 83 61                    move forward 2
D0/2CFE: 00                       [$00]
D0/2CFF: BD A0                    hide bg1 thread
D0/2D01: 8A                       loop end
D0/2D02: 89 80                    loop start (128 times)
D0/2D04: AE 44                    update (bg1) hdma scroll data (horizontal)
D0/2D06: 83 61                    move forward 2
D0/2D08: 00                       [$00]
D0/2D09: 8A                       loop end
D0/2D0A: 89 1F                    loop start (31 times)
D0/2D0C: AE 44                    update (bg1) hdma scroll data (horizontal)
D0/2D0E: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/2D10: 83 61                    move forward 2
D0/2D12: 00                       [$00]
D0/2D13: 8A                       loop end
D0/2D14: AC 80 40                 set (bg1) hdma scroll data (amplitude 0, frequency 0, horizontal)
D0/2D17: 89 07                    loop start (7 times)
D0/2D19: B6 F1                    decrease background color subtraction by 1 (black)
D0/2D1B: 00                       [$00]
D0/2D1C: 8A                       loop end
D0/2D1D: F7 A0                    wait until scanline 160
D0/2D1F: 80 25                    clear bg1 hdma scroll data
D0/2D21: AD 03                    set bg1 hdma scroll type to 3
D0/2D23: FF                       end of script

; [ Animation Script $01B1: Force Field (bg3) ]

D0/2D24: 00 20                    speed 1, align to center of character/monster
D0/2D26: D1 01                    invalidate character/monster sprite priority
D0/2D28: C4 40                    move bg3 thread to this thread's position
D0/2D2A: A5 80 48 00 FF FF FF 00  init circle at (128,72)
D0/2D32: 00                       [$00]
D0/2D33: BD 50                    hide bg3 thread
D0/2D35: C9 00                    play default sound effect
D0/2D37: 80 26 01                 disable character palette updates
D0/2D3A: B0 E0                    set background color addition to 0 (white)
D0/2D3C: BA E0                    set monster color addition to 0 (white)
D0/2D3E: FC E0                    set character color addition to 0 (white)
D0/2D40: AB E0                    set bg3 animation palette color addition to 0 (white)
D0/2D42: 89 1F                    loop start (31 times)
D0/2D44: A6 00 00 02              move circle (+0,+0) and grow by 2
D0/2D48: B5 E1                    increase background color addition by 1 (white)
D0/2D4A: B3 E1                    increase bg3 animation palette color addition by 1 (white)
D0/2D4C: A7                       update circle
D0/2D4D: 00                       [$00]
D0/2D4E: BB E1                    increase monster color addition by 1 (white)
D0/2D50: FD E1                    increase character color addition by 1 (white)
D0/2D52: A6 00 00 02              move circle (+0,+0) and grow by 2
D0/2D56: A7                       update circle
D0/2D57: 00                       [$00]
D0/2D58: 8A                       loop end
D0/2D59: BD 40                    show bg3 thread
D0/2D5B: 09                       [$09]
D0/2D5C: BD 50                    hide bg3 thread
D0/2D5E: 89 1F                    loop start (31 times)
D0/2D60: BB F1                    decrease monster color addition by 1 (white)
D0/2D62: FD F1                    decrease character color addition by 1 (white)
D0/2D64: B5 F1                    decrease background color addition by 1 (white)
D0/2D66: 09                       [$09]
D0/2D67: 8A                       loop end
D0/2D68: 80 26 00                 enable character palette updates
D0/2D6B: FF                       end of script

; [ Animation Script $01AE: Event Animation $00: Terra/Tritoch Lightning (sprite) ]

D0/2D6C: 00 20                    speed 1, align to center of character/monster
D0/2D6E: 85                       move to attacker position
D0/2D6F: 90 30                    set animation tile priority to 3
D0/2D71: 89 78                    loop start (120 times)
D0/2D73: 1F                       [---]
D0/2D74: 1F                       [---]
D0/2D75: 8A                       loop end
D0/2D76: 84 03                    set animation speed to 4
D0/2D78: 83 BF                    move up/forward 32
D0/2D7A: 89 04                    loop start (4 times)
D0/2D7C: C9 15                    play sound effect $15
D0/2D7E: E9 3F 3F                 move animation randomly (0..63,0..63)
D0/2D81: 00                       [$00]
D0/2D82: 01                       [$01]
D0/2D83: 02                       [$02]
D0/2D84: 03                       [$03]
D0/2D85: 04                       [$04]
D0/2D86: 05                       [$05]
D0/2D87: 06                       [$06]
D0/2D88: 07                       [$07]
D0/2D89: 8A                       loop end
D0/2D8A: FF                       end of script

; [ Animation Script $01CE: Event Animation $02: Terra/Tritoch Lightning w/o Explosions (bg1) ]

D0/2D8B: 00 20                    speed 1, align to center of character/monster
D0/2D8D: D1 01                    invalidate character/monster sprite priority
D0/2D8F: C4 80                    move bg1 thread to this thread's position
D0/2D91: D0 20                    set tile priority to 2 for all character/monster sprites
D0/2D93: 83 A7                    move up/forward 8
D0/2D95: F7 A0                    wait until scanline 160
D0/2D97: D4 02 05 12              add (sprites, bg2) to (bg3, bg1)
D0/2D9B: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/2D9D: 00                       [$00]
D0/2D9E: BD A0                    hide bg1 thread
D0/2DA0: 89 1F                    loop start (31 times)
D0/2DA2: CF F1                    decrease bg1 animation palette color subtraction by 1 (black)
D0/2DA4: A3 15 32                 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift)
D0/2DA7: 00                       [$00]
D0/2DA8: A3 15 32                 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift)
D0/2DAB: 00                       [$00]
D0/2DAC: A3 15 32                 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift)
D0/2DAF: 00                       [$00]
D0/2DB0: A3 15 32                 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift)
D0/2DB3: 00                       [$00]
D0/2DB4: 8A                       loop end
D0/2DB5: 89 C0                    loop start (192 times)
D0/2DB7: A3 15 32                 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift)
D0/2DBA: 00                       [$00]
D0/2DBB: 8A                       loop end
D0/2DBC: 89 1F                    loop start (31 times)
D0/2DBE: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/2DC0: A3 15 32                 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift)
D0/2DC3: 00                       [$00]
D0/2DC4: A3 15 32                 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift)
D0/2DC7: 00                       [$00]
D0/2DC8: A3 15 32                 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift)
D0/2DCB: 00                       [$00]
D0/2DCC: A3 15 32                 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift)
D0/2DCF: 00                       [$00]
D0/2DD0: 8A                       loop end
D0/2DD1: FF                       end of script

; [ Animation Script $01AF: Event Animation $00: Terra/Tritoch Lightning (bg1) ]

D0/2DD2: 00 20                    speed 1, align to center of character/monster
D0/2DD4: D1 01                    invalidate character/monster sprite priority
D0/2DD6: C4 80                    move bg1 thread to this thread's position
D0/2DD8: D0 20                    set tile priority to 2 for all character/monster sprites
D0/2DDA: 83 A7                    move up/forward 8
D0/2DDC: F7 A0                    wait until scanline 160
D0/2DDE: D4 02 05 12              add (sprites, bg2) to (bg3, bg1)
D0/2DE2: C9 51                    play sound effect $51
D0/2DE4: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/2DE6: 00                       [$00]
D0/2DE7: BD A0                    hide bg1 thread
D0/2DE9: 89 1F                    loop start (31 times)
D0/2DEB: CF F1                    decrease bg1 animation palette color subtraction by 1 (black)
D0/2DED: A3 15 32                 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift)
D0/2DF0: 00                       [$00]
D0/2DF1: A3 15 32                 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift)
D0/2DF4: 00                       [$00]
D0/2DF5: A3 15 32                 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift)
D0/2DF8: 00                       [$00]
D0/2DF9: A3 15 32                 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift)
D0/2DFC: 00                       [$00]
D0/2DFD: 8A                       loop end
D0/2DFE: 89 80                    loop start (128 times)
D0/2E00: A3 15 32                 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift)
D0/2E03: 00                       [$00]
D0/2E04: 8A                       loop end
D0/2E05: B0 E0                    set background color addition to 0 (white)
D0/2E07: 89 1F                    loop start (31 times)
D0/2E09: B5 81                    increase background color addition by 1 (red)
D0/2E0B: A3 15 32                 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift)
D0/2E0E: 00                       [$00]
D0/2E0F: A3 15 32                 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift)
D0/2E12: 00                       [$00]
D0/2E13: 8A                       loop end
D0/2E14: B2 E0                    set sprite animation palette color addition to 0 (white)
D0/2E16: BA E0                    set monster color addition to 0 (white)
D0/2E18: FC E0                    set character color addition to 0 (white)
D0/2E1A: CD E0                    set bg1 animation palette color addition to 0 (white)
D0/2E1C: 80 26 01                 disable character palette updates
D0/2E1F: 89 1F                    loop start (31 times)
D0/2E21: A3 15 32                 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift)
D0/2E24: B5 61                    increase background color addition by 1 (cyan)
D0/2E26: BB E1                    increase monster color addition by 1 (white)
D0/2E28: 00                       [$00]
D0/2E29: A3 15 32                 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift)
D0/2E2C: B7 E1                    increase sprite animation palette color addition by 1 (white)
D0/2E2E: CE E1                    increase bg1 animation palette color addition by 1 (white)
D0/2E30: FD E1                    increase character color addition by 1 (white)
D0/2E32: 00                       [$00]
D0/2E33: 8A                       loop end
D0/2E34: C7 0B 80 20 00           spc command $80, $20, $00
D0/2E39: 80 6D                    disable battle menu
D0/2E3B: 84 02                    set animation speed to 3
D0/2E3D: 89 0F                    loop start (15 times)
D0/2E3F: 80 1C                    decrement screen brightness
D0/2E41: 00                       [$00]
D0/2E42: 8A                       loop end
D0/2E43: FF                       end of script

; [ Animation Script $01B0: Event Animation $00/$02: Terra/Tritoch Lightning (bg3) ]

D0/2E44: 00 20                    speed 1, align to center of character/monster
D0/2E46: C4 40                    move bg3 thread to this thread's position
D0/2E48: 89 80                    loop start (128 times)
D0/2E4A: 09                       [$09]
D0/2E4B: 8A                       loop end
D0/2E4C: 84 04                    set animation speed to 5
D0/2E4E: 83 A7                    move up/forward 8
D0/2E50: 8B 08                    animated loop start (8 times, increment frame offset each time)
D0/2E52: 00                       [$00]
D0/2E53: 8C                       animated loop end
D0/2E54: 8B 08                    animated loop start (8 times, increment frame offset each time)
D0/2E56: 00                       [$00]
D0/2E57: 8C                       animated loop end
D0/2E58: 8B 08                    animated loop start (8 times, increment frame offset each time)
D0/2E5A: 00                       [$00]
D0/2E5B: 8C                       animated loop end
D0/2E5C: 8B 08                    animated loop start (8 times, increment frame offset each time)
D0/2E5E: 00                       [$00]
D0/2E5F: 8C                       animated loop end
D0/2E60: FF                       end of script

; [ Animation Script $01AC: S. Cross (sprite) ]

D0/2E61: 00 A0                    speed 1, align to center of screen
D0/2E63: 80 2E 80 48              move to (128,72)
D0/2E67: BF 71 2E                 jump to subroutine $2E71
D0/2E6A: BF 71 2E                 jump to subroutine $2E71
D0/2E6D: BF 71 2E                 jump to subroutine $2E71
D0/2E70: FF                       end of script

D0/2E71: 80 11                    choose random polar angle
D0/2E73: EB                       jump based on thread ($2E78, $2E9F)
D0/2E78: E8 FF 00                 move in polar coordinates (-1,0)
D0/2E7B: 89 07                    loop start (7 times)
D0/2E7D: E8 F8 00                 move in polar coordinates (-8,0)
D0/2E80: 04                       [$04]
D0/2E81: 8A                       loop end
D0/2E82: 89 07                    loop start (7 times)
D0/2E84: E8 F8 00                 move in polar coordinates (-8,0)
D0/2E87: 03                       [$03]
D0/2E88: 8A                       loop end
D0/2E89: 89 07                    loop start (7 times)
D0/2E8B: E8 FA 00                 move in polar coordinates (-6,0)
D0/2E8E: 02                       [$02]
D0/2E8F: 8A                       loop end
D0/2E90: 89 07                    loop start (7 times)
D0/2E92: E8 FC 00                 move in polar coordinates (-4,0)
D0/2E95: 01                       [$01]
D0/2E96: 8A                       loop end
D0/2E97: 89 07                    loop start (7 times)
D0/2E99: E8 FE 00                 move in polar coordinates (-2,0)
D0/2E9C: 00                       [$00]
D0/2E9D: 8A                       loop end
D0/2E9E: C0                       return from subroutine

D0/2E9F: E8 B4 00                 move in polar coordinates (-76,0)
D0/2EA2: 89 07                    loop start (7 times)
D0/2EA4: E8 FC 00                 move in polar coordinates (-4,0)
D0/2EA7: 04                       [$04]
D0/2EA8: 8A                       loop end
D0/2EA9: 89 07                    loop start (7 times)
D0/2EAB: E8 FC 00                 move in polar coordinates (-4,0)
D0/2EAE: 03                       [$03]
D0/2EAF: 8A                       loop end
D0/2EB0: 89 07                    loop start (7 times)
D0/2EB2: E8 FC 00                 move in polar coordinates (-4,0)
D0/2EB5: 02                       [$02]
D0/2EB6: 8A                       loop end
D0/2EB7: 89 07                    loop start (7 times)
D0/2EB9: E8 FD 00                 move in polar coordinates (-3,0)
D0/2EBC: 01                       [$01]
D0/2EBD: 8A                       loop end
D0/2EBE: 89 07                    loop start (7 times)
D0/2EC0: E8 FE 00                 move in polar coordinates (-2,0)
D0/2EC3: 00                       [$00]
D0/2EC4: 8A                       loop end
D0/2EC5: C0                       return from subroutine

; [ Animation Script $01AD: S. Cross (bg1) ]

D0/2EC6: 00 A0                    speed 1, align to center of screen
D0/2EC8: D1 01                    invalidate character/monster sprite priority
D0/2ECA: BD A0                    hide bg1 thread
D0/2ECC: C4 80                    move bg1 thread to this thread's position
D0/2ECE: 80 8C 00                 play sound effect $00 (pan center)
D0/2ED1: F7 A0                    wait until scanline 160
D0/2ED3: D4 20 22 00              add fixed color to (back area, bg2)
D0/2ED7: 80 3A 0F                 set gradient line intensity to 15
D0/2EDA: AF E0                    set background color subtraction to 0 (black)
D0/2EDC: 89 0F                    loop start (15 times)
D0/2EDE: B6 E2                    increase background color subtraction by 2 (black)
D0/2EE0: 80 39 FF                 update blue gradient lines, increase intensity by 1
D0/2EE3: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/2EE6: F7 D8                    wait until scanline 216
D0/2EE8: 0F                       [$0F]
D0/2EE9: 8A                       loop end
D0/2EEA: 80 42 00                 disable bg1 mirroring (mode 7)
D0/2EED: 80 41 00 00 F0 00        zoom bg1 (0,0), move bg1 (-16,0)
D0/2EF3: F7 A0                    wait until scanline 160
D0/2EF5: 80 3E 10                 enable (sprites) in main screen
D0/2EF8: 80 40 07                 set screen to mode 7
D0/2EFB: D0 00                    set tile priority to 0 for all character/monster sprites
D0/2EFD: 89 1F                    loop start (31 times)
D0/2EFF: 80 41 F8 F8 00 00        zoom bg1 (-8,-8), move bg1 (0,0)
D0/2F05: 80 39 00                 update blue gradient lines
D0/2F08: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/2F0B: F7 D8                    wait until scanline 216
D0/2F0D: 00                       [$00]
D0/2F0E: 80 3E 11                 enable (sprites, bg1) in main screen
D0/2F11: 8A                       loop end
D0/2F12: 80 3E 10                 enable (sprites) in main screen
D0/2F15: 80 42 01                 mirror bg1 horizontal (mode 7)
D0/2F18: 80 41 40 40 00 00        zoom bg1 (64,64), move bg1 (0,0)
D0/2F1E: 80 41 40 40 00 00        zoom bg1 (64,64), move bg1 (0,0)
D0/2F24: 80 41 40 40 00 00        zoom bg1 (64,64), move bg1 (0,0)
D0/2F2A: 80 41 40 40 00 00        zoom bg1 (64,64), move bg1 (0,0)
D0/2F30: 89 1F                    loop start (31 times)
D0/2F32: 80 41 F8 F8 00 00        zoom bg1 (-8,-8), move bg1 (0,0)
D0/2F38: 80 39 00                 update blue gradient lines
D0/2F3B: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/2F3E: F7 D8                    wait until scanline 216
D0/2F40: 00                       [$00]
D0/2F41: 80 3E 11                 enable (sprites, bg1) in main screen
D0/2F44: 8A                       loop end
D0/2F45: 80 3E 10                 enable (sprites) in main screen
D0/2F48: 80 41 40 40 00 00        zoom bg1 (64,64), move bg1 (0,0)
D0/2F4E: 80 41 40 40 00 00        zoom bg1 (64,64), move bg1 (0,0)
D0/2F54: 80 41 40 40 00 00        zoom bg1 (64,64), move bg1 (0,0)
D0/2F5A: 80 41 40 40 00 00        zoom bg1 (64,64), move bg1 (0,0)
D0/2F60: 80 32 66 2F 75 2F        jump to $2F66 (left) or $2F75 (right)
D0/2F66: 80 42 01                 mirror bg1 horizontal (mode 7)
D0/2F69: 83 9F                    move back 32
D0/2F6B: 83 9F                    move back 32
D0/2F6D: 83 9F                    move back 32
D0/2F6F: 83 9F                    move back 32
D0/2F71: 83 9F                    move back 32
D0/2F73: 83 9F                    move back 32
D0/2F75: 83 7F                    move forward 32
D0/2F77: 83 7F                    move forward 32
D0/2F79: 83 7F                    move forward 32
D0/2F7B: 80 41 00 00 10 08        zoom bg1 (0,0), move bg1 (16,8)
D0/2F81: 80 41 00 00 20 00        zoom bg1 (0,0), move bg1 (32,0)
D0/2F87: 89 1F                    loop start (31 times)
D0/2F89: 80 41 F8 F8 00 00        zoom bg1 (-8,-8), move bg1 (0,0)
D0/2F8F: 80 39 00                 update blue gradient lines
D0/2F92: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/2F95: F7 D8                    wait until scanline 216
D0/2F97: 00                       [$00]
D0/2F98: 80 3E 11                 enable (sprites, bg1) in main screen
D0/2F9B: 8A                       loop end
D0/2F9C: D0 30                    set tile priority to 3 for all character/monster sprites
D0/2F9E: F7 A0                    wait until scanline 160
D0/2FA0: 80 3E 16                 enable (sprites, bg3, bg2) in main screen
D0/2FA3: 80 40 01                 set screen to mode 1
D0/2FA6: 89 0F                    loop start (15 times)
D0/2FA8: B6 F2                    decrease background color subtraction by 2 (black)
D0/2FAA: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/2FAD: F7 D8                    wait until scanline 216
D0/2FAF: 0F                       [$0F]
D0/2FB0: 8A                       loop end
D0/2FB1: B0 E0                    set background color addition to 0 (white)
D0/2FB3: B2 E0                    set sprite animation palette color addition to 0 (white)
D0/2FB5: BA E0                    set monster color addition to 0 (white)
D0/2FB7: FC E0                    set character color addition to 0 (white)
D0/2FB9: 80 26 01                 disable character palette updates
D0/2FBC: 89 0F                    loop start (15 times)
D0/2FBE: B5 E2                    increase background color addition by 2 (white)
D0/2FC0: B7 E2                    increase sprite animation palette color addition by 2 (white)
D0/2FC2: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/2FC5: 80 39 00                 update blue gradient lines
D0/2FC8: 0F                       [$0F]
D0/2FC9: BB E2                    increase monster color addition by 2 (white)
D0/2FCB: FD E2                    increase character color addition by 2 (white)
D0/2FCD: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/2FD0: 80 39 00                 update blue gradient lines
D0/2FD3: 0F                       [$0F]
D0/2FD4: 8A                       loop end
D0/2FD5: 80 37                    clear fixed color value hdma data
D0/2FD7: 89 0F                    loop start (15 times)
D0/2FD9: B5 F2                    decrease background color addition by 2 (white)
D0/2FDB: 0F                       [$0F]
D0/2FDC: BB F2                    decrease monster color addition by 2 (white)
D0/2FDE: FD F2                    decrease character color addition by 2 (white)
D0/2FE0: 0F                       [$0F]
D0/2FE1: 8A                       loop end
D0/2FE2: BF A0 2C                 jump to subroutine $2CA0
D0/2FE5: 80 26 00                 enable character palette updates
D0/2FE8: FF                       end of script

; [ Animation Script $01AB: Mind Blast (bg3) ]

D0/2FE9: 30 A0                    speed 4, align to center of screen
D0/2FEB: BD 50                    hide bg3 thread
D0/2FED: B0 E0                    set background color addition to 0 (white)
D0/2FEF: 89 0F                    loop start (15 times)
D0/2FF1: B5 81                    increase background color addition by 1 (red)
D0/2FF3: 09                       [$09]
D0/2FF4: 8A                       loop end
D0/2FF5: 89 0F                    loop start (15 times)
D0/2FF7: B5 91                    decrease background color addition by 1 (red)
D0/2FF9: B5 21                    increase background color addition by 1 (blue)
D0/2FFB: 09                       [$09]
D0/2FFC: 8A                       loop end
D0/2FFD: 89 0F                    loop start (15 times)
D0/2FFF: B5 31                    decrease background color addition by 1 (blue)
D0/3001: B5 C1                    increase background color addition by 1 (yellow)
D0/3003: 09                       [$09]
D0/3004: 8A                       loop end
D0/3005: 89 0F                    loop start (15 times)
D0/3007: B5 91                    decrease background color addition by 1 (red)
D0/3009: 09                       [$09]
D0/300A: 8A                       loop end
D0/300B: 89 0F                    loop start (15 times)
D0/300D: B5 51                    decrease background color addition by 1 (green)
D0/300F: 09                       [$09]
D0/3010: 8A                       loop end
D0/3011: 84 01                    set animation speed to 2
D0/3013: 89 0F                    loop start (15 times)
D0/3015: B5 E2                    increase background color addition by 2 (white)
D0/3017: 09                       [$09]
D0/3018: 8A                       loop end
D0/3019: 89 40                    loop start (64 times)
D0/301B: 09                       [$09]
D0/301C: 8A                       loop end
D0/301D: 89 1F                    loop start (31 times)
D0/301F: B5 F1                    decrease background color addition by 1 (white)
D0/3021: 09                       [$09]
D0/3022: 8A                       loop end
D0/3023: FF                       end of script

; [ Animation Script $01AA: Mind Blast (bg1) ]

D0/3024: 00 A0                    speed 1, align to center of screen
D0/3026: C4 80                    move bg1 thread to this thread's position
D0/3028: D1 01                    invalidate character/monster sprite priority
D0/302A: BD A0                    hide bg1 thread
D0/302C: 80 8C 00                 play sound effect $00 (pan center)
D0/302F: F7 A0                    wait until scanline 160
D0/3031: AD 06                    set bg1 hdma scroll type to 6
D0/3033: D4 00 10 00              add fixed color to (sprites)
D0/3037: 80 33 0C                 update rainbow gradient lines (intensity 3)
D0/303A: AC 81 42                 set (bg1) hdma scroll data (amplitude 2, frequency 1, horizontal)
D0/303D: BF AE 30                 jump to subroutine $30AE
D0/3040: 80 33 07                 update rainbow gradient lines (intensity 8)
D0/3043: AC 81 44                 set (bg1) hdma scroll data (amplitude 4, frequency 1, horizontal)
D0/3046: BF AE 30                 jump to subroutine $30AE
D0/3049: 80 33 05                 update rainbow gradient lines (intensity 10)
D0/304C: AC 81 48                 set (bg1) hdma scroll data (amplitude 8, frequency 1, horizontal)
D0/304F: BF AE 30                 jump to subroutine $30AE
D0/3052: 80 33 03                 update rainbow gradient lines (intensity 12)
D0/3055: AC 81 4C                 set (bg1) hdma scroll data (amplitude 12, frequency 1, horizontal)
D0/3058: BF AE 30                 jump to subroutine $30AE
D0/305B: 80 33 01                 update rainbow gradient lines (intensity 14)
D0/305E: AC 81 4F                 set (bg1) hdma scroll data (amplitude 15, frequency 1, horizontal)
D0/3061: CD E0                    set bg1 animation palette color addition to 0 (white)
D0/3063: 89 1F                    loop start (31 times)
D0/3065: CE E1                    increase bg1 animation palette color addition by 1 (white)
D0/3067: AE 44                    update (bg1) hdma scroll data (horizontal)
D0/3069: 80 33 00                 update rainbow gradient lines (intensity 15)
D0/306C: 0F                       [$0F]
D0/306D: 8A                       loop end
D0/306E: 80 5B                    command $80/$5B
D0/3070: 89 FF                    loop start (255 times)
D0/3072: AE 44                    update (bg1) hdma scroll data (horizontal)
D0/3074: 80 5A                    command $80/$5A
D0/3076: 80 33 00                 update rainbow gradient lines (intensity 15)
D0/3079: 0F                       [$0F]
D0/307A: 8A                       loop end
D0/307B: 80 26 01                 disable character palette updates
D0/307E: BA E0                    set monster color addition to 0 (white)
D0/3080: FC E0                    set character color addition to 0 (white)
D0/3082: 89 1F                    loop start (31 times)
D0/3084: BB E1                    increase monster color addition by 1 (white)
D0/3086: FD E1                    increase character color addition by 1 (white)
D0/3088: AE 44                    update (bg1) hdma scroll data (horizontal)
D0/308A: 80 5A                    command $80/$5A
D0/308C: 80 33 00                 update rainbow gradient lines (intensity 15)
D0/308F: 0F                       [$0F]
D0/3090: 8A                       loop end
D0/3091: 80 33 0F                 update rainbow gradient lines (intensity 0)
D0/3094: F7 A0                    wait until scanline 160
D0/3096: 80 24                    clear bg3 hdma scroll data
D0/3098: 80 5C                    command $80/$5C
D0/309A: 89 1F                    loop start (31 times)
D0/309C: CE F1                    decrease bg1 animation palette color addition by 1 (white)
D0/309E: BB F1                    decrease monster color addition by 1 (white)
D0/30A0: FD F1                    decrease character color addition by 1 (white)
D0/30A2: 0F                       [$0F]
D0/30A3: 8A                       loop end
D0/30A4: F7 A0                    wait until scanline 160
D0/30A6: AD 03                    set bg1 hdma scroll type to 3
D0/30A8: 80 26 00                 enable character palette updates
D0/30AB: 80 37                    clear fixed color value hdma data
D0/30AD: FF                       end of script

D0/30AE: 89 0F                    loop start (15 times)
D0/30B0: AE 44                    update (bg1) hdma scroll data (horizontal)
D0/30B2: F7 A0                    wait until scanline 160
D0/30B4: 80 33 00                 update rainbow gradient lines (intensity 15)
D0/30B7: 0F                       [$0F]
D0/30B8: 8A                       loop end
D0/30B9: C0                       return from subroutine

; [ Animation Script $01A9: Step Forward to Attack (sprite) ]

D0/30BA: 00 20                    speed 1, align to center of character/monster
D0/30BC: DB 03                    branch to $30C1 if character already stepped forward to attack
D0/30BE: BF 19 70                 jump to subroutine $7019
D0/30C1: FF                       end of script

; [ Animation Script $01A8:  ]

D0/30C2: 00 20                    speed 1, align to center of character/monster
D0/30C4: BD 50                    hide bg3 thread
D0/30C6: 89 0F                    loop start (15 times)
D0/30C8: 09                       [$09]
D0/30C9: 8A                       loop end
D0/30CA: B0 FF                    set background color addition to 31 (white)
D0/30CC: 89 07                    loop start (7 times)
D0/30CE: B5 F4                    decrease background color addition by 4 (white)
D0/30D0: 09                       [$09]
D0/30D1: 8A                       loop end
D0/30D2: FF                       end of script

; [ Animation Script $01A4: Flare Star (sprite) ]

D0/30D3: 00 20                    speed 1, align to center of character/monster
D0/30D5: 89 60                    loop start (96 times)
D0/30D7: 1F                       [---]
D0/30D8: 8A                       loop end
D0/30D9: 84 02                    set animation speed to 3
D0/30DB: 8B 14                    animated loop start (20 times, increment frame offset each time)
D0/30DD: 00                       [$00]
D0/30DE: 8C                       animated loop end
D0/30DF: FF                       end of script

; [ Animation Script $01A5: Flare Star (bg1) ]

D0/30E0: 00 20                    speed 1, align to center of character/monster
D0/30E2: D0 20                    set tile priority to 2 for all character/monster sprites
D0/30E4: D1 01                    invalidate character/monster sprite priority
D0/30E6: C4 80                    move bg1 thread to this thread's position
D0/30E8: AC 81 C4                 set (bg1) hdma scroll data (amplitude 4, frequency 1, horizontal and vertical)
D0/30EB: 80 26 01                 disable character palette updates
D0/30EE: 80 8C 00                 play sound effect $00 (pan center)
D0/30F1: F7 A0                    wait until scanline 160
D0/30F3: AD 06                    set bg1 hdma scroll type to 6
D0/30F5: B0 E0                    set background color addition to 0 (white)
D0/30F7: CD E0                    set bg1 animation palette color addition to 0 (white)
D0/30F9: AB E0                    set bg3 animation palette color addition to 0 (white)
D0/30FB: BA E0                    set monster color addition to 0 (white)
D0/30FD: FC E0                    set character color addition to 0 (white)
D0/30FF: 89 1F                    loop start (31 times)
D0/3101: AE C4                    update (bg1) hdma scroll data (horizontal and vertical)
D0/3103: 00                       [$00]
D0/3104: BD A0                    hide bg1 thread
D0/3106: B5 81                    increase background color addition by 1 (red)
D0/3108: 8A                       loop end
D0/3109: 89 0F                    loop start (15 times)
D0/310B: AE C4                    update (bg1) hdma scroll data (horizontal and vertical)
D0/310D: B5 E2                    increase background color addition by 2 (white)
D0/310F: CE E2                    increase bg1 animation palette color addition by 2 (white)
D0/3111: 00                       [$00]
D0/3112: AE C4                    update (bg1) hdma scroll data (horizontal and vertical)
D0/3114: B3 E2                    increase bg3 animation palette color addition by 2 (white)
D0/3116: BB E2                    increase monster color addition by 2 (white)
D0/3118: FD E2                    increase character color addition by 2 (white)
D0/311A: 00                       [$00]
D0/311B: 8A                       loop end
D0/311C: BD 80                    show bg1 thread
D0/311E: 0F                       [$0F]
D0/311F: BD A0                    hide bg1 thread
D0/3121: 89 1F                    loop start (31 times)
D0/3123: B5 71                    decrease background color addition by 1 (cyan)
D0/3125: 0F                       [$0F]
D0/3126: BB F1                    decrease monster color addition by 1 (white)
D0/3128: FD F1                    decrease character color addition by 1 (white)
D0/312A: 0F                       [$0F]
D0/312B: 8A                       loop end
D0/312C: 89 1F                    loop start (31 times)
D0/312E: B5 91                    decrease background color addition by 1 (red)
D0/3130: 0F                       [$0F]
D0/3131: 8A                       loop end
D0/3132: F7 A0                    wait until scanline 160
D0/3134: 80 25                    clear bg1 hdma scroll data
D0/3136: AD 03                    set bg1 hdma scroll type to 3
D0/3138: 80 26 00                 enable character palette updates
D0/313B: FF                       end of script

; [ Animation Script $01A6: Flare Star (bg3) ]

D0/313C: 00 20                    speed 1, align to center of character/monster
D0/313E: C4 40                    move bg3 thread to this thread's position
D0/3140: F7 A0                    wait until scanline 160
D0/3142: AD 82                    set bg3 hdma scroll type to 2
D0/3144: 80 59 48                 command $80/$59
D0/3147: 80 50 00                 command $80/$50
D0/314A: 00                       [$00]
D0/314B: BD 50                    hide bg3 thread
D0/314D: 80 59 40                 command $80/$59
D0/3150: 80 50 00                 command $80/$50
D0/3153: 00                       [$00]
D0/3154: 80 59 38                 command $80/$59
D0/3157: 80 50 00                 command $80/$50
D0/315A: 00                       [$00]
D0/315B: 80 59 30                 command $80/$59
D0/315E: 80 50 00                 command $80/$50
D0/3161: 00                       [$00]
D0/3162: 80 59 28                 command $80/$59
D0/3165: 80 50 00                 command $80/$50
D0/3168: 00                       [$00]
D0/3169: 80 59 20                 command $80/$59
D0/316C: 80 50 00                 command $80/$50
D0/316F: 00                       [$00]
D0/3170: 80 59 18                 command $80/$59
D0/3173: 80 50 00                 command $80/$50
D0/3176: 00                       [$00]
D0/3177: 80 59 10                 command $80/$59
D0/317A: 80 50 00                 command $80/$50
D0/317D: 00                       [$00]
D0/317E: 80 59 08                 command $80/$59
D0/3181: 80 50 00                 command $80/$50
D0/3184: 00                       [$00]
D0/3185: 80 59 00                 command $80/$59
D0/3188: 80 50 00                 command $80/$50
D0/318B: 00                       [$00]
D0/318C: 89 35                    loop start (53 times)
D0/318E: 80 50 00                 command $80/$50
D0/3191: 00                       [$00]
D0/3192: 8A                       loop end
D0/3193: F7 A0                    wait until scanline 160
D0/3195: AD 85                    set bg3 hdma scroll type to 5
D0/3197: 80 24                    clear bg3 hdma scroll data
D0/3199: FF                       end of script

; [ Animation Script $019F: Quasar (sprite) ]

D0/319A: 00 20                    speed 1, align to center of character/monster
D0/319C: 80 2E 80 4C              move to (128,76)
D0/31A0: 89 70                    loop start (112 times)
D0/31A2: 1F                       [---]
D0/31A3: 8A                       loop end
D0/31A4: 84 02                    set animation speed to 3
D0/31A6: 8B 1C                    animated loop start (28 times, increment frame offset each time)
D0/31A8: 00                       [$00]
D0/31A9: 8C                       animated loop end
D0/31AA: FF                       end of script

; [ Animation Script $01A0: Quasar (bg1) ]

D0/31AB: 00 20                    speed 1, align to center of character/monster
D0/31AD: D1 01                    invalidate character/monster sprite priority
D0/31AF: C4 80                    move bg1 thread to this thread's position
D0/31B1: 83 DF                    move up 32
D0/31B3: 83 DF                    move up 32
D0/31B5: 80 8C 00                 play sound effect $00 (pan center)
D0/31B8: F7 A0                    wait until scanline 160
D0/31BA: AD 00                    set bg1 hdma scroll type to 0
D0/31BC: 80 55 00                 command $80/$55
D0/31BF: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/31C1: AA E0                    set bg3 animation palette color subtraction to 0 (black)
D0/31C3: 89 20                    loop start (32 times)
D0/31C5: 80 55 01                 command $80/$55
D0/31C8: A3 16 44                 shift colors (1..7) of bg1 animation palette left (4 loops per shift)
D0/31CB: A4 16 34                 shift colors (1..7) of bg1 animation/esper palette right (3 loops per shift)
D0/31CE: 00                       [$00]
D0/31CF: BD A0                    hide bg1 thread
D0/31D1: 8A                       loop end
D0/31D2: AF E0                    set background color subtraction to 0 (black)
D0/31D4: 89 0F                    loop start (15 times)
D0/31D6: B6 E1                    increase background color subtraction by 1 (black)
D0/31D8: A3 16 44                 shift colors (1..7) of bg1 animation palette left (4 loops per shift)
D0/31DB: A4 16 34                 shift colors (1..7) of bg1 animation/esper palette right (3 loops per shift)
D0/31DE: 00                       [$00]
D0/31DF: 8A                       loop end
D0/31E0: 89 80                    loop start (128 times)
D0/31E2: A3 16 44                 shift colors (1..7) of bg1 animation palette left (4 loops per shift)
D0/31E5: A4 16 34                 shift colors (1..7) of bg1 animation/esper palette right (3 loops per shift)
D0/31E8: 00                       [$00]
D0/31E9: 8A                       loop end
D0/31EA: 89 0F                    loop start (15 times)
D0/31EC: CF E2                    increase bg1 animation palette color subtraction by 2 (black)
D0/31EE: B4 E2                    increase bg3 animation palette color subtraction by 2 (black)
D0/31F0: A3 16 44                 shift colors (1..7) of bg1 animation palette left (4 loops per shift)
D0/31F3: A4 16 34                 shift colors (1..7) of bg1 animation/esper palette right (3 loops per shift)
D0/31F6: 00                       [$00]
D0/31F7: 8A                       loop end
D0/31F8: 89 0F                    loop start (15 times)
D0/31FA: B6 F1                    decrease background color subtraction by 1 (black)
D0/31FC: 00                       [$00]
D0/31FD: 8A                       loop end
D0/31FE: F7 A0                    wait until scanline 160
D0/3200: AD 03                    set bg1 hdma scroll type to 3
D0/3202: FF                       end of script

; [ Animation Script $01A1: Quasar (bg3) ]

D0/3203: 00 20                    speed 1, align to center of character/monster
D0/3205: C4 40                    move bg3 thread to this thread's position
D0/3207: F7 A0                    wait until scanline 160
D0/3209: AD 82                    set bg3 hdma scroll type to 2
D0/320B: 00                       [$00]
D0/320C: BD 50                    hide bg3 thread
D0/320E: 89 E0                    loop start (224 times)
D0/3210: 80 50 00                 command $80/$50
D0/3213: 00                       [$00]
D0/3214: 8A                       loop end
D0/3215: F7 A0                    wait until scanline 160
D0/3217: AD 85                    set bg3 hdma scroll type to 5
D0/3219: 80 24                    clear bg3 hdma scroll data
D0/321B: FF                       end of script

; [ Animation Script $019D: Net (sprite) ]

D0/321C: 20 20                    speed 3, align to center of character/monster
D0/321E: C9 00                    play default sound effect
D0/3220: 83 AF                    move up/forward 16
D0/3222: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/3225: 8B 03                    animated loop start (3 times, increment frame offset each time)
D0/3227: 00                       [$00]
D0/3228: 8C                       animated loop end
D0/3229: 89 07                    loop start (7 times)
D0/322B: 03                       [$03]
D0/322C: 8A                       loop end
D0/322D: 02                       [$02]
D0/322E: 01                       [$01]
D0/322F: 00                       [$00]
D0/3230: FF                       end of script

; [ Animation Script $019E: Pearl Wind (bg1) ]

D0/3231: 00 20                    speed 1, align to center of character/monster
D0/3233: D0 20                    set tile priority to 2 for all character/monster sprites
D0/3235: D1 01                    invalidate character/monster sprite priority
D0/3237: 80 25                    clear bg1 hdma scroll data
D0/3239: 80 22                    command $80/$22
D0/323B: C9 00                    play default sound effect
D0/323D: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/323F: C4 80                    move bg1 thread to this thread's position
D0/3241: 80 23                    command $80/$23
D0/3243: F7 A0                    wait until scanline 160
D0/3245: AD 00                    set bg1 hdma scroll type to 0
D0/3247: EA 82                    set bg1 tile data quadrant to 2
D0/3249: 00                       [$00]
D0/324A: 00                       [$00]
D0/324B: BD A0                    hide bg1 thread
D0/324D: 89 1F                    loop start (31 times)
D0/324F: CF F1                    decrease bg1 animation palette color subtraction by 1 (black)
D0/3251: 80 23                    command $80/$23
D0/3253: 00                       [$00]
D0/3254: 8A                       loop end
D0/3255: 89 60                    loop start (96 times)
D0/3257: 80 23                    command $80/$23
D0/3259: 00                       [$00]
D0/325A: 8A                       loop end
D0/325B: 89 1F                    loop start (31 times)
D0/325D: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/325F: 80 23                    command $80/$23
D0/3261: 00                       [$00]
D0/3262: 8A                       loop end
D0/3263: BD 80                    show bg1 thread
D0/3265: EA 82                    set bg1 tile data quadrant to 2
D0/3267: 0F                       [$0F]
D0/3268: 0F                       [$0F]
D0/3269: AD 03                    set bg1 hdma scroll type to 3
D0/326B: 80 25                    clear bg1 hdma scroll data
D0/326D: FF                       end of script

; [ Animation Script $019C: Pep Up (bg1) ]

D0/326E: 00 20                    speed 1, align to center of character/monster
D0/3270: C9 00                    play default sound effect
D0/3272: BF EA 60                 jump to subroutine $60EA
D0/3275: FF                       end of script

; [ Animation Script $019B: R.Polarity (sprite) ]

D0/3276: 00 20                    speed 1, align to center of character/monster
D0/3278: 89 1F                    loop start (31 times)
D0/327A: 1F                       [---]
D0/327B: 8A                       loop end
D0/327C: 89 05                    loop start (5 times)
D0/327E: 80 53                    command $80/$53
D0/3280: 1F                       [---]
D0/3281: 8A                       loop end
D0/3282: 80 54                    command $80/$54
D0/3284: FF                       end of script

; [ Animation Script $019A: R.Polarity (bg1) ]

D0/3285: 00 20                    speed 1, align to center of character/monster
D0/3287: D1 01                    invalidate character/monster sprite priority
D0/3289: C9 00                    play default sound effect
D0/328B: B0 FF                    set background color addition to 31 (white)
D0/328D: AC 41 84                 set (bg2) hdma scroll data (amplitude 4, frequency 1, vertical)
D0/3290: 89 1F                    loop start (31 times)
D0/3292: B5 F1                    decrease background color addition by 1 (white)
D0/3294: AE 82                    update (bg2) hdma scroll data (vertical)
D0/3296: 0F                       [$0F]
D0/3297: 8A                       loop end
D0/3298: 89 1F                    loop start (31 times)
D0/329A: AE 82                    update (bg2) hdma scroll data (vertical)
D0/329C: 0F                       [$0F]
D0/329D: 8A                       loop end
D0/329E: AC 40 80                 set (bg2) hdma scroll data (amplitude 0, frequency 0, vertical)
D0/32A1: AE 82                    update (bg2) hdma scroll data (vertical)
D0/32A3: FF                       end of script

; [ Animation Script $0199: Dischord (sprite) ]

D0/32A4: 00 20                    speed 1, align to center of character/monster
D0/32A6: D1 01                    invalidate character/monster sprite priority
D0/32A8: AC 81 81                 set (bg1) hdma scroll data (amplitude 1, frequency 1, vertical)
D0/32AB: F7 A0                    wait until scanline 160
D0/32AD: AD 06                    set bg1 hdma scroll type to 6
D0/32AF: D4 00 01 00              add fixed color to (bg1)
D0/32B3: C9 00                    play default sound effect
D0/32B5: 80 33 0B                 update rainbow gradient lines (intensity 4)
D0/32B8: BF 00 33                 jump to subroutine $3300
D0/32BB: AC 81 83                 set (bg1) hdma scroll data (amplitude 3, frequency 1, vertical)
D0/32BE: 80 33 07                 update rainbow gradient lines (intensity 8)
D0/32C1: BF 00 33                 jump to subroutine $3300
D0/32C4: AC 81 85                 set (bg1) hdma scroll data (amplitude 5, frequency 1, vertical)
D0/32C7: 80 33 03                 update rainbow gradient lines (intensity 12)
D0/32CA: BF 00 33                 jump to subroutine $3300
D0/32CD: AC 81 87                 set (bg1) hdma scroll data (amplitude 7, frequency 1, vertical)
D0/32D0: 89 40                    loop start (64 times)
D0/32D2: AE 84                    update (bg1) hdma scroll data (vertical)
D0/32D4: 80 33 00                 update rainbow gradient lines (intensity 15)
D0/32D7: 1F                       [---]
D0/32D8: 8A                       loop end
D0/32D9: 80 33 03                 update rainbow gradient lines (intensity 12)
D0/32DC: AC 81 85                 set (bg1) hdma scroll data (amplitude 5, frequency 1, vertical)
D0/32DF: BF 00 33                 jump to subroutine $3300
D0/32E2: 80 33 07                 update rainbow gradient lines (intensity 8)
D0/32E5: AC 81 83                 set (bg1) hdma scroll data (amplitude 3, frequency 1, vertical)
D0/32E8: BF 00 33                 jump to subroutine $3300
D0/32EB: 80 33 0B                 update rainbow gradient lines (intensity 4)
D0/32EE: AC 81 81                 set (bg1) hdma scroll data (amplitude 1, frequency 1, vertical)
D0/32F1: BF 00 33                 jump to subroutine $3300
D0/32F4: 80 33 0F                 update rainbow gradient lines (intensity 0)
D0/32F7: F7 A0                    wait until scanline 160
D0/32F9: 80 25                    clear bg1 hdma scroll data
D0/32FB: AD 03                    set bg1 hdma scroll type to 3
D0/32FD: 80 37                    clear fixed color value hdma data
D0/32FF: FF                       end of script

D0/3300: 89 07                    loop start (7 times)
D0/3302: AE 84                    update (bg1) hdma scroll data (vertical)
D0/3304: 80 33 00                 update rainbow gradient lines (intensity 15)
D0/3307: 1F                       [---]
D0/3308: 8A                       loop end
D0/3309: C0                       return from subroutine

; [ Animation Script $0198: Cyclonic (bg1) ]

D0/330A: 00 20                    speed 1, align to center of character/monster
D0/330C: D1 01                    invalidate character/monster sprite priority
D0/330E: D0 20                    set tile priority to 2 for all character/monster sprites
D0/3310: C4 80                    move bg1 thread to this thread's position
D0/3312: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/3314: 00                       [$00]
D0/3315: BD A0                    hide bg1 thread
D0/3317: C9 00                    play default sound effect
D0/3319: 89 1F                    loop start (31 times)
D0/331B: CF F1                    decrease bg1 animation palette color subtraction by 1 (black)
D0/331D: A4 17 31                 shift colors (1..8) of bg1 animation/esper palette right (3 loops per shift)
D0/3320: 00                       [$00]
D0/3321: 8A                       loop end
D0/3322: 89 40                    loop start (64 times)
D0/3324: A4 17 31                 shift colors (1..8) of bg1 animation/esper palette right (3 loops per shift)
D0/3327: 00                       [$00]
D0/3328: 8A                       loop end
D0/3329: 89 1F                    loop start (31 times)
D0/332B: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/332D: A4 17 31                 shift colors (1..8) of bg1 animation/esper palette right (3 loops per shift)
D0/3330: 00                       [$00]
D0/3331: 8A                       loop end
D0/3332: FF                       end of script

; [ Animation Script $0196: Entwine (sprite) ]

D0/3333: 10 20                    speed 2, align to center of character/monster
D0/3335: D1 01                    invalidate character/monster sprite priority
D0/3337: C9 00                    play default sound effect
D0/3339: 82 16 46                 change target graphic to 22 (hit)
D0/333C: 8B 12                    animated loop start (18 times, increment frame offset each time)
D0/333E: 87 61                    move target forward 2
D0/3340: 00                       [$00]
D0/3341: 87 81                    move target back 2
D0/3343: 00                       [$00]
D0/3344: 8C                       animated loop end
D0/3345: 82 00 00                 change target graphic to 0 (no action)
D0/3348: FF                       end of script

; [ Animation Script $0194: Stone (sprite) ]

D0/3349: 00 20                    speed 1, align to center of character/monster
D0/334B: D1 01                    invalidate character/monster sprite priority
D0/334D: C9 00                    play default sound effect
D0/334F: 81 14 14                 change attacker graphic to 20 (kneeling)
D0/3352: 89 07                    loop start (7 times)
D0/3354: 1F                       [---]
D0/3355: 8A                       loop end
D0/3356: 81 12 12                 change attacker graphic to 18 (walking forward, frame 2)
D0/3359: 1F                       [---]
D0/335A: 1F                       [---]
D0/335B: 1F                       [---]
D0/335C: 1F                       [---]
D0/335D: 81 04 04                 change attacker graphic to 4 (walking forward, frame 1)
D0/3360: 85                       move to attacker position
D0/3361: 95                       calculate vector from attacker to target
D0/3362: 80 52                    command $80/$52
D0/3364: 00                       [$00]
D0/3365: 92 04 05                 move along vector at speed 4, branch to $3362
D0/3368: 81 00 00                 change attacker graphic to 0 (no action)
D0/336B: 82 16 46                 change target graphic to 22 (hit)
D0/336E: C9 94                    play sound effect $94
D0/3370: 80 17                    update sprite layer priority based on target
D0/3372: EC 01                    change thread layer to bg1
D0/3374: 84 04                    set animation speed to 5
D0/3376: 8B 03                    animated loop start (3 times, increment frame offset each time)
D0/3378: 00                       [$00]
D0/3379: 8C                       animated loop end
D0/337A: 82 00 00                 change target graphic to 0 (no action)
D0/337D: FF                       end of script

; [ Animation Script $0192: Rippler (sprite) ]

D0/337E: 00 00                    speed 1, align to bottom of character/monster
D0/3380: 89 4F                    loop start (79 times)
D0/3382: 1F                       [---]
D0/3383: 8A                       loop end
D0/3384: 89 04                    loop start (4 times)
D0/3386: 83 DF                    move up 32
D0/3388: 8A                       loop end
D0/3389: 80 16                    command $80/$16
D0/338B: EB                       jump based on thread ($3394, $339A, $33A0, $33A6)
D0/3394: EF 30 00                 move in flattened polar coordinates (48,0)
D0/3397: FA A9 33                 jump to $33A9
D0/339A: EF 30 40                 move in flattened polar coordinates (48,64)
D0/339D: FA A9 33                 jump to $33A9
D0/33A0: EF 30 80                 move in flattened polar coordinates (48,-128)
D0/33A3: FA A9 33                 jump to $33A9
D0/33A6: EF 30 C0                 move in flattened polar coordinates (48,-64)
D0/33A9: 89 27                    loop start (39 times)
D0/33AB: EF 00 08                 move in flattened polar coordinates (0,8)
D0/33AE: 83 23                    move down 4
D0/33B0: 80 21                    update sprite layer priority based on polar movement angle
D0/33B2: 00                       [$00]
D0/33B3: 8A                       loop end
D0/33B4: 89 40                    loop start (64 times)
D0/33B6: EF 00 08                 move in flattened polar coordinates (0,8)
D0/33B9: 80 21                    update sprite layer priority based on polar movement angle
D0/33BB: 00                       [$00]
D0/33BC: 8A                       loop end
D0/33BD: EB                       jump based on thread ($33C6, $33CE, $33CE, $33CE)
D0/33C6: B0 FF                    set background color addition to 31 (white)
D0/33C8: 89 1F                    loop start (31 times)
D0/33CA: B5 F1                    decrease background color addition by 1 (white)
D0/33CC: 1F                       [---]
D0/33CD: 8A                       loop end
D0/33CE: FF                       end of script

; [ Animation Script $0193: Rippler (bg1) ]

D0/33CF: 00 20                    speed 1, align to center of character/monster
D0/33D1: D1 01                    invalidate character/monster sprite priority
D0/33D3: C4 80                    move bg1 thread to this thread's position
D0/33D5: D0 30                    set tile priority to 3 for all character/monster sprites
D0/33D7: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/33D9: AC 81 C2                 set (bg1) hdma scroll data (amplitude 2, frequency 1, horizontal and vertical)
D0/33DC: F7 A0                    wait until scanline 160
D0/33DE: AD 06                    set bg1 hdma scroll type to 6
D0/33E0: C9 00                    play default sound effect
D0/33E2: 89 0F                    loop start (15 times)
D0/33E4: CF F2                    decrease bg1 animation palette color subtraction by 2 (black)
D0/33E6: AE C4                    update (bg1) hdma scroll data (horizontal and vertical)
D0/33E8: A3 16 34                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/33EB: 00                       [$00]
D0/33EC: BD A0                    hide bg1 thread
D0/33EE: 8A                       loop end
D0/33EF: 89 20                    loop start (32 times)
D0/33F1: AE C4                    update (bg1) hdma scroll data (horizontal and vertical)
D0/33F3: 80 51 01                 command $80/$51
D0/33F6: A3 16 34                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/33F9: 00                       [$00]
D0/33FA: AE C4                    update (bg1) hdma scroll data (horizontal and vertical)
D0/33FC: 80 51 00                 command $80/$51
D0/33FF: A3 16 34                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/3402: 00                       [$00]
D0/3403: 8A                       loop end
D0/3404: 89 40                    loop start (64 times)
D0/3406: AE C4                    update (bg1) hdma scroll data (horizontal and vertical)
D0/3408: A3 16 34                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/340B: 00                       [$00]
D0/340C: 8A                       loop end
D0/340D: 89 20                    loop start (32 times)
D0/340F: AE C4                    update (bg1) hdma scroll data (horizontal and vertical)
D0/3411: 80 51 00                 command $80/$51
D0/3414: A3 16 34                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/3417: 00                       [$00]
D0/3418: AE C4                    update (bg1) hdma scroll data (horizontal and vertical)
D0/341A: 80 51 01                 command $80/$51
D0/341D: A3 16 34                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/3420: 00                       [$00]
D0/3421: 8A                       loop end
D0/3422: 89 0F                    loop start (15 times)
D0/3424: CF E2                    increase bg1 animation palette color subtraction by 2 (black)
D0/3426: AE C4                    update (bg1) hdma scroll data (horizontal and vertical)
D0/3428: A3 16 34                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/342B: 00                       [$00]
D0/342C: BD A0                    hide bg1 thread
D0/342E: 8A                       loop end
D0/342F: 80 25                    clear bg1 hdma scroll data
D0/3431: F7 A0                    wait until scanline 160
D0/3433: AD 03                    set bg1 hdma scroll type to 3
D0/3435: FF                       end of script

; [ Animation Script $018C: TekMissile, Launcher, Missile (sprite) ]

D0/3436: 00 20                    speed 1, align to center of character/monster
D0/3438: D1 01                    invalidate character/monster sprite priority
D0/343A: 83 CF                    move up 16
D0/343C: BF 25 5F                 jump to subroutine $5F25
D0/343F: 85                       move to attacker position
D0/3440: 89 0F                    loop start (15 times)
D0/3442: 83 20                    move down 1
D0/3444: 00                       [$00]
D0/3445: 8A                       loop end
D0/3446: 01                       [$01]
D0/3447: 02                       [$02]
D0/3448: 95                       calculate vector from attacker to target
D0/3449: 98 01 03                 increment frame offset every 1 loops (0..3)
D0/344C: 02                       [$02]
D0/344D: 92 08 06                 move along vector at speed 8, branch to $3449
D0/3450: 80 4E                    clear frame offset
D0/3452: C9 85                    play sound effect $85
D0/3454: 82 16 46                 change target graphic to 22 (hit)
D0/3457: 89 07                    loop start (7 times)
D0/3459: 87 62                    move target forward 3
D0/345B: 1F                       [---]
D0/345C: 87 82                    move target back 3
D0/345E: 1F                       [---]
D0/345F: 8A                       loop end
D0/3460: 82 00 00                 change target graphic to 0 (no action)
D0/3463: FF                       end of script

; [ Animation Script $018B: Step Mine (sprite) ]

D0/3464: 00 20                    speed 1, align to center of character/monster
D0/3466: D1 01                    invalidate character/monster sprite priority
D0/3468: EB                       jump based on thread ($3475, $3480, $348B, $3496, $349F, $34AA)
D0/3475: C9 00                    play default sound effect
D0/3477: 83 CF                    move up 16
D0/3479: 89 2F                    loop start (47 times)
D0/347B: 1F                       [---]
D0/347C: 8A                       loop end
D0/347D: FA B2 34                 jump to $34B2
D0/3480: 83 C7                    move up 8
D0/3482: 83 6F                    move forward 16
D0/3484: 89 27                    loop start (39 times)
D0/3486: 1F                       [---]
D0/3487: 8A                       loop end
D0/3488: FA B2 34                 jump to $34B2
D0/348B: 83 27                    move down 8
D0/348D: 83 6F                    move forward 16
D0/348F: 89 1F                    loop start (31 times)
D0/3491: 1F                       [---]
D0/3492: 8A                       loop end
D0/3493: FA B2 34                 jump to $34B2
D0/3496: 83 2F                    move down 16
D0/3498: 89 17                    loop start (23 times)
D0/349A: 1F                       [---]
D0/349B: 8A                       loop end
D0/349C: FA B2 34                 jump to $34B2
D0/349F: 83 27                    move down 8
D0/34A1: 83 8F                    move back 16
D0/34A3: 89 0F                    loop start (15 times)
D0/34A5: 1F                       [---]
D0/34A6: 8A                       loop end
D0/34A7: FA B2 34                 jump to $34B2
D0/34AA: 83 C7                    move up 8
D0/34AC: 83 8F                    move back 16
D0/34AE: 89 07                    loop start (7 times)
D0/34B0: 1F                       [---]
D0/34B1: 8A                       loop end
D0/34B2: 89 13                    loop start (19 times)
D0/34B4: 83 C7                    move up 8
D0/34B6: 1F                       [---]
D0/34B7: 8A                       loop end
D0/34B8: 83 93                    move back 20
D0/34BA: 83 93                    move back 20
D0/34BC: 83 93                    move back 20
D0/34BE: 83 93                    move back 20
D0/34C0: EB                       jump based on thread ($34CD, $34F4, $3501, $3510, $351F, $352D)
D0/34CD: 83 87                    move back 8
D0/34CF: 89 13                    loop start (19 times)
D0/34D1: 83 27                    move down 8
D0/34D3: 83 63                    move forward 4
D0/34D5: 00                       [$00]
D0/34D6: 8A                       loop end
D0/34D7: C9 6B                    play sound effect $6B
D0/34D9: B0 FF                    set background color addition to 31 (white)
D0/34DB: 82 16 46                 change target graphic to 22 (hit)
D0/34DE: 89 07                    loop start (7 times)
D0/34E0: B5 F4                    decrease background color addition by 4 (white)
D0/34E2: 83 27                    move down 8
D0/34E4: 83 63                    move forward 4
D0/34E6: 00                       [$00]
D0/34E7: 8A                       loop end
D0/34E8: 82 00 00                 change target graphic to 0 (no action)
D0/34EB: 89 0B                    loop start (11 times)
D0/34ED: 83 27                    move down 8
D0/34EF: 83 63                    move forward 4
D0/34F1: 00                       [$00]
D0/34F2: 8A                       loop end
D0/34F3: FF                       end of script

D0/34F4: 83 9F                    move back 32
D0/34F6: 83 D7                    move up 24
D0/34F8: 89 27                    loop start (39 times)
D0/34FA: 83 27                    move down 8
D0/34FC: 83 63                    move forward 4
D0/34FE: 01                       [$01]
D0/34FF: 8A                       loop end
D0/3500: FF                       end of script

D0/3501: 83 FF                    move up/back 32
D0/3503: 83 E7                    move up/back 8
D0/3505: 83 CF                    move up 16
D0/3507: 89 27                    loop start (39 times)
D0/3509: 83 27                    move down 8
D0/350B: 83 63                    move forward 4
D0/350D: 02                       [$02]
D0/350E: 8A                       loop end
D0/350F: FF                       end of script

D0/3510: 83 CF                    move up 16
D0/3512: 83 DF                    move up 32
D0/3514: 83 FF                    move up/back 32
D0/3516: 89 27                    loop start (39 times)
D0/3518: 83 27                    move down 8
D0/351A: 83 63                    move forward 4
D0/351C: 03                       [$03]
D0/351D: 8A                       loop end
D0/351E: FF                       end of script

D0/351F: 83 F7                    move up/back 24
D0/3521: 83 DF                    move up 32
D0/3523: 83 DF                    move up 32
D0/3525: 89 27                    loop start (39 times)
D0/3527: 83 27                    move down 8
D0/3529: 83 63                    move forward 4
D0/352B: 04                       [$04]
D0/352C: 8A                       loop end
D0/352D: FF                       end of script

; [ Animation Script $0188: Blow Fish (sprite) ]

D0/352E: 00 20                    speed 1, align to center of character/monster
D0/3530: D1 01                    invalidate character/monster sprite priority
D0/3532: 83 9F                    move back 32
D0/3534: 83 9F                    move back 32
D0/3536: 83 9F                    move back 32
D0/3538: 83 9F                    move back 32
D0/353A: 83 CF                    move up 16
D0/353C: EB                       jump based on thread ($3545, $3564, $3545, $3564)
D0/3545: C9 00                    play default sound effect
D0/3547: E9 00 1F                 move animation randomly (0..0,0..31)
D0/354A: 89 0F                    loop start (15 times)
D0/354C: 83 67                    move forward 8
D0/354E: 00                       [$00]
D0/354F: 8A                       loop end
D0/3550: 82 16 46                 change target graphic to 22 (hit)
D0/3553: 89 01                    loop start (1 times)
D0/3555: 87 81                    move target back 2
D0/3557: 80 3B                    change target's color palette to animation palette
D0/3559: 00                       [$00]
D0/355A: 87 61                    move target forward 2
D0/355C: 80 3C                    restore target's color palette
D0/355E: 00                       [$00]
D0/355F: 8A                       loop end
D0/3560: 82 00 00                 change target graphic to 0 (no action)
D0/3563: FF                       end of script

D0/3564: 82 16 46                 change target graphic to 22 (hit)
D0/3567: E9 00 1F                 move animation randomly (0..0,0..31)
D0/356A: 89 0F                    loop start (15 times)
D0/356C: 83 67                    move forward 8
D0/356E: 01                       [$01]
D0/356F: 8A                       loop end
D0/3570: 89 01                    loop start (1 times)
D0/3572: 87 81                    move target back 2
D0/3574: 80 3B                    change target's color palette to animation palette
D0/3576: 01                       [$01]
D0/3577: 87 61                    move target forward 2
D0/3579: 80 3C                    restore target's color palette
D0/357B: 01                       [$01]
D0/357C: 8A                       loop end
D0/357D: 82 00 00                 change target graphic to 0 (no action)
D0/3580: FF                       end of script

; [ Animation Script $0190: L.4 Flare (extra) ]

D0/3581: 00 20                    speed 1, align to center of character/monster
D0/3583: D1 01                    invalidate character/monster sprite priority
D0/3585: AF 60                    set background color subtraction to 0 (red)
D0/3587: AC 44 44                 set (bg2) hdma scroll data (amplitude 4, frequency 4, horizontal)
D0/358A: 89 1F                    loop start (31 times)
D0/358C: B6 61                    increase background color subtraction by 1 (red)
D0/358E: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/3590: 1F                       [---]
D0/3591: 8A                       loop end
D0/3592: 89 80                    loop start (128 times)
D0/3594: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/3596: 1F                       [---]
D0/3597: 8A                       loop end
D0/3598: 89 1F                    loop start (31 times)
D0/359A: B6 71                    decrease background color subtraction by 1 (red)
D0/359C: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/359E: 1F                       [---]
D0/359F: 8A                       loop end
D0/35A0: AC 40 40                 set (bg2) hdma scroll data (amplitude 0, frequency 0, horizontal)
D0/35A3: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/35A5: FF                       end of script

; [ Animation Script $0186: L.4 Flare (sprite) ]

D0/35A6: 20 20                    speed 3, align to center of character/monster
D0/35A8: D1 01                    invalidate character/monster sprite priority
D0/35AA: 89 0A                    loop start (10 times)
D0/35AC: 1F                       [---]
D0/35AD: 8A                       loop end
D0/35AE: C9 00                    play default sound effect
D0/35B0: 8B 1A                    animated loop start (26 times, increment frame offset each time)
D0/35B2: 00                       [$00]
D0/35B3: 8C                       animated loop end
D0/35B4: EB                       jump based on thread ($35B9, $35C4)
D0/35B9: C9 85                    play sound effect $85
D0/35BB: 80 17                    update sprite layer priority based on target
D0/35BD: EC 01                    change thread layer to bg1
D0/35BF: 8B 0F                    animated loop start (15 times, increment frame offset each time)
D0/35C1: 00                       [$00]
D0/35C2: 8C                       animated loop end
D0/35C3: FF                       end of script

D0/35C4: 84 01                    set animation speed to 2
D0/35C6: 82 16 46                 change target graphic to 22 (hit)
D0/35C9: 89 0F                    loop start (15 times)
D0/35CB: 80 3B                    change target's color palette to animation palette
D0/35CD: 01                       [$01]
D0/35CE: 87 61                    move target forward 2
D0/35D0: 80 3C                    restore target's color palette
D0/35D2: 01                       [$01]
D0/35D3: 87 81                    move target back 2
D0/35D5: 8A                       loop end
D0/35D6: 82 00 00                 change target graphic to 0 (no action)
D0/35D9: FF                       end of script

; [ Animation Script $0185: L.5 Doom (sprite) ]

D0/35DA: 80 20                    speed 9, align to center of character/monster
D0/35DC: D1 01                    invalidate character/monster sprite priority
D0/35DE: C9 00                    play default sound effect
D0/35E0: 8B 07                    animated loop start (7 times, increment frame offset each time)
D0/35E2: 00                       [$00]
D0/35E3: 8C                       animated loop end
D0/35E4: 00                       [$00]
D0/35E5: FF                       end of script

D0/35E6: B0 FF                    set background color addition to 31 (white)
D0/35E8: 89 1F                    loop start (31 times)
D0/35EA: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/35EC: AE 84                    update (bg1) hdma scroll data (vertical)
D0/35EE: A3 16 42                 shift colors (1..7) of bg1 animation palette left (4 loops per shift)
D0/35F1: A4 16 32                 shift colors (1..7) of bg1 animation/esper palette right (3 loops per shift)
D0/35F4: F7 A0                    wait until scanline 160
D0/35F6: B5 F4                    decrease background color addition by 4 (white)
D0/35F8: 04                       [$04]
D0/35F9: 8A                       loop end
D0/35FA: C0                       return from subroutine

; [ Animation Script $017E: Condemned (bg1) ]

D0/35FB: 00 20                    speed 1, align to center of character/monster
D0/35FD: D1 01                    invalidate character/monster sprite priority
D0/35FF: F7 A0                    wait until scanline 160
D0/3601: AD 06                    set bg1 hdma scroll type to 6
D0/3603: CD E0                    set bg1 animation palette color addition to 0 (white)
D0/3605: AC 82 84                 set (bg1) hdma scroll data (amplitude 4, frequency 2, vertical)
D0/3608: C9 00                    play default sound effect
D0/360A: 89 40                    loop start (64 times)
D0/360C: AE 84                    update (bg1) hdma scroll data (vertical)
D0/360E: 00                       [$00]
D0/360F: BD A0                    hide bg1 thread
D0/3611: 8A                       loop end
D0/3612: 89 1F                    loop start (31 times)
D0/3614: AE 84                    update (bg1) hdma scroll data (vertical)
D0/3616: CE E1                    increase bg1 animation palette color addition by 1 (white)
D0/3618: 00                       [$00]
D0/3619: BD A0                    hide bg1 thread
D0/361B: 8A                       loop end
D0/361C: F7 A0                    wait until scanline 160
D0/361E: 80 25                    clear bg1 hdma scroll data
D0/3620: AD 03                    set bg1 hdma scroll type to 3
D0/3622: FF                       end of script

; [ Animation Script $017F: Condemned (bg3) ]

D0/3623: 00 20                    speed 1, align to center of character/monster
D0/3625: 00                       [$00]
D0/3626: BD 50                    hide bg3 thread
D0/3628: 89 60                    loop start (96 times)
D0/362A: 00                       [$00]
D0/362B: 8A                       loop end
D0/362C: FF                       end of script

; [ Animation Script $017D: Blaster (sprite) ]

D0/362D: 00 20                    speed 1, align to center of character/monster
D0/362F: D1 01                    invalidate character/monster sprite priority
D0/3631: 85                       move to attacker position
D0/3632: 95                       calculate vector from attacker to target
D0/3633: EB                       jump based on thread ($363C, $364D, $3656, $365F)
D0/363C: C9 00                    play default sound effect
D0/363E: 03                       [$03]
D0/363F: C1 08 03                 command $C1
D0/3642: 82 16 46                 change target graphic to 22 (hit)
D0/3645: 03                       [$03]
D0/3646: C1 08 03                 command $C1
D0/3649: 82 00 00                 change target graphic to 0 (no action)
D0/364C: FF                       end of script

D0/364D: 02                       [$02]
D0/364E: C1 08 03                 command $C1
D0/3651: 02                       [$02]
D0/3652: C1 08 03                 command $C1
D0/3655: FF                       end of script

D0/3656: 01                       [$01]
D0/3657: C1 08 03                 command $C1
D0/365A: 01                       [$01]
D0/365B: C1 08 03                 command $C1
D0/365E: FF                       end of script

D0/365F: 00                       [$00]
D0/3660: C1 08 03                 command $C1
D0/3663: 00                       [$00]
D0/3664: C1 08 03                 command $C1
D0/3667: FF                       end of script

; [ Animation Script $017A: Delta Hit (sprite) ]

D0/3668: 00 20                    speed 1, align to center of character/monster
D0/366A: 80 2E 50 60              move to (80,96)
D0/366E: 80 12                    init polar movement
D0/3670: EB                       jump based on thread ($3677, $367F, $3685)
D0/3677: C9 00                    play default sound effect
D0/3679: E8 70 80                 move in polar coordinates (112,-128)
D0/367C: FA 88 36                 jump to $3688
D0/367F: E8 70 D5                 move in polar coordinates (112,-43)
D0/3682: FA 88 36                 jump to $3688
D0/3685: E8 70 2A                 move in polar coordinates (112,42)
D0/3688: 84 04                    set animation speed to 5
D0/368A: 8B 03                    animated loop start (3 times, increment frame offset each time)
D0/368C: E8 00 00                 move in polar coordinates (0,0)
D0/368F: 00                       [$00]
D0/3690: 8C                       animated loop end
D0/3691: 84 01                    set animation speed to 2
D0/3693: 89 50                    loop start (80 times)
D0/3695: E8 00 00                 move in polar coordinates (0,0)
D0/3698: 04                       [$04]
D0/3699: 8A                       loop end
D0/369A: 84 04                    set animation speed to 5
D0/369C: E8 00 00                 move in polar coordinates (0,0)
D0/369F: 03                       [$03]
D0/36A0: E8 00 00                 move in polar coordinates (0,0)
D0/36A3: 02                       [$02]
D0/36A4: E8 00 00                 move in polar coordinates (0,0)
D0/36A7: 01                       [$01]
D0/36A8: E8 00 00                 move in polar coordinates (0,0)
D0/36AB: 00                       [$00]
D0/36AC: FF                       end of script

; [ Animation Script $017B: Delta Hit (bg1) ]

D0/36AD: 00 20                    speed 1, align to center of character/monster
D0/36AF: D0 20                    set tile priority to 2 for all character/monster sprites
D0/36B1: D1 01                    invalidate character/monster sprite priority
D0/36B3: DD 00 00 70 80           init triangle with diameter 112, upside down
D0/36B8: 80 2E 50 60              move to (80,96)
D0/36BC: 80 4C                    move triangle to this thread's position
D0/36BE: 80 4D                    set vector from triangle to target
D0/36C0: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/36C2: 00                       [$00]
D0/36C3: BD A0                    hide bg1 thread
D0/36C5: 89 0F                    loop start (15 times)
D0/36C7: 00                       [$00]
D0/36C8: 8A                       loop end
D0/36C9: 89 1F                    loop start (31 times)
D0/36CB: CF F1                    decrease bg1 animation palette color subtraction by 1 (black)
D0/36CD: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/36D0: DC                       update triangle 2d
D0/36D1: 00                       [$00]
D0/36D2: 8A                       loop end
D0/36D3: 80 4C                    move triangle to this thread's position
D0/36D5: E0 00 00 00 06           move triangle (+0,+0), rotate +6 units
D0/36DA: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/36DD: DC                       update triangle 2d
D0/36DE: 00                       [$00]
D0/36DF: 92 02 0E                 move along vector at speed 2, branch to $36D3
D0/36E2: 89 1A                    loop start (26 times)
D0/36E4: E0 00 00 FC 06           move triangle (+0,+0) and change diameter by -4, rotate +6 units
D0/36E9: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/36EC: DC                       update triangle 2d
D0/36ED: 00                       [$00]
D0/36EE: 8A                       loop end
D0/36EF: FF                       end of script

; [ Animation Script $0179: Slimer (bg1) ]

D0/36F0: 00 20                    speed 1, align to center of character/monster
D0/36F2: D1 01                    invalidate character/monster sprite priority
D0/36F4: A5 00 00 10 FF FF 20 00  init circle at (0,0)
D0/36FC: C3                       move circle to target
D0/36FD: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/36FF: C9 00                    play default sound effect
D0/3701: 89 1F                    loop start (31 times)
D0/3703: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/3706: CF F1                    decrease bg1 animation palette color subtraction by 1 (black)
D0/3708: F7 D8                    wait until scanline 216
D0/370A: A7                       update circle
D0/370B: 00                       [$00]
D0/370C: 8A                       loop end
D0/370D: 89 0F                    loop start (15 times)
D0/370F: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/3712: F7 D8                    wait until scanline 216
D0/3714: A7                       update circle
D0/3715: 00                       [$00]
D0/3716: 8A                       loop end
D0/3717: 89 1F                    loop start (31 times)
D0/3719: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/371C: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/371E: F7 D8                    wait until scanline 216
D0/3720: A7                       update circle
D0/3721: 00                       [$00]
D0/3722: 8A                       loop end
D0/3723: FF                       end of script

; [ Animation Script $017C: Run (sprite) ]

D0/3724: 00 20                    speed 1, align to center of character/monster
D0/3726: C9 00                    play default sound effect
D0/3728: F8 42 37 2D 37           jump to $3742 ($372D if magitek)
D0/372D: F9 01 00 00              set attacker magitek armor action to 1 (walking)
D0/3731: C8 03                    change attacker action to 3 (walking back)
D0/3733: 89 8A                    loop start (138 times)
D0/3735: 83 80                    move back 1
D0/3737: 86 80                    move attacker back 1
D0/3739: 1F                       [---]
D0/373A: 8A                       loop end
D0/373B: C8 00                    change attacker action to 0 (no action)
D0/373D: F9 00 00 00              set attacker magitek armor action to 0 (standing still)
D0/3741: FF                       end of script

D0/3742: C8 03                    change attacker action to 3 (walking back)
D0/3744: 89 2A                    loop start (42 times)
D0/3746: 83 82                    move back 3
D0/3748: 86 82                    move attacker back 3
D0/374A: 1F                       [---]
D0/374B: 8A                       loop end
D0/374C: C8 00                    change attacker action to 0 (no action)
D0/374E: FF                       end of script

; [ Animation Script $0178: Megazerk (bg1) ]

D0/374F: 00 20                    speed 1, align to center of character/monster
D0/3751: BD A0                    hide bg1 thread
D0/3753: D1 01                    invalidate character/monster sprite priority
D0/3755: C9 00                    play default sound effect
D0/3757: B0 80                    set background color addition to 0 (red)
D0/3759: F7 A0                    wait until scanline 160
D0/375B: D4 02 10 00              add (no layers) to (sprites)
D0/375F: 89 08                    loop start (8 times)
D0/3761: B5 82                    increase background color addition by 2 (red)
D0/3763: 0F                       [$0F]
D0/3764: 8A                       loop end
D0/3765: 80 4B 0F                 update yellow/red gradient lines (intensity 0)
D0/3768: 0F                       [$0F]
D0/3769: 80 4B 0D                 update yellow/red gradient lines (intensity 2)
D0/376C: 0F                       [$0F]
D0/376D: 80 4B 0B                 update yellow/red gradient lines (intensity 4)
D0/3770: 0F                       [$0F]
D0/3771: 80 4B 09                 update yellow/red gradient lines (intensity 6)
D0/3774: 0F                       [$0F]
D0/3775: 80 4B 07                 update yellow/red gradient lines (intensity 8)
D0/3778: 0F                       [$0F]
D0/3779: 80 4B 05                 update yellow/red gradient lines (intensity 10)
D0/377C: 0F                       [$0F]
D0/377D: 80 4B 03                 update yellow/red gradient lines (intensity 12)
D0/3780: 0F                       [$0F]
D0/3781: 80 4B 01                 update yellow/red gradient lines (intensity 14)
D0/3784: 0F                       [$0F]
D0/3785: 89 60                    loop start (96 times)
D0/3787: 80 4B 00                 update yellow/red gradient lines (intensity 15)
D0/378A: 0F                       [$0F]
D0/378B: 8A                       loop end
D0/378C: 80 4B 01                 update yellow/red gradient lines (intensity 14)
D0/378F: B5 92                    decrease background color addition by 2 (red)
D0/3791: 0F                       [$0F]
D0/3792: 80 4B 03                 update yellow/red gradient lines (intensity 12)
D0/3795: B5 92                    decrease background color addition by 2 (red)
D0/3797: 0F                       [$0F]
D0/3798: 80 4B 05                 update yellow/red gradient lines (intensity 10)
D0/379B: B5 92                    decrease background color addition by 2 (red)
D0/379D: 0F                       [$0F]
D0/379E: 80 4B 07                 update yellow/red gradient lines (intensity 8)
D0/37A1: B5 92                    decrease background color addition by 2 (red)
D0/37A3: 0F                       [$0F]
D0/37A4: 80 4B 09                 update yellow/red gradient lines (intensity 6)
D0/37A7: B5 92                    decrease background color addition by 2 (red)
D0/37A9: 0F                       [$0F]
D0/37AA: 80 4B 0B                 update yellow/red gradient lines (intensity 4)
D0/37AD: B5 92                    decrease background color addition by 2 (red)
D0/37AF: 0F                       [$0F]
D0/37B0: 80 4B 0D                 update yellow/red gradient lines (intensity 2)
D0/37B3: B5 92                    decrease background color addition by 2 (red)
D0/37B5: 0F                       [$0F]
D0/37B6: 80 4B 0F                 update yellow/red gradient lines (intensity 0)
D0/37B9: B5 92                    decrease background color addition by 2 (red)
D0/37BB: 0F                       [$0F]
D0/37BC: 80 37                    clear fixed color value hdma data
D0/37BE: 89 08                    loop start (8 times)
D0/37C0: B5 92                    decrease background color addition by 2 (red)
D0/37C2: 0F                       [$0F]
D0/37C3: 8A                       loop end
D0/37C4: FF                       end of script

; [ Animation Script $0177: Lullaby (sprite) ]

D0/37C5: 10 20                    speed 2, align to center of character/monster
D0/37C7: 89 01                    loop start (1 times)
D0/37C9: 87 81                    move target back 2
D0/37CB: 1F                       [---]
D0/37CC: 87 81                    move target back 2
D0/37CE: 1F                       [---]
D0/37CF: 87 80                    move target back 1
D0/37D1: 1F                       [---]
D0/37D2: 87 80                    move target back 1
D0/37D4: 1F                       [---]
D0/37D5: 1F                       [---]
D0/37D6: 1F                       [---]
D0/37D7: 1F                       [---]
D0/37D8: 1F                       [---]
D0/37D9: 87 60                    move target forward 1
D0/37DB: 1F                       [---]
D0/37DC: 87 60                    move target forward 1
D0/37DE: 1F                       [---]
D0/37DF: 87 61                    move target forward 2
D0/37E1: 1F                       [---]
D0/37E2: 87 61                    move target forward 2
D0/37E4: 1F                       [---]
D0/37E5: 87 61                    move target forward 2
D0/37E7: 1F                       [---]
D0/37E8: 87 61                    move target forward 2
D0/37EA: 1F                       [---]
D0/37EB: 87 60                    move target forward 1
D0/37ED: 1F                       [---]
D0/37EE: 87 60                    move target forward 1
D0/37F0: 1F                       [---]
D0/37F1: 1F                       [---]
D0/37F2: 1F                       [---]
D0/37F3: 1F                       [---]
D0/37F4: 1F                       [---]
D0/37F5: 87 80                    move target back 1
D0/37F7: 1F                       [---]
D0/37F8: 87 80                    move target back 1
D0/37FA: 1F                       [---]
D0/37FB: 87 81                    move target back 2
D0/37FD: 1F                       [---]
D0/37FE: 87 81                    move target back 2
D0/3800: 1F                       [---]
D0/3801: 8A                       loop end
D0/3802: FF                       end of script

; [ Animation Script $0176: Schiller (sprite) ]

D0/3803: 00 20                    speed 1, align to center of character/monster
D0/3805: D1 01                    invalidate character/monster sprite priority
D0/3807: C9 00                    play default sound effect
D0/3809: BF 19 38                 jump to subroutine $3819
D0/380C: BF 19 38                 jump to subroutine $3819
D0/380F: BF 19 38                 jump to subroutine $3819
D0/3812: BF 19 38                 jump to subroutine $3819
D0/3815: BF 19 38                 jump to subroutine $3819
D0/3818: FF                       end of script

D0/3819: B0 FF                    set background color addition to 31 (white)
D0/381B: 89 07                    loop start (7 times)
D0/381D: B5 F4                    decrease background color addition by 4 (white)
D0/381F: 1F                       [---]
D0/3820: 8A                       loop end
D0/3821: C0                       return from subroutine

; [ Animation Script $0174: Virite (sprite) ]

D0/3822: 20 20                    speed 3, align to center of character/monster
D0/3824: 80 49                    command $80/$49
D0/3826: 83 CF                    move up 16
D0/3828: 83 8F                    move back 16
D0/382A: E9 07 1F                 move animation randomly (0..7,0..31)
D0/382D: C9 00                    play default sound effect
D0/382F: 8B 05                    animated loop start (5 times, increment frame offset each time)
D0/3831: 00                       [$00]
D0/3832: 8C                       animated loop end
D0/3833: FF                       end of script

; [ Animation Script $0173: Clear (bg3) ]

D0/3834: 00 A0                    speed 1, align to center of screen
D0/3836: D1 01                    invalidate character/monster sprite priority
D0/3838: C4 40                    move bg3 thread to this thread's position
D0/383A: AA FF                    set bg3 animation palette color subtraction to 31 (black)
D0/383C: EA 41                    set bg3 tile data quadrant to 1
D0/383E: F7 A0                    wait until scanline 160
D0/3840: AD 87                    set bg3 hdma scroll type to 7
D0/3842: 00                       [$00]
D0/3843: 00                       [$00]
D0/3844: BD 50                    hide bg3 thread
D0/3846: AC 21 44                 set (bg3) hdma scroll data (amplitude 4, frequency 1, horizontal)
D0/3849: AC 22 82                 set (bg3) hdma scroll data (amplitude 2, frequency 2, vertical)
D0/384C: C9 00                    play default sound effect
D0/384E: 89 1F                    loop start (31 times)
D0/3850: B4 F1                    decrease bg3 animation palette color subtraction by 1 (black)
D0/3852: AE C1                    update (bg3) hdma scroll data (horizontal and vertical)
D0/3854: 83 60                    move forward 1
D0/3856: 00                       [$00]
D0/3857: 8A                       loop end
D0/3858: CD E0                    set bg1 animation palette color addition to 0 (white)
D0/385A: 89 1F                    loop start (31 times)
D0/385C: CE E1                    increase bg1 animation palette color addition by 1 (white)
D0/385E: AE C1                    update (bg3) hdma scroll data (horizontal and vertical)
D0/3860: 83 60                    move forward 1
D0/3862: 00                       [$00]
D0/3863: 8A                       loop end
D0/3864: F7 A0                    wait until scanline 160
D0/3866: D4 02 05 12              add (sprites, bg2) to (bg3, bg1)
D0/386A: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/386C: 89 1F                    loop start (31 times)
D0/386E: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/3870: AE C1                    update (bg3) hdma scroll data (horizontal and vertical)
D0/3872: 83 60                    move forward 1
D0/3874: 00                       [$00]
D0/3875: 8A                       loop end
D0/3876: 80 3E 1E                 enable (sprites, bg4, bg3, bg2) in main screen
D0/3879: 89 1F                    loop start (31 times)
D0/387B: B4 E1                    increase bg3 animation palette color subtraction by 1 (black)
D0/387D: AE C1                    update (bg3) hdma scroll data (horizontal and vertical)
D0/387F: 83 60                    move forward 1
D0/3881: 00                       [$00]
D0/3882: 8A                       loop end
D0/3883: 80 24                    clear bg3 hdma scroll data
D0/3885: BD 40                    show bg3 thread
D0/3887: EA 41                    set bg3 tile data quadrant to 1
D0/3889: 09                       [$09]
D0/388A: F7 A0                    wait until scanline 160
D0/388C: AD 85                    set bg3 hdma scroll type to 5
D0/388E: 80 48                    command $80/$48
D0/3890: FF                       end of script

; [ Animation Script $0171: Imp Song (sprite) ]

D0/3891: 30 00                    speed 4, align to bottom of character/monster
D0/3893: 90 30                    set animation tile priority to 3
D0/3895: 89 07                    loop start (7 times)
D0/3897: 1F                       [---]
D0/3898: 8A                       loop end
D0/3899: 83 6F                    move forward 16
D0/389B: E9 1F 00                 move animation randomly (0..31,0..0)
D0/389E: 8B 0D                    animated loop start (13 times, increment frame offset each time)
D0/38A0: 00                       [$00]
D0/38A1: 8C                       animated loop end
D0/38A2: FF                       end of script

; [ Animation Script $0172: Imp Song, Lullaby (bg1) ]

D0/38A3: 00 A0                    speed 1, align to center of screen
D0/38A5: D1 01                    invalidate character/monster sprite priority
D0/38A7: D0 20                    set tile priority to 2 for all character/monster sprites
D0/38A9: C4 80                    move bg1 thread to this thread's position
D0/38AB: EA 81                    set bg1 tile data quadrant to 1
D0/38AD: C9 00                    play default sound effect
D0/38AF: F7 A0                    wait until scanline 160
D0/38B1: AD 06                    set bg1 hdma scroll type to 6
D0/38B3: D4 00 01 00              add fixed color to (bg1)
D0/38B7: 00                       [$00]
D0/38B8: 00                       [$00]
D0/38B9: BD A0                    hide bg1 thread
D0/38BB: AC 81 44                 set (bg1) hdma scroll data (amplitude 4, frequency 1, horizontal)
D0/38BE: AC 82 82                 set (bg1) hdma scroll data (amplitude 2, frequency 2, vertical)
D0/38C1: 89 1F                    loop start (31 times)
D0/38C3: AE C4                    update (bg1) hdma scroll data (horizontal and vertical)
D0/38C5: 83 60                    move forward 1
D0/38C7: 80 33 00                 update rainbow gradient lines (intensity 15)
D0/38CA: 00                       [$00]
D0/38CB: 8A                       loop end
D0/38CC: 89 40                    loop start (64 times)
D0/38CE: AE C4                    update (bg1) hdma scroll data (horizontal and vertical)
D0/38D0: 83 60                    move forward 1
D0/38D2: 80 33 00                 update rainbow gradient lines (intensity 15)
D0/38D5: 00                       [$00]
D0/38D6: 8A                       loop end
D0/38D7: 89 1F                    loop start (31 times)
D0/38D9: AE C4                    update (bg1) hdma scroll data (horizontal and vertical)
D0/38DB: 83 60                    move forward 1
D0/38DD: 80 33 00                 update rainbow gradient lines (intensity 15)
D0/38E0: 00                       [$00]
D0/38E1: 8A                       loop end
D0/38E2: 80 25                    clear bg1 hdma scroll data
D0/38E4: BD 80                    show bg1 thread
D0/38E6: EA 81                    set bg1 tile data quadrant to 1
D0/38E8: 0F                       [$0F]
D0/38E9: F7 A0                    wait until scanline 160
D0/38EB: AD 03                    set bg1 hdma scroll type to 3
D0/38ED: 80 37                    clear fixed color value hdma data
D0/38EF: FF                       end of script

; [ Animation Script $0170: Dread (sprite) ]

D0/38F0: 40 20                    speed 5, align to center of character/monster
D0/38F2: D1 01                    invalidate character/monster sprite priority
D0/38F4: 83 AF                    move up/forward 16
D0/38F6: C9 00                    play default sound effect
D0/38F8: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/38FB: 00                       [$00]
D0/38FC: 01                       [$01]
D0/38FD: 02                       [$02]
D0/38FE: 03                       [$03]
D0/38FF: 04                       [$04]
D0/3900: 89 10                    loop start (16 times)
D0/3902: 05                       [$05]
D0/3903: 8A                       loop end
D0/3904: 83 4F                    move down/back 16
D0/3906: E9 00 00                 move animation randomly (0..0,0..0)
D0/3909: 84 01                    set animation speed to 2
D0/390B: C9 0B                    play sound effect $0B
D0/390D: EB                       jump based on thread ($391A, $3927, $3934, $3941, $3950, $3950)
D0/391A: 8B 04                    animated loop start (4 times, increment frame offset each time)
D0/391C: 83 03                    move down/forward 4
D0/391E: 06                       [$06]
D0/391F: 83 03                    move down/forward 4
D0/3921: 06                       [$06]
D0/3922: 83 03                    move down/forward 4
D0/3924: 06                       [$06]
D0/3925: 8C                       animated loop end
D0/3926: FF                       end of script

D0/3927: 8B 04                    animated loop start (4 times, increment frame offset each time)
D0/3929: 83 43                    move down/back 4
D0/392B: 06                       [$06]
D0/392C: 83 43                    move down/back 4
D0/392E: 06                       [$06]
D0/392F: 83 43                    move down/back 4
D0/3931: 06                       [$06]
D0/3932: 8C                       animated loop end
D0/3933: FF                       end of script

D0/3934: 8B 04                    animated loop start (4 times, increment frame offset each time)
D0/3936: 83 A3                    move up/forward 4
D0/3938: 06                       [$06]
D0/3939: 83 A3                    move up/forward 4
D0/393B: 06                       [$06]
D0/393C: 83 A3                    move up/forward 4
D0/393E: 06                       [$06]
D0/393F: 8C                       animated loop end
D0/3940: FF                       end of script

D0/3941: 8B 04                    animated loop start (4 times, increment frame offset each time)
D0/3943: 83 E3                    move up/back 4
D0/3945: 06                       [$06]
D0/3946: 83 E3                    move up/back 4
D0/3948: 06                       [$06]
D0/3949: 83 E3                    move up/back 4
D0/394B: 06                       [$06]
D0/394C: 8C                       animated loop end
D0/394D: C9 FF                    play sound effect $FF
D0/394F: FF                       end of script

D0/3950: FF                       end of script

; [ Animation Script $016F: Escape (sprite) ]

D0/3951: 00 20                    speed 1, align to center of character/monster
D0/3953: D1 01                    invalidate character/monster sprite priority
D0/3955: C9 00                    play default sound effect
D0/3957: F7 A0                    wait until scanline 160
D0/3959: D4 02 01 12              add (sprites, bg2) to (bg1)
D0/395D: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/395F: 89 1F                    loop start (31 times)
D0/3961: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/3963: 1F                       [---]
D0/3964: 8A                       loop end
D0/3965: 80 3E 16                 enable (sprites, bg3, bg2) in main screen
D0/3968: F1 80                    hide target monster sprite
D0/396A: FF                       end of script

; [ Animation Script $016E: WallChange (sprite) ]

D0/396B: 00 20                    speed 1, align to center of character/monster
D0/396D: D1 01                    invalidate character/monster sprite priority
D0/396F: C9 00                    play default sound effect
D0/3971: F7 A0                    wait until scanline 160
D0/3973: D4 02 01 00              add (no layers) to (bg1)
D0/3977: 80 33 0F                 update rainbow gradient lines (intensity 0)
D0/397A: 1F                       [---]
D0/397B: 80 33 0D                 update rainbow gradient lines (intensity 2)
D0/397E: 1F                       [---]
D0/397F: 80 33 0B                 update rainbow gradient lines (intensity 4)
D0/3982: 1F                       [---]
D0/3983: 80 33 09                 update rainbow gradient lines (intensity 6)
D0/3986: 1F                       [---]
D0/3987: 80 33 07                 update rainbow gradient lines (intensity 8)
D0/398A: 1F                       [---]
D0/398B: 80 33 05                 update rainbow gradient lines (intensity 10)
D0/398E: 1F                       [---]
D0/398F: 80 33 03                 update rainbow gradient lines (intensity 12)
D0/3992: 1F                       [---]
D0/3993: 80 33 01                 update rainbow gradient lines (intensity 14)
D0/3996: 1F                       [---]
D0/3997: 89 60                    loop start (96 times)
D0/3999: 80 33 00                 update rainbow gradient lines (intensity 15)
D0/399C: 1F                       [---]
D0/399D: 8A                       loop end
D0/399E: B0 FF                    set background color addition to 31 (white)
D0/39A0: 80 33 01                 update rainbow gradient lines (intensity 14)
D0/39A3: B5 F2                    decrease background color addition by 2 (white)
D0/39A5: 1F                       [---]
D0/39A6: 80 33 03                 update rainbow gradient lines (intensity 12)
D0/39A9: B5 F2                    decrease background color addition by 2 (white)
D0/39AB: 1F                       [---]
D0/39AC: 80 33 05                 update rainbow gradient lines (intensity 10)
D0/39AF: B5 F2                    decrease background color addition by 2 (white)
D0/39B1: 1F                       [---]
D0/39B2: 80 33 07                 update rainbow gradient lines (intensity 8)
D0/39B5: B5 F2                    decrease background color addition by 2 (white)
D0/39B7: 1F                       [---]
D0/39B8: 80 33 09                 update rainbow gradient lines (intensity 6)
D0/39BB: B5 F2                    decrease background color addition by 2 (white)
D0/39BD: 1F                       [---]
D0/39BE: 80 33 0B                 update rainbow gradient lines (intensity 4)
D0/39C1: B5 F2                    decrease background color addition by 2 (white)
D0/39C3: 1F                       [---]
D0/39C4: 80 33 0D                 update rainbow gradient lines (intensity 2)
D0/39C7: B5 F2                    decrease background color addition by 2 (white)
D0/39C9: 1F                       [---]
D0/39CA: 80 33 0F                 update rainbow gradient lines (intensity 0)
D0/39CD: B5 F2                    decrease background color addition by 2 (white)
D0/39CF: 1F                       [---]
D0/39D0: C9 9F                    play sound effect $9F
D0/39D2: 89 07                    loop start (7 times)
D0/39D4: B5 F2                    decrease background color addition by 2 (white)
D0/39D6: 1F                       [---]
D0/39D7: 8A                       loop end
D0/39D8: 80 37                    clear fixed color value hdma data
D0/39DA: FF                       end of script

; [ Animation Script $016C: Acid Rain, Flash Rain (bg1) ]

D0/39DB: 00 A0                    speed 1, align to center of screen
D0/39DD: D1 01                    invalidate character/monster sprite priority
D0/39DF: D0 20                    set tile priority to 2 for all character/monster sprites
D0/39E1: C4 80                    move bg1 thread to this thread's position
D0/39E3: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/39E5: AA FF                    set bg3 animation palette color subtraction to 31 (black)
D0/39E7: 00                       [$00]
D0/39E8: 80 8C 00                 play sound effect $00 (pan center)
D0/39EB: BD A0                    hide bg1 thread
D0/39ED: 89 1F                    loop start (31 times)
D0/39EF: CF F1                    decrease bg1 animation palette color subtraction by 1 (black)
D0/39F1: B4 F1                    decrease bg3 animation palette color subtraction by 1 (black)
D0/39F3: A4 16 32                 shift colors (1..7) of bg1 animation/esper palette right (3 loops per shift)
D0/39F6: 00                       [$00]
D0/39F7: 8A                       loop end
D0/39F8: 89 40                    loop start (64 times)
D0/39FA: A4 16 32                 shift colors (1..7) of bg1 animation/esper palette right (3 loops per shift)
D0/39FD: 00                       [$00]
D0/39FE: 8A                       loop end
D0/39FF: 89 1F                    loop start (31 times)
D0/3A01: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/3A03: B4 E1                    increase bg3 animation palette color subtraction by 1 (black)
D0/3A05: A4 16 32                 shift colors (1..7) of bg1 animation/esper palette right (3 loops per shift)
D0/3A08: 00                       [$00]
D0/3A09: 8A                       loop end
D0/3A0A: FF                       end of script

; [ Animation Script $016D: Flash Rain (bg3) ]

D0/3A0B: 30 20                    speed 4, align to center of character/monster
D0/3A0D: C4 40                    move bg3 thread to this thread's position
D0/3A0F: 89 08                    loop start (8 times)
D0/3A11: 00                       [$00]
D0/3A12: 01                       [$01]
D0/3A13: 02                       [$02]
D0/3A14: 03                       [$03]
D0/3A15: 8A                       loop end
D0/3A16: FF                       end of script

; [ Animation Script $016A: Blizzard (sprite) ]

D0/3A17: 10 20                    speed 2, align to center of character/monster
D0/3A19: C9 58                    play sound effect $58
D0/3A1B: 8B 06                    animated loop start (6 times, increment frame offset each time)
D0/3A1D: 80 3B                    change target's color palette to animation palette
D0/3A1F: 00                       [$00]
D0/3A20: 80 3C                    restore target's color palette
D0/3A22: 00                       [$00]
D0/3A23: 8C                       animated loop end
D0/3A24: 8B 0E                    animated loop start (14 times, increment frame offset each time)
D0/3A26: 00                       [$00]
D0/3A27: 00                       [$00]
D0/3A28: 8C                       animated loop end
D0/3A29: FF                       end of script

; [ Animation Script $016B: Blizzard (bg1) ]

D0/3A2A: 00 A0                    speed 1, align to center of screen
D0/3A2C: D1 01                    invalidate character/monster sprite priority
D0/3A2E: D0 20                    set tile priority to 2 for all character/monster sprites
D0/3A30: C4 80                    move bg1 thread to this thread's position
D0/3A32: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/3A34: 00                       [$00]
D0/3A35: BD A0                    hide bg1 thread
D0/3A37: C9 00                    play default sound effect
D0/3A39: 89 1F                    loop start (31 times)
D0/3A3B: CF F1                    decrease bg1 animation palette color subtraction by 1 (black)
D0/3A3D: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/3A40: 00                       [$00]
D0/3A41: 8A                       loop end
D0/3A42: 89 40                    loop start (64 times)
D0/3A44: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/3A47: 00                       [$00]
D0/3A48: 8A                       loop end
D0/3A49: 89 1F                    loop start (31 times)
D0/3A4B: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/3A4D: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/3A50: 00                       [$00]
D0/3A51: 8A                       loop end
D0/3A52: FF                       end of script

; [ Animation Script $0167: Diffuser (sprite) ]

D0/3A53: 30 A0                    speed 4, align to center of screen
D0/3A55: D1 01                    invalidate character/monster sprite priority
D0/3A57: 80 2D 5F 3A 66 3A 6A 3A  jump to $3A5F (normal attack), $3A66 (back attack), or $3A6A (pincer attack)
D0/3A5F: 80 2E C0 50              move to (192,80)
D0/3A63: FA 6A 3A                 jump to $3A6A
D0/3A66: 80 2E 40 50              move to (64,80)
D0/3A6A: 83 47                    move down/back 8
D0/3A6C: 00                       [$00]
D0/3A6D: 01                       [$01]
D0/3A6E: 02                       [$02]
D0/3A6F: 03                       [$03]
D0/3A70: 89 1E                    loop start (30 times)
D0/3A72: 03                       [$03]
D0/3A73: 8A                       loop end
D0/3A74: 03                       [$03]
D0/3A75: 02                       [$02]
D0/3A76: 01                       [$01]
D0/3A77: 00                       [$00]
D0/3A78: FF                       end of script

; [ Animation Script $0168: Diffuser (bg1) ]

D0/3A79: 00 A0                    speed 1, align to center of screen
D0/3A7B: C4 80                    move bg1 thread to this thread's position
D0/3A7D: C9 00                    play default sound effect
D0/3A7F: 80 2D 87 3A 8E 3A 92 3A  jump to $3A87 (normal attack), $3A8E (back attack), or $3A92 (pincer attack)
D0/3A87: 80 2E C0 50              move to (192,80)
D0/3A8B: FA 92 3A                 jump to $3A92
D0/3A8E: 80 2E 40 50              move to (64,80)
D0/3A92: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/3A94: AA FF                    set bg3 animation palette color subtraction to 31 (black)
D0/3A96: 89 0F                    loop start (15 times)
D0/3A98: CF F2                    decrease bg1 animation palette color subtraction by 2 (black)
D0/3A9A: B4 F2                    decrease bg3 animation palette color subtraction by 2 (black)
D0/3A9C: 00                       [$00]
D0/3A9D: BD A0                    hide bg1 thread
D0/3A9F: 8A                       loop end
D0/3AA0: BD 80                    show bg1 thread
D0/3AA2: 84 04                    set animation speed to 5
D0/3AA4: 8B 0B                    animated loop start (11 times, increment frame offset each time)
D0/3AA6: 00                       [$00]
D0/3AA7: 8C                       animated loop end
D0/3AA8: 8B 0B                    animated loop start (11 times, increment frame offset each time)
D0/3AAA: 00                       [$00]
D0/3AAB: 8C                       animated loop end
D0/3AAC: 84 01                    set animation speed to 2
D0/3AAE: 89 0F                    loop start (15 times)
D0/3AB0: CF E2                    increase bg1 animation palette color subtraction by 2 (black)
D0/3AB2: B4 E2                    increase bg3 animation palette color subtraction by 2 (black)
D0/3AB4: 0B                       [$0B]
D0/3AB5: BD A0                    hide bg1 thread
D0/3AB7: 8A                       loop end
D0/3AB8: FF                       end of script

; [ Animation Script $0169:  ]

D0/3AB9: 00 A0                    speed 1, align to center of screen
D0/3ABB: C4 40                    move bg3 thread to this thread's position
D0/3ABD: 80 2D C5 3A CC 3A D0 3A  jump to $3AC5 (normal attack), $3ACC (back attack), or $3AD0 (pincer attack)
D0/3AC5: 80 2E C0 50              move to (192,80)
D0/3AC9: FA D0 3A                 jump to $3AD0
D0/3ACC: 80 2E 40 50              move to (64,80)
D0/3AD0: 89 0F                    loop start (15 times)
D0/3AD2: 00                       [$00]
D0/3AD3: BD 50                    hide bg3 thread
D0/3AD5: 8A                       loop end
D0/3AD6: BD 40                    show bg3 thread
D0/3AD8: BF E8 3A                 jump to subroutine $3AE8
D0/3ADB: BF E8 3A                 jump to subroutine $3AE8
D0/3ADE: 89 05                    loop start (5 times)
D0/3AE0: 00                       [$00]
D0/3AE1: 00                       [$00]
D0/3AE2: 01                       [$01]
D0/3AE3: 01                       [$01]
D0/3AE4: 02                       [$02]
D0/3AE5: 02                       [$02]
D0/3AE6: 8A                       loop end
D0/3AE7: FF                       end of script

D0/3AE8: 89 03                    loop start (3 times)
D0/3AEA: B0 EF                    set background color addition to 15 (white)
D0/3AEC: 00                       [$00]
D0/3AED: B5 F2                    decrease background color addition by 2 (white)
D0/3AEF: 00                       [$00]
D0/3AF0: B5 F2                    decrease background color addition by 2 (white)
D0/3AF2: 01                       [$01]
D0/3AF3: B5 F2                    decrease background color addition by 2 (white)
D0/3AF5: 01                       [$01]
D0/3AF6: B5 F2                    decrease background color addition by 2 (white)
D0/3AF8: 02                       [$02]
D0/3AF9: B5 F2                    decrease background color addition by 2 (white)
D0/3AFB: 02                       [$02]
D0/3AFC: B5 F2                    decrease background color addition by 2 (white)
D0/3AFE: 00                       [$00]
D0/3AFF: B5 F2                    decrease background color addition by 2 (white)
D0/3B01: 00                       [$00]
D0/3B02: B5 F2                    decrease background color addition by 2 (white)
D0/3B04: 01                       [$01]
D0/3B05: 01                       [$01]
D0/3B06: 02                       [$02]
D0/3B07: 02                       [$02]
D0/3B08: 8A                       loop end
D0/3B09: C0                       return from subroutine

; [ Animation Script $0163: Atomic Ray (sprite) ]

D0/3B0A: 10 00                    speed 2, align to bottom of character/monster
D0/3B0C: 90 00                    set animation tile priority to 0
D0/3B0E: D1 01                    invalidate character/monster sprite priority
D0/3B10: EB                       jump based on thread ($3B19, $3B41, $3B41, $3B52)
D0/3B19: C9 00                    play default sound effect
D0/3B1B: BF 53 3B                 jump to subroutine $3B53
D0/3B1E: BF 53 3B                 jump to subroutine $3B53
D0/3B21: 82 16 46                 change target graphic to 22 (hit)
D0/3B24: BF 53 3B                 jump to subroutine $3B53
D0/3B27: 83 3F                    move down 32
D0/3B29: 83 3F                    move down 32
D0/3B2B: C9 85                    play sound effect $85
D0/3B2D: 80 17                    update sprite layer priority based on target
D0/3B2F: EC 01                    change thread layer to bg1
D0/3B31: 84 01                    set animation speed to 2
D0/3B33: 8B 0E                    animated loop start (14 times, increment frame offset each time)
D0/3B35: 80 3B                    change target's color palette to animation palette
D0/3B37: 00                       [$00]
D0/3B38: 80 3C                    restore target's color palette
D0/3B3A: 00                       [$00]
D0/3B3B: 00                       [$00]
D0/3B3C: 8C                       animated loop end
D0/3B3D: 82 00 00                 change target graphic to 0 (no action)
D0/3B40: FF                       end of script

D0/3B41: 83 8F                    move back 16
D0/3B43: BF 53 3B                 jump to subroutine $3B53
D0/3B46: 83 6F                    move forward 16
D0/3B48: BF 53 3B                 jump to subroutine $3B53
D0/3B4B: 83 9E                    move back 31
D0/3B4D: BF 53 3B                 jump to subroutine $3B53
D0/3B50: 83 7E                    move forward 31
D0/3B52: FF                       end of script

D0/3B53: E9 0F 00                 move animation randomly (0..15,0..0)
D0/3B56: 8B 08                    animated loop start (8 times, increment frame offset each time)
D0/3B58: 00                       [$00]
D0/3B59: 8C                       animated loop end
D0/3B5A: C0                       return from subroutine

; [ Animation Script $0162: Fire Ball (sprite) ]

D0/3B5B: 00 00                    speed 1, align to bottom of character/monster
D0/3B5D: D1 01                    invalidate character/monster sprite priority
D0/3B5F: 83 AF                    move up/forward 16
D0/3B61: 90 00                    set animation tile priority to 0
D0/3B63: EB                       jump based on thread ($3B7A, $3B6C, $3B7C, $3B85)
D0/3B6C: 83 DF                    move up 32
D0/3B6E: F4 01                    show sprite behind character/monster sprites
D0/3B70: BF 86 3B                 jump to subroutine $3B86
D0/3B73: BF 86 3B                 jump to subroutine $3B86
D0/3B76: BF 86 3B                 jump to subroutine $3B86
D0/3B79: FF                       end of script

D0/3B7A: C9 00                    play default sound effect
D0/3B7C: BF 86 3B                 jump to subroutine $3B86
D0/3B7F: BF 86 3B                 jump to subroutine $3B86
D0/3B82: BF 86 3B                 jump to subroutine $3B86
D0/3B85: FF                       end of script

D0/3B86: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/3B89: 89 04                    loop start (4 times)
D0/3B8B: 83 FF                    move up/back 32
D0/3B8D: 8A                       loop end
D0/3B8E: 89 13                    loop start (19 times)
D0/3B90: 83 07                    move down/forward 8
D0/3B92: 00                       [$00]
D0/3B93: 8A                       loop end
D0/3B94: 82 16 46                 change target graphic to 22 (hit)
D0/3B97: 80 3B                    change target's color palette to animation palette
D0/3B99: 01                       [$01]
D0/3B9A: 80 3C                    restore target's color palette
D0/3B9C: 01                       [$01]
D0/3B9D: 80 3B                    change target's color palette to animation palette
D0/3B9F: 01                       [$01]
D0/3BA0: 80 3C                    restore target's color palette
D0/3BA2: 8B 05                    animated loop start (5 times, increment frame offset each time)
D0/3BA4: 02                       [$02]
D0/3BA5: 02                       [$02]
D0/3BA6: 02                       [$02]
D0/3BA7: 8C                       animated loop end
D0/3BA8: 82 00 00                 change target graphic to 0 (no action)
D0/3BAB: C0                       return from subroutine

; [ Animation Script $0160: Exploder (sprite) ]

D0/3BAC: 20 20                    speed 3, align to center of character/monster
D0/3BAE: C9 00                    play default sound effect
D0/3BB0: 83 BF                    move up/forward 32
D0/3BB2: 89 01                    loop start (1 times)
D0/3BB4: E9 3F 3F                 move animation randomly (0..63,0..63)
D0/3BB7: 00                       [$00]
D0/3BB8: 01                       [$01]
D0/3BB9: 02                       [$02]
D0/3BBA: 03                       [$03]
D0/3BBB: 04                       [$04]
D0/3BBC: 05                       [$05]
D0/3BBD: 06                       [$06]
D0/3BBE: 07                       [$07]
D0/3BBF: 8A                       loop end
D0/3BC0: FF                       end of script

; [ Animation Script $0161: Exploder (bg3) ]

D0/3BC1: 00 20                    speed 1, align to center of character/monster
D0/3BC3: AF 60                    set background color subtraction to 0 (red)
D0/3BC5: C9 00                    play default sound effect
D0/3BC7: 8B 05                    animated loop start (5 times, increment frame offset each time)
D0/3BC9: B6 62                    increase background color subtraction by 2 (red)
D0/3BCB: 00                       [$00]
D0/3BCC: B6 62                    increase background color subtraction by 2 (red)
D0/3BCE: 00                       [$00]
D0/3BCF: 8C                       animated loop end
D0/3BD0: 89 10                    loop start (16 times)
D0/3BD2: 80 3B                    change target's color palette to animation palette
D0/3BD4: 0F                       [$0F]
D0/3BD5: 80 3C                    restore target's color palette
D0/3BD7: 0F                       [$0F]
D0/3BD8: BD A0                    hide bg1 thread
D0/3BDA: 8A                       loop end
D0/3BDB: 89 0B                    loop start (11 times)
D0/3BDD: B6 72                    decrease background color subtraction by 2 (red)
D0/3BDF: 0F                       [$0F]
D0/3BE0: 8A                       loop end
D0/3BE1: FF                       end of script

; [ Animation Script $015E: X-fer (sprite) ]

D0/3BE2: 00 20                    speed 1, align to center of character/monster
D0/3BE4: 89 30                    loop start (48 times)
D0/3BE6: 1F                       [---]
D0/3BE7: 8A                       loop end
D0/3BE8: 90 30                    set animation tile priority to 3
D0/3BEA: 83 7F                    move forward 32
D0/3BEC: BF FC 3B                 jump to subroutine $3BFC
D0/3BEF: BF FC 3B                 jump to subroutine $3BFC
D0/3BF2: BF FC 3B                 jump to subroutine $3BFC
D0/3BF5: BF FC 3B                 jump to subroutine $3BFC
D0/3BF8: BF FC 3B                 jump to subroutine $3BFC
D0/3BFB: FF                       end of script

D0/3BFC: EB                       jump based on thread ($3C09, $3C18, $3C27, $3C09, $3C18, $3C27)
D0/3C09: E9 3F 00                 move animation randomly (0..63,0..0)
D0/3C0C: 89 09                    loop start (9 times)
D0/3C0E: 83 CF                    move up 16
D0/3C10: 00                       [$00]
D0/3C11: 8A                       loop end
D0/3C12: 89 09                    loop start (9 times)
D0/3C14: 83 2F                    move down 16
D0/3C16: 8A                       loop end
D0/3C17: C0                       return from subroutine

D0/3C18: E9 3F 00                 move animation randomly (0..63,0..0)
D0/3C1B: 89 09                    loop start (9 times)
D0/3C1D: 83 CF                    move up 16
D0/3C1F: 01                       [$01]
D0/3C20: 8A                       loop end
D0/3C21: 89 09                    loop start (9 times)
D0/3C23: 83 2F                    move down 16
D0/3C25: 8A                       loop end
D0/3C26: C0                       return from subroutine

D0/3C27: E9 3F 00                 move animation randomly (0..63,0..0)
D0/3C2A: 89 09                    loop start (9 times)
D0/3C2C: 83 CF                    move up 16
D0/3C2E: 02                       [$02]
D0/3C2F: 8A                       loop end
D0/3C30: 89 09                    loop start (9 times)
D0/3C32: 83 2F                    move down 16
D0/3C34: 8A                       loop end
D0/3C35: C0                       return from subroutine

; [ Animation Script $015F: X-fer (bg3) ]

D0/3C36: 00 00                    speed 1, align to bottom of character/monster
D0/3C38: C9 00                    play default sound effect
D0/3C3A: D1 01                    invalidate character/monster sprite priority
D0/3C3C: A5 00 00 00 FF FF 40 00  init circle at (0,0)
D0/3C44: C3                       move circle to target
D0/3C45: 83 3F                    move down 32
D0/3C47: 83 3F                    move down 32
D0/3C49: 83 2F                    move down 16
D0/3C4B: A6 00 70 00              move circle (+0,+112)
D0/3C4F: 89 40                    loop start (64 times)
D0/3C51: A6 00 00 01              move circle (+0,+0) and grow by 1
D0/3C55: 98 04 03                 increment frame offset every 4 loops (0..3)
D0/3C58: F7 D8                    wait until scanline 216
D0/3C5A: A7                       update circle
D0/3C5B: 00                       [$00]
D0/3C5C: 8A                       loop end
D0/3C5D: 89 20                    loop start (32 times)
D0/3C5F: 98 04 03                 increment frame offset every 4 loops (0..3)
D0/3C62: F7 D8                    wait until scanline 216
D0/3C64: A7                       update circle
D0/3C65: 00                       [$00]
D0/3C66: 8A                       loop end
D0/3C67: 80 72 0D                 branch to $3C77 if attack hit
D0/3C6A: 89 38                    loop start (56 times)
D0/3C6C: 98 04 03                 increment frame offset every 4 loops (0..3)
D0/3C6F: 83 C3                    move up 4
D0/3C71: F7 D8                    wait until scanline 216
D0/3C73: A7                       update circle
D0/3C74: 00                       [$00]
D0/3C75: 8A                       loop end
D0/3C76: FF                       end of script

D0/3C77: 80 3E 1E                 enable (sprites, bg4, bg3, bg2) in main screen
D0/3C7A: 89 38                    loop start (56 times)
D0/3C7C: 98 04 03                 increment frame offset every 4 loops (0..3)
D0/3C7F: 83 C3                    move up 4
D0/3C81: F7 D8                    wait until scanline 216
D0/3C83: A7                       update circle
D0/3C84: 00                       [$00]
D0/3C85: 8A                       loop end
D0/3C86: F1 80                    hide target monster sprite
D0/3C88: FF                       end of script

; [ Animation Script $015C: Confuser (bg3) ]

D0/3C89: 00 20                    speed 1, align to center of character/monster
D0/3C8B: D1 01                    invalidate character/monster sprite priority
D0/3C8D: A5 00 00 00 FF FF 7F 00  init circle at (0,0)
D0/3C95: 85                       move to attacker position
D0/3C96: A8                       move circle to attacker
D0/3C97: 00                       [$00]
D0/3C98: BD 50                    hide bg3 thread
D0/3C9A: 89 28                    loop start (40 times)
D0/3C9C: A6 00 00 01              move circle (+0,+0) and grow by 1
D0/3CA0: A3 13 14                 shift colors (1..4) of bg3 animation palette left (1 loops per shift)
D0/3CA3: F7 D8                    wait until scanline 216
D0/3CA5: A7                       update circle
D0/3CA6: 00                       [$00]
D0/3CA7: 8A                       loop end
D0/3CA8: 89 40                    loop start (64 times)
D0/3CAA: A3 13 14                 shift colors (1..4) of bg3 animation palette left (1 loops per shift)
D0/3CAD: F7 D8                    wait until scanline 216
D0/3CAF: A7                       update circle
D0/3CB0: 00                       [$00]
D0/3CB1: 8A                       loop end
D0/3CB2: 89 27                    loop start (39 times)
D0/3CB4: A6 00 00 FF              move circle (+0,+0) and shrink by 1
D0/3CB8: A3 13 14                 shift colors (1..4) of bg3 animation palette left (1 loops per shift)
D0/3CBB: F7 D8                    wait until scanline 216
D0/3CBD: A7                       update circle
D0/3CBE: 00                       [$00]
D0/3CBF: 8A                       loop end
D0/3CC0: FF                       end of script

; [ Animation Script $015D: Confuser, Revenger, Inviz Edge (bg1) ]

D0/3CC1: 00 20                    speed 1, align to center of character/monster
D0/3CC3: C4 80                    move bg1 thread to this thread's position
D0/3CC5: C9 00                    play default sound effect
D0/3CC7: F7 A0                    wait until scanline 160
D0/3CC9: AD 06                    set bg1 hdma scroll type to 6
D0/3CCB: 80 46 61                 command $80/$46
D0/3CCE: 80 47 11                 command $80/$47
D0/3CD1: AC 81 C1                 set (bg1) hdma scroll data (amplitude 1, frequency 1, horizontal and vertical)
D0/3CD4: BF 2A 3D                 jump to subroutine $3D2A
D0/3CD7: BD A0                    hide bg1 thread
D0/3CD9: AC 81 C3                 set (bg1) hdma scroll data (amplitude 3, frequency 1, horizontal and vertical)
D0/3CDC: BF 2A 3D                 jump to subroutine $3D2A
D0/3CDF: AC 81 C5                 set (bg1) hdma scroll data (amplitude 5, frequency 1, horizontal and vertical)
D0/3CE2: BF 2A 3D                 jump to subroutine $3D2A
D0/3CE5: AC 81 47                 set (bg1) hdma scroll data (amplitude 7, frequency 1, horizontal)
D0/3CE8: BF 2A 3D                 jump to subroutine $3D2A
D0/3CEB: AC 81 49                 set (bg1) hdma scroll data (amplitude 9, frequency 1, horizontal)
D0/3CEE: BF 2A 3D                 jump to subroutine $3D2A
D0/3CF1: 89 60                    loop start (96 times)
D0/3CF3: AE C4                    update (bg1) hdma scroll data (horizontal and vertical)
D0/3CF5: 00                       [$00]
D0/3CF6: 8A                       loop end
D0/3CF7: AC 81 47                 set (bg1) hdma scroll data (amplitude 7, frequency 1, horizontal)
D0/3CFA: BF 2A 3D                 jump to subroutine $3D2A
D0/3CFD: AC 81 C5                 set (bg1) hdma scroll data (amplitude 5, frequency 1, horizontal and vertical)
D0/3D00: BF 2A 3D                 jump to subroutine $3D2A
D0/3D03: AC 81 C4                 set (bg1) hdma scroll data (amplitude 4, frequency 1, horizontal and vertical)
D0/3D06: BF 2A 3D                 jump to subroutine $3D2A
D0/3D09: AC 81 C3                 set (bg1) hdma scroll data (amplitude 3, frequency 1, horizontal and vertical)
D0/3D0C: BF 2A 3D                 jump to subroutine $3D2A
D0/3D0F: AC 81 C2                 set (bg1) hdma scroll data (amplitude 2, frequency 1, horizontal and vertical)
D0/3D12: BF 2A 3D                 jump to subroutine $3D2A
D0/3D15: AC 81 C1                 set (bg1) hdma scroll data (amplitude 1, frequency 1, horizontal and vertical)
D0/3D18: BF 2A 3D                 jump to subroutine $3D2A
D0/3D1B: F7 A0                    wait until scanline 160
D0/3D1D: 80 46 0C                 command $80/$46
D0/3D20: 80 47 10                 command $80/$47
D0/3D23: AD 03                    set bg1 hdma scroll type to 3
D0/3D25: C4 80                    move bg1 thread to this thread's position
D0/3D27: 80 25                    clear bg1 hdma scroll data
D0/3D29: FF                       end of script

D0/3D2A: 89 03                    loop start (3 times)
D0/3D2C: AE C4                    update (bg1) hdma scroll data (horizontal and vertical)
D0/3D2E: 00                       [$00]
D0/3D2F: 8A                       loop end
D0/3D30: C0                       return from subroutine

; [ Animation Script $015B: Grav Bomb (bg1) ]

D0/3D31: 50 00                    speed 6, align to bottom of character/monster
D0/3D33: D1 01                    invalidate character/monster sprite priority
D0/3D35: 83 27                    move down 8
D0/3D37: 00                       [$00]
D0/3D38: 01                       [$01]
D0/3D39: 02                       [$02]
D0/3D3A: 03                       [$03]
D0/3D3B: 04                       [$04]
D0/3D3C: 05                       [$05]
D0/3D3D: 06                       [$06]
D0/3D3E: 07                       [$07]
D0/3D3F: 83 C4                    move up 5
D0/3D41: 08                       [$08]
D0/3D42: 09                       [$09]
D0/3D43: 0A                       [$0A]
D0/3D44: 0B                       [$0B]
D0/3D45: 89 07                    loop start (7 times)
D0/3D47: 0B                       [$0B]
D0/3D48: 8A                       loop end
D0/3D49: 84 03                    set animation speed to 4
D0/3D4B: 0A                       [$0A]
D0/3D4C: 09                       [$09]
D0/3D4D: 08                       [$08]
D0/3D4E: 83 24                    move down 5
D0/3D50: 07                       [$07]
D0/3D51: 06                       [$06]
D0/3D52: 05                       [$05]
D0/3D53: 04                       [$04]
D0/3D54: 03                       [$03]
D0/3D55: 02                       [$02]
D0/3D56: 01                       [$01]
D0/3D57: 00                       [$00]
D0/3D58: FF                       end of script

; [ Animation Script $015A: Grav Bomb (sprite) ]

D0/3D59: 00 20                    speed 1, align to center of character/monster
D0/3D5B: C9 A2                    play sound effect $A2
D0/3D5D: 90 20                    set animation tile priority to 2
D0/3D5F: EB                       jump based on thread ($3D6C, $3D7E, $3D7E, $3D7E, $3D7E, $3D7E)
D0/3D6C: C9 00                    play default sound effect
D0/3D6E: 85                       move to attacker position
D0/3D6F: D1 01                    invalidate character/monster sprite priority
D0/3D71: 80 0F                    command $80/$0F
D0/3D73: 04                       [$04]
D0/3D74: ED                       command $ED
D0/3D75: 08                       [$08]
D0/3D76: 03                       [$03]
D0/3D77: C2 80                    unpause bg1 thread
D0/3D79: 89 80                    loop start (128 times)
D0/3D7B: 1F                       [---]
D0/3D7C: 8A                       loop end
D0/3D7D: FF                       end of script

D0/3D7E: 84 02                    set animation speed to 3
D0/3D80: 89 01                    loop start (1 times)
D0/3D82: 80 0C                    move to first sprite thread position
D0/3D84: 04                       [$04]
D0/3D85: 03                       [$03]
D0/3D86: 02                       [$02]
D0/3D87: 01                       [$01]
D0/3D88: 00                       [$00]
D0/3D89: 8A                       loop end
D0/3D8A: 80 10                    move to target position
D0/3D8C: 83 AF                    move up/forward 16
D0/3D8E: 89 1F                    loop start (31 times)
D0/3D90: 1F                       [---]
D0/3D91: 8A                       loop end
D0/3D92: 90 30                    set animation tile priority to 3
D0/3D94: 84 03                    set animation speed to 4
D0/3D96: 89 04                    loop start (4 times)
D0/3D98: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/3D9B: 05                       [$05]
D0/3D9C: 06                       [$06]
D0/3D9D: 07                       [$07]
D0/3D9E: 08                       [$08]
D0/3D9F: 09                       [$09]
D0/3DA0: 0A                       [$0A]
D0/3DA1: 0B                       [$0B]
D0/3DA2: 0C                       [$0C]
D0/3DA3: 8A                       loop end
D0/3DA4: FF                       end of script

; [ Animation Script $0159:  ]

D0/3DA5: 20 20                    speed 3, align to center of character/monster
D0/3DA7: 90 20                    set animation tile priority to 2
D0/3DA9: 89 07                    loop start (7 times)
D0/3DAB: 1F                       [---]
D0/3DAC: 8A                       loop end
D0/3DAD: 8B 06                    animated loop start (6 times, increment frame offset each time)
D0/3DAF: 00                       [$00]
D0/3DB0: 8C                       animated loop end
D0/3DB1: FF                       end of script

; [ Animation Script $0158: Bio Blast (bg1) ]

D0/3DB2: 00 20                    speed 1, align to center of character/monster
D0/3DB4: C4 80                    move bg1 thread to this thread's position
D0/3DB6: C9 00                    play default sound effect
D0/3DB8: D0 20                    set tile priority to 2 for all character/monster sprites
D0/3DBA: F9 02 00 00              set attacker magitek armor action to 2 (cockpit open)
D0/3DBE: D1 01                    invalidate character/monster sprite priority
D0/3DC0: A5 80 4B 04 DE FF 7F 20  init circle at (128,75)
D0/3DC8: A8                       move circle to attacker
D0/3DC9: A9 E0 10                 move circle (-32,+16)
D0/3DCC: AD 06                    set bg1 hdma scroll type to 6
D0/3DCE: AC 81 48                 set (bg1) hdma scroll data (amplitude 8, frequency 1, horizontal)
D0/3DD1: AC 82 82                 set (bg1) hdma scroll data (amplitude 2, frequency 2, vertical)
D0/3DD4: 00                       [$00]
D0/3DD5: BD A0                    hide bg1 thread
D0/3DD7: 89 37                    loop start (55 times)
D0/3DD9: A9 FE 00                 move circle (-2,+0)
D0/3DDC: A6 00 00 02              move circle (+0,+0) and grow by 2
D0/3DE0: A7                       update circle
D0/3DE1: AE C4                    update (bg1) hdma scroll data (horizontal and vertical)
D0/3DE3: 00                       [$00]
D0/3DE4: 8A                       loop end
D0/3DE5: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/3DE7: 89 20                    loop start (32 times)
D0/3DE9: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/3DEB: A6 00 00 01              move circle (+0,+0) and grow by 1
D0/3DEF: A7                       update circle
D0/3DF0: AE C4                    update (bg1) hdma scroll data (horizontal and vertical)
D0/3DF2: 00                       [$00]
D0/3DF3: 8A                       loop end
D0/3DF4: 80 25                    clear bg1 hdma scroll data
D0/3DF6: AD 03                    set bg1 hdma scroll type to 3
D0/3DF8: D1 00                    validate character/monster sprite priority
D0/3DFA: F9 00 00 00              set attacker magitek armor action to 0 (standing still)
D0/3DFE: FF                       end of script

; [ Animation Script $0154: Bolt Beam (bg1) ]

D0/3DFF: 00 C0                    speed 1, align to front of character/monster
D0/3E01: 85                       move to attacker position
D0/3E02: F9 01 00 00              set attacker magitek armor action to 1 (walking)
D0/3E06: C8 04                    change attacker action to 4 (walking forward)
D0/3E08: E7                       calculate vector from attacking character to target
D0/3E09: 0F                       [$0F]
D0/3E0A: E5 02 03 00              move character forward along vector at speed 2 and height 0, branch to $3E09
D0/3E0E: D1 01                    invalidate character/monster sprite priority
D0/3E10: C9 00                    play default sound effect
D0/3E12: C8 00                    change attacker action to 0 (no action)
D0/3E14: F9 02 00 00              set attacker magitek armor action to 2 (cockpit open)
D0/3E18: 89 03                    loop start (3 times)
D0/3E1A: 83 7F                    move forward 32
D0/3E1C: 8A                       loop end
D0/3E1D: 83 07                    move down/forward 8
D0/3E1F: C2 40                    unpause bg3 thread
D0/3E21: 89 06                    loop start (6 times)
D0/3E23: 00                       [$00]
D0/3E24: 01                       [$01]
D0/3E25: 02                       [$02]
D0/3E26: 03                       [$03]
D0/3E27: 04                       [$04]
D0/3E28: 05                       [$05]
D0/3E29: 8A                       loop end
D0/3E2A: C2 20                    unpause sprite threads
D0/3E2C: 89 0F                    loop start (15 times)
D0/3E2E: 0F                       [$0F]
D0/3E2F: 8A                       loop end
D0/3E30: D1 00                    validate character/monster sprite priority
D0/3E32: 84 01                    set animation speed to 2
D0/3E34: F9 01 00 00              set attacker magitek armor action to 1 (walking)
D0/3E38: C8 03                    change attacker action to 3 (walking back)
D0/3E3A: 0F                       [$0F]
D0/3E3B: E6 02 03 00              move character backward along vector at speed 2 and height 0, branch to $3E3A
D0/3E3F: C8 00                    change attacker action to 0 (no action)
D0/3E41: F9 00 00 00              set attacker magitek armor action to 0 (standing still)
D0/3E45: FF                       end of script

; [ Animation Script $0155: Bolt Beam (bg3) ]

D0/3E46: 00 20                    speed 1, align to center of character/monster
D0/3E48: 80 44                    command $80/$44
D0/3E4A: 89 29                    loop start (41 times)
D0/3E4C: 00                       [$00]
D0/3E4D: BD 50                    hide bg3 thread
D0/3E4F: 8A                       loop end
D0/3E50: FF                       end of script

; [ Animation Script $014D: Fire Beam, Ice Beam (sprite) ]

D0/3E51: 00 20                    speed 1, align to center of character/monster
D0/3E53: EB                       jump based on thread ($3E5A, $3E61, $3E66)
D0/3E5A: C9 85                    play sound effect $85
D0/3E5C: 83 60                    move forward 1
D0/3E5E: FA 68 3E                 jump to $3E68
D0/3E61: 83 68                    move forward 9
D0/3E63: FA 68 3E                 jump to $3E68
D0/3E66: 83 70                    move forward 17
D0/3E68: 84 02                    set animation speed to 3
D0/3E6A: 8B 05                    animated loop start (5 times, increment frame offset each time)
D0/3E6C: 00                       [$00]
D0/3E6D: 8C                       animated loop end
D0/3E6E: FF                       end of script

; [ Animation Script $014C: Fire Beam, Ice Beam (bg3) ]

D0/3E6F: 00 20                    speed 1, align to center of character/monster
D0/3E71: F7 A0                    wait until scanline 160
D0/3E73: D4 02 04 12              add (sprites, bg2) to (bg3)
D0/3E77: 80 44                    command $80/$44
D0/3E79: 84 04                    set animation speed to 5
D0/3E7B: 8B 08                    animated loop start (8 times, increment frame offset each time)
D0/3E7D: 00                       [$00]
D0/3E7E: 8C                       animated loop end
D0/3E7F: FF                       end of script

; [ Animation Script $0157: Ice Beam (bg1) ]

D0/3E80: 00 C0                    speed 1, align to front of character/monster
D0/3E82: F7 A0                    wait until scanline 160
D0/3E84: D4 02 05 12              add (sprites, bg2) to (bg3, bg1)
D0/3E88: FA 8D 3E                 jump to $3E8D
; [ Animation Script $014B: Fire Beam (bg1) ]

D0/3E8B: 00 C0                    speed 1, align to front of character/monster
D0/3E8D: 85                       move to attacker position
D0/3E8E: F9 01 00 00              set attacker magitek armor action to 1 (walking)
D0/3E92: C8 04                    change attacker action to 4 (walking forward)
D0/3E94: E7                       calculate vector from attacking character to target
D0/3E95: 0F                       [$0F]
D0/3E96: E5 02 03 00              move character forward along vector at speed 2 and height 0, branch to $3E95
D0/3E9A: D1 01                    invalidate character/monster sprite priority
D0/3E9C: C9 00                    play default sound effect
D0/3E9E: C8 00                    change attacker action to 0 (no action)
D0/3EA0: F9 02 00 00              set attacker magitek armor action to 2 (cockpit open)
D0/3EA4: 89 03                    loop start (3 times)
D0/3EA6: 83 7F                    move forward 32
D0/3EA8: 8A                       loop end
D0/3EA9: 83 07                    move down/forward 8
D0/3EAB: C2 40                    unpause bg3 thread
D0/3EAD: 89 07                    loop start (7 times)
D0/3EAF: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/3EB2: 00                       [$00]
D0/3EB3: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/3EB6: 00                       [$00]
D0/3EB7: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/3EBA: 00                       [$00]
D0/3EBB: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/3EBE: 00                       [$00]
D0/3EBF: 8A                       loop end
D0/3EC0: C2 20                    unpause sprite threads
D0/3EC2: 89 0F                    loop start (15 times)
D0/3EC4: 0F                       [$0F]
D0/3EC5: 8A                       loop end
D0/3EC6: D1 00                    validate character/monster sprite priority
D0/3EC8: 84 01                    set animation speed to 2
D0/3ECA: F9 01 00 00              set attacker magitek armor action to 1 (walking)
D0/3ECE: C8 03                    change attacker action to 3 (walking back)
D0/3ED0: 0F                       [$0F]
D0/3ED1: E6 02 03 00              move character backward along vector at speed 2 and height 0, branch to $3ED0
D0/3ED5: C8 00                    change attacker action to 0 (no action)
D0/3ED7: F9 00 00 00              set attacker magitek armor action to 0 (standing still)
D0/3EDB: FF                       end of script

; [ Animation Script $0152: Snare (bg1) ]

D0/3EDC: 00 00                    speed 1, align to bottom of character/monster
D0/3EDE: EE 20                    set target sprite tile priority to 2
D0/3EE0: D1 01                    invalidate character/monster sprite priority
D0/3EE2: 89 07                    loop start (7 times)
D0/3EE4: 83 2F                    move down 16
D0/3EE6: 8A                       loop end
D0/3EE7: 83 C7                    move up 8
D0/3EE9: C9 00                    play default sound effect
D0/3EEB: A5 00 00 00 FF FF 40 00  init circle at (0,0)
D0/3EF3: C3                       move circle to target
D0/3EF4: A6 00 48 00              move circle (+0,+72)
D0/3EF8: 00                       [$00]
D0/3EF9: BD A0                    hide bg1 thread
D0/3EFB: 89 1F                    loop start (31 times)
D0/3EFD: A6 00 00 02              move circle (+0,+0) and grow by 2
D0/3F01: A7                       update circle
D0/3F02: 00                       [$00]
D0/3F03: 8A                       loop end
D0/3F04: 80 45 33                 enable bg1 in window 1
D0/3F07: 80 72 11                 branch to $3F1B if attack hit
D0/3F0A: 89 7F                    loop start (127 times)
D0/3F0C: 00                       [$00]
D0/3F0D: 8A                       loop end
D0/3F0E: 80 45 3C                 enable bg1 in window 2
D0/3F11: 89 1E                    loop start (30 times)
D0/3F13: A6 00 00 FE              move circle (+0,+0) and shrink by 2
D0/3F17: A7                       update circle
D0/3F18: 00                       [$00]
D0/3F19: 8A                       loop end
D0/3F1A: FF                       end of script

D0/3F1B: 89 7F                    loop start (127 times)
D0/3F1D: 87 20                    move target down 1
D0/3F1F: 00                       [$00]
D0/3F20: 8A                       loop end
D0/3F21: F1 80                    hide target monster sprite
D0/3F23: 80 45 3C                 enable bg1 in window 2
D0/3F26: 89 1E                    loop start (30 times)
D0/3F28: A6 00 00 FE              move circle (+0,+0) and shrink by 2
D0/3F2C: A7                       update circle
D0/3F2D: 00                       [$00]
D0/3F2E: 8A                       loop end
D0/3F2F: 89 03                    loop start (3 times)
D0/3F31: 87 DF                    move target up 32
D0/3F33: 8A                       loop end
D0/3F34: FF                       end of script

; [ Animation Script $0153: Cure 2, Dried Meat, Pearl Wind, Health (sprite) ]

D0/3F35: 00 20                    speed 1, align to center of character/monster
D0/3F37: D1 01                    invalidate character/monster sprite priority
D0/3F39: EB                       jump based on thread ($3F42, $3F49, $3F52, $3F5E)
D0/3F42: C9 00                    play default sound effect
D0/3F44: 83 6B                    move forward 12
D0/3F46: FA 58 3F                 jump to $3F58
D0/3F49: 89 03                    loop start (3 times)
D0/3F4B: 1F                       [---]
D0/3F4C: 8A                       loop end
D0/3F4D: 83 CB                    move up 12
D0/3F4F: FA 58 3F                 jump to $3F58
D0/3F52: 89 07                    loop start (7 times)
D0/3F54: 1F                       [---]
D0/3F55: 8A                       loop end
D0/3F56: 83 8B                    move back 12
D0/3F58: 84 03                    set animation speed to 4
D0/3F5A: 8B 0D                    animated loop start (13 times, increment frame offset each time)
D0/3F5C: 00                       [$00]
D0/3F5D: 8C                       animated loop end
D0/3F5E: FF                       end of script

; [ Animation Script $0150: Kitty (sprite) ]

D0/3F5F: 30 20                    speed 4, align to center of character/monster
D0/3F61: 90 00                    set animation tile priority to 0
D0/3F63: 89 06                    loop start (6 times)
D0/3F65: 1F                       [---]
D0/3F66: 8A                       loop end
D0/3F67: C9 0B                    play sound effect $0B
D0/3F69: 8B 08                    animated loop start (8 times, increment frame offset each time)
D0/3F6B: 00                       [$00]
D0/3F6C: 8C                       animated loop end
D0/3F6D: C9 FF                    play sound effect $FF
D0/3F6F: FF                       end of script

; [ Animation Script $0151: Kitty (bg1) ]

D0/3F70: 10 20                    speed 2, align to center of character/monster
D0/3F72: D1 01                    invalidate character/monster sprite priority
D0/3F74: 90 20                    set animation tile priority to 2
D0/3F76: 85                       move to attacker position
D0/3F77: C9 00                    play default sound effect
D0/3F79: 83 7F                    move forward 32
D0/3F7B: 00                       [$00]
D0/3F7C: 01                       [$01]
D0/3F7D: 02                       [$02]
D0/3F7E: 03                       [$03]
D0/3F7F: 04                       [$04]
D0/3F80: 89 40                    loop start (64 times)
D0/3F82: 04                       [$04]
D0/3F83: 8A                       loop end
D0/3F84: FF                       end of script

; [ Animation Script $014E: Wild Bear (sprite) ]

D0/3F85: 30 20                    speed 4, align to center of character/monster
D0/3F87: D1 01                    invalidate character/monster sprite priority
D0/3F89: 90 20                    set animation tile priority to 2
D0/3F8B: 85                       move to attacker position
D0/3F8C: 83 7F                    move forward 32
D0/3F8E: C9 00                    play default sound effect
D0/3F90: 89 03                    loop start (3 times)
D0/3F92: 00                       [$00]
D0/3F93: 01                       [$01]
D0/3F94: 8A                       loop end
D0/3F95: 89 20                    loop start (32 times)
D0/3F97: 02                       [$02]
D0/3F98: 8A                       loop end
D0/3F99: FF                       end of script

; [ Animation Script $014F: Wild Bear (bg1) ]

D0/3F9A: 00 20                    speed 1, align to center of character/monster
D0/3F9C: C4 80                    move bg1 thread to this thread's position
D0/3F9E: 80 32 E0 3F A4 3F        jump to $3FE0 (left) or $3FA4 (right)
D0/3FA4: A5 20 70 00 FF FF 20 00  init circle at (32,112)
D0/3FAC: 00                       [$00]
D0/3FAD: BD A0                    hide bg1 thread
D0/3FAF: 89 1F                    loop start (31 times)
D0/3FB1: 00                       [$00]
D0/3FB2: 8A                       loop end
D0/3FB3: C9 51                    play sound effect $51
D0/3FB5: 89 0F                    loop start (15 times)
D0/3FB7: A3 16 31                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/3FBA: A6 00 00 02              move circle (+0,+0) and grow by 2
D0/3FBE: F7 D8                    wait until scanline 216
D0/3FC0: A7                       update circle
D0/3FC1: 00                       [$00]
D0/3FC2: 8A                       loop end
D0/3FC3: 89 60                    loop start (96 times)
D0/3FC5: A3 16 31                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/3FC8: A6 02 00 00              move circle (+2,+0)
D0/3FCC: F7 D8                    wait until scanline 216
D0/3FCE: A7                       update circle
D0/3FCF: 00                       [$00]
D0/3FD0: 8A                       loop end
D0/3FD1: 89 0F                    loop start (15 times)
D0/3FD3: A3 16 31                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/3FD6: A6 00 00 FE              move circle (+0,+0) and shrink by 2
D0/3FDA: F7 D8                    wait until scanline 216
D0/3FDC: A7                       update circle
D0/3FDD: 00                       [$00]
D0/3FDE: 8A                       loop end
D0/3FDF: FF                       end of script

D0/3FE0: A5 E0 70 00 FF FF 20 00  init circle at (224,112)
D0/3FE8: 00                       [$00]
D0/3FE9: BD A0                    hide bg1 thread
D0/3FEB: 89 1F                    loop start (31 times)
D0/3FED: 00                       [$00]
D0/3FEE: 8A                       loop end
D0/3FEF: C9 51                    play sound effect $51
D0/3FF1: 89 0F                    loop start (15 times)
D0/3FF3: A3 16 31                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/3FF6: A6 00 00 02              move circle (+0,+0) and grow by 2
D0/3FFA: F7 D8                    wait until scanline 216
D0/3FFC: A7                       update circle
D0/3FFD: 00                       [$00]
D0/3FFE: 8A                       loop end
D0/3FFF: 89 60                    loop start (96 times)
D0/4001: A3 16 31                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/4004: A6 FE 00 00              move circle (-2,+0)
D0/4008: F7 D8                    wait until scanline 216
D0/400A: A7                       update circle
D0/400B: 00                       [$00]
D0/400C: 8A                       loop end
D0/400D: 89 0F                    loop start (15 times)
D0/400F: A3 16 31                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/4012: A6 00 00 FE              move circle (+0,+0) and shrink by 2
D0/4016: F7 D8                    wait until scanline 216
D0/4018: A7                       update circle
D0/4019: 00                       [$00]
D0/401A: 8A                       loop end
D0/401B: FF                       end of script

; [ Animation Script $014A: Lagomorph (bg1) ]

D0/401C: 60 20                    speed 7, align to center of character/monster
D0/401E: D1 01                    invalidate character/monster sprite priority
D0/4020: 85                       move to attacker position
D0/4021: 83 7F                    move forward 32
D0/4023: 89 01                    loop start (1 times)
D0/4025: C9 00                    play default sound effect
D0/4027: 00                       [$00]
D0/4028: 00                       [$00]
D0/4029: 00                       [$00]
D0/402A: 00                       [$00]
D0/402B: 01                       [$01]
D0/402C: 00                       [$00]
D0/402D: 01                       [$01]
D0/402E: 00                       [$00]
D0/402F: 8A                       loop end
D0/4030: FF                       end of script

; [ Animation Script $0148: Ice Rabbit (bg1) ]

D0/4031: 20 20                    speed 3, align to center of character/monster
D0/4033: D1 01                    invalidate character/monster sprite priority
D0/4035: C9 00                    play default sound effect
D0/4037: F7 A0                    wait until scanline 160
D0/4039: D4 00 00 00              add fixed color to (no layers)
D0/403D: 85                       move to attacker position
D0/403E: 83 7F                    move forward 32
D0/4040: 89 03                    loop start (3 times)
D0/4042: 00                       [$00]
D0/4043: 00                       [$00]
D0/4044: 00                       [$00]
D0/4045: 00                       [$00]
D0/4046: 01                       [$01]
D0/4047: 00                       [$00]
D0/4048: 01                       [$01]
D0/4049: 00                       [$00]
D0/404A: 8A                       loop end
D0/404B: FF                       end of script

; [ Animation Script $0149: Ice Rabbit (sprite) ]

D0/404C: 20 20                    speed 3, align to center of character/monster
D0/404E: EB                       jump based on thread ($4057, $4060, $4067, $406E)
D0/4057: C9 2A                    play sound effect $2A
D0/4059: 83 83                    move back 4
D0/405B: 83 CB                    move up 12
D0/405D: FA 72 40                 jump to $4072
D0/4060: 83 23                    move down 4
D0/4062: 83 8B                    move back 12
D0/4064: FA 72 40                 jump to $4072
D0/4067: 83 63                    move forward 4
D0/4069: 83 2B                    move down 12
D0/406B: FA 72 40                 jump to $4072
D0/406E: 83 C3                    move up 4
D0/4070: 83 6B                    move forward 12
D0/4072: 8B 06                    animated loop start (6 times, increment frame offset each time)
D0/4074: 00                       [$00]
D0/4075: 8C                       animated loop end
D0/4076: FF                       end of script

; [ Animation Script $0146: Pois. Frog (bg1) ]

D0/4077: 30 00                    speed 4, align to bottom of character/monster
D0/4079: D1 01                    invalidate character/monster sprite priority
D0/407B: F7 A0                    wait until scanline 160
D0/407D: D4 02 02 10              add (sprites) to (bg2)
D0/4081: C9 00                    play default sound effect
D0/4083: 89 03                    loop start (3 times)
D0/4085: 00                       [$00]
D0/4086: 01                       [$01]
D0/4087: 02                       [$02]
D0/4088: 00                       [$00]
D0/4089: 00                       [$00]
D0/408A: 00                       [$00]
D0/408B: 00                       [$00]
D0/408C: 00                       [$00]
D0/408D: 00                       [$00]
D0/408E: 8A                       loop end
D0/408F: FF                       end of script

; [ Animation Script $0147: Pois. Frog (sprite) ]

D0/4090: 30 00                    speed 4, align to bottom of character/monster
D0/4092: 90 00                    set animation tile priority to 0
D0/4094: 8B 1A                    animated loop start (26 times, increment frame offset each time)
D0/4096: 00                       [$00]
D0/4097: 8C                       animated loop end
D0/4098: FF                       end of script

; [ Animation Script $0144: Tapir (bg1) ]

D0/4099: 00 00                    speed 1, align to bottom of character/monster
D0/409B: 85                       move to attacker position
D0/409C: D1 01                    invalidate character/monster sprite priority
D0/409E: 83 7F                    move forward 32
D0/40A0: CD FF                    set bg1 animation palette color addition to 31 (white)
D0/40A2: AC 83 84                 set (bg1) hdma scroll data (amplitude 4, frequency 3, vertical)
D0/40A5: F7 A0                    wait until scanline 160
D0/40A7: D4 00 00 00              add fixed color to (no layers)
D0/40AB: AD 06                    set bg1 hdma scroll type to 6
D0/40AD: 00                       [$00]
D0/40AE: BD A0                    hide bg1 thread
D0/40B0: 83 27                    move down 8
D0/40B2: C9 00                    play default sound effect
D0/40B4: 89 0F                    loop start (15 times)
D0/40B6: CE F2                    decrease bg1 animation palette color addition by 2 (white)
D0/40B8: AE 84                    update (bg1) hdma scroll data (vertical)
D0/40BA: 00                       [$00]
D0/40BB: 8A                       loop end
D0/40BC: AC 83 83                 set (bg1) hdma scroll data (amplitude 3, frequency 3, vertical)
D0/40BF: BF D9 40                 jump to subroutine $40D9
D0/40C2: AC 83 81                 set (bg1) hdma scroll data (amplitude 1, frequency 3, vertical)
D0/40C5: BF D9 40                 jump to subroutine $40D9
D0/40C8: AC 83 80                 set (bg1) hdma scroll data (amplitude 0, frequency 3, vertical)
D0/40CB: BF D9 40                 jump to subroutine $40D9
D0/40CE: 89 40                    loop start (64 times)
D0/40D0: 00                       [$00]
D0/40D1: 8A                       loop end
D0/40D2: 80 25                    clear bg1 hdma scroll data
D0/40D4: F7 A0                    wait until scanline 160
D0/40D6: AD 03                    set bg1 hdma scroll type to 3
D0/40D8: FF                       end of script

D0/40D9: 89 0F                    loop start (15 times)
D0/40DB: AE 84                    update (bg1) hdma scroll data (vertical)
D0/40DD: 00                       [$00]
D0/40DE: 8A                       loop end
D0/40DF: C0                       return from subroutine

; [ Animation Script $0145: Tapir (sprite) ]

D0/40E0: 00 00                    speed 1, align to bottom of character/monster
D0/40E2: 89 5F                    loop start (95 times)
D0/40E4: 1F                       [---]
D0/40E5: 8A                       loop end
D0/40E6: EB                       jump based on thread ($40EF, $40F6, $40FF, $410F)
D0/40EF: C9 7D                    play sound effect $7D
D0/40F1: 83 67                    move forward 8
D0/40F3: FA 05 41                 jump to $4105
D0/40F6: 89 03                    loop start (3 times)
D0/40F8: 1F                       [---]
D0/40F9: 8A                       loop end
D0/40FA: 83 87                    move back 8
D0/40FC: FA 05 41                 jump to $4105
D0/40FF: 89 07                    loop start (7 times)
D0/4101: 1F                       [---]
D0/4102: 8A                       loop end
D0/4103: 83 27                    move down 8
D0/4105: 84 03                    set animation speed to 4
D0/4107: 8B 07                    animated loop start (7 times, increment frame offset each time)
D0/4109: 00                       [$00]
D0/410A: 8C                       animated loop end
D0/410B: 8B 07                    animated loop start (7 times, increment frame offset each time)
D0/410D: 00                       [$00]
D0/410E: 8C                       animated loop end
D0/410F: FF                       end of script

; [ Animation Script $0141: Whump (sprite) ]

D0/4110: 00 00                    speed 1, align to bottom of character/monster
D0/4112: 83 CF                    move up 16
D0/4114: 83 6F                    move forward 16
D0/4116: E9 0F 0F                 move animation randomly (0..15,0..15)
D0/4119: FA 1E 41                 jump to $411E
; [ Animation Script $013F: Wombat (sprite) ]

D0/411C: 00 00                    speed 1, align to bottom of character/monster
D0/411E: BF 25 5F                 jump to subroutine $5F25
D0/4121: D1 01                    invalidate character/monster sprite priority
D0/4123: 89 07                    loop start (7 times)
D0/4125: 83 9F                    move back 32
D0/4127: 8A                       loop end
D0/4128: 89 3A                    loop start (58 times)
D0/412A: 83 63                    move forward 4
D0/412C: 98 04 02                 increment frame offset every 4 loops (0..2)
D0/412F: 00                       [$00]
D0/4130: 8A                       loop end
D0/4131: 83 63                    move forward 4
D0/4133: 83 C4                    move up 5
D0/4135: 98 04 02                 increment frame offset every 4 loops (0..2)
D0/4138: 00                       [$00]
D0/4139: 83 63                    move forward 4
D0/413B: 83 C3                    move up 4
D0/413D: 98 04 02                 increment frame offset every 4 loops (0..2)
D0/4140: 00                       [$00]
D0/4141: 83 63                    move forward 4
D0/4143: 83 C2                    move up 3
D0/4145: 98 04 02                 increment frame offset every 4 loops (0..2)
D0/4148: 00                       [$00]
D0/4149: 83 63                    move forward 4
D0/414B: 83 C1                    move up 2
D0/414D: 98 04 02                 increment frame offset every 4 loops (0..2)
D0/4150: 00                       [$00]
D0/4151: 83 63                    move forward 4
D0/4153: 83 21                    move down 2
D0/4155: 98 04 02                 increment frame offset every 4 loops (0..2)
D0/4158: 00                       [$00]
D0/4159: 83 63                    move forward 4
D0/415B: 83 21                    move down 2
D0/415D: 98 04 02                 increment frame offset every 4 loops (0..2)
D0/4160: 00                       [$00]
D0/4161: 83 63                    move forward 4
D0/4163: 83 21                    move down 2
D0/4165: 98 04 02                 increment frame offset every 4 loops (0..2)
D0/4168: 00                       [$00]
D0/4169: 83 63                    move forward 4
D0/416B: 83 22                    move down 3
D0/416D: 98 04 02                 increment frame offset every 4 loops (0..2)
D0/4170: 00                       [$00]
D0/4171: 83 63                    move forward 4
D0/4173: 83 23                    move down 4
D0/4175: 98 04 02                 increment frame offset every 4 loops (0..2)
D0/4178: 00                       [$00]
D0/4179: 83 63                    move forward 4
D0/417B: 83 24                    move down 5
D0/417D: 98 04 02                 increment frame offset every 4 loops (0..2)
D0/4180: 00                       [$00]
D0/4181: 89 3A                    loop start (58 times)
D0/4183: 83 63                    move forward 4
D0/4185: 98 04 02                 increment frame offset every 4 loops (0..2)
D0/4188: 00                       [$00]
D0/4189: 8A                       loop end
D0/418A: FF                       end of script

; [ Animation Script $0140: Wombat (bg1) ]

D0/418B: 00 00                    speed 1, align to bottom of character/monster
D0/418D: 89 40                    loop start (64 times)
D0/418F: 0F                       [$0F]
D0/4190: 8A                       loop end
D0/4191: 84 04                    set animation speed to 5
D0/4193: 00                       [$00]
D0/4194: 01                       [$01]
D0/4195: 02                       [$02]
D0/4196: 03                       [$03]
D0/4197: FF                       end of script

; [ Animation Script $013D: Cokatrice (sprite) ]

D0/4198: 00 20                    speed 1, align to center of character/monster
D0/419A: D1 01                    invalidate character/monster sprite priority
D0/419C: 89 04                    loop start (4 times)
D0/419E: 83 FF                    move up/back 32
D0/41A0: 8A                       loop end
D0/41A1: C9 5B                    play sound effect $5B
D0/41A3: 89 27                    loop start (39 times)
D0/41A5: 83 03                    move down/forward 4
D0/41A7: 00                       [$00]
D0/41A8: 8A                       loop end
D0/41A9: 89 27                    loop start (39 times)
D0/41AB: 83 A3                    move up/forward 4
D0/41AD: 00                       [$00]
D0/41AE: 8A                       loop end
D0/41AF: FF                       end of script

; [ Animation Script $013E: Cokatrice (bg1) ]

D0/41B0: 00 20                    speed 1, align to center of character/monster
D0/41B2: 89 27                    loop start (39 times)
D0/41B4: 0F                       [$0F]
D0/41B5: 8A                       loop end
D0/41B6: C9 00                    play default sound effect
D0/41B8: 84 03                    set animation speed to 4
D0/41BA: 00                       [$00]
D0/41BB: 01                       [$01]
D0/41BC: 02                       [$02]
D0/41BD: 03                       [$03]
D0/41BE: FF                       end of script

; [ Animation Script $013C: Surge, Slide (sprite) ]

D0/41BF: 00 20                    speed 1, align to center of character/monster
D0/41C1: 89 07                    loop start (7 times)
D0/41C3: 1F                       [---]
D0/41C4: 8A                       loop end
D0/41C5: EE 20                    set target sprite tile priority to 2
D0/41C7: 89 40                    loop start (64 times)
D0/41C9: 1F                       [---]
D0/41CA: 8A                       loop end
D0/41CB: 89 0F                    loop start (15 times)
D0/41CD: 87 61                    move target forward 2
D0/41CF: 1F                       [---]
D0/41D0: 87 81                    move target back 2
D0/41D2: 1F                       [---]
D0/41D3: 8A                       loop end
D0/41D4: FF                       end of script

; [ Animation Script $013A: Surge, Slide (bg1) ]

D0/41D5: 00 20                    speed 1, align to center of character/monster
D0/41D7: D1 01                    invalidate character/monster sprite priority
D0/41D9: D0 30                    set tile priority to 3 for all character/monster sprites
D0/41DB: C4 80                    move bg1 thread to this thread's position
D0/41DD: C9 00                    play default sound effect
D0/41DF: 89 07                    loop start (7 times)
D0/41E1: 83 9F                    move back 32
D0/41E3: 8A                       loop end
D0/41E4: 00                       [$00]
D0/41E5: BD A0                    hide bg1 thread
D0/41E7: 89 80                    loop start (128 times)
D0/41E9: 83 61                    move forward 2
D0/41EB: A4 17 33                 shift colors (1..8) of bg1 animation/esper palette right (3 loops per shift)
D0/41EE: D6 02 00                 scroll background to (2,0)
D0/41F1: 00                       [$00]
D0/41F2: 83 61                    move forward 2
D0/41F4: A4 17 33                 shift colors (1..8) of bg1 animation/esper palette right (3 loops per shift)
D0/41F7: D6 FE 00                 scroll background to (-2,0)
D0/41FA: 00                       [$00]
D0/41FB: 8A                       loop end
D0/41FC: D6 00 00                 scroll background to (0,0)
D0/41FF: FF                       end of script

; [ Animation Script $013B: Surge, Slide (bg3) ]

D0/4200: 00 20                    speed 1, align to center of character/monster
D0/4202: C4 40                    move bg3 thread to this thread's position
D0/4204: AC 21 48                 set (bg3) hdma scroll data (amplitude 8, frequency 1, horizontal)
D0/4207: 89 07                    loop start (7 times)
D0/4209: 83 9F                    move back 32
D0/420B: 8A                       loop end
D0/420C: F7 A0                    wait until scanline 160
D0/420E: AD 87                    set bg3 hdma scroll type to 7
D0/4210: AE 41                    update (bg3) hdma scroll data (horizontal)
D0/4212: 09                       [$09]
D0/4213: 00                       [$00]
D0/4214: BD 50                    hide bg3 thread
D0/4216: 89 FF                    loop start (255 times)
D0/4218: 83 61                    move forward 2
D0/421A: AE 41                    update (bg3) hdma scroll data (horizontal)
D0/421C: 00                       [$00]
D0/421D: 8A                       loop end
D0/421E: F7 A0                    wait until scanline 160
D0/4220: AD 85                    set bg3 hdma scroll type to 5
D0/4222: 80 24                    clear bg3 hdma scroll data
D0/4224: FF                       end of script

; [ Animation Script $0139: Snowball (sprite) ]

D0/4225: 00 00                    speed 1, align to bottom of character/monster
D0/4227: D1 01                    invalidate character/monster sprite priority
D0/4229: 83 AF                    move up/forward 16
D0/422B: 90 20                    set animation tile priority to 2
D0/422D: EB                       jump based on thread ($4238, $4234, $4238)
D0/4234: 83 DF                    move up 32
D0/4236: F4 01                    show sprite behind character/monster sprites
D0/4238: C9 00                    play default sound effect
D0/423A: BF 44 42                 jump to subroutine $4244
D0/423D: BF 44 42                 jump to subroutine $4244
D0/4240: BF 44 42                 jump to subroutine $4244
D0/4243: FF                       end of script

D0/4244: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/4247: 89 04                    loop start (4 times)
D0/4249: 83 FF                    move up/back 32
D0/424B: 8A                       loop end
D0/424C: 89 13                    loop start (19 times)
D0/424E: 83 07                    move down/forward 8
D0/4250: 00                       [$00]
D0/4251: 8A                       loop end
D0/4252: 80 3B                    change target's color palette to animation palette
D0/4254: 01                       [$01]
D0/4255: 80 3C                    restore target's color palette
D0/4257: 01                       [$01]
D0/4258: 80 3B                    change target's color palette to animation palette
D0/425A: 01                       [$01]
D0/425B: 80 3C                    restore target's color palette
D0/425D: 8B 04                    animated loop start (4 times, increment frame offset each time)
D0/425F: 02                       [$02]
D0/4260: 02                       [$02]
D0/4261: 02                       [$02]
D0/4262: 8C                       animated loop end
D0/4263: C0                       return from subroutine

; [ Animation Script $0138: Cave In, Lode Stone (sprite) ]

D0/4264: 00 00                    speed 1, align to bottom of character/monster
D0/4266: D1 01                    invalidate character/monster sprite priority
D0/4268: 90 20                    set animation tile priority to 2
D0/426A: 83 7F                    move forward 32
D0/426C: EB                       jump based on thread ($4273, $427D, $4287)
D0/4273: BF A0 43                 jump to subroutine $43A0
D0/4276: BF A0 43                 jump to subroutine $43A0
D0/4279: BF DE 42                 jump to subroutine $42DE
D0/427C: FF                       end of script

D0/427D: BF DE 42                 jump to subroutine $42DE
D0/4280: BF 91 42                 jump to subroutine $4291
D0/4283: BF A0 43                 jump to subroutine $43A0
D0/4286: FF                       end of script

D0/4287: BF A0 43                 jump to subroutine $43A0
D0/428A: BF DE 42                 jump to subroutine $42DE
D0/428D: BF DE 42                 jump to subroutine $42DE
D0/4290: FF                       end of script

D0/4291: C9 00                    play default sound effect
D0/4293: E9 3F 00                 move animation randomly (0..63,0..0)
D0/4296: 89 04                    loop start (4 times)
D0/4298: 83 DF                    move up 32
D0/429A: 8A                       loop end
D0/429B: 89 27                    loop start (39 times)
D0/429D: 83 23                    move down 4
D0/429F: 00                       [$00]
D0/42A0: 8A                       loop end
D0/42A1: 83 C4                    move up 5
D0/42A3: 00                       [$00]
D0/42A4: 83 C3                    move up 4
D0/42A6: 00                       [$00]
D0/42A7: 83 C2                    move up 3
D0/42A9: 00                       [$00]
D0/42AA: 83 C2                    move up 3
D0/42AC: 00                       [$00]
D0/42AD: 83 C1                    move up 2
D0/42AF: 00                       [$00]
D0/42B0: 83 C1                    move up 2
D0/42B2: 00                       [$00]
D0/42B3: 83 C1                    move up 2
D0/42B5: 00                       [$00]
D0/42B6: 83 C0                    move up 1
D0/42B8: 00                       [$00]
D0/42B9: 83 C0                    move up 1
D0/42BB: 00                       [$00]
D0/42BC: 83 C0                    move up 1
D0/42BE: 00                       [$00]
D0/42BF: 83 20                    move down 1
D0/42C1: 00                       [$00]
D0/42C2: 83 20                    move down 1
D0/42C4: 00                       [$00]
D0/42C5: 83 20                    move down 1
D0/42C7: 00                       [$00]
D0/42C8: 83 21                    move down 2
D0/42CA: 00                       [$00]
D0/42CB: 83 21                    move down 2
D0/42CD: 00                       [$00]
D0/42CE: 83 21                    move down 2
D0/42D0: 00                       [$00]
D0/42D1: 83 22                    move down 3
D0/42D3: 00                       [$00]
D0/42D4: 83 22                    move down 3
D0/42D6: 00                       [$00]
D0/42D7: 83 23                    move down 4
D0/42D9: 00                       [$00]
D0/42DA: 83 24                    move down 5
D0/42DC: 00                       [$00]
D0/42DD: C0                       return from subroutine

D0/42DE: C9 00                    play default sound effect
D0/42E0: E9 3F 00                 move animation randomly (0..63,0..0)
D0/42E3: 89 04                    loop start (4 times)
D0/42E5: 83 DF                    move up 32
D0/42E7: 8A                       loop end
D0/42E8: 89 27                    loop start (39 times)
D0/42EA: 83 23                    move down 4
D0/42EC: 00                       [$00]
D0/42ED: 8A                       loop end
D0/42EE: 83 C4                    move up 5
D0/42F0: 83 61                    move forward 2
D0/42F2: 80 3B                    change target's color palette to animation palette
D0/42F4: D6 02 00                 scroll background to (2,0)
D0/42F7: 00                       [$00]
D0/42F8: 83 C3                    move up 4
D0/42FA: 83 61                    move forward 2
D0/42FC: 80 3C                    restore target's color palette
D0/42FE: D6 FE 00                 scroll background to (-2,0)
D0/4301: 00                       [$00]
D0/4302: 83 C2                    move up 3
D0/4304: 83 61                    move forward 2
D0/4306: 80 3B                    change target's color palette to animation palette
D0/4308: D6 02 00                 scroll background to (2,0)
D0/430B: 00                       [$00]
D0/430C: 83 C2                    move up 3
D0/430E: 83 61                    move forward 2
D0/4310: 80 3C                    restore target's color palette
D0/4312: D6 FE 00                 scroll background to (-2,0)
D0/4315: 00                       [$00]
D0/4316: 83 C1                    move up 2
D0/4318: 83 61                    move forward 2
D0/431A: 80 3B                    change target's color palette to animation palette
D0/431C: D6 02 00                 scroll background to (2,0)
D0/431F: 00                       [$00]
D0/4320: 83 C1                    move up 2
D0/4322: 83 61                    move forward 2
D0/4324: 80 3C                    restore target's color palette
D0/4326: D6 FE 00                 scroll background to (-2,0)
D0/4329: 00                       [$00]
D0/432A: 83 C1                    move up 2
D0/432C: 83 61                    move forward 2
D0/432E: 80 3B                    change target's color palette to animation palette
D0/4330: D6 02 00                 scroll background to (2,0)
D0/4333: 00                       [$00]
D0/4334: 83 C0                    move up 1
D0/4336: 83 61                    move forward 2
D0/4338: 80 3C                    restore target's color palette
D0/433A: D6 FE 00                 scroll background to (-2,0)
D0/433D: 00                       [$00]
D0/433E: 83 C0                    move up 1
D0/4340: 83 61                    move forward 2
D0/4342: 80 3B                    change target's color palette to animation palette
D0/4344: D6 02 00                 scroll background to (2,0)
D0/4347: 00                       [$00]
D0/4348: 83 C0                    move up 1
D0/434A: 83 61                    move forward 2
D0/434C: 80 3C                    restore target's color palette
D0/434E: D6 FE 00                 scroll background to (-2,0)
D0/4351: 00                       [$00]
D0/4352: 83 20                    move down 1
D0/4354: 83 61                    move forward 2
D0/4356: 80 3B                    change target's color palette to animation palette
D0/4358: D6 02 00                 scroll background to (2,0)
D0/435B: 00                       [$00]
D0/435C: 83 20                    move down 1
D0/435E: 83 61                    move forward 2
D0/4360: 80 3C                    restore target's color palette
D0/4362: D6 FE 00                 scroll background to (-2,0)
D0/4365: 00                       [$00]
D0/4366: 83 20                    move down 1
D0/4368: 83 61                    move forward 2
D0/436A: 80 3B                    change target's color palette to animation palette
D0/436C: D6 02 00                 scroll background to (2,0)
D0/436F: 00                       [$00]
D0/4370: 83 21                    move down 2
D0/4372: 83 61                    move forward 2
D0/4374: 80 3C                    restore target's color palette
D0/4376: D6 FE 00                 scroll background to (-2,0)
D0/4379: 00                       [$00]
D0/437A: 83 21                    move down 2
D0/437C: 83 61                    move forward 2
D0/437E: D6 00 00                 scroll background to (0,0)
D0/4381: 00                       [$00]
D0/4382: 83 21                    move down 2
D0/4384: 83 61                    move forward 2
D0/4386: 00                       [$00]
D0/4387: 83 22                    move down 3
D0/4389: 83 61                    move forward 2
D0/438B: 00                       [$00]
D0/438C: 83 22                    move down 3
D0/438E: 83 61                    move forward 2
D0/4390: 00                       [$00]
D0/4391: 83 23                    move down 4
D0/4393: 83 61                    move forward 2
D0/4395: 00                       [$00]
D0/4396: 83 24                    move down 5
D0/4398: 83 61                    move forward 2
D0/439A: 00                       [$00]
D0/439B: 83 93                    move back 20
D0/439D: 83 93                    move back 20
D0/439F: C0                       return from subroutine

D0/43A0: C9 00                    play default sound effect
D0/43A2: E9 3F 00                 move animation randomly (0..63,0..0)
D0/43A5: 89 04                    loop start (4 times)
D0/43A7: 83 DF                    move up 32
D0/43A9: 8A                       loop end
D0/43AA: 89 27                    loop start (39 times)
D0/43AC: 83 23                    move down 4
D0/43AE: 00                       [$00]
D0/43AF: 8A                       loop end
D0/43B0: 83 C4                    move up 5
D0/43B2: 83 81                    move back 2
D0/43B4: 00                       [$00]
D0/43B5: 83 C3                    move up 4
D0/43B7: 83 81                    move back 2
D0/43B9: 00                       [$00]
D0/43BA: 83 C2                    move up 3
D0/43BC: 83 81                    move back 2
D0/43BE: 00                       [$00]
D0/43BF: 83 C2                    move up 3
D0/43C1: 83 81                    move back 2
D0/43C3: 00                       [$00]
D0/43C4: 83 C1                    move up 2
D0/43C6: 83 81                    move back 2
D0/43C8: 00                       [$00]
D0/43C9: 83 C1                    move up 2
D0/43CB: 83 81                    move back 2
D0/43CD: 00                       [$00]
D0/43CE: 83 C1                    move up 2
D0/43D0: 83 81                    move back 2
D0/43D2: 00                       [$00]
D0/43D3: 83 C0                    move up 1
D0/43D5: 83 81                    move back 2
D0/43D7: 00                       [$00]
D0/43D8: 83 C0                    move up 1
D0/43DA: 83 81                    move back 2
D0/43DC: 00                       [$00]
D0/43DD: 83 C0                    move up 1
D0/43DF: 83 81                    move back 2
D0/43E1: 00                       [$00]
D0/43E2: 83 20                    move down 1
D0/43E4: 83 81                    move back 2
D0/43E6: 00                       [$00]
D0/43E7: 83 20                    move down 1
D0/43E9: 83 81                    move back 2
D0/43EB: 00                       [$00]
D0/43EC: 83 20                    move down 1
D0/43EE: 83 81                    move back 2
D0/43F0: 00                       [$00]
D0/43F1: 83 21                    move down 2
D0/43F3: 83 81                    move back 2
D0/43F5: 00                       [$00]
D0/43F6: 83 21                    move down 2
D0/43F8: 83 81                    move back 2
D0/43FA: 00                       [$00]
D0/43FB: 83 21                    move down 2
D0/43FD: 83 81                    move back 2
D0/43FF: 00                       [$00]
D0/4400: 83 22                    move down 3
D0/4402: 83 81                    move back 2
D0/4404: 00                       [$00]
D0/4405: 83 22                    move down 3
D0/4407: 83 81                    move back 2
D0/4409: 00                       [$00]
D0/440A: 83 23                    move down 4
D0/440C: 83 81                    move back 2
D0/440E: 00                       [$00]
D0/440F: 83 24                    move down 5
D0/4411: 83 81                    move back 2
D0/4413: 00                       [$00]
D0/4414: 83 73                    move forward 20
D0/4416: 83 73                    move forward 20
D0/4418: C0                       return from subroutine

; [ Animation Script $0137: Plasma (sprite) ]

D0/4419: 00 00                    speed 1, align to bottom of character/monster
D0/441B: D1 01                    invalidate character/monster sprite priority
D0/441D: 80 16                    command $80/$16
D0/441F: EB                       jump based on thread ($444A, $4442, $4426)
D0/4426: AF C0                    set background color subtraction to 0 (blue)
D0/4428: 89 0F                    loop start (15 times)
D0/442A: B6 C1                    increase background color subtraction by 1 (blue)
D0/442C: A4 17 B1                 shift colors (1..8) of sprite animation palette right (11 loops per shift)
D0/442F: 1F                       [---]
D0/4430: 8A                       loop end
D0/4431: 89 A0                    loop start (160 times)
D0/4433: A4 17 B1                 shift colors (1..8) of sprite animation palette right (11 loops per shift)
D0/4436: 1F                       [---]
D0/4437: 8A                       loop end
D0/4438: 89 0F                    loop start (15 times)
D0/443A: B6 D1                    decrease background color subtraction by 1 (blue)
D0/443C: A4 17 B1                 shift colors (1..8) of sprite animation palette right (11 loops per shift)
D0/443F: 1F                       [---]
D0/4440: 8A                       loop end
D0/4441: FF                       end of script

D0/4442: C9 00                    play default sound effect
D0/4444: EF 60 40                 move in flattened polar coordinates (96,64)
D0/4447: FA 51 44                 jump to $4451
D0/444A: 89 07                    loop start (7 times)
D0/444C: 1F                       [---]
D0/444D: 8A                       loop end
D0/444E: EF 60 C0                 move in flattened polar coordinates (96,-64)
D0/4451: 80 21                    update sprite layer priority based on polar movement angle
D0/4453: EF 00 00                 move in flattened polar coordinates (0,0)
D0/4456: 00                       [$00]
D0/4457: 00                       [$00]
D0/4458: 00                       [$00]
D0/4459: 00                       [$00]
D0/445A: 01                       [$01]
D0/445B: 01                       [$01]
D0/445C: 01                       [$01]
D0/445D: 01                       [$01]
D0/445E: 02                       [$02]
D0/445F: 02                       [$02]
D0/4460: 02                       [$02]
D0/4461: 02                       [$02]
D0/4462: BF 6F 44                 jump to subroutine $446F
D0/4465: BF 6F 44                 jump to subroutine $446F
D0/4468: BF 7C 44                 jump to subroutine $447C
D0/446B: BF 7C 44                 jump to subroutine $447C
D0/446E: FF                       end of script

D0/446F: 89 1F                    loop start (31 times)
D0/4471: 80 21                    update sprite layer priority based on polar movement angle
D0/4473: EF 00 04                 move in flattened polar coordinates (0,4)
D0/4476: 03                       [$03]
D0/4477: 8A                       loop end
D0/4478: EF 00 80                 move in flattened polar coordinates (0,-128)
D0/447B: C0                       return from subroutine

D0/447C: 89 1F                    loop start (31 times)
D0/447E: 80 21                    update sprite layer priority based on polar movement angle
D0/4480: EF 00 04                 move in flattened polar coordinates (0,4)
D0/4483: 83 C2                    move up 3
D0/4485: 03                       [$03]
D0/4486: 8A                       loop end
D0/4487: EF 00 80                 move in flattened polar coordinates (0,-128)
D0/448A: C0                       return from subroutine

; [ Animation Script $0135: El Nino (sprite) ]

D0/448B: 20 20                    speed 3, align to center of character/monster
D0/448D: 90 20                    set animation tile priority to 2
D0/448F: D1 01                    invalidate character/monster sprite priority
D0/4491: 89 0F                    loop start (15 times)
D0/4493: 1F                       [---]
D0/4494: 8A                       loop end
D0/4495: EB                       jump based on thread ($496C, $4973, $497A, $4527)
; [ Animation Script $0136: El Nino (bg1) ]

D0/449E: 00 20                    speed 1, align to center of character/monster
D0/44A0: C4 80                    move bg1 thread to this thread's position
D0/44A2: D0 20                    set tile priority to 2 for all character/monster sprites
D0/44A4: F7 A0                    wait until scanline 160
D0/44A6: D4 02 01 12              add (sprites, bg2) to (bg1)
D0/44AA: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/44AC: EA 81                    set bg1 tile data quadrant to 1
D0/44AE: 00                       [$00]
D0/44AF: 00                       [$00]
D0/44B0: BD A0                    hide bg1 thread
D0/44B2: C9 00                    play default sound effect
D0/44B4: 89 0F                    loop start (15 times)
D0/44B6: CF F2                    decrease bg1 animation palette color subtraction by 2 (black)
D0/44B8: 83 60                    move forward 1
D0/44BA: F7 C8                    wait until scanline 200
D0/44BC: 80 33 00                 update rainbow gradient lines (intensity 15)
D0/44BF: 00                       [$00]
D0/44C0: 8A                       loop end
D0/44C1: CD E0                    set bg1 animation palette color addition to 0 (white)
D0/44C3: 89 0F                    loop start (15 times)
D0/44C5: CE E2                    increase bg1 animation palette color addition by 2 (white)
D0/44C7: 83 60                    move forward 1
D0/44C9: F7 C8                    wait until scanline 200
D0/44CB: 80 33 00                 update rainbow gradient lines (intensity 15)
D0/44CE: 00                       [$00]
D0/44CF: 8A                       loop end
D0/44D0: F7 A0                    wait until scanline 160
D0/44D2: D4 00 01 12              add fixed color to (bg1)
D0/44D6: 89 0F                    loop start (15 times)
D0/44D8: CE F2                    decrease bg1 animation palette color addition by 2 (white)
D0/44DA: 83 60                    move forward 1
D0/44DC: F7 C8                    wait until scanline 200
D0/44DE: 80 33 00                 update rainbow gradient lines (intensity 15)
D0/44E1: 00                       [$00]
D0/44E2: 8A                       loop end
D0/44E3: 89 20                    loop start (32 times)
D0/44E5: 83 60                    move forward 1
D0/44E7: F7 C8                    wait until scanline 200
D0/44E9: 80 33 00                 update rainbow gradient lines (intensity 15)
D0/44EC: 00                       [$00]
D0/44ED: 8A                       loop end
D0/44EE: 89 0F                    loop start (15 times)
D0/44F0: CE E2                    increase bg1 animation palette color addition by 2 (white)
D0/44F2: 83 60                    move forward 1
D0/44F4: F7 C8                    wait until scanline 200
D0/44F6: 80 33 00                 update rainbow gradient lines (intensity 15)
D0/44F9: 00                       [$00]
D0/44FA: 8A                       loop end
D0/44FB: F7 A0                    wait until scanline 160
D0/44FD: D4 02 01 12              add (sprites, bg2) to (bg1)
D0/4501: 89 0F                    loop start (15 times)
D0/4503: CE F2                    decrease bg1 animation palette color addition by 2 (white)
D0/4505: 83 60                    move forward 1
D0/4507: F7 C8                    wait until scanline 200
D0/4509: 80 33 00                 update rainbow gradient lines (intensity 15)
D0/450C: 00                       [$00]
D0/450D: 8A                       loop end
D0/450E: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/4510: 89 0F                    loop start (15 times)
D0/4512: CF E2                    increase bg1 animation palette color subtraction by 2 (black)
D0/4514: 83 60                    move forward 1
D0/4516: F7 C8                    wait until scanline 200
D0/4518: 80 33 00                 update rainbow gradient lines (intensity 15)
D0/451B: 00                       [$00]
D0/451C: 8A                       loop end
D0/451D: 80 3E 12                 enable (sprites, bg2) in main screen
D0/4520: 80 37                    clear fixed color value hdma data
D0/4522: BD 80                    show bg1 thread
D0/4524: EA 81                    set bg1 tile data quadrant to 1
D0/4526: 00                       [$00]
D0/4527: FF                       end of script

; [ Animation Script $0134: Sonic Boom, Shimsham (sprite) ]

D0/4528: 00 20                    speed 1, align to center of character/monster
D0/452A: 85                       move to attacker position
D0/452B: 95                       calculate vector from attacker to target
D0/452C: 93 08                    move to vector position 8
D0/452E: EB                       jump based on thread ($4535, $4549, $455B)
D0/4535: C9 62                    play sound effect $62
D0/4537: 98 01 07                 increment frame offset every 1 loops (0..7)
D0/453A: 00                       [$00]
D0/453B: 92 08 06                 move along vector at speed 8, branch to $4537
D0/453E: 80 4E                    clear frame offset
D0/4540: C9 00                    play default sound effect
D0/4542: 84 03                    set animation speed to 4
D0/4544: 8B 17                    animated loop start (23 times, increment frame offset each time)
D0/4546: 00                       [$00]
D0/4547: 8C                       animated loop end
D0/4548: FF                       end of script

D0/4549: 98 01 07                 increment frame offset every 1 loops (0..7)
D0/454C: 00                       [$00]
D0/454D: 92 08 06                 move along vector at speed 8, branch to $4549
D0/4550: 80 4E                    clear frame offset
D0/4552: 89 07                    loop start (7 times)
D0/4554: 80 3B                    change target's color palette to animation palette
D0/4556: 1F                       [---]
D0/4557: 80 3C                    restore target's color palette
D0/4559: 1F                       [---]
D0/455A: 8A                       loop end
D0/455B: 98 01 07                 increment frame offset every 1 loops (0..7)
D0/455E: 00                       [$00]
D0/455F: 92 08 06                 move along vector at speed 8, branch to $455B
D0/4562: FF                       end of script

; [ Animation Script $0132: Land Slide (sprite) ]

D0/4563: 00 00                    speed 1, align to bottom of character/monster
D0/4565: BD A0                    hide bg1 thread
D0/4567: 90 20                    set animation tile priority to 2
D0/4569: 83 7F                    move forward 32
D0/456B: EB                       jump based on thread ($457C, $459C, $4588, $4592, $4592, $4588, $459C, $457E)
D0/457C: C9 00                    play default sound effect
D0/457E: BF A6 45                 jump to subroutine $45A6
D0/4581: BF 7A 46                 jump to subroutine $467A
D0/4584: BF 00 46                 jump to subroutine $4600
D0/4587: FF                       end of script

D0/4588: BF 2D 46                 jump to subroutine $462D
D0/458B: BF D3 45                 jump to subroutine $45D3
D0/458E: BF 7A 46                 jump to subroutine $467A
D0/4591: FF                       end of script

D0/4592: BF D3 45                 jump to subroutine $45D3
D0/4595: BF 00 46                 jump to subroutine $4600
D0/4598: BF B7 46                 jump to subroutine $46B7
D0/459B: FF                       end of script

D0/459C: BF B7 46                 jump to subroutine $46B7
D0/459F: BF 2D 46                 jump to subroutine $462D
D0/45A2: BF 00 46                 jump to subroutine $4600
D0/45A5: FF                       end of script

D0/45A6: E9 3F 00                 move animation randomly (0..63,0..0)
D0/45A9: 89 04                    loop start (4 times)
D0/45AB: 83 DF                    move up 32
D0/45AD: 8A                       loop end
D0/45AE: 89 27                    loop start (39 times)
D0/45B0: 83 23                    move down 4
D0/45B2: 00                       [$00]
D0/45B3: 8A                       loop end
D0/45B4: 83 C3                    move up 4
D0/45B6: 00                       [$00]
D0/45B7: 83 C2                    move up 3
D0/45B9: 00                       [$00]
D0/45BA: 83 C1                    move up 2
D0/45BC: 00                       [$00]
D0/45BD: 83 C0                    move up 1
D0/45BF: 00                       [$00]
D0/45C0: 83 C0                    move up 1
D0/45C2: 00                       [$00]
D0/45C3: 83 20                    move down 1
D0/45C5: 00                       [$00]
D0/45C6: 83 20                    move down 1
D0/45C8: 00                       [$00]
D0/45C9: 83 21                    move down 2
D0/45CB: 00                       [$00]
D0/45CC: 83 22                    move down 3
D0/45CE: 00                       [$00]
D0/45CF: 83 23                    move down 4
D0/45D1: 00                       [$00]
D0/45D2: C0                       return from subroutine

D0/45D3: E9 3F 00                 move animation randomly (0..63,0..0)
D0/45D6: 89 04                    loop start (4 times)
D0/45D8: 83 DF                    move up 32
D0/45DA: 8A                       loop end
D0/45DB: 89 27                    loop start (39 times)
D0/45DD: 83 23                    move down 4
D0/45DF: 01                       [$01]
D0/45E0: 8A                       loop end
D0/45E1: 83 C3                    move up 4
D0/45E3: 01                       [$01]
D0/45E4: 83 C2                    move up 3
D0/45E6: 01                       [$01]
D0/45E7: 83 C1                    move up 2
D0/45E9: 01                       [$01]
D0/45EA: 83 C0                    move up 1
D0/45EC: 01                       [$01]
D0/45ED: 83 C0                    move up 1
D0/45EF: 01                       [$01]
D0/45F0: 83 20                    move down 1
D0/45F2: 01                       [$01]
D0/45F3: 83 20                    move down 1
D0/45F5: 01                       [$01]
D0/45F6: 83 21                    move down 2
D0/45F8: 01                       [$01]
D0/45F9: 83 22                    move down 3
D0/45FB: 01                       [$01]
D0/45FC: 83 23                    move down 4
D0/45FE: 01                       [$01]
D0/45FF: C0                       return from subroutine

D0/4600: E9 3F 00                 move animation randomly (0..63,0..0)
D0/4603: 89 04                    loop start (4 times)
D0/4605: 83 DF                    move up 32
D0/4607: 8A                       loop end
D0/4608: 89 27                    loop start (39 times)
D0/460A: 83 23                    move down 4
D0/460C: 02                       [$02]
D0/460D: 8A                       loop end
D0/460E: 83 C3                    move up 4
D0/4610: 02                       [$02]
D0/4611: 83 C2                    move up 3
D0/4613: 02                       [$02]
D0/4614: 83 C1                    move up 2
D0/4616: 02                       [$02]
D0/4617: 83 C0                    move up 1
D0/4619: 02                       [$02]
D0/461A: 83 C0                    move up 1
D0/461C: 02                       [$02]
D0/461D: 83 20                    move down 1
D0/461F: 02                       [$02]
D0/4620: 83 20                    move down 1
D0/4622: 02                       [$02]
D0/4623: 83 21                    move down 2
D0/4625: 02                       [$02]
D0/4626: 83 22                    move down 3
D0/4628: 02                       [$02]
D0/4629: 83 23                    move down 4
D0/462B: 02                       [$02]
D0/462C: C0                       return from subroutine

D0/462D: E9 3F 00                 move animation randomly (0..63,0..0)
D0/4630: 89 04                    loop start (4 times)
D0/4632: 83 DF                    move up 32
D0/4634: 8A                       loop end
D0/4635: 89 27                    loop start (39 times)
D0/4637: 83 23                    move down 4
D0/4639: 03                       [$03]
D0/463A: 8A                       loop end
D0/463B: 83 C3                    move up 4
D0/463D: 83 60                    move forward 1
D0/463F: 80 3B                    change target's color palette to animation palette
D0/4641: 03                       [$03]
D0/4642: 83 C2                    move up 3
D0/4644: 83 60                    move forward 1
D0/4646: 80 3C                    restore target's color palette
D0/4648: 03                       [$03]
D0/4649: 83 C1                    move up 2
D0/464B: 83 60                    move forward 1
D0/464D: 80 3B                    change target's color palette to animation palette
D0/464F: 03                       [$03]
D0/4650: 83 C0                    move up 1
D0/4652: 83 60                    move forward 1
D0/4654: 80 3C                    restore target's color palette
D0/4656: 03                       [$03]
D0/4657: 83 C0                    move up 1
D0/4659: 83 60                    move forward 1
D0/465B: 80 3B                    change target's color palette to animation palette
D0/465D: 03                       [$03]
D0/465E: 83 20                    move down 1
D0/4660: 83 60                    move forward 1
D0/4662: 80 3C                    restore target's color palette
D0/4664: 03                       [$03]
D0/4665: 83 20                    move down 1
D0/4667: 83 60                    move forward 1
D0/4669: 80 3B                    change target's color palette to animation palette
D0/466B: 03                       [$03]
D0/466C: 83 21                    move down 2
D0/466E: 83 60                    move forward 1
D0/4670: 80 3C                    restore target's color palette
D0/4672: 03                       [$03]
D0/4673: 83 22                    move down 3
D0/4675: 03                       [$03]
D0/4676: 83 23                    move down 4
D0/4678: 03                       [$03]
D0/4679: C0                       return from subroutine

D0/467A: E9 3F 00                 move animation randomly (0..63,0..0)
D0/467D: 89 04                    loop start (4 times)
D0/467F: 83 DF                    move up 32
D0/4681: 8A                       loop end
D0/4682: 89 27                    loop start (39 times)
D0/4684: 83 23                    move down 4
D0/4686: 03                       [$03]
D0/4687: 8A                       loop end
D0/4688: 83 C3                    move up 4
D0/468A: 83 60                    move forward 1
D0/468C: 03                       [$03]
D0/468D: 83 C2                    move up 3
D0/468F: 83 60                    move forward 1
D0/4691: 03                       [$03]
D0/4692: 83 C1                    move up 2
D0/4694: 83 60                    move forward 1
D0/4696: 03                       [$03]
D0/4697: 83 C0                    move up 1
D0/4699: 83 60                    move forward 1
D0/469B: 03                       [$03]
D0/469C: 83 C0                    move up 1
D0/469E: 83 60                    move forward 1
D0/46A0: 03                       [$03]
D0/46A1: 83 20                    move down 1
D0/46A3: 83 60                    move forward 1
D0/46A5: 03                       [$03]
D0/46A6: 83 20                    move down 1
D0/46A8: 83 60                    move forward 1
D0/46AA: 03                       [$03]
D0/46AB: 83 21                    move down 2
D0/46AD: 83 60                    move forward 1
D0/46AF: 03                       [$03]
D0/46B0: 83 22                    move down 3
D0/46B2: 03                       [$03]
D0/46B3: 83 23                    move down 4
D0/46B5: 03                       [$03]
D0/46B6: C0                       return from subroutine

D0/46B7: E9 3F 00                 move animation randomly (0..63,0..0)
D0/46BA: 89 04                    loop start (4 times)
D0/46BC: 83 DF                    move up 32
D0/46BE: 8A                       loop end
D0/46BF: 89 27                    loop start (39 times)
D0/46C1: 83 23                    move down 4
D0/46C3: 03                       [$03]
D0/46C4: 8A                       loop end
D0/46C5: 83 C3                    move up 4
D0/46C7: 83 80                    move back 1
D0/46C9: 03                       [$03]
D0/46CA: 83 C2                    move up 3
D0/46CC: 83 80                    move back 1
D0/46CE: 03                       [$03]
D0/46CF: 83 C1                    move up 2
D0/46D1: 83 80                    move back 1
D0/46D3: 03                       [$03]
D0/46D4: 83 C0                    move up 1
D0/46D6: 83 80                    move back 1
D0/46D8: 03                       [$03]
D0/46D9: 83 C0                    move up 1
D0/46DB: 83 80                    move back 1
D0/46DD: 03                       [$03]
D0/46DE: 83 20                    move down 1
D0/46E0: 83 80                    move back 1
D0/46E2: 03                       [$03]
D0/46E3: 83 20                    move down 1
D0/46E5: 83 80                    move back 1
D0/46E7: 03                       [$03]
D0/46E8: 83 21                    move down 2
D0/46EA: 83 80                    move back 1
D0/46EC: 03                       [$03]
D0/46ED: 83 22                    move down 3
D0/46EF: 03                       [$03]
D0/46F0: 83 23                    move down 4
D0/46F2: 03                       [$03]
D0/46F3: C0                       return from subroutine

; [ Animation Script $0131: Specter (sprite) ]

D0/46F4: 20 20                    speed 3, align to center of character/monster
D0/46F6: FA 63 47                 jump to $4763
; [ Animation Script $0130: Specter (bg1) ]

D0/46F9: 20 20                    speed 3, align to center of character/monster
D0/46FB: 80 16                    command $80/$16
D0/46FD: EF 20 60                 move in flattened polar coordinates (32,96)
D0/4700: 89 0A                    loop start (10 times)
D0/4702: EF 01 01                 move in flattened polar coordinates (1,1)
D0/4705: 83 C0                    move up 1
D0/4707: 00                       [$00]
D0/4708: 8A                       loop end
D0/4709: 89 0A                    loop start (10 times)
D0/470B: EF FF 01                 move in flattened polar coordinates (-1,1)
D0/470E: 83 C0                    move up 1
D0/4710: 01                       [$01]
D0/4711: 8A                       loop end
D0/4712: 89 0A                    loop start (10 times)
D0/4714: EF 01 01                 move in flattened polar coordinates (1,1)
D0/4717: 83 20                    move down 1
D0/4719: 00                       [$00]
D0/471A: 8A                       loop end
D0/471B: 89 0A                    loop start (10 times)
D0/471D: EF 01 01                 move in flattened polar coordinates (1,1)
D0/4720: 83 20                    move down 1
D0/4722: 01                       [$01]
D0/4723: 8A                       loop end
D0/4724: FF                       end of script

; [ Animation Script $012E: Wind Slash, Gale Cut (sprite) ]

D0/4725: 30 20                    speed 4, align to center of character/monster
D0/4727: 89 07                    loop start (7 times)
D0/4729: 1F                       [---]
D0/472A: 8A                       loop end
D0/472B: 8B 16                    animated loop start (22 times, increment frame offset each time)
D0/472D: 00                       [$00]
D0/472E: 8C                       animated loop end
D0/472F: FF                       end of script

; [ Animation Script $012F: Wind Slash, Gale Cut (bg1) ]

D0/4730: 00 20                    speed 1, align to center of character/monster
D0/4732: D1 01                    invalidate character/monster sprite priority
D0/4734: C4 80                    move bg1 thread to this thread's position
D0/4736: D0 20                    set tile priority to 2 for all character/monster sprites
D0/4738: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/473A: F7 A0                    wait until scanline 160
D0/473C: D4 02 01 12              add (sprites, bg2) to (bg1)
D0/4740: 00                       [$00]
D0/4741: BD A0                    hide bg1 thread
D0/4743: C9 00                    play default sound effect
D0/4745: 89 1F                    loop start (31 times)
D0/4747: CF F1                    decrease bg1 animation palette color subtraction by 1 (black)
D0/4749: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/474C: 00                       [$00]
D0/474D: 8A                       loop end
D0/474E: 89 80                    loop start (128 times)
D0/4750: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/4753: 00                       [$00]
D0/4754: 8A                       loop end
D0/4755: 89 1F                    loop start (31 times)
D0/4757: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/4759: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/475C: 00                       [$00]
D0/475D: 8A                       loop end
D0/475E: FF                       end of script

; [ Animation Script $012C: Elf Fire, Fire Wall (sprite) ]

D0/475F: 20 20                    speed 3, align to center of character/monster
D0/4761: 90 00                    set animation tile priority to 0
D0/4763: D1 01                    invalidate character/monster sprite priority
D0/4765: 80 16                    command $80/$16
D0/4767: EB                       jump based on thread ($4778, $4787, $4794, $47A1, $47AE, $47BB, $47C8, $47D5)
D0/4778: C9 00                    play default sound effect
D0/477A: EF 40 00                 move in flattened polar coordinates (64,0)
D0/477D: BF DF 47                 jump to subroutine $47DF
D0/4780: BF EC 47                 jump to subroutine $47EC
D0/4783: BF 08 48                 jump to subroutine $4808
D0/4786: FF                       end of script

D0/4787: EF 40 2F                 move in flattened polar coordinates (64,47)
D0/478A: BF 08 48                 jump to subroutine $4808
D0/478D: BF 08 48                 jump to subroutine $4808
D0/4790: BF F9 47                 jump to subroutine $47F9
D0/4793: FF                       end of script

D0/4794: EF 40 3D                 move in flattened polar coordinates (64,61)
D0/4797: BF EC 47                 jump to subroutine $47EC
D0/479A: BF F9 47                 jump to subroutine $47F9
D0/479D: BF 08 48                 jump to subroutine $4808
D0/47A0: FF                       end of script

D0/47A1: EF 40 68                 move in flattened polar coordinates (64,104)
D0/47A4: BF EC 47                 jump to subroutine $47EC
D0/47A7: BF DF 47                 jump to subroutine $47DF
D0/47AA: BF F9 47                 jump to subroutine $47F9
D0/47AD: FF                       end of script

D0/47AE: EF 40 82                 move in flattened polar coordinates (64,-126)
D0/47B1: BF EC 47                 jump to subroutine $47EC
D0/47B4: BF DF 47                 jump to subroutine $47DF
D0/47B7: BF F9 47                 jump to subroutine $47F9
D0/47BA: FF                       end of script

D0/47BB: EF 40 A0                 move in flattened polar coordinates (64,-96)
D0/47BE: BF 08 48                 jump to subroutine $4808
D0/47C1: BF DF 47                 jump to subroutine $47DF
D0/47C4: BF F9 47                 jump to subroutine $47F9
D0/47C7: FF                       end of script

D0/47C8: EF 40 C6                 move in flattened polar coordinates (64,-58)
D0/47CB: BF EC 47                 jump to subroutine $47EC
D0/47CE: BF DF 47                 jump to subroutine $47DF
D0/47D1: BF 08 48                 jump to subroutine $4808
D0/47D4: FF                       end of script

D0/47D5: BF DF 47                 jump to subroutine $47DF
D0/47D8: BF EC 47                 jump to subroutine $47EC
D0/47DB: BF 08 48                 jump to subroutine $4808
D0/47DE: FF                       end of script

D0/47DF: 89 0F                    loop start (15 times)
D0/47E1: EF 01 01                 move in flattened polar coordinates (1,1)
D0/47E4: 98 03 04                 increment frame offset every 3 loops (0..4)
D0/47E7: 80 21                    update sprite layer priority based on polar movement angle
D0/47E9: 00                       [$00]
D0/47EA: 8A                       loop end
D0/47EB: C0                       return from subroutine

D0/47EC: 89 0F                    loop start (15 times)
D0/47EE: EF FF 01                 move in flattened polar coordinates (-1,1)
D0/47F1: 98 03 04                 increment frame offset every 3 loops (0..4)
D0/47F4: 80 21                    update sprite layer priority based on polar movement angle
D0/47F6: 00                       [$00]
D0/47F7: 8A                       loop end
D0/47F8: C0                       return from subroutine

D0/47F9: 89 0F                    loop start (15 times)
D0/47FB: EF 00 01                 move in flattened polar coordinates (0,1)
D0/47FE: 98 03 04                 increment frame offset every 3 loops (0..4)
D0/4801: 83 20                    move down 1
D0/4803: 80 21                    update sprite layer priority based on polar movement angle
D0/4805: 00                       [$00]
D0/4806: 8A                       loop end
D0/4807: C0                       return from subroutine

D0/4808: 89 0F                    loop start (15 times)
D0/480A: EF 00 01                 move in flattened polar coordinates (0,1)
D0/480D: 98 03 04                 increment frame offset every 3 loops (0..4)
D0/4810: 80 21                    update sprite layer priority based on polar movement angle
D0/4812: 83 C0                    move up 1
D0/4814: 00                       [$00]
D0/4815: 8A                       loop end
D0/4816: C0                       return from subroutine

; [ Animation Script $012B: Antlion (bg1) ]

D0/4817: 00 00                    speed 1, align to bottom of character/monster
D0/4819: EE 20                    set target sprite tile priority to 2
D0/481B: D1 01                    invalidate character/monster sprite priority
D0/481D: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/481F: 89 08                    loop start (8 times)
D0/4821: 83 2F                    move down 16
D0/4823: 8A                       loop end
D0/4824: 00                       [$00]
D0/4825: BD A0                    hide bg1 thread
D0/4827: C9 00                    play default sound effect
D0/4829: 89 1F                    loop start (31 times)
D0/482B: CF F1                    decrease bg1 animation palette color subtraction by 1 (black)
D0/482D: A3 16 32                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/4830: 00                       [$00]
D0/4831: 8A                       loop end
D0/4832: 80 72 08                 branch to $483D if attack hit
D0/4835: 89 7F                    loop start (127 times)
D0/4837: A3 16 32                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/483A: 00                       [$00]
D0/483B: 8A                       loop end
D0/483C: FF                       end of script

D0/483D: 89 7F                    loop start (127 times)
D0/483F: A3 16 32                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/4842: 87 20                    move target down 1
D0/4844: 00                       [$00]
D0/4845: BD A0                    hide bg1 thread
D0/4847: 8A                       loop end
D0/4848: F1 80                    hide target monster sprite
D0/484A: 89 1F                    loop start (31 times)
D0/484C: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/484E: A3 16 32                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/4851: 00                       [$00]
D0/4852: 8A                       loop end
D0/4853: 89 03                    loop start (3 times)
D0/4855: 87 DF                    move target up 32
D0/4857: 8A                       loop end
D0/4858: FF                       end of script

; [ Animation Script $012A: Sand Storm, BabaBreath (bg1) ]

D0/4859: 00 20                    speed 1, align to center of character/monster
D0/485B: D1 01                    invalidate character/monster sprite priority
D0/485D: C4 80                    move bg1 thread to this thread's position
D0/485F: D0 20                    set tile priority to 2 for all character/monster sprites
D0/4861: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/4863: 00                       [$00]
D0/4864: BD A0                    hide bg1 thread
D0/4866: C9 00                    play default sound effect
D0/4868: 89 1F                    loop start (31 times)
D0/486A: CF F1                    decrease bg1 animation palette color subtraction by 1 (black)
D0/486C: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/486F: 00                       [$00]
D0/4870: 8A                       loop end
D0/4871: 89 40                    loop start (64 times)
D0/4873: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/4876: 00                       [$00]
D0/4877: 8A                       loop end
D0/4878: 89 1F                    loop start (31 times)
D0/487A: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/487C: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/487F: 00                       [$00]
D0/4880: 8A                       loop end
D0/4881: FF                       end of script

; [ Animation Script $0128: Harvester (sprite) ]

D0/4882: 30 20                    speed 4, align to center of character/monster
D0/4884: 89 07                    loop start (7 times)
D0/4886: 1F                       [---]
D0/4887: 8A                       loop end
D0/4888: 83 BF                    move up/forward 32
D0/488A: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/488D: 8B 07                    animated loop start (7 times, increment frame offset each time)
D0/488F: 00                       [$00]
D0/4890: 8C                       animated loop end
D0/4891: 89 04                    loop start (4 times)
D0/4893: 08                       [$08]
D0/4894: 09                       [$09]
D0/4895: 8A                       loop end
D0/4896: FF                       end of script

; [ Animation Script $012D: Harvester, Scar Beam (bg3) ]

D0/4897: 00 20                    speed 1, align to center of character/monster
D0/4899: C4 40                    move bg3 thread to this thread's position
D0/489B: AA FF                    set bg3 animation palette color subtraction to 31 (black)
D0/489D: F7 A0                    wait until scanline 160
D0/489F: EA 41                    set bg3 tile data quadrant to 1
D0/48A1: 00                       [$00]
D0/48A2: 00                       [$00]
D0/48A3: BD 50                    hide bg3 thread
D0/48A5: 89 1F                    loop start (31 times)
D0/48A7: B4 F1                    decrease bg3 animation palette color subtraction by 1 (black)
D0/48A9: 83 61                    move forward 2
D0/48AB: 00                       [$00]
D0/48AC: 8A                       loop end
D0/48AD: 89 80                    loop start (128 times)
D0/48AF: 83 61                    move forward 2
D0/48B1: 00                       [$00]
D0/48B2: 8A                       loop end
D0/48B3: 89 1F                    loop start (31 times)
D0/48B5: B4 E1                    increase bg3 animation palette color subtraction by 1 (black)
D0/48B7: 83 61                    move forward 2
D0/48B9: 00                       [$00]
D0/48BA: 8A                       loop end
D0/48BB: BD 40                    show bg3 thread
D0/48BD: EA 41                    set bg3 tile data quadrant to 1
D0/48BF: 09                       [$09]
D0/48C0: FF                       end of script

; [ Animation Script $0129: Harvester, Scar Beam (bg1) ]

D0/48C1: 00 20                    speed 1, align to center of character/monster
D0/48C3: D1 01                    invalidate character/monster sprite priority
D0/48C5: C4 80                    move bg1 thread to this thread's position
D0/48C7: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/48C9: F7 A0                    wait until scanline 160
D0/48CB: D4 02 05 12              add (sprites, bg2) to (bg3, bg1)
D0/48CF: EA 81                    set bg1 tile data quadrant to 1
D0/48D1: 00                       [$00]
D0/48D2: 00                       [$00]
D0/48D3: C9 00                    play default sound effect
D0/48D5: BD A0                    hide bg1 thread
D0/48D7: 89 1F                    loop start (31 times)
D0/48D9: CF F1                    decrease bg1 animation palette color subtraction by 1 (black)
D0/48DB: 83 60                    move forward 1
D0/48DD: 00                       [$00]
D0/48DE: 8A                       loop end
D0/48DF: 89 80                    loop start (128 times)
D0/48E1: 83 60                    move forward 1
D0/48E3: 00                       [$00]
D0/48E4: 8A                       loop end
D0/48E5: 89 1F                    loop start (31 times)
D0/48E7: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/48E9: 83 60                    move forward 1
D0/48EB: 00                       [$00]
D0/48EC: 8A                       loop end
D0/48ED: BD 80                    show bg1 thread
D0/48EF: EA 81                    set bg1 tile data quadrant to 1
D0/48F1: 0F                       [$0F]
D0/48F2: FF                       end of script

; [ Animation Script $0126: Rage (bg1) ]

D0/48F3: 00 20                    speed 1, align to center of character/monster
D0/48F5: D1 01                    invalidate character/monster sprite priority
D0/48F7: D0 20                    set tile priority to 2 for all character/monster sprites
D0/48F9: F7 A0                    wait until scanline 160
D0/48FB: 80 3E 12                 enable (sprites, bg2) in main screen
D0/48FE: AD 06                    set bg1 hdma scroll type to 6
D0/4900: 0F                       [$0F]
D0/4901: F7 A0                    wait until scanline 160
D0/4903: AD 87                    set bg3 hdma scroll type to 7
D0/4905: 0F                       [$0F]
D0/4906: AC BF 47                 set (bg3, bg1) hdma scroll data (amplitude 7, frequency 31, horizontal)
D0/4909: C4 80                    move bg1 thread to this thread's position
D0/490B: C9 00                    play default sound effect
D0/490D: 89 07                    loop start (7 times)
D0/490F: 83 9F                    move back 32
D0/4911: 8A                       loop end
D0/4912: F7 A0                    wait until scanline 160
D0/4914: 80 3E 17                 enable (sprites, bg3, bg2, bg1) in main screen
D0/4917: 89 E0                    loop start (224 times)
D0/4919: 98 03 03                 increment frame offset every 3 loops (0..3)
D0/491C: 83 61                    move forward 2
D0/491E: AE 45                    update (bg3, bg1) hdma scroll data (horizontal)
D0/4920: 00                       [$00]
D0/4921: 8A                       loop end
D0/4922: 80 4E                    clear frame offset
D0/4924: F7 A0                    wait until scanline 160
D0/4926: 80 3E 12                 enable (sprites, bg2) in main screen
D0/4929: AD 03                    set bg1 hdma scroll type to 3
D0/492B: 0F                       [$0F]
D0/492C: F7 A0                    wait until scanline 160
D0/492E: AD 85                    set bg3 hdma scroll type to 5
D0/4930: 80 25                    clear bg1 hdma scroll data
D0/4932: 80 24                    clear bg3 hdma scroll data
D0/4934: FF                       end of script

; [ Animation Script $0127: Rage, Inviz Edge (bg3) ]

D0/4935: 00 20                    speed 1, align to center of character/monster
D0/4937: C4 40                    move bg3 thread to this thread's position
D0/4939: 89 07                    loop start (7 times)
D0/493B: 83 9F                    move back 32
D0/493D: 8A                       loop end
D0/493E: 89 E0                    loop start (224 times)
D0/4940: 98 03 03                 increment frame offset every 3 loops (0..3)
D0/4943: 83 61                    move forward 2
D0/4945: 00                       [$00]
D0/4946: 8A                       loop end
D0/4947: FF                       end of script

; [ Animation Script $0125: Sun Bath (extra) ]

D0/4948: 00 20                    speed 1, align to center of character/monster
D0/494A: C9 00                    play default sound effect
D0/494C: B0 C0                    set background color addition to 0 (yellow)
D0/494E: 89 0F                    loop start (15 times)
D0/4950: B5 C1                    increase background color addition by 1 (yellow)
D0/4952: 1F                       [---]
D0/4953: 8A                       loop end
D0/4954: 89 40                    loop start (64 times)
D0/4956: 1F                       [---]
D0/4957: 8A                       loop end
D0/4958: 89 0F                    loop start (15 times)
D0/495A: B5 D1                    decrease background color addition by 1 (yellow)
D0/495C: 1F                       [---]
D0/495D: 8A                       loop end
D0/495E: FF                       end of script

; [ Animation Script $0124: Sun Bath (sprite) ]

D0/495F: 20 20                    speed 3, align to center of character/monster
D0/4961: D1 01                    invalidate character/monster sprite priority
D0/4963: EB                       jump based on thread ($496C, $4973, $497A, $4981)
D0/496C: 83 83                    move back 4
D0/496E: 83 CB                    move up 12
D0/4970: FA 85 49                 jump to $4985
D0/4973: 83 23                    move down 4
D0/4975: 83 8B                    move back 12
D0/4977: FA 85 49                 jump to $4985
D0/497A: 83 63                    move forward 4
D0/497C: 83 2B                    move down 12
D0/497E: FA 85 49                 jump to $4985
D0/4981: 83 C3                    move up 4
D0/4983: 83 6B                    move forward 12
D0/4985: 8B 04                    animated loop start (4 times, increment frame offset each time)
D0/4987: 00                       [$00]
D0/4988: 8C                       animated loop end
D0/4989: 8B 04                    animated loop start (4 times, increment frame offset each time)
D0/498B: 00                       [$00]
D0/498C: 8C                       animated loop end
D0/498D: FF                       end of script

; [ Animation Script $0123:  ]

D0/498E: 00 20                    speed 1, align to center of character/monster
D0/4990: FF                       end of script

; [ Animation Script $0122: Moon Song (sprite) ]

D0/4991: 00 20                    speed 1, align to center of character/monster
D0/4993: 80 2D 9B 49 A2 49 A9 49  jump to $499B (normal attack), $49A2 (back attack), or $49A9 (pincer attack)
D0/499B: 80 2E D0 60              move to (208,96)
D0/499F: FA AD 49                 jump to $49AD
D0/49A2: 80 2E 30 60              move to (48,96)
D0/49A6: FA AD 49                 jump to $49AD
D0/49A9: 80 2E 80 60              move to (128,96)
D0/49AD: 90 00                    set animation tile priority to 0
D0/49AF: B1 FF                    set sprite animation palette color subtraction to 31 (black)
D0/49B1: AF C0                    set background color subtraction to 0 (blue)
D0/49B3: 89 1F                    loop start (31 times)
D0/49B5: 1F                       [---]
D0/49B6: 8A                       loop end
D0/49B7: 89 1F                    loop start (31 times)
D0/49B9: B6 C1                    increase background color subtraction by 1 (blue)
D0/49BB: 1F                       [---]
D0/49BC: 8A                       loop end
D0/49BD: 89 80                    loop start (128 times)
D0/49BF: 1F                       [---]
D0/49C0: 8A                       loop end
D0/49C1: F7 A0                    wait until scanline 160
D0/49C3: D4 02 02 10              add (sprites) to (bg2)
D0/49C7: 89 1F                    loop start (31 times)
D0/49C9: B8 F1                    decrease sprite animation palette color subtraction by 1 (black)
D0/49CB: 00                       [$00]
D0/49CC: 8A                       loop end
D0/49CD: 89 60                    loop start (96 times)
D0/49CF: 00                       [$00]
D0/49D0: 8A                       loop end
D0/49D1: 89 1F                    loop start (31 times)
D0/49D3: B8 E1                    increase sprite animation palette color subtraction by 1 (black)
D0/49D5: B6 D1                    decrease background color subtraction by 1 (blue)
D0/49D7: 00                       [$00]
D0/49D8: 8A                       loop end
D0/49D9: D4 02 00 00              add (no layers) to (no layers)
D0/49DD: FF                       end of script

; [ Animation Script $0121: Moon Song (bg1) ]

D0/49DE: 00 20                    speed 1, align to center of character/monster
D0/49E0: D1 01                    invalidate character/monster sprite priority
D0/49E2: BF 16 55                 jump to subroutine $5516
D0/49E5: C9 00                    play default sound effect
D0/49E7: 80 2D EF 49 F6 49 FD 49  jump to $49EF (normal attack), $49F6 (back attack), or $49FD (pincer attack)
D0/49EF: 80 2E D0 60              move to (208,96)
D0/49F3: FA 01 4A                 jump to $4A01
D0/49F6: 80 2E 30 60              move to (48,96)
D0/49FA: FA 01 4A                 jump to $4A01
D0/49FD: 80 2E 80 60              move to (128,96)
D0/4A01: D1 00                    validate character/monster sprite priority
D0/4A03: 0F                       [$0F]
D0/4A04: 80 43 00                 command $80/$43
D0/4A07: AD 00                    set bg1 hdma scroll type to 0
D0/4A09: 80 43 01                 command $80/$43
D0/4A0C: 0F                       [$0F]
D0/4A0D: 00                       [$00]
D0/4A0E: D1 01                    invalidate character/monster sprite priority
D0/4A10: 89 7E                    loop start (126 times)
D0/4A12: 80 43 01                 command $80/$43
D0/4A15: 00                       [$00]
D0/4A16: 8A                       loop end
D0/4A17: 89 5F                    loop start (95 times)
D0/4A19: 00                       [$00]
D0/4A1A: 8A                       loop end
D0/4A1B: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/4A1D: 89 1F                    loop start (31 times)
D0/4A1F: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/4A21: 00                       [$00]
D0/4A22: 8A                       loop end
D0/4A23: D1 00                    validate character/monster sprite priority
D0/4A25: 89 08                    loop start (8 times)
D0/4A27: 00                       [$00]
D0/4A28: 0F                       [$0F]
D0/4A29: 8A                       loop end
D0/4A2A: D1 01                    invalidate character/monster sprite priority
D0/4A2C: 89 40                    loop start (64 times)
D0/4A2E: 0F                       [$0F]
D0/4A2F: 8A                       loop end
D0/4A30: F7 A0                    wait until scanline 160
D0/4A32: 80 25                    clear bg1 hdma scroll data
D0/4A34: AD 03                    set bg1 hdma scroll type to 3
D0/4A36: BF 49 55                 jump to subroutine $5549
D0/4A39: FF                       end of script

; [ Animation Script $0120: Atom Edge, True Edge (sprite) ]

D0/4A3A: 00 20                    speed 1, align to center of character/monster
D0/4A3C: 89 2F                    loop start (47 times)
D0/4A3E: 1F                       [---]
D0/4A3F: 8A                       loop end
D0/4A40: 80 32 46 4A 4D 4A        jump to $4A46 (left) or $4A4D (right)
D0/4A46: 80 2E C0 2B              move to (192,43)
D0/4A4A: FA 51 4A                 jump to $4A51
D0/4A4D: 80 2E 40 2B              move to (64,43)
D0/4A51: BF CB 4C                 jump to subroutine $4CCB
D0/4A54: 89 10                    loop start (16 times)
D0/4A56: 00                       [$00]
D0/4A57: 8A                       loop end
D0/4A58: FF                       end of script

; [ Animation Script $011D: Sonic Dive (sprite) ]

D0/4A59: 00 20                    speed 1, align to center of character/monster
D0/4A5B: C7 02                    save attacking character position
D0/4A5D: C7 01                    reset attacking character position offsets
D0/4A5F: 89 08                    loop start (8 times)
D0/4A61: 1F                       [---]
D0/4A62: 8A                       loop end
D0/4A63: 1F                       [---]
D0/4A64: 80 3F                    command $80/$3F
D0/4A66: 80 2D 80 4A 80 4A 6E 4A  jump to $4A80 (normal attack), $4A80 (back attack), or $4A6E (pincer attack)
D0/4A6E: 80 32 74 4A 7A 4A        jump to $4A74 (left) or $4A7A (right)
D0/4A74: D2 78 4C                 set vector target to (120,76)
D0/4A77: FA 83 4A                 jump to $4A83
D0/4A7A: D2 88 4C                 set vector target to (136,76)
D0/4A7D: FA 83 4A                 jump to $4A83
D0/4A80: D2 80 4C                 set vector target to (128,76)
D0/4A83: 95                       calculate vector from attacker to target
D0/4A84: 1F                       [---]
D0/4A85: A0 05 03                 jump forward along vector at speed 5, branch to $4A84
D0/4A88: D0 20                    set tile priority to 2 for all character/monster sprites
D0/4A8A: 89 3F                    loop start (63 times)
D0/4A8C: 86 63                    move attacker forward 4
D0/4A8E: 86 C0                    move attacker up 1
D0/4A90: 1F                       [---]
D0/4A91: 8A                       loop end
D0/4A92: E1 00                    hide attacking character sprite
D0/4A94: C7 03                    restore attacking character position and reset offsets
D0/4A96: 80 4A                    disable stepping forward to attack for all characters
D0/4A98: FF                       end of script

; [ Animation Script $011E: Sonic Dive (bg1) ]

D0/4A99: 00 20                    speed 1, align to center of character/monster
D0/4A9B: 80 2E 80 5C              move to (128,92)
D0/4A9F: C9 00                    play default sound effect
D0/4AA1: 89 07                    loop start (7 times)
D0/4AA3: 83 9F                    move back 32
D0/4AA5: 8A                       loop end
D0/4AA6: 00                       [$00]
D0/4AA7: BD A0                    hide bg1 thread
D0/4AA9: 89 3F                    loop start (63 times)
D0/4AAB: 83 63                    move forward 4
D0/4AAD: 00                       [$00]
D0/4AAE: 8A                       loop end
D0/4AAF: 89 3F                    loop start (63 times)
D0/4AB1: 83 63                    move forward 4
D0/4AB3: 83 C0                    move up 1
D0/4AB5: 00                       [$00]
D0/4AB6: 8A                       loop end
D0/4AB7: FF                       end of script

; [ Animation Script $011A: Chaos Wing (bg1) ]

D0/4AB8: 00 20                    speed 1, align to center of character/monster
D0/4ABA: D1 01                    invalidate character/monster sprite priority
D0/4ABC: D0 20                    set tile priority to 2 for all character/monster sprites
D0/4ABE: C4 80                    move bg1 thread to this thread's position
D0/4AC0: BF 16 55                 jump to subroutine $5516
D0/4AC3: F7 A0                    wait until scanline 160
D0/4AC5: D4 02 01 12              add (sprites, bg2) to (bg1)
D0/4AC9: 80 8C 00                 play sound effect $00 (pan center)
D0/4ACC: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/4ACE: AF E0                    set background color subtraction to 0 (black)
D0/4AD0: 00                       [$00]
D0/4AD1: BD A0                    hide bg1 thread
D0/4AD3: 89 0F                    loop start (15 times)
D0/4AD5: B6 E1                    increase background color subtraction by 1 (black)
D0/4AD7: 00                       [$00]
D0/4AD8: 8A                       loop end
D0/4AD9: 89 1F                    loop start (31 times)
D0/4ADB: CF F1                    decrease bg1 animation palette color subtraction by 1 (black)
D0/4ADD: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/4AE0: 00                       [$00]
D0/4AE1: 8A                       loop end
D0/4AE2: 89 80                    loop start (128 times)
D0/4AE4: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/4AE7: 00                       [$00]
D0/4AE8: 8A                       loop end
D0/4AE9: F7 A0                    wait until scanline 160
D0/4AEB: D4 02 01 12              add (sprites, bg2) to (bg1)
D0/4AEF: 89 1F                    loop start (31 times)
D0/4AF1: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/4AF3: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/4AF6: 00                       [$00]
D0/4AF7: 8A                       loop end
D0/4AF8: 89 0F                    loop start (15 times)
D0/4AFA: B6 F1                    decrease background color subtraction by 1 (black)
D0/4AFC: 00                       [$00]
D0/4AFD: 8A                       loop end
D0/4AFE: BD 80                    show bg1 thread
D0/4B00: 0F                       [$0F]
D0/4B01: F7 A0                    wait until scanline 160
D0/4B03: D4 00 00 00              add fixed color to (no layers)
D0/4B07: BF 49 55                 jump to subroutine $5549
D0/4B0A: FF                       end of script

; [ Animation Script $011B: Chaos Wing (bg3) ]

D0/4B0B: 00 20                    speed 1, align to center of character/monster
D0/4B0D: C4 40                    move bg3 thread to this thread's position
D0/4B0F: 89 2F                    loop start (47 times)
D0/4B11: 09                       [$09]
D0/4B12: 8A                       loop end
D0/4B13: A5 80 4C 00 DE FF 80 00  init circle at (128,76)
D0/4B1B: A7                       update circle
D0/4B1C: 00                       [$00]
D0/4B1D: 89 1F                    loop start (31 times)
D0/4B1F: 98 02 08                 increment frame offset every 2 loops (0..8)
D0/4B22: F7 D8                    wait until scanline 216
D0/4B24: A6 00 00 00              move circle (+0,+0)
D0/4B28: A7                       update circle
D0/4B29: 00                       [$00]
D0/4B2A: 8A                       loop end
D0/4B2B: F7 A0                    wait until scanline 160
D0/4B2D: D4 02 05 12              add (sprites, bg2) to (bg3, bg1)
D0/4B31: 89 29                    loop start (41 times)
D0/4B33: 98 02 08                 increment frame offset every 2 loops (0..8)
D0/4B36: F7 D8                    wait until scanline 216
D0/4B38: A6 00 00 02              move circle (+0,+0) and grow by 2
D0/4B3C: A7                       update circle
D0/4B3D: 00                       [$00]
D0/4B3E: 8A                       loop end
D0/4B3F: 89 2B                    loop start (43 times)
D0/4B41: 98 02 08                 increment frame offset every 2 loops (0..8)
D0/4B44: F7 D8                    wait until scanline 216
D0/4B46: A6 00 00 00              move circle (+0,+0)
D0/4B4A: A7                       update circle
D0/4B4B: 00                       [$00]
D0/4B4C: 8A                       loop end
D0/4B4D: 89 2A                    loop start (42 times)
D0/4B4F: 98 02 08                 increment frame offset every 2 loops (0..8)
D0/4B52: F7 D8                    wait until scanline 216
D0/4B54: A6 00 00 FE              move circle (+0,+0) and shrink by 2
D0/4B58: A7                       update circle
D0/4B59: 00                       [$00]
D0/4B5A: 8A                       loop end
D0/4B5B: 80 3E 13                 enable (sprites, bg2, bg1) in main screen
D0/4B5E: 80 4E                    clear frame offset
D0/4B60: 89 1F                    loop start (31 times)
D0/4B62: F7 D8                    wait until scanline 216
D0/4B64: A7                       update circle
D0/4B65: 09                       [$09]
D0/4B66: 8A                       loop end
D0/4B67: FF                       end of script

; [ Animation Script $011C: Chaos Wing (sprite) ]

D0/4B68: 00 20                    speed 1, align to center of character/monster
D0/4B6A: 80 2E 88 54              move to (136,84)
D0/4B6E: 89 2F                    loop start (47 times)
D0/4B70: 1F                       [---]
D0/4B71: 8A                       loop end
D0/4B72: BF CB 4C                 jump to subroutine $4CCB
D0/4B75: 89 80                    loop start (128 times)
D0/4B77: 00                       [$00]
D0/4B78: 8A                       loop end
D0/4B79: BF C2 4C                 jump to subroutine $4CC2
D0/4B7C: FF                       end of script

; [ Animation Script $0117: Sun Flare (sprite) ]

D0/4B7D: 10 20                    speed 2, align to center of character/monster
D0/4B7F: 90 30                    set animation tile priority to 3
D0/4B81: 89 2E                    loop start (46 times)
D0/4B83: 1F                       [---]
D0/4B84: 8A                       loop end
D0/4B85: 80 32 8B 4B 92 4B        jump to $4B8B (left) or $4B92 (right)
D0/4B8B: 80 2E 30 40              move to (48,64)
D0/4B8F: FA 96 4B                 jump to $4B96
D0/4B92: 80 2E D0 40              move to (208,64)
D0/4B96: 89 04                    loop start (4 times)
D0/4B98: E9 7F 3F                 move animation randomly (0..127,0..63)
D0/4B9B: 00                       [$00]
D0/4B9C: 01                       [$01]
D0/4B9D: 02                       [$02]
D0/4B9E: 03                       [$03]
D0/4B9F: 83 07                    move down/forward 8
D0/4BA1: 04                       [$04]
D0/4BA2: 83 07                    move down/forward 8
D0/4BA4: 05                       [$05]
D0/4BA5: 83 07                    move down/forward 8
D0/4BA7: 06                       [$06]
D0/4BA8: 83 07                    move down/forward 8
D0/4BAA: 07                       [$07]
D0/4BAB: 83 FF                    move up/back 32
D0/4BAD: 8A                       loop end
D0/4BAE: FF                       end of script

; [ Animation Script $0118: Sun Flare (bg3) ]

D0/4BAF: 00 20                    speed 1, align to center of character/monster
D0/4BB1: C4 40                    move bg3 thread to this thread's position
D0/4BB3: EA 41                    set bg3 tile data quadrant to 1
D0/4BB5: 00                       [$00]
D0/4BB6: EA 42                    set bg3 tile data quadrant to 2
D0/4BB8: 00                       [$00]
D0/4BB9: EA 43                    set bg3 tile data quadrant to 3
D0/4BBB: 00                       [$00]
D0/4BBC: 00                       [$00]
D0/4BBD: 80 32 01 4C C3 4B        jump to $4C01 (left) or $4BC3 (right)
D0/4BC3: A5 33 4A 00 DE FF 80 00  init circle at (51,74)
D0/4BCB: BD 50                    hide bg3 thread
D0/4BCD: 89 43                    loop start (67 times)
D0/4BCF: 00                       [$00]
D0/4BD0: 8A                       loop end
D0/4BD1: F7 A0                    wait until scanline 160
D0/4BD3: D4 02 04 13              add (sprites, bg2, bg1) to (bg3)
D0/4BD7: 89 7F                    loop start (127 times)
D0/4BD9: A6 03 01 03              move circle (+3,+1) and grow by 3
D0/4BDD: 83 0B                    move down/forward 12
D0/4BDF: F7 D8                    wait until scanline 216
D0/4BE1: A7                       update circle
D0/4BE2: 00                       [$00]
D0/4BE3: 8A                       loop end
D0/4BE4: AA E0                    set bg3 animation palette color subtraction to 0 (black)
D0/4BE6: 89 1F                    loop start (31 times)
D0/4BE8: A6 01 01 00              move circle (+1,+1)
D0/4BEC: 83 0B                    move down/forward 12
D0/4BEE: B4 E1                    increase bg3 animation palette color subtraction by 1 (black)
D0/4BF0: F7 D8                    wait until scanline 216
D0/4BF2: A7                       update circle
D0/4BF3: 00                       [$00]
D0/4BF4: 8A                       loop end
D0/4BF5: BD 40                    show bg3 thread
D0/4BF7: EA 41                    set bg3 tile data quadrant to 1
D0/4BF9: 09                       [$09]
D0/4BFA: EA 42                    set bg3 tile data quadrant to 2
D0/4BFC: 09                       [$09]
D0/4BFD: EA 43                    set bg3 tile data quadrant to 3
D0/4BFF: 09                       [$09]
D0/4C00: FF                       end of script

D0/4C01: A5 CD 4A 00 DE FF 80 00  init circle at (205,74)
D0/4C09: BD 50                    hide bg3 thread
D0/4C0B: 89 43                    loop start (67 times)
D0/4C0D: 00                       [$00]
D0/4C0E: 8A                       loop end
D0/4C0F: F7 A0                    wait until scanline 160
D0/4C11: D4 02 04 13              add (sprites, bg2, bg1) to (bg3)
D0/4C15: 89 7F                    loop start (127 times)
D0/4C17: A6 FD 01 03              move circle (-3,+1) and grow by 3
D0/4C1B: 83 0B                    move down/forward 12
D0/4C1D: F7 D8                    wait until scanline 216
D0/4C1F: A7                       update circle
D0/4C20: 00                       [$00]
D0/4C21: 8A                       loop end
D0/4C22: AA E0                    set bg3 animation palette color subtraction to 0 (black)
D0/4C24: 89 1F                    loop start (31 times)
D0/4C26: A6 FF 01 00              move circle (-1,+1)
D0/4C2A: 83 0B                    move down/forward 12
D0/4C2C: B4 E1                    increase bg3 animation palette color subtraction by 1 (black)
D0/4C2E: F7 D8                    wait until scanline 216
D0/4C30: A7                       update circle
D0/4C31: 00                       [$00]
D0/4C32: 8A                       loop end
D0/4C33: BD 40                    show bg3 thread
D0/4C35: EA 41                    set bg3 tile data quadrant to 1
D0/4C37: 09                       [$09]
D0/4C38: EA 42                    set bg3 tile data quadrant to 2
D0/4C3A: 09                       [$09]
D0/4C3B: EA 43                    set bg3 tile data quadrant to 3
D0/4C3D: 09                       [$09]
D0/4C3E: FF                       end of script

; [ Animation Script $0119: Sun Flare (bg1) ]

D0/4C3F: 00 20                    speed 1, align to center of character/monster
D0/4C41: D1 01                    invalidate character/monster sprite priority
D0/4C43: BF 16 55                 jump to subroutine $5516
D0/4C46: C9 00                    play default sound effect
D0/4C48: 80 32 4E 4C 55 4C        jump to $4C4E (left) or $4C55 (right)
D0/4C4E: 80 2E C0 40              move to (192,64)
D0/4C52: FA 59 4C                 jump to $4C59
D0/4C55: 80 2E 40 40              move to (64,64)
D0/4C59: 89 07                    loop start (7 times)
D0/4C5B: 83 1F                    move down/forward 32
D0/4C5D: 8A                       loop end
D0/4C5E: CD FF                    set bg1 animation palette color addition to 31 (white)
D0/4C60: AF C0                    set background color subtraction to 0 (blue)
D0/4C62: 00                       [$00]
D0/4C63: BD A0                    hide bg1 thread
D0/4C65: 89 1F                    loop start (31 times)
D0/4C67: 83 E7                    move up/back 8
D0/4C69: CE F1                    decrease bg1 animation palette color addition by 1 (white)
D0/4C6B: B6 C1                    increase background color subtraction by 1 (blue)
D0/4C6D: 00                       [$00]
D0/4C6E: 8A                       loop end
D0/4C6F: 89 80                    loop start (128 times)
D0/4C71: 00                       [$00]
D0/4C72: 8A                       loop end
D0/4C73: 89 0F                    loop start (15 times)
D0/4C75: CE E1                    increase bg1 animation palette color addition by 1 (white)
D0/4C77: B6 D1                    decrease background color subtraction by 1 (blue)
D0/4C79: 00                       [$00]
D0/4C7A: CE E1                    increase bg1 animation palette color addition by 1 (white)
D0/4C7C: B6 D1                    decrease background color subtraction by 1 (blue)
D0/4C7E: 1F                       [---]
D0/4C7F: 8A                       loop end
D0/4C80: BD 80                    show bg1 thread
D0/4C82: BF 49 55                 jump to subroutine $5549
D0/4C85: FF                       end of script

; [ Animation Script $0115: Group Hug (bg1) ]

D0/4C86: 00 20                    speed 1, align to center of character/monster
D0/4C88: C4 80                    move bg1 thread to this thread's position
D0/4C8A: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/4C8C: 00                       [$00]
D0/4C8D: C9 00                    play default sound effect
D0/4C8F: BD A0                    hide bg1 thread
D0/4C91: 89 1F                    loop start (31 times)
D0/4C93: CF F1                    decrease bg1 animation palette color subtraction by 1 (black)
D0/4C95: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/4C98: 00                       [$00]
D0/4C99: 8A                       loop end
D0/4C9A: 89 5F                    loop start (95 times)
D0/4C9C: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/4C9F: 00                       [$00]
D0/4CA0: 8A                       loop end
D0/4CA1: 89 1F                    loop start (31 times)
D0/4CA3: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/4CA5: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/4CA8: 00                       [$00]
D0/4CA9: 8A                       loop end
D0/4CAA: FF                       end of script

; [ Animation Script $0116: Group Hug (sprite) ]

D0/4CAB: 00 20                    speed 1, align to center of character/monster
D0/4CAD: D1 01                    invalidate character/monster sprite priority
D0/4CAF: 80 2E 80 60              move to (128,96)
D0/4CB3: 90 30                    set animation tile priority to 3
D0/4CB5: D0 20                    set tile priority to 2 for all character/monster sprites
D0/4CB7: BF CB 4C                 jump to subroutine $4CCB
D0/4CBA: 89 5F                    loop start (95 times)
D0/4CBC: 00                       [$00]
D0/4CBD: 8A                       loop end
D0/4CBE: BF C2 4C                 jump to subroutine $4CC2
D0/4CC1: FF                       end of script

D0/4CC2: 89 0F                    loop start (15 times)
D0/4CC4: B7 E1                    increase sprite animation palette color addition by 1 (white)
D0/4CC6: 00                       [$00]
D0/4CC7: B7 E1                    increase sprite animation palette color addition by 1 (white)
D0/4CC9: 1F                       [---]
D0/4CCA: C0                       return from subroutine

D0/4CCB: B2 FF                    set sprite animation palette color addition to 31 (white)
D0/4CCD: 89 1F                    loop start (31 times)
D0/4CCF: B7 F1                    decrease sprite animation palette color addition by 1 (white)
D0/4CD1: 00                       [$00]
D0/4CD2: 8A                       loop end
D0/4CD3: C0                       return from subroutine

; [ Animation Script $0112: Reviver (sprite) ]

D0/4CD4: 00 20                    speed 1, align to center of character/monster
D0/4CD6: 89 C0                    loop start (192 times)
D0/4CD8: 1F                       [---]
D0/4CD9: 8A                       loop end
D0/4CDA: FA 39 3F                 jump to $3F39
; [ Animation Script $0113: Reviver (bg3) ]

D0/4CDD: 00 20                    speed 1, align to center of character/monster
D0/4CDF: C4 40                    move bg3 thread to this thread's position
D0/4CE1: AA FF                    set bg3 animation palette color subtraction to 31 (black)
D0/4CE3: 00                       [$00]
D0/4CE4: BD 50                    hide bg3 thread
D0/4CE6: 80 8C 27                 play sound effect $27 (pan center)
D0/4CE9: 89 1F                    loop start (31 times)
D0/4CEB: B4 F1                    decrease bg3 animation palette color subtraction by 1 (black)
D0/4CED: 00                       [$00]
D0/4CEE: 8A                       loop end
D0/4CEF: 89 A0                    loop start (160 times)
D0/4CF1: 00                       [$00]
D0/4CF2: 8A                       loop end
D0/4CF3: 89 1F                    loop start (31 times)
D0/4CF5: B4 E1                    increase bg3 animation palette color subtraction by 1 (black)
D0/4CF7: 00                       [$00]
D0/4CF8: 8A                       loop end
D0/4CF9: FF                       end of script

; [ Animation Script $0114: Reviver (bg1) ]

D0/4CFA: 00 20                    speed 1, align to center of character/monster
D0/4CFC: D1 01                    invalidate character/monster sprite priority
D0/4CFE: 80 2E 80 60              move to (128,96)
D0/4D02: D0 20                    set tile priority to 2 for all character/monster sprites
D0/4D04: 89 05                    loop start (5 times)
D0/4D06: 83 5F                    move down/back 32
D0/4D08: 8A                       loop end
D0/4D09: 89 1F                    loop start (31 times)
D0/4D0B: 0F                       [$0F]
D0/4D0C: 8A                       loop end
D0/4D0D: 89 A0                    loop start (160 times)
D0/4D0F: 83 A1                    move up/forward 2
D0/4D11: 00                       [$00]
D0/4D12: 8A                       loop end
D0/4D13: FF                       end of script

; [ Animation Script $010F: Rebirth (bg3) ]

D0/4D14: 00 20                    speed 1, align to center of character/monster
D0/4D16: 80 2D 1E 4D 25 4D 2C 4D  jump to $4D1E (normal attack), $4D25 (back attack), or $4D2C (pincer attack)
D0/4D1E: 80 2E D0 60              move to (208,96)
D0/4D22: FA 30 4D                 jump to $4D30
D0/4D25: 80 2E 30 60              move to (48,96)
D0/4D29: FA 30 4D                 jump to $4D30
D0/4D2C: 80 2E 80 60              move to (128,96)
D0/4D30: 8B 03                    animated loop start (3 times, increment frame offset each time)
D0/4D32: 00                       [$00]
D0/4D33: 00                       [$00]
D0/4D34: 00                       [$00]
D0/4D35: 00                       [$00]
D0/4D36: 8C                       animated loop end
D0/4D37: 09                       [$09]
D0/4D38: FF                       end of script

; [ Animation Script $0110: Rebirth (bg1) ]

D0/4D39: 00 20                    speed 1, align to center of character/monster
D0/4D3B: C4 80                    move bg1 thread to this thread's position
D0/4D3D: C9 00                    play default sound effect
D0/4D3F: BD A0                    hide bg1 thread
D0/4D41: 89 0F                    loop start (15 times)
D0/4D43: 0F                       [$0F]
D0/4D44: 8A                       loop end
D0/4D45: BD 80                    show bg1 thread
D0/4D47: F7 A0                    wait until scanline 160
D0/4D49: D4 02 01 12              add (sprites, bg2) to (bg1)
D0/4D4D: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/4D4F: 00                       [$00]
D0/4D50: BD A0                    hide bg1 thread
D0/4D52: 89 1F                    loop start (31 times)
D0/4D54: CF F1                    decrease bg1 animation palette color subtraction by 1 (black)
D0/4D56: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/4D59: 00                       [$00]
D0/4D5A: 8A                       loop end
D0/4D5B: 89 80                    loop start (128 times)
D0/4D5D: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/4D60: 00                       [$00]
D0/4D61: 8A                       loop end
D0/4D62: 89 1F                    loop start (31 times)
D0/4D64: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/4D66: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/4D69: 00                       [$00]
D0/4D6A: 8A                       loop end
D0/4D6B: FF                       end of script

; [ Animation Script $0111: Rebirth (sprite) ]

D0/4D6C: 00 20                    speed 1, align to center of character/monster
D0/4D6E: D1 01                    invalidate character/monster sprite priority
D0/4D70: 80 2E 80 60              move to (128,96)
D0/4D74: 90 30                    set animation tile priority to 3
D0/4D76: D0 20                    set tile priority to 2 for all character/monster sprites
D0/4D78: 80 2D 80 4D 87 4D 8E 4D  jump to $4D80 (normal attack), $4D87 (back attack), or $4D8E (pincer attack)
D0/4D80: 80 2E D0 60              move to (208,96)
D0/4D84: FA 92 4D                 jump to $4D92
D0/4D87: 80 2E 30 60              move to (48,96)
D0/4D8B: FA 92 4D                 jump to $4D92
D0/4D8E: 80 2E 80 60              move to (128,96)
D0/4D92: 89 0D                    loop start (13 times)
D0/4D94: 1F                       [---]
D0/4D95: 8A                       loop end
D0/4D96: BF CB 4C                 jump to subroutine $4CCB
D0/4D99: 89 40                    loop start (64 times)
D0/4D9B: 00                       [$00]
D0/4D9C: 8A                       loop end
D0/4D9D: 89 1F                    loop start (31 times)
D0/4D9F: B7 C1                    increase sprite animation palette color addition by 1 (yellow)
D0/4DA1: 00                       [$00]
D0/4DA2: 8A                       loop end
D0/4DA3: 89 0F                    loop start (15 times)
D0/4DA5: 00                       [$00]
D0/4DA6: 1F                       [---]
D0/4DA7: 8A                       loop end
D0/4DA8: FF                       end of script

; [ Animation Script $010C: Heal Horn (bg1) ]

D0/4DA9: 00 20                    speed 1, align to center of character/monster
D0/4DAB: 80 2E 80 4C              move to (128,76)
D0/4DAF: AF C0                    set background color subtraction to 0 (blue)
D0/4DB1: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/4DB3: 80 8C 00                 play sound effect $00 (pan center)
D0/4DB6: A5 80 4C 00 DE FF 80 00  init circle at (128,76)
D0/4DBE: 00                       [$00]
D0/4DBF: BD A0                    hide bg1 thread
D0/4DC1: 89 26                    loop start (38 times)
D0/4DC3: A3 16 32                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/4DC6: A6 00 00 02              move circle (+0,+0) and grow by 2
D0/4DCA: B6 C1                    increase background color subtraction by 1 (blue)
D0/4DCC: F7 D8                    wait until scanline 216
D0/4DCE: A7                       update circle
D0/4DCF: 00                       [$00]
D0/4DD0: 8A                       loop end
D0/4DD1: F7 A0                    wait until scanline 160
D0/4DD3: D4 02 01 16              add (sprites, bg3, bg2) to (bg1)
D0/4DD7: 89 1F                    loop start (31 times)
D0/4DD9: A3 16 32                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/4DDC: F7 D8                    wait until scanline 216
D0/4DDE: B6 D1                    decrease background color subtraction by 1 (blue)
D0/4DE0: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/4DE2: 00                       [$00]
D0/4DE3: 8A                       loop end
D0/4DE4: FF                       end of script

; [ Animation Script $010D: Heal Horn (bg3) ]

D0/4DE5: 30 20                    speed 4, align to center of character/monster
D0/4DE7: 80 2E 80 4C              move to (128,76)
D0/4DEB: 8B 08                    animated loop start (8 times, increment frame offset each time)
D0/4DED: 00                       [$00]
D0/4DEE: 8C                       animated loop end
D0/4DEF: 8B 08                    animated loop start (8 times, increment frame offset each time)
D0/4DF1: 00                       [$00]
D0/4DF2: 8C                       animated loop end
D0/4DF3: 8B 08                    animated loop start (8 times, increment frame offset each time)
D0/4DF5: 00                       [$00]
D0/4DF6: 8C                       animated loop end
D0/4DF7: FF                       end of script

; [ Animation Script $010E: Heal Horn (sprite) ]

D0/4DF8: 00 A0                    speed 1, align to center of screen
D0/4DFA: D1 01                    invalidate character/monster sprite priority
D0/4DFC: 80 2E 80 60              move to (128,96)
D0/4E00: 90 30                    set animation tile priority to 3
D0/4E02: D0 20                    set tile priority to 2 for all character/monster sprites
D0/4E04: BF CB 4C                 jump to subroutine $4CCB
D0/4E07: 89 20                    loop start (32 times)
D0/4E09: 00                       [$00]
D0/4E0A: 8A                       loop end
D0/4E0B: 89 0F                    loop start (15 times)
D0/4E0D: B7 E1                    increase sprite animation palette color addition by 1 (white)
D0/4E0F: 00                       [$00]
D0/4E10: B7 E1                    increase sprite animation palette color addition by 1 (white)
D0/4E12: 1F                       [---]
D0/4E13: 8A                       loop end
D0/4E14: FF                       end of script

; [ Animation Script $010A: Life Guard (bg1) ]

D0/4E15: 00 A0                    speed 1, align to center of screen
D0/4E17: C4 80                    move bg1 thread to this thread's position
D0/4E19: 80 8C 00                 play sound effect $00 (pan center)
D0/4E1C: A5 80 4C 00 DE FF 80 00  init circle at (128,76)
D0/4E24: AC 82 44                 set (bg1) hdma scroll data (amplitude 4, frequency 2, horizontal)
D0/4E27: B0 E0                    set background color addition to 0 (white)
D0/4E29: CD E0                    set bg1 animation palette color addition to 0 (white)
D0/4E2B: BA E0                    set monster color addition to 0 (white)
D0/4E2D: FC E0                    set character color addition to 0 (white)
D0/4E2F: D0 20                    set tile priority to 2 for all character/monster sprites
D0/4E31: F7 A0                    wait until scanline 160
D0/4E33: AD 06                    set bg1 hdma scroll type to 6
D0/4E35: 00                       [$00]
D0/4E36: BD A0                    hide bg1 thread
D0/4E38: 89 1F                    loop start (31 times)
D0/4E3A: A6 00 00 01              move circle (+0,+0) and grow by 1
D0/4E3E: A7                       update circle
D0/4E3F: AE 44                    update (bg1) hdma scroll data (horizontal)
D0/4E41: 00                       [$00]
D0/4E42: 8A                       loop end
D0/4E43: 80 26 01                 disable character palette updates
D0/4E46: 89 1F                    loop start (31 times)
D0/4E48: CE E1                    increase bg1 animation palette color addition by 1 (white)
D0/4E4A: B5 E1                    increase background color addition by 1 (white)
D0/4E4C: BB E1                    increase monster color addition by 1 (white)
D0/4E4E: FD E1                    increase character color addition by 1 (white)
D0/4E50: A6 00 00 01              move circle (+0,+0) and grow by 1
D0/4E54: A7                       update circle
D0/4E55: AE 44                    update (bg1) hdma scroll data (horizontal)
D0/4E57: 00                       [$00]
D0/4E58: 8A                       loop end
D0/4E59: BD 80                    show bg1 thread
D0/4E5B: 0F                       [$0F]
D0/4E5C: BD A0                    hide bg1 thread
D0/4E5E: 89 1F                    loop start (31 times)
D0/4E60: 0F                       [$0F]
D0/4E61: 8A                       loop end
D0/4E62: 89 1F                    loop start (31 times)
D0/4E64: B5 F1                    decrease background color addition by 1 (white)
D0/4E66: BB F1                    decrease monster color addition by 1 (white)
D0/4E68: FD F1                    decrease character color addition by 1 (white)
D0/4E6A: 0F                       [$0F]
D0/4E6B: 8A                       loop end
D0/4E6C: 80 26 00                 enable character palette updates
D0/4E6F: F7 A0                    wait until scanline 160
D0/4E71: AD 03                    set bg1 hdma scroll type to 3
D0/4E73: 80 25                    clear bg1 hdma scroll data
D0/4E75: FF                       end of script

; [ Animation Script $010B: Life Guard (sprite) ]

D0/4E76: 00 A0                    speed 1, align to center of screen
D0/4E78: D1 01                    invalidate character/monster sprite priority
D0/4E7A: 80 2E 80 60              move to (128,96)
D0/4E7E: 90 30                    set animation tile priority to 3
D0/4E80: C9 00                    play default sound effect
D0/4E82: BF CB 4C                 jump to subroutine $4CCB
D0/4E85: 89 10                    loop start (16 times)
D0/4E87: 00                       [$00]
D0/4E88: 8A                       loop end
D0/4E89: 89 1F                    loop start (31 times)
D0/4E8B: B7 E1                    increase sprite animation palette color addition by 1 (white)
D0/4E8D: 00                       [$00]
D0/4E8E: 8A                       loop end
D0/4E8F: FF                       end of script

; [ Animation Script $0108: Ruby Power (bg1) ]

D0/4E90: 20 20                    speed 3, align to center of character/monster
D0/4E92: 89 18                    loop start (24 times)
D0/4E94: 0F                       [$0F]
D0/4E95: 8A                       loop end
D0/4E96: 80 2D 9E 4E A5 4E AC 4E  jump to $4E9E (normal attack), $4EA5 (back attack), or $4EAC (pincer attack)
D0/4E9E: 80 2E D0 60              move to (208,96)
D0/4EA2: FA B0 4E                 jump to $4EB0
D0/4EA5: 80 2E 30 60              move to (48,96)
D0/4EA9: FA B0 4E                 jump to $4EB0
D0/4EAC: 80 2E 80 60              move to (128,96)
D0/4EB0: 83 C8                    move up 9
D0/4EB2: 83 62                    move forward 3
D0/4EB4: 89 03                    loop start (3 times)
D0/4EB6: 00                       [$00]
D0/4EB7: 01                       [$01]
D0/4EB8: 02                       [$02]
D0/4EB9: 03                       [$03]
D0/4EBA: 8A                       loop end
D0/4EBB: 00                       [$00]
D0/4EBC: 01                       [$01]
D0/4EBD: 04                       [$04]
D0/4EBE: 05                       [$05]
D0/4EBF: FF                       end of script

; [ Animation Script $0109: Ruby Power (sprite) ]

D0/4EC0: 00 A0                    speed 1, align to center of screen
D0/4EC2: D1 01                    invalidate character/monster sprite priority
D0/4EC4: D0 20                    set tile priority to 2 for all character/monster sprites
D0/4EC6: 90 20                    set animation tile priority to 2
D0/4EC8: C9 00                    play default sound effect
D0/4ECA: 80 2D D2 4E D9 4E E0 4E  jump to $4ED2 (normal attack), $4ED9 (back attack), or $4EE0 (pincer attack)
D0/4ED2: 80 2E D0 60              move to (208,96)
D0/4ED6: FA E4 4E                 jump to $4EE4
D0/4ED9: 80 2E 30 60              move to (48,96)
D0/4EDD: FA E4 4E                 jump to $4EE4
D0/4EE0: 80 2E 80 60              move to (128,96)
D0/4EE4: F7 A0                    wait until scanline 160
D0/4EE6: D4 00 02 00              add fixed color to (bg2)
D0/4EEA: B2 FF                    set sprite animation palette color addition to 31 (white)
D0/4EEC: 80 3A 0F                 set gradient line intensity to 15
D0/4EEF: 89 0E                    loop start (14 times)
D0/4EF1: 80 39 FF                 update blue gradient lines, increase intensity by 1
D0/4EF4: B7 F1                    decrease sprite animation palette color addition by 1 (white)
D0/4EF6: 00                       [$00]
D0/4EF7: 8A                       loop end
D0/4EF8: 89 10                    loop start (16 times)
D0/4EFA: B7 F1                    decrease sprite animation palette color addition by 1 (white)
D0/4EFC: 80 39 00                 update blue gradient lines
D0/4EFF: 00                       [$00]
D0/4F00: 8A                       loop end
D0/4F01: 89 50                    loop start (80 times)
D0/4F03: 80 39 00                 update blue gradient lines
D0/4F06: 00                       [$00]
D0/4F07: 8A                       loop end
D0/4F08: 89 0E                    loop start (14 times)
D0/4F0A: 80 39 01                 update blue gradient lines, decrease intensity by 1
D0/4F0D: B7 E2                    increase sprite animation palette color addition by 2 (white)
D0/4F0F: 00                       [$00]
D0/4F10: 8A                       loop end
D0/4F11: 89 08                    loop start (8 times)
D0/4F13: B7 E2                    increase sprite animation palette color addition by 2 (white)
D0/4F15: 00                       [$00]
D0/4F16: 1F                       [---]
D0/4F17: 8A                       loop end
D0/4F18: 80 37                    clear fixed color value hdma data
D0/4F1A: FF                       end of script

; [ Animation Script $0104: Justice (sprite) ]

D0/4F1B: 00 A0                    speed 1, align to center of screen
D0/4F1D: 89 CE                    loop start (206 times)
D0/4F1F: 1F                       [---]
D0/4F20: 8A                       loop end
D0/4F21: 89 20                    loop start (32 times)
D0/4F23: 80 3B                    change target's color palette to animation palette
D0/4F25: 1F                       [---]
D0/4F26: 80 3C                    restore target's color palette
D0/4F28: 1F                       [---]
D0/4F29: 8A                       loop end
D0/4F2A: FF                       end of script

; [ Animation Script $0105: Justice (bg3) ]

D0/4F2B: 30 A0                    speed 4, align to center of screen
D0/4F2D: C4 40                    move bg3 thread to this thread's position
D0/4F2F: 83 3F                    move down 32
D0/4F31: 83 3F                    move down 32
D0/4F33: 89 0F                    loop start (15 times)
D0/4F35: 83 C1                    move up 2
D0/4F37: 00                       [$00]
D0/4F38: 8A                       loop end
D0/4F39: 89 0F                    loop start (15 times)
D0/4F3B: 83 21                    move down 2
D0/4F3D: 00                       [$00]
D0/4F3E: 8A                       loop end
D0/4F3F: 89 10                    loop start (16 times)
D0/4F41: 09                       [$09]
D0/4F42: 8A                       loop end
D0/4F43: 80 2C 76                 load animation palette $76 (bg3)
D0/4F46: F7 A0                    wait until scanline 160
D0/4F48: D4 02 04 13              add (sprites, bg2, bg1) to (bg3)
D0/4F4C: 80 38                    enable high priority bg3
D0/4F4E: C4 40                    move bg3 thread to this thread's position
D0/4F50: C9 12                    play sound effect $12
D0/4F52: 03                       [$03]
D0/4F53: 04                       [$04]
D0/4F54: 89 04                    loop start (4 times)
D0/4F56: 05                       [$05]
D0/4F57: 8A                       loop end
D0/4F58: 83 87                    move back 8
D0/4F5A: 89 08                    loop start (8 times)
D0/4F5C: 06                       [$06]
D0/4F5D: 07                       [$07]
D0/4F5E: 08                       [$08]
D0/4F5F: 8A                       loop end
D0/4F60: AA E0                    set bg3 animation palette color subtraction to 0 (black)
D0/4F62: 84 01                    set animation speed to 2
D0/4F64: 89 04                    loop start (4 times)
D0/4F66: 06                       [$06]
D0/4F67: 06                       [$06]
D0/4F68: B4 E1                    increase bg3 animation palette color subtraction by 1 (black)
D0/4F6A: 06                       [$06]
D0/4F6B: 06                       [$06]
D0/4F6C: B4 E1                    increase bg3 animation palette color subtraction by 1 (black)
D0/4F6E: 06                       [$06]
D0/4F6F: 06                       [$06]
D0/4F70: B4 E1                    increase bg3 animation palette color subtraction by 1 (black)
D0/4F72: 07                       [$07]
D0/4F73: 07                       [$07]
D0/4F74: B4 E1                    increase bg3 animation palette color subtraction by 1 (black)
D0/4F76: 07                       [$07]
D0/4F77: 07                       [$07]
D0/4F78: B4 E1                    increase bg3 animation palette color subtraction by 1 (black)
D0/4F7A: 07                       [$07]
D0/4F7B: 07                       [$07]
D0/4F7C: B4 E1                    increase bg3 animation palette color subtraction by 1 (black)
D0/4F7E: 08                       [$08]
D0/4F7F: 08                       [$08]
D0/4F80: B4 E1                    increase bg3 animation palette color subtraction by 1 (black)
D0/4F82: 08                       [$08]
D0/4F83: 08                       [$08]
D0/4F84: B4 E1                    increase bg3 animation palette color subtraction by 1 (black)
D0/4F86: 08                       [$08]
D0/4F87: 08                       [$08]
D0/4F88: B4 E1                    increase bg3 animation palette color subtraction by 1 (black)
D0/4F8A: 8A                       loop end
D0/4F8B: FF                       end of script

; [ Animation Script $0106: Justice (bg1) ]

D0/4F8C: 00 A0                    speed 1, align to center of screen
D0/4F8E: D1 01                    invalidate character/monster sprite priority
D0/4F90: C4 80                    move bg1 thread to this thread's position
D0/4F92: 89 04                    loop start (4 times)
D0/4F94: 83 9F                    move back 32
D0/4F96: 8A                       loop end
D0/4F97: C9 00                    play default sound effect
D0/4F99: 83 3F                    move down 32
D0/4F9B: 83 3F                    move down 32
D0/4F9D: 83 3F                    move down 32
D0/4F9F: 83 3F                    move down 32
D0/4FA1: 83 3F                    move down 32
D0/4FA3: 00                       [$00]
D0/4FA4: BD A0                    hide bg1 thread
D0/4FA6: 89 27                    loop start (39 times)
D0/4FA8: 83 C1                    move up 2
D0/4FAA: 83 60                    move forward 1
D0/4FAC: 00                       [$00]
D0/4FAD: 83 C1                    move up 2
D0/4FAF: 83 80                    move back 1
D0/4FB1: 00                       [$00]
D0/4FB2: 8A                       loop end
D0/4FB3: 89 67                    loop start (103 times)
D0/4FB5: 00                       [$00]
D0/4FB6: 8A                       loop end
D0/4FB7: 89 40                    loop start (64 times)
D0/4FB9: 00                       [$00]
D0/4FBA: 8A                       loop end
D0/4FBB: 89 1F                    loop start (31 times)
D0/4FBD: 00                       [$00]
D0/4FBE: 8A                       loop end
D0/4FBF: FF                       end of script

; [ Animation Script $0107: Justice (extra) ]

D0/4FC0: 00 A0                    speed 1, align to center of screen
D0/4FC2: CD FF                    set bg1 animation palette color addition to 31 (white)
D0/4FC4: B2 FF                    set sprite animation palette color addition to 31 (white)
D0/4FC6: EB                       jump based on thread ($4FCD, $4FDC, $5001)
D0/4FCD: 83 21                    move down 2
D0/4FCF: 83 41                    move down/back 2
D0/4FD1: 89 7E                    loop start (126 times)
D0/4FD3: 1F                       [---]
D0/4FD4: 8A                       loop end
D0/4FD5: 84 01                    set animation speed to 2
D0/4FD7: 8B 09                    animated loop start (9 times, increment frame offset each time)
D0/4FD9: 01                       [$01]
D0/4FDA: 8C                       animated loop end
D0/4FDB: FF                       end of script

D0/4FDC: 89 04                    loop start (4 times)
D0/4FDE: 83 3F                    move down 32
D0/4FE0: 8A                       loop end
D0/4FE1: 83 2F                    move down 16
D0/4FE3: 83 80                    move back 1
D0/4FE5: 90 00                    set animation tile priority to 0
D0/4FE7: 89 27                    loop start (39 times)
D0/4FE9: 83 C1                    move up 2
D0/4FEB: 83 60                    move forward 1
D0/4FED: 0B                       [$0B]
D0/4FEE: 83 C1                    move up 2
D0/4FF0: 83 80                    move back 1
D0/4FF2: 0B                       [$0B]
D0/4FF3: 8A                       loop end
D0/4FF4: 89 26                    loop start (38 times)
D0/4FF6: 0B                       [$0B]
D0/4FF7: 8A                       loop end
D0/4FF8: 89 80                    loop start (128 times)
D0/4FFA: 0B                       [$0B]
D0/4FFB: 8A                       loop end
D0/4FFC: 89 1F                    loop start (31 times)
D0/4FFE: 0B                       [$0B]
D0/4FFF: 8A                       loop end
D0/5000: FF                       end of script

D0/5001: 89 04                    loop start (4 times)
D0/5003: 83 3F                    move down 32
D0/5005: 8A                       loop end
D0/5006: 83 2F                    move down 16
D0/5008: 83 80                    move back 1
D0/500A: 83 E7                    move up/back 8
D0/500C: 89 13                    loop start (19 times)
D0/500E: 83 C1                    move up 2
D0/5010: 83 60                    move forward 1
D0/5012: 1F                       [---]
D0/5013: 83 C1                    move up 2
D0/5015: 83 80                    move back 1
D0/5017: 1F                       [---]
D0/5018: 8A                       loop end
D0/5019: 89 13                    loop start (19 times)
D0/501B: 83 C1                    move up 2
D0/501D: 83 60                    move forward 1
D0/501F: CE F1                    decrease bg1 animation palette color addition by 1 (white)
D0/5021: B7 F1                    decrease sprite animation palette color addition by 1 (white)
D0/5023: 00                       [$00]
D0/5024: 83 C1                    move up 2
D0/5026: 83 80                    move back 1
D0/5028: CE F1                    decrease bg1 animation palette color addition by 1 (white)
D0/502A: B7 F1                    decrease sprite animation palette color addition by 1 (white)
D0/502C: 00                       [$00]
D0/502D: 8A                       loop end
D0/502E: 89 1F                    loop start (31 times)
D0/5030: 00                       [$00]
D0/5031: 8A                       loop end
D0/5032: 89 05                    loop start (5 times)
D0/5034: 83 20                    move down 1
D0/5036: 00                       [$00]
D0/5037: 8A                       loop end
D0/5038: 89 80                    loop start (128 times)
D0/503A: 00                       [$00]
D0/503B: 8A                       loop end
D0/503C: 89 1F                    loop start (31 times)
D0/503E: CE E1                    increase bg1 animation palette color addition by 1 (white)
D0/5040: B7 E1                    increase sprite animation palette color addition by 1 (white)
D0/5042: 00                       [$00]
D0/5043: 8A                       loop end
D0/5044: FF                       end of script

; [ Animation Script $0102: Hope Song (bg3) ]

D0/5045: 00 A0                    speed 1, align to center of screen
D0/5047: C4 40                    move bg3 thread to this thread's position
D0/5049: AA FF                    set bg3 animation palette color subtraction to 31 (black)
D0/504B: AF A0                    set background color subtraction to 0 (green)
D0/504D: F7 A0                    wait until scanline 160
D0/504F: AD 87                    set bg3 hdma scroll type to 7
D0/5051: BD 50                    hide bg3 thread
D0/5053: 89 20                    loop start (32 times)
D0/5055: 09                       [$09]
D0/5056: 8A                       loop end
D0/5057: BD 40                    show bg3 thread
D0/5059: F7 A0                    wait until scanline 160
D0/505B: D4 02 04 13              add (sprites, bg2, bg1) to (bg3)
D0/505F: EA 41                    set bg3 tile data quadrant to 1
D0/5061: 00                       [$00]
D0/5062: 00                       [$00]
D0/5063: BD 50                    hide bg3 thread
D0/5065: AC 44 44                 set (bg2) hdma scroll data (amplitude 4, frequency 4, horizontal)
D0/5068: AC 42 82                 set (bg2) hdma scroll data (amplitude 2, frequency 2, vertical)
D0/506B: AC 21 44                 set (bg3) hdma scroll data (amplitude 4, frequency 1, horizontal)
D0/506E: AC 22 82                 set (bg3) hdma scroll data (amplitude 2, frequency 2, vertical)
D0/5071: 89 0F                    loop start (15 times)
D0/5073: B4 F2                    decrease bg3 animation palette color subtraction by 2 (black)
D0/5075: AE C3                    update (bg3, bg2) hdma scroll data (horizontal and vertical)
D0/5077: 83 60                    move forward 1
D0/5079: F7 D8                    wait until scanline 216
D0/507B: B6 A2                    increase background color subtraction by 2 (green)
D0/507D: 00                       [$00]
D0/507E: 8A                       loop end
D0/507F: 80 34                    copy monster palettes to character palette data
D0/5081: F7 D0                    wait until scanline 208
D0/5083: 00                       [$00]
D0/5084: 80 35                    use character palettes for monster sprite data
D0/5086: F7 A0                    wait until scanline 160
D0/5088: D4 00 14 00              add fixed color to (sprites, bg3)
D0/508C: BF 1A 51                 jump to subroutine $511A
D0/508F: 80 33 0E                 update rainbow gradient lines (intensity 1)
D0/5092: BF 1A 51                 jump to subroutine $511A
D0/5095: 80 33 0C                 update rainbow gradient lines (intensity 3)
D0/5098: BF 1A 51                 jump to subroutine $511A
D0/509B: 80 33 0A                 update rainbow gradient lines (intensity 5)
D0/509E: BF 1A 51                 jump to subroutine $511A
D0/50A1: 80 33 08                 update rainbow gradient lines (intensity 7)
D0/50A4: BF 1A 51                 jump to subroutine $511A
D0/50A7: 80 33 06                 update rainbow gradient lines (intensity 9)
D0/50AA: BF 1A 51                 jump to subroutine $511A
D0/50AD: 80 33 04                 update rainbow gradient lines (intensity 11)
D0/50B0: BF 1A 51                 jump to subroutine $511A
D0/50B3: 80 33 02                 update rainbow gradient lines (intensity 13)
D0/50B6: 89 80                    loop start (128 times)
D0/50B8: AE C3                    update (bg3, bg2) hdma scroll data (horizontal and vertical)
D0/50BA: 83 60                    move forward 1
D0/50BC: 80 33 00                 update rainbow gradient lines (intensity 15)
D0/50BF: F7 D0                    wait until scanline 208
D0/50C1: 00                       [$00]
D0/50C2: 8A                       loop end
D0/50C3: 80 36                    restore palettes for monster sprites
D0/50C5: BF 1A 51                 jump to subroutine $511A
D0/50C8: 80 33 02                 update rainbow gradient lines (intensity 13)
D0/50CB: BF 1A 51                 jump to subroutine $511A
D0/50CE: 80 33 04                 update rainbow gradient lines (intensity 11)
D0/50D1: BF 1A 51                 jump to subroutine $511A
D0/50D4: 80 33 06                 update rainbow gradient lines (intensity 9)
D0/50D7: BF 1A 51                 jump to subroutine $511A
D0/50DA: 80 33 08                 update rainbow gradient lines (intensity 7)
D0/50DD: BF 1A 51                 jump to subroutine $511A
D0/50E0: 80 33 0A                 update rainbow gradient lines (intensity 5)
D0/50E3: BF 1A 51                 jump to subroutine $511A
D0/50E6: 80 33 0C                 update rainbow gradient lines (intensity 3)
D0/50E9: BF 1A 51                 jump to subroutine $511A
D0/50EC: 80 33 0E                 update rainbow gradient lines (intensity 1)
D0/50EF: 80 37                    clear fixed color value hdma data
D0/50F1: F7 A0                    wait until scanline 160
D0/50F3: D4 02 04 13              add (sprites, bg2, bg1) to (bg3)
D0/50F7: 89 0F                    loop start (15 times)
D0/50F9: B4 E2                    increase bg3 animation palette color subtraction by 2 (black)
D0/50FB: B6 B2                    decrease background color subtraction by 2 (green)
D0/50FD: AE C3                    update (bg3, bg2) hdma scroll data (horizontal and vertical)
D0/50FF: 83 60                    move forward 1
D0/5101: F7 D0                    wait until scanline 208
D0/5103: 00                       [$00]
D0/5104: 8A                       loop end
D0/5105: F7 A0                    wait until scanline 160
D0/5107: AD 85                    set bg3 hdma scroll type to 5
D0/5109: AC 40 40                 set (bg2) hdma scroll data (amplitude 0, frequency 0, horizontal)
D0/510C: AE C2                    update (bg2) hdma scroll data (horizontal and vertical)
D0/510E: 80 24                    clear bg3 hdma scroll data
D0/5110: BD 40                    show bg3 thread
D0/5112: EA 41                    set bg3 tile data quadrant to 1
D0/5114: 09                       [$09]
D0/5115: 80 37                    clear fixed color value hdma data
D0/5117: 80 71                    restore character palettes
D0/5119: FF                       end of script

D0/511A: AE C3                    update (bg3, bg2) hdma scroll data (horizontal and vertical)
D0/511C: 83 60                    move forward 1
D0/511E: F7 D0                    wait until scanline 208
D0/5120: 00                       [$00]
D0/5121: C0                       return from subroutine

; [ Animation Script $0101: Hope Song (sprite) ]

D0/5122: 00 20                    speed 1, align to center of character/monster
D0/5124: 89 20                    loop start (32 times)
D0/5126: 1F                       [---]
D0/5127: 8A                       loop end
D0/5128: 80 32 2E 51 39 51        jump to $512E (left) or $5139 (right)
D0/512E: 80 2E FF 60              move to (255,96)
D0/5132: 83 9F                    move back 32
D0/5134: 83 9F                    move back 32
D0/5136: FA 41 51                 jump to $5141
D0/5139: 80 2E 00 60              move to (0,96)
D0/513D: 83 9F                    move back 32
D0/513F: 83 9F                    move back 32
D0/5141: EB                       jump based on thread ($514E, $5158, $5162, $516C, $5162, $5158)
D0/514E: 89 80                    loop start (128 times)
D0/5150: 80 31 04                 move in wide vertical sine wave (speed 4)
D0/5153: 83 62                    move forward 3
D0/5155: 00                       [$00]
D0/5156: 8A                       loop end
D0/5157: FF                       end of script

D0/5158: 89 80                    loop start (128 times)
D0/515A: 80 31 04                 move in wide vertical sine wave (speed 4)
D0/515D: 83 62                    move forward 3
D0/515F: 01                       [$01]
D0/5160: 8A                       loop end
D0/5161: FF                       end of script

D0/5162: 89 80                    loop start (128 times)
D0/5164: 80 31 04                 move in wide vertical sine wave (speed 4)
D0/5167: 83 62                    move forward 3
D0/5169: 02                       [$02]
D0/516A: 8A                       loop end
D0/516B: FF                       end of script

D0/516C: 89 80                    loop start (128 times)
D0/516E: 80 31 04                 move in wide vertical sine wave (speed 4)
D0/5171: 83 62                    move forward 3
D0/5173: 03                       [$03]
D0/5174: 8A                       loop end
D0/5175: FF                       end of script

; [ Animation Script $0103: Hope Song (bg1) ]

D0/5176: 00 20                    speed 1, align to center of character/monster
D0/5178: D1 01                    invalidate character/monster sprite priority
D0/517A: D0 20                    set tile priority to 2 for all character/monster sprites
D0/517C: BF 16 55                 jump to subroutine $5516
D0/517F: C9 00                    play default sound effect
D0/5181: 80 2D 89 51 90 51 97 51  jump to $5189 (normal attack), $5190 (back attack), or $5197 (pincer attack)
D0/5189: 80 2E D0 60              move to (208,96)
D0/518D: FA 9B 51                 jump to $519B
D0/5190: 80 2E 30 60              move to (48,96)
D0/5194: FA 9B 51                 jump to $519B
D0/5197: 80 2E 80 60              move to (128,96)
D0/519B: CD FF                    set bg1 animation palette color addition to 31 (white)
D0/519D: 89 0F                    loop start (15 times)
D0/519F: CE F2                    decrease bg1 animation palette color addition by 2 (white)
D0/51A1: 00                       [$00]
D0/51A2: 8A                       loop end
D0/51A3: 89 A0                    loop start (160 times)
D0/51A5: 00                       [$00]
D0/51A6: 8A                       loop end
D0/51A7: BF 49 55                 jump to subroutine $5549
D0/51AA: FF                       end of script

; [ Animation Script $00FE: Gem Dust (bg1) ]

D0/51AB: 00 20                    speed 1, align to center of character/monster
D0/51AD: BD A0                    hide bg1 thread
D0/51AF: 89 0F                    loop start (15 times)
D0/51B1: 0F                       [$0F]
D0/51B2: 8A                       loop end
D0/51B3: BD 80                    show bg1 thread
D0/51B5: 80 32 BB 51 C2 51        jump to $51BB (left) or $51C2 (right)
D0/51BB: 80 2E BC 45              move to (188,69)
D0/51BF: FA C6 51                 jump to $51C6
D0/51C2: 80 2E 44 45              move to (68,69)
D0/51C6: 8B 03                    animated loop start (3 times, increment frame offset each time)
D0/51C8: 01                       [$01]
D0/51C9: 01                       [$01]
D0/51CA: 01                       [$01]
D0/51CB: 01                       [$01]
D0/51CC: 8C                       animated loop end
D0/51CD: C4 80                    move bg1 thread to this thread's position
D0/51CF: 89 66                    loop start (102 times)
D0/51D1: A3 16 32                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/51D4: 00                       [$00]
D0/51D5: BD A0                    hide bg1 thread
D0/51D7: 8A                       loop end
D0/51D8: FF                       end of script

; [ Animation Script $00FF: Gem Dust (bg3) ]

D0/51D9: 00 20                    speed 1, align to center of character/monster
D0/51DB: C4 40                    move bg3 thread to this thread's position
D0/51DD: EA 41                    set bg3 tile data quadrant to 1
D0/51DF: 06                       [$06]
D0/51E0: BD 50                    hide bg3 thread
D0/51E2: 89 1E                    loop start (30 times)
D0/51E4: 09                       [$09]
D0/51E5: 8A                       loop end
D0/51E6: BD 40                    show bg3 thread
D0/51E8: 83 7F                    move forward 32
D0/51EA: 83 7F                    move forward 32
D0/51EC: 8B 05                    animated loop start (5 times, increment frame offset each time)
D0/51EE: 00                       [$00]
D0/51EF: 00                       [$00]
D0/51F0: 00                       [$00]
D0/51F1: 00                       [$00]
D0/51F2: 8C                       animated loop end
D0/51F3: 83 C0                    move up 1
D0/51F5: F7 A0                    wait until scanline 160
D0/51F7: AD 87                    set bg3 hdma scroll type to 7
D0/51F9: AC 21 42                 set (bg3) hdma scroll data (amplitude 2, frequency 1, horizontal)
D0/51FC: BD 50                    hide bg3 thread
D0/51FE: 89 41                    loop start (65 times)
D0/5200: AE 41                    update (bg3) hdma scroll data (horizontal)
D0/5202: 05                       [$05]
D0/5203: 8A                       loop end
D0/5204: BD 40                    show bg3 thread
D0/5206: 84 03                    set animation speed to 4
D0/5208: 04                       [$04]
D0/5209: 03                       [$03]
D0/520A: 02                       [$02]
D0/520B: 01                       [$01]
D0/520C: 00                       [$00]
D0/520D: F7 A0                    wait until scanline 160
D0/520F: AD 85                    set bg3 hdma scroll type to 5
D0/5211: 80 24                    clear bg3 hdma scroll data
D0/5213: BD 40                    show bg3 thread
D0/5215: EA 41                    set bg3 tile data quadrant to 1
D0/5217: 09                       [$09]
D0/5218: FF                       end of script

; [ Animation Script $0100: Gem Dust (sprite) ]

D0/5219: 00 A0                    speed 1, align to center of screen
D0/521B: D1 01                    invalidate character/monster sprite priority
D0/521D: C9 00                    play default sound effect
D0/521F: D0 20                    set tile priority to 2 for all character/monster sprites
D0/5221: 90 20                    set animation tile priority to 2
D0/5223: B0 20                    set background color addition to 0 (blue)
D0/5225: 80 32 2B 52 32 52        jump to $522B (left) or $5232 (right)
D0/522B: 80 2E D0 60              move to (208,96)
D0/522F: FA 36 52                 jump to $5236
D0/5232: 80 2E 30 60              move to (48,96)
D0/5236: B2 FF                    set sprite animation palette color addition to 31 (white)
D0/5238: 89 0F                    loop start (15 times)
D0/523A: B7 F2                    decrease sprite animation palette color addition by 2 (white)
D0/523C: B5 22                    increase background color addition by 2 (blue)
D0/523E: 00                       [$00]
D0/523F: 8A                       loop end
D0/5240: 89 80                    loop start (128 times)
D0/5242: 00                       [$00]
D0/5243: 8A                       loop end
D0/5244: B2 E0                    set sprite animation palette color addition to 0 (white)
D0/5246: 89 0F                    loop start (15 times)
D0/5248: B7 E1                    increase sprite animation palette color addition by 1 (white)
D0/524A: B5 31                    decrease background color addition by 1 (blue)
D0/524C: 00                       [$00]
D0/524D: B7 E1                    increase sprite animation palette color addition by 1 (white)
D0/524F: B5 31                    decrease background color addition by 1 (blue)
D0/5251: 1F                       [---]
D0/5252: 8A                       loop end
D0/5253: FF                       end of script

; [ Animation Script $00FB: Bolt Fist (bg3) ]

D0/5254: 00 A0                    speed 1, align to center of screen
D0/5256: C4 40                    move bg3 thread to this thread's position
D0/5258: BD 50                    hide bg3 thread
D0/525A: 89 64                    loop start (100 times)
D0/525C: 09                       [$09]
D0/525D: 8A                       loop end
D0/525E: BD 40                    show bg3 thread
D0/5260: 84 03                    set animation speed to 4
D0/5262: 89 02                    loop start (2 times)
D0/5264: 00                       [$00]
D0/5265: 01                       [$01]
D0/5266: 02                       [$02]
D0/5267: 03                       [$03]
D0/5268: 04                       [$04]
D0/5269: 05                       [$05]
D0/526A: 8A                       loop end
D0/526B: 00                       [$00]
D0/526C: 01                       [$01]
D0/526D: 09                       [$09]
D0/526E: FF                       end of script

; [ Animation Script $00FC: Bolt Fist (bg1) ]

D0/526F: 00 20                    speed 1, align to center of character/monster
D0/5271: BD A0                    hide bg1 thread
D0/5273: 89 30                    loop start (48 times)
D0/5275: 0F                       [$0F]
D0/5276: 8A                       loop end
D0/5277: 80 2D 7F 52 86 52 8D 52  jump to $527F (normal attack), $5286 (back attack), or $528D (pincer attack)
D0/527F: 80 2E D0 60              move to (208,96)
D0/5283: FA 91 52                 jump to $5291
D0/5286: 80 2E 30 60              move to (48,96)
D0/528A: FA 91 52                 jump to $5291
D0/528D: 80 2E 80 60              move to (128,96)
D0/5291: BD 80                    show bg1 thread
D0/5293: 83 CF                    move up 16
D0/5295: 00                       [$00]
D0/5296: 00                       [$00]
D0/5297: 00                       [$00]
D0/5298: 00                       [$00]
D0/5299: 83 2F                    move down 16
D0/529B: 8B 03                    animated loop start (3 times, increment frame offset each time)
D0/529D: 01                       [$01]
D0/529E: 01                       [$01]
D0/529F: 01                       [$01]
D0/52A0: 01                       [$01]
D0/52A1: 8C                       animated loop end
D0/52A2: C4 80                    move bg1 thread to this thread's position
D0/52A4: 89 1F                    loop start (31 times)
D0/52A6: 0F                       [$0F]
D0/52A7: 8A                       loop end
D0/52A8: 84 03                    set animation speed to 4
D0/52AA: 89 04                    loop start (4 times)
D0/52AC: BA CF                    set monster color addition to 15 (yellow)
D0/52AE: 05                       [$05]
D0/52AF: BA C0                    set monster color addition to 0 (yellow)
D0/52B1: 06                       [$06]
D0/52B2: BA CF                    set monster color addition to 15 (yellow)
D0/52B4: 07                       [$07]
D0/52B5: BA C0                    set monster color addition to 0 (yellow)
D0/52B7: 08                       [$08]
D0/52B8: 8A                       loop end
D0/52B9: 0F                       [$0F]
D0/52BA: FF                       end of script

; [ Animation Script $00FD: Bolt Fist (sprite) ]

D0/52BB: 00 A0                    speed 1, align to center of screen
D0/52BD: D1 01                    invalidate character/monster sprite priority
D0/52BF: D0 20                    set tile priority to 2 for all character/monster sprites
D0/52C1: 90 20                    set animation tile priority to 2
D0/52C3: BF B8 54                 jump to subroutine $54B8
D0/52C6: F7 A0                    wait until scanline 160
D0/52C8: D4 02 05 12              add (sprites, bg2) to (bg3, bg1)
D0/52CC: C9 00                    play default sound effect
D0/52CE: B0 20                    set background color addition to 0 (blue)
D0/52D0: 80 2D D8 52 DF 52 E6 52  jump to $52D8 (normal attack), $52DF (back attack), or $52E6 (pincer attack)
D0/52D8: 80 2E D0 60              move to (208,96)
D0/52DC: FA EA 52                 jump to $52EA
D0/52DF: 80 2E 30 60              move to (48,96)
D0/52E3: FA EA 52                 jump to $52EA
D0/52E6: 80 2E 80 60              move to (128,96)
D0/52EA: 89 0F                    loop start (15 times)
D0/52EC: B5 22                    increase background color addition by 2 (blue)
D0/52EE: 1F                       [---]
D0/52EF: 8A                       loop end
D0/52F0: 89 0B                    loop start (11 times)
D0/52F2: 1F                       [---]
D0/52F3: 8A                       loop end
D0/52F4: B2 FF                    set sprite animation palette color addition to 31 (white)
D0/52F6: 89 0F                    loop start (15 times)
D0/52F8: B7 F2                    decrease sprite animation palette color addition by 2 (white)
D0/52FA: 00                       [$00]
D0/52FB: 8A                       loop end
D0/52FC: 89 50                    loop start (80 times)
D0/52FE: 00                       [$00]
D0/52FF: 8A                       loop end
D0/5300: 89 0F                    loop start (15 times)
D0/5302: B5 32                    decrease background color addition by 2 (blue)
D0/5304: 1F                       [---]
D0/5305: 8A                       loop end
D0/5306: BF E7 54                 jump to subroutine $54E7
D0/5309: FF                       end of script

; [ Animation Script $00F6: Sea Song (bg1) ]

D0/530A: 00 A0                    speed 1, align to center of screen
D0/530C: D1 01                    invalidate character/monster sprite priority
D0/530E: C4 80                    move bg1 thread to this thread's position
D0/5310: D0 20                    set tile priority to 2 for all character/monster sprites
D0/5312: AF C0                    set background color subtraction to 0 (blue)
D0/5314: AC 41 44                 set (bg2) hdma scroll data (amplitude 4, frequency 1, horizontal)
D0/5317: AC 41 83                 set (bg2) hdma scroll data (amplitude 3, frequency 1, vertical)
D0/531A: C9 00                    play default sound effect
D0/531C: 89 0F                    loop start (15 times)
D0/531E: B6 C1                    increase background color subtraction by 1 (blue)
D0/5320: AE C2                    update (bg2) hdma scroll data (horizontal and vertical)
D0/5322: 0F                       [$0F]
D0/5323: 8A                       loop end
D0/5324: 89 1A                    loop start (26 times)
D0/5326: AE C2                    update (bg2) hdma scroll data (horizontal and vertical)
D0/5328: 0F                       [$0F]
D0/5329: 8A                       loop end
D0/532A: 89 07                    loop start (7 times)
D0/532C: 83 9F                    move back 32
D0/532E: 8A                       loop end
D0/532F: 8B 0E                    animated loop start (14 times, increment frame offset each time)
D0/5331: 83 65                    move forward 6
D0/5333: AE C2                    update (bg2) hdma scroll data (horizontal and vertical)
D0/5335: 00                       [$00]
D0/5336: 83 65                    move forward 6
D0/5338: AE C2                    update (bg2) hdma scroll data (horizontal and vertical)
D0/533A: 00                       [$00]
D0/533B: 83 65                    move forward 6
D0/533D: AE C2                    update (bg2) hdma scroll data (horizontal and vertical)
D0/533F: 00                       [$00]
D0/5340: 83 65                    move forward 6
D0/5342: AE C2                    update (bg2) hdma scroll data (horizontal and vertical)
D0/5344: 00                       [$00]
D0/5345: 8C                       animated loop end
D0/5346: BF 5D 53                 jump to subroutine $535D
D0/5349: BF 5D 53                 jump to subroutine $535D
D0/534C: EA 81                    set bg1 tile data quadrant to 1
D0/534E: 0F                       [$0F]
D0/534F: 89 0F                    loop start (15 times)
D0/5351: AE C2                    update (bg2) hdma scroll data (horizontal and vertical)
D0/5353: B6 D1                    decrease background color subtraction by 1 (blue)
D0/5355: 0F                       [$0F]
D0/5356: 8A                       loop end
D0/5357: AC 40 C0                 set (bg2) hdma scroll data (amplitude 0, frequency 0, horizontal and vertical)
D0/535A: AE C2                    update (bg2) hdma scroll data (horizontal and vertical)
D0/535C: FF                       end of script

D0/535D: 8B 0E                    animated loop start (14 times, increment frame offset each time)
D0/535F: 83 65                    move forward 6
D0/5361: AE C2                    update (bg2) hdma scroll data (horizontal and vertical)
D0/5363: 00                       [$00]
D0/5364: 83 65                    move forward 6
D0/5366: AE C2                    update (bg2) hdma scroll data (horizontal and vertical)
D0/5368: 00                       [$00]
D0/5369: EA 81                    set bg1 tile data quadrant to 1
D0/536B: 83 65                    move forward 6
D0/536D: AE C2                    update (bg2) hdma scroll data (horizontal and vertical)
D0/536F: 00                       [$00]
D0/5370: 83 65                    move forward 6
D0/5372: AE C2                    update (bg2) hdma scroll data (horizontal and vertical)
D0/5374: 00                       [$00]
D0/5375: 8C                       animated loop end
D0/5376: C0                       return from subroutine

; [ Animation Script $00F7: Sea Song (extra) ]

D0/5377: 00 A0                    speed 1, align to center of screen
D0/5379: 80 2E 80 50              move to (128,80)
D0/537D: 89 07                    loop start (7 times)
D0/537F: 83 9F                    move back 32
D0/5381: 8A                       loop end
D0/5382: 89 54                    loop start (84 times)
D0/5384: 83 65                    move forward 6
D0/5386: 80 31 02                 move in wide vertical sine wave (speed 2)
D0/5389: 00                       [$00]
D0/538A: 8A                       loop end
D0/538B: FF                       end of script

; [ Animation Script $00F8: Sea Song (sprite) ]

D0/538C: 00 A0                    speed 1, align to center of screen
D0/538E: FF                       end of script

; [ Animation Script $00F3: Earth Aura (bg1) ]

D0/538F: 00 A0                    speed 1, align to center of screen
D0/5391: D1 01                    invalidate character/monster sprite priority
D0/5393: C4 80                    move bg1 thread to this thread's position
D0/5395: D0 30                    set tile priority to 3 for all character/monster sprites
D0/5397: A5 80 90 6C DE FF 6C 00  init circle at (128,144)
D0/539F: A7                       update circle
D0/53A0: 89 22                    loop start (34 times)
D0/53A2: 0F                       [$0F]
D0/53A3: 8A                       loop end
D0/53A4: 83 2F                    move down 16
D0/53A6: 89 09                    loop start (9 times)
D0/53A8: 00                       [$00]
D0/53A9: BD A0                    hide bg1 thread
D0/53AB: 8A                       loop end
D0/53AC: 89 0F                    loop start (15 times)
D0/53AE: 83 61                    move forward 2
D0/53B0: A6 02 00 00              move circle (+2,+0)
D0/53B4: D6 02 00                 scroll background to (2,0)
D0/53B7: 00                       [$00]
D0/53B8: 83 81                    move back 2
D0/53BA: A6 FE 00 00              move circle (-2,+0)
D0/53BE: D6 FE 00                 scroll background to (-2,0)
D0/53C1: 00                       [$00]
D0/53C2: 8A                       loop end
D0/53C3: D6 00 00                 scroll background to (0,0)
D0/53C6: 89 40                    loop start (64 times)
D0/53C8: 00                       [$00]
D0/53C9: 8A                       loop end
D0/53CA: FF                       end of script

; [ Animation Script $00F4: Earth Aura (bg3) ]

D0/53CB: 00 A0                    speed 1, align to center of screen
D0/53CD: 89 22                    loop start (34 times)
D0/53CF: 09                       [$09]
D0/53D0: 8A                       loop end
D0/53D1: 80 8C 00                 play sound effect $00 (pan center)
D0/53D4: C4 40                    move bg3 thread to this thread's position
D0/53D6: 04                       [$04]
D0/53D7: 04                       [$04]
D0/53D8: 03                       [$03]
D0/53D9: 03                       [$03]
D0/53DA: 02                       [$02]
D0/53DB: 02                       [$02]
D0/53DC: 01                       [$01]
D0/53DD: 01                       [$01]
D0/53DE: 00                       [$00]
D0/53DF: 00                       [$00]
D0/53E0: 89 40                    loop start (64 times)
D0/53E2: 09                       [$09]
D0/53E3: 8A                       loop end
D0/53E4: F7 A0                    wait until scanline 160
D0/53E6: D4 02 04 12              add (sprites, bg2) to (bg3)
D0/53EA: 80 2C 72                 load animation palette $72 (bg3)
D0/53ED: 89 05                    loop start (5 times)
D0/53EF: 83 3F                    move down 32
D0/53F1: 8A                       loop end
D0/53F2: AC 41 44                 set (bg2) hdma scroll data (amplitude 4, frequency 1, horizontal)
D0/53F5: 89 19                    loop start (25 times)
D0/53F7: 98 02 02                 increment frame offset every 2 loops (0..2)
D0/53FA: 83 C7                    move up 8
D0/53FC: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/53FE: 05                       [$05]
D0/53FF: 8A                       loop end
D0/5400: 89 40                    loop start (64 times)
D0/5402: 98 02 02                 increment frame offset every 2 loops (0..2)
D0/5405: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/5407: 05                       [$05]
D0/5408: 8A                       loop end
D0/5409: 89 19                    loop start (25 times)
D0/540B: 83 C7                    move up 8
D0/540D: 98 02 02                 increment frame offset every 2 loops (0..2)
D0/5410: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/5412: 05                       [$05]
D0/5413: 8A                       loop end
D0/5414: AC 40 40                 set (bg2) hdma scroll data (amplitude 0, frequency 0, horizontal)
D0/5417: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/5419: FF                       end of script

; [ Animation Script $00F5: Earth Aura (sprite) ]

D0/541A: 00 20                    speed 1, align to center of character/monster
D0/541C: 80 2E 80 70              move to (128,112)
D0/5420: BF B8 54                 jump to subroutine $54B8
D0/5423: F7 A0                    wait until scanline 160
D0/5425: D4 02 04 12              add (sprites, bg2) to (bg3)
D0/5429: 89 09                    loop start (9 times)
D0/542B: 1F                       [---]
D0/542C: 8A                       loop end
D0/542D: 89 05                    loop start (5 times)
D0/542F: 83 3F                    move down 32
D0/5431: 8A                       loop end
D0/5432: AF C0                    set background color subtraction to 0 (blue)
D0/5434: 89 19                    loop start (25 times)
D0/5436: 83 C7                    move up 8
D0/5438: B6 C2                    increase background color subtraction by 2 (blue)
D0/543A: 00                       [$00]
D0/543B: 8A                       loop end
D0/543C: 89 80                    loop start (128 times)
D0/543E: 00                       [$00]
D0/543F: 8A                       loop end
D0/5440: 89 16                    loop start (22 times)
D0/5442: 83 C7                    move up 8
D0/5444: B6 D2                    decrease background color subtraction by 2 (blue)
D0/5446: 00                       [$00]
D0/5447: 8A                       loop end
D0/5448: BF E7 54                 jump to subroutine $54E7
D0/544B: FF                       end of script

; [ Animation Script $0252: Demon Eye (sprite) ]

D0/544C: 00 20                    speed 1, align to center of character/monster
D0/544E: BF B8 54                 jump to subroutine $54B8
D0/5451: C9 00                    play default sound effect
D0/5453: 90 20                    set animation tile priority to 2
D0/5455: AF C0                    set background color subtraction to 0 (blue)
D0/5457: 80 2D 5F 54 66 54 6D 54  jump to $545F (normal attack), $5466 (back attack), or $546D (pincer attack)
D0/545F: 80 2E D0 70              move to (208,112)
D0/5463: FA 71 54                 jump to $5471
D0/5466: 80 2E 30 70              move to (48,112)
D0/546A: FA 71 54                 jump to $5471
D0/546D: 80 2E 80 70              move to (128,112)
D0/5471: B2 FF                    set sprite animation palette color addition to 31 (white)
D0/5473: 89 0F                    loop start (15 times)
D0/5475: B7 F2                    decrease sprite animation palette color addition by 2 (white)
D0/5477: B6 C2                    increase background color subtraction by 2 (blue)
D0/5479: 00                       [$00]
D0/547A: 8A                       loop end
D0/547B: 89 5F                    loop start (95 times)
D0/547D: 00                       [$00]
D0/547E: 8A                       loop end
D0/547F: 89 0F                    loop start (15 times)
D0/5481: B6 D2                    decrease background color subtraction by 2 (blue)
D0/5483: 00                       [$00]
D0/5484: 8A                       loop end
D0/5485: BF E7 54                 jump to subroutine $54E7
D0/5488: FF                       end of script

; [ Animation Script $0251: Demon Eye (bg1) ]

D0/5489: 00 20                    speed 1, align to center of character/monster
D0/548B: D1 01                    invalidate character/monster sprite priority
D0/548D: D0 20                    set tile priority to 2 for all character/monster sprites
D0/548F: 80 2D 97 54 9E 54 A5 54  jump to $5497 (normal attack), $549E (back attack), or $54A5 (pincer attack)
D0/5497: 80 2E D0 70              move to (208,112)
D0/549B: FA A9 54                 jump to $54A9
D0/549E: 80 2E 30 70              move to (48,112)
D0/54A2: FA A9 54                 jump to $54A9
D0/54A5: 80 2E 80 70              move to (128,112)
D0/54A9: 83 70                    move forward 17
D0/54AB: 83 02                    move down/forward 3
D0/54AD: 89 40                    loop start (64 times)
D0/54AF: 0F                       [$0F]
D0/54B0: 8A                       loop end
D0/54B1: 84 03                    set animation speed to 4
D0/54B3: 8B 08                    animated loop start (8 times, increment frame offset each time)
D0/54B5: 00                       [$00]
D0/54B6: 8C                       animated loop end
D0/54B7: FF                       end of script

D0/54B8: C9 46                    play sound effect $46
D0/54BA: 80 26 01                 disable character palette updates
D0/54BD: 1F                       [---]
D0/54BE: F7 A0                    wait until scanline 160
D0/54C0: D4 02 02 10              add (sprites) to (bg2)
D0/54C4: 80 28 00                 set tile priority to 0 for all character sprites
D0/54C7: 80 29 01                 hide cursor sprites (esper attack)
D0/54CA: FB E0                    set character color subtraction to 0 (black)
D0/54CC: 89 0F                    loop start (15 times)
D0/54CE: FE E1                    increase character color subtraction by 1 (black)
D0/54D0: 80 27 01                 hide character sprites (esper attack)
D0/54D3: 1F                       [---]
D0/54D4: FE E1                    increase character color subtraction by 1 (black)
D0/54D6: 80 27 00                 show character sprites (esper attack)
D0/54D9: 1F                       [---]
D0/54DA: 8A                       loop end
D0/54DB: F7 A0                    wait until scanline 160
D0/54DD: D4 02 00 00              add (no layers) to (no layers)
D0/54E1: 80 27 01                 hide character sprites (esper attack)
D0/54E4: FB E0                    set character color subtraction to 0 (black)
D0/54E6: C0                       return from subroutine

D0/54E7: 80 28 00                 set tile priority to 0 for all character sprites
D0/54EA: 80 27 00                 show character sprites (esper attack)
D0/54ED: 89 0F                    loop start (15 times)
D0/54EF: 1F                       [---]
D0/54F0: 8A                       loop end
D0/54F1: 80 26 01                 disable character palette updates
D0/54F4: FB FF                    set character color subtraction to 31 (black)
D0/54F6: 1F                       [---]
D0/54F7: F7 A0                    wait until scanline 160
D0/54F9: D4 02 02 10              add (sprites) to (bg2)
D0/54FD: 89 0F                    loop start (15 times)
D0/54FF: FE F1                    decrease character color subtraction by 1 (black)
D0/5501: 80 27 01                 hide character sprites (esper attack)
D0/5504: 1F                       [---]
D0/5505: 80 27 00                 show character sprites (esper attack)
D0/5508: FE F1                    decrease character color subtraction by 1 (black)
D0/550A: 1F                       [---]
D0/550B: 8A                       loop end
D0/550C: 80 28 30                 set tile priority to 3 for all character sprites
D0/550F: 80 26 00                 enable character palette updates
D0/5512: 80 29 00                 show cursor sprites (esper attack)
D0/5515: C0                       return from subroutine

D0/5516: C9 46                    play sound effect $46
D0/5518: BD A0                    hide bg1 thread
D0/551A: 80 26 01                 disable character palette updates
D0/551D: 0F                       [$0F]
D0/551E: F7 A0                    wait until scanline 160
D0/5520: D4 02 02 10              add (sprites) to (bg2)
D0/5524: 80 28 00                 set tile priority to 0 for all character sprites
D0/5527: 80 29 01                 hide cursor sprites (esper attack)
D0/552A: FB E0                    set character color subtraction to 0 (black)
D0/552C: 89 0F                    loop start (15 times)
D0/552E: FE E1                    increase character color subtraction by 1 (black)
D0/5530: 80 27 01                 hide character sprites (esper attack)
D0/5533: 0F                       [$0F]
D0/5534: FE E1                    increase character color subtraction by 1 (black)
D0/5536: 80 27 00                 show character sprites (esper attack)
D0/5539: 0F                       [$0F]
D0/553A: 8A                       loop end
D0/553B: F7 A0                    wait until scanline 160
D0/553D: D4 02 00 00              add (no layers) to (no layers)
D0/5541: 80 27 01                 hide character sprites (esper attack)
D0/5544: FB E0                    set character color subtraction to 0 (black)
D0/5546: BD 80                    show bg1 thread
D0/5548: C0                       return from subroutine

D0/5549: 80 28 00                 set tile priority to 0 for all character sprites
D0/554C: 80 27 00                 show character sprites (esper attack)
D0/554F: 89 0F                    loop start (15 times)
D0/5551: 0F                       [$0F]
D0/5552: BD A0                    hide bg1 thread
D0/5554: 8A                       loop end
D0/5555: 80 26 01                 disable character palette updates
D0/5558: FB FF                    set character color subtraction to 31 (black)
D0/555A: 0F                       [$0F]
D0/555B: F7 A0                    wait until scanline 160
D0/555D: D4 02 02 10              add (sprites) to (bg2)
D0/5561: 89 0F                    loop start (15 times)
D0/5563: FE F1                    decrease character color subtraction by 1 (black)
D0/5565: 80 27 01                 hide character sprites (esper attack)
D0/5568: 0F                       [$0F]
D0/5569: 80 27 00                 show character sprites (esper attack)
D0/556C: FE F1                    decrease character color subtraction by 1 (black)
D0/556E: 0F                       [$0F]
D0/556F: 8A                       loop end
D0/5570: 80 28 30                 set tile priority to 3 for all character sprites
D0/5573: 80 26 00                 enable character palette updates
D0/5576: 80 29 00                 show cursor sprites (esper attack)
D0/5579: BD 80                    show bg1 thread
D0/557B: C0                       return from subroutine

; [ Animation Script $00EE: Inferno (sprite) ]

D0/557C: 00 A0                    speed 1, align to center of screen
D0/557E: D1 01                    invalidate character/monster sprite priority
D0/5580: D0 20                    set tile priority to 2 for all character/monster sprites
D0/5582: 90 10                    set animation tile priority to 1
D0/5584: 89 4C                    loop start (76 times)
D0/5586: 1F                       [---]
D0/5587: 8A                       loop end
D0/5588: 89 01                    loop start (1 times)
D0/558A: 83 87                    move back 8
D0/558C: 00                       [$00]
D0/558D: 00                       [$00]
D0/558E: 00                       [$00]
D0/558F: 00                       [$00]
D0/5590: 83 67                    move forward 8
D0/5592: 01                       [$01]
D0/5593: 01                       [$01]
D0/5594: 01                       [$01]
D0/5595: 01                       [$01]
D0/5596: 01                       [$01]
D0/5597: 01                       [$01]
D0/5598: 02                       [$02]
D0/5599: 02                       [$02]
D0/559A: 02                       [$02]
D0/559B: 02                       [$02]
D0/559C: 02                       [$02]
D0/559D: 02                       [$02]
D0/559E: 83 87                    move back 8
D0/55A0: 03                       [$03]
D0/55A1: 03                       [$03]
D0/55A2: 03                       [$03]
D0/55A3: 03                       [$03]
D0/55A4: 83 67                    move forward 8
D0/55A6: 04                       [$04]
D0/55A7: 04                       [$04]
D0/55A8: 04                       [$04]
D0/55A9: 04                       [$04]
D0/55AA: 04                       [$04]
D0/55AB: 04                       [$04]
D0/55AC: 05                       [$05]
D0/55AD: 05                       [$05]
D0/55AE: 05                       [$05]
D0/55AF: 05                       [$05]
D0/55B0: 05                       [$05]
D0/55B1: 05                       [$05]
D0/55B2: 8A                       loop end
D0/55B3: 83 87                    move back 8
D0/55B5: 89 03                    loop start (3 times)
D0/55B7: 83 C3                    move up 4
D0/55B9: 00                       [$00]
D0/55BA: 8A                       loop end
D0/55BB: 83 67                    move forward 8
D0/55BD: 89 05                    loop start (5 times)
D0/55BF: 83 C3                    move up 4
D0/55C1: 01                       [$01]
D0/55C2: 8A                       loop end
D0/55C3: 89 05                    loop start (5 times)
D0/55C5: 83 C3                    move up 4
D0/55C7: 02                       [$02]
D0/55C8: 8A                       loop end
D0/55C9: 83 87                    move back 8
D0/55CB: 89 03                    loop start (3 times)
D0/55CD: 83 C3                    move up 4
D0/55CF: 03                       [$03]
D0/55D0: 8A                       loop end
D0/55D1: 83 67                    move forward 8
D0/55D3: 89 05                    loop start (5 times)
D0/55D5: 83 C3                    move up 4
D0/55D7: 04                       [$04]
D0/55D8: 8A                       loop end
D0/55D9: 89 05                    loop start (5 times)
D0/55DB: 83 C3                    move up 4
D0/55DD: 05                       [$05]
D0/55DE: 8A                       loop end
D0/55DF: FF                       end of script

; [ Animation Script $00EF: Inferno (bg1) ]

D0/55E0: 00 A0                    speed 1, align to center of screen
D0/55E2: C4 80                    move bg1 thread to this thread's position
D0/55E4: BF 16 55                 jump to subroutine $5516
D0/55E7: F7 A0                    wait until scanline 160
D0/55E9: D4 02 01 10              add (sprites) to (bg1)
D0/55ED: 80 8C 00                 play sound effect $00 (pan center)
D0/55F0: AF 60                    set background color subtraction to 0 (red)
D0/55F2: AC 41 44                 set (bg2) hdma scroll data (amplitude 4, frequency 1, horizontal)
D0/55F5: AC 41 83                 set (bg2) hdma scroll data (amplitude 3, frequency 1, vertical)
D0/55F8: 83 87                    move back 8
D0/55FA: 8B 0A                    animated loop start (10 times, increment frame offset each time)
D0/55FC: B6 61                    increase background color subtraction by 1 (red)
D0/55FE: AE C2                    update (bg2) hdma scroll data (horizontal and vertical)
D0/5600: 00                       [$00]
D0/5601: B6 61                    increase background color subtraction by 1 (red)
D0/5603: AE C2                    update (bg2) hdma scroll data (horizontal and vertical)
D0/5605: 00                       [$00]
D0/5606: B6 61                    increase background color subtraction by 1 (red)
D0/5608: AE C2                    update (bg2) hdma scroll data (horizontal and vertical)
D0/560A: 00                       [$00]
D0/560B: B6 61                    increase background color subtraction by 1 (red)
D0/560D: AE C2                    update (bg2) hdma scroll data (horizontal and vertical)
D0/560F: 00                       [$00]
D0/5610: 8C                       animated loop end
D0/5611: 80 2B 6C                 load animation palette $6C (bg1)
D0/5614: CD FF                    set bg1 animation palette color addition to 31 (white)
D0/5616: BD 80                    show bg1 thread
D0/5618: 89 07                    loop start (7 times)
D0/561A: 0B                       [$0B]
D0/561B: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/561E: AE C2                    update (bg2) hdma scroll data (horizontal and vertical)
D0/5620: CE F1                    decrease bg1 animation palette color addition by 1 (white)
D0/5622: 8A                       loop end
D0/5623: BD A0                    hide bg1 thread
D0/5625: 89 0C                    loop start (12 times)
D0/5627: BA 9F                    set monster color addition to 31 (red)
D0/5629: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/562C: AE C2                    update (bg2) hdma scroll data (horizontal and vertical)
D0/562E: CE F1                    decrease bg1 animation palette color addition by 1 (white)
D0/5630: 0B                       [$0B]
D0/5631: BA 80                    set monster color addition to 0 (red)
D0/5633: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/5636: AE C2                    update (bg2) hdma scroll data (horizontal and vertical)
D0/5638: CE F1                    decrease bg1 animation palette color addition by 1 (white)
D0/563A: 0B                       [$0B]
D0/563B: 8A                       loop end
D0/563C: 89 0F                    loop start (15 times)
D0/563E: BA 9F                    set monster color addition to 31 (red)
D0/5640: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/5643: AE C2                    update (bg2) hdma scroll data (horizontal and vertical)
D0/5645: 0B                       [$0B]
D0/5646: BA 80                    set monster color addition to 0 (red)
D0/5648: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/564B: AE C2                    update (bg2) hdma scroll data (horizontal and vertical)
D0/564D: 0B                       [$0B]
D0/564E: 8A                       loop end
D0/564F: 89 20                    loop start (32 times)
D0/5651: 83 C3                    move up 4
D0/5653: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/5656: AE C2                    update (bg2) hdma scroll data (horizontal and vertical)
D0/5658: 0B                       [$0B]
D0/5659: 8A                       loop end
D0/565A: 89 0F                    loop start (15 times)
D0/565C: B6 72                    decrease background color subtraction by 2 (red)
D0/565E: AE C2                    update (bg2) hdma scroll data (horizontal and vertical)
D0/5660: 0B                       [$0B]
D0/5661: 8A                       loop end
D0/5662: AC 41 C3                 set (bg2) hdma scroll data (amplitude 3, frequency 1, horizontal and vertical)
D0/5665: BF 77 56                 jump to subroutine $5677
D0/5668: AC 41 C1                 set (bg2) hdma scroll data (amplitude 1, frequency 1, horizontal and vertical)
D0/566B: BF 77 56                 jump to subroutine $5677
D0/566E: AC 41 C0                 set (bg2) hdma scroll data (amplitude 0, frequency 1, horizontal and vertical)
D0/5671: AE C2                    update (bg2) hdma scroll data (horizontal and vertical)
D0/5673: BF 49 55                 jump to subroutine $5549
D0/5676: FF                       end of script

D0/5677: 89 07                    loop start (7 times)
D0/5679: AE C2                    update (bg2) hdma scroll data (horizontal and vertical)
D0/567B: 0F                       [$0F]
D0/567C: 8A                       loop end
D0/567D: C0                       return from subroutine

; [ Animation Script $00F0: Inferno (bg3) ]

D0/567E: 00 A0                    speed 1, align to center of screen
D0/5680: C4 40                    move bg3 thread to this thread's position
D0/5682: 89 4C                    loop start (76 times)
D0/5684: 09                       [$09]
D0/5685: 8A                       loop end
D0/5686: 8B 08                    animated loop start (8 times, increment frame offset each time)
D0/5688: 00                       [$00]
D0/5689: 00                       [$00]
D0/568A: 8C                       animated loop end
D0/568B: 8B 08                    animated loop start (8 times, increment frame offset each time)
D0/568D: 00                       [$00]
D0/568E: 00                       [$00]
D0/568F: 8C                       animated loop end
D0/5690: FF                       end of script

; [ Animation Script $00EC: Cure (sprite) ]

D0/5691: 20 20                    speed 3, align to center of character/monster
D0/5693: D1 01                    invalidate character/monster sprite priority
D0/5695: C9 00                    play default sound effect
D0/5697: 8B 10                    animated loop start (16 times, increment frame offset each time)
D0/5699: 00                       [$00]
D0/569A: 8C                       animated loop end
D0/569B: C9 29                    play sound effect $29
D0/569D: 11                       [$11]
D0/569E: 12                       [$12]
D0/569F: 13                       [$13]
D0/56A0: 14                       [$14]
D0/56A1: 15                       [$15]
D0/56A2: 16                       [$16]
D0/56A3: 17                       [$17]
D0/56A4: 18                       [$18]
D0/56A5: 19                       [$19]
D0/56A6: FF                       end of script

D0/56A7: 30                       unknown $30
D0/56A8: 20                       unknown $20
D0/56A9: D1 01                    invalidate character/monster sprite priority
D0/56AB: C9 00                    play default sound effect
D0/56AD: 8B 0B                    animated loop start (11 times, increment frame offset each time)
D0/56AF: 00                       [$00]
D0/56B0: 8C                       animated loop end
D0/56B1: FF                       end of script

; [ Animation Script $00E7: Ultima (bg1) ]

D0/56B2: 00 20                    speed 1, align to center of character/monster
D0/56B4: 80 8C 00                 play sound effect $00 (pan center)
D0/56B7: C4 80                    move bg1 thread to this thread's position
D0/56B9: D1 01                    invalidate character/monster sprite priority
D0/56BB: D0 20                    set tile priority to 2 for all character/monster sprites
D0/56BD: A5 80 60 00 DE FF 7F 00  init circle at (128,96)
D0/56C5: 00                       [$00]
D0/56C6: BD A0                    hide bg1 thread
D0/56C8: AC 42 44                 set (bg2) hdma scroll data (amplitude 4, frequency 2, horizontal)
D0/56CB: AF 60                    set background color subtraction to 0 (red)
D0/56CD: 89 0F                    loop start (15 times)
D0/56CF: B6 C2                    increase background color subtraction by 2 (blue)
D0/56D1: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/56D3: 00                       [$00]
D0/56D4: 8A                       loop end
D0/56D5: 89 7E                    loop start (126 times)
D0/56D7: A3 16 31                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/56DA: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/56DC: A6 00 00 01              move circle (+0,+0) and grow by 1
D0/56E0: F7 C0                    wait until scanline 192
D0/56E2: A7                       update circle
D0/56E3: 00                       [$00]
D0/56E4: 8A                       loop end
D0/56E5: AC 40 40                 set (bg2) hdma scroll data (amplitude 0, frequency 0, horizontal)
D0/56E8: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/56EA: 80 8C BE                 play sound effect $BE (pan center)
D0/56ED: B0 FF                    set background color addition to 31 (white)
D0/56EF: CD FF                    set bg1 animation palette color addition to 31 (white)
D0/56F1: BD 80                    show bg1 thread
D0/56F3: 89 1F                    loop start (31 times)
D0/56F5: B5 F1                    decrease background color addition by 1 (white)
D0/56F7: 0F                       [$0F]
D0/56F8: 8A                       loop end
D0/56F9: FF                       end of script

; [ Animation Script $00E8: Ultima (bg3) ]

D0/56FA: 00 20                    speed 1, align to center of character/monster
D0/56FC: C4 40                    move bg3 thread to this thread's position
D0/56FE: 89 18                    loop start (24 times)
D0/5700: 09                       [$09]
D0/5701: 8A                       loop end
D0/5702: EA 42                    set bg3 tile data quadrant to 2
D0/5704: 00                       [$00]
D0/5705: 89 2A                    loop start (42 times)
D0/5707: 83 C5                    move up 6
D0/5709: 09                       [$09]
D0/570A: 8A                       loop end
D0/570B: 00                       [$00]
D0/570C: BD 50                    hide bg3 thread
D0/570E: 89 4A                    loop start (74 times)
D0/5710: 83 C5                    move up 6
D0/5712: 00                       [$00]
D0/5713: 8A                       loop end
D0/5714: BD 40                    show bg3 thread
D0/5716: EA 42                    set bg3 tile data quadrant to 2
D0/5718: 09                       [$09]
D0/5719: FF                       end of script

; [ Animation Script $00D7: Flare (sprite) ]

D0/571A: 00 20                    speed 1, align to center of character/monster
D0/571C: D1 01                    invalidate character/monster sprite priority
D0/571E: EB                       jump based on thread ($57AB, $572F, $576E, $572F, $576E, $576D, $576D, $576D)
D0/572F: 89 1F                    loop start (31 times)
D0/5731: 1F                       [---]
D0/5732: 8A                       loop end
D0/5733: BF E2 57                 jump to subroutine $57E2
D0/5736: BF E2 57                 jump to subroutine $57E2
D0/5739: BF E2 57                 jump to subroutine $57E2
D0/573C: BF E2 57                 jump to subroutine $57E2
D0/573F: BF E2 57                 jump to subroutine $57E2
D0/5742: 83 BF                    move up/forward 32
D0/5744: 89 07                    loop start (7 times)
D0/5746: E9 3F 3F                 move animation randomly (0..63,0..63)
D0/5749: 06                       [$06]
D0/574A: 07                       [$07]
D0/574B: 08                       [$08]
D0/574C: 09                       [$09]
D0/574D: 0A                       [$0A]
D0/574E: 0B                       [$0B]
D0/574F: 0C                       [$0C]
D0/5750: 0D                       [$0D]
D0/5751: 0E                       [$0E]
D0/5752: 8A                       loop end
D0/5753: 83 5F                    move down/back 32
D0/5755: E9 00 00                 move animation randomly (0..0,0..0)
D0/5758: 89 40                    loop start (64 times)
D0/575A: 1F                       [---]
D0/575B: 8A                       loop end
D0/575C: C9 13                    play sound effect $13
D0/575E: BF 42 58                 jump to subroutine $5842
D0/5761: BF 42 58                 jump to subroutine $5842
D0/5764: BF 42 58                 jump to subroutine $5842
D0/5767: BF 42 58                 jump to subroutine $5842
D0/576A: BF 42 58                 jump to subroutine $5842
D0/576D: FF                       end of script

D0/576E: 89 1F                    loop start (31 times)
D0/5770: 1F                       [---]
D0/5771: 8A                       loop end
D0/5772: BF E2 57                 jump to subroutine $57E2
D0/5775: BF E2 57                 jump to subroutine $57E2
D0/5778: BF E2 57                 jump to subroutine $57E2
D0/577B: BF E2 57                 jump to subroutine $57E2
D0/577E: BF E2 57                 jump to subroutine $57E2
D0/5781: 83 AF                    move up/forward 16
D0/5783: 89 07                    loop start (7 times)
D0/5785: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/5788: 06                       [$06]
D0/5789: 07                       [$07]
D0/578A: 08                       [$08]
D0/578B: 09                       [$09]
D0/578C: 0A                       [$0A]
D0/578D: 0B                       [$0B]
D0/578E: 0C                       [$0C]
D0/578F: 0D                       [$0D]
D0/5790: 0E                       [$0E]
D0/5791: 8A                       loop end
D0/5792: 83 4F                    move down/back 16
D0/5794: E9 00 00                 move animation randomly (0..0,0..0)
D0/5797: 89 40                    loop start (64 times)
D0/5799: 1F                       [---]
D0/579A: 8A                       loop end
D0/579B: BF 42 58                 jump to subroutine $5842
D0/579E: BF 42 58                 jump to subroutine $5842
D0/57A1: BF 42 58                 jump to subroutine $5842
D0/57A4: BF 42 58                 jump to subroutine $5842
D0/57A7: BF 42 58                 jump to subroutine $5842
D0/57AA: FF                       end of script

D0/57AB: C9 31                    play sound effect $31
D0/57AD: AF 60                    set background color subtraction to 0 (red)
D0/57AF: 89 1F                    loop start (31 times)
D0/57B1: B6 61                    increase background color subtraction by 1 (red)
D0/57B3: 1F                       [---]
D0/57B4: 8A                       loop end
D0/57B5: BF 12 58                 jump to subroutine $5812
D0/57B8: BF 12 58                 jump to subroutine $5812
D0/57BB: BF 12 58                 jump to subroutine $5812
D0/57BE: BF 12 58                 jump to subroutine $5812
D0/57C1: BF 12 58                 jump to subroutine $5812
D0/57C4: C9 89                    play sound effect $89
D0/57C6: 84 02                    set animation speed to 3
D0/57C8: 80 17                    update sprite layer priority based on target
D0/57CA: EC 01                    change thread layer to bg1
D0/57CC: 8B 0D                    animated loop start (13 times, increment frame offset each time)
D0/57CE: 80 3B                    change target's color palette to animation palette
D0/57D0: 00                       [$00]
D0/57D1: 80 3C                    restore target's color palette
D0/57D3: 00                       [$00]
D0/57D4: 8C                       animated loop end
D0/57D5: 84 01                    set animation speed to 2
D0/57D7: 89 C0                    loop start (192 times)
D0/57D9: 0F                       [$0F]
D0/57DA: 8A                       loop end
D0/57DB: 89 1F                    loop start (31 times)
D0/57DD: B6 71                    decrease background color subtraction by 1 (red)
D0/57DF: 0F                       [$0F]
D0/57E0: 8A                       loop end
D0/57E1: FF                       end of script

D0/57E2: 80 11                    choose random polar angle
D0/57E4: E8 B0 00                 move in polar coordinates (-80,0)
D0/57E7: 89 02                    loop start (2 times)
D0/57E9: E8 F8 00                 move in polar coordinates (-8,0)
D0/57EC: 05                       [$05]
D0/57ED: 8A                       loop end
D0/57EE: 89 02                    loop start (2 times)
D0/57F0: E8 F8 00                 move in polar coordinates (-8,0)
D0/57F3: 04                       [$04]
D0/57F4: 8A                       loop end
D0/57F5: 89 02                    loop start (2 times)
D0/57F7: E8 F8 00                 move in polar coordinates (-8,0)
D0/57FA: 03                       [$03]
D0/57FB: 8A                       loop end
D0/57FC: 89 03                    loop start (3 times)
D0/57FE: E8 F8 00                 move in polar coordinates (-8,0)
D0/5801: 02                       [$02]
D0/5802: 8A                       loop end
D0/5803: 89 03                    loop start (3 times)
D0/5805: E8 F8 00                 move in polar coordinates (-8,0)
D0/5808: 01                       [$01]
D0/5809: 8A                       loop end
D0/580A: 89 04                    loop start (4 times)
D0/580C: E8 F8 00                 move in polar coordinates (-8,0)
D0/580F: 00                       [$00]
D0/5810: 8A                       loop end
D0/5811: C0                       return from subroutine

D0/5812: 80 11                    choose random polar angle
D0/5814: E8 B0 00                 move in polar coordinates (-80,0)
D0/5817: 89 02                    loop start (2 times)
D0/5819: E8 F8 00                 move in polar coordinates (-8,0)
D0/581C: 05                       [$05]
D0/581D: 8A                       loop end
D0/581E: 89 02                    loop start (2 times)
D0/5820: E8 F8 00                 move in polar coordinates (-8,0)
D0/5823: 04                       [$04]
D0/5824: 8A                       loop end
D0/5825: 89 02                    loop start (2 times)
D0/5827: E8 F8 00                 move in polar coordinates (-8,0)
D0/582A: 03                       [$03]
D0/582B: 8A                       loop end
D0/582C: 89 03                    loop start (3 times)
D0/582E: E8 F8 00                 move in polar coordinates (-8,0)
D0/5831: 02                       [$02]
D0/5832: 8A                       loop end
D0/5833: 89 03                    loop start (3 times)
D0/5835: E8 F8 00                 move in polar coordinates (-8,0)
D0/5838: 01                       [$01]
D0/5839: 8A                       loop end
D0/583A: 89 04                    loop start (4 times)
D0/583C: E8 F8 00                 move in polar coordinates (-8,0)
D0/583F: 00                       [$00]
D0/5840: 8A                       loop end
D0/5841: C0                       return from subroutine

D0/5842: 80 11                    choose random polar angle
D0/5844: 89 02                    loop start (2 times)
D0/5846: E8 0C 00                 move in polar coordinates (12,0)
D0/5849: 00                       [$00]
D0/584A: 8A                       loop end
D0/584B: 89 02                    loop start (2 times)
D0/584D: E8 0C 00                 move in polar coordinates (12,0)
D0/5850: 01                       [$01]
D0/5851: 8A                       loop end
D0/5852: 89 02                    loop start (2 times)
D0/5854: E8 0C 00                 move in polar coordinates (12,0)
D0/5857: 02                       [$02]
D0/5858: 8A                       loop end
D0/5859: 89 02                    loop start (2 times)
D0/585B: E8 0C 00                 move in polar coordinates (12,0)
D0/585E: 03                       [$03]
D0/585F: 8A                       loop end
D0/5860: 89 02                    loop start (2 times)
D0/5862: E8 0C 00                 move in polar coordinates (12,0)
D0/5865: 04                       [$04]
D0/5866: 8A                       loop end
D0/5867: 89 02                    loop start (2 times)
D0/5869: E8 0C 00                 move in polar coordinates (12,0)
D0/586C: 05                       [$05]
D0/586D: 8A                       loop end
D0/586E: C0                       return from subroutine

; [ Animation Script $00EA: Bolt 3, Giga Volt (sprite) ]

D0/586F: 10 00                    speed 2, align to bottom of character/monster
D0/5871: D1 01                    invalidate character/monster sprite priority
D0/5873: EB                       jump based on thread ($588C, $587A, $5882)
D0/587A: 1F                       [---]
D0/587B: 83 8C                    move back 13
D0/587D: 8B 09                    animated loop start (9 times, increment frame offset each time)
D0/587F: 00                       [$00]
D0/5880: 8C                       animated loop end
D0/5881: FF                       end of script

D0/5882: 1F                       [---]
D0/5883: 1F                       [---]
D0/5884: 1F                       [---]
D0/5885: 83 6C                    move forward 13
D0/5887: 8B 09                    animated loop start (9 times, increment frame offset each time)
D0/5889: 00                       [$00]
D0/588A: 8C                       animated loop end
D0/588B: FF                       end of script

D0/588C: C9 00                    play default sound effect
D0/588E: B0 FF                    set background color addition to 31 (white)
D0/5890: 84 01                    set animation speed to 2
D0/5892: 00                       [$00]
D0/5893: B5 F4                    decrease background color addition by 4 (white)
D0/5895: 01                       [$01]
D0/5896: B5 F4                    decrease background color addition by 4 (white)
D0/5898: 02                       [$02]
D0/5899: B5 F4                    decrease background color addition by 4 (white)
D0/589B: 03                       [$03]
D0/589C: B5 F4                    decrease background color addition by 4 (white)
D0/589E: 80 3B                    change target's color palette to animation palette
D0/58A0: 04                       [$04]
D0/58A1: B5 F4                    decrease background color addition by 4 (white)
D0/58A3: 80 3C                    restore target's color palette
D0/58A5: 05                       [$05]
D0/58A6: B5 F4                    decrease background color addition by 4 (white)
D0/58A8: 80 3B                    change target's color palette to animation palette
D0/58AA: 06                       [$06]
D0/58AB: B5 F4                    decrease background color addition by 4 (white)
D0/58AD: 80 3C                    restore target's color palette
D0/58AF: 07                       [$07]
D0/58B0: B5 F4                    decrease background color addition by 4 (white)
D0/58B2: 80 3B                    change target's color palette to animation palette
D0/58B4: 08                       [$08]
D0/58B5: 80 3C                    restore target's color palette
D0/58B7: 09                       [$09]
D0/58B8: 84 02                    set animation speed to 3
D0/58BA: 80 17                    update sprite layer priority based on target
D0/58BC: 0A                       [$0A]
D0/58BD: EC 01                    change thread layer to bg1
D0/58BF: 8B 0D                    animated loop start (13 times, increment frame offset each time)
D0/58C1: 00                       [$00]
D0/58C2: 8C                       animated loop end
D0/58C3: FF                       end of script

; [ Animation Script $00E3: Break (bg1) ]

D0/58C4: 00 20                    speed 1, align to center of character/monster
D0/58C6: D1 01                    invalidate character/monster sprite priority
D0/58C8: C9 00                    play default sound effect
D0/58CA: DD 00 00 50 00           init triangle with diameter 80
D0/58CF: DF                       move triangle to target position
D0/58D0: DC                       update triangle 2d
D0/58D1: 00                       [$00]
D0/58D2: BD A0                    hide bg1 thread
D0/58D4: 89 06                    loop start (6 times)
D0/58D6: E0 00 00 00 08           move triangle (+0,+0), rotate +8 units
D0/58DB: DC                       update triangle 2d
D0/58DC: 00                       [$00]
D0/58DD: 8A                       loop end
D0/58DE: 89 13                    loop start (19 times)
D0/58E0: E0 00 00 FC 08           move triangle (+0,+0) and change diameter by -4, rotate +8 units
D0/58E5: DC                       update triangle 2d
D0/58E6: 00                       [$00]
D0/58E7: 8A                       loop end
D0/58E8: DD 00 00 00 00           init triangle
D0/58ED: DC                       update triangle 2d
D0/58EE: C9 47                    play sound effect $47
D0/58F0: BF EA 60                 jump to subroutine $60EA
D0/58F3: FF                       end of script

; [ Animation Script $00E2: Break (sprite) ]

D0/58F4: 00 20                    speed 1, align to center of character/monster
D0/58F6: 80 16                    command $80/$16
D0/58F8: EB                       jump based on thread ($5926, $592D, $5934, $593B, $5942, $5949, $5950, $5957)
D0/5909: 89 06                    loop start (6 times)
D0/590B: E8 00 08                 move in polar coordinates (0,8)
D0/590E: 03                       [$03]
D0/590F: 8A                       loop end
D0/5910: 89 06                    loop start (6 times)
D0/5912: E8 FC 08                 move in polar coordinates (-4,8)
D0/5915: 02                       [$02]
D0/5916: 8A                       loop end
D0/5917: 89 06                    loop start (6 times)
D0/5919: E8 FC 08                 move in polar coordinates (-4,8)
D0/591C: 01                       [$01]
D0/591D: 8A                       loop end
D0/591E: 89 06                    loop start (6 times)
D0/5920: E8 FC 08                 move in polar coordinates (-4,8)
D0/5923: 00                       [$00]
D0/5924: 8A                       loop end
D0/5925: C0                       return from subroutine

D0/5926: E8 50 00                 move in polar coordinates (80,0)
D0/5929: BF 09 59                 jump to subroutine $5909
D0/592C: FF                       end of script

D0/592D: E8 50 20                 move in polar coordinates (80,32)
D0/5930: BF 09 59                 jump to subroutine $5909
D0/5933: FF                       end of script

D0/5934: E8 50 40                 move in polar coordinates (80,64)
D0/5937: BF 09 59                 jump to subroutine $5909
D0/593A: FF                       end of script

D0/593B: E8 50 60                 move in polar coordinates (80,96)
D0/593E: BF 09 59                 jump to subroutine $5909
D0/5941: FF                       end of script

D0/5942: E8 50 80                 move in polar coordinates (80,-128)
D0/5945: BF 09 59                 jump to subroutine $5909
D0/5948: FF                       end of script

D0/5949: E8 50 A0                 move in polar coordinates (80,-96)
D0/594C: BF 09 59                 jump to subroutine $5909
D0/594F: FF                       end of script

D0/5950: E8 50 C0                 move in polar coordinates (80,-64)
D0/5953: BF 09 59                 jump to subroutine $5909
D0/5956: FF                       end of script

D0/5957: E8 50 E0                 move in polar coordinates (80,-32)
D0/595A: BF 09 59                 jump to subroutine $5909
D0/595D: FF                       end of script

; [ Animation Script $00DE: Ice 2, N. Cross (sprite) ]

D0/595E: 00 20                    speed 1, align to center of character/monster
D0/5960: D1 01                    invalidate character/monster sprite priority
D0/5962: C9 00                    play default sound effect
D0/5964: 8B 10                    animated loop start (16 times, increment frame offset each time)
D0/5966: 00                       [$00]
D0/5967: 00                       [$00]
D0/5968: 00                       [$00]
D0/5969: 8C                       animated loop end
D0/596A: 11                       [$11]
D0/596B: 11                       [$11]
D0/596C: 11                       [$11]
D0/596D: 80 3B                    change target's color palette to animation palette
D0/596F: 12                       [$12]
D0/5970: 12                       [$12]
D0/5971: 12                       [$12]
D0/5972: 80 3C                    restore target's color palette
D0/5974: 13                       [$13]
D0/5975: 13                       [$13]
D0/5976: 13                       [$13]
D0/5977: 80 3B                    change target's color palette to animation palette
D0/5979: 14                       [$14]
D0/597A: 14                       [$14]
D0/597B: 14                       [$14]
D0/597C: 80 3C                    restore target's color palette
D0/597E: 15                       [$15]
D0/597F: 15                       [$15]
D0/5980: 15                       [$15]
D0/5981: 80 3B                    change target's color palette to animation palette
D0/5983: 16                       [$16]
D0/5984: 16                       [$16]
D0/5985: 16                       [$16]
D0/5986: 80 3C                    restore target's color palette
D0/5988: 17                       [$17]
D0/5989: 17                       [$17]
D0/598A: 80 17                    update sprite layer priority based on target
D0/598C: 17                       [$17]
D0/598D: EC 01                    change thread layer to bg1
D0/598F: F7 A0                    wait until scanline 160
D0/5991: C9 37                    play sound effect $37
D0/5993: D4 02 01 10              add (sprites) to (bg1)
D0/5997: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/5999: 89 0F                    loop start (15 times)
D0/599B: 00                       [$00]
D0/599C: 8A                       loop end
D0/599D: F7 A0                    wait until scanline 160
D0/599F: D4 02 01 12              add (sprites, bg2) to (bg1)
D0/59A3: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/59A5: 89 07                    loop start (7 times)
D0/59A7: CF E4                    increase bg1 animation palette color subtraction by 4 (black)
D0/59A9: 00                       [$00]
D0/59AA: 8A                       loop end
D0/59AB: FF                       end of script

; [ Animation Script $00DC: Ice (sprite) ]

D0/59AC: 00 00                    speed 1, align to bottom of character/monster
D0/59AE: D1 01                    invalidate character/monster sprite priority
D0/59B0: C9 00                    play default sound effect
D0/59B2: 8B 0F                    animated loop start (15 times, increment frame offset each time)
D0/59B4: 00                       [$00]
D0/59B5: 8C                       animated loop end
D0/59B6: 80 3B                    change target's color palette to animation palette
D0/59B8: 10                       [$10]
D0/59B9: 11                       [$11]
D0/59BA: 80 3C                    restore target's color palette
D0/59BC: 12                       [$12]
D0/59BD: 13                       [$13]
D0/59BE: 80 3B                    change target's color palette to animation palette
D0/59C0: C9 18                    play sound effect $18
D0/59C2: 80 17                    update sprite layer priority based on target
D0/59C4: EC 01                    change thread layer to bg1
D0/59C6: 00                       [$00]
D0/59C7: 00                       [$00]
D0/59C8: 01                       [$01]
D0/59C9: 01                       [$01]
D0/59CA: 80 3C                    restore target's color palette
D0/59CC: 02                       [$02]
D0/59CD: 02                       [$02]
D0/59CE: 03                       [$03]
D0/59CF: 03                       [$03]
D0/59D0: 04                       [$04]
D0/59D1: 04                       [$04]
D0/59D2: 05                       [$05]
D0/59D3: 05                       [$05]
D0/59D4: FF                       end of script

; [ Animation Script $0099: Flare (bg1) ]

D0/59D5: 00 00                    speed 1, align to bottom of character/monster
D0/59D7: FF                       end of script

; [ Animation Script $00DA: Merton (sprite) ]

D0/59D8: 00 20                    speed 1, align to center of character/monster
D0/59DA: 89 40                    loop start (64 times)
D0/59DC: 87 61                    move target forward 2
D0/59DE: 1F                       [---]
D0/59DF: 87 81                    move target back 2
D0/59E1: 1F                       [---]
D0/59E2: 8A                       loop end
D0/59E3: FF                       end of script

; [ Animation Script $00D9: Merton (bg3) ]

D0/59E4: 00 A0                    speed 1, align to center of screen
D0/59E6: 80 8C 00                 play sound effect $00 (pan center)
D0/59E9: D1 01                    invalidate character/monster sprite priority
D0/59EB: C4 40                    move bg3 thread to this thread's position
D0/59ED: AA FF                    set bg3 animation palette color subtraction to 31 (black)
D0/59EF: AF E0                    set background color subtraction to 0 (black)
D0/59F1: 00                       [$00]
D0/59F2: EA 41                    set bg3 tile data quadrant to 1
D0/59F4: 00                       [$00]
D0/59F5: BD 50                    hide bg3 thread
D0/59F7: AC 42 44                 set (bg2) hdma scroll data (amplitude 4, frequency 2, horizontal)
D0/59FA: 89 0F                    loop start (15 times)
D0/59FC: B4 F1                    decrease bg3 animation palette color subtraction by 1 (black)
D0/59FE: 83 67                    move forward 8
D0/5A00: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/5A02: 00                       [$00]
D0/5A03: 8A                       loop end
D0/5A04: 89 0F                    loop start (15 times)
D0/5A06: B4 F1                    decrease bg3 animation palette color subtraction by 1 (black)
D0/5A08: B6 E1                    increase background color subtraction by 1 (black)
D0/5A0A: 83 67                    move forward 8
D0/5A0C: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/5A0E: 00                       [$00]
D0/5A0F: 8A                       loop end
D0/5A10: 89 60                    loop start (96 times)
D0/5A12: 83 67                    move forward 8
D0/5A14: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/5A16: 00                       [$00]
D0/5A17: 8A                       loop end
D0/5A18: 89 20                    loop start (32 times)
D0/5A1A: B4 E1                    increase bg3 animation palette color subtraction by 1 (black)
D0/5A1C: B6 F1                    decrease background color subtraction by 1 (black)
D0/5A1E: 83 67                    move forward 8
D0/5A20: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/5A22: 00                       [$00]
D0/5A23: 8A                       loop end
D0/5A24: AC 40 40                 set (bg2) hdma scroll data (amplitude 0, frequency 0, horizontal)
D0/5A27: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/5A29: C9 FF                    play sound effect $FF
D0/5A2B: BD 40                    show bg3 thread
D0/5A2D: EA 41                    set bg3 tile data quadrant to 1
D0/5A2F: 09                       [$09]
D0/5A30: FF                       end of script

; [ Animation Script $00D8: X-Zone (sprite) ]

D0/5A31: 00 A0                    speed 1, align to center of screen
D0/5A33: 80 72 01                 branch to $5A37 if attack hit
D0/5A36: FF                       end of script

D0/5A37: 80 8A                    command $80/$8A
D0/5A39: 89 25                    loop start (37 times)
D0/5A3B: 1F                       [---]
D0/5A3C: 8A                       loop end
D0/5A3D: 89 12                    loop start (18 times)
D0/5A3F: 1F                       [---]
D0/5A40: 8A                       loop end
D0/5A41: F1 80                    hide target monster sprite
D0/5A43: FF                       end of script

; [ Animation Script $00D2: X-Zone (bg3) ]

D0/5A44: 00 A0                    speed 1, align to center of screen
D0/5A46: D1 01                    invalidate character/monster sprite priority
D0/5A48: 80 8C 00                 play sound effect $00 (pan center)
D0/5A4B: C4 40                    move bg3 thread to this thread's position
D0/5A4D: 00                       [$00]
D0/5A4E: BD 50                    hide bg3 thread
D0/5A50: A5 80 64 50 DE FF 80 00  init circle at (128,100)
D0/5A58: AD 87                    set bg3 hdma scroll type to 7
D0/5A5A: AC 22 44                 set (bg3) hdma scroll data (amplitude 4, frequency 2, horizontal)
D0/5A5D: B0 FF                    set background color addition to 31 (white)
D0/5A5F: AB FF                    set bg3 animation palette color addition to 31 (white)
D0/5A61: 89 25                    loop start (37 times)
D0/5A63: A6 00 00 FF              move circle (+0,+0) and shrink by 1
D0/5A67: A7                       update circle
D0/5A68: AE 41                    update (bg3) hdma scroll data (horizontal)
D0/5A6A: B5 F2                    decrease background color addition by 2 (white)
D0/5A6C: B3 F2                    decrease bg3 animation palette color addition by 2 (white)
D0/5A6E: 00                       [$00]
D0/5A6F: 8A                       loop end
D0/5A70: 89 12                    loop start (18 times)
D0/5A72: A6 00 00 FE              move circle (+0,+0) and shrink by 2
D0/5A76: A7                       update circle
D0/5A77: AE 41                    update (bg3) hdma scroll data (horizontal)
D0/5A79: B5 F2                    decrease background color addition by 2 (white)
D0/5A7B: B3 F2                    decrease bg3 animation palette color addition by 2 (white)
D0/5A7D: 00                       [$00]
D0/5A7E: 8A                       loop end
D0/5A7F: 80 24                    clear bg3 hdma scroll data
D0/5A81: AD 85                    set bg3 hdma scroll type to 5
D0/5A83: FF                       end of script

; [ Animation Script $00D1: Quake (bg1) ]

D0/5A84: 00 A0                    speed 1, align to center of screen
D0/5A86: 80 8C 00                 play sound effect $00 (pan center)
D0/5A89: D1 01                    invalidate character/monster sprite priority
D0/5A8B: D0 30                    set tile priority to 3 for all character/monster sprites
D0/5A8D: C4 80                    move bg1 thread to this thread's position
D0/5A8F: A5 80 90 02 DE FF 7F 00  init circle at (128,144)
D0/5A97: 00                       [$00]
D0/5A98: BD 50                    hide bg3 thread
D0/5A9A: 89 0F                    loop start (15 times)
D0/5A9C: D6 01 00                 scroll background to (1,0)
D0/5A9F: A6 00 00 04              move circle (+0,+0) and grow by 4
D0/5AA3: A7                       update circle
D0/5AA4: 00                       [$00]
D0/5AA5: D6 FF 00                 scroll background to (-1,0)
D0/5AA8: A6 00 00 04              move circle (+0,+0) and grow by 4
D0/5AAC: A7                       update circle
D0/5AAD: 00                       [$00]
D0/5AAE: 8A                       loop end
D0/5AAF: 89 20                    loop start (32 times)
D0/5AB1: D6 02 00                 scroll background to (2,0)
D0/5AB4: 83 61                    move forward 2
D0/5AB6: A6 02 00 00              move circle (+2,+0)
D0/5ABA: A7                       update circle
D0/5ABB: 00                       [$00]
D0/5ABC: D6 FE 00                 scroll background to (-2,0)
D0/5ABF: 83 81                    move back 2
D0/5AC1: A6 FE 00 00              move circle (-2,+0)
D0/5AC5: A7                       update circle
D0/5AC6: 00                       [$00]
D0/5AC7: 8A                       loop end
D0/5AC8: 89 0B                    loop start (11 times)
D0/5ACA: D6 01 00                 scroll background to (1,0)
D0/5ACD: A6 00 00 FC              move circle (+0,+0) and shrink by 4
D0/5AD1: A7                       update circle
D0/5AD2: 00                       [$00]
D0/5AD3: D6 FF 00                 scroll background to (-1,0)
D0/5AD6: A6 00 00 FC              move circle (+0,+0) and shrink by 4
D0/5ADA: A7                       update circle
D0/5ADB: 00                       [$00]
D0/5ADC: 8A                       loop end
D0/5ADD: D6 00 00                 scroll background to (0,0)
D0/5AE0: FF                       end of script

; [ Animation Script $00CF: Meteor (bg1) ]

D0/5AE1: 00 A0                    speed 1, align to center of screen
D0/5AE3: D1 01                    invalidate character/monster sprite priority
D0/5AE5: 80 8C 00                 play sound effect $00 (pan center)
D0/5AE8: D0 20                    set tile priority to 2 for all character/monster sprites
D0/5AEA: C4 80                    move bg1 thread to this thread's position
D0/5AEC: A5 80 50 02 DE FF 7F 00  init circle at (128,80)
D0/5AF4: 00                       [$00]
D0/5AF5: BD 50                    hide bg3 thread
D0/5AF7: AF 60                    set background color subtraction to 0 (red)
D0/5AF9: 89 0F                    loop start (15 times)
D0/5AFB: B6 63                    increase background color subtraction by 3 (red)
D0/5AFD: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/5B00: A6 00 00 08              move circle (+0,+0) and grow by 8
D0/5B04: A7                       update circle
D0/5B05: 00                       [$00]
D0/5B06: 8A                       loop end
D0/5B07: 89 C4                    loop start (196 times)
D0/5B09: A3 17 33                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/5B0C: 00                       [$00]
D0/5B0D: 8A                       loop end
D0/5B0E: 89 20                    loop start (32 times)
D0/5B10: A3 17 33                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/5B13: 00                       [$00]
D0/5B14: 8A                       loop end
D0/5B15: 89 0E                    loop start (14 times)
D0/5B17: B6 73                    decrease background color subtraction by 3 (red)
D0/5B19: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/5B1C: A6 00 00 F8              move circle (+0,+0) and shrink by 8
D0/5B20: A7                       update circle
D0/5B21: 00                       [$00]
D0/5B22: 8A                       loop end
D0/5B23: FF                       end of script

; [ Animation Script $00D0: Meteor (bg3) ]

D0/5B24: 00 A0                    speed 1, align to center of screen
D0/5B26: D0 30                    set tile priority to 3 for all character/monster sprites
D0/5B28: C4 40                    move bg3 thread to this thread's position
D0/5B2A: 00                       [$00]
D0/5B2B: BD 50                    hide bg3 thread
D0/5B2D: 89 07                    loop start (7 times)
D0/5B2F: 00                       [$00]
D0/5B30: 00                       [$00]
D0/5B31: 00                       [$00]
D0/5B32: 00                       [$00]
D0/5B33: 8A                       loop end
D0/5B34: 89 38                    loop start (56 times)
D0/5B36: 00                       [$00]
D0/5B37: 00                       [$00]
D0/5B38: 00                       [$00]
D0/5B39: 00                       [$00]
D0/5B3A: 8A                       loop end
D0/5B3B: FF                       end of script

; [ Animation Script $00CE: Meteor (sprite) ]

D0/5B3C: 00 A0                    speed 1, align to center of screen
D0/5B3E: 89 10                    loop start (16 times)
D0/5B40: 1F                       [---]
D0/5B41: 8A                       loop end
D0/5B42: EB                       jump based on thread ($5B4F, $5B4F, $5B4F, $5B6B, $5B6B, $5B6B)
D0/5B4F: BF 7B 5B                 jump to subroutine $5B7B
D0/5B52: BF 7B 5B                 jump to subroutine $5B7B
D0/5B55: BF 7B 5B                 jump to subroutine $5B7B
D0/5B58: BF 7B 5B                 jump to subroutine $5B7B
D0/5B5B: BF 7B 5B                 jump to subroutine $5B7B
D0/5B5E: BF 7B 5B                 jump to subroutine $5B7B
D0/5B61: BF 7B 5B                 jump to subroutine $5B7B
D0/5B64: BF 7B 5B                 jump to subroutine $5B7B
D0/5B67: BF 7B 5B                 jump to subroutine $5B7B
D0/5B6A: FF                       end of script

D0/5B6B: BF C3 5B                 jump to subroutine $5BC3
D0/5B6E: BF C3 5B                 jump to subroutine $5BC3
D0/5B71: BF C3 5B                 jump to subroutine $5BC3
D0/5B74: BF C3 5B                 jump to subroutine $5BC3
D0/5B77: BF C3 5B                 jump to subroutine $5BC3
D0/5B7A: FF                       end of script

D0/5B7B: 80 11                    choose random polar angle
D0/5B7D: 83 47                    move down/back 8
D0/5B7F: 89 01                    loop start (1 times)
D0/5B81: E8 08 00                 move in polar coordinates (8,0)
D0/5B84: 00                       [$00]
D0/5B85: 8A                       loop end
D0/5B86: 89 01                    loop start (1 times)
D0/5B88: E8 08 00                 move in polar coordinates (8,0)
D0/5B8B: 01                       [$01]
D0/5B8C: 8A                       loop end
D0/5B8D: 89 01                    loop start (1 times)
D0/5B8F: E8 08 00                 move in polar coordinates (8,0)
D0/5B92: 02                       [$02]
D0/5B93: 8A                       loop end
D0/5B94: 89 01                    loop start (1 times)
D0/5B96: E8 08 00                 move in polar coordinates (8,0)
D0/5B99: 03                       [$03]
D0/5B9A: 8A                       loop end
D0/5B9B: 89 01                    loop start (1 times)
D0/5B9D: E8 08 00                 move in polar coordinates (8,0)
D0/5BA0: 04                       [$04]
D0/5BA1: 8A                       loop end
D0/5BA2: 89 01                    loop start (1 times)
D0/5BA4: E8 10 00                 move in polar coordinates (16,0)
D0/5BA7: 05                       [$05]
D0/5BA8: 8A                       loop end
D0/5BA9: 83 A3                    move up/forward 4
D0/5BAB: 89 01                    loop start (1 times)
D0/5BAD: E8 10 00                 move in polar coordinates (16,0)
D0/5BB0: 06                       [$06]
D0/5BB1: 8A                       loop end
D0/5BB2: 83 A3                    move up/forward 4
D0/5BB4: 89 02                    loop start (2 times)
D0/5BB6: E8 10 00                 move in polar coordinates (16,0)
D0/5BB9: 07                       [$07]
D0/5BBA: 8A                       loop end
D0/5BBB: 89 02                    loop start (2 times)
D0/5BBD: E8 10 00                 move in polar coordinates (16,0)
D0/5BC0: 08                       [$08]
D0/5BC1: 8A                       loop end
D0/5BC2: C0                       return from subroutine

D0/5BC3: 80 11                    choose random polar angle
D0/5BC5: 83 47                    move down/back 8
D0/5BC7: 89 01                    loop start (1 times)
D0/5BC9: E8 04 00                 move in polar coordinates (4,0)
D0/5BCC: 00                       [$00]
D0/5BCD: 8A                       loop end
D0/5BCE: 89 01                    loop start (1 times)
D0/5BD0: E8 04 00                 move in polar coordinates (4,0)
D0/5BD3: 01                       [$01]
D0/5BD4: 8A                       loop end
D0/5BD5: 89 01                    loop start (1 times)
D0/5BD7: E8 06 00                 move in polar coordinates (6,0)
D0/5BDA: 02                       [$02]
D0/5BDB: 8A                       loop end
D0/5BDC: 89 02                    loop start (2 times)
D0/5BDE: E8 06 00                 move in polar coordinates (6,0)
D0/5BE1: 03                       [$03]
D0/5BE2: 8A                       loop end
D0/5BE3: 89 02                    loop start (2 times)
D0/5BE5: E8 08 00                 move in polar coordinates (8,0)
D0/5BE8: 04                       [$04]
D0/5BE9: 8A                       loop end
D0/5BEA: 89 02                    loop start (2 times)
D0/5BEC: E8 08 00                 move in polar coordinates (8,0)
D0/5BEF: 05                       [$05]
D0/5BF0: 8A                       loop end
D0/5BF1: 83 A3                    move up/forward 4
D0/5BF3: 89 03                    loop start (3 times)
D0/5BF5: E8 0C 00                 move in polar coordinates (12,0)
D0/5BF8: 06                       [$06]
D0/5BF9: 8A                       loop end
D0/5BFA: 83 A3                    move up/forward 4
D0/5BFC: 89 03                    loop start (3 times)
D0/5BFE: E8 0C 00                 move in polar coordinates (12,0)
D0/5C01: 07                       [$07]
D0/5C02: 8A                       loop end
D0/5C03: 89 03                    loop start (3 times)
D0/5C05: E8 0C 00                 move in polar coordinates (12,0)
D0/5C08: 08                       [$08]
D0/5C09: 8A                       loop end
D0/5C0A: C0                       return from subroutine

; [ Animation Script $00CC: Poison (sprite) ]

D0/5C0B: 20 00                    speed 3, align to bottom of character/monster
D0/5C0D: C9 00                    play default sound effect
D0/5C0F: 8B 1A                    animated loop start (26 times, increment frame offset each time)
D0/5C11: 00                       [$00]
D0/5C12: 8C                       animated loop end
D0/5C13: FF                       end of script

; [ Animation Script $00CD: Doom, Roulette (sprite) ]

D0/5C14: 00 40                    speed 1, align to top of character/monster
D0/5C16: 80 72 01                 branch to $5C1A if attack hit
D0/5C19: FF                       end of script

D0/5C1A: C9 00                    play default sound effect
D0/5C1C: D1 01                    invalidate character/monster sprite priority
D0/5C1E: 90 20                    set animation tile priority to 2
D0/5C20: F0                       jump based on target ($5C2B, $5C2B, $5C2B, $5C2B, $5C2F)
D0/5C2B: 83 CF                    move up 16
D0/5C2D: 83 83                    move back 4
D0/5C2F: 89 A0                    loop start (160 times)
D0/5C31: 83 C0                    move up 1
D0/5C33: 00                       [$00]
D0/5C34: 8A                       loop end
D0/5C35: FF                       end of script

D0/5C36: BD A0                    hide bg1 thread
D0/5C38: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/5C3A: 89 10                    loop start (16 times)
D0/5C3C: 83 C0                    move up 1
D0/5C3E: 1F                       [---]
D0/5C3F: CF E2                    increase bg1 animation palette color subtraction by 2 (black)
D0/5C41: 8A                       loop end
D0/5C42: D0 30                    set tile priority to 3 for all character/monster sprites
D0/5C44: BD 80                    show bg1 thread
D0/5C46: C0                       return from subroutine

; [ Animation Script $003C: Doom, Roulette (bg1) ]

D0/5C47: 00 20                    speed 1, align to center of character/monster
D0/5C49: 80 72 01                 branch to $5C4D if attack hit
D0/5C4C: FF                       end of script

D0/5C4D: EE 20                    set target sprite tile priority to 2
D0/5C4F: F0                       jump based on target ($5C6D, $5C87, $5CA1, $5CBB, $5C5A)
D0/5C5A: C4 80                    move bg1 thread to this thread's position
D0/5C5C: BD A0                    hide bg1 thread
D0/5C5E: 89 58                    loop start (88 times)
D0/5C60: 83 C0                    move up 1
D0/5C62: 0F                       [$0F]
D0/5C63: 8A                       loop end
D0/5C64: BF 36 5C                 jump to subroutine $5C36
D0/5C67: C4 80                    move bg1 thread to this thread's position
D0/5C69: BD A0                    hide bg1 thread
D0/5C6B: 0F                       [$0F]
D0/5C6C: FF                       end of script

D0/5C6D: EA 81                    set bg1 tile data quadrant to 1
D0/5C6F: 0F                       [$0F]
D0/5C70: EA 82                    set bg1 tile data quadrant to 2
D0/5C72: 0F                       [$0F]
D0/5C73: EA 83                    set bg1 tile data quadrant to 3
D0/5C75: 0F                       [$0F]
D0/5C76: 89 58                    loop start (88 times)
D0/5C78: 83 C0                    move up 1
D0/5C7A: 00                       [$00]
D0/5C7B: 8A                       loop end
D0/5C7C: BF 36 5C                 jump to subroutine $5C36
D0/5C7F: 83 3F                    move down 32
D0/5C81: 83 3F                    move down 32
D0/5C83: 83 38                    move down 25
D0/5C85: 0F                       [$0F]
D0/5C86: FF                       end of script

D0/5C87: EA 81                    set bg1 tile data quadrant to 1
D0/5C89: 0F                       [$0F]
D0/5C8A: EA 82                    set bg1 tile data quadrant to 2
D0/5C8C: 0F                       [$0F]
D0/5C8D: EA 83                    set bg1 tile data quadrant to 3
D0/5C8F: 0F                       [$0F]
D0/5C90: 89 58                    loop start (88 times)
D0/5C92: 83 C0                    move up 1
D0/5C94: 01                       [$01]
D0/5C95: 8A                       loop end
D0/5C96: BF 36 5C                 jump to subroutine $5C36
D0/5C99: 83 3F                    move down 32
D0/5C9B: 83 3F                    move down 32
D0/5C9D: 83 38                    move down 25
D0/5C9F: 0F                       [$0F]
D0/5CA0: FF                       end of script

D0/5CA1: EA 81                    set bg1 tile data quadrant to 1
D0/5CA3: 0F                       [$0F]
D0/5CA4: EA 82                    set bg1 tile data quadrant to 2
D0/5CA6: 0F                       [$0F]
D0/5CA7: EA 83                    set bg1 tile data quadrant to 3
D0/5CA9: 0F                       [$0F]
D0/5CAA: 89 58                    loop start (88 times)
D0/5CAC: 83 C0                    move up 1
D0/5CAE: 02                       [$02]
D0/5CAF: 8A                       loop end
D0/5CB0: BF 36 5C                 jump to subroutine $5C36
D0/5CB3: 83 3F                    move down 32
D0/5CB5: 83 3F                    move down 32
D0/5CB7: 83 38                    move down 25
D0/5CB9: 0F                       [$0F]
D0/5CBA: FF                       end of script

D0/5CBB: EA 81                    set bg1 tile data quadrant to 1
D0/5CBD: 0F                       [$0F]
D0/5CBE: EA 82                    set bg1 tile data quadrant to 2
D0/5CC0: 0F                       [$0F]
D0/5CC1: EA 83                    set bg1 tile data quadrant to 3
D0/5CC3: 0F                       [$0F]
D0/5CC4: 89 58                    loop start (88 times)
D0/5CC6: 83 C0                    move up 1
D0/5CC8: 03                       [$03]
D0/5CC9: 8A                       loop end
D0/5CCA: BF 36 5C                 jump to subroutine $5C36
D0/5CCD: 83 3F                    move down 32
D0/5CCF: 83 3F                    move down 32
D0/5CD1: 83 38                    move down 25
D0/5CD3: 0F                       [$0F]
D0/5CD4: FF                       end of script

; [ Animation Script $00C6: Bolt (sprite) ]

D0/5CD5: 20 00                    speed 3, align to bottom of character/monster
D0/5CD7: D1 01                    invalidate character/monster sprite priority
D0/5CD9: 90 00                    set animation tile priority to 0
D0/5CDB: 83 9F                    move back 32
D0/5CDD: 83 9F                    move back 32
D0/5CDF: C9 00                    play default sound effect
D0/5CE1: 00                       [$00]
D0/5CE2: 01                       [$01]
D0/5CE3: 02                       [$02]
D0/5CE4: 03                       [$03]
D0/5CE5: 80 3B                    change target's color palette to animation palette
D0/5CE7: 04                       [$04]
D0/5CE8: 80 3C                    restore target's color palette
D0/5CEA: 05                       [$05]
D0/5CEB: 80 3B                    change target's color palette to animation palette
D0/5CED: 06                       [$06]
D0/5CEE: 80 3C                    restore target's color palette
D0/5CF0: 07                       [$07]
D0/5CF1: 80 3B                    change target's color palette to animation palette
D0/5CF3: 08                       [$08]
D0/5CF4: 80 3C                    restore target's color palette
D0/5CF6: 09                       [$09]
D0/5CF7: F4 01                    show sprite behind character/monster sprites
D0/5CF9: 0A                       [$0A]
D0/5CFA: 0B                       [$0B]
D0/5CFB: 0C                       [$0C]
D0/5CFC: F4 00                    show sprite in front of character/monster sprites
D0/5CFE: 0D                       [$0D]
D0/5CFF: 0E                       [$0E]
D0/5D00: 0F                       [$0F]
D0/5D01: FF                       end of script

; [ Animation Script $00C7: Bolt 2, Mega Volt (sprite) ]

D0/5D02: 00 00                    speed 1, align to bottom of character/monster
D0/5D04: D1 01                    invalidate character/monster sprite priority
D0/5D06: C9 00                    play default sound effect
D0/5D08: 8B 10                    animated loop start (16 times, increment frame offset each time)
D0/5D0A: 00                       [$00]
D0/5D0B: 8C                       animated loop end
D0/5D0C: 80 3B                    change target's color palette to animation palette
D0/5D0E: 11                       [$11]
D0/5D0F: 12                       [$12]
D0/5D10: 80 3C                    restore target's color palette
D0/5D12: 13                       [$13]
D0/5D13: 14                       [$14]
D0/5D14: 80 3B                    change target's color palette to animation palette
D0/5D16: 15                       [$15]
D0/5D17: 16                       [$16]
D0/5D18: 80 3C                    restore target's color palette
D0/5D1A: 17                       [$17]
D0/5D1B: 18                       [$18]
D0/5D1C: 80 3B                    change target's color palette to animation palette
D0/5D1E: 19                       [$19]
D0/5D1F: 1A                       [$1A]
D0/5D20: 80 3C                    restore target's color palette
D0/5D22: 84 04                    set animation speed to 5
D0/5D24: EC 01                    change thread layer to bg1
D0/5D26: 80 17                    update sprite layer priority based on target
D0/5D28: 00                       [$00]
D0/5D29: 01                       [$01]
D0/5D2A: 02                       [$02]
D0/5D2B: 03                       [$03]
D0/5D2C: 04                       [$04]
D0/5D2D: FF                       end of script

; [ Animation Script $00C2: Fire 2 (sprite) ]

D0/5D2E: 30 00                    speed 4, align to bottom of character/monster
D0/5D30: D1 01                    invalidate character/monster sprite priority
D0/5D32: C9 00                    play default sound effect
D0/5D34: 00                       [$00]
D0/5D35: 01                       [$01]
D0/5D36: 80 3B                    change target's color palette to animation palette
D0/5D38: 02                       [$02]
D0/5D39: 80 3C                    restore target's color palette
D0/5D3B: 03                       [$03]
D0/5D3C: 80 3B                    change target's color palette to animation palette
D0/5D3E: 04                       [$04]
D0/5D3F: EC 01                    change thread layer to bg1
D0/5D41: 80 17                    update sprite layer priority based on target
D0/5D43: 83 69                    move forward 10
D0/5D45: 00                       [$00]
D0/5D46: 80 3C                    restore target's color palette
D0/5D48: 01                       [$01]
D0/5D49: 02                       [$02]
D0/5D4A: 03                       [$03]
D0/5D4B: 04                       [$04]
D0/5D4C: FF                       end of script

; [ Animation Script $00C1: Fire, Blaze (sprite) ]

D0/5D4D: 40 00                    speed 5, align to bottom of character/monster
D0/5D4F: 90 00                    set animation tile priority to 0
D0/5D51: EB                       jump based on thread ($5D58, $5D5E, $5D65)
D0/5D58: C9 00                    play default sound effect
D0/5D5A: 80 3B                    change target's color palette to animation palette
D0/5D5C: 83 99                    move back 26
D0/5D5E: 8B 04                    animated loop start (4 times, increment frame offset each time)
D0/5D60: 00                       [$00]
D0/5D61: 80 3C                    restore target's color palette
D0/5D63: 8C                       animated loop end
D0/5D64: FF                       end of script

D0/5D65: 83 79                    move forward 26
D0/5D67: 8B 04                    animated loop start (4 times, increment frame offset each time)
D0/5D69: 00                       [$00]
D0/5D6A: 8C                       animated loop end
D0/5D6B: FF                       end of script

; [ Animation Script $00BE: Dispel (sprite) ]

D0/5D6C: 00 20                    speed 1, align to center of character/monster
D0/5D6E: BF 25 5F                 jump to subroutine $5F25
D0/5D71: 80 16                    command $80/$16
D0/5D73: EB                       jump based on thread ($5D80, $5D88, $5D8E, $5D94, $5D9A, $5DA0)
D0/5D80: D1 01                    invalidate character/monster sprite priority
D0/5D82: EF 28 00                 move in flattened polar coordinates (40,0)
D0/5D85: FA A3 5D                 jump to $5DA3
D0/5D88: EF 28 2A                 move in flattened polar coordinates (40,42)
D0/5D8B: FA A3 5D                 jump to $5DA3
D0/5D8E: EF 28 54                 move in flattened polar coordinates (40,84)
D0/5D91: FA A3 5D                 jump to $5DA3
D0/5D94: EF 28 7E                 move in flattened polar coordinates (40,126)
D0/5D97: FA A3 5D                 jump to $5DA3
D0/5D9A: EF 28 A8                 move in flattened polar coordinates (40,-88)
D0/5D9D: FA A3 5D                 jump to $5DA3
D0/5DA0: EF 28 D2                 move in flattened polar coordinates (40,-46)
D0/5DA3: 89 40                    loop start (64 times)
D0/5DA5: EF 00 FA                 move in flattened polar coordinates (0,-6)
D0/5DA8: 80 21                    update sprite layer priority based on polar movement angle
D0/5DAA: 98 04 03                 increment frame offset every 4 loops (0..3)
D0/5DAD: 00                       [$00]
D0/5DAE: 8A                       loop end
D0/5DAF: C2 80                    unpause bg1 thread
D0/5DB1: 89 14                    loop start (20 times)
D0/5DB3: 83 C7                    move up 8
D0/5DB5: EF 06 FA                 move in flattened polar coordinates (6,-6)
D0/5DB8: 80 21                    update sprite layer priority based on polar movement angle
D0/5DBA: 98 04 03                 increment frame offset every 4 loops (0..3)
D0/5DBD: 00                       [$00]
D0/5DBE: 8A                       loop end
D0/5DBF: FF                       end of script

; [ Animation Script $00BF: Dispel (bg1) ]

D0/5DC0: 00 20                    speed 1, align to center of character/monster
D0/5DC2: B0 FF                    set background color addition to 31 (white)
D0/5DC4: 89 05                    loop start (5 times)
D0/5DC6: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/5DC9: B5 F1                    decrease background color addition by 1 (white)
D0/5DCB: 00                       [$00]
D0/5DCC: 8A                       loop end
D0/5DCD: 89 05                    loop start (5 times)
D0/5DCF: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/5DD2: B5 F1                    decrease background color addition by 1 (white)
D0/5DD4: 01                       [$01]
D0/5DD5: 8A                       loop end
D0/5DD6: 89 05                    loop start (5 times)
D0/5DD8: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/5DDB: B5 F1                    decrease background color addition by 1 (white)
D0/5DDD: 02                       [$02]
D0/5DDE: 8A                       loop end
D0/5DDF: 89 05                    loop start (5 times)
D0/5DE1: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/5DE4: B5 F1                    decrease background color addition by 1 (white)
D0/5DE6: 03                       [$03]
D0/5DE7: 8A                       loop end
D0/5DE8: 89 20                    loop start (32 times)
D0/5DEA: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/5DED: B5 F1                    decrease background color addition by 1 (white)
D0/5DEF: 04                       [$04]
D0/5DF0: 8A                       loop end
D0/5DF1: FF                       end of script

; [ Animation Script $00BC: Warp, Warp Stone (bg1) ]

D0/5DF2: 40 20                    speed 5, align to center of character/monster
D0/5DF4: 80 72 01                 branch to $5DF8 if attack hit
D0/5DF7: FF                       end of script

D0/5DF8: 80 8C 00                 play sound effect $00 (pan center)
D0/5DFB: 0F                       [$0F]
D0/5DFC: BE 13                    set screen mosaic to $13
D0/5DFE: 0F                       [$0F]
D0/5DFF: BE 23                    set screen mosaic to $23
D0/5E01: 0F                       [$0F]
D0/5E02: BE 33                    set screen mosaic to $33
D0/5E04: 0F                       [$0F]
D0/5E05: BE 43                    set screen mosaic to $43
D0/5E07: 0F                       [$0F]
D0/5E08: BE 53                    set screen mosaic to $53
D0/5E0A: 0F                       [$0F]
D0/5E0B: BE 63                    set screen mosaic to $63
D0/5E0D: 0F                       [$0F]
D0/5E0E: BE 73                    set screen mosaic to $73
D0/5E10: 0F                       [$0F]
D0/5E11: BE 93                    set screen mosaic to $93
D0/5E13: 0F                       [$0F]
D0/5E14: BE A3                    set screen mosaic to $A3
D0/5E16: 0F                       [$0F]
D0/5E17: BE B3                    set screen mosaic to $B3
D0/5E19: 0F                       [$0F]
D0/5E1A: BE C3                    set screen mosaic to $C3
D0/5E1C: 0F                       [$0F]
D0/5E1D: BE D3                    set screen mosaic to $D3
D0/5E1F: 0F                       [$0F]
D0/5E20: BE E3                    set screen mosaic to $E3
D0/5E22: 0F                       [$0F]
D0/5E23: BE F3                    set screen mosaic to $F3
D0/5E25: 84 02                    set animation speed to 3
D0/5E27: 89 0F                    loop start (15 times)
D0/5E29: 80 1C                    decrement screen brightness
D0/5E2B: 0F                       [$0F]
D0/5E2C: 8A                       loop end
D0/5E2D: FF                       end of script

; [ Animation Script $00B9: Vanish (bg1) ]

D0/5E2E: 30 20                    speed 4, align to center of character/monster
D0/5E30: C9 00                    play default sound effect
D0/5E32: 8B 07                    animated loop start (7 times, increment frame offset each time)
D0/5E34: 00                       [$00]
D0/5E35: 8C                       animated loop end
D0/5E36: 07                       [$07]
D0/5E37: 07                       [$07]
D0/5E38: 07                       [$07]
D0/5E39: 07                       [$07]
D0/5E3A: 07                       [$07]
D0/5E3B: 07                       [$07]
D0/5E3C: C9 47                    play sound effect $47
D0/5E3E: 8B 07                    animated loop start (7 times, increment frame offset each time)
D0/5E40: 08                       [$08]
D0/5E41: 8C                       animated loop end
D0/5E42: 80 72 01                 branch to $5E46 if attack hit
D0/5E45: FF                       end of script

D0/5E46: 80 14                    make target vanish
D0/5E48: FF                       end of script

; [ Animation Script $00BD: Quick (sprite) ]

D0/5E49: 40 20                    speed 5, align to center of character/monster
D0/5E4B: D1 01                    invalidate character/monster sprite priority
D0/5E4D: C9 00                    play default sound effect
D0/5E4F: 00                       [$00]
D0/5E50: 01                       [$01]
D0/5E51: 02                       [$02]
D0/5E52: 03                       [$03]
D0/5E53: 04                       [$04]
D0/5E54: 05                       [$05]
D0/5E55: 06                       [$06]
D0/5E56: 07                       [$07]
D0/5E57: C9 40                    play sound effect $40
D0/5E59: 08                       [$08]
D0/5E5A: 09                       [$09]
D0/5E5B: 0A                       [$0A]
D0/5E5C: 0B                       [$0B]
D0/5E5D: 0C                       [$0C]
D0/5E5E: 8C                       animated loop end
D0/5E5F: FF                       end of script

; [ Animation Script $00B8: TekBarrier (bg3) ]

D0/5E60: 00 20                    speed 1, align to center of character/monster
D0/5E62: 00                       [$00]
D0/5E63: BD 50                    hide bg3 thread
D0/5E65: 89 60                    loop start (96 times)
D0/5E67: 00                       [$00]
D0/5E68: 8A                       loop end
D0/5E69: FF                       end of script

; [ Animation Script $00B6: TekBarrier (sprite) ]

D0/5E6A: 30 20                    speed 4, align to center of character/monster
D0/5E6C: 83 AF                    move up/forward 16
D0/5E6E: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/5E71: 00                       [$00]
D0/5E72: 01                       [$01]
D0/5E73: 02                       [$02]
D0/5E74: 03                       [$03]
D0/5E75: 04                       [$04]
D0/5E76: 05                       [$05]
D0/5E77: 06                       [$06]
D0/5E78: 07                       [$07]
D0/5E79: 08                       [$08]
D0/5E7A: 09                       [$09]
D0/5E7B: 0A                       [$0A]
D0/5E7C: FF                       end of script

; [ Animation Script $00B7: TekBarrier (bg1) ]

D0/5E7D: 00 20                    speed 1, align to center of character/monster
D0/5E7F: C9 00                    play default sound effect
D0/5E81: D1 01                    invalidate character/monster sprite priority
D0/5E83: DD 00 00 00 00           init triangle
D0/5E88: DF                       move triangle to target position
D0/5E89: DC                       update triangle 2d
D0/5E8A: 00                       [$00]
D0/5E8B: BD A0                    hide bg1 thread
D0/5E8D: 89 30                    loop start (48 times)
D0/5E8F: E0 00 00 02 08           move triangle (+0,+0) and change diameter by +2, rotate +8 units
D0/5E94: DC                       update triangle 2d
D0/5E95: A3 16 33                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/5E98: 00                       [$00]
D0/5E99: 8A                       loop end
D0/5E9A: 89 30                    loop start (48 times)
D0/5E9C: E0 00 00 FE 08           move triangle (+0,+0) and change diameter by -2, rotate +8 units
D0/5EA1: DC                       update triangle 2d
D0/5EA2: A3 16 33                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/5EA5: 00                       [$00]
D0/5EA6: 8A                       loop end
D0/5EA7: FF                       end of script

; [ Animation Script $00B4: Rflect (sprite) ]

D0/5EA8: 20 20                    speed 3, align to center of character/monster
D0/5EAA: 89 02                    loop start (2 times)
D0/5EAC: C9 00                    play default sound effect
D0/5EAE: 00                       [$00]
D0/5EAF: 01                       [$01]
D0/5EB0: 02                       [$02]
D0/5EB1: 03                       [$03]
D0/5EB2: 8A                       loop end
D0/5EB3: FF                       end of script

; [ Animation Script $00B5: Shell (bg1) ]

D0/5EB4: 00 20                    speed 1, align to center of character/monster
D0/5EB6: C9 00                    play default sound effect
D0/5EB8: D1 01                    invalidate character/monster sprite priority
D0/5EBA: 00                       [$00]
D0/5EBB: BD A0                    hide bg1 thread
D0/5EBD: 89 40                    loop start (64 times)
D0/5EBF: A4 16 33                 shift colors (1..7) of bg1 animation/esper palette right (3 loops per shift)
D0/5EC2: 00                       [$00]
D0/5EC3: 8A                       loop end
D0/5EC4: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/5EC6: 89 20                    loop start (32 times)
D0/5EC8: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/5ECA: A4 16 33                 shift colors (1..7) of bg1 animation/esper palette right (3 loops per shift)
D0/5ECD: 00                       [$00]
D0/5ECE: 8A                       loop end
D0/5ECF: FF                       end of script

; [ Animation Script $00B2: Imp (sprite) ]

D0/5ED0: 20 20                    speed 3, align to center of character/monster
D0/5ED2: 90 00                    set animation tile priority to 0
D0/5ED4: 83 B0                    move up/forward 17
D0/5ED6: C9 00                    play default sound effect
D0/5ED8: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/5EDB: 00                       [$00]
D0/5EDC: 01                       [$01]
D0/5EDD: 02                       [$02]
D0/5EDE: 03                       [$03]
D0/5EDF: 04                       [$04]
D0/5EE0: 05                       [$05]
D0/5EE1: C2 80                    unpause bg1 thread
D0/5EE3: FF                       end of script

; [ Animation Script $00B3: Imp (bg1) ]

D0/5EE4: 00 20                    speed 1, align to center of character/monster
D0/5EE6: D1 01                    invalidate character/monster sprite priority
D0/5EE8: A5 00 00 00 FF FF 30 00  init circle at (0,0)
D0/5EF0: 00                       [$00]
D0/5EF1: BD A0                    hide bg1 thread
D0/5EF3: C3                       move circle to target
D0/5EF4: C9 38                    play sound effect $38
D0/5EF6: 89 2C                    loop start (44 times)
D0/5EF8: A6 00 00 01              move circle (+0,+0) and grow by 1
D0/5EFC: A7                       update circle
D0/5EFD: 00                       [$00]
D0/5EFE: 8A                       loop end
D0/5EFF: EE 20                    set target sprite tile priority to 2
D0/5F01: 80 72 0A                 branch to $5F0E if attack hit
D0/5F04: 89 2C                    loop start (44 times)
D0/5F06: A6 00 00 FF              move circle (+0,+0) and shrink by 1
D0/5F0A: A7                       update circle
D0/5F0B: 00                       [$00]
D0/5F0C: 8A                       loop end
D0/5F0D: FF                       end of script

D0/5F0E: 80 13                    toggle imp graphics for target
D0/5F10: 89 2C                    loop start (44 times)
D0/5F12: A6 00 00 FF              move circle (+0,+0) and shrink by 1
D0/5F16: A7                       update circle
D0/5F17: 00                       [$00]
D0/5F18: 8A                       loop end
D0/5F19: FF                       end of script

; [ Animation Script $00B1: Float (sprite) ]

D0/5F1A: 40 20                    speed 5, align to center of character/monster
D0/5F1C: D1 01                    invalidate character/monster sprite priority
D0/5F1E: C9 00                    play default sound effect
D0/5F20: 8B 08                    animated loop start (8 times, increment frame offset each time)
D0/5F22: 00                       [$00]
D0/5F23: 8C                       animated loop end
D0/5F24: FF                       end of script

D0/5F25: EB                       jump based on thread ($5F36, $5F38, $5F38, $5F38, $5F38, $5F38, $5F38, $5F38)
D0/5F36: C9 00                    play default sound effect
D0/5F38: C0                       return from subroutine

; [ Animation Script $00AE: Stop (sprite) ]

D0/5F39: 30 20                    speed 4, align to center of character/monster
D0/5F3B: C9 00                    play default sound effect
D0/5F3D: 8B 10                    animated loop start (16 times, increment frame offset each time)
D0/5F3F: 00                       [$00]
D0/5F40: 8C                       animated loop end
D0/5F41: C9 29                    play sound effect $29
D0/5F43: 11                       [$11]
D0/5F44: 12                       [$12]
D0/5F45: 13                       [$13]
D0/5F46: FF                       end of script

; [ Animation Script $00AC: Haste, Haste2 (sprite) ]

D0/5F47: 20 20                    speed 3, align to center of character/monster
D0/5F49: C9 00                    play default sound effect
D0/5F4B: 00                       [$00]
D0/5F4C: 01                       [$01]
D0/5F4D: 02                       [$02]
D0/5F4E: 03                       [$03]
D0/5F4F: 04                       [$04]
D0/5F50: 05                       [$05]
D0/5F51: 06                       [$06]
D0/5F52: 07                       [$07]
D0/5F53: 08                       [$08]
D0/5F54: 09                       [$09]
D0/5F55: 0A                       [$0A]
D0/5F56: 0F                       [$0F]
D0/5F57: 10                       [$10]
D0/5F58: 11                       [$11]
D0/5F59: 12                       [$12]
D0/5F5A: 0B                       [$0B]
D0/5F5B: 0C                       [$0C]
D0/5F5C: 0D                       [$0D]
D0/5F5D: 0E                       [$0E]
D0/5F5E: 0F                       [$0F]
D0/5F5F: 10                       [$10]
D0/5F60: 11                       [$11]
D0/5F61: 12                       [$12]
D0/5F62: 09                       [$09]
D0/5F63: 08                       [$08]
D0/5F64: 07                       [$07]
D0/5F65: 05                       [$05]
D0/5F66: 04                       [$04]
D0/5F67: 03                       [$03]
D0/5F68: 02                       [$02]
D0/5F69: 01                       [$01]
D0/5F6A: 00                       [$00]
D0/5F6B: FF                       end of script

; [ Animation Script $00AD: Haste, Haste2 (bg3) ]

D0/5F6C: 00 20                    speed 1, align to center of character/monster
D0/5F6E: D1 01                    invalidate character/monster sprite priority
D0/5F70: C9 00                    play default sound effect
D0/5F72: C4 40                    move bg3 thread to this thread's position
D0/5F74: F7 A0                    wait until scanline 160
D0/5F76: 80 3E 13                 enable (sprites, bg2, bg1) in main screen
D0/5F79: AA FF                    set bg3 animation palette color subtraction to 31 (black)
D0/5F7B: 00                       [$00]
D0/5F7C: EA 41                    set bg3 tile data quadrant to 1
D0/5F7E: 00                       [$00]
D0/5F7F: BD 50                    hide bg3 thread
D0/5F81: F7 A0                    wait until scanline 160
D0/5F83: 80 3E 17                 enable (sprites, bg3, bg2, bg1) in main screen
D0/5F86: 89 1F                    loop start (31 times)
D0/5F88: 83 60                    move forward 1
D0/5F8A: B4 F1                    decrease bg3 animation palette color subtraction by 1 (black)
D0/5F8C: 00                       [$00]
D0/5F8D: 8A                       loop end
D0/5F8E: 89 40                    loop start (64 times)
D0/5F90: 83 60                    move forward 1
D0/5F92: 00                       [$00]
D0/5F93: 8A                       loop end
D0/5F94: 89 1F                    loop start (31 times)
D0/5F96: 83 60                    move forward 1
D0/5F98: B4 E1                    increase bg3 animation palette color subtraction by 1 (black)
D0/5F9A: 00                       [$00]
D0/5F9B: 8A                       loop end
D0/5F9C: BD 40                    show bg3 thread
D0/5F9E: EA 41                    set bg3 tile data quadrant to 1
D0/5FA0: 09                       [$09]
D0/5FA1: FF                       end of script

; [ Animation Script $003B: Character Graphics (bg1) ]

D0/5FA2: 00 20                    speed 1, align to center of character/monster
D0/5FA4: 80 17                    update sprite layer priority based on target
D0/5FA6: EE 20                    set target sprite tile priority to 2
D0/5FA8: F0                       jump based on target ($5FB3, $5FBE, $5FC9, $5FD4, $5FDE)
D0/5FB3: 89 80                    loop start (128 times)
D0/5FB5: 00                       [$00]
D0/5FB6: F1 00                    hide target character sprite
D0/5FB8: 8A                       loop end
D0/5FB9: F1 01                    show target character sprite
D0/5FBB: 00                       [$00]
D0/5FBC: 00                       [$00]
D0/5FBD: FF                       end of script

D0/5FBE: 89 80                    loop start (128 times)
D0/5FC0: 01                       [$01]
D0/5FC1: F1 00                    hide target character sprite
D0/5FC3: 8A                       loop end
D0/5FC4: F1 01                    show target character sprite
D0/5FC6: 01                       [$01]
D0/5FC7: 01                       [$01]
D0/5FC8: FF                       end of script

D0/5FC9: 89 80                    loop start (128 times)
D0/5FCB: 02                       [$02]
D0/5FCC: F1 00                    hide target character sprite
D0/5FCE: 8A                       loop end
D0/5FCF: F1 01                    show target character sprite
D0/5FD1: 02                       [$02]
D0/5FD2: 02                       [$02]
D0/5FD3: FF                       end of script

D0/5FD4: 89 80                    loop start (128 times)
D0/5FD6: 03                       [$03]
D0/5FD7: F1 00                    hide target character sprite
D0/5FD9: 8A                       loop end
D0/5FDA: F1 01                    show target character sprite
D0/5FDC: 03                       [$03]
D0/5FDD: 03                       [$03]
D0/5FDE: FF                       end of script

D0/5FDF: 83 60                    move forward 1
D0/5FE1: CF F1                    decrease bg1 animation palette color subtraction by 1 (black)
D0/5FE3: EA 80                    set bg1 tile data quadrant to 0
D0/5FE5: 00                       [$00]
D0/5FE6: 83 60                    move forward 1
D0/5FE8: CF F1                    decrease bg1 animation palette color subtraction by 1 (black)
D0/5FEA: EA 81                    set bg1 tile data quadrant to 1
D0/5FEC: 02                       [$02]
D0/5FED: C0                       return from subroutine

D0/5FEE: 83 60                    move forward 1
D0/5FF0: CF F1                    decrease bg1 animation palette color subtraction by 1 (black)
D0/5FF2: EA 80                    set bg1 tile data quadrant to 0
D0/5FF4: 01                       [$01]
D0/5FF5: 83 60                    move forward 1
D0/5FF7: CF F1                    decrease bg1 animation palette color subtraction by 1 (black)
D0/5FF9: EA 81                    set bg1 tile data quadrant to 1
D0/5FFB: 03                       [$03]
D0/5FFC: C0                       return from subroutine

D0/5FFD: 83 60                    move forward 1
D0/5FFF: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/6001: EA 80                    set bg1 tile data quadrant to 0
D0/6003: 00                       [$00]
D0/6004: 83 60                    move forward 1
D0/6006: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/6008: EA 81                    set bg1 tile data quadrant to 1
D0/600A: 02                       [$02]
D0/600B: C0                       return from subroutine

D0/600C: 83 60                    move forward 1
D0/600E: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/6010: EA 80                    set bg1 tile data quadrant to 0
D0/6012: 01                       [$01]
D0/6013: 83 60                    move forward 1
D0/6015: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/6017: EA 81                    set bg1 tile data quadrant to 1
D0/6019: 03                       [$03]
D0/601A: C0                       return from subroutine

; [ Animation Script $00AB: Muddle, L.3 Muddle (bg1) ]

D0/601B: 00 20                    speed 1, align to center of character/monster
D0/601D: D0 20                    set tile priority to 2 for all character/monster sprites
D0/601F: D1 01                    invalidate character/monster sprite priority
D0/6021: C9 00                    play default sound effect
D0/6023: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/6025: C4 80                    move bg1 thread to this thread's position
D0/6027: 89 0F                    loop start (15 times)
D0/6029: BF DF 5F                 jump to subroutine $5FDF
D0/602C: BF DF 5F                 jump to subroutine $5FDF
D0/602F: BF EE 5F                 jump to subroutine $5FEE
D0/6032: BF EE 5F                 jump to subroutine $5FEE
D0/6035: 8A                       loop end
D0/6036: 89 07                    loop start (7 times)
D0/6038: BF FD 5F                 jump to subroutine $5FFD
D0/603B: BF FD 5F                 jump to subroutine $5FFD
D0/603E: BF 0C 60                 jump to subroutine $600C
D0/6041: BF 0C 60                 jump to subroutine $600C
D0/6044: 8A                       loop end
D0/6045: EA 81                    set bg1 tile data quadrant to 1
D0/6047: 0F                       [$0F]
D0/6048: FF                       end of script

; [ Animation Script $00AA: Muddle, L.3 Muddle, Confusion (sprite) ]

D0/6049: 10 40                    speed 2, align to top of character/monster
D0/604B: 90 20                    set animation tile priority to 2
D0/604D: EB                       jump based on thread ($6056, $606A, $607C, $608E)
D0/6056: C9 00                    play default sound effect
D0/6058: 80 12                    init polar movement
D0/605A: EF 30 40                 move in flattened polar coordinates (48,64)
D0/605D: BF C5 60                 jump to subroutine $60C5
D0/6060: BF C5 60                 jump to subroutine $60C5
D0/6063: BF A0 60                 jump to subroutine $60A0
D0/6066: BF A0 60                 jump to subroutine $60A0
D0/6069: FF                       end of script

D0/606A: 80 12                    init polar movement
D0/606C: EF 30 80                 move in flattened polar coordinates (48,-128)
D0/606F: BF C5 60                 jump to subroutine $60C5
D0/6072: BF A0 60                 jump to subroutine $60A0
D0/6075: BF A0 60                 jump to subroutine $60A0
D0/6078: BF C5 60                 jump to subroutine $60C5
D0/607B: FF                       end of script

D0/607C: 80 12                    init polar movement
D0/607E: EF 30 C0                 move in flattened polar coordinates (48,-64)
D0/6081: BF A0 60                 jump to subroutine $60A0
D0/6084: BF A0 60                 jump to subroutine $60A0
D0/6087: BF C5 60                 jump to subroutine $60C5
D0/608A: BF C5 60                 jump to subroutine $60C5
D0/608D: FF                       end of script

D0/608E: 80 12                    init polar movement
D0/6090: EF 30 00                 move in flattened polar coordinates (48,0)
D0/6093: BF A0 60                 jump to subroutine $60A0
D0/6096: BF C5 60                 jump to subroutine $60C5
D0/6099: BF C5 60                 jump to subroutine $60C5
D0/609C: BF A0 60                 jump to subroutine $60A0
D0/609F: FF                       end of script

D0/60A0: 89 03                    loop start (3 times)
D0/60A2: 02                       [$02]
D0/60A3: EF 00 04                 move in flattened polar coordinates (0,4)
D0/60A6: 80 21                    update sprite layer priority based on polar movement angle
D0/60A8: 8A                       loop end
D0/60A9: 89 03                    loop start (3 times)
D0/60AB: 03                       [$03]
D0/60AC: EF 00 04                 move in flattened polar coordinates (0,4)
D0/60AF: 80 21                    update sprite layer priority based on polar movement angle
D0/60B1: 8A                       loop end
D0/60B2: 89 03                    loop start (3 times)
D0/60B4: 02                       [$02]
D0/60B5: EF 00 04                 move in flattened polar coordinates (0,4)
D0/60B8: 80 21                    update sprite layer priority based on polar movement angle
D0/60BA: 8A                       loop end
D0/60BB: 89 03                    loop start (3 times)
D0/60BD: 03                       [$03]
D0/60BE: EF 00 04                 move in flattened polar coordinates (0,4)
D0/60C1: 80 21                    update sprite layer priority based on polar movement angle
D0/60C3: 8A                       loop end
D0/60C4: C0                       return from subroutine

D0/60C5: 89 03                    loop start (3 times)
D0/60C7: 00                       [$00]
D0/60C8: EF 00 04                 move in flattened polar coordinates (0,4)
D0/60CB: 80 21                    update sprite layer priority based on polar movement angle
D0/60CD: 8A                       loop end
D0/60CE: 89 03                    loop start (3 times)
D0/60D0: 01                       [$01]
D0/60D1: EF 00 04                 move in flattened polar coordinates (0,4)
D0/60D4: 80 21                    update sprite layer priority based on polar movement angle
D0/60D6: 8A                       loop end
D0/60D7: 89 03                    loop start (3 times)
D0/60D9: 00                       [$00]
D0/60DA: EF 00 04                 move in flattened polar coordinates (0,4)
D0/60DD: 80 21                    update sprite layer priority based on polar movement angle
D0/60DF: 8A                       loop end
D0/60E0: 89 03                    loop start (3 times)
D0/60E2: 01                       [$01]
D0/60E3: EF 00 04                 move in flattened polar coordinates (0,4)
D0/60E6: 80 21                    update sprite layer priority based on polar movement angle
D0/60E8: 8A                       loop end
D0/60E9: C0                       return from subroutine

D0/60EA: B0 FF                    set background color addition to 31 (white)
D0/60EC: 89 20                    loop start (32 times)
D0/60EE: B5 F1                    decrease background color addition by 1 (white)
D0/60F0: 0F                       [$0F]
D0/60F1: 8A                       loop end
D0/60F2: C0                       return from subroutine

D0/60F3: 20                       unknown $20
D0/60F4: 20                       unknown $20
D0/60F5: D1 01                    invalidate character/monster sprite priority
D0/60F7: C9 00                    play default sound effect
D0/60F9: 90 00                    set animation tile priority to 0
D0/60FB: 8B 11                    animated loop start (17 times, increment frame offset each time)
D0/60FD: 00                       [$00]
D0/60FE: 8C                       animated loop end
D0/60FF: C9 47                    play sound effect $47
D0/6101: 12                       [$12]
D0/6102: 13                       [$13]
D0/6103: 14                       [$14]
D0/6104: 15                       [$15]
D0/6105: 16                       [$16]
D0/6106: 17                       [$17]
D0/6107: 18                       [$18]
D0/6108: 19                       [$19]
D0/6109: FF                       end of script

; [ Animation Script $00A5: Rasp (bg3) ]

D0/610A: 10 20                    speed 2, align to center of character/monster
D0/610C: C9 00                    play default sound effect
D0/610E: D1 01                    invalidate character/monster sprite priority
D0/6110: A5 00 00 2E FF FF 30 00  init circle at (0,0)
D0/6118: 00                       [$00]
D0/6119: BD A0                    hide bg1 thread
D0/611B: C3                       move circle to target
D0/611C: A7                       update circle
D0/611D: 89 2C                    loop start (44 times)
D0/611F: A6 00 00 FF              move circle (+0,+0) and shrink by 1
D0/6123: A7                       update circle
D0/6124: 00                       [$00]
D0/6125: 8A                       loop end
D0/6126: BD 80                    show bg1 thread
D0/6128: 89 0F                    loop start (15 times)
D0/612A: 0F                       [$0F]
D0/612B: 8A                       loop end
D0/612C: C9 0B                    play sound effect $0B
D0/612E: FF                       end of script

; [ Animation Script $00A6: Rasp (sprite) ]

D0/612F: 00 20                    speed 1, align to center of character/monster
D0/6131: BF 74 61                 jump to subroutine $6174
D0/6134: BF 74 61                 jump to subroutine $6174
D0/6137: BF 74 61                 jump to subroutine $6174
D0/613A: BF 74 61                 jump to subroutine $6174
D0/613D: BF 74 61                 jump to subroutine $6174
D0/6140: 89 40                    loop start (64 times)
D0/6142: 1F                       [---]
D0/6143: 8A                       loop end
D0/6144: BF 4E 61                 jump to subroutine $614E
D0/6147: BF 4E 61                 jump to subroutine $614E
D0/614A: BF 4E 61                 jump to subroutine $614E
D0/614D: FF                       end of script

D0/614E: 80 11                    choose random polar angle
D0/6150: 89 02                    loop start (2 times)
D0/6152: E8 0C 00                 move in polar coordinates (12,0)
D0/6155: 00                       [$00]
D0/6156: 8A                       loop end
D0/6157: 89 02                    loop start (2 times)
D0/6159: E8 0C 00                 move in polar coordinates (12,0)
D0/615C: 01                       [$01]
D0/615D: 8A                       loop end
D0/615E: 89 02                    loop start (2 times)
D0/6160: E8 0C 00                 move in polar coordinates (12,0)
D0/6163: 02                       [$02]
D0/6164: 8A                       loop end
D0/6165: 89 02                    loop start (2 times)
D0/6167: E8 0C 00                 move in polar coordinates (12,0)
D0/616A: 03                       [$03]
D0/616B: 8A                       loop end
D0/616C: 89 02                    loop start (2 times)
D0/616E: E8 0C 00                 move in polar coordinates (12,0)
D0/6171: 04                       [$04]
D0/6172: 8A                       loop end
D0/6173: C0                       return from subroutine

D0/6174: 80 11                    choose random polar angle
D0/6176: E8 80 00                 move in polar coordinates (-128,0)
D0/6179: 89 02                    loop start (2 times)
D0/617B: E8 F8 04                 move in polar coordinates (-8,4)
D0/617E: 04                       [$04]
D0/617F: 8A                       loop end
D0/6180: 89 02                    loop start (2 times)
D0/6182: E8 F8 04                 move in polar coordinates (-8,4)
D0/6185: 03                       [$03]
D0/6186: 8A                       loop end
D0/6187: 89 02                    loop start (2 times)
D0/6189: E8 F8 04                 move in polar coordinates (-8,4)
D0/618C: 02                       [$02]
D0/618D: 8A                       loop end
D0/618E: 89 02                    loop start (2 times)
D0/6190: E8 F8 04                 move in polar coordinates (-8,4)
D0/6193: 01                       [$01]
D0/6194: 8A                       loop end
D0/6195: 89 02                    loop start (2 times)
D0/6197: E8 F8 04                 move in polar coordinates (-8,4)
D0/619A: 00                       [$00]
D0/619B: 8A                       loop end
D0/619C: C0                       return from subroutine

; [ Animation Script $00A4: Slow, Slow 2 (sprite) ]

D0/619D: 00 20                    speed 1, align to center of character/monster
D0/619F: 9A                       set facing direction to match attacker
D0/61A0: D1 01                    invalidate character/monster sprite priority
D0/61A2: EB                       jump based on thread ($61AB, $61B7, $61C3, $61CC)
D0/61AB: C9 00                    play default sound effect
D0/61AD: 89 08                    loop start (8 times)
D0/61AF: 1F                       [---]
D0/61B0: 8A                       loop end
D0/61B1: E8 00 00                 move in polar coordinates (0,0)
D0/61B4: FA CF 61                 jump to $61CF
D0/61B7: 1F                       [---]
D0/61B8: 1F                       [---]
D0/61B9: 1F                       [---]
D0/61BA: 1F                       [---]
D0/61BB: 1F                       [---]
D0/61BC: 1F                       [---]
D0/61BD: E8 00 40                 move in polar coordinates (0,64)
D0/61C0: FA CF 61                 jump to $61CF
D0/61C3: 1F                       [---]
D0/61C4: 1F                       [---]
D0/61C5: 1F                       [---]
D0/61C6: E8 00 80                 move in polar coordinates (0,-128)
D0/61C9: FA CF 61                 jump to $61CF
D0/61CC: E8 00 C0                 move in polar coordinates (0,-64)
D0/61CF: 89 07                    loop start (7 times)
D0/61D1: E8 01 0C                 move in polar coordinates (1,12)
D0/61D4: 00                       [$00]
D0/61D5: 8A                       loop end
D0/61D6: 89 07                    loop start (7 times)
D0/61D8: E8 01 0C                 move in polar coordinates (1,12)
D0/61DB: 01                       [$01]
D0/61DC: 8A                       loop end
D0/61DD: 89 07                    loop start (7 times)
D0/61DF: E8 01 0C                 move in polar coordinates (1,12)
D0/61E2: 02                       [$02]
D0/61E3: 8A                       loop end
D0/61E4: 89 07                    loop start (7 times)
D0/61E6: E8 01 0C                 move in polar coordinates (1,12)
D0/61E9: 03                       [$03]
D0/61EA: 8A                       loop end
D0/61EB: 89 07                    loop start (7 times)
D0/61ED: E8 00 0A                 move in polar coordinates (0,10)
D0/61F0: 04                       [$04]
D0/61F1: 8A                       loop end
D0/61F2: 89 07                    loop start (7 times)
D0/61F4: E8 00 08                 move in polar coordinates (0,8)
D0/61F7: 04                       [$04]
D0/61F8: 8A                       loop end
D0/61F9: 89 07                    loop start (7 times)
D0/61FB: E8 00 04                 move in polar coordinates (0,4)
D0/61FE: 04                       [$04]
D0/61FF: 8A                       loop end
D0/6200: 89 07                    loop start (7 times)
D0/6202: E8 00 01                 move in polar coordinates (0,1)
D0/6205: 04                       [$04]
D0/6206: 8A                       loop end
D0/6207: 89 20                    loop start (32 times)
D0/6209: 04                       [$04]
D0/620A: 8A                       loop end
D0/620B: FF                       end of script

; [ Animation Script $00A2: Scan, Targetting (sprite) ]

D0/620C: 00 20                    speed 1, align to center of character/monster
D0/620E: 89 20                    loop start (32 times)
D0/6210: 1F                       [---]
D0/6211: 8A                       loop end
D0/6212: 84 06                    set animation speed to 7
D0/6214: 90 30                    set animation tile priority to 3
D0/6216: 00                       [$00]
D0/6217: 01                       [$01]
D0/6218: 02                       [$02]
D0/6219: 03                       [$03]
D0/621A: 04                       [$04]
D0/621B: 05                       [$05]
D0/621C: 06                       [$06]
D0/621D: 84 01                    set animation speed to 2
D0/621F: 89 40                    loop start (64 times)
D0/6221: 07                       [$07]
D0/6222: 8A                       loop end
D0/6223: FF                       end of script

; [ Animation Script $00A3: Scan, Targetting (bg1) ]

D0/6224: 00 20                    speed 1, align to center of character/monster
D0/6226: C9 00                    play default sound effect
D0/6228: D1 01                    invalidate character/monster sprite priority
D0/622A: A5 00 00 00 FF FF 20 00  init circle at (0,0)
D0/6232: 00                       [$00]
D0/6233: BD A0                    hide bg1 thread
D0/6235: C3                       move circle to target
D0/6236: 89 20                    loop start (32 times)
D0/6238: A6 00 00 01              move circle (+0,+0) and grow by 1
D0/623C: A7                       update circle
D0/623D: A3 15 33                 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift)
D0/6240: 00                       [$00]
D0/6241: 8A                       loop end
D0/6242: 89 40                    loop start (64 times)
D0/6244: A3 15 33                 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift)
D0/6247: 00                       [$00]
D0/6248: 8A                       loop end
D0/6249: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/624B: 89 1E                    loop start (30 times)
D0/624D: A6 00 00 FF              move circle (+0,+0) and shrink by 1
D0/6251: A7                       update circle
D0/6252: A3 15 33                 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift)
D0/6255: 00                       [$00]
D0/6256: 8A                       loop end
D0/6257: FF                       end of script

; [ Animation Script $00BA: Drain, Osmose, Raid (sprite) ]

D0/6258: 00 20                    speed 1, align to center of character/monster
D0/625A: EB                       jump based on thread ($6267, $6273, $627D, $6287, $6291, $629A)
D0/6267: 89 0E                    loop start (14 times)
D0/6269: 1F                       [---]
D0/626A: 8A                       loop end
D0/626B: C9 00                    play default sound effect
D0/626D: E8 7C 00                 move in polar coordinates (124,0)
D0/6270: FA 9D 62                 jump to $629D
D0/6273: 89 0B                    loop start (11 times)
D0/6275: 1F                       [---]
D0/6276: 8A                       loop end
D0/6277: E8 7C 2A                 move in polar coordinates (124,42)
D0/627A: FA 9D 62                 jump to $629D
D0/627D: 89 08                    loop start (8 times)
D0/627F: 1F                       [---]
D0/6280: 8A                       loop end
D0/6281: E8 7C 54                 move in polar coordinates (124,84)
D0/6284: FA 9D 62                 jump to $629D
D0/6287: 89 05                    loop start (5 times)
D0/6289: 1F                       [---]
D0/628A: 8A                       loop end
D0/628B: E8 7C 7E                 move in polar coordinates (124,126)
D0/628E: FA 9D 62                 jump to $629D
D0/6291: 1F                       [---]
D0/6292: 1F                       [---]
D0/6293: 1F                       [---]
D0/6294: E8 7C A8                 move in polar coordinates (124,-88)
D0/6297: FA 9D 62                 jump to $629D
D0/629A: E8 7C D2                 move in polar coordinates (124,-46)
D0/629D: 89 1F                    loop start (31 times)
D0/629F: E8 FC 08                 move in polar coordinates (-4,8)
D0/62A2: 04                       [$04]
D0/62A3: 8A                       loop end
D0/62A4: EB                       jump based on thread ($62B1, $62BC, $62C2, $62C9, $62D0, $62D7)
D0/62B1: F2                       calculate vector from target to attacker
D0/62B2: 04                       [$04]
D0/62B3: 92 08 03                 move along vector at speed 8, branch to $62B2
D0/62B6: C2 80                    unpause bg1 thread
D0/62B8: 81 00 00                 change attacker graphic to 0 (no action)
D0/62BB: FF                       end of script

D0/62BC: 1F                       [---]
D0/62BD: 1F                       [---]
D0/62BE: 1F                       [---]
D0/62BF: FA DB 62                 jump to $62DB
D0/62C2: 89 05                    loop start (5 times)
D0/62C4: 1F                       [---]
D0/62C5: 8A                       loop end
D0/62C6: FA DB 62                 jump to $62DB
D0/62C9: 89 08                    loop start (8 times)
D0/62CB: 1F                       [---]
D0/62CC: 8A                       loop end
D0/62CD: FA DB 62                 jump to $62DB
D0/62D0: 89 0B                    loop start (11 times)
D0/62D2: 1F                       [---]
D0/62D3: 8A                       loop end
D0/62D4: FA DB 62                 jump to $62DB
D0/62D7: 89 0E                    loop start (14 times)
D0/62D9: 1F                       [---]
D0/62DA: 8A                       loop end
D0/62DB: 84 02                    set animation speed to 3
D0/62DD: 89 01                    loop start (1 times)
D0/62DF: 80 0C                    move to first sprite thread position
D0/62E1: 04                       [$04]
D0/62E2: 03                       [$03]
D0/62E3: 02                       [$02]
D0/62E4: 01                       [$01]
D0/62E5: 00                       [$00]
D0/62E6: 8A                       loop end
D0/62E7: 80 10                    move to target position
D0/62E9: 85                       move to attacker position
D0/62EA: 83 AF                    move up/forward 16
D0/62EC: 84 04                    set animation speed to 5
D0/62EE: 89 02                    loop start (2 times)
D0/62F0: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/62F3: 05                       [$05]
D0/62F4: 06                       [$06]
D0/62F5: 07                       [$07]
D0/62F6: 8A                       loop end
D0/62F7: FF                       end of script

; [ Animation Script $00BB: Drain, Osmose, Raid (bg1) ]

D0/62F8: 00 20                    speed 1, align to center of character/monster
D0/62FA: C9 34                    play sound effect $34
D0/62FC: 85                       move to attacker position
D0/62FD: 80 69                    update sprite layer priority based on attacker
D0/62FF: A5 00 00 00 FF FF 20 00  init circle at (0,0)
D0/6307: 00                       [$00]
D0/6308: BD A0                    hide bg1 thread
D0/630A: A8                       move circle to attacker
D0/630B: 89 08                    loop start (8 times)
D0/630D: A6 00 00 04              move circle (+0,+0) and grow by 4
D0/6311: A7                       update circle
D0/6312: A3 15 33                 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift)
D0/6315: 00                       [$00]
D0/6316: 8A                       loop end
D0/6317: 89 20                    loop start (32 times)
D0/6319: A3 15 33                 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift)
D0/631C: 00                       [$00]
D0/631D: 8A                       loop end
D0/631E: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/6320: 89 07                    loop start (7 times)
D0/6322: A6 00 00 FC              move circle (+0,+0) and shrink by 4
D0/6326: A7                       update circle
D0/6327: A3 15 33                 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift)
D0/632A: 00                       [$00]
D0/632B: 8A                       loop end
D0/632C: FF                       end of script

; [ Animation Script $00A0:  ]

D0/632D: 00 20                    speed 1, align to center of character/monster
D0/632F: EB                       jump based on thread ($633C, $6356, $6356, $6356, $6356, $6356)
D0/633C: C9 00                    play default sound effect
D0/633E: 85                       move to attacker position
D0/633F: 89 04                    loop start (4 times)
D0/6341: D1 01                    invalidate character/monster sprite priority
D0/6343: 81 07 07                 change attacker graphic to 7 (jumping)
D0/6346: 04                       [$04]
D0/6347: 83 67                    move forward 8
D0/6349: 8A                       loop end
D0/634A: 80 0F                    command $80/$0F
D0/634C: 04                       [$04]
D0/634D: ED                       command $ED
D0/634E: 08                       [$08]
D0/634F: 03                       [$03]
D0/6350: C2 80                    unpause bg1 thread
D0/6352: 81 00 00                 change attacker graphic to 0 (no action)
D0/6355: FF                       end of script

D0/6356: 84 03                    set animation speed to 4
D0/6358: 89 01                    loop start (1 times)
D0/635A: 80 0C                    move to first sprite thread position
D0/635C: 04                       [$04]
D0/635D: 03                       [$03]
D0/635E: 02                       [$02]
D0/635F: 01                       [$01]
D0/6360: 00                       [$00]
D0/6361: 8A                       loop end
D0/6362: 80 10                    move to target position
D0/6364: 83 AF                    move up/forward 16
D0/6366: 84 05                    set animation speed to 6
D0/6368: 89 04                    loop start (4 times)
D0/636A: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/636D: 05                       [$05]
D0/636E: 06                       [$06]
D0/636F: 07                       [$07]
D0/6370: 8A                       loop end
D0/6371: FF                       end of script

; [ Animation Script $00A1:  ]

D0/6372: 00 20                    speed 1, align to center of character/monster
D0/6374: C9 34                    play sound effect $34
D0/6376: A5 00 00 00 FF FF 20 00  init circle at (0,0)
D0/637E: 00                       [$00]
D0/637F: BD A0                    hide bg1 thread
D0/6381: C3                       move circle to target
D0/6382: 89 20                    loop start (32 times)
D0/6384: A6 00 00 01              move circle (+0,+0) and grow by 1
D0/6388: A7                       update circle
D0/6389: A3 15 33                 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift)
D0/638C: 00                       [$00]
D0/638D: 8A                       loop end
D0/638E: 89 20                    loop start (32 times)
D0/6390: A3 15 33                 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift)
D0/6393: 00                       [$00]
D0/6394: 8A                       loop end
D0/6395: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/6397: 89 1E                    loop start (30 times)
D0/6399: A6 00 00 FF              move circle (+0,+0) and shrink by 1
D0/639D: A7                       update circle
D0/639E: A3 15 33                 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift)
D0/63A1: 00                       [$00]
D0/63A2: 8A                       loop end
D0/63A3: FF                       end of script

; [ Animation Script $009B: Life 3 (sprite/bg1) ]

D0/63A4: 00 20                    speed 1, align to center of character/monster
D0/63A6: EB                       jump based on thread ($63AB, $6400)
D0/63AB: D1 01                    invalidate character/monster sprite priority
D0/63AD: C9 00                    play default sound effect
D0/63AF: BF B6 63                 jump to subroutine $63B6
D0/63B2: BF 51 64                 jump to subroutine $6451
D0/63B5: FF                       end of script

D0/63B6: 83 FF                    move up/back 32
D0/63B8: 00                       [$00]
D0/63B9: 00                       [$00]
D0/63BA: 00                       [$00]
D0/63BB: 00                       [$00]
D0/63BC: 01                       [$01]
D0/63BD: 01                       [$01]
D0/63BE: 01                       [$01]
D0/63BF: 01                       [$01]
D0/63C0: 02                       [$02]
D0/63C1: 02                       [$02]
D0/63C2: 02                       [$02]
D0/63C3: 02                       [$02]
D0/63C4: 03                       [$03]
D0/63C5: 03                       [$03]
D0/63C6: 03                       [$03]
D0/63C7: 03                       [$03]
D0/63C8: 04                       [$04]
D0/63C9: 04                       [$04]
D0/63CA: 04                       [$04]
D0/63CB: 04                       [$04]
D0/63CC: 89 01                    loop start (1 times)
D0/63CE: 83 00                    move down/forward 1
D0/63D0: 05                       [$05]
D0/63D1: 83 00                    move down/forward 1
D0/63D3: 05                       [$05]
D0/63D4: 83 00                    move down/forward 1
D0/63D6: 05                       [$05]
D0/63D7: 83 00                    move down/forward 1
D0/63D9: 05                       [$05]
D0/63DA: 83 00                    move down/forward 1
D0/63DC: 06                       [$06]
D0/63DD: 83 00                    move down/forward 1
D0/63DF: 06                       [$06]
D0/63E0: 83 00                    move down/forward 1
D0/63E2: 06                       [$06]
D0/63E3: 83 00                    move down/forward 1
D0/63E5: 06                       [$06]
D0/63E6: 83 00                    move down/forward 1
D0/63E8: 07                       [$07]
D0/63E9: 83 00                    move down/forward 1
D0/63EB: 07                       [$07]
D0/63EC: 83 00                    move down/forward 1
D0/63EE: 07                       [$07]
D0/63EF: 83 00                    move down/forward 1
D0/63F1: 07                       [$07]
D0/63F2: 83 00                    move down/forward 1
D0/63F4: 08                       [$08]
D0/63F5: 83 00                    move down/forward 1
D0/63F7: 08                       [$08]
D0/63F8: 83 00                    move down/forward 1
D0/63FA: 08                       [$08]
D0/63FB: 83 00                    move down/forward 1
D0/63FD: 08                       [$08]
D0/63FE: 8A                       loop end
D0/63FF: C0                       return from subroutine

D0/6400: BF 07 64                 jump to subroutine $6407
D0/6403: BF 51 64                 jump to subroutine $6451
D0/6406: FF                       end of script

D0/6407: 83 BF                    move up/forward 32
D0/6409: 00                       [$00]
D0/640A: 00                       [$00]
D0/640B: 00                       [$00]
D0/640C: 00                       [$00]
D0/640D: 01                       [$01]
D0/640E: 01                       [$01]
D0/640F: 01                       [$01]
D0/6410: 01                       [$01]
D0/6411: 02                       [$02]
D0/6412: 02                       [$02]
D0/6413: 02                       [$02]
D0/6414: 02                       [$02]
D0/6415: 03                       [$03]
D0/6416: 03                       [$03]
D0/6417: 03                       [$03]
D0/6418: 03                       [$03]
D0/6419: 04                       [$04]
D0/641A: 04                       [$04]
D0/641B: 04                       [$04]
D0/641C: 04                       [$04]
D0/641D: 89 01                    loop start (1 times)
D0/641F: 83 40                    move down/back 1
D0/6421: 05                       [$05]
D0/6422: 83 40                    move down/back 1
D0/6424: 05                       [$05]
D0/6425: 83 40                    move down/back 1
D0/6427: 05                       [$05]
D0/6428: 83 40                    move down/back 1
D0/642A: 05                       [$05]
D0/642B: 83 40                    move down/back 1
D0/642D: 06                       [$06]
D0/642E: 83 40                    move down/back 1
D0/6430: 06                       [$06]
D0/6431: 83 40                    move down/back 1
D0/6433: 06                       [$06]
D0/6434: 83 40                    move down/back 1
D0/6436: 06                       [$06]
D0/6437: 83 40                    move down/back 1
D0/6439: 07                       [$07]
D0/643A: 83 40                    move down/back 1
D0/643C: 07                       [$07]
D0/643D: 83 40                    move down/back 1
D0/643F: 07                       [$07]
D0/6440: 83 40                    move down/back 1
D0/6442: 07                       [$07]
D0/6443: 83 40                    move down/back 1
D0/6445: 08                       [$08]
D0/6446: 83 40                    move down/back 1
D0/6448: 08                       [$08]
D0/6449: 83 40                    move down/back 1
D0/644B: 08                       [$08]
D0/644C: 83 40                    move down/back 1
D0/644E: 08                       [$08]
D0/644F: 8A                       loop end
D0/6450: C0                       return from subroutine

D0/6451: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/6453: EC 01                    change thread layer to bg1
D0/6455: 08                       [$08]
D0/6456: EC 00                    change thread layer to sprite
D0/6458: 1F                       [---]
D0/6459: EC 01                    change thread layer to bg1
D0/645B: 89 02                    loop start (2 times)
D0/645D: CF E2                    increase bg1 animation palette color subtraction by 2 (black)
D0/645F: 05                       [$05]
D0/6460: 05                       [$05]
D0/6461: CF E2                    increase bg1 animation palette color subtraction by 2 (black)
D0/6463: 05                       [$05]
D0/6464: 05                       [$05]
D0/6465: CF E2                    increase bg1 animation palette color subtraction by 2 (black)
D0/6467: 06                       [$06]
D0/6468: 06                       [$06]
D0/6469: CF E2                    increase bg1 animation palette color subtraction by 2 (black)
D0/646B: 06                       [$06]
D0/646C: 06                       [$06]
D0/646D: CF E2                    increase bg1 animation palette color subtraction by 2 (black)
D0/646F: 07                       [$07]
D0/6470: 07                       [$07]
D0/6471: CF E2                    increase bg1 animation palette color subtraction by 2 (black)
D0/6473: 07                       [$07]
D0/6474: 07                       [$07]
D0/6475: CF E2                    increase bg1 animation palette color subtraction by 2 (black)
D0/6477: 08                       [$08]
D0/6478: 08                       [$08]
D0/6479: CF E2                    increase bg1 animation palette color subtraction by 2 (black)
D0/647B: 08                       [$08]
D0/647C: 08                       [$08]
D0/647D: 8A                       loop end
D0/647E: 0F                       [$0F]
D0/647F: EC 00                    change thread layer to sprite
D0/6481: C0                       return from subroutine

; [ Animation Script $009A: Life, Fallen One (sprite) ]

D0/6482: 00 20                    speed 1, align to center of character/monster
D0/6484: 9A                       set facing direction to match attacker
D0/6485: EB                       jump based on thread ($6492, $64C3, $64C3, $64C3, $64C3, $64C3)
D0/6492: D1 01                    invalidate character/monster sprite priority
D0/6494: C9 00                    play default sound effect
D0/6496: 83 BF                    move up/forward 32
D0/6498: 83 BF                    move up/forward 32
D0/649A: 83 BF                    move up/forward 32
D0/649C: 83 BF                    move up/forward 32
D0/649E: E8 10 08                 move in polar coordinates (16,8)
D0/64A1: 89 3F                    loop start (63 times)
D0/64A3: 83 41                    move down/back 2
D0/64A5: E8 00 08                 move in polar coordinates (0,8)
D0/64A8: 01                       [$01]
D0/64A9: 8A                       loop end
D0/64AA: C9 8D                    play sound effect $8D
D0/64AC: 84 04                    set animation speed to 5
D0/64AE: 02                       [$02]
D0/64AF: 02                       [$02]
D0/64B0: 03                       [$03]
D0/64B1: 03                       [$03]
D0/64B2: 04                       [$04]
D0/64B3: 04                       [$04]
D0/64B4: 05                       [$05]
D0/64B5: 05                       [$05]
D0/64B6: 06                       [$06]
D0/64B7: 06                       [$06]
D0/64B8: 07                       [$07]
D0/64B9: 07                       [$07]
D0/64BA: 08                       [$08]
D0/64BB: 09                       [$09]
D0/64BC: 0A                       [$0A]
D0/64BD: 0B                       [$0B]
D0/64BE: 0C                       [$0C]
D0/64BF: 0D                       [$0D]
D0/64C0: 0E                       [$0E]
D0/64C1: 0F                       [$0F]
D0/64C2: FF                       end of script

D0/64C3: 84 06                    set animation speed to 7
D0/64C5: 89 03                    loop start (3 times)
D0/64C7: 80 0C                    move to first sprite thread position
D0/64C9: 01                       [$01]
D0/64CA: 01                       [$01]
D0/64CB: 00                       [$00]
D0/64CC: 00                       [$00]
D0/64CD: 8A                       loop end
D0/64CE: FF                       end of script

; [ Animation Script $0071: Life 2 (sprite) ]

D0/64CF: 00 20                    speed 1, align to center of character/monster
D0/64D1: 9A                       set facing direction to match attacker
D0/64D2: EB                       jump based on thread ($64DF, $6524, $6548, $6548, $6524, $6548)
D0/64DF: D1 01                    invalidate character/monster sprite priority
D0/64E1: C9 00                    play default sound effect
D0/64E3: 83 BF                    move up/forward 32
D0/64E5: 83 BF                    move up/forward 32
D0/64E7: 83 BF                    move up/forward 32
D0/64E9: 83 BF                    move up/forward 32
D0/64EB: E8 10 08                 move in polar coordinates (16,8)
D0/64EE: 89 3F                    loop start (63 times)
D0/64F0: 83 41                    move down/back 2
D0/64F2: E8 00 08                 move in polar coordinates (0,8)
D0/64F5: 01                       [$01]
D0/64F6: 8A                       loop end
D0/64F7: 84 04                    set animation speed to 5
D0/64F9: 02                       [$02]
D0/64FA: 02                       [$02]
D0/64FB: 03                       [$03]
D0/64FC: 03                       [$03]
D0/64FD: 04                       [$04]
D0/64FE: 04                       [$04]
D0/64FF: 05                       [$05]
D0/6500: 05                       [$05]
D0/6501: 06                       [$06]
D0/6502: 06                       [$06]
D0/6503: 07                       [$07]
D0/6504: 07                       [$07]
D0/6505: E8 F0 00                 move in polar coordinates (-16,0)
D0/6508: 83 A8                    move up/forward 9
D0/650A: E9 0F 0F                 move animation randomly (0..15,0..15)
D0/650D: 08                       [$08]
D0/650E: 09                       [$09]
D0/650F: 0A                       [$0A]
D0/6510: 0B                       [$0B]
D0/6511: 0C                       [$0C]
D0/6512: 0D                       [$0D]
D0/6513: 0E                       [$0E]
D0/6514: 0F                       [$0F]
D0/6515: 05                       [$05]
D0/6516: 06                       [$06]
D0/6517: 07                       [$07]
D0/6518: 05                       [$05]
D0/6519: 06                       [$06]
D0/651A: 07                       [$07]
D0/651B: 08                       [$08]
D0/651C: 09                       [$09]
D0/651D: 0A                       [$0A]
D0/651E: 0B                       [$0B]
D0/651F: 0C                       [$0C]
D0/6520: 0D                       [$0D]
D0/6521: 0E                       [$0E]
D0/6522: 0F                       [$0F]
D0/6523: FF                       end of script

D0/6524: 84 06                    set animation speed to 7
D0/6526: 89 03                    loop start (3 times)
D0/6528: 80 0C                    move to first sprite thread position
D0/652A: 01                       [$01]
D0/652B: 01                       [$01]
D0/652C: 00                       [$00]
D0/652D: 00                       [$00]
D0/652E: 8A                       loop end
D0/652F: 84 04                    set animation speed to 5
D0/6531: 83 AF                    move up/forward 16
D0/6533: 89 01                    loop start (1 times)
D0/6535: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/6538: 05                       [$05]
D0/6539: 06                       [$06]
D0/653A: 07                       [$07]
D0/653B: 05                       [$05]
D0/653C: 06                       [$06]
D0/653D: 07                       [$07]
D0/653E: 08                       [$08]
D0/653F: 09                       [$09]
D0/6540: 0A                       [$0A]
D0/6541: 0B                       [$0B]
D0/6542: 0C                       [$0C]
D0/6543: 0D                       [$0D]
D0/6544: 0E                       [$0E]
D0/6545: 0F                       [$0F]
D0/6546: 8A                       loop end
D0/6547: FF                       end of script

D0/6548: 84 06                    set animation speed to 7
D0/654A: 89 03                    loop start (3 times)
D0/654C: 80 0C                    move to first sprite thread position
D0/654E: 01                       [$01]
D0/654F: 01                       [$01]
D0/6550: 00                       [$00]
D0/6551: 00                       [$00]
D0/6552: 8A                       loop end
D0/6553: 84 04                    set animation speed to 5
D0/6555: 83 BF                    move up/forward 32
D0/6557: 89 01                    loop start (1 times)
D0/6559: E9 3F 3F                 move animation randomly (0..63,0..63)
D0/655C: 08                       [$08]
D0/655D: 09                       [$09]
D0/655E: 0A                       [$0A]
D0/655F: 0B                       [$0B]
D0/6560: 0C                       [$0C]
D0/6561: 0D                       [$0D]
D0/6562: 0E                       [$0E]
D0/6563: 0F                       [$0F]
D0/6564: 8A                       loop end
D0/6565: FF                       end of script

; [ Animation Script $009D: Remedy (sprite) ]

D0/6566: 00 00                    speed 1, align to bottom of character/monster
D0/6568: C9 00                    play default sound effect
D0/656A: 89 1F                    loop start (31 times)
D0/656C: 1F                       [---]
D0/656D: 8A                       loop end
D0/656E: 8B 16                    animated loop start (22 times, increment frame offset each time)
D0/6570: 00                       [$00]
D0/6571: 00                       [$00]
D0/6572: 00                       [$00]
D0/6573: 00                       [$00]
D0/6574: 8C                       animated loop end
D0/6575: FF                       end of script

; [ Animation Script $009E: Remedy (bg1) ]

D0/6576: 00 00                    speed 1, align to bottom of character/monster
D0/6578: D1 01                    invalidate character/monster sprite priority
D0/657A: 00                       [$00]
D0/657B: EA 82                    set bg1 tile data quadrant to 2
D0/657D: 00                       [$00]
D0/657E: BD A0                    hide bg1 thread
D0/6580: A5 00 00 00 FF FF 20 00  init circle at (0,0)
D0/6588: C3                       move circle to target
D0/6589: A6 00 81 00              move circle (+0,-127)
D0/658D: A6 00 E8 00              move circle (+0,-24)
D0/6591: 89 1F                    loop start (31 times)
D0/6593: 83 20                    move down 1
D0/6595: A3 15 31                 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift)
D0/6598: 00                       [$00]
D0/6599: A6 00 00 02              move circle (+0,+0) and grow by 2
D0/659D: A7                       update circle
D0/659E: 00                       [$00]
D0/659F: 8A                       loop end
D0/65A0: 89 30                    loop start (48 times)
D0/65A2: 83 20                    move down 1
D0/65A4: A3 15 31                 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift)
D0/65A7: 00                       [$00]
D0/65A8: 00                       [$00]
D0/65A9: 8A                       loop end
D0/65AA: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/65AC: 89 10                    loop start (16 times)
D0/65AE: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/65B0: 83 20                    move down 1
D0/65B2: A3 15 31                 shift colors (1..6) of bg1 animation/esper palette left (3 loops per shift)
D0/65B5: 00                       [$00]
D0/65B6: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/65B8: 00                       [$00]
D0/65B9: 8A                       loop end
D0/65BA: BD 80                    show bg1 thread
D0/65BC: EA 82                    set bg1 tile data quadrant to 2
D0/65BE: 0F                       [$0F]
D0/65BF: FF                       end of script

; [ Animation Script $009C: Antdot (sprite) ]

D0/65C0: 50 20                    speed 6, align to center of character/monster
D0/65C2: 9A                       set facing direction to match attacker
D0/65C3: 83 AF                    move up/forward 16
D0/65C5: 89 01                    loop start (1 times)
D0/65C7: E9 1F 1F                 move animation randomly (0..31,0..31)
D0/65CA: 00                       [$00]
D0/65CB: 01                       [$01]
D0/65CC: 02                       [$02]
D0/65CD: 03                       [$03]
D0/65CE: 04                       [$04]
D0/65CF: 05                       [$05]
D0/65D0: 06                       [$06]
D0/65D1: 07                       [$07]
D0/65D2: 8A                       loop end
D0/65D3: FF                       end of script

; [ Animation Script $0039: GP Rain (sprite) ]

D0/65D4: 00 20                    speed 1, align to center of character/monster
D0/65D6: 85                       move to attacker position
D0/65D7: DB 06                    branch to $65DF if character already stepped forward to attack
D0/65D9: 83 77                    move forward 24
D0/65DB: 89 07                    loop start (7 times)
D0/65DD: 1F                       [---]
D0/65DE: 8A                       loop end
D0/65DF: 80 72 01                 branch to $65E3 if attack hit
D0/65E2: FF                       end of script

D0/65E3: C9 00                    play default sound effect
D0/65E5: 94 93                    calculate vector from attacker to a random location on target
D0/65E7: 08                       [$08]
D0/65E8: 00                       [$00]
D0/65E9: 92 08 03                 move along vector at speed 8, branch to $65E8
D0/65EC: 89 07                    loop start (7 times)
D0/65EE: 87 81                    move target back 2
D0/65F0: 00                       [$00]
D0/65F1: 87 61                    move target forward 2
D0/65F3: 00                       [$00]
D0/65F4: 8A                       loop end
D0/65F5: FF                       end of script

; [ Animation Script $003A: GP Rain (extra) ]

D0/65F6: 00 20                    speed 1, align to center of character/monster
D0/65F8: DB 03                    branch to $65FD if character already stepped forward to attack
D0/65FA: BF 19 70                 jump to subroutine $7019
D0/65FD: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/6600: 1F                       [---]
D0/6601: 1F                       [---]
D0/6602: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/6605: 89 1F                    loop start (31 times)
D0/6607: 1F                       [---]
D0/6608: 8A                       loop end
D0/6609: 81 00 00                 change attacker graphic to 0 (no action)
D0/660C: FF                       end of script

; [ Animation Script $008F: Throw Sword (sprite) ]

D0/660D: 00 20                    speed 1, align to center of character/monster
D0/660F: 85                       move to attacker position
D0/6610: DB 03                    branch to $6615 if character already stepped forward to attack
D0/6612: BF 19 70                 jump to subroutine $7019
D0/6615: C9 00                    play default sound effect
D0/6617: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/661A: 83 27                    move down 8
D0/661C: 95                       calculate vector from attacker to target
D0/661D: 93 08                    move to vector position 8
D0/661F: 01                       [$01]
D0/6620: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/6623: 92 08 06                 move along vector at speed 8, branch to $661F
D0/6626: C9 94                    play sound effect $94
D0/6628: 89 07                    loop start (7 times)
D0/662A: 87 81                    move target back 2
D0/662C: 01                       [$01]
D0/662D: 87 61                    move target forward 2
D0/662F: 01                       [$01]
D0/6630: 8A                       loop end
D0/6631: 81 00 00                 change attacker graphic to 0 (no action)
D0/6634: FF                       end of script

; [ Animation Script $0279: Throw Boomerang (sprite) ]

D0/6635: 00 20                    speed 1, align to center of character/monster
D0/6637: 85                       move to attacker position
D0/6638: DB 03                    branch to $663D if character already stepped forward to attack
D0/663A: BF 19 70                 jump to subroutine $7019
D0/663D: C9 00                    play default sound effect
D0/663F: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/6642: 95                       calculate vector from attacker to target
D0/6643: 93 08                    move to vector position 8
D0/6645: 98 02 06                 increment frame offset every 2 loops (0..6)
D0/6648: 00                       [$00]
D0/6649: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/664C: 92 08 09                 move along vector at speed 8, branch to $6645
D0/664F: C9 94                    play sound effect $94
D0/6651: 89 07                    loop start (7 times)
D0/6653: 87 81                    move target back 2
D0/6655: 98 02 06                 increment frame offset every 2 loops (0..6)
D0/6658: 00                       [$00]
D0/6659: 87 61                    move target forward 2
D0/665B: 98 02 06                 increment frame offset every 2 loops (0..6)
D0/665E: 00                       [$00]
D0/665F: 8A                       loop end
D0/6660: 81 00 00                 change attacker graphic to 0 (no action)
D0/6663: FF                       end of script

; [ Animation Script $0064: Throw Hawk Eye/Sniper (sprite) ]

D0/6664: 00 20                    speed 1, align to center of character/monster
D0/6666: 85                       move to attacker position
D0/6667: DB 03                    branch to $666C if character already stepped forward to attack
D0/6669: BF 19 70                 jump to subroutine $7019
D0/666C: C9 00                    play default sound effect
D0/666E: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/6671: 95                       calculate vector from attacker to target
D0/6672: 93 08                    move to vector position 8
D0/6674: 98 02 03                 increment frame offset every 2 loops (0..3)
D0/6677: 01                       [$01]
D0/6678: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/667B: 92 08 09                 move along vector at speed 8, branch to $6674
D0/667E: C9 94                    play sound effect $94
D0/6680: 89 07                    loop start (7 times)
D0/6682: 87 81                    move target back 2
D0/6684: 98 02 03                 increment frame offset every 2 loops (0..3)
D0/6687: 01                       [$01]
D0/6688: 87 61                    move target forward 2
D0/668A: 98 02 03                 increment frame offset every 2 loops (0..3)
D0/668D: 01                       [$01]
D0/668E: 8A                       loop end
D0/668F: 81 00 00                 change attacker graphic to 0 (no action)
D0/6692: FF                       end of script

; [ Animation Script $003F: Jump w/ Hawk Eye/Sniper (sprite) ]

D0/6693: 00 00                    speed 1, align to bottom of character/monster
D0/6695: 85                       move to attacker position
D0/6696: BF 25 67                 jump to subroutine $6725
D0/6699: 81 14 14                 change attacker graphic to 20 (kneeling)
D0/669C: 83 8A                    move back 11
D0/669E: 83 3C                    move down 29
D0/66A0: C9 00                    play default sound effect
D0/66A2: BF 1C 67                 jump to subroutine $671C
D0/66A5: BF EC 66                 jump to subroutine $66EC
D0/66A8: 80 7D 04                 branch to $66AF if ???
D0/66AB: BF 53 67                 jump to subroutine $6753
D0/66AE: FF                       end of script

D0/66AF: FA CE 66                 jump to $66CE
; [ Animation Script $0087: Jump w/ Thick Knife (sprite) ]

D0/66B2: 00 00                    speed 1, align to bottom of character/monster
D0/66B4: 85                       move to attacker position
D0/66B5: BF 25 67                 jump to subroutine $6725
D0/66B8: C9 00                    play default sound effect
D0/66BA: BF 04 67                 jump to subroutine $6704
D0/66BD: 81 14 14                 change attacker graphic to 20 (kneeling)
D0/66C0: 83 8A                    move back 11
D0/66C2: 83 3C                    move down 29
D0/66C4: BF EC 66                 jump to subroutine $66EC
D0/66C7: 80 7D 04                 branch to $66CE if ???
D0/66CA: BF 53 67                 jump to subroutine $6753
D0/66CD: FF                       end of script

D0/66CE: 81 17 17                 change attacker graphic to 23 (hands up, facing down)
D0/66D1: 89 14                    loop start (20 times)
D0/66D3: 86 C7                    move attacker up 8
D0/66D5: 1F                       [---]
D0/66D6: 8A                       loop end
D0/66D7: E1 00                    hide attacking character sprite
D0/66D9: 89 08                    loop start (8 times)
D0/66DB: 1F                       [---]
D0/66DC: 8A                       loop end
D0/66DD: 81 00 00                 change attacker graphic to 0 (no action)
D0/66E0: CB 01                    disable echo sprites
D0/66E2: 89 14                    loop start (20 times)
D0/66E4: 86 27                    move attacker down 8
D0/66E6: 8A                       loop end
D0/66E7: E6 08 02 20              move character backward along vector at speed 8 and height 32, branch to $66E7
D0/66EB: FF                       end of script

D0/66EC: 89 03                    loop start (3 times)
D0/66EE: 86 27                    move attacker down 8
D0/66F0: 83 27                    move down 8
D0/66F2: 00                       [$00]
D0/66F3: 8A                       loop end
D0/66F4: 89 07                    loop start (7 times)
D0/66F6: 87 61                    move target forward 2
D0/66F8: 00                       [$00]
D0/66F9: 87 81                    move target back 2
D0/66FB: 00                       [$00]
D0/66FC: 8A                       loop end
D0/66FD: 89 03                    loop start (3 times)
D0/66FF: 86 27                    move attacker down 8
D0/6701: 1F                       [---]
D0/6702: 8A                       loop end
D0/6703: C0                       return from subroutine

D0/6704: 89 02                    loop start (2 times)
D0/6706: 86 27                    move attacker down 8
D0/6708: 83 27                    move down 8
D0/670A: 01                       [$01]
D0/670B: 86 27                    move attacker down 8
D0/670D: 83 27                    move down 8
D0/670F: 02                       [$02]
D0/6710: 86 27                    move attacker down 8
D0/6712: 83 27                    move down 8
D0/6714: 03                       [$03]
D0/6715: 86 27                    move attacker down 8
D0/6717: 83 27                    move down 8
D0/6719: 04                       [$04]
D0/671A: 8A                       loop end
D0/671B: C0                       return from subroutine

D0/671C: 89 0B                    loop start (11 times)
D0/671E: 86 27                    move attacker down 8
D0/6720: 83 27                    move down 8
D0/6722: 00                       [$00]
D0/6723: 8A                       loop end
D0/6724: C0                       return from subroutine

D0/6725: E1 00                    hide attacking character sprite
D0/6727: DB 04                    branch to $672D if character already stepped forward to attack
D0/6729: 86 77                    move attacker forward 24
D0/672B: 83 77                    move forward 24
D0/672D: 1F                       [---]
D0/672E: E4                       command $E4
D0/672F: E5 08 02 20              move character forward along vector at speed 8 and height 32, branch to $672F
D0/6733: 81 07 07                 change attacker graphic to 7 (jumping)
D0/6736: 1F                       [---]
D0/6737: 1F                       [---]
D0/6738: D1 01                    invalidate character/monster sprite priority
D0/673A: 86 DF                    move attacker up 32
D0/673C: 86 DF                    move attacker up 32
D0/673E: 86 DF                    move attacker up 32
D0/6740: 86 DF                    move attacker up 32
D0/6742: 86 DF                    move attacker up 32
D0/6744: 83 DF                    move up 32
D0/6746: 83 DF                    move up 32
D0/6748: 83 DF                    move up 32
D0/674A: 83 DF                    move up 32
D0/674C: 83 DF                    move up 32
D0/674E: CB 81                    enable echo sprites (1 frame delay)
D0/6750: E1 01                    show attacking character sprite
D0/6752: C0                       return from subroutine

D0/6753: 81 44 44                 change attacker graphic to 20 (kneeling)
D0/6756: 89 06                    loop start (6 times)
D0/6758: 1F                       [---]
D0/6759: 8A                       loop end
D0/675A: 81 37 37                 change attacker graphic to 7 (jumping)
D0/675D: 1F                       [---]
D0/675E: E6 08 03 20              move character backward along vector at speed 8 and height 32, branch to $675D
D0/6762: 81 00 00                 change attacker graphic to 0 (no action)
D0/6765: 89 08                    loop start (8 times)
D0/6767: 1F                       [---]
D0/6768: 8A                       loop end
D0/6769: CB 01                    disable echo sprites
D0/676B: D1 00                    validate character/monster sprite priority
D0/676D: C0                       return from subroutine

; [ Animation Script $0082:  ]

D0/676E: 00 00                    speed 1, align to bottom of character/monster
D0/6770: BF 25 67                 jump to subroutine $6725
D0/6773: C9 00                    play default sound effect
D0/6775: 89 13                    loop start (19 times)
D0/6777: 86 27                    move attacker down 8
D0/6779: 1F                       [---]
D0/677A: 8A                       loop end
D0/677B: 81 14 14                 change attacker graphic to 20 (kneeling)
D0/677E: 89 07                    loop start (7 times)
D0/6780: 87 81                    move target back 2
D0/6782: 1F                       [---]
D0/6783: 87 61                    move target forward 2
D0/6785: 1F                       [---]
D0/6786: 8A                       loop end
D0/6787: 80 7D 04                 branch to $678E if ???
D0/678A: BF 53 67                 jump to subroutine $6753
D0/678D: FF                       end of script

D0/678E: FA CE 66                 jump to $66CE
; [ Animation Script $0085:  ]

D0/6791: 00 00                    speed 1, align to bottom of character/monster
D0/6793: E1 00                    hide attacking character sprite
D0/6795: DB 02                    branch to $6799 if character already stepped forward to attack
D0/6797: 86 77                    move attacker forward 24
D0/6799: 81 07 07                 change attacker graphic to 7 (jumping)
D0/679C: 86 DF                    move attacker up 32
D0/679E: 86 DF                    move attacker up 32
D0/67A0: 86 DF                    move attacker up 32
D0/67A2: 86 DF                    move attacker up 32
D0/67A4: 86 DF                    move attacker up 32
D0/67A6: CB 81                    enable echo sprites (1 frame delay)
D0/67A8: E1 01                    show attacking character sprite
D0/67AA: D1 01                    invalidate character/monster sprite priority
D0/67AC: C9 00                    play default sound effect
D0/67AE: 89 13                    loop start (19 times)
D0/67B0: 86 27                    move attacker down 8
D0/67B2: 1F                       [---]
D0/67B3: 8A                       loop end
D0/67B4: 89 06                    loop start (6 times)
D0/67B6: 81 04 04                 change attacker graphic to 4 (walking forward, frame 1)
D0/67B9: 1F                       [---]
D0/67BA: 8A                       loop end
D0/67BB: 81 00 00                 change attacker graphic to 0 (no action)
D0/67BE: 89 08                    loop start (8 times)
D0/67C0: 1F                       [---]
D0/67C1: 8A                       loop end
D0/67C2: CB 01                    disable echo sprites
D0/67C4: D1 00                    validate character/monster sprite priority
D0/67C6: FF                       end of script

; [ Animation Script $01E1: Jump (sprite) ]

D0/67C7: 00 20                    speed 1, align to center of character/monster
D0/67C9: CB 81                    enable echo sprites (1 frame delay)
D0/67CB: D1 01                    invalidate character/monster sprite priority
D0/67CD: DB 03                    branch to $67D2 if character already stepped forward to attack
D0/67CF: BF 19 70                 jump to subroutine $7019
D0/67D2: 80 86 00                 play sound effect $00 (pan to thread x position)
D0/67D5: 81 14 14                 change attacker graphic to 20 (kneeling)
D0/67D8: 89 08                    loop start (8 times)
D0/67DA: 1F                       [---]
D0/67DB: 8A                       loop end
D0/67DC: 81 07 07                 change attacker graphic to 7 (jumping)
D0/67DF: 89 14                    loop start (20 times)
D0/67E1: 86 C7                    move attacker up 8
D0/67E3: 86 61                    move attacker forward 2
D0/67E5: 1F                       [---]
D0/67E6: 8A                       loop end
D0/67E7: 89 10                    loop start (16 times)
D0/67E9: 1F                       [---]
D0/67EA: 8A                       loop end
D0/67EB: CB 01                    disable echo sprites
D0/67ED: E1 00                    hide attacking character sprite
D0/67EF: 89 14                    loop start (20 times)
D0/67F1: 86 27                    move attacker down 8
D0/67F3: 86 81                    move attacker back 2
D0/67F5: 8A                       loop end
D0/67F6: DB 02                    branch to $67FA if character already stepped forward to attack
D0/67F8: 86 97                    move attacker back 24
D0/67FA: D1 00                    validate character/monster sprite priority
D0/67FC: FF                       end of script

; [ Animation Script $0086:  ]

D0/67FD: 00 00                    speed 1, align to bottom of character/monster
D0/67FF: D1 01                    invalidate character/monster sprite priority
D0/6801: 89 13                    loop start (19 times)
D0/6803: 86 C7                    move attacker up 8
D0/6805: 8A                       loop end
D0/6806: C9 00                    play default sound effect
D0/6808: E1 81                    show attacking monster sprite
D0/680A: 89 13                    loop start (19 times)
D0/680C: 86 27                    move attacker down 8
D0/680E: 0F                       [$0F]
D0/680F: 8A                       loop end
D0/6810: D1 00                    validate character/monster sprite priority
D0/6812: FF                       end of script

; [ Animation Script $0083: Jump w/o running (bg1) ]

D0/6813: 00 00                    speed 1, align to bottom of character/monster
D0/6815: D1 01                    invalidate character/monster sprite priority
D0/6817: C9 00                    play default sound effect
D0/6819: 89 13                    loop start (19 times)
D0/681B: 86 C7                    move attacker up 8
D0/681D: 86 61                    move attacker forward 2
D0/681F: 0F                       [$0F]
D0/6820: 8A                       loop end
D0/6821: E1 80                    hide attacking monster sprite
D0/6823: 89 13                    loop start (19 times)
D0/6825: 86 27                    move attacker down 8
D0/6827: 86 81                    move attacker back 2
D0/6829: 8A                       loop end
D0/682A: D1 00                    validate character/monster sprite priority
D0/682C: FF                       end of script

; [ Animation Script $0084:  ]

D0/682D: 00 00                    speed 1, align to bottom of character/monster
D0/682F: E1 80                    hide attacking monster sprite
D0/6831: 80 0E                    command $80/$0E
D0/6833: 0F                       [$0F]
D0/6834: E4                       command $E4
D0/6835: E2                       command $E2
D0/6836: 08                       [$08]
D0/6837: 02                       [$02]
D0/6838: 0F                       [$0F]
D0/6839: D1 01                    invalidate character/monster sprite priority
D0/683B: 86 DF                    move attacker up 32
D0/683D: 86 DF                    move attacker up 32
D0/683F: 86 DF                    move attacker up 32
D0/6841: 86 DF                    move attacker up 32
D0/6843: 86 DF                    move attacker up 32
D0/6845: E1 81                    show attacking monster sprite
D0/6847: C9 00                    play default sound effect
D0/6849: 89 13                    loop start (19 times)
D0/684B: 86 27                    move attacker down 8
D0/684D: 0F                       [$0F]
D0/684E: 8A                       loop end
D0/684F: D1 00                    validate character/monster sprite priority
D0/6851: 0F                       [$0F]
D0/6852: E3                       command $E3
D0/6853: 08                       [$08]
D0/6854: 03                       [$03]
D0/6855: FF                       end of script

; [ Animation Script $0080: Shock (sprite) ]

D0/6856: 00 20                    speed 1, align to center of character/monster
D0/6858: D1 01                    invalidate character/monster sprite priority
D0/685A: 8E 01                    show animation on weapon-hand side of character/monster sprites
D0/685C: 85                       move to attacker position
D0/685D: 8F 61                    move forward 2 if mirrored
D0/685F: DB 03                    branch to $6864 if character already stepped forward to attack
D0/6861: BF 19 70                 jump to subroutine $7019
D0/6864: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/6867: C9 52                    play sound effect $52
D0/6869: 83 E8                    move up/back 9
D0/686B: 83 62                    move forward 3
D0/686D: 00                       [$00]
D0/686E: 00                       [$00]
D0/686F: 83 85                    move back 6
D0/6871: 01                       [$01]
D0/6872: 01                       [$01]
D0/6873: 83 6F                    move forward 16
D0/6875: 83 24                    move down 5
D0/6877: 02                       [$02]
D0/6878: 02                       [$02]
D0/6879: 83 8E                    move back 15
D0/687B: 83 C3                    move up 4
D0/687D: 03                       [$03]
D0/687E: 03                       [$03]
D0/687F: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/6882: 83 87                    move back 8
D0/6884: 83 3F                    move down 32
D0/6886: 83 25                    move down 6
D0/6888: 04                       [$04]
D0/6889: 04                       [$04]
D0/688A: 83 A7                    move up/forward 8
D0/688C: 83 21                    move down 2
D0/688E: 05                       [$05]
D0/688F: 05                       [$05]
D0/6890: 83 27                    move down 8
D0/6892: 83 62                    move forward 3
D0/6894: 06                       [$06]
D0/6895: 06                       [$06]
D0/6896: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/6899: 83 C7                    move up 8
D0/689B: 83 69                    move forward 10
D0/689D: 07                       [$07]
D0/689E: 07                       [$07]
D0/689F: 83 CE                    move up 15
D0/68A1: 83 88                    move back 9
D0/68A3: 08                       [$08]
D0/68A4: 08                       [$08]
D0/68A5: 83 C8                    move up 9
D0/68A7: 83 88                    move back 9
D0/68A9: 09                       [$09]
D0/68AA: 09                       [$09]
D0/68AB: 83 87                    move back 8
D0/68AD: 83 27                    move down 8
D0/68AF: C2 80                    unpause bg1 thread
D0/68B1: 89 20                    loop start (32 times)
D0/68B3: 0A                       [$0A]
D0/68B4: 8A                       loop end
D0/68B5: 89 20                    loop start (32 times)
D0/68B7: 1F                       [---]
D0/68B8: 8A                       loop end
D0/68B9: FF                       end of script

; [ Animation Script $0081: Shock (bg1) ]

D0/68BA: 00 20                    speed 1, align to center of character/monster
D0/68BC: D0 20                    set tile priority to 2 for all character/monster sprites
D0/68BE: B0 FF                    set background color addition to 31 (white)
D0/68C0: C4 80                    move bg1 thread to this thread's position
D0/68C2: 00                       [$00]
D0/68C3: BD A0                    hide bg1 thread
D0/68C5: C9 00                    play default sound effect
D0/68C7: 89 30                    loop start (48 times)
D0/68C9: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/68CC: 00                       [$00]
D0/68CD: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/68D0: B5 F1                    decrease background color addition by 1 (white)
D0/68D2: 00                       [$00]
D0/68D3: 8A                       loop end
D0/68D4: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/68D6: 89 20                    loop start (32 times)
D0/68D8: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/68DB: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/68DD: 00                       [$00]
D0/68DE: 00                       [$00]
D0/68DF: 8A                       loop end
D0/68E0: D1 00                    validate character/monster sprite priority
D0/68E2: FF                       end of script

; [ Animation Script $0250: Dance Trip Up (sprite) ]

D0/68E3: 00 20                    speed 1, align to center of character/monster
D0/68E5: DB 03                    branch to $68EA if character already stepped forward to attack
D0/68E7: BF 19 70                 jump to subroutine $7019
D0/68EA: D1 01                    invalidate character/monster sprite priority
D0/68EC: C9 00                    play default sound effect
D0/68EE: BF 31 69                 jump to subroutine $6931
D0/68F1: C9 00                    play default sound effect
D0/68F3: BF 31 69                 jump to subroutine $6931
D0/68F6: BF 5D 71                 jump to subroutine $715D
D0/68F9: 89 08                    loop start (8 times)
D0/68FB: 1F                       [---]
D0/68FC: 8A                       loop end
D0/68FD: BF 5D 71                 jump to subroutine $715D
D0/6900: C9 A9                    play sound effect $A9
D0/6902: 81 00 00                 change attacker graphic to 0 (no action)
D0/6905: C8 01                    change attacker action to 1 (dead, horizontal)
D0/6907: 89 1F                    loop start (31 times)
D0/6909: 1F                       [---]
D0/690A: 8A                       loop end
D0/690B: C8 00                    change attacker action to 0 (no action)
D0/690D: FF                       end of script

; [ Animation Script $007F: Dance (sprite) ]

D0/690E: 00 20                    speed 1, align to center of character/monster
D0/6910: DB 03                    branch to $6915 if character already stepped forward to attack
D0/6912: BF 19 70                 jump to subroutine $7019
D0/6915: D1 01                    invalidate character/monster sprite priority
D0/6917: C9 00                    play default sound effect
D0/6919: BF 31 69                 jump to subroutine $6931
D0/691C: C9 00                    play default sound effect
D0/691E: BF 31 69                 jump to subroutine $6931
D0/6921: BF 5D 71                 jump to subroutine $715D
D0/6924: 89 08                    loop start (8 times)
D0/6926: 1F                       [---]
D0/6927: 8A                       loop end
D0/6928: C9 F9                    play sound effect $F9
D0/692A: BF 5D 71                 jump to subroutine $715D
D0/692D: 81 00 00                 change attacker graphic to 0 (no action)
D0/6930: FF                       end of script

D0/6931: 86 C2                    move attacker up 3
D0/6933: 83 C2                    move up 3
D0/6935: 1F                       [---]
D0/6936: 86 C2                    move attacker up 3
D0/6938: 83 C2                    move up 3
D0/693A: 1F                       [---]
D0/693B: 86 C1                    move attacker up 2
D0/693D: 83 C1                    move up 2
D0/693F: 1F                       [---]
D0/6940: 86 C1                    move attacker up 2
D0/6942: 83 C1                    move up 2
D0/6944: 1F                       [---]
D0/6945: 86 C0                    move attacker up 1
D0/6947: 83 C0                    move up 1
D0/6949: 1F                       [---]
D0/694A: 86 20                    move attacker down 1
D0/694C: 83 20                    move down 1
D0/694E: 1F                       [---]
D0/694F: 86 21                    move attacker down 2
D0/6951: 83 21                    move down 2
D0/6953: 1F                       [---]
D0/6954: 86 21                    move attacker down 2
D0/6956: 83 21                    move down 2
D0/6958: 1F                       [---]
D0/6959: 86 22                    move attacker down 3
D0/695B: 83 22                    move down 3
D0/695D: 1F                       [---]
D0/695E: 86 22                    move attacker down 3
D0/6960: 83 22                    move down 3
D0/6962: 1F                       [---]
D0/6963: C0                       return from subroutine

; [ Animation Script $007E: Runic (sprite) ]

D0/6964: 00 20                    speed 1, align to center of character/monster
D0/6966: 85                       move to attacker position
D0/6967: DB 03                    branch to $696C if character already stepped forward to attack
D0/6969: BF 19 70                 jump to subroutine $7019
D0/696C: 80 86 00                 play sound effect $00 (pan to thread x position)
D0/696F: 81 07 07                 change attacker graphic to 7 (jumping)
D0/6972: 84 04                    set animation speed to 5
D0/6974: 00                       [$00]
D0/6975: 01                       [$01]
D0/6976: 02                       [$02]
D0/6977: 03                       [$03]
D0/6978: 04                       [$04]
D0/6979: 05                       [$05]
D0/697A: 81 00 00                 change attacker graphic to 0 (no action)
D0/697D: FF                       end of script

; [ Animation Script $007D: Blitz (bg1) ]

D0/697E: 00 20                    speed 1, align to center of character/monster
D0/6980: 85                       move to attacker position
D0/6981: DB 03                    branch to $6986 if character already stepped forward to attack
D0/6983: BF 67 70                 jump to subroutine $7067
D0/6986: 80 86 00                 play sound effect $00 (pan to thread x position)
D0/6989: 81 07 07                 change attacker graphic to 7 (jumping)
D0/698C: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/698E: 84 02                    set animation speed to 3
D0/6990: 89 10                    loop start (16 times)
D0/6992: CF F2                    decrease bg1 animation palette color subtraction by 2 (black)
D0/6994: 00                       [$00]
D0/6995: 8A                       loop end
D0/6996: 84 02                    set animation speed to 3
D0/6998: 00                       [$00]
D0/6999: 01                       [$01]
D0/699A: 02                       [$02]
D0/699B: 03                       [$03]
D0/699C: 04                       [$04]
D0/699D: 05                       [$05]
D0/699E: 06                       [$06]
D0/699F: 07                       [$07]
D0/69A0: 81 00 00                 change attacker graphic to 0 (no action)
D0/69A3: FF                       end of script

; [ Animation Script $007C: SwdTech (bg1) ]

D0/69A4: 00 20                    speed 1, align to center of character/monster
D0/69A6: D1 01                    invalidate character/monster sprite priority
D0/69A8: DB 03                    branch to $69AD if character already stepped forward to attack
D0/69AA: BF 67 70                 jump to subroutine $7067
D0/69AD: 80 86 00                 play sound effect $00 (pan to thread x position)
D0/69B0: 81 07 07                 change attacker graphic to 7 (jumping)
D0/69B3: 85                       move to attacker position
D0/69B4: A5 00 00 18 FF FF 18 00  init circle at (0,0)
D0/69BC: A8                       move circle to attacker
D0/69BD: 83 8C                    move back 13
D0/69BF: A9 D0 00                 move circle (-48,+0)
D0/69C2: 00                       [$00]
D0/69C3: A9 0C 00                 move circle (+12,+0)
D0/69C6: 00                       [$00]
D0/69C7: A7                       update circle
D0/69C8: 00                       [$00]
D0/69C9: BD A0                    hide bg1 thread
D0/69CB: 89 12                    loop start (18 times)
D0/69CD: A3 16 32                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/69D0: A9 06 00                 move circle (+6,+0)
D0/69D3: A7                       update circle
D0/69D4: 00                       [$00]
D0/69D5: 8A                       loop end
D0/69D6: 81 00 00                 change attacker graphic to 0 (no action)
D0/69D9: FF                       end of script

; [ Animation Script $007A: Revert (sprite) ]

D0/69DA: 00 20                    speed 1, align to center of character/monster
D0/69DC: BF 19 70                 jump to subroutine $7019
D0/69DF: D1 01                    invalidate character/monster sprite priority
D0/69E1: BF 5D 71                 jump to subroutine $715D
D0/69E4: 80 60 00 00 00 08        command $80/$60
D0/69EA: BF 5D 71                 jump to subroutine $715D
D0/69ED: 81 00 00                 change attacker graphic to 0 (no action)
D0/69F0: D1 00                    validate character/monster sprite priority
D0/69F2: FF                       end of script

; [ Animation Script $007B: Steal (sprite) ]

D0/69F3: 00 00                    speed 1, align to bottom of character/monster
D0/69F5: C9 00                    play default sound effect
D0/69F7: 85                       move to attacker position
D0/69F8: 95                       calculate vector from attacker to target
D0/69F9: 93 00                    move to vector position 0
D0/69FB: 81 07 07                 change attacker graphic to 7 (jumping)
D0/69FE: 1F                       [---]
D0/69FF: A0 0A 03                 jump forward along vector at speed 10, branch to $69FE
D0/6A02: 81 14 14                 change attacker graphic to 20 (kneeling)
D0/6A05: 89 08                    loop start (8 times)
D0/6A07: 1F                       [---]
D0/6A08: 8A                       loop end
D0/6A09: 81 37 37                 change attacker graphic to 7 (jumping)
D0/6A0C: 1F                       [---]
D0/6A0D: A1 0A 03                 jump backward along vector at speed 10, branch to $6A0C
D0/6A10: 81 00 00                 change attacker graphic to 0 (no action)
D0/6A13: FF                       end of script

; [ Animation Script $0143: Leap (sprite) ]

D0/6A14: 00 00                    speed 1, align to bottom of character/monster
D0/6A16: BF 19 70                 jump to subroutine $7019
D0/6A19: 80 72 01                 branch to $6A1D if attack hit
D0/6A1C: FF                       end of script

D0/6A1D: C9 00                    play default sound effect
D0/6A1F: 85                       move to attacker position
D0/6A20: 95                       calculate vector from attacker to target
D0/6A21: 93 00                    move to vector position 0
D0/6A23: 81 07 07                 change attacker graphic to 7 (jumping)
D0/6A26: 1F                       [---]
D0/6A27: A0 06 03                 jump forward along vector at speed 6, branch to $6A26
D0/6A2A: FF                       end of script

; [ Animation Script $0079: Morph (bg1) ]

D0/6A2B: 00 20                    speed 1, align to center of character/monster
D0/6A2D: D1 01                    invalidate character/monster sprite priority
D0/6A2F: BF 67 70                 jump to subroutine $7067
D0/6A32: 81 07 07                 change attacker graphic to 7 (jumping)
D0/6A35: 80 86 00                 play sound effect $00 (pan to thread x position)
D0/6A38: 85                       move to attacker position
D0/6A39: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/6A3B: 89 07                    loop start (7 times)
D0/6A3D: CF F4                    decrease bg1 animation palette color subtraction by 4 (black)
D0/6A3F: A3 16 32                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/6A42: 00                       [$00]
D0/6A43: BD A0                    hide bg1 thread
D0/6A45: 8A                       loop end
D0/6A46: A3 16 31                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/6A49: 80 60 00 00 00 08        command $80/$60
D0/6A4F: 00                       [$00]
D0/6A50: 89 20                    loop start (32 times)
D0/6A52: A3 16 32                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/6A55: 00                       [$00]
D0/6A56: 8A                       loop end
D0/6A57: 89 07                    loop start (7 times)
D0/6A59: CF E4                    increase bg1 animation palette color subtraction by 4 (black)
D0/6A5B: A3 16 32                 shift colors (1..7) of bg1 animation/esper palette left (3 loops per shift)
D0/6A5E: 00                       [$00]
D0/6A5F: 8A                       loop end
D0/6A60: 81 00 00                 change attacker graphic to 0 (no action)
D0/6A63: FF                       end of script

; [ Animation Script $0078: Rage/Lore (bg1) ]

D0/6A64: 00 20                    speed 1, align to center of character/monster
D0/6A66: DB 03                    branch to $6A6B if character already stepped forward to attack
D0/6A68: BF 67 70                 jump to subroutine $7067
D0/6A6B: D1 01                    invalidate character/monster sprite priority
D0/6A6D: 80 86 00                 play sound effect $00 (pan to thread x position)
D0/6A70: DD 00 00 00 00           init triangle
D0/6A75: DE                       move triangle to attacker position
D0/6A76: 81 07 07                 change attacker graphic to 7 (jumping)
D0/6A79: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/6A7B: E0 00 00 00 08           move triangle (+0,+0), rotate +8 units
D0/6A80: DC                       update triangle 2d
D0/6A81: 00                       [$00]
D0/6A82: BD A0                    hide bg1 thread
D0/6A84: 85                       move to attacker position
D0/6A85: 89 07                    loop start (7 times)
D0/6A87: CF F4                    decrease bg1 animation palette color subtraction by 4 (black)
D0/6A89: A3 17 34                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/6A8C: E0 00 00 04 10           move triangle (+0,+0) and change diameter by +4, rotate +16 units
D0/6A91: DC                       update triangle 2d
D0/6A92: 00                       [$00]
D0/6A93: 8A                       loop end
D0/6A94: 89 04                    loop start (4 times)
D0/6A96: A3 17 34                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/6A99: E0 00 00 04 10           move triangle (+0,+0) and change diameter by +4, rotate +16 units
D0/6A9E: DC                       update triangle 2d
D0/6A9F: 00                       [$00]
D0/6AA0: 8A                       loop end
D0/6AA1: 89 0F                    loop start (15 times)
D0/6AA3: A3 17 34                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/6AA6: E0 00 00 00 10           move triangle (+0,+0), rotate +16 units
D0/6AAB: DC                       update triangle 2d
D0/6AAC: 00                       [$00]
D0/6AAD: 8A                       loop end
D0/6AAE: 89 07                    loop start (7 times)
D0/6AB0: CF E4                    increase bg1 animation palette color subtraction by 4 (black)
D0/6AB2: A3 17 34                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/6AB5: E0 00 00 FC 10           move triangle (+0,+0) and change diameter by -4, rotate +16 units
D0/6ABA: DC                       update triangle 2d
D0/6ABB: 00                       [$00]
D0/6ABC: 8A                       loop end
D0/6ABD: D1 00                    validate character/monster sprite priority
D0/6ABF: 81 00 00                 change attacker graphic to 0 (no action)
D0/6AC2: FF                       end of script

; [ Animation Script $0077: Esper Magic (bg1) ]

D0/6AC3: 00 20                    speed 1, align to center of character/monster
D0/6AC5: B1 FF                    set sprite animation palette color subtraction to 31 (black)
D0/6AC7: DB 03                    branch to $6ACC if character already stepped forward to attack
D0/6AC9: BF 67 70                 jump to subroutine $7067
D0/6ACC: 81 07 07                 change attacker graphic to 7 (jumping)
D0/6ACF: 80 86 00                 play sound effect $00 (pan to thread x position)
D0/6AD2: 89 07                    loop start (7 times)
D0/6AD4: B8 F4                    decrease sprite animation palette color subtraction by 4 (black)
D0/6AD6: 0F                       [$0F]
D0/6AD7: 8A                       loop end
D0/6AD8: 89 17                    loop start (23 times)
D0/6ADA: 0F                       [$0F]
D0/6ADB: 8A                       loop end
D0/6ADC: 89 07                    loop start (7 times)
D0/6ADE: B8 E4                    increase sprite animation palette color subtraction by 4 (black)
D0/6AE0: 0F                       [$0F]
D0/6AE1: 8A                       loop end
D0/6AE2: 81 00 00                 change attacker graphic to 0 (no action)
D0/6AE5: FF                       end of script

; [ Animation Script $0076: Esper Magic (sprite) ]

D0/6AE6: 00 20                    speed 1, align to center of character/monster
D0/6AE8: D1 01                    invalidate character/monster sprite priority
D0/6AEA: 90 00                    set animation tile priority to 0
D0/6AEC: 85                       move to attacker position
D0/6AED: DB 06                    branch to $6AF5 if character already stepped forward to attack
D0/6AEF: 89 07                    loop start (7 times)
D0/6AF1: 83 62                    move forward 3
D0/6AF3: 1F                       [---]
D0/6AF4: 8A                       loop end
D0/6AF5: 89 1F                    loop start (31 times)
D0/6AF7: 80 0B                    command $80/$0B
D0/6AF9: 00                       [$00]
D0/6AFA: 8A                       loop end
D0/6AFB: FF                       end of script

; [ Animation Script $0075: White/Effect Magic (sprite) ]

D0/6AFC: 00 20                    speed 1, align to center of character/monster
D0/6AFE: 85                       move to attacker position
D0/6AFF: DB 06                    branch to $6B07 if character already stepped forward to attack
D0/6B01: 89 07                    loop start (7 times)
D0/6B03: 83 62                    move forward 3
D0/6B05: 1F                       [---]
D0/6B06: 8A                       loop end
D0/6B07: 89 20                    loop start (32 times)
D0/6B09: 80 0A                    command $80/$0A
D0/6B0B: 00                       [$00]
D0/6B0C: 8A                       loop end
D0/6B0D: FF                       end of script

; [ Animation Script $0073: Black Magic (bg1) ]

D0/6B0E: 00 20                    speed 1, align to center of character/monster
D0/6B10: D1 01                    invalidate character/monster sprite priority
D0/6B12: DB 03                    branch to $6B17 if character already stepped forward to attack
D0/6B14: BF 67 70                 jump to subroutine $7067
D0/6B17: 80 86 00                 play sound effect $00 (pan to thread x position)
D0/6B1A: 85                       move to attacker position
D0/6B1B: 81 07 07                 change attacker graphic to 7 (jumping)
D0/6B1E: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/6B20: 00                       [$00]
D0/6B21: BD A0                    hide bg1 thread
D0/6B23: 89 07                    loop start (7 times)
D0/6B25: CF F4                    decrease bg1 animation palette color subtraction by 4 (black)
D0/6B27: A3 17 34                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/6B2A: 00                       [$00]
D0/6B2B: 8A                       loop end
D0/6B2C: 89 0F                    loop start (15 times)
D0/6B2E: A3 17 34                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/6B31: 00                       [$00]
D0/6B32: 8A                       loop end
D0/6B33: 89 07                    loop start (7 times)
D0/6B35: CF E4                    increase bg1 animation palette color subtraction by 4 (black)
D0/6B37: A3 17 34                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/6B3A: 00                       [$00]
D0/6B3B: 8A                       loop end
D0/6B3C: 81 00 00                 change attacker graphic to 0 (no action)
D0/6B3F: FF                       end of script

; [ Animation Script $0041: Monster Attack (sprite) ]

D0/6B40: 00 20                    speed 1, align to center of character/monster
D0/6B42: DB 03                    branch to $6B47 if character already stepped forward to attack
D0/6B44: BF 19 70                 jump to subroutine $7019
D0/6B47: 81 07 07                 change attacker graphic to 7 (jumping)
D0/6B4A: FF                       end of script

; [ Animation Script $0072: Sketch (sprite) ]

D0/6B4B: 00 20                    speed 1, align to center of character/monster
D0/6B4D: 85                       move to attacker position
D0/6B4E: 8F 61                    move forward 2 if mirrored
D0/6B50: DB 03                    branch to $6B55 if character already stepped forward to attack
D0/6B52: BF 19 70                 jump to subroutine $7019
D0/6B55: C9 00                    play default sound effect
D0/6B57: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/6B5A: 84 03                    set animation speed to 4
D0/6B5C: 83 33                    move down 20
D0/6B5E: 83 71                    move forward 18
D0/6B60: 83 C6                    move up 7
D0/6B62: 00                       [$00]
D0/6B63: 02                       [$02]
D0/6B64: 03                       [$03]
D0/6B65: 83 28                    move down 9
D0/6B67: 04                       [$04]
D0/6B68: 05                       [$05]
D0/6B69: 06                       [$06]
D0/6B6A: 83 C8                    move up 9
D0/6B6C: 07                       [$07]
D0/6B6D: 00                       [$00]
D0/6B6E: 01                       [$01]
D0/6B6F: 02                       [$02]
D0/6B70: 03                       [$03]
D0/6B71: 83 28                    move down 9
D0/6B73: 04                       [$04]
D0/6B74: 83 C8                    move up 9
D0/6B76: 03                       [$03]
D0/6B77: 02                       [$02]
D0/6B78: 01                       [$01]
D0/6B79: 00                       [$00]
D0/6B7A: 84 01                    set animation speed to 2
D0/6B7C: 81 00 00                 change attacker graphic to 0 (no action)
D0/6B7F: FF                       end of script

; [ Animation Script $0070: Spiraler (bg1) ]

D0/6B80: 00 20                    speed 1, align to center of character/monster
D0/6B82: D1 01                    invalidate character/monster sprite priority
D0/6B84: C9 00                    play default sound effect
D0/6B86: F7 A0                    wait until scanline 160
D0/6B88: AD 08                    set bg1 hdma scroll type to 8
D0/6B8A: B0 20                    set background color addition to 0 (blue)
D0/6B8C: 0F                       [$0F]
D0/6B8D: 89 07                    loop start (7 times)
D0/6B8F: B5 22                    increase background color addition by 2 (blue)
D0/6B91: 0F                       [$0F]
D0/6B92: 8A                       loop end
D0/6B93: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/6B95: 00                       [$00]
D0/6B96: BD A0                    hide bg1 thread
D0/6B98: BF 72 71                 jump to subroutine $7172
D0/6B9B: 81 07 07                 change attacker graphic to 7 (jumping)
D0/6B9E: 85                       move to attacker position
D0/6B9F: 83 DF                    move up 32
D0/6BA1: 83 DF                    move up 32
D0/6BA3: D2 80 60                 set vector target to (128,96)
D0/6BA6: 95                       calculate vector from attacker to target
D0/6BA7: 93 00                    move to vector position 0
D0/6BA9: 80 06                    clear tornado data
D0/6BAB: 80 07                    move tornado to thread position
D0/6BAD: 89 13                    loop start (19 times)
D0/6BAF: DA 02 01                 move tornado sinusoidally with speed (+2,+1)
D0/6BB2: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/6BB5: CF F2                    decrease bg1 animation palette color subtraction by 2 (black)
D0/6BB7: 86 C7                    move attacker up 8
D0/6BB9: 80 09                    update character/monster sprite tile priority for tornado
D0/6BBB: 00                       [$00]
D0/6BBC: 80 08                    move thread to vector position
D0/6BBE: 8A                       loop end
D0/6BBF: E1 00                    hide attacking character sprite
D0/6BC1: 80 07                    move tornado to thread position
D0/6BC3: DA 02 01                 move tornado sinusoidally with speed (+2,+1)
D0/6BC6: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/6BC9: 80 09                    update character/monster sprite tile priority for tornado
D0/6BCB: 00                       [$00]
D0/6BCC: 92 01 0D                 move along vector at speed 1, branch to $6BC1
D0/6BCF: 89 80                    loop start (128 times)
D0/6BD1: DA 02 01                 move tornado sinusoidally with speed (+2,+1)
D0/6BD4: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/6BD7: 80 09                    update character/monster sprite tile priority for tornado
D0/6BD9: 00                       [$00]
D0/6BDA: 8A                       loop end
D0/6BDB: 89 13                    loop start (19 times)
D0/6BDD: DA 02 01                 move tornado sinusoidally with speed (+2,+1)
D0/6BE0: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/6BE3: CF E2                    increase bg1 animation palette color subtraction by 2 (black)
D0/6BE5: 86 27                    move attacker down 8
D0/6BE7: 80 09                    update character/monster sprite tile priority for tornado
D0/6BE9: 00                       [$00]
D0/6BEA: 8A                       loop end
D0/6BEB: AD 03                    set bg1 hdma scroll type to 3
D0/6BED: 80 06                    clear tornado data
D0/6BEF: 81 00 00                 change attacker graphic to 0 (no action)
D0/6BF2: 89 07                    loop start (7 times)
D0/6BF4: B5 32                    decrease background color addition by 2 (blue)
D0/6BF6: 00                       [$00]
D0/6BF7: 8A                       loop end
D0/6BF8: D1 00                    validate character/monster sprite priority
D0/6BFA: FF                       end of script

; [ Animation Script $006F: Bum Rush (sprite) ]

D0/6BFB: 00 00                    speed 1, align to bottom of character/monster
D0/6BFD: 85                       move to attacker position
D0/6BFE: E7                       calculate vector from attacking character to target
D0/6BFF: CB 81                    enable echo sprites (1 frame delay)
D0/6C01: 81 07 07                 change attacker graphic to 7 (jumping)
D0/6C04: 1F                       [---]
D0/6C05: E5 06 03 20              move character forward along vector at speed 6 and height 32, branch to $6C04
D0/6C09: C9 00                    play default sound effect
D0/6C0B: 80 05                    command $80/$05
D0/6C0D: D1 01                    invalidate character/monster sprite priority
D0/6C0F: AD 06                    set bg1 hdma scroll type to 6
D0/6C11: AC 82 44                 set (bg1) hdma scroll data (amplitude 4, frequency 2, horizontal)
D0/6C14: 89 0F                    loop start (15 times)
D0/6C16: D8 08 00 02              command $D8
D0/6C1A: 1F                       [---]
D0/6C1B: 8A                       loop end
D0/6C1C: 81 00 00                 change attacker graphic to 0 (no action)
D0/6C1F: C8 25                    change attacker action to 37 (spinning/confused)
D0/6C21: BF 76 6C                 jump to subroutine $6C76
D0/6C24: BF 76 6C                 jump to subroutine $6C76
D0/6C27: BF 76 6C                 jump to subroutine $6C76
D0/6C2A: D9 20                    set attacker sprite tile priority to 2
D0/6C2C: 89 0F                    loop start (15 times)
D0/6C2E: D8 04 F8 00              command $D8
D0/6C32: AE 44                    update (bg1) hdma scroll data (horizontal)
D0/6C34: 1F                       [---]
D0/6C35: 8A                       loop end
D0/6C36: D9 30                    set attacker sprite tile priority to 3
D0/6C38: 89 03                    loop start (3 times)
D0/6C3A: D8 F8 F8 00              command $D8
D0/6C3E: B0 E0                    set background color addition to 0 (white)
D0/6C40: AE 44                    update (bg1) hdma scroll data (horizontal)
D0/6C42: 1F                       [---]
D0/6C43: D8 F8 F8 00              command $D8
D0/6C47: B0 E0                    set background color addition to 0 (white)
D0/6C49: AE 44                    update (bg1) hdma scroll data (horizontal)
D0/6C4B: 1F                       [---]
D0/6C4C: 8A                       loop end
D0/6C4D: 89 10                    loop start (16 times)
D0/6C4F: D8 F8 00 00              command $D8
D0/6C53: B0 E0                    set background color addition to 0 (white)
D0/6C55: AE 44                    update (bg1) hdma scroll data (horizontal)
D0/6C57: 1F                       [---]
D0/6C58: 8A                       loop end
D0/6C59: 80 25                    clear bg1 hdma scroll data
D0/6C5B: C8 00                    change attacker action to 0 (no action)
D0/6C5D: AD 03                    set bg1 hdma scroll type to 3
D0/6C5F: D1 00                    validate character/monster sprite priority
D0/6C61: 81 37 37                 change attacker graphic to 7 (jumping)
D0/6C64: 1F                       [---]
D0/6C65: E6 06 03 20              move character backward along vector at speed 6 and height 32, branch to $6C64
D0/6C69: 81 44 44                 change attacker graphic to 20 (kneeling)
D0/6C6C: 89 1F                    loop start (31 times)
D0/6C6E: 1F                       [---]
D0/6C6F: 8A                       loop end
D0/6C70: 81 00 00                 change attacker graphic to 0 (no action)
D0/6C73: CB 01                    disable echo sprites
D0/6C75: FF                       end of script

D0/6C76: D9 20                    set attacker sprite tile priority to 2
D0/6C78: 89 07                    loop start (7 times)
D0/6C7A: D8 04 F8 00              command $D8
D0/6C7E: B0 FF                    set background color addition to 31 (white)
D0/6C80: AE 44                    update (bg1) hdma scroll data (horizontal)
D0/6C82: 1F                       [---]
D0/6C83: D8 04 F8 00              command $D8
D0/6C87: B0 E0                    set background color addition to 0 (white)
D0/6C89: AE 44                    update (bg1) hdma scroll data (horizontal)
D0/6C8B: 1F                       [---]
D0/6C8C: 8A                       loop end
D0/6C8D: D9 30                    set attacker sprite tile priority to 3
D0/6C8F: 89 07                    loop start (7 times)
D0/6C91: D8 04 F8 00              command $D8
D0/6C95: B0 FF                    set background color addition to 31 (white)
D0/6C97: AE 44                    update (bg1) hdma scroll data (horizontal)
D0/6C99: 1F                       [---]
D0/6C9A: D8 04 F8 00              command $D8
D0/6C9E: B0 E0                    set background color addition to 0 (white)
D0/6CA0: AE 44                    update (bg1) hdma scroll data (horizontal)
D0/6CA2: 1F                       [---]
D0/6CA3: 8A                       loop end
D0/6CA4: C0                       return from subroutine

; [ Animation Script $006E: Mantra (bg1) ]

D0/6CA5: 00 20                    speed 1, align to center of character/monster
D0/6CA7: D1 01                    invalidate character/monster sprite priority
D0/6CA9: C4 80                    move bg1 thread to this thread's position
D0/6CAB: C9 00                    play default sound effect
D0/6CAD: AC 82 44                 set (bg1) hdma scroll data (amplitude 4, frequency 2, horizontal)
D0/6CB0: 81 07 07                 change attacker graphic to 7 (jumping)
D0/6CB3: AD 06                    set bg1 hdma scroll type to 6
D0/6CB5: CC E0                    set bg1 animation palette color subtraction to 0 (black)
D0/6CB7: A5 00 00 02 DE FF 7F 00  init circle at (0,0)
D0/6CBF: A8                       move circle to attacker
D0/6CC0: A9 00 03                 move circle (+0,+3)
D0/6CC3: 89 28                    loop start (40 times)
D0/6CC5: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/6CC8: A6 00 00 02              move circle (+0,+0) and grow by 2
D0/6CCC: A7                       update circle
D0/6CCD: AE 44                    update (bg1) hdma scroll data (horizontal)
D0/6CCF: 00                       [$00]
D0/6CD0: 8A                       loop end
D0/6CD1: F7 A0                    wait until scanline 160
D0/6CD3: D4 02 01 12              add (sprites, bg2) to (bg1)
D0/6CD7: 89 0F                    loop start (15 times)
D0/6CD9: CF E2                    increase bg1 animation palette color subtraction by 2 (black)
D0/6CDB: A3 17 31                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/6CDE: A7                       update circle
D0/6CDF: AE 44                    update (bg1) hdma scroll data (horizontal)
D0/6CE1: 00                       [$00]
D0/6CE2: 8A                       loop end
D0/6CE3: 80 25                    clear bg1 hdma scroll data
D0/6CE5: 81 00 00                 change attacker graphic to 0 (no action)
D0/6CE8: AD 03                    set bg1 hdma scroll type to 3
D0/6CEA: D1 00                    validate character/monster sprite priority
D0/6CEC: FF                       end of script

; [ Animation Script $006C: Air Blade Hit (sprite) ]

D0/6CED: 00 20                    speed 1, align to center of character/monster
D0/6CEF: D1 01                    invalidate character/monster sprite priority
D0/6CF1: 85                       move to attacker position
D0/6CF2: 95                       calculate vector from attacker to target
D0/6CF3: 93 10                    move to vector position 16
D0/6CF5: 83 8F                    move back 16
D0/6CF7: 81 07 17                 change attacker graphic to 7 (jumping) if facing left or 23 (hands up, facing down) if facing right
D0/6CFA: 00                       [$00]
D0/6CFB: 00                       [$00]
D0/6CFC: 01                       [$01]
D0/6CFD: 01                       [$01]
D0/6CFE: 81 18 37                 change attacker graphic to 24 (hands up, facing up) if facing left or 7 (jumping) if facing right
D0/6D01: 02                       [$02]
D0/6D02: 02                       [$02]
D0/6D03: 03                       [$03]
D0/6D04: 03                       [$03]
D0/6D05: 81 37 18                 change attacker graphic to 7 (jumping) if facing left or 24 (hands up, facing up) if facing right
D0/6D08: 04                       [$04]
D0/6D09: 04                       [$04]
D0/6D0A: 05                       [$05]
D0/6D0B: 05                       [$05]
D0/6D0C: 81 17 07                 change attacker graphic to 23 (hands up, facing down) if facing left or 7 (jumping) if facing right
D0/6D0F: 06                       [$06]
D0/6D10: 06                       [$06]
D0/6D11: C2 80                    unpause bg1 thread
D0/6D13: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/6D16: C9 00                    play default sound effect
D0/6D18: 07                       [$07]
D0/6D19: 92 08 03                 move along vector at speed 8, branch to $6D18
D0/6D1C: C9 18                    play sound effect $18
D0/6D1E: 84 02                    set animation speed to 3
D0/6D20: 83 6F                    move forward 16
D0/6D22: 08                       [$08]
D0/6D23: 87 61                    move target forward 2
D0/6D25: 07                       [$07]
D0/6D26: 87 81                    move target back 2
D0/6D28: 09                       [$09]
D0/6D29: 87 61                    move target forward 2
D0/6D2B: 0A                       [$0A]
D0/6D2C: 87 81                    move target back 2
D0/6D2E: 0B                       [$0B]
D0/6D2F: 87 61                    move target forward 2
D0/6D31: 0C                       [$0C]
D0/6D32: 87 81                    move target back 2
D0/6D34: 0D                       [$0D]
D0/6D35: 87 61                    move target forward 2
D0/6D37: 0E                       [$0E]
D0/6D38: 87 81                    move target back 2
D0/6D3A: 0F                       [$0F]
D0/6D3B: 87 61                    move target forward 2
D0/6D3D: 10                       [$10]
D0/6D3E: 87 81                    move target back 2
D0/6D40: 11                       [$11]
D0/6D41: 87 61                    move target forward 2
D0/6D43: 12                       [$12]
D0/6D44: 87 81                    move target back 2
D0/6D46: 13                       [$13]
D0/6D47: 14                       [$14]
D0/6D48: 15                       [$15]
D0/6D49: 16                       [$16]
D0/6D4A: 17                       [$17]
D0/6D4B: 81 00 00                 change attacker graphic to 0 (no action)
D0/6D4E: D1 00                    validate character/monster sprite priority
D0/6D50: FF                       end of script

; [ Animation Script $006D: Air Blade (bg1) ]

D0/6D51: 00 A0                    speed 1, align to center of screen
D0/6D53: C4 80                    move bg1 thread to this thread's position
D0/6D55: D0 20                    set tile priority to 2 for all character/monster sprites
D0/6D57: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/6D59: CF F1                    decrease bg1 animation palette color subtraction by 1 (black)
D0/6D5B: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/6D5E: 00                       [$00]
D0/6D5F: BD A0                    hide bg1 thread
D0/6D61: 89 20                    loop start (32 times)
D0/6D63: CF F1                    decrease bg1 animation palette color subtraction by 1 (black)
D0/6D65: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/6D68: 00                       [$00]
D0/6D69: 8A                       loop end
D0/6D6A: 89 20                    loop start (32 times)
D0/6D6C: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/6D6F: 00                       [$00]
D0/6D70: 8A                       loop end
D0/6D71: 89 20                    loop start (32 times)
D0/6D73: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/6D75: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/6D78: 00                       [$00]
D0/6D79: 8A                       loop end
D0/6D7A: FF                       end of script

; [ Animation Script $006B: Fire Dance (bg1) ]

D0/6D7B: 00 20                    speed 1, align to center of character/monster
D0/6D7D: D1 01                    invalidate character/monster sprite priority
D0/6D7F: BD A0                    hide bg1 thread
D0/6D81: C9 00                    play default sound effect
D0/6D83: AF 60                    set background color subtraction to 0 (red)
D0/6D85: C8 09                    change attacker action to 9 (casting)
D0/6D87: 89 07                    loop start (7 times)
D0/6D89: B6 62                    increase background color subtraction by 2 (red)
D0/6D8B: 1F                       [---]
D0/6D8C: 8A                       loop end
D0/6D8D: AC 42 48                 set (bg2) hdma scroll data (amplitude 8, frequency 2, horizontal)
D0/6D90: 89 34                    loop start (52 times)
D0/6D92: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/6D94: 00                       [$00]
D0/6D95: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/6D97: 00                       [$00]
D0/6D98: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/6D9A: 00                       [$00]
D0/6D9B: 8A                       loop end
D0/6D9C: AC 42 46                 set (bg2) hdma scroll data (amplitude 6, frequency 2, horizontal)
D0/6D9F: BF BD 6D                 jump to subroutine $6DBD
D0/6DA2: AC 42 44                 set (bg2) hdma scroll data (amplitude 4, frequency 2, horizontal)
D0/6DA5: BF BD 6D                 jump to subroutine $6DBD
D0/6DA8: AC 42 42                 set (bg2) hdma scroll data (amplitude 2, frequency 2, horizontal)
D0/6DAB: BF BD 6D                 jump to subroutine $6DBD
D0/6DAE: AC 40 40                 set (bg2) hdma scroll data (amplitude 0, frequency 0, horizontal)
D0/6DB1: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/6DB3: 89 0F                    loop start (15 times)
D0/6DB5: B6 71                    decrease background color subtraction by 1 (red)
D0/6DB7: 00                       [$00]
D0/6DB8: 00                       [$00]
D0/6DB9: 8A                       loop end
D0/6DBA: D1 00                    validate character/monster sprite priority
D0/6DBC: FF                       end of script

D0/6DBD: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/6DBF: 00                       [$00]
D0/6DC0: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/6DC2: 00                       [$00]
D0/6DC3: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/6DC5: 00                       [$00]
D0/6DC6: C0                       return from subroutine

; [ Animation Script $006A: Fire Dance (sprite) ]

D0/6DC7: 00 20                    speed 1, align to center of character/monster
D0/6DC9: 89 20                    loop start (32 times)
D0/6DCB: 1F                       [---]
D0/6DCC: 8A                       loop end
D0/6DCD: 85                       move to attacker position
D0/6DCE: 83 DF                    move up 32
D0/6DD0: 80 04                    init fire dance sprite position
D0/6DD2: 89 80                    loop start (128 times)
D0/6DD4: D7 7F                    update fire dance sprites with radius 127
D0/6DD6: 83 60                    move forward 1
D0/6DD8: 00                       [$00]
D0/6DD9: 8A                       loop end
D0/6DDA: FF                       end of script

D0/6DDB: 95                       calculate vector from attacker to target
D0/6DDC: 93 00                    move to vector position 0
D0/6DDE: 1F                       [---]
D0/6DDF: A0 08 03                 jump forward along vector at speed 8, branch to $6DDE
D0/6DE2: C0                       return from subroutine

; [ Animation Script $0069: Suplex (sprite) ]

D0/6DE3: 00 00                    speed 1, align to bottom of character/monster
D0/6DE5: 85                       move to attacker position
D0/6DE6: 95                       calculate vector from attacker to target
D0/6DE7: 93 00                    move to vector position 0
D0/6DE9: 81 07 07                 change attacker graphic to 7 (jumping)
D0/6DEC: C9 5B                    play sound effect $5B
D0/6DEE: 1F                       [---]
D0/6DEF: A0 08 03                 jump forward along vector at speed 8, branch to $6DEE
D0/6DF2: D1 01                    invalidate character/monster sprite priority
D0/6DF4: 81 14 14                 change attacker graphic to 20 (kneeling)
D0/6DF7: 89 08                    loop start (8 times)
D0/6DF9: 1F                       [---]
D0/6DFA: 8A                       loop end
D0/6DFB: 81 07 07                 change attacker graphic to 7 (jumping)
D0/6DFE: 80 72 0B                 branch to $6E0C if attack hit
D0/6E01: 81 37 37                 change attacker graphic to 7 (jumping)
D0/6E04: 1F                       [---]
D0/6E05: A1 08 03                 jump backward along vector at speed 8, branch to $6E04
D0/6E08: 81 00 00                 change attacker graphic to 0 (no action)
D0/6E0B: FF                       end of script

D0/6E0C: C9 6A                    play sound effect $6A
D0/6E0E: 89 15                    loop start (21 times)
D0/6E10: 86 C7                    move attacker up 8
D0/6E12: 87 C7                    move target up 8
D0/6E14: 1F                       [---]
D0/6E15: 8A                       loop end
D0/6E16: 89 1F                    loop start (31 times)
D0/6E18: 1F                       [---]
D0/6E19: 8A                       loop end
D0/6E1A: D5 02                    flip target monster vertically
D0/6E1C: 80 7E                    command $80/$7E
D0/6E1E: 81 14 14                 change attacker graphic to 20 (kneeling)
D0/6E21: 89 15                    loop start (21 times)
D0/6E23: 86 27                    move attacker down 8
D0/6E25: 87 27                    move target down 8
D0/6E27: 1F                       [---]
D0/6E28: 8A                       loop end
D0/6E29: C9 60                    play sound effect $60
D0/6E2B: 89 07                    loop start (7 times)
D0/6E2D: D6 02 01                 scroll background to (2,1)
D0/6E30: 1F                       [---]
D0/6E31: D6 FE FF                 scroll background to (-2,-1)
D0/6E34: 1F                       [---]
D0/6E35: 8A                       loop end
D0/6E36: D6 00 00                 scroll background to (0,0)
D0/6E39: D5 02                    flip target monster vertically
D0/6E3B: 80 7E                    command $80/$7E
D0/6E3D: 81 37 37                 change attacker graphic to 7 (jumping)
D0/6E40: 1F                       [---]
D0/6E41: A1 08 03                 jump backward along vector at speed 8, branch to $6E40
D0/6E44: 81 00 00                 change attacker graphic to 0 (no action)
D0/6E47: FF                       end of script

; [ Animation Script $0066: AuraBolt (bg1) ]

D0/6E48: 00 20                    speed 1, align to center of character/monster
D0/6E4A: F7 A0                    wait until scanline 160
D0/6E4C: D4 02 01 12              add (sprites, bg2) to (bg1)
D0/6E50: 80 4F                    move to attacking character position
D0/6E52: 83 7F                    move forward 32
D0/6E54: 83 7F                    move forward 32
D0/6E56: 83 7F                    move forward 32
D0/6E58: 83 7F                    move forward 32
D0/6E5A: 83 66                    move forward 7
D0/6E5C: 83 2F                    move down 16
D0/6E5E: 00                       [$00]
D0/6E5F: 00                       [$00]
D0/6E60: 01                       [$01]
D0/6E61: 01                       [$01]
D0/6E62: 02                       [$02]
D0/6E63: 02                       [$02]
D0/6E64: 03                       [$03]
D0/6E65: 03                       [$03]
D0/6E66: 04                       [$04]
D0/6E67: 04                       [$04]
D0/6E68: 87 64                    move target forward 5
D0/6E6A: 05                       [$05]
D0/6E6B: 87 64                    move target forward 5
D0/6E6D: 05                       [$05]
D0/6E6E: 87 64                    move target forward 5
D0/6E70: 06                       [$06]
D0/6E71: 06                       [$06]
D0/6E72: 07                       [$07]
D0/6E73: 07                       [$07]
D0/6E74: 08                       [$08]
D0/6E75: 08                       [$08]
D0/6E76: 09                       [$09]
D0/6E77: 09                       [$09]
D0/6E78: 0A                       [$0A]
D0/6E79: 0A                       [$0A]
D0/6E7A: 0B                       [$0B]
D0/6E7B: 0B                       [$0B]
D0/6E7C: 87 84                    move target back 5
D0/6E7E: 0C                       [$0C]
D0/6E7F: 87 84                    move target back 5
D0/6E81: 0C                       [$0C]
D0/6E82: 87 84                    move target back 5
D0/6E84: 0D                       [$0D]
D0/6E85: 0D                       [$0D]
D0/6E86: FF                       end of script

; [ Animation Script $0067: AuraBolt (bg3) ]

D0/6E87: 00 80                    speed 1, initial position $80
D0/6E89: C4 40                    move bg3 thread to this thread's position
D0/6E8B: AA FF                    set bg3 animation palette color subtraction to 31 (black)
D0/6E8D: 00                       [$00]
D0/6E8E: BD 50                    hide bg3 thread
D0/6E90: A5 00 00 01 FF FF 7F 00  init circle at (0,0)
D0/6E98: D3                       move circle to attacking character
D0/6E99: A6 00 EC 00              move circle (+0,-20)
D0/6E9D: A9 F8 00                 move circle (-8,+0)
D0/6EA0: A7                       update circle
D0/6EA1: 89 12                    loop start (18 times)
D0/6EA3: B4 F2                    decrease bg3 animation palette color subtraction by 2 (black)
D0/6EA5: A6 00 00 02              move circle (+0,+0) and grow by 2
D0/6EA9: A7                       update circle
D0/6EAA: 00                       [$00]
D0/6EAB: 8A                       loop end
D0/6EAC: 89 03                    loop start (3 times)
D0/6EAE: A6 00 08 F8              move circle (+0,+8) and shrink by 8
D0/6EB2: A7                       update circle
D0/6EB3: 00                       [$00]
D0/6EB4: 8A                       loop end
D0/6EB5: 00                       [$00]
D0/6EB6: 81 08 08                 change attacker graphic to 8 (casting, frame 1)
D0/6EB9: C2 80                    unpause bg1 thread
D0/6EBB: FF                       end of script

; [ Animation Script $0068: AuraBolt (sprite) ]

D0/6EBC: 00 C0                    speed 1, align to front of character/monster
D0/6EBE: 85                       move to attacker position
D0/6EBF: E7                       calculate vector from attacking character to target
D0/6EC0: 81 07 07                 change attacker graphic to 7 (jumping)
D0/6EC3: 1F                       [---]
D0/6EC4: E5 08 03 20              move character forward along vector at speed 8 and height 32, branch to $6EC3
D0/6EC8: D1 01                    invalidate character/monster sprite priority
D0/6ECA: C2 40                    unpause bg3 thread
D0/6ECC: C9 00                    play default sound effect
D0/6ECE: 89 64                    loop start (100 times)
D0/6ED0: 1F                       [---]
D0/6ED1: 8A                       loop end
D0/6ED2: 81 37 37                 change attacker graphic to 7 (jumping)
D0/6ED5: 1F                       [---]
D0/6ED6: E6 08 03 20              move character backward along vector at speed 8 and height 32, branch to $6ED5
D0/6EDA: 81 00 00                 change attacker graphic to 0 (no action)
D0/6EDD: D1 00                    validate character/monster sprite priority
D0/6EDF: FF                       end of script

; [ Animation Script $0065: Pummel, MoogleRush (sprite) ]

D0/6EE0: 00 80                    speed 1, initial position $80
D0/6EE2: 85                       move to attacker position
D0/6EE3: E7                       calculate vector from attacking character to target
D0/6EE4: 81 07 07                 change attacker graphic to 7 (jumping)
D0/6EE7: 1F                       [---]
D0/6EE8: E5 08 03 20              move character forward along vector at speed 8 and height 32, branch to $6EE7
D0/6EEC: D1 01                    invalidate character/monster sprite priority
D0/6EEE: C2 80                    unpause bg1 thread
D0/6EF0: 8E 01                    show animation on weapon-hand side of character/monster sprites
D0/6EF2: 81 12 06                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 6 (walking forward, frame 3) if facing right
D0/6EF5: 83 69                    move forward 10
D0/6EF7: 8F 61                    move forward 2 if mirrored
D0/6EF9: BF 31 7F                 jump to subroutine $7F31
D0/6EFC: D1 00                    validate character/monster sprite priority
D0/6EFE: 81 37 37                 change attacker graphic to 7 (jumping)
D0/6F01: 1F                       [---]
D0/6F02: E6 08 03 20              move character backward along vector at speed 8 and height 32, branch to $6F01
D0/6F06: C9 FF                    play sound effect $FF
D0/6F08: 81 00 00                 change attacker graphic to 0 (no action)
D0/6F0B: FF                       end of script

; [ Animation Script $01D9: Cleave (sprite) ]

D0/6F0C: 00 20                    speed 1, align to center of character/monster
D0/6F0E: 80 02                    command $80/$02
D0/6F10: CB 81                    enable echo sprites (1 frame delay)
D0/6F12: 8E 01                    show animation on weapon-hand side of character/monster sprites
D0/6F14: 85                       move to attacker position
D0/6F15: D2 10 70                 set vector target to (16,112)
D0/6F18: 95                       calculate vector from attacker to target
D0/6F19: 93 00                    move to vector position 0
D0/6F1B: 8F 61                    move forward 2 if mirrored
D0/6F1D: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/6F20: 83 32                    move down 19
D0/6F22: 83 95                    move back 22
D0/6F24: C9 5B                    play sound effect $5B
D0/6F26: 00                       [$00]
D0/6F27: A0 0C 03                 jump forward along vector at speed 12, branch to $6F26
D0/6F2A: D1 01                    invalidate character/monster sprite priority
D0/6F2C: 81 14 14                 change attacker graphic to 20 (kneeling)
D0/6F2F: 89 10                    loop start (16 times)
D0/6F31: 1F                       [---]
D0/6F32: 8A                       loop end
D0/6F33: C9 65                    play sound effect $65
D0/6F35: 81 07 07                 change attacker graphic to 7 (jumping)
D0/6F38: 89 13                    loop start (19 times)
D0/6F3A: 86 C7                    move attacker up 8
D0/6F3C: 1F                       [---]
D0/6F3D: 8A                       loop end
D0/6F3E: 80 03                    command $80/$03
D0/6F40: 80 01                    command $80/$01
D0/6F42: 89 13                    loop start (19 times)
D0/6F44: 86 C8                    move attacker up 9
D0/6F46: 8A                       loop end
D0/6F47: D1 00                    validate character/monster sprite priority
D0/6F49: 89 13                    loop start (19 times)
D0/6F4B: 86 28                    move attacker down 9
D0/6F4D: 1F                       [---]
D0/6F4E: 8A                       loop end
D0/6F4F: 81 14 14                 change attacker graphic to 20 (kneeling)
D0/6F52: 89 08                    loop start (8 times)
D0/6F54: 1F                       [---]
D0/6F55: 8A                       loop end
D0/6F56: C9 54                    play sound effect $54
D0/6F58: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/6F5B: 80 4F                    move to attacking character position
D0/6F5D: 83 95                    move back 22
D0/6F5F: 83 39                    move down 26
D0/6F61: 00                       [$00]
D0/6F62: 00                       [$00]
D0/6F63: 83 63                    move forward 4
D0/6F65: 83 22                    move down 3
D0/6F67: 01                       [$01]
D0/6F68: 01                       [$01]
D0/6F69: 83 7F                    move forward 32
D0/6F6B: 83 61                    move forward 2
D0/6F6D: 83 C4                    move up 5
D0/6F6F: 02                       [$02]
D0/6F70: 02                       [$02]
D0/6F71: 83 21                    move down 2
D0/6F73: 83 62                    move forward 3
D0/6F75: 03                       [$03]
D0/6F76: 03                       [$03]
D0/6F77: 83 DF                    move up 32
D0/6F79: 83 C9                    move up 10
D0/6F7B: 83 82                    move back 3
D0/6F7D: 04                       [$04]
D0/6F7E: 04                       [$04]
D0/6F7F: 83 83                    move back 4
D0/6F81: 83 C1                    move up 2
D0/6F83: 05                       [$05]
D0/6F84: 05                       [$05]
D0/6F85: 83 9F                    move back 32
D0/6F87: 83 84                    move back 5
D0/6F89: 83 23                    move down 4
D0/6F8B: 89 10                    loop start (16 times)
D0/6F8D: 06                       [$06]
D0/6F8E: 8A                       loop end
D0/6F8F: CB 03                    disable echo sprites
D0/6F91: 81 00 00                 change attacker graphic to 0 (no action)
D0/6F94: FF                       end of script

; [ Animation Script $01D7: Empowerer (bg1) ]

D0/6F95: 00 20                    speed 1, align to center of character/monster
D0/6F97: D1 01                    invalidate character/monster sprite priority
D0/6F99: AD 06                    set bg1 hdma scroll type to 6
D0/6F9B: 85                       move to attacker position
D0/6F9C: 95                       calculate vector from attacker to target
D0/6F9D: 93 10                    move to vector position 16
D0/6F9F: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/6FA1: 00                       [$00]
D0/6FA2: AF C0                    set background color subtraction to 0 (blue)
D0/6FA4: BD A0                    hide bg1 thread
D0/6FA6: 89 07                    loop start (7 times)
D0/6FA8: B6 C1                    increase background color subtraction by 1 (blue)
D0/6FAA: 00                       [$00]
D0/6FAB: 00                       [$00]
D0/6FAC: 8A                       loop end
D0/6FAD: 00                       [$00]
D0/6FAE: CF F4                    decrease bg1 animation palette color subtraction by 4 (black)
D0/6FB0: 92 04 05                 move along vector at speed 4, branch to $6FAD
D0/6FB3: C9 41                    play sound effect $41
D0/6FB5: 89 0F                    loop start (15 times)
D0/6FB7: 87 62                    move target forward 3
D0/6FB9: B6 D1                    decrease background color subtraction by 1 (blue)
D0/6FBB: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/6FBD: 00                       [$00]
D0/6FBE: 87 82                    move target back 3
D0/6FC0: B6 D1                    decrease background color subtraction by 1 (blue)
D0/6FC2: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/6FC4: 00                       [$00]
D0/6FC5: 8A                       loop end
D0/6FC6: 89 0F                    loop start (15 times)
D0/6FC8: B6 D1                    decrease background color subtraction by 1 (blue)
D0/6FCA: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/6FCC: 00                       [$00]
D0/6FCD: 8A                       loop end
D0/6FCE: D1 00                    validate character/monster sprite priority
D0/6FD0: AD 03                    set bg1 hdma scroll type to 3
D0/6FD2: FF                       end of script

; [ Animation Script $01D8: Empowerer (sprite) ]

D0/6FD3: 00 20                    speed 1, align to center of character/monster
D0/6FD5: 85                       move to attacker position
D0/6FD6: 8E 01                    show animation on weapon-hand side of character/monster sprites
D0/6FD8: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/6FDB: 83 F5                    move up/back 22
D0/6FDD: 8F 61                    move forward 2 if mirrored
D0/6FDF: C2 80                    unpause bg1 thread
D0/6FE1: 89 10                    loop start (16 times)
D0/6FE3: 1F                       [---]
D0/6FE4: 8A                       loop end
D0/6FE5: C9 00                    play default sound effect
D0/6FE7: 00                       [$00]
D0/6FE8: 83 D0                    move up 17
D0/6FEA: 83 71                    move forward 18
D0/6FEC: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/6FEF: 01                       [$01]
D0/6FF0: 01                       [$01]
D0/6FF1: 02                       [$02]
D0/6FF2: 02                       [$02]
D0/6FF3: 83 1C                    move down/forward 29
D0/6FF5: 89 10                    loop start (16 times)
D0/6FF7: 03                       [$03]
D0/6FF8: 8A                       loop end
D0/6FF9: 89 20                    loop start (32 times)
D0/6FFB: 1F                       [---]
D0/6FFC: 8A                       loop end
D0/6FFD: 81 00 00                 change attacker graphic to 0 (no action)
D0/7000: FF                       end of script

; [ Animation Script $0059: Stunner Hit (bg1) ]

D0/7001: 00 A0                    speed 1, align to center of screen
D0/7003: C4 80                    move bg1 thread to this thread's position
D0/7005: D0 20                    set tile priority to 2 for all character/monster sprites
D0/7007: 83 FF                    move up/back 32
D0/7009: 83 FF                    move up/back 32
D0/700B: 83 FF                    move up/back 32
D0/700D: 83 FF                    move up/back 32
D0/700F: 00                       [$00]
D0/7010: BD A0                    hide bg1 thread
D0/7012: 89 20                    loop start (32 times)
D0/7014: 83 0B                    move down/forward 12
D0/7016: 00                       [$00]
D0/7017: 8A                       loop end
D0/7018: FF                       end of script

D0/7019: F8 33 70 1E 70           jump to $7033 ($701E if magitek)
D0/701E: F9 01 00 00              set attacker magitek armor action to 1 (walking)
D0/7022: C8 04                    change attacker action to 4 (walking forward)
D0/7024: 89 17                    loop start (23 times)
D0/7026: 83 60                    move forward 1
D0/7028: 86 60                    move attacker forward 1
D0/702A: 1F                       [---]
D0/702B: 8A                       loop end
D0/702C: C8 00                    change attacker action to 0 (no action)
D0/702E: F9 00 00 00              set attacker magitek armor action to 0 (standing still)
D0/7032: C0                       return from subroutine

D0/7033: C8 04                    change attacker action to 4 (walking forward)
D0/7035: 89 07                    loop start (7 times)
D0/7037: 83 62                    move forward 3
D0/7039: 86 62                    move attacker forward 3
D0/703B: 1F                       [---]
D0/703C: 8A                       loop end
D0/703D: C8 00                    change attacker action to 0 (no action)
D0/703F: C0                       return from subroutine

D0/7040: F8 5A 70 45 70           jump to $705A ($7045 if magitek)
D0/7045: F9 01 00 00              set attacker magitek armor action to 1 (walking)
D0/7049: C8 03                    change attacker action to 3 (walking back)
D0/704B: 89 17                    loop start (23 times)
D0/704D: 83 80                    move back 1
D0/704F: 86 80                    move attacker back 1
D0/7051: 1F                       [---]
D0/7052: 8A                       loop end
D0/7053: C8 00                    change attacker action to 0 (no action)
D0/7055: F9 00 00 00              set attacker magitek armor action to 0 (standing still)
D0/7059: C0                       return from subroutine

D0/705A: C8 03                    change attacker action to 3 (walking back)
D0/705C: 89 07                    loop start (7 times)
D0/705E: 83 82                    move back 3
D0/7060: 86 82                    move attacker back 3
D0/7062: 1F                       [---]
D0/7063: 8A                       loop end
D0/7064: C8 00                    change attacker action to 0 (no action)
D0/7066: C0                       return from subroutine

D0/7067: F8 81 70 6C 70           jump to $7081 ($706C if magitek)
D0/706C: F9 01 00 00              set attacker magitek armor action to 1 (walking)
D0/7070: C8 04                    change attacker action to 4 (walking forward)
D0/7072: 89 17                    loop start (23 times)
D0/7074: 83 60                    move forward 1
D0/7076: 86 60                    move attacker forward 1
D0/7078: 0F                       [$0F]
D0/7079: 8A                       loop end
D0/707A: C8 00                    change attacker action to 0 (no action)
D0/707C: F9 00 00 00              set attacker magitek armor action to 0 (standing still)
D0/7080: C0                       return from subroutine

D0/7081: C8 04                    change attacker action to 4 (walking forward)
D0/7083: 89 07                    loop start (7 times)
D0/7085: 83 62                    move forward 3
D0/7087: 86 62                    move attacker forward 3
D0/7089: 0F                       [$0F]
D0/708A: 8A                       loop end
D0/708B: C8 00                    change attacker action to 0 (no action)
D0/708D: C0                       return from subroutine

D0/708E: F8 A8 70 93 70           jump to $70A8 ($7093 if magitek)
D0/7093: F9 01 00 00              set attacker magitek armor action to 1 (walking)
D0/7097: C8 03                    change attacker action to 3 (walking back)
D0/7099: 89 17                    loop start (23 times)
D0/709B: 83 80                    move back 1
D0/709D: 86 80                    move attacker back 1
D0/709F: 0F                       [$0F]
D0/70A0: 8A                       loop end
D0/70A1: C8 00                    change attacker action to 0 (no action)
D0/70A3: F9 00 00 00              set attacker magitek armor action to 0 (standing still)
D0/70A7: C0                       return from subroutine

D0/70A8: C8 03                    change attacker action to 3 (walking back)
D0/70AA: 89 07                    loop start (7 times)
D0/70AC: 83 82                    move back 3
D0/70AE: 86 82                    move attacker back 3
D0/70B0: 0F                       [$0F]
D0/70B1: 8A                       loop end
D0/70B2: C8 00                    change attacker action to 0 (no action)
D0/70B4: C0                       return from subroutine

D0/70B5: F8 CF 70 BA 70           jump to $70CF ($70BA if magitek)
D0/70BA: F9 01 00 00              set attacker magitek armor action to 1 (walking)
D0/70BE: C8 04                    change attacker action to 4 (walking forward)
D0/70C0: 89 17                    loop start (23 times)
D0/70C2: 83 60                    move forward 1
D0/70C4: 86 60                    move attacker forward 1
D0/70C6: 09                       [$09]
D0/70C7: 8A                       loop end
D0/70C8: C8 00                    change attacker action to 0 (no action)
D0/70CA: F9 00 00 00              set attacker magitek armor action to 0 (standing still)
D0/70CE: C0                       return from subroutine

D0/70CF: C8 04                    change attacker action to 4 (walking forward)
D0/70D1: 89 07                    loop start (7 times)
D0/70D3: 83 62                    move forward 3
D0/70D5: 86 62                    move attacker forward 3
D0/70D7: 09                       [$09]
D0/70D8: 8A                       loop end
D0/70D9: C8 00                    change attacker action to 0 (no action)
D0/70DB: C0                       return from subroutine

D0/70DC: F8 F6 70 E1 70           jump to $70F6 ($70E1 if magitek)
D0/70E1: F9 01 00 00              set attacker magitek armor action to 1 (walking)
D0/70E5: C8 03                    change attacker action to 3 (walking back)
D0/70E7: 89 17                    loop start (23 times)
D0/70E9: 83 80                    move back 1
D0/70EB: 86 80                    move attacker back 1
D0/70ED: 09                       [$09]
D0/70EE: 8A                       loop end
D0/70EF: C8 00                    change attacker action to 0 (no action)
D0/70F1: F9 00 00 00              set attacker magitek armor action to 0 (standing still)
D0/70F5: C0                       return from subroutine

D0/70F6: C8 03                    change attacker action to 3 (walking back)
D0/70F8: 89 07                    loop start (7 times)
D0/70FA: 83 82                    move back 3
D0/70FC: 86 82                    move attacker back 3
D0/70FE: 09                       [$09]
D0/70FF: 8A                       loop end
D0/7100: C8 00                    change attacker action to 0 (no action)
D0/7102: C0                       return from subroutine

D0/7103: F8 17 71 08 71           jump to $7117 ($7108 if magitek)
D0/7108: F9 01 00 00              set attacker magitek armor action to 1 (walking)
D0/710C: 89 17                    loop start (23 times)
D0/710E: 88 00                    "fight" animation (frame 0)
D0/7110: 00                       [$00]
D0/7111: 8A                       loop end
D0/7112: F9 00 00 00              set attacker magitek armor action to 0 (standing still)
D0/7116: C0                       return from subroutine

D0/7117: 88 00                    "fight" animation (frame 0)
D0/7119: 00                       [$00]
D0/711A: 88 01                    "fight" animation (frame 1)
D0/711C: 00                       [$00]
D0/711D: 88 02                    "fight" animation (frame 2)
D0/711F: 00                       [$00]
D0/7120: 88 03                    "fight" animation (frame 3)
D0/7122: 00                       [$00]
D0/7123: 88 04                    "fight" animation (frame 4)
D0/7125: 00                       [$00]
D0/7126: 88 05                    "fight" animation (frame 5)
D0/7128: 00                       [$00]
D0/7129: 88 06                    "fight" animation (frame 6)
D0/712B: 00                       [$00]
D0/712C: 88 07                    "fight" animation (frame 7)
D0/712E: 00                       [$00]
D0/712F: C0                       return from subroutine

D0/7130: F8 44 71 35 71           jump to $7144 ($7135 if magitek)
D0/7135: F9 01 00 00              set attacker magitek armor action to 1 (walking)
D0/7139: 89 17                    loop start (23 times)
D0/713B: 88 00                    "fight" animation (frame 0)
D0/713D: 1F                       [---]
D0/713E: F9 00 00 00              set attacker magitek armor action to 0 (standing still)
D0/7142: 8A                       loop end
D0/7143: C0                       return from subroutine

D0/7144: 88 00                    "fight" animation (frame 0)
D0/7146: 1F                       [---]
D0/7147: 88 01                    "fight" animation (frame 1)
D0/7149: 1F                       [---]
D0/714A: 88 02                    "fight" animation (frame 2)
D0/714C: 1F                       [---]
D0/714D: 88 03                    "fight" animation (frame 3)
D0/714F: 1F                       [---]
D0/7150: 88 04                    "fight" animation (frame 4)
D0/7152: 1F                       [---]
D0/7153: 88 05                    "fight" animation (frame 5)
D0/7155: 1F                       [---]
D0/7156: 88 06                    "fight" animation (frame 6)
D0/7158: 1F                       [---]
D0/7159: 88 07                    "fight" animation (frame 7)
D0/715B: 1F                       [---]
D0/715C: C0                       return from subroutine

D0/715D: 81 17 07                 change attacker graphic to 23 (hands up, facing down) if facing left or 7 (jumping) if facing right
D0/7160: 1F                       [---]
D0/7161: 1F                       [---]
D0/7162: 81 37 18                 change attacker graphic to 7 (jumping) if facing left or 24 (hands up, facing up) if facing right
D0/7165: 1F                       [---]
D0/7166: 1F                       [---]
D0/7167: 81 18 37                 change attacker graphic to 24 (hands up, facing up) if facing left or 7 (jumping) if facing right
D0/716A: 1F                       [---]
D0/716B: 1F                       [---]
D0/716C: 81 07 17                 change attacker graphic to 7 (jumping) if facing left or 23 (hands up, facing down) if facing right
D0/716F: 1F                       [---]
D0/7170: 1F                       [---]
D0/7171: C0                       return from subroutine

D0/7172: 81 17 07                 change attacker graphic to 23 (hands up, facing down) if facing left or 7 (jumping) if facing right
D0/7175: 0F                       [$0F]
D0/7176: 0F                       [$0F]
D0/7177: 81 37 18                 change attacker graphic to 7 (jumping) if facing left or 24 (hands up, facing up) if facing right
D0/717A: 0F                       [$0F]
D0/717B: 0F                       [$0F]
D0/717C: 81 18 37                 change attacker graphic to 24 (hands up, facing up) if facing left or 7 (jumping) if facing right
D0/717F: 0F                       [$0F]
D0/7180: 0F                       [$0F]
D0/7181: 81 07 17                 change attacker graphic to 7 (jumping) if facing left or 23 (hands up, facing down) if facing right
D0/7184: 0F                       [$0F]
D0/7185: 0F                       [$0F]
D0/7186: C0                       return from subroutine

D0/7187: 81 17 07                 change attacker graphic to 23 (hands up, facing down) if facing left or 7 (jumping) if facing right
D0/718A: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/718C: 1F                       [---]
D0/718D: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/718F: 1F                       [---]
D0/7190: 81 37 18                 change attacker graphic to 7 (jumping) if facing left or 24 (hands up, facing up) if facing right
D0/7193: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/7195: 1F                       [---]
D0/7196: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/7198: 1F                       [---]
D0/7199: 81 18 37                 change attacker graphic to 24 (hands up, facing up) if facing left or 7 (jumping) if facing right
D0/719C: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/719E: 1F                       [---]
D0/719F: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/71A1: 1F                       [---]
D0/71A2: 81 07 17                 change attacker graphic to 7 (jumping) if facing left or 23 (hands up, facing down) if facing right
D0/71A5: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/71A7: 1F                       [---]
D0/71A8: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/71AA: 1F                       [---]
D0/71AB: C0                       return from subroutine

; [ Animation Script $01D6: Stunner (sprite) ]

D0/71AC: 00 20                    speed 1, align to center of character/monster
D0/71AE: D1 01                    invalidate character/monster sprite priority
D0/71B0: C9 00                    play default sound effect
D0/71B2: 85                       move to attacker position
D0/71B3: 8E 01                    show animation on weapon-hand side of character/monster sprites
D0/71B5: 8F 61                    move forward 2 if mirrored
D0/71B7: 81 07 07                 change attacker graphic to 7 (jumping)
D0/71BA: B0 20                    set background color addition to 0 (blue)
D0/71BC: AC 42 48                 set (bg2) hdma scroll data (amplitude 8, frequency 2, horizontal)
D0/71BF: 83 FC                    move up/back 29
D0/71C1: B5 24                    increase background color addition by 4 (blue)
D0/71C3: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/71C5: 00                       [$00]
D0/71C6: 83 69                    move forward 10
D0/71C8: 83 C5                    move up 6
D0/71CA: B5 24                    increase background color addition by 4 (blue)
D0/71CC: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/71CE: 01                       [$01]
D0/71CF: 83 7F                    move forward 32
D0/71D1: 83 68                    move forward 9
D0/71D3: 83 26                    move down 7
D0/71D5: B5 24                    increase background color addition by 4 (blue)
D0/71D7: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/71D9: 02                       [$02]
D0/71DA: 83 23                    move down 4
D0/71DC: 83 65                    move forward 6
D0/71DE: B5 24                    increase background color addition by 4 (blue)
D0/71E0: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/71E2: 03                       [$03]
D0/71E3: 83 3F                    move down 32
D0/71E5: 83 2E                    move down 15
D0/71E7: 83 86                    move back 7
D0/71E9: B5 24                    increase background color addition by 4 (blue)
D0/71EB: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/71ED: 04                       [$04]
D0/71EE: 83 24                    move down 5
D0/71F0: 83 89                    move back 10
D0/71F2: B5 24                    increase background color addition by 4 (blue)
D0/71F4: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/71F6: 05                       [$05]
D0/71F7: 83 89                    move back 10
D0/71F9: 83 9F                    move back 32
D0/71FB: 83 C5                    move up 6
D0/71FD: B5 24                    increase background color addition by 4 (blue)
D0/71FF: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/7201: 06                       [$06]
D0/7202: 83 C2                    move up 3
D0/7204: 83 84                    move back 5
D0/7206: B5 24                    increase background color addition by 4 (blue)
D0/7208: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/720A: 07                       [$07]
D0/720B: 83 B2                    move up/forward 19
D0/720D: 83 70                    move forward 17
D0/720F: 83 FC                    move up/back 29
D0/7211: B5 24                    increase background color addition by 4 (blue)
D0/7213: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/7215: 00                       [$00]
D0/7216: 83 69                    move forward 10
D0/7218: 83 C5                    move up 6
D0/721A: B5 24                    increase background color addition by 4 (blue)
D0/721C: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/721E: 01                       [$01]
D0/721F: 83 1C                    move down/forward 29
D0/7221: 83 89                    move back 10
D0/7223: 83 25                    move down 6
D0/7225: BF 87 71                 jump to subroutine $7187
D0/7228: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/722B: 89 14                    loop start (20 times)
D0/722D: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/722F: 1F                       [---]
D0/7230: 8A                       loop end
D0/7231: C2 80                    unpause bg1 thread
D0/7233: 83 F6                    move up/back 23
D0/7235: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/7237: 00                       [$00]
D0/7238: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/723A: 00                       [$00]
D0/723B: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/723E: 83 C5                    move up 6
D0/7240: 83 78                    move forward 25
D0/7242: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/7244: 08                       [$08]
D0/7245: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/7247: 08                       [$08]
D0/7248: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/724A: 09                       [$09]
D0/724B: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/724D: 09                       [$09]
D0/724E: 83 10                    move down/forward 17
D0/7250: 83 65                    move forward 6
D0/7252: 89 03                    loop start (3 times)
D0/7254: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/7256: 02                       [$02]
D0/7257: 8A                       loop end
D0/7258: 89 10                    loop start (16 times)
D0/725A: B5 32                    decrease background color addition by 2 (blue)
D0/725C: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/725E: 80 3C                    restore target's color palette
D0/7260: 02                       [$02]
D0/7261: 8A                       loop end
D0/7262: AC 42 46                 set (bg2) hdma scroll data (amplitude 6, frequency 2, horizontal)
D0/7265: 89 03                    loop start (3 times)
D0/7267: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/7269: 1F                       [---]
D0/726A: 8A                       loop end
D0/726B: AC 42 44                 set (bg2) hdma scroll data (amplitude 4, frequency 2, horizontal)
D0/726E: 89 03                    loop start (3 times)
D0/7270: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/7272: 1F                       [---]
D0/7273: 8A                       loop end
D0/7274: AC 42 42                 set (bg2) hdma scroll data (amplitude 2, frequency 2, horizontal)
D0/7277: 89 03                    loop start (3 times)
D0/7279: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/727B: 1F                       [---]
D0/727C: 8A                       loop end
D0/727D: AC 40 40                 set (bg2) hdma scroll data (amplitude 0, frequency 0, horizontal)
D0/7280: AE 42                    update (bg2) hdma scroll data (horizontal)
D0/7282: 81 00 00                 change attacker graphic to 0 (no action)
D0/7285: D1 00                    validate character/monster sprite priority
D0/7287: FF                       end of script

; [ Animation Script $01D4:  ]

D0/7288: 00 80                    speed 1, initial position $80
D0/728A: D1 01                    invalidate character/monster sprite priority
D0/728C: C2 80                    unpause bg1 thread
D0/728E: CB 81                    enable echo sprites (1 frame delay)
D0/7290: 80 02                    command $80/$02
D0/7292: 85                       move to attacker position
D0/7293: 95                       calculate vector from attacker to target
D0/7294: 93 00                    move to vector position 0
D0/7296: 83 C7                    move up 8
D0/7298: 81 07 07                 change attacker graphic to 7 (jumping)
D0/729B: 1F                       [---]
D0/729C: A0 08 03                 jump forward along vector at speed 8, branch to $729B
D0/729F: D1 00                    validate character/monster sprite priority
D0/72A1: 1F                       [---]
D0/72A2: D1 01                    invalidate character/monster sprite priority
D0/72A4: 8E 01                    show animation on weapon-hand side of character/monster sprites
D0/72A6: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/72A9: 83 99                    move back 26
D0/72AB: 83 33                    move down 20
D0/72AD: 8F 61                    move forward 2 if mirrored
D0/72AF: 00                       [$00]
D0/72B0: 00                       [$00]
D0/72B1: 00                       [$00]
D0/72B2: 00                       [$00]
D0/72B3: 83 71                    move forward 18
D0/72B5: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/72B8: 01                       [$01]
D0/72B9: 01                       [$01]
D0/72BA: 01                       [$01]
D0/72BB: 01                       [$01]
D0/72BC: 8E 00                    show animation on off-hand side of character/monster sprites
D0/72BE: 83 C5                    move up 6
D0/72C0: 02                       [$02]
D0/72C1: 02                       [$02]
D0/72C2: 02                       [$02]
D0/72C3: 02                       [$02]
D0/72C4: 03                       [$03]
D0/72C5: 03                       [$03]
D0/72C6: 03                       [$03]
D0/72C7: 03                       [$03]
D0/72C8: 89 02                    loop start (2 times)
D0/72CA: 87 65                    move target forward 6
D0/72CC: 1F                       [---]
D0/72CD: 8A                       loop end
D0/72CE: 89 08                    loop start (8 times)
D0/72D0: 87 62                    move target forward 3
D0/72D2: 1F                       [---]
D0/72D3: 87 82                    move target back 3
D0/72D5: 1F                       [---]
D0/72D6: 8A                       loop end
D0/72D7: 89 02                    loop start (2 times)
D0/72D9: 87 85                    move target back 6
D0/72DB: 1F                       [---]
D0/72DC: 8A                       loop end
D0/72DD: 83 DF                    move up 32
D0/72DF: 83 C5                    move up 6
D0/72E1: 83 8E                    move back 15
D0/72E3: 8E 01                    show animation on weapon-hand side of character/monster sprites
D0/72E5: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/72E8: 8F 61                    move forward 2 if mirrored
D0/72EA: 86 C2                    move attacker up 3
D0/72EC: 86 63                    move attacker forward 4
D0/72EE: 83 C2                    move up 3
D0/72F0: 83 63                    move forward 4
D0/72F2: 04                       [$04]
D0/72F3: 86 C2                    move attacker up 3
D0/72F5: 86 63                    move attacker forward 4
D0/72F7: 83 C2                    move up 3
D0/72F9: 83 63                    move forward 4
D0/72FB: 04                       [$04]
D0/72FC: 86 C1                    move attacker up 2
D0/72FE: 86 63                    move attacker forward 4
D0/7300: 83 C1                    move up 2
D0/7302: 83 63                    move forward 4
D0/7304: 04                       [$04]
D0/7305: 86 C0                    move attacker up 1
D0/7307: 86 63                    move attacker forward 4
D0/7309: 83 C0                    move up 1
D0/730B: 83 63                    move forward 4
D0/730D: 04                       [$04]
D0/730E: 86 63                    move attacker forward 4
D0/7310: 83 63                    move forward 4
D0/7312: 04                       [$04]
D0/7313: 86 21                    move attacker down 2
D0/7315: 86 63                    move attacker forward 4
D0/7317: 83 21                    move down 2
D0/7319: 83 63                    move forward 4
D0/731B: 04                       [$04]
D0/731C: 86 22                    move attacker down 3
D0/731E: 86 63                    move attacker forward 4
D0/7320: 83 22                    move down 3
D0/7322: 83 63                    move forward 4
D0/7324: 04                       [$04]
D0/7325: 86 23                    move attacker down 4
D0/7327: 86 63                    move attacker forward 4
D0/7329: 83 23                    move down 4
D0/732B: 83 63                    move forward 4
D0/732D: 04                       [$04]
D0/732E: 83 CA                    move up 11
D0/7330: 83 74                    move forward 21
D0/7332: 05                       [$05]
D0/7333: 05                       [$05]
D0/7334: 06                       [$06]
D0/7335: 06                       [$06]
D0/7336: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/7339: 83 38                    move down 25
D0/733B: 83 7A                    move forward 27
D0/733D: 89 08                    loop start (8 times)
D0/733F: 07                       [$07]
D0/7340: 8A                       loop end
D0/7341: 81 14 14                 change attacker graphic to 20 (kneeling)
D0/7344: 89 08                    loop start (8 times)
D0/7346: 87 22                    move target down 3
D0/7348: 1F                       [---]
D0/7349: 87 C2                    move target up 3
D0/734B: 1F                       [---]
D0/734C: 8A                       loop end
D0/734D: 81 07 07                 change attacker graphic to 7 (jumping)
D0/7350: 89 13                    loop start (19 times)
D0/7352: 86 C8                    move attacker up 9
D0/7354: 1F                       [---]
D0/7355: 8A                       loop end
D0/7356: 86 9F                    move attacker back 32
D0/7358: 80 03                    command $80/$03
D0/735A: 80 01                    command $80/$01
D0/735C: 89 13                    loop start (19 times)
D0/735E: 86 C8                    move attacker up 9
D0/7360: 8A                       loop end
D0/7361: D1 00                    validate character/monster sprite priority
D0/7363: 89 13                    loop start (19 times)
D0/7365: 86 28                    move attacker down 9
D0/7367: 1F                       [---]
D0/7368: 8A                       loop end
D0/7369: 81 14 14                 change attacker graphic to 20 (kneeling)
D0/736C: 89 20                    loop start (32 times)
D0/736E: 1F                       [---]
D0/736F: 8A                       loop end
D0/7370: CB 03                    disable echo sprites
D0/7372: 81 00 00                 change attacker graphic to 0 (no action)
D0/7375: FF                       end of script

; [ Animation Script $01D5:  ]

D0/7376: 00 A0                    speed 1, align to center of screen
D0/7378: C4 80                    move bg1 thread to this thread's position
D0/737A: D0 20                    set tile priority to 2 for all character/monster sprites
D0/737C: CC FF                    set bg1 animation palette color subtraction to 31 (black)
D0/737E: CF F1                    decrease bg1 animation palette color subtraction by 1 (black)
D0/7380: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/7383: 00                       [$00]
D0/7384: BD A0                    hide bg1 thread
D0/7386: C9 00                    play default sound effect
D0/7388: 89 20                    loop start (32 times)
D0/738A: CF F1                    decrease bg1 animation palette color subtraction by 1 (black)
D0/738C: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/738F: 00                       [$00]
D0/7390: 8A                       loop end
D0/7391: 89 40                    loop start (64 times)
D0/7393: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/7396: 00                       [$00]
D0/7397: 8A                       loop end
D0/7398: 89 20                    loop start (32 times)
D0/739A: CF E1                    increase bg1 animation palette color subtraction by 1 (black)
D0/739C: A3 17 32                 shift colors (1..8) of bg1 animation/esper palette left (3 loops per shift)
D0/739F: 00                       [$00]
D0/73A0: 8A                       loop end
D0/73A1: FF                       end of script

; [ Animation Script $01D3: Quadra Slam, Quadra Slice (sprite) ]

D0/73A2: 00 80                    speed 1, initial position $80
D0/73A4: C5                       jump based on swdtech hit ($73AD, $73FB, $7431, $747A)
D0/73AD: 80 02                    command $80/$02
D0/73AF: 85                       move to attacker position
D0/73B0: 95                       calculate vector from attacker to target
D0/73B1: CA 01                    double character action speed
D0/73B3: 93 00                    move to vector position 0
D0/73B5: 8E 01                    show animation on weapon-hand side of character/monster sprites
D0/73B7: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/73BA: 83 C7                    move up 8
D0/73BC: C9 5B                    play sound effect $5B
D0/73BE: 1F                       [---]
D0/73BF: A0 06 03                 jump forward along vector at speed 6, branch to $73BE
D0/73C2: C2 80                    unpause bg1 thread
D0/73C4: C9 00                    play default sound effect
D0/73C6: 8E 01                    show animation on weapon-hand side of character/monster sprites
D0/73C8: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/73CB: C8 00                    change attacker action to 0 (no action)
D0/73CD: 8F 61                    move forward 2 if mirrored
D0/73CF: 83 F6                    move up/back 23
D0/73D1: 04                       [$04]
D0/73D2: 04                       [$04]
D0/73D3: 04                       [$04]
D0/73D4: 04                       [$04]
D0/73D5: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/73D8: 83 CA                    move up 11
D0/73DA: 83 74                    move forward 21
D0/73DC: B0 FF                    set background color addition to 31 (white)
D0/73DE: 05                       [$05]
D0/73DF: 05                       [$05]
D0/73E0: 05                       [$05]
D0/73E1: 05                       [$05]
D0/73E2: 06                       [$06]
D0/73E3: 06                       [$06]
D0/73E4: 06                       [$06]
D0/73E5: 06                       [$06]
D0/73E6: 83 36                    move down 23
D0/73E8: 83 7A                    move forward 27
D0/73EA: 89 08                    loop start (8 times)
D0/73EC: 87 23                    move target down 4
D0/73EE: B5 F2                    decrease background color addition by 2 (white)
D0/73F0: 07                       [$07]
D0/73F1: 87 C3                    move target up 4
D0/73F3: B5 F2                    decrease background color addition by 2 (white)
D0/73F5: 07                       [$07]
D0/73F6: 8A                       loop end
D0/73F7: 81 00 00                 change attacker graphic to 0 (no action)
D0/73FA: FF                       end of script

D0/73FB: CB 81                    enable echo sprites (1 frame delay)
D0/73FD: 83 C7                    move up 8
D0/73FF: BF 65 74                 jump to subroutine $7465
D0/7402: B0 5F                    set background color addition to 31 (green)
D0/7404: C8 00                    change attacker action to 0 (no action)
D0/7406: 80 4F                    move to attacking character position
D0/7408: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/740B: 83 99                    move back 26
D0/740D: 83 3B                    move down 28
D0/740F: 00                       [$00]
D0/7410: 00                       [$00]
D0/7411: 83 71                    move forward 18
D0/7413: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/7416: 01                       [$01]
D0/7417: 01                       [$01]
D0/7418: 8E 00                    show animation on off-hand side of character/monster sprites
D0/741A: 83 C5                    move up 6
D0/741C: 02                       [$02]
D0/741D: 02                       [$02]
D0/741E: 8F 61                    move forward 2 if mirrored
D0/7420: 89 04                    loop start (4 times)
D0/7422: 87 62                    move target forward 3
D0/7424: B5 54                    decrease background color addition by 4 (green)
D0/7426: 03                       [$03]
D0/7427: 87 82                    move target back 3
D0/7429: B5 54                    decrease background color addition by 4 (green)
D0/742B: 03                       [$03]
D0/742C: 8A                       loop end
D0/742D: 81 00 00                 change attacker graphic to 0 (no action)
D0/7430: FF                       end of script

D0/7431: 83 C7                    move up 8
D0/7433: BF 65 74                 jump to subroutine $7465
D0/7436: B0 3F                    set background color addition to 31 (blue)
D0/7438: C8 00                    change attacker action to 0 (no action)
D0/743A: 80 4F                    move to attacking character position
D0/743C: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/743F: 83 99                    move back 26
D0/7441: 83 3B                    move down 28
D0/7443: 00                       [$00]
D0/7444: 00                       [$00]
D0/7445: 83 71                    move forward 18
D0/7447: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/744A: 01                       [$01]
D0/744B: 01                       [$01]
D0/744C: 8E 00                    show animation on off-hand side of character/monster sprites
D0/744E: 83 C5                    move up 6
D0/7450: 02                       [$02]
D0/7451: 02                       [$02]
D0/7452: 8F 61                    move forward 2 if mirrored
D0/7454: 89 04                    loop start (4 times)
D0/7456: 87 62                    move target forward 3
D0/7458: B5 34                    decrease background color addition by 4 (blue)
D0/745A: 03                       [$03]
D0/745B: 87 82                    move target back 3
D0/745D: B5 34                    decrease background color addition by 4 (blue)
D0/745F: 03                       [$03]
D0/7460: 8A                       loop end
D0/7461: 81 00 00                 change attacker graphic to 0 (no action)
D0/7464: FF                       end of script

D0/7465: 8E 01                    show animation on weapon-hand side of character/monster sprites
D0/7467: 80 3D                    command $80/$3D
D0/7469: C8 26                    change attacker action to 38 (jumping/laughing)
D0/746B: C9 5B                    play sound effect $5B
D0/746D: 1F                       [---]
D0/746E: C6                       command $C6
D0/746F: 06                       [$06]
D0/7470: 03                       [$03]
D0/7471: C2 80                    unpause bg1 thread
D0/7473: 89 10                    loop start (16 times)
D0/7475: 1F                       [---]
D0/7476: 8A                       loop end
D0/7477: C9 00                    play default sound effect
D0/7479: C0                       return from subroutine

D0/747A: 8E 01                    show animation on weapon-hand side of character/monster sprites
D0/747C: 80 3D                    command $80/$3D
D0/747E: 83 C7                    move up 8
D0/7480: C8 26                    change attacker action to 38 (jumping/laughing)
D0/7482: 1F                       [---]
D0/7483: C6                       command $C6
D0/7484: 06                       [$06]
D0/7485: 03                       [$03]
D0/7486: C2 80                    unpause bg1 thread
D0/7488: 89 10                    loop start (16 times)
D0/748A: 1F                       [---]
D0/748B: 8A                       loop end
D0/748C: C9 00                    play default sound effect
D0/748E: CB 01                    disable echo sprites
D0/7490: B0 9F                    set background color addition to 31 (red)
D0/7492: C8 00                    change attacker action to 0 (no action)
D0/7494: 80 4F                    move to attacking character position
D0/7496: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/7499: 83 99                    move back 26
D0/749B: 83 3B                    move down 28
D0/749D: 00                       [$00]
D0/749E: 00                       [$00]
D0/749F: 83 71                    move forward 18
D0/74A1: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/74A4: 01                       [$01]
D0/74A5: 01                       [$01]
D0/74A6: 8E 00                    show animation on off-hand side of character/monster sprites
D0/74A8: 83 C5                    move up 6
D0/74AA: 02                       [$02]
D0/74AB: 02                       [$02]
D0/74AC: 8F 61                    move forward 2 if mirrored
D0/74AE: 89 04                    loop start (4 times)
D0/74B0: 87 62                    move target forward 3
D0/74B2: B5 94                    decrease background color addition by 4 (red)
D0/74B4: 03                       [$03]
D0/74B5: 87 82                    move target back 3
D0/74B7: B5 94                    decrease background color addition by 4 (red)
D0/74B9: 03                       [$03]
D0/74BA: 8A                       loop end
D0/74BB: 81 00 00                 change attacker graphic to 0 (no action)
D0/74BE: 80 03                    command $80/$03
D0/74C0: 80 00                    command $80/$00
D0/74C2: C8 03                    change attacker action to 3 (walking back)
D0/74C4: 1F                       [---]
D0/74C5: C6                       command $C6
D0/74C6: 06                       [$06]
D0/74C7: 03                       [$03]
D0/74C8: 80 01                    command $80/$01
D0/74CA: C8 26                    change attacker action to 38 (jumping/laughing)
D0/74CC: 89 08                    loop start (8 times)
D0/74CE: 1F                       [---]
D0/74CF: 8A                       loop end
D0/74D0: C8 00                    change attacker action to 0 (no action)
D0/74D2: CA 00                    normal character action speed
D0/74D4: FF                       end of script

; [ Animation Script $01D1: Slash (sprite) ]

D0/74D5: 00 80                    speed 1, initial position $80
D0/74D7: 85                       move to attacker position
D0/74D8: E7                       calculate vector from attacking character to target
D0/74D9: AD 06                    set bg1 hdma scroll type to 6
D0/74DB: 8E 01                    show animation on weapon-hand side of character/monster sprites
D0/74DD: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/74E0: 83 9A                    move back 27
D0/74E2: 83 2B                    move down 12
D0/74E4: C9 5B                    play sound effect $5B
D0/74E6: 00                       [$00]
D0/74E7: E5 08 03 18              move character forward along vector at speed 8 and height 24, branch to $74E6
D0/74EB: C2 40                    unpause bg3 thread
D0/74ED: C9 00                    play default sound effect
D0/74EF: AC 84 46                 set (bg1) hdma scroll data (amplitude 6, frequency 4, horizontal)
D0/74F2: 83 70                    move forward 17
D0/74F4: B0 FF                    set background color addition to 31 (white)
D0/74F6: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/74F9: 89 07                    loop start (7 times)
D0/74FB: AE 44                    update (bg1) hdma scroll data (horizontal)
D0/74FD: B5 F2                    decrease background color addition by 2 (white)
D0/74FF: 01                       [$01]
D0/7500: 8A                       loop end
D0/7501: 83 C7                    move up 8
D0/7503: 89 07                    loop start (7 times)
D0/7505: AE 44                    update (bg1) hdma scroll data (horizontal)
D0/7507: B5 F2                    decrease background color addition by 2 (white)
D0/7509: 02                       [$02]
D0/750A: 8A                       loop end
D0/750B: 89 07                    loop start (7 times)
D0/750D: AE 44                    update (bg1) hdma scroll data (horizontal)
D0/750F: 03                       [$03]
D0/7510: 8A                       loop end
D0/7511: AC 81 44                 set (bg1) hdma scroll data (amplitude 4, frequency 1, horizontal)
D0/7514: AE 44                    update (bg1) hdma scroll data (horizontal)
D0/7516: 1F                       [---]
D0/7517: 1F                       [---]
D0/7518: AC 81 42                 set (bg1) hdma scroll data (amplitude 2, frequency 1, horizontal)
D0/751B: AE 44                    update (bg1) hdma scroll data (horizontal)
D0/751D: 1F                       [---]
D0/751E: 1F                       [---]
D0/751F: AC 81 41                 set (bg1) hdma scroll data (amplitude 1, frequency 1, horizontal)
D0/7522: AE 44                    update (bg1) hdma scroll data (horizontal)
D0/7524: 1F                       [---]
D0/7525: 1F                       [---]
D0/7526: 80 25                    clear bg1 hdma scroll data
D0/7528: 81 37 37                 change attacker graphic to 7 (jumping)
D0/752B: F7 A0                    wait until scanline 160
D0/752D: AD 03                    set bg1 hdma scroll type to 3
D0/752F: 1F                       [---]
D0/7530: E6 08 03 18              move character backward along vector at speed 8 and height 24, branch to $752F
D0/7534: 81 00 00                 change attacker graphic to 0 (no action)
D0/7537: FF                       end of script

; [ Animation Script $01D2:  ]

D0/7538: 00 20                    speed 1, align to center of character/monster
D0/753A: D1 01                    invalidate character/monster sprite priority
D0/753C: AB FF                    set bg3 animation palette color addition to 31 (white)
D0/753E: A5 00 00 42 FF FF 7F 00  init circle at (0,0)
D0/7546: C3                       move circle to target
D0/7547: 89 0F                    loop start (15 times)
D0/7549: B3 F2                    decrease bg3 animation palette color addition by 2 (white)
D0/754B: A6 00 00 FC              move circle (+0,+0) and shrink by 4
D0/754F: A7                       update circle
D0/7550: 00                       [$00]
D0/7551: BD 50                    hide bg3 thread
D0/7553: 8A                       loop end
D0/7554: D1 00                    validate character/monster sprite priority
D0/7556: FF                       end of script

; [ Animation Script $01D0: Retort (sprite) ]

D0/7557: 00 80                    speed 1, initial position $80
D0/7559: 85                       move to attacker position
D0/755A: E7                       calculate vector from attacking character to target
D0/755B: 8E 01                    show animation on weapon-hand side of character/monster sprites
D0/755D: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/7560: 83 F5                    move up/back 22
D0/7562: 83 C7                    move up 8
D0/7564: C9 5B                    play sound effect $5B
D0/7566: 00                       [$00]
D0/7567: E5 08 03 18              move character forward along vector at speed 8 and height 24, branch to $7566
D0/756B: C9 65                    play sound effect $65
D0/756D: C2 80                    unpause bg1 thread
D0/756F: 83 D0                    move up 17
D0/7571: 83 71                    move forward 18
D0/7573: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/7576: 01                       [$01]
D0/7577: 01                       [$01]
D0/7578: 02                       [$02]
D0/7579: 02                       [$02]
D0/757A: 83 1C                    move down/forward 29
D0/757C: 8F 61                    move forward 2 if mirrored
D0/757E: 89 10                    loop start (16 times)
D0/7580: 03                       [$03]
D0/7581: 8A                       loop end
D0/7582: 81 37 37                 change attacker graphic to 7 (jumping)
D0/7585: 1F                       [---]
D0/7586: E6 08 03 18              move character backward along vector at speed 8 and height 24, branch to $7585
D0/758A: 81 00 00                 change attacker graphic to 0 (no action)
D0/758D: FF                       end of script

; [ Animation Script $01CF: Dispatch (sprite) ]

D0/758E: 00 80                    speed 1, initial position $80
D0/7590: 85                       move to attacker position
D0/7591: E7                       calculate vector from attacking character to target
D0/7592: 8E 01                    show animation on weapon-hand side of character/monster sprites
D0/7594: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/7597: 8F 61                    move forward 2 if mirrored
D0/7599: 83 D1                    move up 18
D0/759B: 83 79                    move forward 26
D0/759D: AD 06                    set bg1 hdma scroll type to 6
D0/759F: CB 81                    enable echo sprites (1 frame delay)
D0/75A1: C9 4C                    play sound effect $4C
D0/75A3: 03                       [$03]
D0/75A4: E5 08 03 18              move character forward along vector at speed 8 and height 24, branch to $75A3
D0/75A8: D1 01                    invalidate character/monster sprite priority
D0/75AA: C9 00                    play default sound effect
D0/75AC: AC 84 47                 set (bg1) hdma scroll data (amplitude 7, frequency 4, horizontal)
D0/75AF: 89 20                    loop start (32 times)
D0/75B1: AE 44                    update (bg1) hdma scroll data (horizontal)
D0/75B3: 03                       [$03]
D0/75B4: 8A                       loop end
D0/75B5: AC 84 45                 set (bg1) hdma scroll data (amplitude 5, frequency 4, horizontal)
D0/75B8: AE 44                    update (bg1) hdma scroll data (horizontal)
D0/75BA: 03                       [$03]
D0/75BB: 03                       [$03]
D0/75BC: AC 84 43                 set (bg1) hdma scroll data (amplitude 3, frequency 4, horizontal)
D0/75BF: AE 44                    update (bg1) hdma scroll data (horizontal)
D0/75C1: 03                       [$03]
D0/75C2: 03                       [$03]
D0/75C3: AC 84 41                 set (bg1) hdma scroll data (amplitude 1, frequency 4, horizontal)
D0/75C6: AE 44                    update (bg1) hdma scroll data (horizontal)
D0/75C8: 03                       [$03]
D0/75C9: 03                       [$03]
D0/75CA: 80 25                    clear bg1 hdma scroll data
D0/75CC: AD 03                    set bg1 hdma scroll type to 3
D0/75CE: D1 00                    validate character/monster sprite priority
D0/75D0: 81 37 37                 change attacker graphic to 7 (jumping)
D0/75D3: 1F                       [---]
D0/75D4: E6 08 03 18              move character backward along vector at speed 8 and height 24, branch to $75D3
D0/75D8: 81 00 00                 change attacker graphic to 0 (no action)
D0/75DB: 89 1F                    loop start (31 times)
D0/75DD: 1F                       [---]
D0/75DE: 8A                       loop end
D0/75DF: CB 01                    disable echo sprites
D0/75E1: FF                       end of script

; [ Animation Script $0057: Air Anchor (sprite) ]

D0/75E2: 00 20                    speed 1, align to center of character/monster
D0/75E4: 89 10                    loop start (16 times)
D0/75E6: 1F                       [---]
D0/75E7: 8A                       loop end
D0/75E8: 85                       move to attacker position
D0/75E9: 95                       calculate vector from attacker to target
D0/75EA: DB 02                    branch to $75EE if character already stepped forward to attack
D0/75EC: 83 77                    move forward 24
D0/75EE: C9 00                    play default sound effect
D0/75F0: 83 23                    move down 4
D0/75F2: 01                       [$01]
D0/75F3: 83 67                    move forward 8
D0/75F5: 01                       [$01]
D0/75F6: 93 00                    move to vector position 0
D0/75F8: 01                       [$01]
D0/75F9: C1 08 03                 command $C1
D0/75FC: 87 67                    move target forward 8
D0/75FE: 01                       [$01]
D0/75FF: C1 08 03                 command $C1
D0/7602: 89 04                    loop start (4 times)
D0/7604: 87 60                    move target forward 1
D0/7606: 83 60                    move forward 1
D0/7608: 1F                       [---]
D0/7609: 87 80                    move target back 1
D0/760B: 83 80                    move back 1
D0/760D: 1F                       [---]
D0/760E: 8A                       loop end
D0/760F: 87 87                    move target back 8
D0/7611: FF                       end of script

; [ Animation Script $0058: Air Anchor (extra) ]

D0/7612: 00 20                    speed 1, align to center of character/monster
D0/7614: DB 03                    branch to $7619 if character already stepped forward to attack
D0/7616: BF 19 70                 jump to subroutine $7019
D0/7619: 85                       move to attacker position
D0/761A: 81 15 15                 change attacker graphic to 21 (ready)
D0/761D: 83 6C                    move forward 13
D0/761F: 83 24                    move down 5
D0/7621: 89 40                    loop start (64 times)
D0/7623: 00                       [$00]
D0/7624: 8A                       loop end
D0/7625: 81 00 00                 change attacker graphic to 0 (no action)
D0/7628: FF                       end of script

; [ Animation Script $0053: Debilitator (sprite) ]

D0/7629: 40 20                    speed 5, align to center of character/monster
D0/762B: 01                       [$01]
D0/762C: 02                       [$02]
D0/762D: 03                       [$03]
D0/762E: 04                       [$04]
D0/762F: 05                       [$05]
D0/7630: FF                       end of script

; [ Animation Script $0054: Debilitator (bg1) ]

D0/7631: 00 20                    speed 1, align to center of character/monster
D0/7633: BD A0                    hide bg1 thread
D0/7635: 89 28                    loop start (40 times)
D0/7637: 0F                       [$0F]
D0/7638: 8A                       loop end
D0/7639: 85                       move to attacker position
D0/763A: A5 80 4B 01 FF FF 1D 00  init circle at (128,75)
D0/7642: A8                       move circle to attacker
D0/7643: DB 05                    branch to $764A if character already stepped forward to attack
D0/7645: 83 77                    move forward 24
D0/7647: A9 E8 00                 move circle (-24,+0)
D0/764A: BD 80                    show bg1 thread
D0/764C: 00                       [$00]
D0/764D: BD A0                    hide bg1 thread
D0/764F: 89 20                    loop start (32 times)
D0/7651: A6 00 00 01              move circle (+0,+0) and grow by 1
D0/7655: A7                       update circle
D0/7656: A3 23 34                 shift colors (2..5) of bg1 animation/esper palette left (3 loops per shift)
D0/7659: 00                       [$00]
D0/765A: 8A                       loop end
D0/765B: 89 40                    loop start (64 times)
D0/765D: A3 23 34                 shift colors (2..5) of bg1 animation/esper palette left (3 loops per shift)
D0/7660: 00                       [$00]
D0/7661: 8A                       loop end
D0/7662: 89 1C                    loop start (28 times)
D0/7664: A6 00 00 FF              move circle (+0,+0) and shrink by 1
D0/7668: A7                       update circle
D0/7669: A3 23 34                 shift colors (2..5) of bg1 animation/esper palette left (3 loops per shift)
D0/766C: 00                       [$00]
D0/766D: 8A                       loop end
D0/766E: FF                       end of script

; [ Animation Script $0055: Debilitator (bg3) ]

D0/766F: 00 A0                    speed 1, align to center of screen
D0/7671: 85                       move to attacker position
D0/7672: DB 02                    branch to $7676 if character already stepped forward to attack
D0/7674: 83 77                    move forward 24
D0/7676: C9 00                    play default sound effect
D0/7678: BD 50                    hide bg3 thread
D0/767A: 89 46                    loop start (70 times)
D0/767C: 01                       [$01]
D0/767D: 8A                       loop end
D0/767E: BE F4                    set screen mosaic to $F4
D0/7680: BD 40                    show bg3 thread
D0/7682: 00                       [$00]
D0/7683: BD 50                    hide bg3 thread
D0/7685: BE 84                    set screen mosaic to $84
D0/7687: BF B6 76                 jump to subroutine $76B6
D0/768A: BE 74                    set screen mosaic to $74
D0/768C: BF B6 76                 jump to subroutine $76B6
D0/768F: BE 64                    set screen mosaic to $64
D0/7691: BF B6 76                 jump to subroutine $76B6
D0/7694: BE 54                    set screen mosaic to $54
D0/7696: BF B6 76                 jump to subroutine $76B6
D0/7699: BE 44                    set screen mosaic to $44
D0/769B: BF B6 76                 jump to subroutine $76B6
D0/769E: BE 34                    set screen mosaic to $34
D0/76A0: BF B6 76                 jump to subroutine $76B6
D0/76A3: BE 24                    set screen mosaic to $24
D0/76A5: BF B6 76                 jump to subroutine $76B6
D0/76A8: BE 14                    set screen mosaic to $14
D0/76AA: BF B6 76                 jump to subroutine $76B6
D0/76AD: BE 00                    set screen mosaic to $00
D0/76AF: 89 14                    loop start (20 times)
D0/76B1: BF B6 76                 jump to subroutine $76B6
D0/76B4: 8A                       loop end
D0/76B5: FF                       end of script

D0/76B6: A3 13 18                 shift colors (1..4) of bg3 animation palette left (1 loops per shift)
D0/76B9: 00                       [$00]
D0/76BA: 00                       [$00]
D0/76BB: C0                       return from subroutine

; [ Animation Script $0056: Debilitator (extra) ]

D0/76BC: 00 20                    speed 1, align to center of character/monster
D0/76BE: D1 01                    invalidate character/monster sprite priority
D0/76C0: DB 03                    branch to $76C5 if character already stepped forward to attack
D0/76C2: BF 19 70                 jump to subroutine $7019
D0/76C5: 85                       move to attacker position
D0/76C6: 83 58                    move down/back 25
D0/76C8: 89 A0                    loop start (160 times)
D0/76CA: 00                       [$00]
D0/76CB: 8A                       loop end
D0/76CC: D1 00                    validate character/monster sprite priority
D0/76CE: FF                       end of script

; [ Animation Script $0050: Chain Saw 1 (sprite) ]

D0/76CF: 00 80                    speed 1, initial position $80
D0/76D1: DB 03                    branch to $76D6 if character already stepped forward to attack
D0/76D3: BF 19 70                 jump to subroutine $7019
D0/76D6: 81 15 15                 change attacker graphic to 21 (ready)
D0/76D9: 85                       move to attacker position
D0/76DA: E7                       calculate vector from attacking character to target
D0/76DB: 83 6B                    move forward 12
D0/76DD: 83 24                    move down 5
D0/76DF: A3 23 B8                 shift colors (2..5) of sprite animation palette left (11 loops per shift)
D0/76E2: 00                       [$00]
D0/76E3: E5 04 06 20              move character forward along vector at speed 4 and height 32, branch to $76DF
D0/76E7: C9 00                    play default sound effect
D0/76E9: 89 02                    loop start (2 times)
D0/76EB: 83 93                    move back 20
D0/76ED: 83 22                    move down 3
D0/76EF: 81 03 03                 change attacker graphic to 3 (walking down, frame 3)
D0/76F2: 86 60                    move attacker forward 1
D0/76F4: 83 60                    move forward 1
D0/76F6: BF D5 77                 jump to subroutine $77D5
D0/76F9: 01                       [$01]
D0/76FA: BF DB 77                 jump to subroutine $77DB
D0/76FD: 01                       [$01]
D0/76FE: BF D5 77                 jump to subroutine $77D5
D0/7701: 01                       [$01]
D0/7702: 83 83                    move back 4
D0/7704: 83 C2                    move up 3
D0/7706: 81 45 45                 change attacker graphic to 21 (ready)
D0/7709: 86 60                    move attacker forward 1
D0/770B: 83 60                    move forward 1
D0/770D: BF DB 77                 jump to subroutine $77DB
D0/7710: 02                       [$02]
D0/7711: BF D5 77                 jump to subroutine $77D5
D0/7714: 02                       [$02]
D0/7715: BF DB 77                 jump to subroutine $77DB
D0/7718: 02                       [$02]
D0/7719: 83 63                    move forward 4
D0/771B: 83 D4                    move up 21
D0/771D: 8E 80                    show animation behind character/monster sprites
D0/771F: 81 10 10                 change attacker graphic to 16 (walking up, frame 3)
D0/7722: 86 60                    move attacker forward 1
D0/7724: 83 60                    move forward 1
D0/7726: BF D5 77                 jump to subroutine $77D5
D0/7729: 03                       [$03]
D0/772A: BF DB 77                 jump to subroutine $77DB
D0/772D: 03                       [$03]
D0/772E: BF D5 77                 jump to subroutine $77D5
D0/7731: 03                       [$03]
D0/7732: 8E 40                    show animation in front of character/monster sprites
D0/7734: 83 73                    move forward 20
D0/7736: 83 34                    move down 21
D0/7738: 81 15 15                 change attacker graphic to 21 (ready)
D0/773B: 86 60                    move attacker forward 1
D0/773D: 83 60                    move forward 1
D0/773F: BF DB 77                 jump to subroutine $77DB
D0/7742: 00                       [$00]
D0/7743: BF D5 77                 jump to subroutine $77D5
D0/7746: 00                       [$00]
D0/7747: BF DB 77                 jump to subroutine $77DB
D0/774A: 00                       [$00]
D0/774B: 8A                       loop end
D0/774C: 89 02                    loop start (2 times)
D0/774E: 83 93                    move back 20
D0/7750: 83 22                    move down 3
D0/7752: 81 03 03                 change attacker graphic to 3 (walking down, frame 3)
D0/7755: 86 80                    move attacker back 1
D0/7757: 83 80                    move back 1
D0/7759: BF E1 77                 jump to subroutine $77E1
D0/775C: 01                       [$01]
D0/775D: BF E7 77                 jump to subroutine $77E7
D0/7760: 01                       [$01]
D0/7761: BF E1 77                 jump to subroutine $77E1
D0/7764: 01                       [$01]
D0/7765: 83 83                    move back 4
D0/7767: 83 C2                    move up 3
D0/7769: 81 45 45                 change attacker graphic to 21 (ready)
D0/776C: 86 80                    move attacker back 1
D0/776E: 83 80                    move back 1
D0/7770: BF E7 77                 jump to subroutine $77E7
D0/7773: 02                       [$02]
D0/7774: BF E1 77                 jump to subroutine $77E1
D0/7777: 02                       [$02]
D0/7778: BF E7 77                 jump to subroutine $77E7
D0/777B: 02                       [$02]
D0/777C: 83 63                    move forward 4
D0/777E: 83 D4                    move up 21
D0/7780: 8E 80                    show animation behind character/monster sprites
D0/7782: 81 10 10                 change attacker graphic to 16 (walking up, frame 3)
D0/7785: 86 80                    move attacker back 1
D0/7787: 83 80                    move back 1
D0/7789: BF E1 77                 jump to subroutine $77E1
D0/778C: 03                       [$03]
D0/778D: BF E7 77                 jump to subroutine $77E7
D0/7790: 03                       [$03]
D0/7791: BF E1 77                 jump to subroutine $77E1
D0/7794: 03                       [$03]
D0/7795: 8E 40                    show animation in front of character/monster sprites
D0/7797: 83 73                    move forward 20
D0/7799: 83 34                    move down 21
D0/779B: 81 15 15                 change attacker graphic to 21 (ready)
D0/779E: 86 80                    move attacker back 1
D0/77A0: 83 80                    move back 1
D0/77A2: BF E7 77                 jump to subroutine $77E7
D0/77A5: 00                       [$00]
D0/77A6: BF E1 77                 jump to subroutine $77E1
D0/77A9: 00                       [$00]
D0/77AA: BF E7 77                 jump to subroutine $77E7
D0/77AD: 00                       [$00]
D0/77AE: 8A                       loop end
D0/77AF: 83 93                    move back 20
D0/77B1: 83 22                    move down 3
D0/77B3: 81 03 03                 change attacker graphic to 3 (walking down, frame 3)
D0/77B6: A3 23 B8                 shift colors (2..5) of sprite animation palette left (11 loops per shift)
D0/77B9: 01                       [$01]
D0/77BA: A3 23 B8                 shift colors (2..5) of sprite animation palette left (11 loops per shift)
D0/77BD: 01                       [$01]
D0/77BE: A3 23 B8                 shift colors (2..5) of sprite animation palette left (11 loops per shift)
D0/77C1: 01                       [$01]
D0/77C2: 83 83                    move back 4
D0/77C4: 83 C2                    move up 3
D0/77C6: 81 45 45                 change attacker graphic to 21 (ready)
D0/77C9: A3 23 B8                 shift colors (2..5) of sprite animation palette left (11 loops per shift)
D0/77CC: 02                       [$02]
D0/77CD: E6 04 06 20              move character backward along vector at speed 4 and height 32, branch to $77C9
D0/77D1: 81 00 00                 change attacker graphic to 0 (no action)
D0/77D4: FF                       end of script

D0/77D5: 87 60                    move target forward 1
D0/77D7: A3 23 B8                 shift colors (2..5) of sprite animation palette left (11 loops per shift)
D0/77DA: C0                       return from subroutine

D0/77DB: 87 80                    move target back 1
D0/77DD: A3 23 B8                 shift colors (2..5) of sprite animation palette left (11 loops per shift)
D0/77E0: C0                       return from subroutine

D0/77E1: 87 60                    move target forward 1
D0/77E3: A3 23 B8                 shift colors (2..5) of sprite animation palette left (11 loops per shift)
D0/77E6: C0                       return from subroutine

D0/77E7: 87 80                    move target back 1
D0/77E9: A3 23 B8                 shift colors (2..5) of sprite animation palette left (11 loops per shift)
D0/77EC: C0                       return from subroutine

; [ Animation Script $004B: AutoCrossbow (bg1) ]

D0/77ED: 00 20                    speed 1, align to center of character/monster
D0/77EF: D1 01                    invalidate character/monster sprite priority
D0/77F1: F7 A0                    wait until scanline 160
D0/77F3: D4 00 00 00              add fixed color to (no layers)
D0/77F7: DB 03                    branch to $77FC if character already stepped forward to attack
D0/77F9: BF 67 70                 jump to subroutine $7067
D0/77FC: C9 00                    play default sound effect
D0/77FE: 85                       move to attacker position
D0/77FF: 81 15 15                 change attacker graphic to 21 (ready)
D0/7802: 83 6A                    move forward 11
D0/7804: 83 23                    move down 4
D0/7806: 9F 00                    animated loop start (loop once per active thread, increment frame offset each time)
D0/7808: 98 02 02                 increment frame offset every 2 loops (0..2)
D0/780B: 00                       [$00]
D0/780C: 8A                       loop end
D0/780D: 80 4E                    clear frame offset
D0/780F: 89 10                    loop start (16 times)
D0/7811: 00                       [$00]
D0/7812: 8A                       loop end
D0/7813: 81 00 00                 change attacker graphic to 0 (no action)
D0/7816: D1 00                    validate character/monster sprite priority
D0/7818: FF                       end of script

; [ Animation Script $004C: AutoCrossbow (sprite) ]

D0/7819: 00 20                    speed 1, align to center of character/monster
D0/781B: 85                       move to attacker position
D0/781C: DB 06                    branch to $7824 if character already stepped forward to attack
D0/781E: 89 07                    loop start (7 times)
D0/7820: 1F                       [---]
D0/7821: 8A                       loop end
D0/7822: 83 67                    move forward 8
D0/7824: C9 00                    play default sound effect
D0/7826: 94 93                    calculate vector from attacker to a random location on target
D0/7828: 10                       [$10]
D0/7829: 02                       [$02]
D0/782A: 92 08 03                 move along vector at speed 8, branch to $7829
D0/782D: 89 08                    loop start (8 times)
D0/782F: 87 60                    move target forward 1
D0/7831: 83 60                    move forward 1
D0/7833: 03                       [$03]
D0/7834: 87 80                    move target back 1
D0/7836: 83 80                    move back 1
D0/7838: 03                       [$03]
D0/7839: 8A                       loop end
D0/783A: FF                       end of script

; [ Animation Script $0052: Flash (sprite) ]

D0/783B: 00 20                    speed 1, align to center of character/monster
D0/783D: D1 01                    invalidate character/monster sprite priority
D0/783F: DB 03                    branch to $7844 if character already stepped forward to attack
D0/7841: BF 19 70                 jump to subroutine $7019
D0/7844: C9 00                    play default sound effect
D0/7846: 85                       move to attacker position
D0/7847: 81 15 15                 change attacker graphic to 21 (ready)
D0/784A: 83 AF                    move up/forward 16
D0/784C: 89 10                    loop start (16 times)
D0/784E: 00                       [$00]
D0/784F: 8A                       loop end
D0/7850: B0 FF                    set background color addition to 31 (white)
D0/7852: BA C0                    set monster color addition to 0 (yellow)
D0/7854: 89 10                    loop start (16 times)
D0/7856: BB C2                    increase monster color addition by 2 (yellow)
D0/7858: 00                       [$00]
D0/7859: 8A                       loop end
D0/785A: 89 20                    loop start (32 times)
D0/785C: B5 F1                    decrease background color addition by 1 (white)
D0/785E: BB D2                    decrease monster color addition by 2 (yellow)
D0/7860: 00                       [$00]
D0/7861: 8A                       loop end
D0/7862: 81 00 00                 change attacker graphic to 0 (no action)
D0/7865: D1 00                    validate character/monster sprite priority
D0/7867: FF                       end of script

; [ Animation Script $004D: NoiseBlaster (sprite) ]

D0/7868: 00 20                    speed 1, align to center of character/monster
D0/786A: 89 20                    loop start (32 times)
D0/786C: 87 60                    move target forward 1
D0/786E: 1F                       [---]
D0/786F: 87 80                    move target back 1
D0/7871: 1F                       [---]
D0/7872: 8A                       loop end
D0/7873: FF                       end of script

; [ Animation Script $004E: NoiseBlaster (extra) ]

D0/7874: 00 20                    speed 1, align to center of character/monster
D0/7876: D1 01                    invalidate character/monster sprite priority
D0/7878: DB 03                    branch to $787D if character already stepped forward to attack
D0/787A: BF 19 70                 jump to subroutine $7019
D0/787D: 81 15 15                 change attacker graphic to 21 (ready)
D0/7880: 85                       move to attacker position
D0/7881: 83 74                    move forward 21
D0/7883: 83 CC                    move up 13
D0/7885: C9 00                    play default sound effect
D0/7887: AC 44 40                 set (bg2) hdma scroll data (amplitude 0, frequency 4, horizontal)
D0/788A: AC 42 82                 set (bg2) hdma scroll data (amplitude 2, frequency 2, vertical)
D0/788D: AE C2                    update (bg2) hdma scroll data (horizontal and vertical)
D0/788F: 00                       [$00]
D0/7890: 00                       [$00]
D0/7891: 00                       [$00]
D0/7892: 00                       [$00]
D0/7893: AC 44 42                 set (bg2) hdma scroll data (amplitude 2, frequency 4, horizontal)
D0/7896: AC 42 84                 set (bg2) hdma scroll data (amplitude 4, frequency 2, vertical)
D0/7899: 89 40                    loop start (64 times)
D0/789B: AE C2                    update (bg2) hdma scroll data (horizontal and vertical)
D0/789D: 00                       [$00]
D0/789E: 8A                       loop end
D0/789F: AC 44 41                 set (bg2) hdma scroll data (amplitude 1, frequency 4, horizontal)
D0/78A2: AC 42 83                 set (bg2) hdma scroll data (amplitude 3, frequency 2, vertical)
D0/78A5: AE C2                    update (bg2) hdma scroll data (horizontal and vertical)
D0/78A7: 89 03                    loop start (3 times)
D0/78A9: 00                       [$00]
D0/78AA: 8A                       loop end
D0/78AB: AC 44 40                 set (bg2) hdma scroll data (amplitude 0, frequency 4, horizontal)
D0/78AE: AC 42 82                 set (bg2) hdma scroll data (amplitude 2, frequency 2, vertical)
D0/78B1: AE C2                    update (bg2) hdma scroll data (horizontal and vertical)
D0/78B3: 00                       [$00]
D0/78B4: 00                       [$00]
D0/78B5: AC 44 81                 set (bg2) hdma scroll data (amplitude 1, frequency 4, vertical)
D0/78B8: AE C2                    update (bg2) hdma scroll data (horizontal and vertical)
D0/78BA: 00                       [$00]
D0/78BB: 00                       [$00]
D0/78BC: AC 40 80                 set (bg2) hdma scroll data (amplitude 0, frequency 0, vertical)
D0/78BF: AE C2                    update (bg2) hdma scroll data (horizontal and vertical)
D0/78C1: 00                       [$00]
D0/78C2: 81 00 00                 change attacker graphic to 0 (no action)
D0/78C5: D1 00                    validate character/monster sprite priority
D0/78C7: FF                       end of script

; [ Animation Script $004A: Bio Blaster (bg3) ]

D0/78C8: 00 A0                    speed 1, align to center of screen
D0/78CA: D1 01                    invalidate character/monster sprite priority
D0/78CC: A5 80 4B 04 DE FF 7F 20  init circle at (128,75)
D0/78D4: A8                       move circle to attacker
D0/78D5: DB 07                    branch to $78DE if character already stepped forward to attack
D0/78D7: A9 E8 00                 move circle (-24,+0)
D0/78DA: 89 07                    loop start (7 times)
D0/78DC: 09                       [$09]
D0/78DD: 8A                       loop end
D0/78DE: C9 00                    play default sound effect
D0/78E0: A9 D8 FB                 move circle (-40,-5)
D0/78E3: AD 87                    set bg3 hdma scroll type to 7
D0/78E5: AC 21 48                 set (bg3) hdma scroll data (amplitude 8, frequency 1, horizontal)
D0/78E8: AC 22 82                 set (bg3) hdma scroll data (amplitude 2, frequency 2, vertical)
D0/78EB: 89 37                    loop start (55 times)
D0/78ED: A9 FE 00                 move circle (-2,+0)
D0/78F0: A6 00 00 02              move circle (+0,+0) and grow by 2
D0/78F4: A7                       update circle
D0/78F5: AE C1                    update (bg3) hdma scroll data (horizontal and vertical)
D0/78F7: 00                       [$00]
D0/78F8: 8A                       loop end
D0/78F9: AA E0                    set bg3 animation palette color subtraction to 0 (black)
D0/78FB: 89 20                    loop start (32 times)
D0/78FD: B4 E1                    increase bg3 animation palette color subtraction by 1 (black)
D0/78FF: A6 00 00 01              move circle (+0,+0) and grow by 1
D0/7903: A7                       update circle
D0/7904: AE C1                    update (bg3) hdma scroll data (horizontal and vertical)
D0/7906: 00                       [$00]
D0/7907: 8A                       loop end
D0/7908: 80 24                    clear bg3 hdma scroll data
D0/790A: AD 85                    set bg3 hdma scroll type to 5
D0/790C: D1 00                    validate character/monster sprite priority
D0/790E: FF                       end of script

; [ Animation Script $0049: Bio Blaster (sprite) ]

D0/790F: 00 20                    speed 1, align to center of character/monster
D0/7911: DB 03                    branch to $7916 if character already stepped forward to attack
D0/7913: BF 19 70                 jump to subroutine $7019
D0/7916: 85                       move to attacker position
D0/7917: 81 15 15                 change attacker graphic to 21 (ready)
D0/791A: 83 6B                    move forward 12
D0/791C: 83 CB                    move up 12
D0/791E: 89 40                    loop start (64 times)
D0/7920: 00                       [$00]
D0/7921: 8A                       loop end
D0/7922: 81 00 00                 change attacker graphic to 0 (no action)
D0/7925: FF                       end of script

; [ Animation Script $0051: Chain Saw 2 (sprite) ]

D0/7926: 00 80                    speed 1, initial position $80
D0/7928: DB 03                    branch to $792D if character already stepped forward to attack
D0/792A: BF 19 70                 jump to subroutine $7019
D0/792D: E7                       calculate vector from attacking character to target
D0/792E: 81 15 15                 change attacker graphic to 21 (ready)
D0/7931: 85                       move to attacker position
D0/7932: 83 27                    move down 8
D0/7934: 83 81                    move back 2
D0/7936: FA 45 79                 jump to $7945
; [ Animation Script $004F: Drill (sprite) ]

D0/7939: 00 80                    speed 1, initial position $80
D0/793B: DB 03                    branch to $7940 if character already stepped forward to attack
D0/793D: BF 19 70                 jump to subroutine $7019
D0/7940: E7                       calculate vector from attacking character to target
D0/7941: 81 15 15                 change attacker graphic to 21 (ready)
D0/7944: 85                       move to attacker position
D0/7945: 83 6C                    move forward 13
D0/7947: 83 CF                    move up 16
D0/7949: A3 23 B8                 shift colors (2..5) of sprite animation palette left (11 loops per shift)
D0/794C: 00                       [$00]
D0/794D: E5 04 06 20              move character forward along vector at speed 4 and height 32, branch to $7949
D0/7951: C9 00                    play default sound effect
D0/7953: 89 08                    loop start (8 times)
D0/7955: 86 60                    move attacker forward 1
D0/7957: 83 60                    move forward 1
D0/7959: 87 80                    move target back 1
D0/795B: A3 23 B8                 shift colors (2..5) of sprite animation palette left (11 loops per shift)
D0/795E: 00                       [$00]
D0/795F: 87 60                    move target forward 1
D0/7961: A3 23 B8                 shift colors (2..5) of sprite animation palette left (11 loops per shift)
D0/7964: 00                       [$00]
D0/7965: 8A                       loop end
D0/7966: 89 08                    loop start (8 times)
D0/7968: 86 80                    move attacker back 1
D0/796A: 83 80                    move back 1
D0/796C: 87 80                    move target back 1
D0/796E: A3 23 B8                 shift colors (2..5) of sprite animation palette left (11 loops per shift)
D0/7971: 00                       [$00]
D0/7972: 87 60                    move target forward 1
D0/7974: A3 23 B8                 shift colors (2..5) of sprite animation palette left (11 loops per shift)
D0/7977: 00                       [$00]
D0/7978: 8A                       loop end
D0/7979: A2 40                    toggle horizontal flip
D0/797B: 81 45 45                 change attacker graphic to 21 (ready)
D0/797E: 83 79                    move forward 26
D0/7980: A3 23 B8                 shift colors (2..5) of sprite animation palette left (11 loops per shift)
D0/7983: 00                       [$00]
D0/7984: E6 04 06 20              move character backward along vector at speed 4 and height 32, branch to $7980
D0/7988: 83 99                    move back 26
D0/798A: 81 15 15                 change attacker graphic to 21 (ready)
D0/798D: A2 40                    toggle horizontal flip
D0/798F: 89 10                    loop start (16 times)
D0/7991: A3 23 B8                 shift colors (2..5) of sprite animation palette left (11 loops per shift)
D0/7994: 00                       [$00]
D0/7995: 8A                       loop end
D0/7996: 81 00 00                 change attacker graphic to 0 (no action)
D0/7999: FF                       end of script

; [ Animation Script $0043:  ]

D0/799A: 00 20                    speed 1, align to center of character/monster
D0/799C: 9A                       set facing direction to match attacker
D0/799D: 89 0E                    loop start (14 times)
D0/799F: 1F                       [---]
D0/79A0: 8A                       loop end
D0/79A1: C9 00                    play default sound effect
D0/79A3: 80 88                    command $80/$88
D0/79A5: 83 6F                    move forward 16
D0/79A7: 83 27                    move down 8
D0/79A9: 89 10                    loop start (16 times)
D0/79AB: 83 60                    move forward 1
D0/79AD: 18                       [$18]
D0/79AE: 83 80                    move back 1
D0/79B0: 18                       [$18]
D0/79B1: 8A                       loop end
D0/79B2: C2 C0                    unpause bg1 thread, unpause bg3 thread
D0/79B4: FF                       end of script

; [ Animation Script $0044:  ]

D0/79B5: 00 20                    speed 1, align to center of character/monster
D0/79B7: 9A                       set facing direction to match attacker
D0/79B8: 89 0E                    loop start (14 times)
D0/79BA: 1F                       [---]
D0/79BB: 8A                       loop end
D0/79BC: C9 00                    play default sound effect
D0/79BE: 80 88                    command $80/$88
D0/79C0: 83 70                    move forward 17
D0/79C2: 83 27                    move down 8
D0/79C4: 89 10                    loop start (16 times)
D0/79C6: 83 60                    move forward 1
D0/79C8: 19                       [$19]
D0/79C9: 83 80                    move back 1
D0/79CB: 19                       [$19]
D0/79CC: 8A                       loop end
D0/79CD: C2 C0                    unpause bg1 thread, unpause bg3 thread
D0/79CF: FF                       end of script

; [ Animation Script $0045:  ]

D0/79D0: 00 20                    speed 1, align to center of character/monster
D0/79D2: 89 0E                    loop start (14 times)
D0/79D4: 1F                       [---]
D0/79D5: 8A                       loop end
D0/79D6: C9 C2                    play sound effect $C2
D0/79D8: 9A                       set facing direction to match attacker
D0/79D9: 82 04 06                 change target graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/79DC: 9C 61                    command $9C
D0/79DE: 89 10                    loop start (16 times)
D0/79E0: 80 88                    command $80/$88
D0/79E2: 83 6B                    move forward 12
D0/79E4: 83 37                    move down 24
D0/79E6: 1A                       [$1A]
D0/79E7: 8A                       loop end
D0/79E8: 82 00 00                 change target graphic to 0 (no action)
D0/79EB: C2 C0                    unpause bg1 thread, unpause bg3 thread
D0/79ED: FF                       end of script

; [ Animation Script $0046:  ]

D0/79EE: 00 20                    speed 1, align to center of character/monster
D0/79F0: 89 0E                    loop start (14 times)
D0/79F2: 1F                       [---]
D0/79F3: 8A                       loop end
D0/79F4: C9 C2                    play sound effect $C2
D0/79F6: 9A                       set facing direction to match attacker
D0/79F7: 82 04 06                 change target graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/79FA: 9C 61                    command $9C
D0/79FC: 89 10                    loop start (16 times)
D0/79FE: 80 88                    command $80/$88
D0/7A00: 83 6B                    move forward 12
D0/7A02: 83 37                    move down 24
D0/7A04: 1B                       [$1B]
D0/7A05: 8A                       loop end
D0/7A06: 82 00 00                 change target graphic to 0 (no action)
D0/7A09: C2 C0                    unpause bg1 thread, unpause bg3 thread
D0/7A0B: FF                       end of script

; [ Animation Script $0040:  ]

D0/7A0C: 00 20                    speed 1, align to center of character/monster
D0/7A0E: 89 06                    loop start (6 times)
D0/7A10: 1F                       [---]
D0/7A11: 8A                       loop end
D0/7A12: C9 00                    play default sound effect
D0/7A14: 82 07 07                 change target graphic to 7 (jumping)
D0/7A17: 89 10                    loop start (16 times)
D0/7A19: 1F                       [---]
D0/7A1A: 8A                       loop end
D0/7A1B: 82 00 00                 change target graphic to 0 (no action)
D0/7A1E: C2 C0                    unpause bg1 thread, unpause bg3 thread
D0/7A20: FF                       end of script

; [ Animation Script $0047:  ]

D0/7A21: 00 20                    speed 1, align to center of character/monster
D0/7A23: 89 0E                    loop start (14 times)
D0/7A25: 1F                       [---]
D0/7A26: 8A                       loop end
D0/7A27: C9 0D                    play sound effect $0D
D0/7A29: 9B 01                    command $9B
D0/7A2B: 9A                       set facing direction to match attacker
D0/7A2C: 80 88                    command $80/$88
D0/7A2E: 83 2D                    move down 14
D0/7A30: 83 61                    move forward 2
D0/7A32: 82 12 13                 change target graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/7A35: 9C 82                    command $9C
D0/7A37: 9E 40                    command $9E
D0/7A39: 00                       [$00]
D0/7A3A: 89 10                    loop start (16 times)
D0/7A3C: 1C                       [$1C]
D0/7A3D: 8A                       loop end
D0/7A3E: 9B 40                    command $9B
D0/7A40: 83 22                    move down 3
D0/7A42: 83 81                    move back 2
D0/7A44: 82 04 06                 change target graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/7A47: 89 10                    loop start (16 times)
D0/7A49: 1D                       [$1D]
D0/7A4A: 8A                       loop end
D0/7A4B: 82 00 00                 change target graphic to 0 (no action)
D0/7A4E: C2 C0                    unpause bg1 thread, unpause bg3 thread
D0/7A50: FF                       end of script

; [ Animation Script $0063:  ]

D0/7A51: 00 20                    speed 1, align to center of character/monster
D0/7A53: 9A                       set facing direction to match attacker
D0/7A54: 89 07                    loop start (7 times)
D0/7A56: 1F                       [---]
D0/7A57: 8A                       loop end
D0/7A58: 80 8B                    command $80/$8B
D0/7A5A: 82 06 04                 change target graphic to 6 (walking forward, frame 3) if facing left or 4 (walking forward, frame 1) if facing right
D0/7A5D: 89 20                    loop start (32 times)
D0/7A5F: 80 88                    command $80/$88
D0/7A61: 83 67                    move forward 8
D0/7A63: 83 2F                    move down 16
D0/7A65: 1E                       [$1E]
D0/7A66: 8A                       loop end
D0/7A67: 82 00 00                 change target graphic to 0 (no action)
D0/7A6A: C2 C0                    unpause bg1 thread, unpause bg3 thread
D0/7A6C: FF                       end of script

; [ Animation Script $0048:  ]

D0/7A6D: 00 20                    speed 1, align to center of character/monster
D0/7A6F: 9A                       set facing direction to match attacker
D0/7A70: 89 07                    loop start (7 times)
D0/7A72: 1F                       [---]
D0/7A73: 8A                       loop end
D0/7A74: 82 06 04                 change target graphic to 6 (walking forward, frame 3) if facing left or 4 (walking forward, frame 1) if facing right
D0/7A77: C9 A0                    play sound effect $A0
D0/7A79: 89 20                    loop start (32 times)
D0/7A7B: 80 88                    command $80/$88
D0/7A7D: 83 67                    move forward 8
D0/7A7F: 83 2F                    move down 16
D0/7A81: 1E                       [$1E]
D0/7A82: 8A                       loop end
D0/7A83: 82 00 00                 change target graphic to 0 (no action)
D0/7A86: C2 C0                    unpause bg1 thread, unpause bg3 thread
D0/7A88: FF                       end of script

; [ Animation Script $0042:  ]

D0/7A89: F0 20                    speed 16, align to center of character/monster
D0/7A8B: 80 8B                    command $80/$8B
D0/7A8D: 9A                       set facing direction to match attacker
D0/7A8E: 83 67                    move forward 8
D0/7A90: 99 0E                    change palette to 14 (character 3/crusader 1)
D0/7A92: 1D                       [$1D]
D0/7A93: 1D                       [$1D]
D0/7A94: C2 C0                    unpause bg1 thread, unpause bg3 thread
D0/7A96: FF                       end of script

; [ Animation Script $0098:  ]

D0/7A97: 20 00                    speed 3, align to bottom of character/monster
D0/7A99: 83 88                    move back 9
D0/7A9B: 90 00                    set animation tile priority to 0
D0/7A9D: 00                       [$00]
D0/7A9E: 01                       [$01]
D0/7A9F: 02                       [$02]
D0/7AA0: 03                       [$03]
D0/7AA1: 04                       [$04]
D0/7AA2: 9B 80                    command $9B
D0/7AA4: 05                       [$05]
D0/7AA5: 06                       [$06]
D0/7AA6: 07                       [$07]
D0/7AA7: 08                       [$08]
D0/7AA8: 9B 40                    command $9B
D0/7AAA: 09                       [$09]
D0/7AAB: 0A                       [$0A]
D0/7AAC: 0B                       [$0B]
D0/7AAD: 0C                       [$0C]
D0/7AAE: 0D                       [$0D]
D0/7AAF: 0E                       [$0E]
D0/7AB0: FF                       end of script

; [ Animation Script $0002: Whiplash Hit (bg1) ]

D0/7AB1: 00 20                    speed 1, align to center of character/monster
D0/7AB3: F8 BC 7A B8 7A           jump to $7ABC ($7AB8 if magitek)
D0/7AB8: 89 0C                    loop start (12 times)
D0/7ABA: 0F                       [$0F]
D0/7ABB: 8A                       loop end
D0/7ABC: 89 06                    loop start (6 times)
D0/7ABE: 0F                       [$0F]
D0/7ABF: 8A                       loop end
D0/7AC0: 80 87 00                 play sound effect $00 (pan to thread y position)
D0/7AC3: 82 16 16                 change target graphic to 22 (hit)
D0/7AC6: 8B 05                    animated loop start (5 times, increment frame offset each time)
D0/7AC8: 00                       [$00]
D0/7AC9: 8C                       animated loop end
D0/7ACA: 89 08                    loop start (8 times)
D0/7ACC: 87 60                    move target forward 1
D0/7ACE: 0F                       [$0F]
D0/7ACF: 87 80                    move target back 1
D0/7AD1: 0F                       [$0F]
D0/7AD2: 8A                       loop end
D0/7AD3: 82 00 00                 change target graphic to 0 (no action)
D0/7AD6: FF                       end of script

; [ Animation Script $0003: Whiplash Hit (bg1) ]

D0/7AD7: 00 20                    speed 1, align to center of character/monster
D0/7AD9: F8 E2 7A DE 7A           jump to $7AE2 ($7ADE if magitek)
D0/7ADE: 89 0C                    loop start (12 times)
D0/7AE0: 0F                       [$0F]
D0/7AE1: 8A                       loop end
D0/7AE2: 89 06                    loop start (6 times)
D0/7AE4: 0F                       [$0F]
D0/7AE5: 8A                       loop end
D0/7AE6: 80 87 00                 play sound effect $00 (pan to thread y position)
D0/7AE9: 82 16 16                 change target graphic to 22 (hit)
D0/7AEC: 8B 06                    animated loop start (6 times, increment frame offset each time)
D0/7AEE: 00                       [$00]
D0/7AEF: 8C                       animated loop end
D0/7AF0: 89 08                    loop start (8 times)
D0/7AF2: 87 60                    move target forward 1
D0/7AF4: 0F                       [$0F]
D0/7AF5: 87 80                    move target back 1
D0/7AF7: 0F                       [$0F]
D0/7AF8: 8A                       loop end
D0/7AF9: 82 00 00                 change target graphic to 0 (no action)
D0/7AFC: FF                       end of script

; [ Animation Script $0004: Whiplash Hit (bg1) ]

D0/7AFD: 00 20                    speed 1, align to center of character/monster
D0/7AFF: F8 08 7B 04 7B           jump to $7B08 ($7B04 if magitek)
D0/7B04: 89 0C                    loop start (12 times)
D0/7B06: 0F                       [$0F]
D0/7B07: 8A                       loop end
D0/7B08: 89 06                    loop start (6 times)
D0/7B0A: 0F                       [$0F]
D0/7B0B: 8A                       loop end
D0/7B0C: 80 87 00                 play sound effect $00 (pan to thread y position)
D0/7B0F: 82 16 16                 change target graphic to 22 (hit)
D0/7B12: 8B 04                    animated loop start (4 times, increment frame offset each time)
D0/7B14: 00                       [$00]
D0/7B15: 00                       [$00]
D0/7B16: 00                       [$00]
D0/7B17: 00                       [$00]
D0/7B18: 8C                       animated loop end
D0/7B19: 89 08                    loop start (8 times)
D0/7B1B: 87 60                    move target forward 1
D0/7B1D: 0F                       [$0F]
D0/7B1E: 87 80                    move target back 1
D0/7B20: 0F                       [$0F]
D0/7B21: 8A                       loop end
D0/7B22: 82 00 00                 change target graphic to 0 (no action)
D0/7B25: FF                       end of script

; [ Animation Script $0005: Horizontal Weapon Hit (bg1) ]

D0/7B26: 00 20                    speed 1, align to center of character/monster
D0/7B28: F8 31 7B 2D 7B           jump to $7B31 ($7B2D if magitek)
D0/7B2D: 89 0C                    loop start (12 times)
D0/7B2F: 0F                       [$0F]
D0/7B30: 8A                       loop end
D0/7B31: 89 06                    loop start (6 times)
D0/7B33: 0F                       [$0F]
D0/7B34: 8A                       loop end
D0/7B35: 80 87 00                 play sound effect $00 (pan to thread y position)
D0/7B38: 82 16 16                 change target graphic to 22 (hit)
D0/7B3B: 8B 0B                    animated loop start (11 times, increment frame offset each time)
D0/7B3D: 00                       [$00]
D0/7B3E: 8C                       animated loop end
D0/7B3F: 89 08                    loop start (8 times)
D0/7B41: 87 60                    move target forward 1
D0/7B43: 0F                       [$0F]
D0/7B44: 87 80                    move target back 1
D0/7B46: 0F                       [$0F]
D0/7B47: 8A                       loop end
D0/7B48: 82 00 00                 change target graphic to 0 (no action)
D0/7B4B: FF                       end of script

; [ Animation Script $0006: Katana Hit (bg1) ]

D0/7B4C: 00 20                    speed 1, align to center of character/monster
D0/7B4E: F8 57 7B 53 7B           jump to $7B57 ($7B53 if magitek)
D0/7B53: 89 0C                    loop start (12 times)
D0/7B55: 0F                       [$0F]
D0/7B56: 8A                       loop end
D0/7B57: 89 06                    loop start (6 times)
D0/7B59: 0F                       [$0F]
D0/7B5A: 8A                       loop end
D0/7B5B: 80 87 00                 play sound effect $00 (pan to thread y position)
D0/7B5E: 82 16 16                 change target graphic to 22 (hit)
D0/7B61: 8B 09                    animated loop start (9 times, increment frame offset each time)
D0/7B63: 00                       [$00]
D0/7B64: 8C                       animated loop end
D0/7B65: 89 08                    loop start (8 times)
D0/7B67: 87 60                    move target forward 1
D0/7B69: 0F                       [$0F]
D0/7B6A: 87 80                    move target back 1
D0/7B6C: 0F                       [$0F]
D0/7B6D: 8A                       loop end
D0/7B6E: 82 00 00                 change target graphic to 0 (no action)
D0/7B71: FF                       end of script

; [ Animation Script $0008: Unarmed Hit, Pummel, Revenge, MoogleRush (bg1) ]

D0/7B72: 00 20                    speed 1, align to center of character/monster
D0/7B74: F8 7D 7B 79 7B           jump to $7B7D ($7B79 if magitek)
D0/7B79: 89 0C                    loop start (12 times)
D0/7B7B: 0F                       [$0F]
D0/7B7C: 8A                       loop end
D0/7B7D: 89 06                    loop start (6 times)
D0/7B7F: 0F                       [$0F]
D0/7B80: 8A                       loop end
D0/7B81: C9 00                    play default sound effect
D0/7B83: 82 16 16                 change target graphic to 22 (hit)
D0/7B86: 8B 0D                    animated loop start (13 times, increment frame offset each time)
D0/7B88: 00                       [$00]
D0/7B89: 00                       [$00]
D0/7B8A: 8C                       animated loop end
D0/7B8B: 89 08                    loop start (8 times)
D0/7B8D: 87 60                    move target forward 1
D0/7B8F: 0F                       [$0F]
D0/7B90: 87 80                    move target back 1
D0/7B92: 0F                       [$0F]
D0/7B93: 8A                       loop end
D0/7B94: 82 00 00                 change target graphic to 0 (no action)
D0/7B97: FF                       end of script

; [ Animation Script $0009: Rod Hit (bg1) ]

D0/7B98: 00 20                    speed 1, align to center of character/monster
D0/7B9A: F8 A3 7B 9F 7B           jump to $7BA3 ($7B9F if magitek)
D0/7B9F: 89 0C                    loop start (12 times)
D0/7BA1: 0F                       [$0F]
D0/7BA2: 8A                       loop end
D0/7BA3: 89 06                    loop start (6 times)
D0/7BA5: 0F                       [$0F]
D0/7BA6: 8A                       loop end
D0/7BA7: 80 87 00                 play sound effect $00 (pan to thread y position)
D0/7BAA: 82 16 16                 change target graphic to 22 (hit)
D0/7BAD: 8B 0B                    animated loop start (11 times, increment frame offset each time)
D0/7BAF: 00                       [$00]
D0/7BB0: 00                       [$00]
D0/7BB1: 8C                       animated loop end
D0/7BB2: 89 08                    loop start (8 times)
D0/7BB4: 87 60                    move target forward 1
D0/7BB6: 0F                       [$0F]
D0/7BB7: 87 80                    move target back 1
D0/7BB9: 0F                       [$0F]
D0/7BBA: 8A                       loop end
D0/7BBB: 82 00 00                 change target graphic to 0 (no action)
D0/7BBE: FF                       end of script

; [ Animation Script $0001: Sword Hit (bg1) ]

D0/7BBF: 00 20                    speed 1, align to center of character/monster
D0/7BC1: F8 CA 7B C6 7B           jump to $7BCA ($7BC6 if magitek)
D0/7BC6: 89 0C                    loop start (12 times)
D0/7BC8: 0F                       [$0F]
D0/7BC9: 8A                       loop end
D0/7BCA: 89 06                    loop start (6 times)
D0/7BCC: 0F                       [$0F]
D0/7BCD: 8A                       loop end
D0/7BCE: 80 87 00                 play sound effect $00 (pan to thread y position)
D0/7BD1: 82 16 16                 change target graphic to 22 (hit)
D0/7BD4: 8B 08                    animated loop start (8 times, increment frame offset each time)
D0/7BD6: 00                       [$00]
D0/7BD7: 8C                       animated loop end
D0/7BD8: 89 08                    loop start (8 times)
D0/7BDA: 87 60                    move target forward 1
D0/7BDC: 0F                       [$0F]
D0/7BDD: 87 80                    move target back 1
D0/7BDF: 0F                       [$0F]
D0/7BE0: 8A                       loop end
D0/7BE1: 82 00 00                 change target graphic to 0 (no action)
D0/7BE4: FF                       end of script

; [ Animation Script $0000: Sword Hit (bg1) ]

D0/7BE5: 00 20                    speed 1, align to center of character/monster
D0/7BE7: F8 F0 7B EC 7B           jump to $7BF0 ($7BEC if magitek)
D0/7BEC: 89 0C                    loop start (12 times)
D0/7BEE: 0F                       [$0F]
D0/7BEF: 8A                       loop end
D0/7BF0: 89 06                    loop start (6 times)
D0/7BF2: 0F                       [$0F]
D0/7BF3: 8A                       loop end
D0/7BF4: 80 87 00                 play sound effect $00 (pan to thread y position)
D0/7BF7: 82 16 16                 change target graphic to 22 (hit)
D0/7BFA: 8B 0D                    animated loop start (13 times, increment frame offset each time)
D0/7BFC: 00                       [$00]
D0/7BFD: 8C                       animated loop end
D0/7BFE: 89 04                    loop start (4 times)
D0/7C00: 87 60                    move target forward 1
D0/7C02: 0F                       [$0F]
D0/7C03: 87 80                    move target back 1
D0/7C05: 0F                       [$0F]
D0/7C06: 8A                       loop end
D0/7C07: 82 00 00                 change target graphic to 0 (no action)
D0/7C0A: FF                       end of script

; [ Animation Script $000A: Cards Hit (bg1) ]

D0/7C0B: 00 20                    speed 1, align to center of character/monster
D0/7C0D: F8 16 7C 12 7C           jump to $7C16 ($7C12 if magitek)
D0/7C12: 89 0C                    loop start (12 times)
D0/7C14: 1F                       [---]
D0/7C15: 8A                       loop end
D0/7C16: 89 17                    loop start (23 times)
D0/7C18: 1F                       [---]
D0/7C19: 8A                       loop end
D0/7C1A: 91                       move to target position
D0/7C1B: 83 8F                    move back 16
D0/7C1D: 83 D7                    move up 24
D0/7C1F: 94 93                    calculate vector from attacker to a random location on target
D0/7C21: 10                       [$10]
D0/7C22: 04                       [$04]
D0/7C23: 92 06 03                 move along vector at speed 6, branch to $7C22
D0/7C26: C9 8E                    play sound effect $8E
D0/7C28: 89 10                    loop start (16 times)
D0/7C2A: 05                       [$05]
D0/7C2B: 8A                       loop end
D0/7C2C: FF                       end of script

; [ Animation Script $000B: Darts Hit (bg1) ]

D0/7C2D: 00 20                    speed 1, align to center of character/monster
D0/7C2F: F8 38 7C 34 7C           jump to $7C38 ($7C34 if magitek)
D0/7C34: 89 0E                    loop start (14 times)
D0/7C36: 1F                       [---]
D0/7C37: 8A                       loop end
D0/7C38: 89 07                    loop start (7 times)
D0/7C3A: 1F                       [---]
D0/7C3B: 8A                       loop end
D0/7C3C: 91                       move to target position
D0/7C3D: 83 8F                    move back 16
D0/7C3F: 83 D7                    move up 24
D0/7C41: 94 93                    calculate vector from attacker to a random location on target
D0/7C43: 10                       [$10]
D0/7C44: 04                       [$04]
D0/7C45: 92 06 03                 move along vector at speed 6, branch to $7C44
D0/7C48: C9 8E                    play sound effect $8E
D0/7C4A: 89 10                    loop start (16 times)
D0/7C4C: 05                       [$05]
D0/7C4D: 8A                       loop end
D0/7C4E: FF                       end of script

; [ Animation Script $000C: Shuriken, Tack Star Hit (bg1) ]

D0/7C4F: 00 20                    speed 1, align to center of character/monster
D0/7C51: F8 5A 7C 56 7C           jump to $7C5A ($7C56 if magitek)
D0/7C56: 89 10                    loop start (16 times)
D0/7C58: 1F                       [---]
D0/7C59: 8A                       loop end
D0/7C5A: 89 08                    loop start (8 times)
D0/7C5C: 1F                       [---]
D0/7C5D: 8A                       loop end
D0/7C5E: 91                       move to target position
D0/7C5F: 83 EF                    move up/back 16
D0/7C61: 94 93                    calculate vector from attacker to a random location on target
D0/7C63: 10                       [$10]
D0/7C64: 00                       [$00]
D0/7C65: 92 06 03                 move along vector at speed 6, branch to $7C64
D0/7C68: C9 94                    play sound effect $94
D0/7C6A: 89 10                    loop start (16 times)
D0/7C6C: 04                       [$04]
D0/7C6D: 8A                       loop end
D0/7C6E: FF                       end of script

; [ Animation Script $0035: Boomerang, Wing Edge Hit (bg1) ]

D0/7C6F: 00 20                    speed 1, align to center of character/monster
D0/7C71: F8 7A 7C 76 7C           jump to $7C7A ($7C76 if magitek)
D0/7C76: 89 0E                    loop start (14 times)
D0/7C78: 1F                       [---]
D0/7C79: 8A                       loop end
D0/7C7A: 89 07                    loop start (7 times)
D0/7C7C: 1F                       [---]
D0/7C7D: 8A                       loop end
D0/7C7E: 91                       move to target position
D0/7C7F: 83 C8                    move up 9
D0/7C81: 83 86                    move back 7
D0/7C83: 83 70                    move forward 17
D0/7C85: 97                       calculate boomerang vector from attacker to target
D0/7C86: 00                       [$00]
D0/7C87: 98 02 06                 increment frame offset every 2 loops (0..6)
D0/7C8A: 00                       [$00]
D0/7C8B: 96 02                    move along boomerang vector, branch to $7C8A
D0/7C8D: 06                       [$06]
D0/7C8E: FF                       end of script

; [ Animation Script $0034: Full Moon, Rising Sun Hit (bg1) ]

D0/7C8F: 00 20                    speed 1, align to center of character/monster
D0/7C91: F8 9A 7C 96 7C           jump to $7C9A ($7C96 if magitek)
D0/7C96: 89 0E                    loop start (14 times)
D0/7C98: 1F                       [---]
D0/7C99: 8A                       loop end
D0/7C9A: 89 07                    loop start (7 times)
D0/7C9C: 1F                       [---]
D0/7C9D: 8A                       loop end
D0/7C9E: 91                       move to target position
D0/7C9F: 83 8F                    move back 16
D0/7CA1: 83 D7                    move up 24
D0/7CA3: 97                       calculate boomerang vector from attacker to target
D0/7CA4: 04                       [$04]
D0/7CA5: 00                       [$00]
D0/7CA6: 96 02                    move along boomerang vector, branch to $7CA5
D0/7CA8: 03                       [$03]
D0/7CA9: FF                       end of script

; [ Animation Script $000F: Boomerang, Wing Edge (sprite) ]

D0/7CAA: 00 20                    speed 1, align to center of character/monster
D0/7CAC: 8E 01                    show animation on weapon-hand side of character/monster sprites
D0/7CAE: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/7CB1: 83 E6                    move up/back 7
D0/7CB3: BF 03 71                 jump to subroutine $7103
D0/7CB6: C9 00                    play default sound effect
D0/7CB8: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/7CBB: 1F                       [---]
D0/7CBC: FF                       end of script

; [ Animation Script $0010: Cards (sprite) ]

D0/7CBD: 00 20                    speed 1, align to center of character/monster
D0/7CBF: 8E 01                    show animation on weapon-hand side of character/monster sprites
D0/7CC1: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/7CC4: 83 81                    move back 2
D0/7CC6: 83 F6                    move up/back 23
D0/7CC8: BF 30 71                 jump to subroutine $7130
D0/7CCB: 89 01                    loop start (1 times)
D0/7CCD: 81 17 18                 change attacker graphic to 23 (hands up, facing down) if facing left or 24 (hands up, facing up) if facing right
D0/7CD0: 1F                       [---]
D0/7CD1: 1F                       [---]
D0/7CD2: 81 37 07                 change attacker graphic to 7 (jumping)
D0/7CD5: 1F                       [---]
D0/7CD6: 1F                       [---]
D0/7CD7: 81 18 17                 change attacker graphic to 24 (hands up, facing up) if facing left or 23 (hands up, facing down) if facing right
D0/7CDA: 1F                       [---]
D0/7CDB: 1F                       [---]
D0/7CDC: 81 07 37                 change attacker graphic to 7 (jumping)
D0/7CDF: 1F                       [---]
D0/7CE0: 1F                       [---]
D0/7CE1: 8A                       loop end
D0/7CE2: C9 00                    play default sound effect
D0/7CE4: 83 70                    move forward 17
D0/7CE6: 83 16                    move down/forward 23
D0/7CE8: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/7CEB: 01                       [$01]
D0/7CEC: 01                       [$01]
D0/7CED: 01                       [$01]
D0/7CEE: 01                       [$01]
D0/7CEF: 02                       [$02]
D0/7CF0: 02                       [$02]
D0/7CF1: 02                       [$02]
D0/7CF2: 02                       [$02]
D0/7CF3: 8E 00                    show animation on off-hand side of character/monster sprites
D0/7CF5: 03                       [$03]
D0/7CF6: 03                       [$03]
D0/7CF7: 03                       [$03]
D0/7CF8: 03                       [$03]
D0/7CF9: FF                       end of script

; [ Animation Script $002F: Shuriken, Tack Star (sprite) ]

D0/7CFA: 00 20                    speed 1, align to center of character/monster
D0/7CFC: 8E 01                    show animation on weapon-hand side of character/monster sprites
D0/7CFE: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/7D01: 83 81                    move back 2
D0/7D03: 83 F6                    move up/back 23
D0/7D05: BF 03 71                 jump to subroutine $7103
D0/7D08: C9 00                    play default sound effect
D0/7D0A: 83 70                    move forward 17
D0/7D0C: 83 16                    move down/forward 23
D0/7D0E: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/7D11: 01                       [$01]
D0/7D12: 01                       [$01]
D0/7D13: 01                       [$01]
D0/7D14: 01                       [$01]
D0/7D15: 02                       [$02]
D0/7D16: 02                       [$02]
D0/7D17: 02                       [$02]
D0/7D18: 02                       [$02]
D0/7D19: 8E 00                    show animation on off-hand side of character/monster sprites
D0/7D1B: 03                       [$03]
D0/7D1C: 03                       [$03]
D0/7D1D: 03                       [$03]
D0/7D1E: 03                       [$03]
D0/7D1F: FF                       end of script

; [ Animation Script $0013: Darts (sprite) ]

D0/7D20: 00 20                    speed 1, align to center of character/monster
D0/7D22: 8E 01                    show animation on weapon-hand side of character/monster sprites
D0/7D24: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/7D27: 83 81                    move back 2
D0/7D29: 83 F6                    move up/back 23
D0/7D2B: BF 03 71                 jump to subroutine $7103
D0/7D2E: C9 00                    play default sound effect
D0/7D30: 83 70                    move forward 17
D0/7D32: 83 16                    move down/forward 23
D0/7D34: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/7D37: 01                       [$01]
D0/7D38: 01                       [$01]
D0/7D39: 01                       [$01]
D0/7D3A: 01                       [$01]
D0/7D3B: 02                       [$02]
D0/7D3C: 02                       [$02]
D0/7D3D: 02                       [$02]
D0/7D3E: 02                       [$02]
D0/7D3F: 8E 00                    show animation on off-hand side of character/monster sprites
D0/7D41: 03                       [$03]
D0/7D42: 03                       [$03]
D0/7D43: 03                       [$03]
D0/7D44: 03                       [$03]
D0/7D45: FF                       end of script

; [ Animation Script $0022: Imperial, Kodachi, Blossom - Back Hand (sprite) ]

D0/7D46: 00 20                    speed 1, align to center of character/monster
D0/7D48: 8E 01                    show animation on weapon-hand side of character/monster sprites
D0/7D4A: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/7D4D: 83 2E                    move down 15
D0/7D4F: 83 66                    move forward 7
D0/7D51: BF 03 71                 jump to subroutine $7103
D0/7D54: C9 00                    play default sound effect
D0/7D56: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/7D59: 83 CE                    move up 15
D0/7D5B: 01                       [$01]
D0/7D5C: 01                       [$01]
D0/7D5D: 01                       [$01]
D0/7D5E: 01                       [$01]
D0/7D5F: 02                       [$02]
D0/7D60: 02                       [$02]
D0/7D61: 02                       [$02]
D0/7D62: 02                       [$02]
D0/7D63: 83 C7                    move up 8
D0/7D65: 8E 40                    show animation in front of character/monster sprites
D0/7D67: 03                       [$03]
D0/7D68: 03                       [$03]
D0/7D69: 03                       [$03]
D0/7D6A: 03                       [$03]
D0/7D6B: FF                       end of script

; [ Animation Script $0021: Imperial, Kodachi, Blossom - Front Hand (sprite) ]

D0/7D6C: 00 20                    speed 1, align to center of character/monster
D0/7D6E: 8E 01                    show animation on weapon-hand side of character/monster sprites
D0/7D70: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/7D73: 83 C8                    move up 9
D0/7D75: 83 66                    move forward 7
D0/7D77: BF 03 71                 jump to subroutine $7103
D0/7D7A: C9 00                    play default sound effect
D0/7D7C: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/7D7F: 01                       [$01]
D0/7D80: 01                       [$01]
D0/7D81: 01                       [$01]
D0/7D82: 01                       [$01]
D0/7D83: 02                       [$02]
D0/7D84: 02                       [$02]
D0/7D85: 02                       [$02]
D0/7D86: 02                       [$02]
D0/7D87: 83 27                    move down 8
D0/7D89: 8E 80                    show animation behind character/monster sprites
D0/7D8B: 03                       [$03]
D0/7D8C: 03                       [$03]
D0/7D8D: 03                       [$03]
D0/7D8E: 03                       [$03]
D0/7D8F: FF                       end of script

; [ Animation Script $0016: Chocobo Brsh (sprite) ]

D0/7D90: 00 20                    speed 1, align to center of character/monster
D0/7D92: 8E 01                    show animation on weapon-hand side of character/monster sprites
D0/7D94: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/7D97: 83 81                    move back 2
D0/7D99: 83 F6                    move up/back 23
D0/7D9B: BF 03 71                 jump to subroutine $7103
D0/7D9E: C9 00                    play default sound effect
D0/7DA0: 83 7E                    move forward 31
D0/7DA2: 83 36                    move down 23
D0/7DA4: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/7DA7: 01                       [$01]
D0/7DA8: 01                       [$01]
D0/7DA9: 01                       [$01]
D0/7DAA: 01                       [$01]
D0/7DAB: 83 C7                    move up 8
D0/7DAD: 8E 00                    show animation on off-hand side of character/monster sprites
D0/7DAF: 02                       [$02]
D0/7DB0: 02                       [$02]
D0/7DB1: 02                       [$02]
D0/7DB2: 02                       [$02]
D0/7DB3: 03                       [$03]
D0/7DB4: 03                       [$03]
D0/7DB5: 03                       [$03]
D0/7DB6: 03                       [$03]
D0/7DB7: FF                       end of script

; [ Animation Script $0018: DaVinci Brsh (sprite) ]

D0/7DB8: 00 20                    speed 1, align to center of character/monster
D0/7DBA: 8E 01                    show animation on weapon-hand side of character/monster sprites
D0/7DBC: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/7DBF: 83 81                    move back 2
D0/7DC1: 83 F8                    move up/back 25
D0/7DC3: BF 03 71                 jump to subroutine $7103
D0/7DC6: C9 00                    play default sound effect
D0/7DC8: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/7DCB: 83 7F                    move forward 32
D0/7DCD: 01                       [$01]
D0/7DCE: 01                       [$01]
D0/7DCF: 02                       [$02]
D0/7DD0: 02                       [$02]
D0/7DD1: 83 76                    move forward 23
D0/7DD3: 83 2A                    move down 11
D0/7DD5: 8E 80                    show animation behind character/monster sprites
D0/7DD7: 8F 61                    move forward 2 if mirrored
D0/7DD9: 89 10                    loop start (16 times)
D0/7DDB: 03                       [$03]
D0/7DDC: 8A                       loop end
D0/7DDD: FF                       end of script

; [ Animation Script $0019: Flail, Morning Star (sprite) ]

D0/7DDE: 00 20                    speed 1, align to center of character/monster
D0/7DE0: 8E 01                    show animation on weapon-hand side of character/monster sprites
D0/7DE2: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/7DE5: 83 81                    move back 2
D0/7DE7: 83 F6                    move up/back 23
D0/7DE9: BF 03 71                 jump to subroutine $7103
D0/7DEC: C9 00                    play default sound effect
D0/7DEE: 83 7F                    move forward 32
D0/7DF0: 01                       [$01]
D0/7DF1: 01                       [$01]
D0/7DF2: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/7DF5: 02                       [$02]
D0/7DF6: 02                       [$02]
D0/7DF7: 83 72                    move forward 19
D0/7DF9: 83 29                    move down 10
D0/7DFB: 8E 80                    show animation behind character/monster sprites
D0/7DFD: 8F 61                    move forward 2 if mirrored
D0/7DFF: 89 10                    loop start (16 times)
D0/7E01: 03                       [$03]
D0/7E02: 8A                       loop end
D0/7E03: FF                       end of script

; [ Animation Script $0038: Heavy Shield (sprite) ]

D0/7E04: 00 20                    speed 1, align to center of character/monster
D0/7E06: 8E 01                    show animation on weapon-hand side of character/monster sprites
D0/7E08: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/7E0B: 83 F5                    move up/back 22
D0/7E0D: 83 81                    move back 2
D0/7E0F: 8F 61                    move forward 2 if mirrored
D0/7E11: 90 00                    set animation tile priority to 0
D0/7E13: BF 03 71                 jump to subroutine $7103
D0/7E16: C9 00                    play default sound effect
D0/7E18: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/7E1B: 83 61                    move forward 2
D0/7E1D: 83 20                    move down 1
D0/7E1F: 01                       [$01]
D0/7E20: 83 60                    move forward 1
D0/7E22: 83 21                    move down 2
D0/7E24: 02                       [$02]
D0/7E25: 83 65                    move forward 6
D0/7E27: 83 20                    move down 1
D0/7E29: 03                       [$03]
D0/7E2A: 83 7F                    move forward 32
D0/7E2C: 83 67                    move forward 8
D0/7E2E: 83 21                    move down 2
D0/7E30: 04                       [$04]
D0/7E31: 83 20                    move down 1
D0/7E33: 05                       [$05]
D0/7E34: 83 20                    move down 1
D0/7E36: 89 10                    loop start (16 times)
D0/7E38: 06                       [$06]
D0/7E39: 8A                       loop end
D0/7E3A: FF                       end of script

; [ Animation Script $0037: Buckler (sprite) ]

D0/7E3B: 00 20                    speed 1, align to center of character/monster
D0/7E3D: 8E 01                    show animation on weapon-hand side of character/monster sprites
D0/7E3F: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/7E42: 83 F5                    move up/back 22
D0/7E44: 83 81                    move back 2
D0/7E46: 90 00                    set animation tile priority to 0
D0/7E48: BF 03 71                 jump to subroutine $7103
D0/7E4B: C9 00                    play default sound effect
D0/7E4D: 83 D0                    move up 17
D0/7E4F: 83 72                    move forward 19
D0/7E51: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/7E54: 01                       [$01]
D0/7E55: 01                       [$01]
D0/7E56: 02                       [$02]
D0/7E57: 02                       [$02]
D0/7E58: 83 C4                    move up 5
D0/7E5A: 83 1E                    move down/forward 31
D0/7E5C: 8F 61                    move forward 2 if mirrored
D0/7E5E: 89 10                    loop start (16 times)
D0/7E60: 03                       [$03]
D0/7E61: 8A                       loop end
D0/7E62: FF                       end of script

; [ Animation Script $0036: Atma Weapon (sprite) ]

D0/7E63: 00 20                    speed 1, align to center of character/monster
D0/7E65: 8E 01                    show animation on weapon-hand side of character/monster sprites
D0/7E67: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/7E6A: 83 81                    move back 2
D0/7E6C: 83 F6                    move up/back 23
D0/7E6E: 90 00                    set animation tile priority to 0
D0/7E70: BF 03 71                 jump to subroutine $7103
D0/7E73: C9 00                    play default sound effect
D0/7E75: 83 7E                    move forward 31
D0/7E77: 83 36                    move down 23
D0/7E79: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/7E7C: 01                       [$01]
D0/7E7D: 01                       [$01]
D0/7E7E: 01                       [$01]
D0/7E7F: 01                       [$01]
D0/7E80: 83 C7                    move up 8
D0/7E82: 8E 00                    show animation on off-hand side of character/monster sprites
D0/7E84: 02                       [$02]
D0/7E85: 02                       [$02]
D0/7E86: 02                       [$02]
D0/7E87: 02                       [$02]
D0/7E88: 03                       [$03]
D0/7E89: 03                       [$03]
D0/7E8A: 03                       [$03]
D0/7E8B: 03                       [$03]
D0/7E8C: FF                       end of script

; [ Animation Script $005C: Illumina (sprite) ]

D0/7E8D: 00 20                    speed 1, align to center of character/monster
D0/7E8F: 8E 01                    show animation on weapon-hand side of character/monster sprites
D0/7E91: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/7E94: 83 F5                    move up/back 22
D0/7E96: 83 27                    move down 8
D0/7E98: 83 83                    move back 4
D0/7E9A: BF 03 71                 jump to subroutine $7103
D0/7E9D: C9 00                    play default sound effect
D0/7E9F: 83 D0                    move up 17
D0/7EA1: 83 75                    move forward 22
D0/7EA3: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/7EA6: 01                       [$01]
D0/7EA7: 01                       [$01]
D0/7EA8: 02                       [$02]
D0/7EA9: 02                       [$02]
D0/7EAA: 83 1C                    move down/forward 29
D0/7EAC: 8F 61                    move forward 2 if mirrored
D0/7EAE: 89 10                    loop start (16 times)
D0/7EB0: 03                       [$03]
D0/7EB1: 8A                       loop end
D0/7EB2: FF                       end of script

; [ Animation Script $001D: Murasame, Aura, Strato, Sky Render (sprite) ]

D0/7EB3: 00 20                    speed 1, align to center of character/monster
D0/7EB5: 8E 01                    show animation on weapon-hand side of character/monster sprites
D0/7EB7: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/7EBA: 83 F5                    move up/back 22
D0/7EBC: BF 03 71                 jump to subroutine $7103
D0/7EBF: C9 00                    play default sound effect
D0/7EC1: 83 D0                    move up 17
D0/7EC3: 83 71                    move forward 18
D0/7EC5: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/7EC8: 01                       [$01]
D0/7EC9: 01                       [$01]
D0/7ECA: 02                       [$02]
D0/7ECB: 02                       [$02]
D0/7ECC: 83 1C                    move down/forward 29
D0/7ECE: 8F 61                    move forward 2 if mirrored
D0/7ED0: 89 10                    loop start (16 times)
D0/7ED2: 03                       [$03]
D0/7ED3: 8A                       loop end
D0/7ED4: FF                       end of script

; [ Animation Script $001E: Drainer, Excalibur, Ragnarok (sprite) ]

D0/7ED5: 00 20                    speed 1, align to center of character/monster
D0/7ED7: 8E 01                    show animation on weapon-hand side of character/monster sprites
D0/7ED9: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/7EDC: 83 84                    move back 5
D0/7EDE: 83 F2                    move up/back 19
D0/7EE0: BF 03 71                 jump to subroutine $7103
D0/7EE3: C9 00                    play default sound effect
D0/7EE5: 83 B2                    move up/forward 19
D0/7EE7: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/7EEA: 01                       [$01]
D0/7EEB: 01                       [$01]
D0/7EEC: 02                       [$02]
D0/7EED: 02                       [$02]
D0/7EEE: 83 3A                    move down 27
D0/7EF0: 83 7D                    move forward 30
D0/7EF2: 8F 61                    move forward 2 if mirrored
D0/7EF4: 89 10                    loop start (16 times)
D0/7EF6: 03                       [$03]
D0/7EF7: 8A                       loop end
D0/7EF8: FF                       end of script

; [ Animation Script $0024: Unarmed Attack (sprite) ]

D0/7EF9: 00 20                    speed 1, align to center of character/monster
D0/7EFB: 8E 01                    show animation on weapon-hand side of character/monster sprites
D0/7EFD: 81 12 06                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 6 (walking forward, frame 3) if facing right
D0/7F00: 83 68                    move forward 9
D0/7F02: 83 2B                    move down 12
D0/7F04: 8F 61                    move forward 2 if mirrored
D0/7F06: BF 03 71                 jump to subroutine $7103
D0/7F09: C9 00                    play default sound effect
D0/7F0B: 89 08                    loop start (8 times)
D0/7F0D: 83 81                    move back 2
D0/7F0F: 00                       [$00]
D0/7F10: 83 61                    move forward 2
D0/7F12: 00                       [$00]
D0/7F13: 8A                       loop end
D0/7F14: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/7F17: FF                       end of script

; [ Animation Script $0025:  ]

D0/7F18: 00 20                    speed 1, align to center of character/monster
D0/7F1A: 8E 01                    show animation on weapon-hand side of character/monster sprites
D0/7F1C: 81 12 06                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 6 (walking forward, frame 3) if facing right
D0/7F1F: 83 69                    move forward 10
D0/7F21: 83 2C                    move down 13
D0/7F23: 8F 61                    move forward 2 if mirrored
D0/7F25: BF 03 71                 jump to subroutine $7103
D0/7F28: C9 00                    play default sound effect
D0/7F2A: BF 31 7F                 jump to subroutine $7F31
D0/7F2D: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/7F30: FF                       end of script

D0/7F31: 89 04                    loop start (4 times)
D0/7F33: 83 80                    move back 1
D0/7F35: 87 62                    move target forward 3
D0/7F37: 00                       [$00]
D0/7F38: 83 60                    move forward 1
D0/7F3A: 87 82                    move target back 3
D0/7F3C: 00                       [$00]
D0/7F3D: 83 C2                    move up 3
D0/7F3F: 83 80                    move back 1
D0/7F41: 87 62                    move target forward 3
D0/7F43: 01                       [$01]
D0/7F44: 83 60                    move forward 1
D0/7F46: 87 62                    move target forward 3
D0/7F48: 01                       [$01]
D0/7F49: 83 80                    move back 1
D0/7F4B: 87 82                    move target back 3
D0/7F4D: 02                       [$02]
D0/7F4E: 83 60                    move forward 1
D0/7F50: 87 82                    move target back 3
D0/7F52: 02                       [$02]
D0/7F53: 83 22                    move down 3
D0/7F55: 8A                       loop end
D0/7F56: C0                       return from subroutine

; [ Animation Script $002D: Mithril Pike, Stout Spear, Gold Lance (sprite) ]

D0/7F57: 00 20                    speed 1, align to center of character/monster
D0/7F59: 8E 80                    show animation behind character/monster sprites
D0/7F5B: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/7F5E: 83 7A                    move forward 27
D0/7F60: 83 C6                    move up 7
D0/7F62: BF 30 71                 jump to subroutine $7130
D0/7F65: C9 00                    play default sound effect
D0/7F67: 00                       [$00]
D0/7F68: 00                       [$00]
D0/7F69: 89 10                    loop start (16 times)
D0/7F6B: 01                       [$01]
D0/7F6C: 8A                       loop end
D0/7F6D: FF                       end of script

; [ Animation Script $0032: Mithril Claw, Fire Knuckle, Dragon Claw - Front Hand (sprite) ]

D0/7F6E: 00 20                    speed 1, align to center of character/monster
D0/7F70: 8E 01                    show animation on weapon-hand side of character/monster sprites
D0/7F72: 81 12 13                 change attacker graphic to 18 (walking forward, frame 2) if facing left or 19 (walking forward, hands up) if facing right
D0/7F75: 83 81                    move back 2
D0/7F77: 83 F4                    move up/back 21
D0/7F79: BF 03 71                 jump to subroutine $7103
D0/7F7C: C9 00                    play default sound effect
D0/7F7E: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/7F81: 8F 01                    move down/forward 2 if mirrored
D0/7F83: 83 10                    move down/forward 17
D0/7F85: 83 75                    move forward 22
D0/7F87: 01                       [$01]
D0/7F88: 01                       [$01]
D0/7F89: 01                       [$01]
D0/7F8A: 01                       [$01]
D0/7F8B: 02                       [$02]
D0/7F8C: 02                       [$02]
D0/7F8D: 02                       [$02]
D0/7F8E: 02                       [$02]
D0/7F8F: 83 68                    move forward 9
D0/7F91: 83 C2                    move up 3
D0/7F93: 89 10                    loop start (16 times)
D0/7F95: 03                       [$03]
D0/7F96: 8A                       loop end
D0/7F97: FF                       end of script

; [ Animation Script $0028: Heal Rod, Mithril Rod, Fire Rod, Ice Rod, Thunder Rod, Poison Rod, Pearl Rod, Gravity Rod, Magus Rod (sprite) ]

D0/7F98: 00 20                    speed 1, align to center of character/monster
D0/7F9A: 8E 01                    show animation on weapon-hand side of character/monster sprites
D0/7F9C: 81 04 06                 change attacker graphic to 4 (walking forward, frame 1) if facing left or 6 (walking forward, frame 3) if facing right
D0/7F9F: 83 72                    move forward 19
D0/7FA1: 83 CA                    move up 11
D0/7FA3: BF 30 71                 jump to subroutine $7130
D0/7FA6: C9 00                    play default sound effect
D0/7FA8: 84 04                    set animation speed to 5
D0/7FAA: 89 02                    loop start (2 times)
D0/7FAC: 00                       [$00]
D0/7FAD: 01                       [$01]
D0/7FAE: 8A                       loop end
D0/7FAF: 02                       [$02]
D0/7FB0: 03                       [$03]
D0/7FB1: FF                       end of script

367 undecoded command(s)

Program ended with exit code: 0

Download [717]battle_anim_script.txt ↓

FROM THE COMMUNITY

Player reviews

0 reviews
No ratings yet

Played this project? Tell other players how it holds up.

Your take on FF3us Animation Scripts

Spam has been overwhelming. To help us approve your review, sign up and introduce yourself in the Introductions forum so we know you’re not a bot.

Sign in with your Retro Replay account to rate this project and share your experience.

Sign in to review