diff --git a/games/peasant/Makefile b/games/peasant/Makefile index 08294748..af4e3f29 100644 --- a/games/peasant/Makefile +++ b/games/peasant/Makefile @@ -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 #### diff --git a/games/peasant/TODO b/games/peasant/TODO index efd9bab5..da465b0f 100644 --- a/games/peasant/TODO +++ b/games/peasant/TODO @@ -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 diff --git a/games/peasant/peasant1.s b/games/peasant/peasant1.s index 612e4e56..6a076338 100644 --- a/games/peasant/peasant1.s +++ b/games/peasant/peasant1.s @@ -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+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 + + +peasant1_text_lzsa: +.incbin "DIALOG_PEASANT1.LZSA" + +.include "peasant1_actions.s" diff --git a/games/peasant/peasant1_actions.s b/games/peasant/peasant1_actions.s new file mode 100644 index 00000000..db00e4fd --- /dev/null +++ b/games/peasant/peasant1_actions.s @@ -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 + 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 + 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 + 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 + jsr partial_message_step + + ldx #gary_kick_horse_message2 + jmp finish_parse_message + +kick_flies: + ldx #gary_kick_flies_message + jmp finish_parse_message + +kick_stump: + ldx #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 + jmp finish_parse_message + +gary_look_at_fence: + ldx #gary_look_fence_message + jmp finish_parse_message + +gary_look_at_flies: + ldx #gary_look_flies_message + jmp finish_parse_message + +gary_look_at_gary: +gary_look_at_horse: + ldx #gary_look_horse_message + jmp finish_parse_message + +gary_look_at_stump: + ldx #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 + 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 + 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 + 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 + 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 + 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 + jmp finish_parse_message + +puddle_look_at_mud: + ldx #puddle_look_mud_message + jmp finish_parse_message + +puddle_look_at_rock: + ldx #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 + jmp finish_parse_message + +archery_get_arrow: + ldx #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 + jmp finish_parse_message + +archery_look_at_archer: + ldx #archery_look_at_archer_message + jmp finish_parse_message + +archery_look_at_target: + ldx #archery_look_at_target_message + jmp finish_parse_message + +archery_look_at_desk: + ldx #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 + 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 + jsr partial_message_step + + ldx #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 + jmp finish_parse_message + + +archery_talk_too_far: + ldx #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 + 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 + jmp finish_parse_message + +river_look_at_rock: + ldx #river_look_at_rock_message + jmp finish_parse_message + +river_look_at_water: + ldx #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 + 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 + jmp finish_parse_message + +ask_about_fire: + ldx #knight_ask_fire_message + jmp finish_parse_message + +ask_about_jhonka: + ldx #knight_ask_jhonka_message + jmp finish_parse_message + +ask_about_kerrek: + ldx #knight_ask_kerrek_message + jmp finish_parse_message + +ask_about_ned: + ldx #knight_ask_ned_message + jmp finish_parse_message + +ask_about_robe: + ldx #knight_ask_robe_message + jmp finish_parse_message + +ask_about_smell: + ldx #knight_ask_smell_message + jmp finish_parse_message + +ask_about_trogdor: + ldx #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 + 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 + jmp finish_parse_message + +pass_look: + ldx #pass_look_message + jmp finish_parse_message + +sign_look: + ldx #sign_look_message + jmp finish_parse_message + +trogdor_look: + ldx #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 + jsr partial_message_step + + ; first time only + ldx #talk_knight_second_message + jsr partial_message_step + +knight_skip_text: + ldx #talk_knight_third_message + jsr partial_message_step + + ldx #talk_knight_stink_message + jsr partial_message_step + + ldx #talk_knight_dress_message + jsr partial_message_step + + ldx #talk_knight_fire_message + jsr partial_message_step + + ldx #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 + + lda GAME_STATE_2 + ora #TALKED_TO_KNIGHT + sta GAME_STATE_2 + +knight_skip_text2: + jmp finish_parse_message +.endif + +.include "dialog_peasant1.inc" diff --git a/games/peasant/peasant2.s b/games/peasant/peasant2.s index 2cc9a86d..ce3f6151 100644 --- a/games/peasant/peasant2.s +++ b/games/peasant/peasant2.s @@ -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" diff --git a/games/peasant/text/peasant1.inc b/games/peasant/text/peasant1.inc index b7305385..e478d9cb 100644 --- a/games/peasant/text/peasant1.inc +++ b/games/peasant/text/peasant1.inc @@ -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 ;================================================