unit_cpu: wip action attack
authorLukas Krickl <lukas@krickl.dev>
Tue, 26 Aug 2025 16:29:27 +0000 (18:29 +0200)
committerLukas Krickl <lukas@krickl.dev>
Tue, 26 Aug 2025 16:29:27 +0000 (18:29 +0200)
src/unit_cpu.s

index 8128f8543083c252fdaca88552636084fe62e171..80f2785bc7b5718c72592d000c46c60f646f6d7a 100644 (file)
@@ -144,8 +144,48 @@ unit_handle_cpu_inputs:
        ;               a: 1 attack performed
        ;               a: 0 no attack
 unit_cpu_attack_player:
+       ld hl, act_pos_y
+       add hl, de
+       
+       ld a, [hl] ; a = current unit y
+       ld b, a ; move to b
+
+       ld hl, player_unit+act_pos_y
+       ld a, [hl] ; a = player y
+
+       ; check y distance
+       call distance
+       cp a, 1
+       jr nz, @not_in_y_range REL
+       ld a, c ; find out which direction
+       cp a, DISTANCE_AGTB
+       ; jump up or down
+       jp z, @attack_up
+       jp @attack_down
+
+@not_in_y_range:
+
+       ; check x distance
+
        ld a, 0 ; no attack
        ret
+
+@attack_up:
+       ld a, 1 ; attack
+       ret
+
+@attack_down:
+       ld a, 1 ; attack
+       ret
+
+@attack_left:
+       ld a, 1 ; attack
+       ret
+
+@attack_right:
+       ld a, 1 ; attack
+       ret
+
        
        ; moves actor into a random direction
        ; inputs: