peasant: hook up well level

this involves parsing the nouns twice to handle things like
put pebbles in well
This commit is contained in:
Vince Weaver 2021-10-31 00:01:12 -04:00
parent a8812100ba
commit b49e5f00e8
7 changed files with 593 additions and 66 deletions

View File

@ -460,6 +460,7 @@ parse_input.inc: generate_common parse_input
./generate_common -a 0xee00 -s parse_common_look parse_input.lst >> parse_input.inc
./generate_common -a 0xee00 -s parse_common_get parse_input.lst >> parse_input.inc
./generate_common -a 0xee00 -s parse_common_climb parse_input.lst >> parse_input.inc
./generate_common -a 0xee00 -s get_noun_again parse_input.lst >> parse_input.inc
###

View File

@ -174,8 +174,11 @@ POINTS IMPLEMENTED: (in order of implementation)
+ 5 (give baby) [inn]
+ 3 (get room)
+ 2 (feed fish)
+ 2 (put pebbles in bucket)
+ 3 (put baby in bucket)
+ 2 (turn crank [baby in bucket])
======
31 points
38 points
deaths implemented

View File

@ -709,7 +709,31 @@ verb_lookup:
.byte "YES",VERB_YES|$80
.byte $00
;==========================
; get noun again
;==========================
; skips "baby" and "pebbles" and tries again
; needed for Well scene
get_noun_again:
; point to alternate
lda #<noun_lookup_again
sta get_noun_src_smc1+1
lda #>noun_lookup_again
sta get_noun_src_smc2+1
jsr get_noun
; point back
lda #<noun_lookup
sta get_noun_src_smc1+1
lda #>noun_lookup
sta get_noun_src_smc2+1
rts
;===========================
@ -735,8 +759,10 @@ try_next_word:
stx TEMP0 ; save input pointer
get_noun_src_smc1:
lda #<noun_lookup ; reset noun pointer
sta get_noun_smc+1
get_noun_src_smc2:
lda #>noun_lookup
sta get_noun_smc+2
@ -817,11 +843,16 @@ end_of_input:
noun_lookup:
.byte "BABY",NOUN_BABY|$80 ; these are first
.byte "PEBBLES",NOUN_PEBBLES|$80 ; so at Well we can also
.byte "STONE",NOUN_STONE|$80 ; check for destination (bucket/well)
noun_lookup_again:
.byte "ARCHER",NOUN_ARCHER|$80
.byte "ARMS",NOUN_ARMS|$80
.byte "ARROW",NOUN_ARROW|$80
.byte "BABY",NOUN_BABY|$80
.byte "BEADS",NOUN_BEADS|$80
.byte "BED",NOUN_BED|$80
.byte "BELL",NOUN_BELL|$80
.byte "BELT",NOUN_BELT|$80
.byte "BERRIES",NOUN_BERRIES|$80
@ -833,6 +864,7 @@ noun_lookup:
.byte "BUCKET",NOUN_BUCKET|$80
.byte "BUSH",NOUN_BUSH|$80
.byte "CANDLE",NOUN_CANDLE|$80
.byte "CARPET",NOUN_CARPET|$80
.byte "CAVE",NOUN_CAVE|$80
.byte "CHAIR",NOUN_CHAIR|$80
.byte "CLIFF",NOUN_CLIFF|$80
@ -857,6 +889,7 @@ noun_lookup:
.byte "FOOTPRINTS",NOUN_FOOTPRINTS|$80
.byte "GAME",NOUN_GAME|$80
.byte "GARY",NOUN_GARY|$80
.byte "GOLD",NOUN_GOLD|$80
.byte "GREEN",NOUN_GREEN|$80
.byte "GROUND",NOUN_GROUND|$80
.byte "GUY",NOUN_GUY|$80
@ -876,15 +909,17 @@ noun_lookup:
.byte "MAN",NOUN_MAN|$80
.byte "MAP",NOUN_MAP|$80
.byte "MASK",NOUN_MASK|$80
.byte "MATTRESS",NOUN_MATTRESS|$80
.byte "MENDELEV",NOUN_MENDELEV|$80
.byte "MONEY",NOUN_MONEY|$80
.byte "MUD",NOUN_MUD|$80
.byte "NED",NOUN_NED|$80
.byte "NOTE",NOUN_NOTE|$80
.byte "OPENINGS",NOUN_OPENINGS|$80
.byte "PAINTING",NOUN_PAINTING|$80
.byte "PAPER",NOUN_PAPER|$80
.byte "PARCHMENT",NOUN_PARCHMENT|$80
.byte "PEASANT",NOUN_PEASANT|$80
.byte "PEBBLES",NOUN_PEBBLES|$80
.byte "PILLOW",NOUN_PILLOW|$80
.byte "PILLS",NOUN_PILLS|$80
.byte "PLAGUE",NOUN_PLAGUE|$80
@ -906,7 +941,6 @@ noun_lookup:
.byte "SKULL",NOUN_SKULL|$80
.byte "SMELL",NOUN_SMELL|$80
.byte "SODA",NOUN_SODA|$80
.byte "STONE",NOUN_STONE|$80
.byte "STUFF",NOUN_STUFF|$80
.byte "STUMP",NOUN_STUMP|$80
.byte "SUB",NOUN_SUB|$80
@ -922,12 +956,6 @@ noun_lookup:
.byte "WINDOW",NOUN_WINDOW|$80
.byte "WISH",NOUN_WISH|$80
.byte "WOMAN",NOUN_WOMAN|$80
.byte "GOLD",NOUN_GOLD|$80
.byte "MONEY",NOUN_MONEY|$80
.byte "CARPET",NOUN_CARPET|$80
.byte "BED",NOUN_BED|$80
.byte "MATTRESS",NOUN_MATTRESS|$80
.byte "PARCHMENT",NOUN_PARCHMENT|$80
.byte $00

