; skips a turn by calling turn_finish
; and who_next
#macro actor_skip_turn
- call turn_finish
+ turn_finish
call who_next
#endmacro
+
; stores hl back into soam ptr
#macro actor_store_soam_ptr
; store soam ptr again
actor_update_null:
actor_check_who
- jr nz, @skip REL
+ ret nz
- actor_skip_turn
-@skip:
- ret
+ ; actor_skip_turn
+ turn_finish
+ jp who_next
; bat actor
actor_update_bat:
ld [act], a
ld hl, actor_update_table
- ld a, [bc]
- call call_tbl
+ ld a, [bc]
+ cp a, 0
+ call nz, call_tbl
+ call z, actor_update_null
pop bc
pop de
ret
- ; sets turn to end
-turn_finish:
- ld a, 1
- ld [end_turn], a
- ret
; advance to the next actor if end_turn != 0
; effectively ending the current actor's turn