aboutsummaryrefslogtreecommitdiff
path: root/enemiesattacks
diff options
context:
space:
mode:
authorAstatin <[email protected]>2025-05-13 15:52:37 +0200
committerAstatin <[email protected]>2025-05-13 15:52:37 +0200
commitef9de76cd0bc313385b7edac3659e03ab36d3c1e (patch)
tree4125a1ba04438d8e9db5262d24b525f370a41f2f /enemiesattacks
parentb0f9e2e6d53983faa9d213b40d2bd6a23473e134 (diff)
Add bugs and poison
Diffstat (limited to 'enemiesattacks')
-rw-r--r--enemiesattacks/freeze.gbasm2
-rw-r--r--enemiesattacks/poison.gbasm77
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