diff options
author | Astatin <[email protected]> | 2025-05-13 15:52:37 +0200 |
---|---|---|
committer | Astatin <[email protected]> | 2025-05-13 15:52:37 +0200 |
commit | ef9de76cd0bc313385b7edac3659e03ab36d3c1e (patch) | |
tree | 4125a1ba04438d8e9db5262d24b525f370a41f2f /enemiesattacks | |
parent | b0f9e2e6d53983faa9d213b40d2bd6a23473e134 (diff) |
Add bugs and poison
Diffstat (limited to 'enemiesattacks')
-rw-r--r-- | enemiesattacks/freeze.gbasm | 2 | ||||
-rw-r--r-- | enemiesattacks/poison.gbasm | 77 |
2 files changed, 77 insertions, 2 deletions
diff --git a/enemiesattacks/freeze.gbasm b/enemiesattacks/freeze.gbasm index e5ce309..86e47d9 100644 --- a/enemiesattacks/freeze.gbasm +++ b/enemiesattacks/freeze.gbasm @@ -75,8 +75,6 @@ Freeze_Enemy_Attack: ; Direction to face in E. Result in BC (XY), Direction in D LD A, $04 LD $mem_bunny_status_clear_turn_counter, A - LD A, $enum_dungeon_mode - LD $mem_requested_mode, A LD A, L AND $f0 diff --git a/enemiesattacks/poison.gbasm b/enemiesattacks/poison.gbasm new file mode 100644 index 0000000..807eae3 --- /dev/null +++ b/enemiesattacks/poison.gbasm @@ -0,0 +1,77 @@ +Poison_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 + +Poison_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 + XOR D + INC D + CP $00 + JR Z, =.attack + BIT 1, A + JR NZ, =.attack + + LD D, E + LD A, D + SWAP A + AND $70 + OR D + LD D, A + RET + + .attack: + LD A, E + 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 + AND $08 + LD B, A + LD A, $mem_bunny_flags + AND $01 + OR B + CP $09 + POP BC + RET Z + + LD A, $08 + LD $mem_bunny_status, A + + LD A, $0a + LD $mem_bunny_status_clear_turn_counter, A + + LD A, L + AND $f0 + ADD $07 + LD L, A + SET 2, (HL) + + LD A, L + AND $f0 + ADD $09 + LD L, A + DEC (HL) + + RET |