peasant: hook up some of archery scene

This commit is contained in:
Vince Weaver 2021-10-20 16:37:54 -04:00
parent 75001b09a3
commit 3347ef3f5e
6 changed files with 231 additions and 10 deletions

View File

@ -66,6 +66,10 @@ Peasantry:
+ Hook up responses when mud is wet + Hook up responses when mud is wet
- Archery - Archery
+ Archer animations + Archer animations
+ Hook up minigame
+ Hook up getting points
+ Hook up dialog changes
+ Hook up stuff that happens after Dongolev is back
- River/Rock - River/Rock
+ River animation + River animation
- Mountain Pass - Mountain Pass

View File

@ -899,6 +899,7 @@ noun_lookup:
.byte "STONE",NOUN_STONE|$80 .byte "STONE",NOUN_STONE|$80
.byte "IN HAY",NOUN_IN_HAY|$80 .byte "IN HAY",NOUN_IN_HAY|$80
.byte "PUDDLE",NOUN_PUDDLE|$80 .byte "PUDDLE",NOUN_PUDDLE|$80
.byte "MENDELEV",NOUN_MENDELEV|$80
.byte $00 .byte $00

View File

@ -264,14 +264,14 @@ map_priority_hi:
verb_tables_low: verb_tables_low:
.byte <hay_bale_verb_table ; 5 -- haystack .byte <hay_bale_verb_table ; 5 -- haystack
.byte <puddle_verb_table ; 6 -- puddle .byte <puddle_verb_table ; 6 -- puddle
.byte <river_stone_verb_table ; 7 -- archery .byte <archery_verb_table ; 7 -- archery
.byte <river_stone_verb_table ; 8 -- river .byte <river_stone_verb_table ; 8 -- river
.byte <mountain_pass_verb_table ; 9 -- knight .byte <mountain_pass_verb_table ; 9 -- knight
verb_tables_hi: verb_tables_hi:
.byte >hay_bale_verb_table ; 5 -- haystack .byte >hay_bale_verb_table ; 5 -- haystack
.byte >puddle_verb_table ; 6 -- puddle .byte >puddle_verb_table ; 6 -- puddle
.byte >river_stone_verb_table ; 7 -- archery .byte >archery_verb_table ; 7 -- archery
.byte >river_stone_verb_table ; 8 -- river .byte >river_stone_verb_table ; 8 -- river
.byte >mountain_pass_verb_table ; 9 -- knight .byte >mountain_pass_verb_table ; 9 -- knight

View File

