mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-09-27 11:55:20 +00:00
peasant: more hooking up of mountain pass
This commit is contained in:
parent
80cef5d3b7
commit
c122842bf3
@ -70,3 +70,7 @@ Ending:
|
|||||||
- Smoother baby animation? Use page-flipping?
|
- Smoother baby animation? Use page-flipping?
|
||||||
Modify sprite routine to auto-shift colors so we can have more
|
Modify sprite routine to auto-shift colors so we can have more
|
||||||
of an arc on baby trajectory?
|
of an arc on baby trajectory?
|
||||||
|
|
||||||
|
Pass:
|
||||||
|
- hook up/fix dialog when you have various items
|
||||||
|
- be sure to fix the "talk knight" dialog for robe/fire etc
|
||||||
|
@ -109,7 +109,16 @@ start_new_game:
|
|||||||
; lda #$00
|
; lda #$00
|
||||||
sta INVENTORY_3_GONE
|
sta INVENTORY_3_GONE
|
||||||
|
|
||||||
|
; setup game state
|
||||||
|
|
||||||
|
lda #0
|
||||||
|
sta GAME_STATE_0
|
||||||
|
sta GAME_STATE_1
|
||||||
|
sta GAME_STATE_2
|
||||||
|
sta NED_STATUS
|
||||||
|
sta BUSH_STATUS
|
||||||
|
sta KERREK_STATE
|
||||||
|
sta ARROW_SCORE
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
@ -55,6 +55,71 @@ done_upcase_loop:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;================
|
||||||
|
; ask
|
||||||
|
;================
|
||||||
|
parse_ask:
|
||||||
|
lda CURRENT_NOUN
|
||||||
|
|
||||||
|
cmp #NOUN_FIRE
|
||||||
|
beq ask_about_fire
|
||||||
|
cmp #NOUN_JHONKA
|
||||||
|
beq ask_about_jhonka
|
||||||
|
cmp #NOUN_KERREK
|
||||||
|
beq ask_about_kerrek
|
||||||
|
cmp #NOUN_NED
|
||||||
|
beq ask_about_ned
|
||||||
|
cmp #NOUN_ROBE
|
||||||
|
beq ask_about_robe
|
||||||
|
cmp #NOUN_SMELL
|
||||||
|
beq ask_about_smell
|
||||||
|
cmp #NOUN_TROGDOR
|
||||||
|
beq ask_about_trogdor
|
||||||
|
|
||||||
|
; else ask about unknown
|
||||||
|
|
||||||
|
ask_about_unknown:
|
||||||
|
ldx #<knight_ask_unknown_message
|
||||||
|
ldy #>knight_ask_unknown_message
|
||||||
|
jmp finish_parse_message
|
||||||
|
|
||||||
|
ask_about_fire:
|
||||||
|
ldx #<knight_ask_fire_message
|
||||||
|
ldy #>knight_ask_fire_message
|
||||||
|
jmp finish_parse_message
|
||||||
|
|
||||||
|
ask_about_jhonka:
|
||||||
|
ldx #<knight_ask_jhonka_message
|
||||||
|
ldy #>knight_ask_jhonka_message
|
||||||
|
jmp finish_parse_message
|
||||||
|
|
||||||
|
ask_about_kerrek:
|
||||||
|
ldx #<knight_ask_kerrek_message
|
||||||
|
ldy #>knight_ask_kerrek_message
|
||||||
|
jmp finish_parse_message
|
||||||
|
|
||||||
|
ask_about_ned:
|
||||||
|
ldx #<knight_ask_ned_message
|
||||||
|
ldy #>knight_ask_ned_message
|
||||||
|
jmp finish_parse_message
|
||||||
|
|
||||||
|
ask_about_robe:
|
||||||
|
ldx #<knight_ask_robe_message
|
||||||
|
ldy #>knight_ask_robe_message
|
||||||
|
jmp finish_parse_message
|
||||||
|
|
||||||
|
ask_about_smell:
|
||||||
|
ldx #<knight_ask_smell_message
|
||||||
|
ldy #>knight_ask_smell_message
|
||||||
|
jmp finish_parse_message
|
||||||
|
|
||||||
|
ask_about_trogdor:
|
||||||
|
ldx #<knight_ask_trogdor_message
|
||||||
|
ldy #>knight_ask_trogdor_message
|
||||||
|
jmp finish_parse_message
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;================
|
;================
|
||||||
; attack
|
; attack
|
||||||
;================
|
;================
|
||||||
@ -256,14 +321,8 @@ parse_die:
|
|||||||
parse_drink:
|
parse_drink:
|
||||||
|
|
||||||
ldx #<drink_message
|
ldx #<drink_message
|
||||||
stx OUTL
|
|
||||||
ldy #>drink_message
|
ldy #>drink_message
|
||||||
sty OUTH
|
jsr partial_message_step
|
||||||
jsr print_text_message
|
|
||||||
|
|
||||||
jsr wait_until_keypress
|
|
||||||
|
|
||||||
jsr hgr_partial_restore
|
|
||||||
|
|
||||||
ldx #<drink_message2
|
ldx #<drink_message2
|
||||||
ldy #>drink_message2
|
ldy #>drink_message2
|
||||||
@ -358,10 +417,75 @@ irrelevant_look:
|
|||||||
|
|
||||||
parse_talk:
|
parse_talk:
|
||||||
|
|
||||||
|
lda CURRENT_NOUN
|
||||||
|
cmp #NOUN_KNIGHT
|
||||||
|
beq talk_to_knight
|
||||||
|
cmp #NOUN_GUY
|
||||||
|
beq talk_to_knight
|
||||||
|
cmp #NOUN_MAN
|
||||||
|
beq talk_to_knight
|
||||||
|
cmp #NOUN_DUDE
|
||||||
|
beq talk_to_knight
|
||||||
|
|
||||||
|
; else, no one
|
||||||
|
talk_noone:
|
||||||
ldx #<talk_noone_message
|
ldx #<talk_noone_message
|
||||||
ldy #>talk_noone_message
|
ldy #>talk_noone_message
|
||||||
jmp finish_parse_message
|
jmp finish_parse_message
|
||||||
|
|
||||||
|
talk_to_knight:
|
||||||
|
|
||||||
|
lda GAME_STATE_2
|
||||||
|
and #TALKED_TO_KNIGHT
|
||||||
|
bne knight_skip_text
|
||||||
|
|
||||||
|
; first time only
|
||||||
|
ldx #<talk_knight_first_message
|
||||||
|
ldy #>talk_knight_first_message
|
||||||
|
jsr partial_message_step
|
||||||
|
|
||||||
|
; first time only
|
||||||
|
ldx #<talk_knight_second_message
|
||||||
|
ldy #>talk_knight_second_message
|
||||||
|
jsr partial_message_step
|
||||||
|
|
||||||
|
knight_skip_text:
|
||||||
|
ldx #<talk_knight_third_message
|
||||||
|
ldy #>talk_knight_third_message
|
||||||
|
jsr partial_message_step
|
||||||
|
|
||||||
|
ldx #<talk_knight_stink_message
|
||||||
|
ldy #>talk_knight_stink_message
|
||||||
|
jsr partial_message_step
|
||||||
|
|
||||||
|
ldx #<talk_knight_dress_message
|
||||||
|
ldy #>talk_knight_dress_message
|
||||||
|
jsr partial_message_step
|
||||||
|
|
||||||
|
ldx #<talk_knight_fire_message
|
||||||
|
ldy #>talk_knight_fire_message
|
||||||
|
jsr partial_message_step
|
||||||
|
|
||||||
|
ldx #<talk_knight_fourth_message
|
||||||
|
ldy #>talk_knight_fourth_message
|
||||||
|
|
||||||
|
lda GAME_STATE_2
|
||||||
|
and #TALKED_TO_KNIGHT
|
||||||
|
bne knight_skip_text2
|
||||||
|
|
||||||
|
jsr partial_message_step
|
||||||
|
|
||||||
|
; first time only
|
||||||
|
ldx #<talk_knight_fifth_message
|
||||||
|
ldy #>talk_knight_fifth_message
|
||||||
|
|
||||||
|
lda GAME_STATE_2
|
||||||
|
ora #TALKED_TO_KNIGHT
|
||||||
|
sta GAME_STATE_2
|
||||||
|
|
||||||
|
knight_skip_text2:
|
||||||
|
jmp finish_parse_message
|
||||||
|
|
||||||
;===================
|
;===================
|
||||||
; save
|
; save
|
||||||
;===================
|
;===================
|
||||||
@ -430,7 +554,6 @@ where_done:
|
|||||||
;==================
|
;==================
|
||||||
; unknown
|
; unknown
|
||||||
;=================
|
;=================
|
||||||
parse_ask:
|
|
||||||
parse_buy:
|
parse_buy:
|
||||||
parse_close:
|
parse_close:
|
||||||
parse_deploy:
|
parse_deploy:
|
||||||
@ -926,6 +1049,19 @@ last_bg_l: .byte $00
|
|||||||
last_bg_h: .byte $00
|
last_bg_h: .byte $00
|
||||||
|
|
||||||
|
|
||||||
|
;======================
|
||||||
|
;======================
|
||||||
|
; partial message step
|
||||||
|
;======================
|
||||||
|
;======================
|
||||||
|
partial_message_step:
|
||||||
|
stx OUTL
|
||||||
|
sty OUTH
|
||||||
|
jsr print_text_message
|
||||||
|
jsr wait_until_keypress
|
||||||
|
jsr hgr_partial_restore
|
||||||
|
rts
|
||||||
|
|
||||||
|
|
||||||
verb_table:
|
verb_table:
|
||||||
.word parse_unknown-1 ; VERB_UNKNOWN = 0
|
.word parse_unknown-1 ; VERB_UNKNOWN = 0
|
||||||
|
@ -26,6 +26,8 @@ Mini-games?
|
|||||||
Text
|
Text
|
||||||
HGR drawing lib (no built in on 2)
|
HGR drawing lib (no built in on 2)
|
||||||
How to fit? Lookup for common word distribution?
|
How to fit? Lookup for common word distribution?
|
||||||
|
|
||||||
|
Using high-bit terminated strings rather than nul in some cases
|
||||||
|
|
||||||
Ram-map
|
Ram-map
|
||||||
|
|
||||||
|
@ -248,7 +248,8 @@ attack_sign_message:
|
|||||||
.byte "Smarty-short-pants. No",13
|
.byte "Smarty-short-pants. No",13
|
||||||
.byte "sign attacking for you.",0
|
.byte "sign attacking for you.",0
|
||||||
|
|
||||||
; + talk knight (beginning, first try)
|
; + talk knight (beginning, first time only)
|
||||||
|
talk_knight_first_message:
|
||||||
.byte "You explain your situation",13
|
.byte "You explain your situation",13
|
||||||
.byte "to the knight. That Trogdor",13
|
.byte "to the knight. That Trogdor",13
|
||||||
.byte "burninated your cottage",13
|
.byte "burninated your cottage",13
|
||||||
@ -259,6 +260,8 @@ attack_sign_message:
|
|||||||
.byte "(Press RETURN to advance",13
|
.byte "(Press RETURN to advance",13
|
||||||
.byte "through conversations)",0
|
.byte "through conversations)",0
|
||||||
|
|
||||||
|
; (first time only)
|
||||||
|
talk_knight_second_message:
|
||||||
.byte 34,"Hang on there,",13
|
.byte 34,"Hang on there,",13
|
||||||
.byte "Trogdorkilla,",34," says the",13
|
.byte "Trogdorkilla,",34," says the",13
|
||||||
.byte "knight. ",34,"I can only allow",13
|
.byte "knight. ",34,"I can only allow",13
|
||||||
@ -268,22 +271,28 @@ attack_sign_message:
|
|||||||
.byte "are not one.",34,0
|
.byte "are not one.",34,0
|
||||||
|
|
||||||
; + talk (again) picks up here
|
; + talk (again) picks up here
|
||||||
|
talk_knight_third_message:
|
||||||
.byte 34,"Look, Dragonheart...",34,0
|
.byte 34,"Look, Dragonheart...",34,0
|
||||||
|
|
||||||
.byte 34,"You don't STINK like a",0
|
talk_knight_stink_message:
|
||||||
.byte " peasant.",34,0
|
.byte 34,"You don't STINK like a",13
|
||||||
|
.byte "peasant.",34,0
|
||||||
|
|
||||||
|
talk_knight_dress_message:
|
||||||
.byte 34,"You don't DRESS like a",13
|
.byte 34,"You don't DRESS like a",13
|
||||||
.byte "peasant.",34,0
|
.byte "peasant.",34,0
|
||||||
|
|
||||||
|
talk_knight_fire_message:
|
||||||
.byte 34,"And you're definitely not",13
|
.byte 34,"And you're definitely not",13
|
||||||
.byte "ON FIRE like a peasant.",34,0
|
.byte "ON FIRE like a peasant.",34,0
|
||||||
|
|
||||||
|
talk_knight_fourth_message:
|
||||||
.byte "Once you're those 3",13
|
.byte "Once you're those 3",13
|
||||||
.byte "things, come back and maybe",13
|
.byte "things, come back and maybe",13
|
||||||
.byte "we can talk.",34,0
|
.byte "we can talk.",34,0
|
||||||
|
|
||||||
; only first time through
|
; first time only
|
||||||
|
talk_knight_fifth_message:
|
||||||
.byte "Be sure to LOOK around",13
|
.byte "Be sure to LOOK around",13
|
||||||
.byte "lots. TALK to everyone you",13
|
.byte "lots. TALK to everyone you",13
|
||||||
.byte "see and ASK ABOUT stuff.",13
|
.byte "see and ASK ABOUT stuff.",13
|
||||||
@ -309,6 +318,7 @@ attack_sign_message:
|
|||||||
.byte "Disk read error. Please insert floppy disk 2 into Drive B and press enter.",0
|
.byte "Disk read error. Please insert floppy disk 2 into Drive B and press enter.",0
|
||||||
|
|
||||||
; + ask about fire
|
; + ask about fire
|
||||||
|
knight_ask_fire_message:
|
||||||
.byte 34,"Well, whenever I see",13
|
.byte 34,"Well, whenever I see",13
|
||||||
.byte "peasants, they tend to be",13
|
.byte "peasants, they tend to be",13
|
||||||
.byte "on fire. So get yourself on",13
|
.byte "on fire. So get yourself on",13
|
||||||
@ -317,6 +327,7 @@ attack_sign_message:
|
|||||||
.byte "burn.",34,0
|
.byte "burn.",34,0
|
||||||
|
|
||||||
; + ask about Jhonka
|
; + ask about Jhonka
|
||||||
|
knight_ask_jhonka_message:
|
||||||
.byte 34,"Since the Kerrek showed",13
|
.byte 34,"Since the Kerrek showed",13
|
||||||
.byte "up, we don't see the Jhonka",13
|
.byte "up, we don't see the Jhonka",13
|
||||||
.byte "so much anymore. He lives",13
|
.byte "so much anymore. He lives",13
|
||||||
@ -324,6 +335,7 @@ attack_sign_message:
|
|||||||
.byte "west Peasantry.",34,0
|
.byte "west Peasantry.",34,0
|
||||||
|
|
||||||
; + ask about Kerrek
|
; + ask about Kerrek
|
||||||
|
knight_ask_kerrek_message:
|
||||||
.byte 34,"I call him Big Stinky.",13
|
.byte 34,"I call him Big Stinky.",13
|
||||||
.byte "He's slow and stupid, but",13
|
.byte "He's slow and stupid, but",13
|
||||||
.byte "he'll pound you into milks",13
|
.byte "he'll pound you into milks",13
|
||||||
@ -331,6 +343,7 @@ attack_sign_message:
|
|||||||
.byte "thought.",34,0
|
.byte "thought.",34,0
|
||||||
|
|
||||||
; + ask about naked ned
|
; + ask about naked ned
|
||||||
|
knight_ask_ned_message:
|
||||||
.byte 34,"That weirdo used to live",13
|
.byte 34,"That weirdo used to live",13
|
||||||
.byte "over in west Peasantry but",13
|
.byte "over in west Peasantry but",13
|
||||||
.byte "now I guess he just prances",13
|
.byte "now I guess he just prances",13
|
||||||
@ -338,12 +351,14 @@ attack_sign_message:
|
|||||||
.byte "birthday suit.",34,0
|
.byte "birthday suit.",34,0
|
||||||
|
|
||||||
; + ask about robe
|
; + ask about robe
|
||||||
|
knight_ask_robe_message:
|
||||||
.byte 34,"Peasants wear those brown",13
|
.byte 34,"Peasants wear those brown",13
|
||||||
.byte "robes. You know, with the",13
|
.byte "robes. You know, with the",13
|
||||||
.byte "rope around the waist. Get",13
|
.byte "rope around the waist. Get",13
|
||||||
.byte "yourself one of those.",34,0
|
.byte "yourself one of those.",34,0
|
||||||
|
|
||||||
; + ask about smell
|
; + ask about smell
|
||||||
|
knight_ask_smell_message:
|
||||||
.byte 34,"I never met a peasant that",13
|
.byte 34,"I never met a peasant that",13
|
||||||
.byte "didn't stink. If you wanna",13
|
.byte "didn't stink. If you wanna",13
|
||||||
.byte "smell bad, get the Kerrek",13
|
.byte "smell bad, get the Kerrek",13
|
||||||
@ -351,6 +366,7 @@ attack_sign_message:
|
|||||||
.byte "reeks!",34,0
|
.byte "reeks!",34,0
|
||||||
|
|
||||||
; + ask about trogdor
|
; + ask about trogdor
|
||||||
|
knight_ask_trogdor_message:
|
||||||
.byte 34,"If I had a gold coin for",13
|
.byte 34,"If I had a gold coin for",13
|
||||||
.byte "every whining peasant's",13
|
.byte "every whining peasant's",13
|
||||||
.byte "cottage that freaking",13
|
.byte "cottage that freaking",13
|
||||||
@ -358,7 +374,6 @@ attack_sign_message:
|
|||||||
.byte "rich as a jhonka.",0
|
.byte "rich as a jhonka.",0
|
||||||
|
|
||||||
; + ask about (unknown)
|
; + ask about (unknown)
|
||||||
|
knight_ask_unknown_message:
|
||||||
.byte 34,"I don't know anything",13
|
.byte 34,"I don't know anything",13
|
||||||
.byte "about that, short pants.",34,0
|
.byte "about that, short pants.",34,0
|
||||||
|
|
||||||
|
|
||||||
|
@ -116,28 +116,29 @@ MAP_Y = $95
|
|||||||
MAP_LOCATION = $96
|
MAP_LOCATION = $96
|
||||||
|
|
||||||
GAME_STATE_0 = $97
|
GAME_STATE_0 = $97
|
||||||
BABY_IN_WELL=$00
|
BABY_IN_WELL=$01
|
||||||
TURN_WELL_CRANK=$00
|
TURN_WELL_CRANK=$02
|
||||||
TALK_TO_MENDELEV=$00
|
TALK_TO_MENDELEV=$04
|
||||||
HALDO_TO_DONGELEV=$00
|
HALDO_TO_DONGELEV=$08
|
||||||
ARROW_BEATEN=$00
|
ARROW_BEATEN=$10
|
||||||
GARY_SCARED=$00
|
GARY_SCARED=$20
|
||||||
LADY_GONE=$00
|
LADY_GONE=$40
|
||||||
TRINKET_GIVEN=$00
|
TRINKET_GIVEN=$80
|
||||||
GAME_STATE_1 = $98
|
GAME_STATE_1 = $98
|
||||||
FISH_FED=$00 ; also implies man gone and inn open
|
FISH_FED=$01 ; also implies man gone and inn open
|
||||||
PUDDLE_WET=$00
|
PUDDLE_WET=$02
|
||||||
HAY_BALE=$00
|
HAY_BALE=$04
|
||||||
JHONKA_OUT=$00
|
JHONKA_OUT=$08
|
||||||
RAINING=$00
|
RAINING=$10
|
||||||
NIGHT=$00
|
NIGHT=$20
|
||||||
POT_ON_HEAD=$00
|
POT_ON_HEAD=$40
|
||||||
WEARING_ROBE=$00
|
WEARING_ROBE=$80
|
||||||
GAME_STATE_2 = $99
|
GAME_STATE_2 = $99
|
||||||
ON_FIRE = $00
|
ON_FIRE = $01
|
||||||
COTTAGE_ROCK_MOVED=$00
|
COTTAGE_ROCK_MOVED=$02
|
||||||
KNUCKLES_BLEED=$00
|
KNUCKLES_BLEED=$04
|
||||||
DRESSER_OPEN=$00
|
DRESSER_OPEN=$08
|
||||||
|
TALKED_TO_KNIGHT = $10
|
||||||
|
|
||||||
NED_STATUS = $9A
|
NED_STATUS = $9A
|
||||||
BUSH_STATUS = $9B ; status of bush search
|
BUSH_STATUS = $9B ; status of bush search
|
||||||
|
Loading…
Reference in New Issue
Block a user