diff --git a/games/peasant/Makefile b/games/peasant/Makefile index 1725ab0c..4b37b979 100644 --- a/games/peasant/Makefile +++ b/games/peasant/Makefile @@ -31,13 +31,15 @@ peasant.dsk: QBOOT QLOAD VID_LOGO TITLE INTRO \ $(DOS33_RAW) peasant.dsk 25 0 PEASANT3 0 0 $(DOS33_RAW) peasant.dsk 30 0 PEASANT4 0 0 -peasant_side2.dsk: WBOOT2 COPY_CHECK TROGDOR ENDING CLIFF GAME_OVER INSIDE +peasant_side2.dsk: WBOOT2 COPY_CHECK TROGDOR ENDING \ + CLIFF GAME_OVER INSIDE INN cp $(EMPTY_DISK)/empty.dsk peasant_side2.dsk $(DOS33_RAW) peasant_side2.dsk 0 0 WBOOT2 0 1 $(DOS33_RAW) peasant_side2.dsk 1 0 COPY_CHECK 0 0 $(DOS33_RAW) peasant_side2.dsk 3 0 GAME_OVER 0 0 # $(DOS33_RAW) peasant_side2.dsk 4 0 MAP 0 0 $(DOS33_RAW) peasant_side2.dsk 5 0 INSIDE 0 0 + $(DOS33_RAW) peasant_side2.dsk 10 0 INN 0 0 $(DOS33_RAW) peasant_side2.dsk 19 0 TROGDOR 0 0 $(DOS33_RAW) peasant_side2.dsk 24 0 ENDING 0 0 $(DOS33_RAW) peasant_side2.dsk 29 0 CLIFF 0 0 @@ -398,6 +400,25 @@ inside.o: inside.s zp.inc inventory.inc \ peasant_move.s score.s inventory.s loadsave_menu.s ca65 -o inside.o inside.s -l inside.lst +### + +INN: inn.o + ld65 -o INN inn.o -C $(LINKER_SCRIPTS)/apple2_6000.inc + +inn.o: inn.s zp.inc inventory.inc \ + parse_input.inc \ + inn_actions.s DIALOG_INN.LZSA dialog_inn.inc \ + graphics_inn/graphics_inn.inc sprites/peasant_sprites.inc \ + graphics_inn/priority_inn.inc \ + sprites/inventory_sprites.inc \ + draw_box.s hgr_rectangle.s hgr_font.s hgr_input.s \ + hgr_1x28_sprite_mask.s hgr_1x5_sprite.s hgr_save_restore.s \ + wait_a_bit.s draw_peasant.s hgr_text_box.s \ + keyboard.s new_map_location.s \ + peasant_move.s score.s inventory.s loadsave_menu.s + ca65 -o inn.o inn.s -l inn.lst + + ### @@ -543,9 +564,13 @@ dialog_inn: dialog_inn.o dialog_inn.o: dialog_inn.s text/inn.inc ca65 -o dialog_inn.o dialog_inn.s -l dialog_inn.lst - ### +dialog_inn.inc: generate_all_symbols dialog_inn + ./generate_all_symbols -a 0xd000 dialog_inn.lst > dialog_inn.inc + +#### + DIALOG_CLIFF.LZSA: dialog_cliff $(LZSA) -r -f2 dialog_cliff DIALOG_CLIFF.LZSA diff --git a/games/peasant/NOTES b/games/peasant/NOTES index 76892960..897875c3 100644 --- a/games/peasant/NOTES +++ b/games/peasant/NOTES @@ -171,8 +171,10 @@ POINTS IMPLEMENTED: (in order of implementation) + 1 (get pebbles) + 1 (get feed) + 5 (give riches) ++ 5 (give baby) [inn] ++ 3 (get room) ====== - 21 points + 29 points deaths implemented diff --git a/games/peasant/graphics_inn/Makefile b/games/peasant/graphics_inn/Makefile new file mode 100644 index 00000000..c7734dc0 --- /dev/null +++ b/games/peasant/graphics_inn/Makefile @@ -0,0 +1,43 @@ + +PNG2RLE = ../../../utils/gr-utils/png2rle +PNG2GR = ../../../utils/gr-utils/png2gr +PNG2HGR = ../../../utils/hgr-utils/png2hgr +LZSA = ~/research/lzsa/lzsa/lzsa +B2D = ../../../utils/bmp2dhr/b2d + +all: graphics_inn.inc \ + priority_inn.inc + +### + +graphics_inn.inc: \ + inside_inn.lzsa + echo "inside_inn_lzsa: .incbin \"inside_inn.lzsa\"" > graphics_inn.inc + +### + +inside_inn.lzsa: inside_inn.hgr + $(LZSA) -r -f2 inside_inn.hgr inside_inn.lzsa + +inside_inn.hgr: inside_inn.png + $(PNG2HGR) inside_inn.png > inside_inn.hgr + +### + +priority_inn.inc: \ + todo_priority.lzsa + echo "inside_inn_priority_lzsa: .incbin \"todo_priority.lzsa\"" > priority_inn.inc + +#### + +todo_priority.lzsa: todo_priority.gr + $(LZSA) -r -f2 todo_priority.gr todo_priority.lzsa + +todo_priority.gr: todo_priority.png + $(PNG2GR) todo_priority.png todo_priority.gr + +#### + +clean: + rm -f *~ graphics_inn.inc priority_inn.inc *.lzsa *.gr *.hgr + diff --git a/games/peasant/graphics_inn/inside_inn.png b/games/peasant/graphics_inn/inside_inn.png new file mode 100644 index 00000000..f3a77946 Binary files /dev/null and b/games/peasant/graphics_inn/inside_inn.png differ diff --git a/games/peasant/graphics_inn/todo_priority.png b/games/peasant/graphics_inn/todo_priority.png new file mode 100644 index 00000000..a2c6dff9 Binary files /dev/null and b/games/peasant/graphics_inn/todo_priority.png differ diff --git a/games/peasant/inn.s b/games/peasant/inn.s new file mode 100644 index 00000000..ca07dc5b --- /dev/null +++ b/games/peasant/inn.s @@ -0,0 +1,305 @@ +; Peasant's Quest + +; Inn Graphics + +; a lot happens at the Inn + +; by Vince `deater` Weaver vince@deater.net + +; with apologies to everyone + +.include "hardware.inc" +.include "zp.inc" + +.include "qload.inc" +.include "inventory.inc" +.include "parse_input.inc" + +LOCATION_BASE = LOCATION_INSIDE_INN ; index starts here (27) + +inside_inn: + + lda #0 + sta LEVEL_OVER + sta FRAME + + jsr hgr_make_tables ; necessary? + jsr hgr2 ; necessary? + + ; decompress dialog to $D000 + + lda #inn_text_lzsa + sta getsrc_smc+2 + + lda #$D0 + + jsr decompress_lzsa2_fast + + ; update score + + jsr update_score + + + ;============================= + ;============================= + ; new screen location + ;============================= + ;============================= + +new_location: + lda #0 + sta LEVEL_OVER + + ;========================== + ; load updated verb table + ;========================== + + ; setup default verb table + + jsr setup_default_verb_table + + + ; we are INSIDE so locations 24...26 map to 0...2 + + lda MAP_LOCATION + sec + sbc #LOCATION_BASE + tax + + lda verb_tables_low,X + sta INL + lda verb_tables_hi,X + sta INH + jsr load_custom_verb_table + + ;===================== + ; load bg + + ; we are INSIDE so locations 24...26 map to 0...2 + + lda MAP_LOCATION + sec + sbc #LOCATION_BASE + tax + + lda map_backgrounds_low,X + sta getsrc_smc+1 +; sta last_bg_l + lda map_backgrounds_hi,X + sta getsrc_smc+2 +; sta last_bg_h + + lda #$40 + + jsr decompress_lzsa2_fast + + + ; we are INSIDE so locations 24...26 map to 0...2 + + lda MAP_LOCATION + sec + sbc #LOCATION_BASE + tax + + lda map_priority_low,X + sta getsrc_smc+1 + lda map_priority_hi,X + sta getsrc_smc+2 + + lda #$20 + + jsr decompress_lzsa2_fast + + jsr gr_copy_to_page1 + + ; put peasant text + + lda #peasant_text + sta OUTH + + jsr hgr_put_string + + ; put score + + jsr print_score + + ;==================== + ; save background + + lda PEASANT_X + sta CURSOR_X + lda PEASANT_Y + sta CURSOR_Y + + ;======================= + ; draw initial peasant + + jsr save_bg_1x28 + + jsr draw_peasant + +game_loop: + + jsr move_peasant + + inc FRAME + + jsr check_keyboard + + ;===================== + ; level specific + ;===================== + + lda MAP_LOCATION + cmp #LOCATION_INSIDE_INN + bne skip_level_specific + +exit_inside_inn: + ; check if leaving + + lda PEASANT_Y + cmp #$95 + bcc skip_level_specific + + ; we're exiting, print proper message + +; lda INVENTORY_2 +; and #INV2_TRINKET +; bne after_trinket_message + +; lda INVENTORY_2_GONE +; and #INV2_TRINKET +; bne after_trinket_message + + +;before_trinket_message: +; ldx #inside_cottage_leaving_message +; jsr finish_parse_message +; jmp done_trinket_message + +;after_trinket_message: +; ldx #inside_cottage_leaving_post_trinket_message +; jsr finish_parse_message + +done_trinket_message: + + ; put outside door + lda #$9 + sta PEASANT_X + lda #$69 + sta PEASANT_Y + + ; stop walking + lda #0 + sta PEASANT_XADD + sta PEASANT_YADD + + + ; move back + + lda #LOCATION_OUTSIDE_INN + jsr update_map_location + + +skip_level_specific: + + lda LEVEL_OVER + bmi oops_new_location + bne level_over + + + ; delay + + lda #200 + jsr wait + + + jmp game_loop + +oops_new_location: + jmp new_location + + + ;======================== + ; exit level + ;======================== +level_over: + + rts + + +.include "draw_peasant.s" + +.include "gr_copy.s" + +.include "new_map_location.s" +.include "peasant_move.s" + +.include "score.s" + +;.include "parse_input.s" + +.include "keyboard.s" + +.include "wait.s" +.include "wait_a_bit.s" + +.include "graphics_inn/graphics_inn.inc" +.include "graphics_inn/priority_inn.inc" + +.include "version.inc" + +;.include "inventory.s" + + + + +; moved to QLOAD + +;.include "decompress_fast_v2.s" +;.include "hgr_font.s" +;.include "draw_box.s" +;.include "hgr_rectangle.s" +;.include "hgr_1x28_sprite_mask.s" +;.include "hgr_1x5_sprite.s" +;.include "hgr_partial_save.s" +;.include "hgr_input.s" +;.include "hgr_tables.s" +;.include "hgr_text_box.s" +;.include "clear_bottom.s" +;.include "hgr_hgr2.s" +;.include "wait_keypress.s" +;.include "loadsave_menu.s" + + + +map_backgrounds_low: + .byte inside_inn_lzsa + +map_priority_low: + .byte inside_inn_priority_lzsa + +verb_tables_low: + .byte inside_inn_verb_table + + + +inn_text_lzsa: +.incbin "DIALOG_INN.LZSA" + +.include "inn_actions.s" diff --git a/games/peasant/inn_actions.s b/games/peasant/inn_actions.s new file mode 100644 index 00000000..44aa4fca --- /dev/null +++ b/games/peasant/inn_actions.s @@ -0,0 +1,414 @@ +.include "tokens.inc" + + ;======================= + ;======================= + ;======================= + ; Inside Inn + ;======================= + ;======================= + ;======================= + +inside_inn_verb_table: + .byte VERB_LOOK + .word inside_inn_look-1 + .byte VERB_TALK + .word inside_inn_talk-1 + .byte VERB_GIVE + .word inside_inn_give-1 + .byte VERB_USE + .word inside_inn_give-1 + .byte VERB_GET + .word inside_inn_get-1 + .byte VERB_ASK + .word inside_inn_ask-1 + .byte VERB_RING + .word inside_inn_ring-1 + .byte VERB_SLEEP + .word inside_inn_sleep-1 + .byte VERB_OPEN + .word inside_inn_open-1 + .byte 0 + + ;================= + ; look + ;================= + +inside_inn_look: + + lda CURRENT_NOUN + + cmp #NOUN_PILLOW + beq inn_look_at_pillow + cmp #NOUN_NOTE + beq inn_look_at_paper + cmp #NOUN_PAPER + beq inn_look_at_paper + cmp #NOUN_PAINTING + beq inn_look_at_painting + cmp #NOUN_DUDE + beq inn_look_at_man + cmp #NOUN_GUY + beq inn_look_at_man + cmp #NOUN_MAN + beq inn_look_at_man + cmp #NOUN_WINDOW + beq inn_look_at_window + cmp #NOUN_PILLOW + beq inn_look_at_pillow + cmp #NOUN_RUG + beq inn_look_at_rug + cmp #NOUN_CARPET + beq inn_look_at_rug + cmp #NOUN_BED + beq inn_look_at_bed + cmp #NOUN_MATTRESS + beq inn_look_at_bed + cmp #NOUN_BELL + beq inn_look_at_bell + cmp #NOUN_DESK + beq inn_look_at_desk + + cmp #NOUN_NONE + beq inn_look_at + + jmp parse_common_look + +inn_look_at: + ldx #inside_inn_look_message + jmp finish_parse_message + +inn_look_at_window: + ldx #inside_inn_look_window_message + jmp finish_parse_message + +inn_look_at_man: + ldx #inside_inn_look_man_message + jmp finish_parse_message + +inn_look_at_painting: + ldx #inside_inn_look_painting_message + jmp finish_parse_message + +inn_look_at_paper: + ldx #inside_inn_look_paper_message + jmp finish_parse_message + +inn_look_at_pillow: + ldx #inside_inn_look_pillow_message + jmp finish_parse_message + +inn_look_at_rug: + ldx #inside_inn_look_rug_message + jmp finish_parse_message + +inn_look_at_bed: + ldx #inside_inn_look_bed_message + jmp finish_parse_message + +inn_look_at_bell: + ldx #inside_inn_look_bell_message + jmp finish_parse_message + +inn_look_at_desk: + ldx #inside_inn_look_desk_message + jmp finish_parse_message + + + ;================= + ; talk + ;================= + +inside_inn_talk: + + lda CURRENT_NOUN + + cmp #NOUN_NONE + beq inn_talk_man + cmp #NOUN_MAN + beq inn_talk_man + cmp #NOUN_GUY + beq inn_talk_man + cmp #NOUN_DUDE + beq inn_talk_man + + jmp parse_common_talk + +inn_talk_man: + ldx #inside_inn_talk_man_message + jmp finish_parse_message + + ;================= + ; give + ;================= + +inside_inn_give: + + lda CURRENT_NOUN + + cmp #NOUN_BABY + beq inn_give_baby + + jmp parse_common_give + +inn_give_baby: + + lda INVENTORY_1 + and #INV1_PILLS ; check if have pills + bne inn_give_baby_have_pills + + lda INVENTORY_1 + and #INV1_BABY + bne inn_give_baby_have_baby + +inn_give_baby_no_baby: + ldx #inside_inn_give_baby_before_message + jmp finish_parse_message + +inn_give_baby_have_baby: + ldx #inside_inn_give_baby_message + jsr partial_message_step + + ; add 5 points to score + + lda #5 + jsr score_points + + ; get pills + + lda INVENTORY_1 + ora #INV1_PILLS + sta INVENTORY_1 + + ldx #inside_inn_give_baby2_message + jmp finish_parse_message + +inn_give_baby_have_pills: + + ldx #inside_inn_give_baby_already_message + jmp finish_parse_message + + ;================= + ; get + ;================= + +inside_inn_get: + + lda CURRENT_NOUN + + cmp #NOUN_ROOM + beq inn_get_room + cmp #NOUN_PAPER + beq inn_get_paper + cmp #NOUN_NOTE + beq inn_get_paper + cmp #NOUN_PARCHMENT + beq inn_get_paper + cmp #NOUN_PAINTING + beq inn_get_painting + cmp #NOUN_RUG + beq inn_get_rug + cmp #NOUN_CARPET + beq inn_get_rug + cmp #NOUN_DOING_SPROINGS + beq inn_get_doing + cmp #NOUN_PILLOW + beq inn_get_pillow + cmp #NOUN_BELL + beq inn_get_bell + cmp #NOUN_BED + beq inn_get_bed + + jmp parse_common_get + +inn_get_room: + + lda INVENTORY_2 + and #INV2_ROBE ; check if have robe + bne inn_get_room_have_robe + +inn_get_room_no_robe: + ldx #inside_inn_get_room_no_robe_message + jmp finish_parse_message + +inn_get_room_have_robe: + ldx #inside_inn_get_room_message + jsr partial_message_step + + ; add 3 points to score + + lda #3 + jsr score_points + + ldx #inside_inn_get_room2_message + jsr partial_message_step + + ldx #inside_inn_get_room3_message + jmp finish_parse_message + +inn_get_paper: + ldx #inside_inn_get_paper_message + jmp finish_parse_message + +inn_get_painting: + ldx #inside_inn_get_painting_message + jmp finish_parse_message + +inn_get_rug: + ldx #inside_inn_get_rug_message + jmp finish_parse_message + +inn_get_doing: + ldx #inside_inn_get_doing_message + jmp finish_parse_message + +inn_get_pillow: + ldx #inside_inn_get_pillow_message + jmp finish_parse_message + +inn_get_bell: + ldx #inside_inn_get_bell_message + jmp finish_parse_message + +inn_get_bed: + ldx #inside_inn_get_bed_message + jmp finish_parse_message + + + ;================= + ; ask about + ;================= + +inside_inn_ask: + + lda CURRENT_NOUN + + cmp #NOUN_FIRE + beq inn_ask_about_fire + cmp #NOUN_NED + beq inn_ask_about_ned + cmp #NOUN_ROBE + beq inn_ask_about_robe + cmp #NOUN_SMELL + beq inn_ask_about_smell + cmp #NOUN_TROGDOR + beq inn_ask_about_trogdor + +inn_ask_about_unknown: + ldx #inside_inn_ask_about_unknown_message + jmp finish_parse_message + +inn_ask_about_fire: + ldx #inside_inn_ask_about_fire_message + jmp finish_parse_message + +inn_ask_about_ned: + ldx #inside_inn_ask_about_ned_message + jmp finish_parse_message + +inn_ask_about_robe: + ldx #inside_inn_ask_about_robe_message + jmp finish_parse_message + +inn_ask_about_smell: + ldx #inside_inn_ask_about_smell_message + jmp finish_parse_message + +inn_ask_about_trogdor: + ldx #inside_inn_ask_about_trogdor_message + jmp finish_parse_message + + + ;================= + ; ring + ;================= + +inside_inn_ring: + + lda CURRENT_NOUN + + cmp #NOUN_BELL + beq inn_ring_bell + + jmp parse_common_unknown + +inn_ring_bell: + ldx #inside_inn_ring_bell_message + jmp finish_parse_message + + ;================= + ; sleep + ;================= + +inside_inn_sleep: + + lda CURRENT_NOUN + + cmp #NOUN_BED + beq inn_sleep_bed + cmp #NOUN_NONE + beq inn_sleep_bed + + jmp parse_common_unknown + +inn_sleep_bed: + ldx #inside_inn_sleep_bed_message + jmp finish_parse_message + + ;================= + ; open + ;================= + +inside_inn_open: + + lda CURRENT_NOUN + + cmp #NOUN_DOOR + beq inn_open_door + + jmp parse_common_unknown + +inn_open_door: + ldx #inside_inn_open_door_message + jmp finish_parse_message + + + + + + +.include "dialog_inn.inc" diff --git a/games/peasant/parse_input.s b/games/peasant/parse_input.s index 7d1df99f..4d6fcff8 100644 --- a/games/peasant/parse_input.s +++ b/games/peasant/parse_input.s @@ -924,6 +924,10 @@ noun_lookup: .byte "WOMAN",NOUN_WOMAN|$80 .byte "GOLD",NOUN_GOLD|$80 .byte "MONEY",NOUN_MONEY|$80 +.byte "CARPET",NOUN_CARPET|$80 +.byte "BED",NOUN_BED|$80 +.byte "MATTRESS",NOUN_MATTRESS|$80 +.byte "PARCHMENT",NOUN_PARCHMENT|$80 .byte $00 diff --git a/games/peasant/qload.s b/games/peasant/qload.s index 37772782..f6497a33 100644 --- a/games/peasant/qload.s +++ b/games/peasant/qload.s @@ -216,7 +216,7 @@ track_array: .byte 4, 6, 9,1 ; VID_LOGO, TITLE, INTRO, COPY_CHECK .byte 15,20,25,30 ; PEASANT1, PEASANT2, PEASANT3, PEASANT4 .byte 19,24, 3,29 ; TROGDOR, ENDING, MUSIC, CLIFF - .byte 3,14,13,30 ; GAME_OVER, INVENTORY, PARSE_INPUT, INN + .byte 3,14,13,10 ; GAME_OVER, INVENTORY, PARSE_INPUT, INN .byte 5 ; INSIDE .byte 0, 0, 0, 0, 0 ; SAVE1, SAVE2, SAVE3 .byte 0 ; disk detect diff --git a/games/peasant/save2.s b/games/peasant/save2.s index b4ab02f1..dd36c53b 100644 --- a/games/peasant/save2.s +++ b/games/peasant/save2.s @@ -5,13 +5,13 @@ ; want to load this to address $90 ; -.byte LOAD_INSIDE ; WHICH_LOAD = $90 +.byte LOAD_INN ; WHICH_LOAD = $90 .byte 15 ; PEASANT_X = $91 .byte 128 ; PEASANT_Y = $92 .byte PEASANT_DIR_UP ; PEASANT_DIR = $93 .byte 0 ; MAP_X = $94 .byte 0 ; MAP_Y = $95 -.byte LOCATION_INSIDE_LADY; MAP_LOCATION = $96 +.byte LOCATION_INSIDE_INN; MAP_LOCATION = $96 .byte $00 ; GAME_STATE_0 = $97 .byte $00 ; GAME_STATE_1 = $98 .byte $00 ; GAME_STATE_2 = $99 diff --git a/games/peasant/text/inn.inc b/games/peasant/text/inn.inc index 25bd9fad..800bba16 100644 --- a/games/peasant/text/inn.inc +++ b/games/peasant/text/inn.inc @@ -6,37 +6,104 @@ .byte "You need to get out of there before that smelly octogenarian gets back.",0 ; + look +inside_inn_look_message: .byte "What a dump! Only one bed",13 .byte "and no minibar? The",13 .byte "Innkeeper stands behind a",13 .byte "desk and there's a door",13 .byte "that's closed.",0 -; + look (night) -.byte "It's still dark out. The grimey old Innkeeper is gone and he left the pantry open.",0 - ; + look window +inside_inn_look_window_message: .byte "Check it out! There's a",13 .byte "Peasantry out there!",0 +; + look man +inside_inn_look_man_message: +.byte "He's an older peasant with",13 +.byte "big cotton swabs stuffed up",13 +.byte "his nose. Oh wait. Those",13 +.byte "are nose hairs. Grody.",0 + +; + look painting +inside_inn_look_painting_message: +.byte "It's a painting of dogs",13 +.byte "playing 'Magic: The",13 +.byte "Nerdening.'",0 + +; + look paper / note / parchment +inside_inn_look_paper_message: +.byte "It says, ",34,"Note to self:",13 +.byte "Wave arms wildly!",34,0 + +; + look pillow +inside_inn_look_pillow_message: +.byte "If you sleep in that bed,",13 +.byte "you're NOT putting your",13 +.byte "head on that nasty pillow.",0 + +; + look pot (after getting a room) +.byte "It's full of horse grease. I guess that sounds useful.",0 + +; + look rug +inside_inn_look_rug_message: +.byte "Maybe that used to be a",13 +.byte "magic carpet. But it's sure",13 +.byte "a cat pee-stained carpet",13 +.byte "now.",0 + +; + look bed +inside_inn_look_bed_message: +.byte "Is that just a fitted sheet",13 +.byte "over a slab of concrete?",0 + +; + look bell +inside_inn_look_bell_message: +.byte "Tis broked.",0 + +; + look desk (man there) +inside_inn_look_desk_message: +.byte "There's a broken bell and",13 +.byte "a piece of parchment on",13 +.byte "there. And some crazy old",13 +.byte "guy behind it.",0 + +; + look (night) +.byte "It's still dark out. The grimey old Innkeeper is gone and he left the pantry open.",0 + +; + look desk (night?) +.byte "There's a broken bell and",13 +.byte "a piece of parchment on",13 +.byte "there.",0 + +; + look candle (after getting a room) +.byte "That candle's not at all on fire.",0 + ; + talk man +inside_inn_talk_man_message: .byte 34,"If you're interested in",13 .byte "staying the night, just",13 .byte "type 'get a room.'",34,0 -; + give baby (before you get the baby) +; + give/use baby (before you get the baby) +inside_inn_give_baby_before_message: .byte "You have no baby nor any",13 .byte "immediate prospects.",0 ; +5 POINTS ; + give/use baby (by desk) +inside_inn_give_baby_message: .byte 34,"Well lookit that little guy!",34," says the Innkeeper. ",34,"You want a treat, do ya? What do babies like?",34," He fishes around in his pockets.",0 + +inside_inn_give_baby2_message: .byte 34,"Um, how bout my medication!",34," You grab the bottle of pills before he can force them on the baby. ",34,"Hey, those were for him!",34,0 -; + give baby (when you already have the pills) +; + give/use baby (when you already have the pills) +inside_inn_give_baby_already_message: .byte "You already milked that fogey for all the pills he's worth.",0 -; + get a room (without robe) +; + get a room (without robe) (do you need to be wearing it?) +inside_inn_get_room_no_robe_message: .byte 34,"I only serve peasants",13 .byte "here, fancypants!",34," barks",13 .byte "the old guy. ",34,"Where's your",13 @@ -44,10 +111,50 @@ ; +3 POINTS ; + get room (with robe) +inside_inn_get_room_message: .byte 34,"Okay, youngster,",34," says the decrepit old person. ",34,"Just bed on down for the night and I'm sure I'll remember to collect the fee come morning.",34,0 +inside_inn_get_room2_message: .byte "Night falls like a bad power point presentation.",0 +inside_inn_get_room3_message: .byte "What an uncomfortable bed! You sleep for maybe 20 minutes before the extreme pain in your spine forces you to get up.",0 +; + get paper +inside_inn_get_paper_message: +.byte "Naw, it might be important",13 +.byte "to that wrinkly old loon.",0 + +; + get painting ; WIKI IS WRONG +inside_inn_get_painting_message: +.byte "Weird. It's actually just",13 +.byte "painted right onto the",13 +.byte "wall. Like, the frame and",13 +.byte "everything.",0 + +; + get rug +inside_inn_get_rug_message: +.byte "You're not touching that",13 +.byte "thing. Too many",13 +.byte "questionable stains on it.",0 + +; + get doing-sproings +inside_inn_get_doing_message: +.byte "That's the worst thing",13 +.byte "anyone has ever tried to",13 +.byte "type in this game. Ever.",0 + +; + get pillow +inside_inn_get_pillow_message: +.byte "Not a chance. There's even",13 +.byte "more questionable stains",13 +.byte "on that pillow than there",13 +.byte "are on that rug.",0 + +; + get bell +inside_inn_get_bell_message: +.byte "You can't. It looks like",13 +.byte "it's been somehow olded to",13 +.byte "the desk.",0 + ; + get a room (when on fire) .byte 34,"Board of Peasant Health says I can't serve any folk that's on fire. Nothing personal. Well, I mean, I don't like you much anyway.",34,0 @@ -56,8 +163,8 @@ .byte "You reach way up to the top shelf.",0 .byte "Oh great! Now you can't see a thing and your head is covered in highly flammable horse grease. You better get out of here before that disgusting old man comes back.",0 -; + get bell (after getting a room) -.byte "You can't. It looks like it's been somehow olded to the desk.",0 +; + get pot (if you already have it) +.byte "You already have a nice greasy swab of it on the corner of your hood.",0 ; + get candle (at night) .byte "It seems like you should be able to do that, doesn't it? Sorry. No dice.",0 @@ -65,57 +172,43 @@ ; + get grease (at night, already have it) .byte "You already have a nice greasy swab of it on the corner of your hood.",0 -; + get old man rub (in the inn ?? when) +; + get old man rub (in the inn ?? when) (after getting pills?) .byte "You disgust me.",0 -; + get paper -.byte "Naw, it might be important",13 -.byte "to that wrinkly old loon.",0 - -; + get painting ; WIKI IS WRONG -.byte "Weird. It's actually just",13 -.byte "painted right onto the",13 -.byte "wall. Like, the frame and",13 -.byte "everything.",0 - -; + get pot (if you already have it) -.byte "You already have a nice greasy swab of it on the corner of your hood.",0 - -; + get rug -.byte "You're not touching that",13 -.byte "thing. Too many",13 -.byte "questionable stains on it.",0 - ; + (exiting inn with pot on head) .byte "Phew! You discard the big black pot and wipe the horse grease from your eyes. The hood of your robe is still covered in highly flammable horse grease, though.",0 ; + ask about fire +inside_inn_ask_about_fire_message: .byte 34,"I've always preferred",13 .byte "being on fire at night.",13 .byte "Looks prettier and keeps",13 .byte "the butterflies away.",34,0 ; + ask about naked ned +inside_inn_ask_about_ned_message: .byte 34,"He used to be such a nice,",13 .byte "clothed young man. Wonder",13 .byte "what he's done with all his",13 .byte "old clothes?",34,0 ; + ask about robe +inside_inn_ask_about_robe_message: .byte 34,"I wear my robe hood-down",13 .byte "so it's easier to trim my",13 .byte "ear hairs. If you need a",13 .byte "robe, maybe try someone",13 .byte "that's not using theirs.",34,0 - ; + ask about smell +inside_inn_ask_about_smell_message: .byte 34,"Well, if you don't stink,",13 .byte "maybe find something that",13 .byte "does and wear it. Like a",13 .byte "dead carcass or summat.",34,0 ; + ask about trogdor +inside_inn_ask_about_trogdor_message: .byte 34,"Are you talking about that",13 .byte "young green boy that lives",13 .byte "up the street? He's always",13 @@ -123,10 +216,12 @@ .byte "eating my customers.",34,0 ; + ask about (unknown) +inside_inn_ask_about_unknown_message: .byte 34,"I don't know nothing about",13 .byte "no whatever you just said.",34,0 ; + ring bell +inside_inn_ring_bell_message: .byte "Instead of ringing or",13 .byte "dinging, it just goes",13 .byte "'DUNG.'",0 @@ -135,73 +230,16 @@ .byte "It seems like you should be able to do that, doesn't it? Sorry. No dice.",0 ; + open door (before getting room) +inside_inn_open_door_message: .byte 34,"That's the pantry,",34," says",13 .byte "the Innkeeper. ",34,"Employees",13 .byte "only.",34,0 -; + sleep/sleep on bed (man is there) +; + get bed, sleep/sleep on bed (man is there) +inside_inn_get_bed_message: +inside_inn_sleep_bed_message: .byte "You probably want to talk",13 .byte "to that stinky old guy over",13 .byte "there about that.",0 -; + get doing-sproings -.byte "That's the worst thing",13 -.byte "anyone has ever tried to",13 -.byte "type in this game. Ever.",0 - -; + get pillow -.byte "Not a chance. There's even",13 -.byte "more questionable stains",13 -.byte "on that pillow than there",13 -.byte "are on that rug.",0 - -; + look man -.byte "He's an older peasant with",13 -.byte "big cotton swabs stuffed up",13 -.byte "his nose. Oh wait. Those",13 -.byte "are nose hairs. Grody.",0 - -; + look painting -.byte "It's a painting of dogs",13 -.byte "playing 'Magic: The",13 -.byte "Nerdening.'",0 - -; + look paper -.byte "It says, ",34,"Note to self:",13 -.byte "Wave arms wildly!",34,0 - -; + look pillow -.byte "If you sleep in that bed,",13 -.byte "you're NOT putting your",13 -.byte "head on that nasty pillow.",0 - -; + look pot (after getting a room) -.byte "It's full of horse grease. I guess that sounds useful.",0 - -; + look rug -.byte "Maybe that used to be a",13 -.byte "magic carpet. But it's sure",13 -.byte "a cat pee-stained carpet",13 -.byte "now.",0 - -; + look bed -.byte "Is that just a fitted sheet",13 -.byte "over a slab of concrete?",0 - -; + look bell -.byte "Tis broked.",0 - -; + look candle (after getting a room) -.byte "That candle's not at all on fire.",0 - -; + look desk (man there) -.byte "There's a broken bell and",13 -.byte "a piece of parchment on",13 -.byte "there. And some crazy old",13 -.byte "guy behind it.",0 - -; + look desk (night?) -.byte "There's a broken bell and",13 -.byte "a piece of parchment on",13 -.byte "there.",0 diff --git a/games/peasant/tokens.inc b/games/peasant/tokens.inc index 53555ba5..08f3ebdc 100644 --- a/games/peasant/tokens.inc +++ b/games/peasant/tokens.inc @@ -185,5 +185,10 @@ NOUN_WISH = 104 NOUN_ARMS = 105 NOUN_GOLD = 106 NOUN_MONEY = 107 +NOUN_CARPET = 108 +NOUN_BED = 109 +NOUN_MATTRESS = 110 +NOUN_PARCHMENT = 111 + ; -NOUN_UNKNOWN = 108 +NOUN_UNKNOWN = 112