diff options
Diffstat (limited to 'enemiesattacks/freeze.gbasm')
-rw-r--r-- | enemiesattacks/freeze.gbasm | 40 |
1 files changed, 38 insertions, 2 deletions
diff --git a/enemiesattacks/freeze.gbasm b/enemiesattacks/freeze.gbasm index b5b6319..e5ce309 100644 --- a/enemiesattacks/freeze.gbasm +++ b/enemiesattacks/freeze.gbasm @@ -1,4 +1,20 @@ +Freeze_sight_check: ; BC = XY of the enemy. D = direction (must be unchanged). Direction to face in E (or 0 if not) + LD E, $00 + + LD A, L + AND $f0 + ADD $09 + LD L, A + LD A, $00 + CP (HL) + RET Z + JP =Check_player_next_to + Freeze_Enemy_Attack: ; Direction to face in E. Result in BC (XY), Direction in D + LD A, D + AND $f0 + SWAP A + LD D, A LD A, E DEC A DEC D @@ -10,12 +26,24 @@ Freeze_Enemy_Attack: ; Direction to face in E. Result in BC (XY), Direction in D JR NZ, =.attack LD D, E + LD A, D + SWAP A + AND $70 + OR D + LD D, A RET .attack: LD A, E - OR $10 + SWAP A + AND $70 + OR E LD D, A + LD A, L + AND $f0 + OR $0a + LD L, A + LD (HL), $01 PUSH BC LD A, $mem_bunny_direction @@ -33,8 +61,10 @@ Freeze_Enemy_Attack: ; Direction to face in E. Result in BC (XY), Direction in D LD A, $02 LD $mem_bunny_flags, A LD A, $mem_bunny_direction - AND $07 + RES 3, A LD $mem_bunny_direction, A + LD A, $00 + LD $mem_bunny_animation, A LD A, $mem_bunny_x LD $mem_bunny_predicted_x, A LD A, $mem_bunny_y @@ -48,4 +78,10 @@ Freeze_Enemy_Attack: ; Direction to face in E. Result in BC (XY), Direction in D LD A, $enum_dungeon_mode LD $mem_requested_mode, A + LD A, L + AND $f0 + ADD $09 + LD L, A + DEC (HL) + RET |