Altered health patch (Keen now flinches on hit)
Posted: Sun Sep 23, 2018 8:23 pm
I really like the health patch on Keenwiki, but simply getting Ankh time when hit got a little boring. This patch sets up a new Keen behavior (copies stun behavior, but non-animating and with different frames depending on direction) over the unused code at $7F03, then alters the original health code to use this new behavior when Keen is hit. By default the frames used are 28-29 (the two frames used in the stun behavior's animation), but this shouldn't cause any issues if changed. I'm not 100% sure this will work as given since this comes from a larger project and I may be missing patches, so if someone could give feedback I'd appreciate it.
Code: Select all
#Lives now act as health; Keen dies when hit with 1 health #SIDE EFFECT: C-T-Space is disabled #SIDE EFFECT: God Mode does not protect Keen from damage #SIDE EFFECT: Getting a pogo kills Keen, last three patches allow Keen to pogo without the item #Makes additional space (uses C-T-Space code by default, could be edited to free space if you move calls properly) %patch $114E $EB $16 #Pogo count triggers kill switch, used by hazard tiles %patch $790C $81 $3E $9D1AW $0001W $0F $84 $06 $00 $E9 $954BW #Main health code %patch $0E64 $81 $3E $9946W $0000W $7F $28 $81 $3E $9D46W $0001W $7E $23 #Skips to points in code based on Ankh timer and lives $FF $0E $9D46W $C7 $06 $9946W $0100W $C7 $44 $32 $7F03W $8B #Lose a life, Ankh timer set to 160 ($0100W), behavior set to 7F03 $45 $20 $89 $44 $20 $8B $45 $22 $89 $44 $22 $C7 $44 $2A $0018W #Flinch timer set to 24 ($0018W) $E9 $6ABDW $E9 $6A82W #End call for ankh time and 2+ lives, death call for 1 life #Hazard tile gives pogo, triggering kill switch %patch $7A32 $E8 $9465W %patch $0E9A $C7 $06 $9D1AW $0001W $E8 $6A66W $C3 #Flinching behavior %patch $7F03 $55 $8B $EC $83 $3E $6278W $00 $7C $08 $C7 $06 $38 $99 $001CW #Checks direction, flinch left frame set to 28 ($001C) $EB $06 $C7 $06 $38 $99 $001DW $A1 $993AW $2B $06 $5D40W $A3 #Flinch right frame set to 29 ($001D), time check $993AW $83 $3E $993AW $00 $7D $06 $C7 $06 $9942W $6F07W $83 #Time check, switch to 6F07 when timer hits 0 $3E $9930W $00 $7E $17 $B8 $FFFDW $50 $E8 $E2E8W $59 $83 $3E #Check movement direction, alter l/r response $9930W $00 $7D $06 $C7 $06 $9930W $0000W $EB $1C $83 $3E $9930W #Speed-related stuff (7F43-7F52) $00 $7D $15 $B8 $0003W $50 $E8 $E2CAW $59 $83 $3E $9930W #Speed-related stuff, alter l/r response $00 $7E $06 $C7 $06 $9930W $0000W $E8 $E345W $E8 $E385W $E8 #Speed-related stuff, call gravity/tiles $EA90W $5D $C3 #Call movement (7F72-7F7A) #Pogo count starts at 0 to avoid instant death %patch $98F2 $0000W #Keen doesn't need item to pogo %patch $71BC $EB $05 %patch $744D $EB $0C