From 1b64ab526033e7dd8d168c1afaebcb65a0d43441 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Mon, 18 Jan 2021 15:49:02 -0500 Subject: [PATCH] tfv: have enemy change color when dies --- games/tfv/tfv_battle.s | 27 +++++++++++++++++++++++---- games/tfv/tfv_battle_enemy.s | 12 ++++++++++-- games/tfv/zp.inc | 1 + 3 files changed, 34 insertions(+), 6 deletions(-) diff --git a/games/tfv/tfv_battle.s b/games/tfv/tfv_battle.s index 3caf3808..67b3b3dc 100644 --- a/games/tfv/tfv_battle.s +++ b/games/tfv/tfv_battle.s @@ -8,19 +8,24 @@ do_battle: + ; set start position lda #34 sta HERO_X lda #20 sta HERO_Y + ; reset state lda #0 sta HERO_STATE sta MENU_STATE sta MENU_POSITION + sta ENEMY_DEAD + ; FIXME: set limit break lda #3 sta HERO_LIMIT + ; start battle count part-way in lda #20 sta BATTLE_COUNT @@ -228,8 +233,8 @@ done_battle_handle_dead: ;======================================== ; delay for framerate -; lda #10 -; jsr WAIT + lda #20 + jsr WAIT @@ -307,13 +312,27 @@ done_battle_count: ;======================== ; check enemy defeated + ; if enemy_hp zero and enemy dead < 10 + lda ENEMY_DEAD + beq battle_enemy_is_not_dead_yet + +battle_enemy_is_dead: + inc ENEMY_DEAD + lda ENEMY_DEAD + cmp #15 + bne end_battle_loop + + jsr victory_dance + jmp done_battle + +battle_enemy_is_not_dead_yet: lda ENEMY_HP_HI bne end_battle_loop lda ENEMY_HP_LO bne end_battle_loop - jsr victory_dance - jmp done_battle + ; make enemy dead + inc ENEMY_DEAD end_battle_loop: diff --git a/games/tfv/tfv_battle_enemy.s b/games/tfv/tfv_battle_enemy.s index 19b989ca..57b9a326 100644 --- a/games/tfv/tfv_battle_enemy.s +++ b/games/tfv/tfv_battle_enemy.s @@ -62,6 +62,7 @@ init_enemy: lda #0 ; hardcode crab for now sta ENEMY_TYPE sta ENEMY_X + sta ENEMY_DEAD lda #$50 ; BCD sta ENEMY_HP_LO @@ -277,9 +278,16 @@ draw_enemy_smc1: sta INL draw_enemy_smc2: lda #$a5 - -battle_actual_draw_enemy: sta INH + + lda ENEMY_DEAD + beq draw_enemy_alive + + lda #$99 + sta COLOR + jmp put_sprite_mask + +draw_enemy_alive: jmp put_sprite_crop ; tail call diff --git a/games/tfv/zp.inc b/games/tfv/zp.inc index 38ff9387..cc284922 100644 --- a/games/tfv/zp.inc +++ b/games/tfv/zp.inc @@ -162,6 +162,7 @@ DAMAGE_VAL_LO = $D0 MAGIC_X = $D1 MAGIC_Y = $D2 FINGER_DIRECTION= $D3 +ENEMY_DEAD = $D4 COLOR1 = $E0 COLOR2 = $E1