mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-02-07 21:30:39 +00:00
peasant: hook up poor gary area
This commit is contained in:
parent
c59fa6c0e4
commit
d8b9ceff9d
@ -262,8 +262,10 @@ game_over.o: game_over.s zp.inc \
|
||||
PEASANT1: peasant1.o
|
||||
ld65 -o PEASANT1 peasant1.o -C $(LINKER_SCRIPTS)/apple2_6000.inc
|
||||
|
||||
peasant1.o: peasant1.s zp.inc inventory.inc parse_input.inc \
|
||||
dialog_peasant2.inc \
|
||||
peasant1.o: peasant1.s zp.inc inventory.inc \
|
||||
parse_input.inc \
|
||||
peasant1_actions.s \
|
||||
DIALOG_PEASANT1.LZSA dialog_peasant1.inc \
|
||||
sprites/peasant_sprites.inc sprites/inventory_sprites.inc \
|
||||
graphics_peasantry/graphics_peasant1.inc \
|
||||
graphics_peasantry/priority_peasant1.inc \
|
||||
@ -279,9 +281,10 @@ peasant1.o: peasant1.s zp.inc inventory.inc parse_input.inc \
|
||||
PEASANT2: peasant2.o
|
||||
ld65 -o PEASANT2 peasant2.o -C $(LINKER_SCRIPTS)/apple2_6000.inc
|
||||
|
||||
peasant2.o: peasant2.s zp.inc inventory.inc dialog_peasant2.inc \
|
||||
peasant2.o: peasant2.s zp.inc inventory.inc \
|
||||
parse_input.inc \
|
||||
peasant2_actions.s \
|
||||
dialog_peasant2.inc DIALOG_PEASANT2.LZSA \
|
||||
graphics_peasantry/graphics_peasant2.inc sprites/peasant_sprites.inc \
|
||||
graphics_peasantry/priority_peasant2.inc \
|
||||
sprites/inventory_sprites.inc \
|
||||
@ -430,11 +433,16 @@ DIALOG_PEASANT1.LZSA: dialog_peasant1
|
||||
dialog_peasant1: dialog_peasant1.o
|
||||
ld65 -o dialog_peasant1 dialog_peasant1.o -C ../../linker_scripts/apple2_d000.inc
|
||||
|
||||
dialog_peasant1.o: dialog_peasant1.s
|
||||
dialog_peasant1.o: dialog_peasant1.s text/peasant1.inc
|
||||
ca65 -o dialog_peasant1.o dialog_peasant1.s -l dialog_peasant1.lst
|
||||
|
||||
###
|
||||
|
||||
dialog_peasant1.inc: generate_all_symbols dialog_peasant1
|
||||
./generate_all_symbols -a 0xd000 dialog_peasant1.lst > dialog_peasant1.inc
|
||||
|
||||
###
|
||||
|
||||
DIALOG_PEASANT2.LZSA: dialog_peasant2
|
||||
$(LZSA) -r -f2 dialog_peasant2 DIALOG_PEASANT2.LZSA
|
||||
|
||||
@ -457,7 +465,7 @@ DIALOG_PEASANT3.LZSA: dialog_peasant3
|
||||
dialog_peasant3: dialog_peasant3.o
|
||||
ld65 -o dialog_peasant3 dialog_peasant3.o -C ../../linker_scripts/apple2_d000.inc
|
||||
|
||||
dialog_peasant3.o: dialog_peasant3.s
|
||||
dialog_peasant3.o: dialog_peasant3.s text/peasant3.inc
|
||||
ca65 -o dialog_peasant3.o dialog_peasant3.s -l dialog_peasant3.lst
|
||||
|
||||
###
|
||||
@ -468,7 +476,7 @@ DIALOG_PEASANT4.LZSA: dialog_peasant4
|
||||
dialog_peasant4: dialog_peasant4.o
|
||||
ld65 -o dialog_peasant4 dialog_peasant4.o -C ../../linker_scripts/apple2_d000.inc
|
||||
|
||||
dialog_peasant4.o: dialog_peasant4.s
|
||||
dialog_peasant4.o: dialog_peasant4.s text/peasant4.inc
|
||||
ca65 -o dialog_peasant4.o dialog_peasant4.s -l dialog_peasant4.lst
|
||||
|
||||
###
|
||||
@ -479,7 +487,7 @@ DIALOG_INSIDE.LZSA: dialog_inside
|
||||
dialog_inside: dialog_inside.o
|
||||
ld65 -o dialog_inside dialog_inside.o -C ../../linker_scripts/apple2_d000.inc
|
||||
|
||||
dialog_inside.o: dialog_inside.s
|
||||
dialog_inside.o: dialog_inside.s text/inside.inc
|
||||
ca65 -o dialog_inside.o dialog_inside.s -l dialog_inside.lst
|
||||
|
||||
###
|
||||
@ -490,7 +498,7 @@ DIALOG_CLIFF.LZSA: dialog_cliff
|
||||
dialog_cliff: dialog_cliff.o
|
||||
ld65 -o dialog_cliff dialog_cliff.o -C ../../linker_scripts/apple2_d000.inc
|
||||
|
||||
dialog_cliff.o: dialog_cliff.s
|
||||
dialog_cliff.o: dialog_cliff.s text/cliff.inc
|
||||
ca65 -o dialog_cliff.o dialog_cliff.s -l dialog_cliff.lst
|
||||
|
||||
####
|
||||
|
@ -53,6 +53,12 @@ Map:
|
||||
|
||||
Peasantry:
|
||||
- Gary
|
||||
+ hook up death
|
||||
+ hook up mask stuff
|
||||
+ hook up animation when you get kicked
|
||||
+ hook up scare animation
|
||||
+ hook up random number picks scare message
|
||||
+ hook up after-gary, fence hole and no horse
|
||||
- Kerrek 1
|
||||
- Well
|
||||
- Yellow Tree
|
||||
|
@ -1,6 +1,7 @@
|
||||
; Peasant's Quest
|
||||
|
||||
; Peasantry Part 1 (top line of map)
|
||||
|
||||
; Gary, Kerrek 1, Well, Yellow Tree, Waterfall
|
||||
|
||||
WHICH_PEASANTRY = 0
|
||||
@ -14,17 +15,27 @@ WHICH_PEASANTRY = 0
|
||||
|
||||
.include "qload.inc"
|
||||
.include "inventory.inc"
|
||||
.include "parse_input.inc"
|
||||
|
||||
peasantry1:
|
||||
|
||||
peasant_quest:
|
||||
lda #0
|
||||
sta GAME_OVER
|
||||
sta FRAME
|
||||
|
||||
jsr hgr_make_tables
|
||||
jsr hgr_make_tables ; necessary?
|
||||
jsr hgr2 ; necessary?
|
||||
|
||||
jsr hgr2 ; Hi-res graphics, no text at bottom
|
||||
; Y=0, A=0 after this called
|
||||
; decompress dialog to $d000
|
||||
|
||||
lda #<peasant1_text_lzsa
|
||||
sta getsrc_smc+1
|
||||
lda #>peasant1_text_lzsa
|
||||
sta getsrc_smc+2
|
||||
|
||||
lda #$D0
|
||||
|
||||
jsr decompress_lzsa2_fast
|
||||
|
||||
; update map location
|
||||
|
||||
@ -44,6 +55,20 @@ new_location:
|
||||
lda #0
|
||||
sta GAME_OVER
|
||||
|
||||
;==========================
|
||||
; load updated verb table
|
||||
|
||||
; we are PEASANT1 so locations 0...4 map to 0...4
|
||||
|
||||
ldx MAP_LOCATION
|
||||
|
||||
lda verb_tables_low,X
|
||||
sta INL
|
||||
lda verb_tables_hi,X
|
||||
sta INH
|
||||
jsr load_custom_verb_table
|
||||
|
||||
|
||||
;=====================
|
||||
; load bg
|
||||
|
||||
@ -154,8 +179,6 @@ game_over:
|
||||
.include "peasant_move.s"
|
||||
|
||||
;.include "parse_input.s"
|
||||
.include "parse_input.inc"
|
||||
|
||||
|
||||
.include "score.s"
|
||||
|
||||
@ -219,3 +242,23 @@ map_priority_hi:
|
||||
.byte >leaning_tree_priority_lzsa ; 3 -- leaning tree
|
||||
.byte >waterfall_priority_lzsa ; 4 -- waterfall
|
||||
|
||||
|
||||
verb_tables_low:
|
||||
.byte <gary_verb_table ; 0 -- gary the horse
|
||||
.byte <gary_verb_table ; 1 -- top footprints
|
||||
.byte <gary_verb_table ; 2 -- wishing well
|
||||
.byte <gary_verb_table ; 3 -- leaning tree
|
||||
.byte <gary_verb_table ; 4 -- waterfall
|
||||
|
||||
verb_tables_hi:
|
||||
.byte >gary_verb_table ; 0 -- gary the horse
|
||||
.byte >gary_verb_table ; 1 -- top footprints
|
||||
.byte >gary_verb_table ; 2 -- wishing well
|
||||
.byte >gary_verb_table ; 3 -- leaning tree
|
||||
.byte >gary_verb_table ; 4 -- waterfall
|
||||
|
||||
|
||||
peasant1_text_lzsa:
|
||||
.incbin "DIALOG_PEASANT1.LZSA"
|
||||
|
||||
.include "peasant1_actions.s"
|
||||
|
916
games/peasant/peasant1_actions.s
Normal file
916
games/peasant/peasant1_actions.s
Normal file
@ -0,0 +1,916 @@
|
||||
.include "tokens.inc"
|
||||
|
||||
;=======================
|
||||
;=======================
|
||||
;=======================
|
||||
; Gary the Horse
|
||||
;=======================
|
||||
;=======================
|
||||
;=======================
|
||||
|
||||
gary_verb_table:
|
||||
.byte VERB_BREAK
|
||||
.word gary_break-1
|
||||
.byte VERB_CLIMB
|
||||
.word gary_climb-1
|
||||
.byte VERB_FEED
|
||||
.word gary_feed-1
|
||||
.byte VERB_GET
|
||||
.word gary_get-1
|
||||
.byte VERB_JUMP
|
||||
.word gary_jump-1
|
||||
.byte VERB_KICK
|
||||
.word gary_kick-1
|
||||
.byte VERB_KILL
|
||||
.word gary_kill-1
|
||||
.byte VERB_LOOK
|
||||
.word gary_look-1
|
||||
.byte VERB_PET
|
||||
.word gary_pet-1
|
||||
.byte VERB_PUNCH
|
||||
.word gary_punch-1
|
||||
.byte VERB_SIT
|
||||
.word gary_sit-1
|
||||
.byte VERB_RIDE
|
||||
.word gary_ride-1
|
||||
.byte VERB_SCARE
|
||||
.word gary_scare-1
|
||||
.byte VERB_TALK
|
||||
.word gary_talk-1
|
||||
.byte VERB_WEAR
|
||||
.word gary_wear-1
|
||||
.byte 0
|
||||
|
||||
;================
|
||||
; break
|
||||
;================
|
||||
gary_sit:
|
||||
gary_break:
|
||||
lda CURRENT_NOUN
|
||||
|
||||
cmp #NOUN_STUMP
|
||||
beq gary_sit_stump
|
||||
|
||||
jmp parse_common_unknown
|
||||
|
||||
gary_sit_stump:
|
||||
jmp gary_look_at_stump
|
||||
|
||||
;================
|
||||
; climb
|
||||
;================
|
||||
gary_jump:
|
||||
gary_climb:
|
||||
lda CURRENT_NOUN
|
||||
|
||||
cmp #NOUN_FENCE
|
||||
beq gary_climb_fence
|
||||
|
||||
jmp parse_common_unknown
|
||||
|
||||
gary_climb_fence:
|
||||
ldx #<gary_climb_fence_message
|
||||
ldy #>gary_climb_fence_message
|
||||
jmp finish_parse_message
|
||||
|
||||
|
||||
;================
|
||||
; feed
|
||||
;================
|
||||
gary_feed:
|
||||
lda CURRENT_NOUN
|
||||
|
||||
cmp #NOUN_GARY
|
||||
beq gary_feed_horse
|
||||
cmp #NOUN_HORSE
|
||||
beq gary_feed_horse
|
||||
|
||||
jmp parse_common_unknown
|
||||
|
||||
gary_feed_horse:
|
||||
ldx #<gary_feed_horse_message
|
||||
ldy #>gary_feed_horse_message
|
||||
jmp finish_parse_message
|
||||
|
||||
|
||||
;================
|
||||
; get
|
||||
;================
|
||||
gary_get:
|
||||
lda CURRENT_NOUN
|
||||
|
||||
cmp #NOUN_FLIES
|
||||
beq gary_get_flies
|
||||
|
||||
; else "probably wish" message
|
||||
|
||||
jmp parse_common_get
|
||||
|
||||
gary_get_flies:
|
||||
ldx #<gary_get_flies_message
|
||||
ldy #>gary_get_flies_message
|
||||
jmp finish_parse_message
|
||||
|
||||
;===================
|
||||
; kick/kill/punch
|
||||
;===================
|
||||
|
||||
gary_kick:
|
||||
gary_kill:
|
||||
gary_punch:
|
||||
|
||||
lda CURRENT_NOUN
|
||||
|
||||
cmp #NOUN_GARY
|
||||
beq kick_gary
|
||||
cmp #NOUN_HORSE
|
||||
beq kick_gary
|
||||
|
||||
cmp #NOUN_FLIES
|
||||
beq kick_flies
|
||||
|
||||
cmp #NOUN_STUMP
|
||||
beq kick_stump
|
||||
|
||||
jmp parse_common_unknown
|
||||
|
||||
kick_gary:
|
||||
; TODO: this kills you
|
||||
ldx #<gary_kick_horse_message
|
||||
ldy #>gary_kick_horse_message
|
||||
jsr partial_message_step
|
||||
|
||||
ldx #<gary_kick_horse_message2
|
||||
ldy #>gary_kick_horse_message2
|
||||
jmp finish_parse_message
|
||||
|
||||
kick_flies:
|
||||
ldx #<gary_kick_flies_message
|
||||
ldy #>gary_kick_flies_message
|
||||
jmp finish_parse_message
|
||||
|
||||
kick_stump:
|
||||
ldx #<gary_kick_stump_message
|
||||
ldy #>gary_kick_stump_message
|
||||
jmp finish_parse_message
|
||||
|
||||
;=================
|
||||
; look
|
||||
;=================
|
||||
|
||||
gary_look:
|
||||
|
||||
lda CURRENT_NOUN
|
||||
|
||||
cmp #NOUN_FENCE
|
||||
beq gary_look_at_fence
|
||||
cmp #NOUN_FLIES
|
||||
beq gary_look_at_flies
|
||||
cmp #NOUN_GARY
|
||||
beq gary_look_at_horse
|
||||
cmp #NOUN_HORSE
|
||||
beq gary_look_at_horse
|
||||
cmp #NOUN_STUMP
|
||||
beq gary_look_at_stump
|
||||
|
||||
cmp #NOUN_NONE
|
||||
beq gary_look_at
|
||||
|
||||
jmp parse_common_look
|
||||
|
||||
gary_look_at:
|
||||
ldx #<gary_look_message
|
||||
ldy #>gary_look_message
|
||||
jmp finish_parse_message
|
||||
|
||||
gary_look_at_fence:
|
||||
ldx #<gary_look_fence_message
|
||||
ldy #>gary_look_fence_message
|
||||
jmp finish_parse_message
|
||||
|
||||
gary_look_at_flies:
|
||||
ldx #<gary_look_flies_message
|
||||
ldy #>gary_look_flies_message
|
||||
jmp finish_parse_message
|
||||
|
||||
gary_look_at_gary:
|
||||
gary_look_at_horse:
|
||||
ldx #<gary_look_horse_message
|
||||
ldy #>gary_look_horse_message
|
||||
jmp finish_parse_message
|
||||
|
||||
gary_look_at_stump:
|
||||
ldx #<gary_look_stump_message
|
||||
ldy #>gary_look_stump_message
|
||||
jmp finish_parse_message
|
||||
|
||||
;================
|
||||
; pet
|
||||
;================
|
||||
gary_pet:
|
||||
lda CURRENT_NOUN
|
||||
|
||||
cmp #NOUN_GARY
|
||||
beq gary_pet_horse
|
||||
cmp #NOUN_HORSE
|
||||
beq gary_pet_horse
|
||||
|
||||
jmp parse_common_unknown
|
||||
|
||||
gary_pet_horse:
|
||||
ldx #<gary_pet_horse_message
|
||||
ldy #>gary_pet_horse_message
|
||||
jmp finish_parse_message
|
||||
|
||||
|
||||
;================
|
||||
; ride
|
||||
;================
|
||||
gary_ride:
|
||||
lda CURRENT_NOUN
|
||||
|
||||
cmp #NOUN_GARY
|
||||
beq gary_ride_horse
|
||||
cmp #NOUN_HORSE
|
||||
beq gary_ride_horse
|
||||
|
||||
jmp parse_common_unknown
|
||||
|
||||
gary_ride_horse:
|
||||
ldx #<gary_ride_horse_message
|
||||
ldy #>gary_ride_horse_message
|
||||
jmp finish_parse_message
|
||||
|
||||
;================
|
||||
; scare
|
||||
;================
|
||||
gary_scare:
|
||||
lda CURRENT_NOUN
|
||||
|
||||
cmp #NOUN_GARY
|
||||
beq gary_scare_horse
|
||||
cmp #NOUN_HORSE
|
||||
beq gary_scare_horse
|
||||
|
||||
jmp parse_common_unknown
|
||||
|
||||
; FIXME: randomly pick from 3 choices
|
||||
gary_scare_horse:
|
||||
ldx #<gary_scare_horse_message1
|
||||
ldy #>gary_scare_horse_message1
|
||||
jmp finish_parse_message
|
||||
|
||||
|
||||
|
||||
;================
|
||||
; talk
|
||||
;================
|
||||
gary_talk:
|
||||
lda CURRENT_NOUN
|
||||
|
||||
cmp #NOUN_GARY
|
||||
beq gary_talk_horse
|
||||
cmp #NOUN_HORSE
|
||||
beq gary_talk_horse
|
||||
cmp #NOUN_STUMP
|
||||
beq gary_look_at_stump
|
||||
cmp #NOUN_NONE
|
||||
beq gary_talk_horse
|
||||
|
||||
jmp parse_common_talk
|
||||
|
||||
gary_talk_horse:
|
||||
ldx #<gary_talk_message
|
||||
ldy #>gary_talk_message
|
||||
jmp finish_parse_message
|
||||
|
||||
|
||||
;===================
|
||||
; wear mask
|
||||
;===================
|
||||
|
||||
gary_wear:
|
||||
|
||||
lda CURRENT_NOUN
|
||||
|
||||
cmp #NOUN_MASK
|
||||
beq wear_mask
|
||||
|
||||
jmp parse_common_unknown
|
||||
|
||||
wear_mask:
|
||||
jmp parse_common_unknown
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.if 0
|
||||
;=======================
|
||||
;=======================
|
||||
;=======================
|
||||
; Puddle
|
||||
;=======================
|
||||
;=======================
|
||||
;=======================
|
||||
|
||||
puddle_verb_table:
|
||||
.byte VERB_GET
|
||||
.word puddle_get-1
|
||||
.byte VERB_TAKE
|
||||
.word puddle_take-1
|
||||
.byte VERB_STEAL
|
||||
.word puddle_steal-1
|
||||
.byte VERB_LOOK
|
||||
.word puddle_look-1
|
||||
.byte 0
|
||||
|
||||
|
||||
;================
|
||||
; get
|
||||
;================
|
||||
puddle_get:
|
||||
puddle_steal:
|
||||
puddle_take:
|
||||
lda CURRENT_NOUN
|
||||
|
||||
cmp #NOUN_ROCK
|
||||
beq puddle_get_rock
|
||||
cmp #NOUN_STONE
|
||||
beq puddle_get_rock
|
||||
|
||||
|
||||
; else "probably wish" message
|
||||
|
||||
jmp parse_common_get
|
||||
|
||||
puddle_get_rock:
|
||||
ldx #<puddle_get_rock_message
|
||||
ldy #>puddle_get_rock_message
|
||||
jmp finish_parse_message
|
||||
|
||||
;=================
|
||||
; look
|
||||
;=================
|
||||
|
||||
puddle_look:
|
||||
|
||||
lda CURRENT_NOUN
|
||||
|
||||
cmp #NOUN_ROCK
|
||||
beq puddle_look_at_rock
|
||||
cmp #NOUN_STONE
|
||||
beq puddle_look_at_rock
|
||||
cmp #NOUN_MUD
|
||||
beq puddle_look_at_mud
|
||||
cmp #NOUN_PUDDLE
|
||||
beq puddle_look_at_mud
|
||||
cmp #NOUN_NONE
|
||||
beq puddle_look_at
|
||||
|
||||
jmp parse_common_look
|
||||
|
||||
puddle_look_at:
|
||||
ldx #<puddle_look_at_message
|
||||
ldy #>puddle_look_at_message
|
||||
jmp finish_parse_message
|
||||
|
||||
puddle_look_at_mud:
|
||||
ldx #<puddle_look_mud_message
|
||||
ldy #>puddle_look_mud_message
|
||||
jmp finish_parse_message
|
||||
|
||||
puddle_look_at_rock:
|
||||
ldx #<puddle_get_rock_message
|
||||
ldy #>puddle_get_rock_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
|
||||
|
||||
|
||||
|
||||
;=======================
|
||||
;=======================
|
||||
;=======================
|
||||
; River and Stone
|
||||
;=======================
|
||||
;=======================
|
||||
;=======================
|
||||
|
||||
river_stone_verb_table:
|
||||
.byte VERB_GET
|
||||
.word river_stone_get-1
|
||||
.byte VERB_LOOK
|
||||
.word river_stone_look-1
|
||||
.byte VERB_STEAL
|
||||
.word river_stone_steal-1
|
||||
.byte VERB_SWIM
|
||||
.word river_stone_swim-1
|
||||
.byte VERB_TAKE
|
||||
.word river_stone_take-1
|
||||
.byte 0
|
||||
|
||||
|
||||
;================
|
||||
; get
|
||||
;================
|
||||
river_stone_steal:
|
||||
river_stone_take:
|
||||
river_stone_get:
|
||||
lda CURRENT_NOUN
|
||||
|
||||
cmp #NOUN_ROCK
|
||||
beq river_get_rock
|
||||
cmp #NOUN_STONE
|
||||
beq river_get_rock
|
||||
|
||||
; else "probably wish" message
|
||||
|
||||
jmp parse_common_get
|
||||
|
||||
river_get_rock:
|
||||
ldx #<river_get_rock_message
|
||||
ldy #>river_get_rock_message
|
||||
jmp finish_parse_message
|
||||
|
||||
;=================
|
||||
; look
|
||||
;=================
|
||||
|
||||
river_stone_look:
|
||||
|
||||
lda CURRENT_NOUN
|
||||
|
||||
cmp #NOUN_ROCK
|
||||
beq river_look_at_rock
|
||||
cmp #NOUN_STONE
|
||||
beq river_look_at_rock
|
||||
cmp #NOUN_WATER
|
||||
beq river_look_at_water
|
||||
cmp #NOUN_RIVER
|
||||
beq river_look_at_water
|
||||
cmp #NOUN_NONE
|
||||
beq river_look_at
|
||||
|
||||
jmp parse_common_look
|
||||
|
||||
river_look_at:
|
||||
ldx #<river_look_message
|
||||
ldy #>river_look_message
|
||||
jmp finish_parse_message
|
||||
|
||||
river_look_at_rock:
|
||||
ldx #<river_look_at_rock_message
|
||||
ldy #>river_look_at_rock_message
|
||||
jmp finish_parse_message
|
||||
|
||||
river_look_at_water:
|
||||
ldx #<river_look_at_water_message
|
||||
ldy #>river_look_at_water_message
|
||||
jmp finish_parse_message
|
||||
|
||||
|
||||
|
||||
;===================
|
||||
; swim
|
||||
;===================
|
||||
|
||||
river_stone_swim:
|
||||
|
||||
lda CURRENT_NOUN
|
||||
|
||||
cmp #NOUN_WATER
|
||||
beq river_swim
|
||||
cmp #NOUN_RIVER
|
||||
beq river_swim
|
||||
cmp #NOUN_ROCK
|
||||
beq river_swim
|
||||
cmp #NOUN_STONE
|
||||
beq river_swim
|
||||
|
||||
jmp parse_common_unknown
|
||||
|
||||
river_swim:
|
||||
ldx #<river_swim_message
|
||||
ldy #>river_swim_message
|
||||
jmp finish_parse_message
|
||||
|
||||
;=======================
|
||||
;=======================
|
||||
;=======================
|
||||
; mountain pass
|
||||
;=======================
|
||||
;=======================
|
||||
;=======================
|
||||
|
||||
mountain_pass_verb_table:
|
||||
.byte VERB_ASK
|
||||
.word mountain_pass_ask-1
|
||||
.byte VERB_ATTACK
|
||||
.word mountain_pass_attack-1
|
||||
.byte VERB_BREAK
|
||||
.word mountain_pass_break-1
|
||||
.byte VERB_LOOK
|
||||
.word mountain_pass_look-1
|
||||
.byte VERB_TALK
|
||||
.word mountain_pass_talk-1
|
||||
.byte 0
|
||||
|
||||
|
||||
;================
|
||||
; ask
|
||||
;================
|
||||
mountain_pass_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
|
||||
;================
|
||||
mountain_pass_break:
|
||||
mountain_pass_attack:
|
||||
lda CURRENT_NOUN
|
||||
cmp #NOUN_SIGN
|
||||
beq attack_sign
|
||||
|
||||
jmp parse_common_unknown
|
||||
|
||||
attack_sign:
|
||||
ldx #<attack_sign_message
|
||||
ldy #>attack_sign_message
|
||||
jmp finish_parse_message
|
||||
|
||||
|
||||
;=================
|
||||
; look
|
||||
;=================
|
||||
|
||||
mountain_pass_look:
|
||||
|
||||
lda CURRENT_NOUN
|
||||
|
||||
cmp #NOUN_KNIGHT
|
||||
beq knight_look
|
||||
cmp #NOUN_MAN
|
||||
beq knight_look
|
||||
cmp #NOUN_DUDE
|
||||
beq knight_look
|
||||
cmp #NOUN_GUY
|
||||
beq knight_look
|
||||
|
||||
cmp #NOUN_SIGN
|
||||
beq sign_look
|
||||
cmp #NOUN_TROGDOR
|
||||
beq trogdor_look
|
||||
cmp #NOUN_NONE
|
||||
beq pass_look
|
||||
|
||||
jmp parse_common_look
|
||||
|
||||
knight_look:
|
||||
ldx #<knight_look_message
|
||||
ldy #>knight_look_message
|
||||
jmp finish_parse_message
|
||||
|
||||
pass_look:
|
||||
ldx #<pass_look_message
|
||||
ldy #>pass_look_message
|
||||
jmp finish_parse_message
|
||||
|
||||
sign_look:
|
||||
ldx #<sign_look_message
|
||||
ldy #>sign_look_message
|
||||
jmp finish_parse_message
|
||||
|
||||
trogdor_look:
|
||||
ldx #<trogdor_look_message
|
||||
ldy #>trogdor_look_message
|
||||
jmp finish_parse_message
|
||||
|
||||
|
||||
;===================
|
||||
; talk
|
||||
;===================
|
||||
|
||||
mountain_pass_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
|
||||
jmp parse_common_talk
|
||||
|
||||
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
|
||||
.endif
|
||||
|
||||
.include "dialog_peasant1.inc"
|
@ -4,8 +4,7 @@
|
||||
|
||||
; haystack, puddle, archery, river, knight (pass)
|
||||
|
||||
|
||||
WHICH_PEASANTRY=1
|
||||
WHICH_PEASANTRY = 1
|
||||
|
||||
; by Vince `deater` Weaver vince@deater.net
|
||||
|
||||
@ -18,8 +17,8 @@ WHICH_PEASANTRY=1
|
||||
.include "inventory.inc"
|
||||
.include "parse_input.inc"
|
||||
|
||||
peasantry2:
|
||||
|
||||
peasant_quest:
|
||||
lda #0
|
||||
sta GAME_OVER
|
||||
sta FRAME
|
||||
@ -295,6 +294,4 @@ verb_tables_hi:
|
||||
peasant2_text_lzsa:
|
||||
.incbin "DIALOG_PEASANT2.LZSA"
|
||||
|
||||
;.include "dialog_peasant2.inc"
|
||||
|
||||
.include "peasant2_actions.s"
|
||||
|
@ -3,22 +3,38 @@
|
||||
;===================
|
||||
|
||||
; + look
|
||||
.byte "Hey! There's a rotten ol' horse over there!",0
|
||||
gary_look_message:
|
||||
.byte "Hey! There's a rotten ol'",13
|
||||
.byte "horse over there!",0
|
||||
|
||||
; + look fence (before scaring him)
|
||||
.byte "A particularly rickety peasant-issue fence. Trogdor uses bits of these as toothpicks.",0
|
||||
gary_look_fence_message:
|
||||
.byte "A particularly rickety",13
|
||||
.byte "peasant-issue fence.",13
|
||||
.byte "Trogdor uses bits of these",13
|
||||
.byte "as toothpicks.",0
|
||||
|
||||
; + look fence (after scaring him)
|
||||
.byte "It's got a big ol' hole in it. For walking through.",0
|
||||
|
||||
; + look flies (before scaring him)
|
||||
.byte "A cloud of buttflies fly around the horse's butt.",0
|
||||
gary_look_flies_message:
|
||||
.byte "A cloud of buttflies fly",13
|
||||
.byte "around the horse's butt.",0
|
||||
|
||||
; + look horse (before scaring him)
|
||||
.byte "This bag o' bones looks like he's headed for the glue factory. He's got the name 'Poor Gary' branded onto his hide.",0
|
||||
; + look gary/horse (before scaring him)
|
||||
gary_look_horse_message:
|
||||
.byte "This bag o' bones looks",13
|
||||
.byte "like he's headed for the",13
|
||||
.byte "glue factory. He's got the",13
|
||||
.byte "name 'Poor Gary' branded",13
|
||||
.byte "onto his hide.",0
|
||||
|
||||
; + look stump
|
||||
.byte "You run out of ideas as to what to do next, and stare at the stump.",0
|
||||
gary_look_stump_message:
|
||||
.byte "You run out of ideas as to",13
|
||||
.byte "what to do next, and stare",13
|
||||
.byte "at the stump.",0
|
||||
|
||||
; +2 POINTS
|
||||
; + wear mask
|
||||
@ -29,38 +45,98 @@
|
||||
; + kick/kill/punch poor gary (after scaring)
|
||||
.byte "Gary's gone now. Let go. Just let go./Let go!",0
|
||||
|
||||
; + break stump / sit on stump
|
||||
.byte "Are you THAT bored? Do some questing already!",0
|
||||
; + break/kick stump / sit on stump
|
||||
gary_kick_stump_message:
|
||||
.byte "Are you THAT bored? Do some",13
|
||||
.byte "questing already!",0
|
||||
|
||||
; + feed horse (before he's gone)
|
||||
.byte "There's a good chance that horse has NEVER eaten. I doubt he'll start now.",0
|
||||
gary_feed_horse_message:
|
||||
.byte "There's a good chance that",13
|
||||
.byte "horse has NEVER eaten. I",13
|
||||
.byte "doubt he'll start now.",0
|
||||
|
||||
; + ride horse/poor gary (before he's gone)
|
||||
.byte "Naw, snapping horse spines just doesn't seem as cool as it did in high school.",0
|
||||
gary_ride_horse_message:
|
||||
.byte "Naw, snapping horse spines",13
|
||||
.byte "just doesn't seem as cool",13
|
||||
.byte "as it did in high school.",0
|
||||
|
||||
; + pet horse/poor gary (before he's gone)
|
||||
.byte "Aww, that's sweet. Poor Gary tries in vain to bite your arm off.",0
|
||||
gary_pet_horse_message:
|
||||
.byte "Aww, that's sweet. Poor",13
|
||||
.byte "Gary tries in vain to bite",13
|
||||
.byte "your arm off.",0
|
||||
|
||||
; + scare horse (before getting the mask)
|
||||
.byte "You tell Gary the THE CALLS ARE COMING FROM INSIDE THE HOUSE!! one but he doesn't act very scared. He's probably heard it before. or: You tell Gary about how much cholesterol is in hay and how his arteries are probably all black and clogged. He shrugs it off. or: You tell Gary the story about the kid who pops this big zit he has and all these baby spiders come out. It doesn't phase him.",0
|
||||
gary_scare_horse_message1:
|
||||
.byte "You tell Gary the THE",13
|
||||
.byte "CALLS ARE COMING FROM",13
|
||||
.byte "INSIDE THE HOUSE!! one but",13
|
||||
.byte "he doesn't act very scared.",13
|
||||
.byte "He's probably heard it",13
|
||||
.byte "before.",0
|
||||
|
||||
gary_scare_horse_message2:
|
||||
.byte "You tell Gary about how",13
|
||||
.byte "much cholesterol is in hay",13
|
||||
.byte "and how his arteries are",13
|
||||
.byte "probably all black and",13
|
||||
.byte "clogged. He shrugs it off.",0
|
||||
|
||||
gary_scare_horse_message3:
|
||||
.byte "You tell Gary the story",13
|
||||
.byte "about the kid who pops this",13
|
||||
.byte "big zit he has and all",13
|
||||
.byte "these baby spiders come",13
|
||||
.byte "out. It doesn't phase him.",0
|
||||
|
||||
; + kick/kill/punch poor gary (before scaring) (Warning: Needless to say, this kills you.)
|
||||
.byte "You attempt to cause Poor Gary harm for no good reason other than you kinda suck at this game. {Poor Gary kicks you} WOW! For a decrepit old horse, Poor Gary still packs a mean whallop. You dead. Thanks for playing.",0
|
||||
|
||||
; + kill flies (before scaring him)
|
||||
.byte "Those flies and that horse's butt have a symbiotic relationship. You have no right to disrupt that.",0
|
||||
gary_kick_horse_message:
|
||||
.byte "You attempt to cause Poor",13
|
||||
.byte "Gary harm for no good",13
|
||||
.byte "reason other than you kinda",13
|
||||
.byte "suck at this game.",0
|
||||
; {Poor Gary kicks you} rears on hind legs, you fall flat
|
||||
;
|
||||
gary_kick_horse_message2:
|
||||
.byte "WOW! For a decrepit old",13
|
||||
.byte "horse, Poor Gary still",13
|
||||
.byte "packs a mean whallop. You",13
|
||||
.byte "dead. Thanks for playing.",0
|
||||
; game over screen
|
||||
; + kick/kill/punch flies (before scaring him)
|
||||
gary_kick_flies_message:
|
||||
.byte "Those flies and that",13
|
||||
.byte "horse's butt have a",13
|
||||
.byte "symbiotic relationship.",13
|
||||
.byte "You have no right to",13
|
||||
.byte "disrupt that.",0
|
||||
|
||||
; + climb/jump fence before scaring)
|
||||
.byte "No, you have business to attend to here in Peasantry.",0
|
||||
gary_climb_fence_message:
|
||||
.byte "No, you have business to",13
|
||||
.byte "attend to here in",13
|
||||
.byte "Peasantry.",0
|
||||
|
||||
; + climb/jump fence after scaring)
|
||||
.byte "More like you should walk through that gaping hole in it. Just an idea.",0
|
||||
|
||||
; + get flies (before scaring him)
|
||||
.byte "You nasty. Besides, they wouldn't survive a minute away from that horse's butt.",0
|
||||
gary_get_flies_message:
|
||||
.byte "You nasty. Besides, they",13
|
||||
.byte "wouldn't survive a minute",13
|
||||
.byte "away from that horse's",13
|
||||
.byte "butt.",0
|
||||
|
||||
; + talk gary (when he's there)
|
||||
.byte "Your attempts at conversation are met with horse grunts and tail flaps. Which is better than you do at conversation with most people.",0
|
||||
gary_talk_message:
|
||||
.byte "Your attempts at",13
|
||||
.byte "conversation are met with",13
|
||||
.byte "horse grunts and tail",13
|
||||
.byte "flaps. Which is better than",13
|
||||
.byte "you do at conversation with",13
|
||||
.byte "most people.",0
|
||||
|
||||
|
||||
;================================================
|
||||
|
Loading…
x
Reference in New Issue
Block a user