Patch:Vortininja
Vortininjas are dangerous, black-cloaked enemies found in Keen 3. This page lists patches relating to Vortininja sprites. It is divided into sections relating to the various sprite properties the patches involve. Being fluent with various sprite patch pages will help when working with these patches.
Sprite Type
Vortininjas use sprite type 6 which means they kill Keen on contact. They do not otherwise interact with other sprites.
Keen 3
#Vortininja sprite type:
%patch $3DB9 $06
Sprite Behavior
There are two behaviors associated with the Vortininja, the first is to sit, wait and jump, the second to fall and land. The Ninja will wait until Keen is seen then jump. After landing it will look for Keen again. The Vortninja has a randomizer that picks the speed of its jumps, this makes it much more haphazard than the simplicity of its behavior would indicate. The Vortninja collision is simple enough, it can only be killed by Keen.
Behaviors: $48F7W #Vortininja look for Keen, attack $499DW #Vortininja jump\fall $49CDW #Vortininja collision
When spawned
%patch $3DDC {$48F7W}
In level
%patch $4997 {$499DW} #Jump when Keen is spotted
%patch $49C8 {$48F7W} #After landing, return to looking
%patch $3DE1 {$49CDW} #Vortininja collision
Immediately jump if Keen is in range
This patch removes the random pause between Keen being in-range and the Vortininja jumping after him.T his means it will attack Keen mercilessly if he is in range.
Vortininja immediately jumps if Keen is in range
#Immediately jump if Keen is in range
%patch $4984 $90 $90
Don't jump
This patch stops the Vortininja from jumping, meaning it just stands and faces Keen.
Vortininja don't jump at Keen
#Vortininja don't jump at Keen (Frees $4988-$49CC)
%patch $4984 $8B $E5 $5D $C3
Speed and Jump Height
The default speed of Vortininjas is +-250 when jumping. Their jump height is semi-random and governed by the same code that randomizes the vortikids jump height.
In level
%patch $4916 [$00FAW] #Jumping right
%patch $4924 [$FF06W] #Jumping left
Sprite Collision
Vortininjas interact with Keen's shots. This produces a shot Vortininja. (See behavior section.) The shot Vortininja also resets its collision and behavior, the new collision, used for most dead sprites ignores all other sprites, the new behavior likewise is just 'fall an animate'
Keen 3
%patch $3DE1 {$49CDW} #Vortininja collision
%patch $49D8 $3F $0F #Vortininja killed by Keen's shot
%patch $3DE6 [$0005W] #Vortininja strength
%patch $4A07 ($7EC0W) #Dead Vortininja behavior
%patch $4A02 ($6A00W) #Dead Vortininja collision
Animations
When spawned
%patch $3E0B [$004DW] #Start
In level
%patch $492A [$004DW] #Standing right
%patch $491C [$004FW] #Standing left
%patch $4934 $01 #And next frame
%patch $49B4 [$0051W] #Jumping left
%patch $49AC [$0052W] #Jumping right
%patch $49FD [$0053W] #Shot
%patch $49F8 $02 #Frames used
Sounds
These are the sounds the sprite uses.
Keen 3
%patch $49E9 $27 #Vortininja death
#Don't make sounds:
%patch $49EC $90 $90 $90 $90 #Vortininja death