Earcoptr_Attack_Loading_VBlank: RET Earcoptr_Attack_Loading_Regular: LD A, $mem_loading_step INC A AND $1f LD $mem_loading_step, A CP $00 JR Z, =.end_attack CP $11 RET C SUB $10 LD HL, $mem_entities_list SLA A SLA A SLA A SLA A LD L, A LD A, (HL+) CP $00 RET Z LD A, (HL+) LD E, A LD A, $mem_bunny_x SUB E .ABS CP $02 RET NC LD A, (HL) LD E, A LD A, $mem_bunny_y SUB E .ABS CP $02 RET NC LD A, L ADD $06 LD L, A LD A, $02 CP (HL) RET Z DEC HL LD A, (HL) SET 3, A LD (HL-), A LD A, $mem_moving_animation_step LD B, A LD A, $1f SUB B LD $mem_blinking_animation_counter, A .SET_SOUND_EFFECT =_sound_effect_Damage LD A, (HL) SUB $01 RET C LD (HL), A RET .end_attack: LD A, $enum_dungeon_mode LD $mem_current_mode, A LD $mem_requested_mode, A CALL =Update_VBlank_Handler LD A, $mem_map_loading_flags SET 3, A LD $mem_map_loading_flags, A RET Earcoptr_Attack: PUSH BC LD A, $mem_bunny_x LD B, A LD A, $mem_bunny_y LD C, A LD A, $02 PUSH DE LD E, $30 LD D, $00 CALL =Try_Launch_Animation POP DE POP BC .SET_SOUND_EFFECT =_sound_effect_Earcoptr LD BC, =Earcoptr_Attack_Loading_VBlank LD A, B LD $mem_loading_mode_vblank_func_pointer_high, A LD A, C LD $mem_loading_mode_vblank_func_pointer_low, A LD BC, =Earcoptr_Attack_Loading_Regular LD A, B LD $mem_loading_mode_regular_func_pointer_high, A LD A, C LD $mem_loading_mode_regular_func_pointer_low, A LD A, $enum_loading_mode LD $mem_requested_mode, A .CLOSE_DIALOGUE RET