@ -217,6 +217,203 @@ puddle_look_at_rock:
jmp finish_parse_message jmp finish_parse_message
;=======================
;=======================
;=======================
; Archery
;=======================
;=======================
;=======================
archery_verb_table:
.byte VERB_ASK
.word archery_ask-1
.byte VERB_GET
.word archery_get-1
.byte VERB_GIVE
.word archery_give-1
.byte VERB_HALDO
.word archery_haldo-1
.byte VERB_LOOK
.word archery_look-1
.byte VERB_PLAY
.word archery_play-1
.byte VERB_STEAL
.word archery_steal-1
.byte VERB_TALK
.word archery_talk-1
.byte VERB_TAKE
.word archery_take-1
.byte 0
;================
; ask
;================
archery_ask:
; TODO
jmp parse_common_ask
;================
; get
;================
archery_get:
archery_steal:
archery_take:
lda CURRENT_NOUN
cmp #NOUN_TARGET
beq archery_get_target
cmp #NOUN_ARROW
beq archery_get_arrow
; else "probably wish" message
jmp parse_common_get
archery_get_target:
ldx #<archery_get_target_message
ldy #>archery_get_target_message
jmp finish_parse_message
archery_get_arrow:
ldx #<archery_get_arrow_message
ldy #>archery_get_arrow_message
jmp finish_parse_message
;================
; give
;================
archery_give:
; TODO
jmp parse_common_give
;================
; haldo
;================
archery_haldo:
; TODO
jmp parse_common_haldo
;=================
; look
;=================
archery_look:
lda CURRENT_NOUN
cmp #NOUN_DESK
beq archery_look_at_desk
cmp #NOUN_TARGET
beq archery_look_at_target
cmp #NOUN_ARCHER
beq archery_look_at_archer
cmp #NOUN_NONE
beq archery_look_at
jmp parse_common_look
archery_look_at:
ldx #<archery_look_message
ldy #>archery_look_message
jmp finish_parse_message
archery_look_at_archer:
ldx #<archery_look_at_archer_message
ldy #>archery_look_at_archer_message
jmp finish_parse_message
archery_look_at_target:
ldx #<archery_look_at_target_message
ldy #>archery_look_at_target_message
jmp finish_parse_message
archery_look_at_desk:
ldx #<archery_look_at_desk_message
ldy #>archery_look_at_desk_message
jmp finish_parse_message
;================
; play
;================
archery_play:
lda CURRENT_NOUN
cmp #NOUN_GAME
beq archery_play_game
jmp parse_common_unknown
archery_play_game:
ldx #<archery_play_game_message
ldy #>archery_play_game_message
jmp finish_parse_message
;================
; talk
;================
archery_talk:
; only talk if close
lda PEASANT_X
cmp #23
bcc archery_talk_too_far
; check Y too?
; probably less than $7D?
; actual game will walk you in if close
; will it work from beind?
lda CURRENT_NOUN
cmp #NOUN_MAN
beq archery_talk_mendelev
cmp #NOUN_GUY
beq archery_talk_mendelev
cmp #NOUN_DUDE
beq archery_talk_mendelev
cmp #NOUN_MENDELEV
beq archery_talk_mendelev
cmp #NOUN_ARCHER
beq archery_talk_mendelev
jmp parse_common_unknown
archery_talk_mendelev:
ldx #<archery_talk_mendelev_message
ldy #>archery_talk_mendelev_message
jsr partial_message_step
ldx #<archery_talk_mendelev2_message
ldy #>archery_talk_mendelev2_message
jsr partial_message_step
; add 1 point to score
; make noise
; but after the below somehow?
ldx #<archery_talk_mendelev3_message
ldy #>archery_talk_mendelev3_message
jmp finish_parse_message
archery_talk_too_far:
ldx #<archery_talk_far_message
ldy #>archery_talk_far_message
jmp finish_parse_message
;======================= ;=======================
;======================= ;=======================
;======================= ;=======================

View File

