peasant: kerrek: can get things

This commit is contained in:
Vince Weaver 2021-11-21 16:13:14 -05:00
parent e44e962971
commit 61b288d80e
3 changed files with 81 additions and 5 deletions

View File

@ -188,8 +188,9 @@ POINTS IMPLEMENTED: (in order of implementation)
+ 2 (give trinket to brothers)
+ 2 (get super trinket)
+ 3 (win archery game)
+ 10 (get belt)
======
57 points
67 points
deaths/endings implemented

View File

@ -82,6 +82,10 @@ kerrek_row4:
;=======================
kerrek_verb_table:
.byte VERB_GET
.word kerrek_get-1
.byte VERB_TAKE
.word kerrek_get-1
.byte VERB_LOAD
.word kerrek_load-1
.byte VERB_SAVE
@ -100,6 +104,74 @@ kerrek_verb_table:
.word kerrek_buy-1
.byte 0
;=================
; get
;=================
kerrek_get:
lda CURRENT_NOUN
cmp #NOUN_KERREK
beq kerrek_get_kerrek
cmp #NOUN_ARROW
beq kerrek_get_arrow
cmp #NOUN_BELT
beq kerrek_get_belt
kerrek_cant_get:
jmp parse_common_get
kerrek_get_kerrek:
ldx #<kerrek_get_kerrek_message
ldy #>kerrek_get_kerrek_message
jmp finish_parse_message
kerrek_get_arrow:
; only if kerrek dead and on screen
lda KERREK_STATE
bpl kerrek_cant_get
and #$f
beq kerrek_cant_get
ldx #<kerrek_get_arrow_message
ldy #>kerrek_get_arrow_message
jmp finish_parse_message
kerrek_get_belt:
; only if kerrek dead and on screen
lda KERREK_STATE
bpl kerrek_cant_get
and #$f
beq kerrek_cant_get
lda INVENTORY_1
and #INV1_KERREK_BELT
bne kerrek_get_belt_already
kerrek_get_belt_finally:
; get belt
; add 10 to score
lda INVENTORY_1
ora #INV1_KERREK_BELT
sta INVENTORY_1
lda #10
jsr score_points
ldx #<kerrek_get_belt_message
ldy #>kerrek_get_belt_message
jmp finish_parse_message
kerrek_get_belt_already:
ldx #<kerrek_get_belt_already_message
ldy #>kerrek_get_belt_already_message
jmp finish_parse_message
;=================
; buy
;=================

View File

@ -55,16 +55,20 @@
.byte "need the actual Kerrek to",13
.byte "be here for that to work.",0
;=====================
; get
;=====================
; + 10 POINTS
; + get belt
kerrek_get_belt_message:
.byte "You strap the Kerrek's belt",13
.byte "buckle around your waist.",13
.byte "Oh boy. You sure stink now.",0
; + get belt (after already have it) ; not in wiki
kerrek_get_belt_already_message:
.byte "You totally got the belt",13
.byte "already, as evidenced by",13
.byte "the rancid cloud of odor",13
@ -72,24 +76,23 @@
.byte "shadow.",0
; + get arrow (after killing)
kerrek_get_arrow_message:
.byte "Eww! No way. That thing's",13
.byte "got some serious",13
.byte "Kerrek-Brand kooties on it",13
.byte "now.",0
; + get kerrek
kerrek_get_kerrek_message:
.byte "Well, he does smell real",13
.byte "bad. But he's a bit too big",13
.byte "to fit in your pocket.",0
;==================
; look
;==================
; + look (no Kerrek)
kerrek_look_no_kerrek_message:
.byte "There are large hoof prints",13