The following patch, created while making an advanced patch tutorial makes the 'I Keen' 'Mom' and 'Dad' sprites in Keen 4 into bouncing, deadly, Keen-fleeing soda bottles, some of which appear only if Keen has lots of shots. Checking out the above link will fully explain its construction. (And also why this patch ruins swimming Keen if used.)
Code: Select all
#Sprites use new initiation code
%patch $EECB $0E25W #0 ammo Bird (At $F715)
%patch $EECD $0E1EW #10 ammo Bird (At $F70E)
%patch $EECF $0E17W #20 ammo Bird (At $F707)
#New initiation code
%patch $F707 $83 $3E $7A58W $14 $7C $19 $83 $3E $7A58W $0A $7C $12 $FF $76
$FC $57 $9A $0E8F0E3ARL $83 $C4 $04 $C7 $06 $3F $CB $0001W $E9 $F6D3W
#New spawning code ($0E8F0E3ARL)
%patch $F72A $55 $8B $EC $33 $C0 $50 $9A $06BD1E11RL $83 $C4 $02 $8B $1E
$D8 $A7 $C7 $07 $0009W $C7 $47 $02 $0001W $C7 $47 $20 $0000W
$8B $46 $06 $B1 $08 $D3 $E0 $89 $47 $0A $8B $46 $08 $D3 $E0 $05
$FF0FW $89 $47 $0C $C7 $47 $0E $0001W $C7 $47 $10 $0001W $B8
$016AW $50 $53 $9A $09DC118CRL $83 $C4 $04 $5D $CB
#New actions, 2 frames of bouncing coke can ($016A and $0188W)
%patch $2EFDA $00E3W $00E4W $0003W $0000W $0000W $0008W $0040W $0000W
$0E8F0E88RL $0E8F0EB3RL $0FA804ECRL $0188W
%patch $2EFF8 $00E4W $00E3W $0003W $0000W $0000W $0008W $0040W $0000W
$0E8F0E88RL $0E8F0EB3RL $0FA804ECRL $016AW
#New behavior, turn away from Keen (Makes bottle flee Keen. = $0E8F0E88RL)
%patch $F778 $55 $8B $EC $56 $8B $76 $06 $8B $1E $D6 $A7 $8B $47 $0A $3B $44
$0A $73 $07 $C7 $44 $0E $0001W $EB $05 $C7 $44 $0E $FFFFW $56
$9A $09DC1315RL $83 $C4 $02 $5E $5D $CB
#New collision (Deadly, can be shot = $0E8F0EB3RL)
%patch $F7A3 $55 $8B $EC $56 $57 $8B $76 $06 $8B $7E $08 $83 $3D $02 $75 $09 #Check for Keen (Type 2)
$9A $0B8013E9RL $5F $5E $5D $CB $83 $3D $03 $75 $1F $B8 #If Keen, kill him; check for shot (Type 3)
$01A6W $50 $57 $56 $9A $09DC1695RL $83 $C4 $06 $C7 $44 $18 #If shot, become $01A6W
$FFE8W $8B $44 $0E $D1 $E0 $D1 $E0 $D1 $E0 $89 $44 $16 $5F $5E $5D #Jump into the air $FFE8
$CB
#New stunned action
%patch $2F016 $00E3W $00E3W $0002W $0000W $0000W $0000W $0000W $0000W
$09DC16C9RL $00000000L $09DC1913RL $0000W