@ -104,6 +104,7 @@ puddle_get_rock_message:
;=============== ;===============
; + look ; + look
archery_look_message:
.byte "You've come across some",13 .byte "You've come across some",13
.byte "kind of shooting gallery.",13 .byte "kind of shooting gallery.",13
.byte "There's a depressed",13 .byte "There's a depressed",13
@ -111,28 +112,41 @@ puddle_get_rock_message:
.byte "there.",0 .byte "there.",0
; + look archer (before speaking to Mendelev) ; + look archer (before speaking to Mendelev)
archery_look_at_archer_message:
.byte "He looks depressed. He",13 .byte "He looks depressed. He",13
.byte "keeps sighing all",13 .byte "keeps sighing all",13
.byte "obviously like he wants you",13 .byte "obviously like he wants you",13
.byte "to ask about it.",0 .byte "to ask about it.",0
; + look archer (before saying haldo to Dongolev) ; + look archer (after talk but before saying haldo to Dongolev)
.byte "He looks depressed. Jeez, who invited the fun sponge?",0 .byte "He looks depressed. Jeez,",13
.byte "who invited the fun sponge?",0
; + look archer(s)/(anything not covered elsewhere) (after saying haldo to Dongolev) ; + look archer(s)/(anything not covered elsewhere) (after saying haldo to Dongolev)
.byte "You've come across some kind of shooting gallery. A pair of twin brothers seem to be running the place.",0 .byte "You've come across some kind of shooting gallery. A pair of twin brothers seem to be running the place.",0
; + look target ; + look target
archery_look_at_target_message:
.byte "Hey, they had those same",13 .byte "Hey, they had those same",13
.byte "targets at Peasant Scout",13 .byte "targets at Peasant Scout",13
.byte "Camp!",0 .byte "Camp!",0
; + look desk ; + look desk
archery_look_at_desk_message:
.byte "It says 'archery' on it. My",13 .byte "It says 'archery' on it. My",13
.byte "wife's drunk.",0 .byte "wife's drunk.",0
; POINTS +2 ; + talk (while away from or behind the desk)
; + talk man (you walk over) [ note, did verify the quotes here] archery_talk_far_message:
.byte "Why don't you saddle up to",13
.byte "the front of the table",13
.byte "there, cowboy?",0
; POINTS +1
; + talk {nothing}/man/guy/dude/archer/Mendelev
; (you walk over) [ note, did verify the quotes here]
archery_talk_mendelev_message:
.byte 34,"Oh, hi. I'm Mendelev,",34,13 .byte 34,"Oh, hi. I'm Mendelev,",34,13
.byte "says the archer. ",34,"I used to",13 .byte "says the archer. ",34,"I used to",13
.byte "run a shooting range here",13 .byte "run a shooting range here",13
@ -142,8 +156,12 @@ puddle_get_rock_message:
.byte "in a Jhonka's age. If you",13 .byte "in a Jhonka's age. If you",13
.byte "ever run into him, tell him",13 .byte "ever run into him, tell him",13
.byte "I said 'haldo'.",0 .byte "I said 'haldo'.",0
archery_talk_mendelev2_message:
.byte 34,"You mean 'hello,'",34," you",13 .byte 34,"You mean 'hello,'",34," you",13
.byte "ask?",0 .byte "ask?",0
archery_talk_mendelev3_message:
.byte 34,"Oh, um. No. Shut up. I",13 .byte 34,"Oh, um. No. Shut up. I",13
.byte "said 'haldo' and I meant",13 .byte "said 'haldo' and I meant",13
.byte "'haldo.' Tell him I said",13 .byte "'haldo.' Tell him I said",13
@ -177,16 +195,19 @@ puddle_get_rock_message:
.byte "HALDO!!",0 .byte "HALDO!!",0
; + play game (before saying haldo to Dongolev) ; + play game (before saying haldo to Dongolev)
archery_play_game_message:
.byte "The gallery's not open and",13 .byte "The gallery's not open and",13
.byte "you got no bow or arrows,",13 .byte "you got no bow or arrows,",13
.byte "Cupid.",0 .byte "Cupid.",0
; + get/take/steal target ; + get/take/steal target
archery_get_target_message:
.byte "No. Those will fall on you",13 .byte "No. Those will fall on you",13
.byte "and more than likely kill",13 .byte "and more than likely kill",13
.byte "you.",0 .byte "you.",0
; + get/take/steal arrow ; + get/take/steal arrow
archery_get_arrow_message:
.byte "They have ",34,"RANGE",34," printed",13 .byte "They have ",34,"RANGE",34," printed",13
.byte "on them, so it would be",13 .byte "on them, so it would be",13
.byte "kind of embarrassing to have",13 .byte "kind of embarrassing to have",13
@ -194,9 +215,6 @@ puddle_get_rock_message:
.byte "Also, that guy over there",13 .byte "Also, that guy over there",13
.byte "is giving you the evil eye.",0 .byte "is giving you the evil eye.",0
; + talk (while away from or behind the desk)
.byte "Why don't you saddle up to the front of the table there, cowboy?",0
; + talk (after talking to him before) NOT IN WIKI ; + talk (after talking to him before) NOT IN WIKI
.byte 34,"Tell my bro I said 'haldo'",13 .byte 34,"Tell my bro I said 'haldo'",13
.byte "if you see him,",34," he says",13 .byte "if you see him,",34," he says",13

View File

@ -175,5 +175,6 @@ NOUN_RIVER = 96
NOUN_STONE = 97 NOUN_STONE = 97
NOUN_IN_HAY = 98 NOUN_IN_HAY = 98
NOUN_PUDDLE = 99 NOUN_PUDDLE = 99
NOUN_MENDELEV = 100
; ;
NOUN_UNKNOWN = 100 NOUN_UNKNOWN = 101