View File

@ -158,6 +158,32 @@ game_loop:
jmp game_loop
oops_new_location:
; special case if leaving with baby in well
lda MAP_LOCATION
cmp #LOCATION_OLD_WELL
bne skip_level_specific
at_old_well:
lda GAME_STATE_0
and #BABY_IN_WELL
beq skip_level_specific
ldx #<well_leave_baby_in_well_message
ldy #>well_leave_baby_in_well_message
jsr finish_parse_message
lda #LOAD_GAME_OVER
sta WHICH_LOAD
lda #NEW_FROM_DISK ; needed?
sta LEVEL_OVER
jmp game_over
skip_level_specific:
jmp new_location

View File

@ -347,6 +347,12 @@ wishing_well_verb_table:
.word well_throw-1
.byte VERB_TURN
.word well_turn-1
.byte VERB_USE
.word well_use-1
.byte VERB_DROP
.word well_use-1
.byte VERB_DEPLOY
.word well_use-1
.byte 0
@ -383,25 +389,52 @@ well_look_at_well:
ldy #>well_look_at_well_message
jsr partial_message_step
lda INVENTORY_1
and #INV1_MONSTER_MASK
bne well_look_had_mask
ldx #<well_look_at_well_message2
ldy #>well_look_at_well_message2
well_look_had_mask:
jmp finish_parse_message
well_look_at_crank:
lda INVENTORY_1_GONE
and #INV1_PEBBLES ; see if pebbles are gone (in bucket)
beq crank_no_pebbles
ldx #<well_look_at_crank_pebbles_message
ldy #>well_look_at_crank_pebbles_message
jmp finish_parse_message
crank_no_pebbles:
ldx #<well_look_at_crank_message
ldy #>well_look_at_crank_message
jmp finish_parse_message
; look in well
well_look_in_well:
lda INVENTORY_1
and #INV1_MONSTER_MASK
bne look_in_well_after_mask
look_in_well_before_mask:
ldx #<well_look_in_well_message
ldy #>well_look_in_well_message
jmp finish_parse_message
look_in_well_after_mask:
ldx #<well_look_in_well_message2
ldy #>well_look_in_well_message2
jmp finish_parse_message
; look at tree
well_look_at_tree:
ldx #<well_look_at_tree_message
ldy #>well_look_at_tree_message
jmp finish_parse_message
; look at bucket
well_look_at_bucket:
ldx #<well_look_at_bucket_message
ldy #>well_look_at_bucket_message
@ -485,6 +518,35 @@ well_talk_well:
ldy #>well_talk_message
jmp finish_parse_message
;================
; use
;================
well_use:
lda CURRENT_NOUN
cmp #NOUN_PEBBLES
beq well_use_pebbles
cmp #NOUN_STONE
beq well_use_pebbles
cmp #NOUN_ROCK
beq well_use_pebbles
cmp #NOUN_BABY
beq well_use_baby
jmp parse_common_unknown
well_use_pebbles:
ldx #<well_use_pebbles_message
ldy #>well_use_pebbles_message
jmp finish_parse_message
well_use_baby:
ldx #<well_use_baby_message
ldy #>well_use_baby_message
jmp finish_parse_message
;================
; throw
@ -517,34 +579,344 @@ well_turn:
jmp parse_common_unknown
well_turn_crank:
ldx #<well_turn_crank_message
ldy #>well_turn_crank_message
; check if close enough
lda PEASANT_X
cmp #25
bcs well_turn_crank_too_far
; we are close enough
; check in baby in
lda GAME_STATE_0
and #BABY_IN_WELL
bne well_turn_crank_baby_in
; check if have mask
lda INVENTORY_1
and #INV1_MONSTER_MASK
bne well_play_with_well
; check if pebbles in
lda INVENTORY_1_GONE
and #INV1_PEBBLES
bne well_turn_crank_pebbles_in
; check if you have pebbles but not put in yet
; lda INVENTORY_1
; and #INV1_PEBBLES
jmp well_turn_crank_pebbles_not_in
well_play_with_well:
lda GAME_STATE_0
and #BUCKET_DOWN_WELL
bne well_bucket_go_up
well_bucket_go_down:
lda GAME_STATE_0
eor #BUCKET_DOWN_WELL
sta GAME_STATE_0
ldx #<well_bucket_down_message
ldy #>well_bucket_down_message
jmp finish_parse_message
well_bucket_go_up:
lda GAME_STATE_0
eor #BUCKET_DOWN_WELL
sta GAME_STATE_0
ldx #<well_bucket_up_message
ldy #>well_bucket_up_message
jmp finish_parse_message
well_turn_crank_baby_in:
ldx #<well_turn_crank_baby_message
ldy #>well_turn_crank_baby_message
jsr partial_message_step
; get points
lda #2
jsr score_points
; get sub
lda INVENTORY_2
ora #INV2_MEATBALL_SUB
sta INVENTORY_2
; take baby from well
lda GAME_STATE_0
and #~BABY_IN_WELL
sta GAME_STATE_0
ldx #<well_turn_crank_baby2_message
ldy #>well_turn_crank_baby2_message
jmp finish_parse_message
well_turn_crank_pebbles_in:
ldx #<well_turn_crank_pebbles_message
ldy #>well_turn_crank_pebbles_message
jsr partial_message_step
; get mask
lda INVENTORY_1
ora #INV1_MONSTER_MASK
sta INVENTORY_1
ldx #<well_turn_crank_pebbles2_message
ldy #>well_turn_crank_pebbles2_message
jmp finish_parse_message
well_turn_crank_pebbles_not_in:
ldx #<well_turn_crank_no_pebbles_message
ldy #>well_turn_crank_no_pebbles_message
jmp finish_parse_message
;=====================
; turn crank, too far
well_turn_crank_too_far:
lda INVENTORY_1
and #INV1_MONSTER_MASK
beq well_turn_crank_too_far_before_mask
well_turn_crank_too_far_after_mask:
ldx #<well_turn_crank_too_far_after_message
ldy #>well_turn_crank_too_far_after_message
jmp finish_parse_message
well_turn_crank_too_far_before_mask:
ldx #<well_turn_crank_too_far_message
ldy #>well_turn_crank_too_far_message
jmp finish_parse_message
;================
; put
;================
; FIXME: need to find object here
; put baby (where)?
; need special support for object
; put baby (in well, in bucket)
; put pebbles (in well, in bucket?)
well_put:
lda CURRENT_NOUN
cmp #NOUN_BABY
beq well_throw_baby
beq well_put_baby
cmp #NOUN_PEBBLES
beq well_put_pebbles
cmp #NOUN_STONE
beq well_put_pebbles
cmp #NOUN_ROCK
beq well_put_pebbles
bne well_put_anything_else
; do we need to check for bucket at end?
well_put_anything_else:
ldx #<well_put_anything_message
ldy #>well_put_anything_message
jmp finish_parse_message
;=============
; put baby
well_put_baby:
jsr get_noun_again
lda CURRENT_NOUN
cmp #NOUN_BUCKET
beq well_put_baby_in_bucket
cmp #NOUN_WELL
beq well_put_baby_in_well
cmp #NOUN_IN_WELL
beq well_put_baby_in_well
; put general message
ldx #<well_put_baby_message
ldy #>well_put_baby_message
jmp finish_parse_message
;=================
; baby in bucket
well_put_baby_in_bucket:
lda INVENTORY_1
and #INV1_BABY
beq well_put_baby_in_bucket_no_baby
well_put_baby_in_bucket_yes_baby:
lda PEASANT_X
cmp #25
bcc well_put_baby_bucket_close_enough
ldx #<well_put_baby_in_bucket_too_far_message
ldy #>well_put_baby_in_bucket_too_far_message
jmp finish_parse_message
well_put_baby_bucket_close_enough:
; see if have sub
lda INVENTORY_2
and #INV2_MEATBALL_SUB
bne well_put_baby_in_bucket_already_done
; actually do it
lda #3
jsr score_points
; put baby in bucket
lda GAME_STATE_0
ora #BABY_IN_WELL
sta GAME_STATE_0
ldx #<well_put_baby_in_bucket_message
ldy #>well_put_baby_in_bucket_message
jmp finish_parse_message
well_put_baby_in_bucket_already_done:
ldx #<well_put_baby_in_bucket_already_done_message
ldy #>well_put_baby_in_bucket_already_done_message
jmp finish_parse_message
well_put_baby_in_bucket_no_baby:
ldx #<well_put_baby_none_message
ldy #>well_put_baby_none_message
jmp finish_parse_message
;=================
; baby in well
well_put_baby_in_well:
; check if have baby
; first check if gone
lda INVENTORY_1_GONE
and #INV1_BABY
bne well_put_baby_in_well_but_gone
; next check if we have baby
lda INVENTORY_1
and #INV1_BABY
beq well_put_baby_in_well_but_gone
well_put_baby_in_well_but_have:
ldx #<well_put_baby_in_well_message
ldy #>well_put_baby_in_well_message
jmp finish_parse_message
well_put_baby_in_well_but_gone:
ldx #<well_put_baby_none_message
ldy #>well_put_baby_none_message
jmp finish_parse_message
;=============
; put pebbles
well_put_pebbles:
jsr get_noun_again
lda CURRENT_NOUN
cmp #NOUN_BUCKET
beq well_put_pebbles_in_bucket
cmp #NOUN_WELL
beq well_put_pebbles_in_well
cmp #NOUN_IN_WELL
beq well_put_pebbles_in_well
; put general message
ldx #<well_put_pebbles_message
ldy #>well_put_pebbles_message
jmp finish_parse_message
well_put_pebbles_in_bucket:
; check if have pebbles
; first check if gone
lda INVENTORY_1_GONE
and #INV1_PEBBLES
bne well_put_pebbles_in_bucket_but_gone
; next check if we have them
lda INVENTORY_1
and #INV1_PEBBLES
bne well_put_pebbles_in_bucket_have_them
well_put_pebbles_in_bucket_no_pebbles:
ldx #<well_put_pebbles_in_bucket_before_message
ldy #>well_put_pebbles_in_bucket_before_message
jmp finish_parse_message
well_put_pebbles_in_bucket_but_gone:
ldx #<well_put_pebbles_in_bucket_gone_message
ldy #>well_put_pebbles_in_bucket_gone_message
jmp finish_parse_message
well_put_pebbles_in_bucket_have_them:
; add 2 points to score
lda #2
jsr score_points
; mark pebbles as gone
lda INVENTORY_1_GONE
ora #INV1_PEBBLES
sta INVENTORY_1_GONE
ldx #<well_put_pebbles_in_bucket_message
ldy #>well_put_pebbles_in_bucket_message
jmp finish_parse_message
;=========================
; pebbles in well
well_put_pebbles_in_well:
; check if have pebbles
; first check if gone
lda INVENTORY_1_GONE
and #INV1_PEBBLES
bne well_put_pebbles_in_well_but_gone
; next check if we have them
lda INVENTORY_1
and #INV1_PEBBLES
beq well_put_pebbles_in_well_but_gone
well_put_pebbles_in_well_but_have:
ldx #<well_put_pebbles_in_well_message
ldy #>well_put_pebbles_in_well_message
jmp finish_parse_message
well_put_pebbles_in_well_but_gone:
ldx #<well_put_pebbles_in_well_gone_message
ldy #>well_put_pebbles_in_well_gone_message
jmp finish_parse_message
;=======================
;=======================

