From c14d20ca2711dfc76d5243b5d50a3c099fe63133 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Mon, 21 Feb 2022 18:54:04 -0500 Subject: [PATCH] peasant: update the kerrek behavior --- games/peasant/TODO | 5 ++-- games/peasant/kerrek_actions.s | 42 ++++++++++++++++++++++++++-------- games/peasant/peasant1.s | 10 ++++++++ games/peasant/peasant4.s | 6 +++++ 4 files changed, 52 insertions(+), 11 deletions(-) diff --git a/games/peasant/TODO b/games/peasant/TODO index 7d87c9b5..f8490d08 100644 --- a/games/peasant/TODO +++ b/games/peasant/TODO @@ -85,9 +85,10 @@ Peasant1: + update x-coords when walk off screen (fence) + setup priority wall depending on if fence broken (lo-res box?) - Kerrek 1 - + Implement kerrek + + allow kerrek to hit from left (instead of just right) + + make sure kerrek hit animation doesn't go off screen + Implement dead kerrek - + Animate kerrek + + Animate kerrek (more frames) + Animate shooting kerrek + Sound effect when kerrek appears + Animate getting belt diff --git a/games/peasant/kerrek_actions.s b/games/peasant/kerrek_actions.s index c07d8382..5e0bbcc9 100644 --- a/games/peasant/kerrek_actions.s +++ b/games/peasant/kerrek_actions.s @@ -223,12 +223,15 @@ kerrek_there: ora #KERREK_ONSCREEN sta KERREK_STATE - ; play sound - - jsr kerrek_warning_music ; could be JMP + ; play sting + inc kerrek_play_sting rts + ; oh kerrek where art thine sting +kerrek_play_sting: + .byte $00 + kerrek_alive_not_there: kerrek_not_there: @@ -270,13 +273,13 @@ kerrek_row4: ; GEFC? ; GFEC? kerrek_warning_music: - lda #48 + lda #96 sta speaker_duration lda #NOTE_G3 sta speaker_frequency jsr speaker_beep - lda #24 + lda #48 sta speaker_duration lda #NOTE_F3 sta speaker_frequency @@ -288,7 +291,7 @@ kerrek_warning_music: sta speaker_frequency jsr speaker_beep - lda #96 + lda #192 sta speaker_duration lda #NOTE_C3 sta speaker_frequency @@ -655,11 +658,17 @@ kerrek_got_ya: jsr hgr_draw_sprite + + ; bonk sound effect + lda #96 + sta speaker_duration + lda #NOTE_C3 + sta speaker_frequency + jsr speaker_beep + ; wait a bit - ; FIXME: sound effect - - lda #5 + lda #2 jsr wait_a_bit @@ -688,6 +697,21 @@ kerrek_got_ya: jsr hgr_draw_sprite + ; draw big arm + + lda #kerrek_r_hitting_arm_down_sprite + sta INH + lda KERREK_X + sta CURSOR_X + lda KERREK_Y + clc + adc #11 + sta CURSOR_Y + + jsr hgr_draw_sprite + lda #5 jsr wait_a_bit diff --git a/games/peasant/peasant1.s b/games/peasant/peasant1.s index 3842f2d4..77c34f0b 100644 --- a/games/peasant/peasant1.s +++ b/games/peasant/peasant1.s @@ -425,6 +425,16 @@ no_draw_gary_flies: bmi oops_new_location bne level_over + + ; oh kerrek where is thine sting + ; play music sting if needed + lda kerrek_play_sting + beq no_sting + jsr kerrek_warning_music + dec kerrek_play_sting +no_sting: + + ; delay lda #200 diff --git a/games/peasant/peasant4.s b/games/peasant/peasant4.s index 8caa0e05..40e646c2 100644 --- a/games/peasant/peasant4.s +++ b/games/peasant/peasant4.s @@ -357,6 +357,12 @@ not_ned_cottage: bmi oops_new_location bne level_over + ; play music sting if needed + lda kerrek_play_sting + beq no_sting + jsr kerrek_warning_music + dec kerrek_play_sting +no_sting: ; delay