From 37a908ee66d9a45031278f56b570d1c8f0d80292 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Thu, 18 Nov 2021 21:42:29 -0500 Subject: [PATCH] peasant: hook up more of archery level --- games/peasant/peasant2_actions.s | 44 +++++++++++++-- games/peasant/text/peasant2.inc | 97 ++++++++++++++++++-------------- 2 files changed, 94 insertions(+), 47 deletions(-) diff --git a/games/peasant/peasant2_actions.s b/games/peasant/peasant2_actions.s index ef2f3973..fe4eafab 100644 --- a/games/peasant/peasant2_actions.s +++ b/games/peasant/peasant2_actions.s @@ -501,11 +501,16 @@ do_archery_game: ;================ archery_haldo: - ; TODO + lda GAME_STATE_0 + and #HALDO_TO_DONGOLEV + bne archery_haldo_after_haldo jmp parse_common_haldo - +archery_haldo_after_haldo: + ldx #archery_haldo_message + jmp finish_parse_message ;================= ; look @@ -575,14 +580,45 @@ archery_play: lda CURRENT_NOUN cmp #NOUN_GAME - beq archery_play_game + beq archery_check_play_game jmp parse_common_unknown +archery_check_play_game: + + lda GAME_STATE_0 + and #ARROW_BEATEN + bne archery_play_game_arrow_beaten + + lda GAME_STATE_0 + and #TRINKET_GIVEN + bne archery_play_game + +archery_play_game_closed: + ldx #archery_play_game_closed_message + jmp finish_parse_message + +archery_play_game_arrow_beaten: + jmp archery_after_minigame + archery_play_game: + ldx #archery_play_game_message - jmp finish_parse_message + jsr partial_message_step + + ldx #archery_play_game_message2 + jsr partial_message_step + + ; play game + + lda #LOCATION_ARCHERY_GAME + jsr update_map_location + + rts + ;================ ; talk diff --git a/games/peasant/text/peasant2.inc b/games/peasant/text/peasant2.inc index cf553bee..9ba613c2 100644 --- a/games/peasant/text/peasant2.inc +++ b/games/peasant/text/peasant2.inc @@ -248,43 +248,7 @@ archery_give_trinket_message: .byte "bullseyes and you win the",13 .byte "SuperTime FunBow TM!",0 -.byte 34,"The ARROW KEYS aim left",13 -.byte "and right and the SPACE BAR",13 -.byte "operates the bow. You'll",13 -.byte "need to press it a couple",13 -.byte "of times to get a nice shot",13 -.byte "off but we don't give",13 -.byte "lessons so you're on your",13 -.byte "own.",0 - -; (get [X]=3-5 bullseyes) -.byte 34,"Nice shootin! 3 hits.",34,13 -.byte "Says Mendelev. ",34,"Here's",13 -.byte "your prize!",34," You got the",13 -.byte "SuperTime FunBow TM! We",13 -.byte "don't sell ammo, so you'll",13 -.byte "have to find your own",13 -.byte "arrows for it.",0 - -.byte 34,"Sorry!",34," says",13 -.byte "Dongolev.",34,"Not a single",13 -.byte "hit. Your game face must be",13 -.byte "on back-order. Maybe come",13 -.byte "back when your shipment",13 -.byte "comes in.",0 - -;.byte 34,"Sorry!",34," says",13 -;.byte "Dongolev.",34,"Only 1",13 -;.byte "hit. Your game face must be",13 -;.byte "on back-order. Maybe come",13 -;.byte "back when your shipment",13 -;.byte "comes in.",0 - -.byte 34,"But since you gave us this",13 -.byte "trinket, and you obviously",13 -.byte "don't have a prayer of",13 -.byte "winning, you can play again",13 -.byte "whenever you want.",34,0 +; jmp to archery_play_game_message2 ; give trinket (already gave) not in wiki @@ -295,25 +259,35 @@ archery_give_trinket_again_message: .byte "humiliate yourself at the",13 .byte "range.",0 -; play game, talk +; play game, after trinket +archery_play_game_message: .byte 34,"Haldo again!",34," say the",13 .byte "brothers. ",34,"Get 3 bullseyes",13 .byte "this time and you'll win",13 .byte "yourself an SuperTime",13 ; [sic] .byte "FunBow",34,0 -; then gives The ARROW KEYS message again +archery_play_game_message2: +.byte 34,"The ARROW KEYS aim left",13 +.byte "and right and the SPACE BAR",13 +.byte "operates the bow. You'll",13 +.byte "need to press it a couple",13 +.byte "of times to get a nice shot",13 +.byte "off but we don't give",13 +.byte "lessons so you're on your",13 +.byte "own.",0 + + + ; hints ; slack, just aim at middle, both at red line ; full left, aim at right edge of leg ; full right, aim at left edge of leg - ; play game after won, goes the "arguing" thing - ;======= ; ask @@ -383,15 +357,16 @@ archery_ask_about_unknown_message: .byte "you're real boring.",34,0 ; + haldo (after Dongolev has returned) +archery_haldo_message: .byte "HALDO!!",0 ; + play game (before saying haldo to Dongolev) (before trinket?) -archery_play_game_message: +archery_play_game_closed_message: .byte "The gallery's not open and",13 .byte "you got no bow or arrows,",13 .byte "Cupid.",0 -; BEAT GAME = +3 POINTS + ; + get/take/steal target archery_get_target_message: @@ -411,6 +386,42 @@ archery_get_arrow_message: +; (get [X]=3-5 bullseyes) +.byte 34,"Nice shootin! 3 hits.",34,13 +.byte "Says Mendelev. ",34,"Here's",13 +.byte "your prize!",34," You got the",13 +.byte "SuperTime FunBow TM! We",13 +.byte "don't sell ammo, so you'll",13 +.byte "have to find your own",13 +.byte "arrows for it.",0 + +; BEAT GAME = +3 POINTS +; get bow + +.byte 34,"Sorry!",34," says",13 +.byte "Dongolev.",34,"Not a single",13 +.byte "hit. Your game face must be",13 +.byte "on back-order. Maybe come",13 +.byte "back when your shipment",13 +.byte "comes in.",0 + +.byte 34,"Sorry!",34," says",13 +.byte "Dongolev.",34,"Only 1",13 +.byte "hit. Your game face must be",13 +.byte "on back-order. Maybe come",13 +.byte "back when your shipment",13 +.byte "comes in.",0 + +.byte 34,"But since you gave us this",13 +.byte "trinket, and you obviously",13 +.byte "don't have a prayer of",13 +.byte "winning, you can play again",13 +.byte "whenever you want.",34,0 + + + + + ;================= ; River and Stone ;=================