peasant: hook up poor gary area

This commit is contained in:
Vince Weaver 2021-10-21 01:18:02 -04:00
parent c59fa6c0e4
commit d8b9ceff9d
6 changed files with 1084 additions and 38 deletions

View File

@ -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
####

View File

@ -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

View File

@ -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"

View 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"

View File

@ -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"

View File

@ -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
;================================================