Keen with Hit Points (Keen4)
- troublesomekeen
- Posts: 223
- Joined: Fri Feb 03, 2012 7:56 pm
- Location: Shadowlands
- Contact:
Keen with Hit Points (Keen4)
Ahoy there all ye modders and patchers!
As we all know, Commander Keen dies -- or rather is bounced out of the level -- in one hit, or from the slightest contact from a dangerous creature. Would it be possible, in the fashion of NetKeen, to give Keen hit points in Keen4?
The idea here is to use Keen's Ammo as Hit Points instead. As result, Keen would have no weapon--which is a desirable side effect. So a patch would be needed to disable Keen from firing, otherwise he would unwisely use up his hit points. When Keen makes contact with something dangerous and all hit points are depleted, Keen loses a life.
What do you think of this idea? Is a patch like this possible?
As we all know, Commander Keen dies -- or rather is bounced out of the level -- in one hit, or from the slightest contact from a dangerous creature. Would it be possible, in the fashion of NetKeen, to give Keen hit points in Keen4?
The idea here is to use Keen's Ammo as Hit Points instead. As result, Keen would have no weapon--which is a desirable side effect. So a patch would be needed to disable Keen from firing, otherwise he would unwisely use up his hit points. When Keen makes contact with something dangerous and all hit points are depleted, Keen loses a life.
What do you think of this idea? Is a patch like this possible?
Disabling keen from shooting isn't a problem, neither should be making him die when he has 0 shots and setting his shots to 100 whenever he starts a level. The problem would be making him lose ammo when he would normally die and setting a health depleting speed. You'll probably want lemm for this, but it's by no means impossible I think.
This is more difficult than I thought. In the end I managed it, but with the loss of keen's unique dying-swimming actions in WoW. Also, your health declines rapidly and without any noise indicating this is so (Though a 'hurt' noise can be added if you wish.) A single drop doesn't cut it when 100 health can be removed in 8 seconds.
Here's how it works:
Drops are used as hit points. Keen starts a game with 100 health ($0064) and gets an extra hit point with each drop, up to a maximum of 200 health ($00C8) As a side effect getting 100 drops will NOT give Keen an extra life.
When Keen touches something dangerous it takes 1 from his HP (Quite quickly!) If his HP is less than 1 then his HP are set back to maximum ($0064 again!) and he dies. (This is so he doesn't start the level with 0 health. You can set it so he has say 50 health if he dies.)
It is possible to make something insta-kill while using this patch, but it will need a separate patch for every thing you want to kill Keen instantly. (Tiles for example can be made to insta-kill while sprites take HP.)
The status window has also been adjusted to replace drops with a 3-digit HP counter.
Code: Select all
#Keen's starting health
%patch $5CB9 $C7 $06 $7A5AW $0064W
#Max health obtainable by getting drops (SIDE EFFECT: No 100 drops-> extra life)
%patch $D075 $A1 $7A5AW $3D $00C8W $73 $04 $FF $06 $7A5AW $5F $5E $5D $CB
#Kill Keen code
%patch $CBE9 $55 $8B $EC $83 $3E $D1 $C5 $00 $74 $03 $E9 $008BW $83 $3E $29
$C6 $00 $74 $03 $E9 $0081W $8B $1E $D6 $A7 $81 $7F $1C $D4 $0C
$75 $03 $E9 $0073W $FF $0E $7A5AW $83 $3E $7A5AW $01 $7D $68
$C7 $06 $7A5AW $0064W #On death set HP=100
$C7 $06 $B5 $CA $0000W $C7 $06 $D1 $C5 $001EW #Set clip = 0, ??? = 1E
$C7 $06 $DA $A7 $0001W $C7 $47 $06 $0000W $C7 $47 $20 $0003W #Set fore = 3, ??? = 1, ??? = 0
$9A $1D02002ARL $3D $0080W #If level = 17 then jump, else random check
$7D $12 $B8 $0CF2W $50 $FF $36 $D6 $A7 $9A $09DC120ARL $83 #Turn Keen into dead 1
$C4 $04 $EB $10 $B8 $0D10W $50 $FF $36 $D6 $A7 $9A $09DC120ARL #Or dead 2
$83 $C4 $04 $B8 $0017W $50 $9A $187409F1RL $83 $C4 $02 #Play sound 17
$8B $1E $D6 $A7 $C7 $47 $18 $FFD8W $C7 $47 $16 $0010W $5D $CB #Set speed to -24 V, 16 H
#Display HP in status window
%patch $2F4CB "HP" $00
%patch $8028 $0018W #Width
%patch $8030 $00D8W #Horizontal position (Box)
%patch $804E $00D8W #Horizontal position (Counter)
%patch $8046 $0003W #Number of digits
Here's how it works:
Drops are used as hit points. Keen starts a game with 100 health ($0064) and gets an extra hit point with each drop, up to a maximum of 200 health ($00C8) As a side effect getting 100 drops will NOT give Keen an extra life.
When Keen touches something dangerous it takes 1 from his HP (Quite quickly!) If his HP is less than 1 then his HP are set back to maximum ($0064 again!) and he dies. (This is so he doesn't start the level with 0 health. You can set it so he has say 50 health if he dies.)
It is possible to make something insta-kill while using this patch, but it will need a separate patch for every thing you want to kill Keen instantly. (Tiles for example can be made to insta-kill while sprites take HP.)
The status window has also been adjusted to replace drops with a 3-digit HP counter.
- troublesomekeen
- Posts: 223
- Joined: Fri Feb 03, 2012 7:56 pm
- Location: Shadowlands
- Contact:
Tsk tsk, I do believe I said a sound could be easily added:
You may also want Keen to 'jump' in shock when hurt or do other things, again, simple enough to add.
Code: Select all
#Keen's starting health
%patch $5CB9 $C7 $06 $7A5AW $0064W
#Max health obtainable by getting drops (SIDE EFFECT: No 100 drops-> extra life)
%patch $D075 $A1 $7A5AW $3D $00C8W $73 $04 $FF $06 $7A5AW $5F $5E $5D $CB
#Kill Keen code
%patch $CBE9 $55 $8B $EC $83 $3E $D1 $C5 $00 $74 $03 $E9 $008BW $83 $3E $29
$C6 $00 $74 $03 $E9 $0081W $8B $1E $D6 $A7 $81 $7F $1C $D4 $0C
$75 $03 $E9 $0073W $FF $0E $7A5AW $83 $3E $7A5AW $01 $7D $6A
$C7 $06 $7A5AW $0064W #On death set HP=100
$C7 $06 $B5 $CA $0000W $C7 $06 $D1 $C5 $001EW #Set ??? = 0, ??? = 1E
$C7 $06 $DA $A7 $0001W $C7 $47 $06 $0000W $C7 $47 $20 $0003W #Set ??? = 1, fore = 3, clip = 0
$9A $1D02002ARL $3D $0080W #If level = 17 then jump, else random check
$7D $12 $B8 $0CF2W $50 $FF $36 $D6 $A7 $9A $09DC120ARL $83 #Turn Keen into dead 1
$C4 $04 $EB $10 $B8 $0D10W $50 $FF $36 $D6 $A7 $9A $09DC120ARL #Or dead 2
$83 $C4 $04 $B8 $0017W $50 $9A $187409F1RL $83 $C4 $02 #Play sound 17
$8B $1E $D6 $A7 $C7 $47 $18 $FFD8W $C7 $47 $16 $0010W $5D $CB #Set speed to -24 V, 16 H
$B8 $0020W $50 $9A $187409F1RL $83 $C4 $02 $5D $CB
#Display HP in status window
%patch $2F4CB "HP" $00
%patch $8028 $0018W #Width
%patch $8030 $00D8W #Horizontal position (Box)
%patch $804E $00D8W #Horizontal position (Counter)
%patch $8046 $0003W #Number of digits
- troublesomekeen
- Posts: 223
- Joined: Fri Feb 03, 2012 7:56 pm
- Location: Shadowlands
- Contact:
Sound! I knew that! I simply meant 'as is'
*loads patch*
Awwman! It's a thing of beauty! That sound is perfect!
Umm.. is that 'jump in shock' something that is added via patch or graphical alterations?
This feels like... a mecha Keen mod. Something like Contra, Power Suits, tons of enemies gunmen, raging fires and burning buildings...
*loads patch*
Awwman! It's a thing of beauty! That sound is perfect!
Umm.. is that 'jump in shock' something that is added via patch or graphical alterations?
This feels like... a mecha Keen mod. Something like Contra, Power Suits, tons of enemies gunmen, raging fires and burning buildings...
#Keen swimming Cache start
%patch $30710 $82 $00
WoW will not crash
if this patch:
#Keen doesn't die differently in WoW
%patch $CBE9 $55 $8B $EC $83 $3E $D1 $C5 $00 $74 $03 $E9 $007AW $83 $3E $29
$C6 $00 $74 $03 $E9 $0070W $8B $1E $D6 $A7 $81 $7F $1C $D4 $0C
$75 $03 $E9 $0062W $C7 $06 $B5 $CA $0000W $C7 $06 $D1 $C5 $001EW #Set ??? = 0, ??? = 1E
$C7 $06 $DA $A7 $0001W $C7 $47 $06 $0000W $C7 $47 $20 $0003W #Set ??? = 1, fore = 3, clip = 0
$9A $1D02002ARL $3D $0080W #Random check
$7D $12 $B8 $0CF2W $50 $FF $36 $D6 $A7 $9A $09DC120ARL $83 #Turn Keen into dead 1
$C4 $04 $EB $10 $B8 $0D10W $50 $FF $36 $D6 $A7 $9A $09DC120ARL #Or dead 2
$83 $C4 $04 $B8 $0017W $50 $9A $187409F1RL $83 $C4 $02 #Play sound 17
$8B $1E $D6 $A7 $C7 $47 $18 $FFD8W $C7 $47 $16 $0010W $5D $CB #Set speed to -24 V, 16 H
can be made so keen only dies on the second dead keen than every thing would work the same way.
%patch $30710 $82 $00
WoW will not crash
if this patch:
#Keen doesn't die differently in WoW
%patch $CBE9 $55 $8B $EC $83 $3E $D1 $C5 $00 $74 $03 $E9 $007AW $83 $3E $29
$C6 $00 $74 $03 $E9 $0070W $8B $1E $D6 $A7 $81 $7F $1C $D4 $0C
$75 $03 $E9 $0062W $C7 $06 $B5 $CA $0000W $C7 $06 $D1 $C5 $001EW #Set ??? = 0, ??? = 1E
$C7 $06 $DA $A7 $0001W $C7 $47 $06 $0000W $C7 $47 $20 $0003W #Set ??? = 1, fore = 3, clip = 0
$9A $1D02002ARL $3D $0080W #Random check
$7D $12 $B8 $0CF2W $50 $FF $36 $D6 $A7 $9A $09DC120ARL $83 #Turn Keen into dead 1
$C4 $04 $EB $10 $B8 $0D10W $50 $FF $36 $D6 $A7 $9A $09DC120ARL #Or dead 2
$83 $C4 $04 $B8 $0017W $50 $9A $187409F1RL $83 $C4 $02 #Play sound 17
$8B $1E $D6 $A7 $C7 $47 $18 $FFD8W $C7 $47 $16 $0010W $5D $CB #Set speed to -24 V, 16 H
can be made so keen only dies on the second dead keen than every thing would work the same way.
Re: Keen with Hit Points (Keen4)
Can this hit point patch be done for Keen 5 and 6?