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
- Archery
+ 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 animation
- Mountain Pass

View File

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

View File

@ -264,14 +264,14 @@ map_priority_hi:
verb_tables_low:
.byte <hay_bale_verb_table ; 5 -- haystack
.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 <mountain_pass_verb_table ; 9 -- knight
verb_tables_hi:
.byte >hay_bale_verb_table ; 5 -- haystack
.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 >mountain_pass_verb_table ; 9 -- knight

View File

@ -217,6 +217,203 @@ puddle_look_at_rock:
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
archery_look_message:
.byte "You've come across some",13
.byte "kind of shooting gallery.",13
.byte "There's a depressed",13
@ -111,28 +112,41 @@ puddle_get_rock_message:
.byte "there.",0
; + look archer (before speaking to Mendelev)
archery_look_at_archer_message:
.byte "He looks depressed. He",13
.byte "keeps sighing all",13
.byte "obviously like he wants you",13
.byte "to ask about it.",0
; + look archer (before saying haldo to Dongolev)
.byte "He looks depressed. Jeez, who invited the fun sponge?",0
; + look archer (after talk but before saying haldo to Dongolev)
.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)
.byte "You've come across some kind of shooting gallery. A pair of twin brothers seem to be running the place.",0
; + look target
archery_look_at_target_message:
.byte "Hey, they had those same",13
.byte "targets at Peasant Scout",13
.byte "Camp!",0
; + look desk
archery_look_at_desk_message:
.byte "It says 'archery' on it. My",13
.byte "wife's drunk.",0
; POINTS +2
; + talk man (you walk over) [ note, did verify the quotes here]
; + talk (while away from or behind the desk)
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 "says the archer. ",34,"I used to",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 "ever run into him, tell him",13
.byte "I said 'haldo'.",0
archery_talk_mendelev2_message:
.byte 34,"You mean 'hello,'",34," you",13
.byte "ask?",0
archery_talk_mendelev3_message:
.byte 34,"Oh, um. No. Shut up. I",13
.byte "said 'haldo' and I meant",13
.byte "'haldo.' Tell him I said",13
@ -177,16 +195,19 @@ puddle_get_rock_message:
.byte "HALDO!!",0
; + play game (before saying haldo to Dongolev)
archery_play_game_message:
.byte "The gallery's not open and",13
.byte "you got no bow or arrows,",13
.byte "Cupid.",0
; + get/take/steal target
archery_get_target_message:
.byte "No. Those will fall on you",13
.byte "and more than likely kill",13
.byte "you.",0
; + get/take/steal arrow
archery_get_arrow_message:
.byte "They have ",34,"RANGE",34," printed",13
.byte "on them, so it would be",13
.byte "kind of embarrassing to have",13
@ -194,9 +215,6 @@ puddle_get_rock_message:
.byte "Also, that guy over there",13
.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
.byte 34,"Tell my bro I said 'haldo'",13
.byte "if you see him,",34," he says",13

View File

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