View File

@ -164,7 +164,15 @@ gary_talk_message:
;=========================
; (Leave the screen after putting the baby in the bucket)
.byte "Nice try. Ditch the baby at the bottom of the well, eh? Thought you'd be able to just walk away and it's nothing by mead and wenches from now on, huh? Well guess what? You dead. Thanks for playing.",0
well_leave_baby_in_well_message:
.byte "Nice try. Ditch the baby at",13
.byte "the bottom of the well, eh?",13
.byte "Thought you'd be able to",13
.byte "just walk away and it's",13
.byte "nothing by mead and",13
.byte "wenches from now on, huh?",13
.byte "Well guess what? You dead.",13
.byte "Thanks for playing.",0
; + look
well_look_at_message:
@ -195,6 +203,7 @@ well_look_at_crank_message:
.byte "It looks rusted in place.",0
; + look crank (after putting pebbles in the bucket)
well_look_at_crank_pebbles_message:
.byte "That is a bonafide crank.",13
.byte "It seems to work now.",0
@ -222,25 +231,114 @@ well_look_at_bucket_message:
.byte "An empty wooden bucket",13
.byte "hangs on a rope in the well.",0
;========
; put
; + put pebbles
well_put_pebbles_message:
.byte "Where you wanna toss em?",0
;=======================
; put pebbles in bucket
; +2 POINTS
; + put pebbles in bucket
well_put_pebbles_in_bucket_message:
.byte "You plunk all your pebbles",13
.byte "into the bucket. The weight",13
.byte "causes it to descend to the",13
.byte "bottom of the well with a",13
.byte "quickness!",0
; + put pebbles/rocks in bucket (don't have them)
well_put_pebbles_in_bucket_before_message:
.byte "Find some pebbles first and",13
.byte "you might have the makings",13
.byte "of a good idea. About time.",0
; + put pebbles/rocks in bucket (after mask)
well_put_pebbles_in_bucket_gone_message:
.byte "We've already been through",13
.byte "this exercise and it went",13
.byte "pretty well, ya?",0
;=====================
; put pebbles in well
; + put pebbles/rocks in well (you have them)
well_put_pebbles_in_well_message:
.byte "Then it'd be tough to get",13
.byte "them back. You never go",13
.byte "ANYwhere without your rocks",0 ; [sic]
; + put pebbles/rocks in well (don't have them/already mask)
well_put_pebbles_in_well_gone_message:
.byte "Riiight, right. Which",13
.byte "ones?",0
;=====================
; put baby in bucket
; + put baby (if you have it)
well_put_baby_message:
.byte "Where you wanna toss em?",0
; + 3 POINTS
; + put baby in bucket
well_put_baby_in_bucket_message:
.byte "Okay, Father of the Year.",13
.byte "You put a baby in a bucket",13
.byte "and it quickly descends",13
.byte "deep into the well. Yours",13
.byte "is a black, black heart.",0
; + put baby in bucket (too far)
well_put_baby_in_bucket_too_far_message:
.byte "You're not that keen",13
.byte "a shot. Try standing a little",13
.byte "closer.",0
; + put baby in bucket (after sub)
well_put_baby_in_bucket_already_done_message:
.byte "Li'l tyke seems to enjoy",13
.byte "the ride, but - thin or not",13
.byte "- we've got a plot to",13
.byte "advance here.",0
;=====================
; put baby in well
; + put baby in well
well_put_baby_in_well_message:
.byte "Jeez man! At least put the",13
.byte "poor little guy in the",13
.byte "bucket! Give him a fighting",13
.byte "chance!",0
; + put baby in well (don't have, see put pebbles in well don't have)
; + put (anything else) in bucket
well_put_anything_message:
.byte "That's not heavy enough to",13
.byte "weigh down the bucket.",0
;========
; turn
; + turn crank (before pebbles, far away)
well_turn_crank_too_far_message:
.byte "You can't reach from there.",0
; + turn crank (before pebbles, close)
well_turn_crank_message:
; + turn crank (before pebbles in, close)
well_turn_crank_no_pebbles_message:
.byte "It won't budge. Maybe if",13
.byte "there was something heavy",13
.byte "in that bucket...",0
; TODO: animation, bucket up with mask
; + turn crank (pebbles)
well_turn_crank_pebbles_message:
.byte "The crank seems to have",13
.byte "loosened and you haul the ",13
.byte "bucket back up. What's",13
@ -249,22 +347,26 @@ well_turn_crank_message:
.byte "leftover from some pagan",13
.byte "ritual. Silly pagans.",0
well_turn_crank_pebbles2_message:
.byte "You grab up the scary",13
.byte "moster maskus. Man, this",13
.byte "thing could scare a horse!",0
; like edge of screen far
; + turn crank (after mask, far away)
well_turn_crank_too_far_after_message:
.byte "You got a short reach to",13
.byte "match your short pants. Try",13
.byte "standing closer to that",13
.byte "crank.",0
; + turn crank (after mask, close, first time)
; + turn crank (after hmask, close, first time)
well_bucket_down_message:
.byte "Down she goes! You could",13
.byte "do this all day!",0
; + turn crank (after mask, close, second time)
well_bucket_up_message:
.byte "The drama grips you, but",13
.byte "the bucket is empty. On the",13
.byte "bright side, you're",13
@ -274,24 +376,43 @@ well_turn_crank_message:
; + 2 POINTS
; + turn crank (baby)
.byte "You haul the bucket back up. Lucky for you, the baby is still in it and appears to be unscathed. As a bonus, it looks like he found a Meatball sub down there. Score! You take the sub.",0
.byte "Oh, and the baby. You take the baby.",0
well_turn_crank_baby_message:
.byte "You haul the bucket back",13
.byte "up. Lucky for you, the baby",13
.byte "is still in it and appears",13
.byte "to be unscathed. As a",13
.byte "bonus, it looks like he",13
.byte "found a Meatball sub down",13
.byte "there. Score! You take the",13
.byte "sub.",0
; + 3 POINTS
; + put baby in bucket
.byte "Okay, Father of the Year. You put a baby in a bucket and it quickly descends deep into the well. Yours is a black, black heart.",0
well_turn_crank_baby2_message:
.byte "Oh, and the baby. You take",13
.byte "the baby.",0
;================
; use
; + use pebbles
.byte "What do you propose to do with them? Discuss.",0
well_use_pebbles_message:
.byte "What do you propose to do",13
.byte "with them? Discuss.",0
; + deploy/drop/use baby (if you have it)
well_use_baby_message:
.byte "Like where?",0
;=========
; make
; + make wish
well_make_wish_message:
.byte "This isn't that kind of",13
.byte "well. This is a plaguewater",13
.byte "well.",0
; + deploy/drop/use baby (if you have it)
.byte "Like where?",0
;==========
; climb
; + climb in bucket
well_climb_bucket_message:
@ -302,57 +423,32 @@ well_climb_well_message:
.byte "No go. Your insurance",13
.byte "doesn't cover that.",0
;=========
; get
; + get/take/steal bucket
well_get_bucket_message:
.byte "You can't, it's tied to a",13
.byte "rope and you're terrible",13
.byte "with knots.",0
;===========
; throw
; + throw baby (if you have it)
.byte "Throw it where?",0
; + put baby (if you have it)
.byte "Where you wanna toss em?",0
; + throw baby
; + put baby in bucket/well (before baby/after baby)
well_throw_baby_message:
well_put_baby_none_message:
.byte "Hmmmm... A baby, eh? You",13
.byte "check your sundial.",13
.byte "Babies-R-Us is probably",13
.byte "closed by now.",0
; + put baby in bucket (too far)
.byte "You're not that keen a shot. Try standing a little closer.",0
; + put baby in bucket (after sub)
.byte "Li'l tyke seems to enjoy the ride, but -- thin or not -- we've got a plot to advance here.",0
; + put (anything else) in bucket
well_put_anything_message:
.byte "That's not heavy enough to",13
.byte "weigh down the bucket.",0
; + put baby in well
.byte "Jeez man! At least put the poor little guy in the bucket! Give him a fighting chance!",0
; + put pebbles
.byte "Where you wanna toss em?",0
; + put pebbles/rocks in bucket (don't have them)
.byte "Find some pebbles first and you might have the makings of a good idea. About time.",0
; + put pebbles/rocks in bucket (after mask)
.byte "We've already been through",13
.byte "this exercise and it went",13
.byte "pretty well, ya?",0
; + put pebbles/rocks in well (you have them)
.byte "Then it'd be tough to get them back. You never go ANYWHERE without your rocks",0
; + put pebbles/rocks in well (don't have them/already mask)
.byte "Riiight, right. Which",13
.byte "ones?",0
;==============
; talk
; + talk well
well_talk_message:

View File

@ -117,7 +117,7 @@ MAP_LOCATION = $96
GAME_STATE_0 = $97
BABY_IN_WELL=$01
TURN_WELL_CRANK=$02
BUCKET_DOWN_WELL=$02
TALK_TO_MENDELEV=$04
HALDO_TO_DONGELEV=$08
ARROW_BEATEN=$10
@ -139,6 +139,7 @@ GAME_STATE_2 = $99
KNUCKLES_BLEED=$04
DRESSER_OPEN=$08
TALKED_TO_KNIGHT = $10
COVERED_IN_MUD = $20
NED_STATUS = $9A
BUSH_STATUS = $9B ; status of bush search
@ -167,7 +168,7 @@ INVENTORY_2 = $A1
INV2_RICHES = $01
INV2_ROBE = $02
INV2_SODA = $04
INV2_MEATBALL = $06
INV2_MEATBALL_SUB = $06
INV2_TRINKET = $10
INV2_TROGHELM = $20
INV2_TROGSHIELD = $40