;;; Arachnus_SetRoll ;;;
08023950 (T)  push    r4,r5,r14
08023952 (T)  ldr     r4,=EnemyOrientation      ;\
08023954 (T)  mov     r1,r4                     ;|
08023956 (T)  add     r1,24h                    ;} EnemyPose = 3Ah (roll attack)
08023958 (T)  mov     r0,3Ah                    ;|
0802395A (T)  strb    r0,[r1]                   ;/
0802395C (T)  ldrh    r1,[r4]                   ;\
0802395E (T)  mov     r2,80h                    ;|
08023960 (T)  lsl     r2,r2,6h                  ;|
08023962 (T)  mov     r0,r2                     ;} EnemyOrientation |= 2000h (rolling)
08023964 (T)  mov     r5,0h                     ;|
08023966 (T)  orr     r1,r0                     ;|
08023968 (T)  strh    r1,[r4]                   ;/
0802396A (T)  mov     r0,r4                     ;\
0802396C (T)  add     r0,30h                    ;} Clear $Enemy30
0802396E (T)  strb    r5,[r0]                   ;/
08023970 (T)  ldr     r0,=0FFE0h                ;\
08023972 (T)  strh    r0,[r4,0Eh]               ;} EnemyLeftBoundryOffset = -20h
08023974 (T)  mov     r0,20h                    ;\
08023976 (T)  strh    r0,[r4,10h]               ;} EnemyRightBoundryOffset = 20h
08023978 (T)  mov     r0,80h                    ;\
0802397A (T)  lsl     r0,r0,3h                  ;|
0802397C (T)  and     r0,r1                     ;} If EnemyOrientation has 400h (shot):
0802397E (T)  cmp     r0,0h                     ;|
08023980 (T)  beq     8023990h                  ;/
08023982 (T)  ldr     r0,=0FBFFh                ;\
08023984 (T)  and     r1,r0                     ;|
08023986 (T)  mov     r2,80h                    ;|
08023988 (T)  lsl     r2,r2,4h                  ;} EnemyOrientation !|= 400h (shot)
0802398A (T)  mov     r0,r2                     ;} EnemyOrientation ^= 800h (flaming)
0802398C (T)  eor     r1,r0                     ;|
0802398E (T)  strh    r1,[r4]                   ;/

08023990 (T)  ldr     r0,=8302C94h              ; r0 parameter = 8302C94h
08023992 (T)  bl      8012304h                  ; Execute subroutine Enemy_SetAttachedEnemyGraphics
08023996 (T)  mov     r0,r4                     ;\
08023998 (T)  add     r0,2Fh                    ;|
0802399A (T)  ldrb    r1,[r0]                   ;|
0802399C (T)  ldr     r2,=EnemySlot0            ;|
0802399E (T)  lsl     r0,r1,3h                  ;|
080239A0 (T)  sub     r0,r0,r1                  ;|
080239A2 (T)  lsl     r0,r0,3h                  ;| Enemy[EnemyAttachedEnemySlot]HitboxOffsets:
080239A4 (T)  add     r0,r0,r2                  ;|     -60h
080239A6 (T)  ldr     r1,=0FFA0h                ;} -40h    40h
080239A8 (T)  strh    r1,[r0,0Ah]               ;|      00h
080239AA (T)  mov     r1,0h                     ;|
080239AC (T)  strh    r1,[r0,0Ch]               ;|
080239AE (T)  ldr     r1,=0FFC0h                ;|
080239B0 (T)  strh    r1,[r0,0Eh]               ;|
080239B2 (T)  mov     r1,40h                    ;|
080239B4 (T)  strh    r1,[r0,10h]               ;/
080239B6 (T)  mov     r0,0B4h                   ; r0 parameter = B4h
080239B8 (T)  bl      800270Ch                  ; Execute subroutine 800270C (Sound effect?)
080239BC (T)  pop     r4,r5
080239BE (T)  pop     r0
080239C0 (T)  bx      r0
080239C2      dw      00000h
080239C4      dd      0030006BCh,00000FFE0h,00000FBFFh,008302C94h
080239D4      dd      003000140h,00000FFA0h,00000FFC0h