Patch:Ice tiles
Ice tiles are tiles in Keen Vorticons that make Keen slip uncontrollably along them. Keen cannot change direction or speed or walk on them, and can only stand still if he lands perfectly vertically on them. They are only found by default in Keen 1, but are possible in all Keen Vorticons episodes.
With patching it is possible to add ice tiles to Keen Galaxy by replacing the mooning tile property.
The 'ice tile' is actually a tile property of the top of the tile. Tops of tiles can have four values, nothing, solid, slippery and ice. In this case the ice value is $03. The 'slippery' value is discussed under Patch:Slippery tiles.
Ice-type tiles in Keen Galaxy
These patches add ice-type tiles to Keen Galaxy by replacing the mooning tile property. This prevents Keen mooning but can be used to add a whole new dynamic to levels. As an addon the property is not as solid as in Keen Vorticons, sliding speed is controlled by Keen's first walking speed and little else can be patched inn regards to it.
The patch works by converting Keen standing to Keen walking, in his first frame. This means Keen can walk across ice with no impunity.
Mooning tile is now 'ice'
#Mooning tile is now 'ice' -Keen 4
%patch $D1F8 $81 $7C $1C [$098CW] {$75} $05 $C7 $44 $1C [$1094W] $EB $18
#Mooning tile is now 'ice' -Keen 5
%patch $C50B $81 $7C $1C [$0888W] {$75} $05 $C7 $44 $1C [$0F72W] $EB $18
#Mooning tile is now 'ice' -Keen 6
%patch $C2F2 $81 $7C $1C [$089AW] {$75} $05 $C7 $44 $1C [$0F0CW] $EB $18
Ice tile property
This is a list of all the references that are made to the ice property in the games. They are utilized in patches below. Changing these references to something else will effectively remove the ice property from the game. By default all these references are $03 $7D, that is, ice is any tile with a top property of 3 or higher; so changing a reference to $02 $7D will make both slippery tiles (Property 2) and ice tiles behave like ice.
By changing various variables it is possible to make Keen do a number of interesting things while on ice.
As an example the last reference stops Keen from making a walking sound if he is moving ('walking') over a tile of property 3 or above. See Patch:Jump conditions.
Keen 1
#References to ice property $03
%patch $3917 [$03] {$7D} #What tile properties stops Keen from changing his speed when on them
%patch $39A3 [$03] {$7D} #Which tile properties make Keen slide
%patch $39EF [$03] {$7D} #What tile properties stop Keen animating while walking left
%patch $3A12 [$03] {$7D} #What tile properties stop Keen animating while walking right
%patch $3A44 [$03] {$7D} #What tile properties stop Keen making the walking sound
Keen 2
#References to ice property $03
%patch $6759 [$03] {$7D} #What tile properties stops Keen from changing his speed when on them
%patch $67E5 [$03] {$7D} #Which tile properties make Keen slide
%patch $6831 [$03] {$7D} #What tile properties stop Keen animating while walking left
%patch $6854 [$03] {$7D} #What tile properties stop Keen animating while walking right
%patch $6886 [$03] {$7D} #What tile properties stop Keen making the walking sound
Keen 3
#References to ice property $03
%patch $6FB9 [$03] {$7D} #What tile properties stops Keen from changing his speed when on them
%patch $7043 [$03] {$7D} #Which tile properties make Keen slide
%patch $708F [$03] {$7D} #What tile properties stop Keen animating while walking left
%patch $70B6 [$03] {$7D} #What tile properties stop Keen animating while walking right
%patch $70E8 [$03] {$7D} #What tile properties stop Keen making the walking sound
Slip speed on ice
This is how fast Keen slips on ice. Ice sets Keen's speed to be a constant, unchangeable value either left or right depending on which way he faces. Keen cannot alter this speed in any way except by leaving the ice. Setting this speed to zero will make Keen stand still when he touches ice, making it 'sticky'
Keen 1
#Speed keen slides on ice
%patch $39B1 [$00B4W]
%patch $39C0 [$FF4CW]
Keen 2
#Speed keen slides on ice
%patch $67F3 [$00B4W]
%patch $6802 [$FF4CW]
Keen 3
#Speed keen slides on ice
%patch $7051 [$00B4W]
%patch $7060 [$FF4CW]
Keen doesn't slip on ice
This patch changes the tile reference so that Keen's speed is not altered when he lands on it. This means that whatever speed he had when he landed he will keep, making the ice seem very 'sticky' and odd.
Keen 1
#Keen's speed doesn't change on ice
%patch $39A4 $EB
Keen 2
#Keen's speed doesn't change on ice
%patch $67E6 $EB
Keen 3
#Keen's speed doesn't change on ice
%patch $7044 $EB
Keen can change his direction while on ice
This patch allows Keen to slow down, turn and speed up while crossing ice, much like ca can when walking. However he still slips smoothly across it, making ice levels far more fun.
Keen 1
#Keen can change his direction while on ice
%patch $3917 $03 $90 $90
%patch $39A3 $03 $EB
Keen 2
#Keen can change his direction while on ice
%patch $6759 $03 $90 $90
%patch $67E5 $03 $EB
Keen 3
#Keen can change his direction while on ice
%patch $6FB9 $03 $90 $90
%patch $7043 $03 $EB
Ice behaves like slippery tiles
This patch turns ice tiles into slippery tiles. It may be useful in 'difficulty patch files'
Keen 1
#Ice behaves like slippery tiles
%patch $3918 $90 $90
%patch $39A3 $03 $EB
%patch $39F0 $90 $90
%patch $3A13 $90 $90
%patch $3A45 $90 $90
Keen 2
#Ice behaves like slippery tiles
%patch $675A $90 $90
%patch $67E5 $03 $EB
%patch $6832 $90 $90
%patch $6855 $90 $90
%patch $6887 $90 $90
Keen 3
#Ice behaves like slippery tiles
%patch $6FBA $90 $90
%patch $7043 $03 $EB
%patch $7090 $90 $90
%patch $70B7 $90 $90
%patch $70E9 $90 $90
Animate while slipping on ice
By default the third and fourth references to ice stop Keen from animating when he is sliding across ice. This makes it seem as if he is slipping without moving. This patch makes him use the walk animations while slipping across ice.
Keen 1
#Animate while sliding on ice
%patch $39F0 $90 $90 #Left
%patch $3A13 $90 $90 #Right
Keen 2
#Animate while sliding on ice
%patch $6832 $90 $90 #Left
%patch $6855 $90 $90 #Right
Keen 3
#Animate while sliding on ice
%patch $7090 $90 $90 #Left
%patch $70B7 $90 $90 #Right
Other tile types stop animation
If the tile property is changed then Keen will 'slip' across other tile types, even normal ground. For example changing the $03 to $02 makes Keen slip across both ice and slippery tile types.
Keen 1
#Stop Keen animating when crossing this tile type
%patch $39EF [$03] {$7D} #What tile properties stop Keen animating while walking left
%patch $3A12 [$03] {$7D} #What tile properties stop Keen animating while walking right
Keen 2
#Stop Keen animating when crossing this tile type
%patch $6831 [$03] {$7D} #What tile properties stop Keen animating while walking left
%patch $6854 [$03] {$7D} #What tile properties stop Keen animating while walking right
Keen 3
#Stop Keen animating when crossing this tile type
%patch $708F [$03] {$7D} #What tile properties stop Keen animating while walking left
%patch $70B6 [$03] {$7D} #What tile properties stop Keen animating while walking right
Make walking sound when crossing ice
By default Keen's walking sounds are silenced when crossing ice. This patch makes them play.
Keen 1
#Make walking sound when crossing ice
%patch $3A45 $90 $90
Keen 2
#Make walking sound when crossing ice
%patch $6887 $90 $90
Keen 3
#Make walking sound when crossing ice
%patch $70E9 $90 $90
Other tile types stop walking sound
If the tile property is changed then Keen's walking sound will be silenced when crossing other tile types, even normal ground. For example changing the $03 to $02 makes Keen walk (or slip) silently over both ice and slippery tile types.
Keen 1
#What tile properties stop Keen making the walking sound
%patch $3A44 [$03] {$7D}
Keen 2
#What tile properties stop Keen making the walking sound
%patch $6886 [$03] {$7D}
Keen 3
#What tile properties stop Keen making the walking sound
%patch $70E8 [$03] {$7D}
Ice tile property does miscellaneous things
These patches alter the Ice tile property to do things other than what it usually does. As a side effect various properties of the ice tile will be disabled or altered.
Ice tiles kill Keen when he stands on them
This patch makes the Ice type tiles lethal to Keen if he stands on them. This patch alters Keen's sprite behavior; changing the brown highlighted value(s) will make him adopt other behaviors. This can result in, for example, floors that stun Keen instead.
The highlighted values are as follows; the first brown value checks if god mode is enabled (See Patch:Game stats.); the second, blue, value is what its value must be to trigger the code (0 = off) and the third, brown, value is the jump condition. The fourth value is what to change Keen's sprite behavior to and the fifth, blue, value is the sound to play when this happens. Finally on the second line Keen's collision is changed to 'nothing' (To stop him interacting with things after he's dead. If not using this code to kill Keen replace $C7 $06 $44 $99 $6A00W $90 with $EB $05.)
There is a slight bug with this patch in that Keen can escape death by quickly jumping off of the surface, causing the death sound to play but the player to be unharmed.
Keen 3
#'Ice' tile top property kills Keen if he stands on it
%patch $7046 $83 $3E {$5FD6W} [$00] {$75} $15 $C7 $06 $42 $99 {$789EW} $B8 [$0008W]
$50 $E8 $590FW $59 $C7 $06 $44 $99 {$6A00W} $90
#Make these tiles behave more like normal ground with godmode
%patch $6FB9 $04 $7D #What tile properties stops Keen from changing his speed when on them
%patch $708F $04 $7D #What tile properties stop Keen animating while walking left
%patch $70B6 $04 $7D #What tile properties stop Keen animating while walking right
%patch $70E8 $04 $7D #What tile properties stop Keen making the walking sound
Ice tiles shoot Keen into the air
This patch is similar to the above (Including its weakness), but instead of killing Keen it propels him into the air. The second blue value is the speed, which must be negative. (The first blue value is the sound, and the third brown value transforms Keen's behavior into that of jumping Keen.)
Keen 3
#On ice Keen is fired into the air
%patch $7046 $83 $3E {$5FD6W} [$00] {$75} $15 $C7 $06 $42 $99 {$7230W} $B8 [$0008W]
$50 $E8 $590FW $59 $C7 $06 $32 $99 [$FE00W] $90
#Make these tiles behave more like normal ground with godmode
%patch $6FB9 $04 $7D #What tile properties stops Keen from changing his speed when on them
%patch $708F $04 $7D #What tile properties stop Keen animating while walking left
%patch $70B6 $04 $7D #What tile properties stop Keen animating while walking right
%patch $70E8 $04 $7D #What tile properties stop Keen making the walking sound
Ice tiles reset Purple Spark counter
This patch resets the counter when Keen steps on ice property tiles, place one at the level start and that will fix that problem. (Side effect, you can't use ice tiles throughout the level:
Keen 3
#'Ice' tile top property resets Purple spark counter on contact
%patch $7046 $83 $3E {$5FD6W} [$00] {$75} $15 $C7 $06 {$990CW} [$0000W] $EB $0D
#Make these tiles behave more like normal ground
%patch $6FB9 $04 $7D #What tile properties stops Keen from changing his speed when on them
%patch $708F $04 $7D #What tile properties stop Keen animating while walking left
%patch $70B6 $04 $7D #What tile properties stop Keen animating while walking right
%patch $70E8 $04 $7D #What tile properties stop Keen making the walking sound