mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-01-20 21:30:03 +00:00
peasant: kerrek: can kill kerrek now
This commit is contained in:
parent
1323aa8f72
commit
2933f6caea
@ -189,8 +189,9 @@ POINTS IMPLEMENTED: (in order of implementation)
|
||||
+ 2 (get super trinket)
|
||||
+ 3 (win archery game)
|
||||
+ 10 (get belt)
|
||||
+ 5 (kill kerrek)
|
||||
======
|
||||
67 points
|
||||
72 points
|
||||
|
||||
|
||||
deaths/endings implemented
|
||||
|
@ -1,5 +1,8 @@
|
||||
TODO:
|
||||
|
||||
update knight for kerrek belt
|
||||
kerrek decay
|
||||
|
||||
string compression: run trgodor level, intro, and instructions through it
|
||||
|
||||
can get stuck on top of targets at archery range
|
||||
|
@ -29,7 +29,7 @@ kerrek_alive_out:
|
||||
sta KERREK_X
|
||||
lda #76
|
||||
sta KERREK_Y
|
||||
lda #0
|
||||
lda #1 ; right
|
||||
sta KERREK_DIRECTION
|
||||
lda #1
|
||||
sta KERREK_SPEED
|
||||
@ -348,8 +348,87 @@ kerrek_save:
|
||||
;=================
|
||||
kerrek_kill:
|
||||
kerrek_shoot:
|
||||
; check we are trying to kill kerrek?
|
||||
lda CURRENT_NOUN
|
||||
cmp #NOUN_KERREK
|
||||
beq kerrek_kill_kerrek
|
||||
|
||||
rts
|
||||
jmp parse_common_unknown
|
||||
|
||||
kerrek_kill_kerrek:
|
||||
|
||||
; first check if Kerrek is alive
|
||||
lda KERREK_STATE
|
||||
and #$f
|
||||
bpl kerrek_kill_still_alive
|
||||
|
||||
kerrek_kill_hes_dead:
|
||||
ldx #<kerrek_kill_kerrek_dead_message
|
||||
ldy #>kerrek_kill_kerrek_dead_message
|
||||
jmp finish_parse_message
|
||||
|
||||
kerrek_kill_still_alive:
|
||||
|
||||
; next check if he's on screen
|
||||
lda KERREK_STATE
|
||||
bmi kerrek_kill_on_screen
|
||||
|
||||
kerrek_kill_off_screen:
|
||||
ldx #<kerrek_kill_kerrek_not_there_message
|
||||
ldy #>kerrek_kill_kerrek_not_there_message
|
||||
jmp finish_parse_message
|
||||
|
||||
kerrek_kill_on_screen:
|
||||
; he's alive and on screen
|
||||
|
||||
; check if have bow and arrow
|
||||
|
||||
lda INVENTORY_1
|
||||
and #(INV1_BOW | INV1_ARROW)
|
||||
beq kerrek_kill_no_bow_no_arrow
|
||||
cmp #INV1_BOW
|
||||
beq kerrek_kill_only_bow
|
||||
cmp #INV1_ARROW
|
||||
beq kerrek_kill_only_arrow
|
||||
|
||||
kerrek_actually_kill:
|
||||
ldx #<kerrek_kill_message
|
||||
ldy #>kerrek_kill_message
|
||||
jsr partial_message_step
|
||||
|
||||
ldx #<kerrek_kill_message2
|
||||
ldy #>kerrek_kill_message2
|
||||
jsr partial_message_step
|
||||
|
||||
lda #5
|
||||
jsr score_points
|
||||
|
||||
inc KERREK_STATE ; make kerrek dead
|
||||
|
||||
lda GAME_STATE_1
|
||||
ora #(RAINING|PUDDLE_WET)
|
||||
sta GAME_STATE_1
|
||||
|
||||
|
||||
ldx #<kerrek_kill_message3
|
||||
ldy #>kerrek_kill_message3
|
||||
jmp finish_parse_message
|
||||
|
||||
|
||||
kerrek_kill_only_bow:
|
||||
ldx #<kerrek_kill_only_bow_message
|
||||
ldy #>kerrek_kill_only_bow_message
|
||||
jmp finish_parse_message
|
||||
|
||||
kerrek_kill_only_arrow:
|
||||
ldx #<kerrek_kill_only_arrow_message
|
||||
ldy #>kerrek_kill_only_arrow_message
|
||||
jmp finish_parse_message
|
||||
|
||||
kerrek_kill_no_bow_no_arrow:
|
||||
ldx #<kerrek_kill_no_bow_no_arrow_message
|
||||
ldy #>kerrek_kill_no_bow_no_arrow_message
|
||||
jmp finish_parse_message
|
||||
|
||||
|
||||
;=================
|
||||
|
@ -13,20 +13,23 @@ kerrek_pound_message:
|
||||
.byte "You dead. Thanks for",13
|
||||
.byte "playing.",0
|
||||
|
||||
|
||||
; + 5 POINTS
|
||||
; + kill kerrek
|
||||
; + shoot Kerrek with bow
|
||||
kerrek_kill_message:
|
||||
.byte "Here goes nothin', Kid",13
|
||||
.byte "Icarus",0
|
||||
|
||||
; animation of shooting him, him falling
|
||||
|
||||
kerrek_kill_message2:
|
||||
.byte "ARROWED!! Nice shot. You",13
|
||||
.byte "smote the Kerrek! He lay",13
|
||||
.byte "there stinking.",0
|
||||
|
||||
; pause
|
||||
|
||||
kerrek_kill_message3:
|
||||
.byte "A light rain heralds the",13
|
||||
.byte "washing free of the",13
|
||||
.byte "Kerrek's grip on the land.",13
|
||||
@ -36,24 +39,30 @@ kerrek_pound_message:
|
||||
.byte "bug you.",0
|
||||
|
||||
; + kill kerrek (he is there, no bow or arrow)
|
||||
kerrek_kill_no_bow_no_arrow_message:
|
||||
.byte "With what?! You got no",13
|
||||
.byte "weapons except your",13
|
||||
.byte "butter-knife wit.",0
|
||||
|
||||
; + kill kerrek (he is there, you have arrow but not bow)
|
||||
kerrek_kill_only_arrow_message:
|
||||
.byte "With what?! You gonna throw",13
|
||||
.byte "that arrow at him?",0
|
||||
|
||||
; + kill kerrek (he is there, you have bow, not arrow
|
||||
kerrek_kill_only_bow_message:
|
||||
.byte "With what?! You got no",13
|
||||
.byte "arrow, fool!",0
|
||||
|
||||
; + kill kerrek (he is dead)
|
||||
; even if not on screen with dead body
|
||||
kerrek_kill_kerrek_dead_message:
|
||||
.byte "Yeah. You smote the Kerrek.",13
|
||||
.byte "You deserve a trophy full",13
|
||||
.byte "of Mutton-ums.",0
|
||||
|
||||
; + kill kerrek (he is not there)
|
||||
kerrek_kill_kerrek_not_there_message:
|
||||
.byte "Good idea. But you kinda",13
|
||||
.byte "need the actual Kerrek to",13
|
||||
.byte "be here for that to work.",0
|
||||
|
Loading…
x
Reference in New Issue
Block a user