Entities_Actions: LD A, $mem_moving_animation_step CP $09 JR NZ, =.Action_Functions CALL =Reset_Entities_Collision_Map .Action_Functions: LD HL, $mem_entities_list CALL =Entity_Action CALL =Entity_Action CALL =Entity_Action CALL =Entity_Action CALL =Entity_Action CALL =Entity_Action CALL =Entity_Action CALL =Entity_Action CALL =Entity_Action CALL =Entity_Action CALL =Entity_Action CALL =Entity_Action CALL =Entity_Action CALL =Entity_Action CALL =Entity_Action CALL =Entity_Action RET Entity_Action: LD A, (HL+) CP $00 JR Z, =.skip INC HL INC HL INC HL LD E, (HL) PUSH HL LD A, L AND $f0 LD L, A LD BC, =Turn_Jump_table LD A, E .JUMP_TABLE POP HL .skip: LD A, L AND $f0 ADD $10 LD L, A RET Update_Animation_Steps: LD A, $mem_blinking_animation_counter DEC A CP $ff JR Z, =.Skip_blinking_update LD $mem_blinking_animation_counter, A .Skip_blinking_update: LD A, $mem_map_loading_flags BIT 3, A JR Z, =.update_mode LD A, $mem_moving_animation_step INC A AND $0f LD $mem_moving_animation_step, A CP $00 JR NZ, =.end LD A, $mem_map_loading_flags RES 3, A SET 1, A LD $mem_map_loading_flags, A .update_mode: ; We need to make sure that the mode doesn't change to a mode with objects update while a dialogue box refresh is currently being done LD A, $mem_current_mode BIT 7, A JR Z, =.set_current_mode LD A, $mem_display_flag AND 0b00010100 CP $00 JR NZ, =.end .set_current_mode: LD A, $mem_requested_mode LD $mem_current_mode, A .end: LD A, $mem_bunny_health CP $00 RET NZ LD A, $mem_moving_animation_step CP $00 RET NZ .Dead_mode: LD A, $20 LD $mem_bunny_direction, A LD A, $enum_dead_mode LD $mem_current_mode, A .CLOSE_DIALOGUE RET Turn_Jump_table: ; 00 RET NOP NOP NOP ; 01 JP =Move_Bunny NOP ; 02 JP =Fox_Turn NOP ; 03 JP =Cat_Turn NOP ; 04 JP =Penguin_Turn NOP ; 05 JP =QuestGoal_Turn NOP Interaction_Jump_table: ; 00 RET NOP NOP NOP ; 01 JP =Enemy_Interaction NOP ; 02 JP =Open_Dialogue NOP Enemy_Interaction: LD A, L AND $f0 LD $mem_entity_being_attacked_low, A LD A, $mem_bunny_direction AND $07 OR $10 LD $mem_bunny_direction, A LD A, $mem_map_loading_flags SET 4, A LD $mem_map_loading_flags, A RET