Patch:Keen on Platforms
This page deals with patches relating to Keen standing on Platforms. In most games Keen can stand on certain sprites as if they were solid ground, however in Keen 5 there is a special action for when Keen is standing on Platform type sprites. Most of the patches on this page relate to this special case.
- 1 Sprite actions
- 2 Sprite Behavior
- 3 Speed and Jump Height
- 4 Sprite Collision
- 5 Animations
- 6 Sprite-tile interaction
- 7 Action type
- 8 Deprotect and stick to ground
The 'Keen on Platforms' action is but a single action. It loops to itself so Keen will continue in that action once he has started. The action responds to the usual keypresses so that Keen can stop standing on Platforms in the same way he can stop standing still.
There are two checks that transform a standing Keen into a Platform standing Keen; the first is part of Keen's 'stand on ground' code, the second part of his 'stand still' code. In both cases once it is detected that Keen is in contact with a Platform the game will check to see if he is already using the special action, and if not will transform him.
Actions: $08A6W #Keen on platforms
#Keen on ground %patch $AE2B [$08A6W] #If not this... %patch $AE32 [$08A6W] #...become this #Keen still %patch $AF6D [$08A6W] #If not this... %patch $AF74 [$08A6W] #...become this #Stand on Platforms loop %patch $30C02 [$08A6W]
Keen doesn't use the special action
This patch overrides both checks meaning that while Keen can stand on Platforms as if they were solid ground, he does not use the special action and animation.
#Keen doesn't use special 'stand on Platforms' action %patch $AE2D $EB %patch $AF6F $EB
When on Platforms Keen uses a unique behavior, one that is a subset of Keen's standing behavior, 'GroundInput'. This means that it largely behaves the way Keen does when standing still and cannot do anything different or new.
#Stand on Platforms %patch $30BF6 $0AAF032BRL
On platforms Keen does have a downwards speed. This combined with his animation and 'stick to ground' variables means he is constantly pushing down into the ground and will fall if said ground is removed.
#Stand on Platforms %patch $30BF2 [$0000W $0020W]
Keen uses his usual sprite collision when riding platforms.
#Stand on Platforms %patch $30BFA $0AAF1597RL
Keen has a unique platform-riding animation which is one of the few thins that sets it apart from his standing state.
#Stand on Platforms %patch $30BE6 $008BW $008BW %patch $30BF0 $0004W #Animation speed
Keen uses his 'stand on ground' tile interaction when on platforms.
Sprite tile interaction
#Stand on Platforms %patch $30BFE $0AAF1AC6RL
As Keen must move smoothly react quickly and animate his action is type 3.
Sprite action type
#Stand on Platforms %patch $30BEA [$0003W]
In order to properly fall if the ground vanishes Keen needs to use the 'stick to ground' variable for this action.
Sprite deprotect, stick
#Stand on Platforms %patch $30BEC [$0000W $0001W]