mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-01-01 05:31:52 +00:00
peasant: hook up well level
this involves parsing the nouns twice to handle things like put pebbles in well
This commit is contained in:
parent
a8812100ba
commit
b49e5f00e8
@ -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
|
||||
|
||||
|
||||
###
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
||||
;=======================
|
||||
;=======================
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user