From KeenWiki
Jump to: navigation, search

Foobs are harmless creatures found in Keen 3. This page lists patches relating to Foob 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

Foobs use sprite type 7 which means they don't affect Keen and are harmless to everything else.

Patch: Keen 3
#Foob sprite type:
%patch $3E1B $07

Sprite Behavior

The Foob has three behaviors and a collision. By default it walks back and forth, looking for Keen. When Keen is spotted it emits a noise and runs away from him at speed. After this it uses a silent 'keep running' behavior until it is offscreen, when it will return to walking.

$4A0CW #Walk, bounce off walls, search for Keen
$4AD8W #Keep running
$4B2CW #Scream and run from Keen
$4B7EW #Foob collision

Patch: When spawned
%patch $3E3E $4A0CW 

Patch: In level
#If Keen spotted
%patch $4AA8 $4B2CW
#While running
%patch $4B7A $4AD8W
#Keep running
#If running offscreen
%patch $83AE $4A0CW
#Foob collision
%patch $3E43 $4B7EW

Don't run from Keen

This patch stops the Foobs from running when they see Keen. This makes them do little more than walk back and forth, dying if they walk into Keen.

Patch: Foob don't run from Keen
#Foob don't run from Keen
%patch $4A9C $EB

Speed and Jump Height

The default speed of Foobs is +-50 when walking and +-250 when running. They will head towards Keen when spawned by default.

Patch: Starting speeds
%patch $3E68 $0032W 
#If left of Keen (Move right)
%patch $3E61 $FFCEW
#If right of Keen (Move left)

Patch: In level
#When walking about randomly:
%patch $4AC4 $FFCEW
#Hits right wall (Go left)
%patch $4AD0 $0032W
#Hits left wall (Go right)
#Running away
%patch $4B74 $FF06W
#Run left
%patch $4B6C $00FAW
#Run right

Sprite Collision

Foobs interact with Keen's and the enemy shots (Including the Vortimom's and enemy shooter shots. This produces a shot Foob. (See behavior section.) The shot Foob 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 and animate'

Patch: Foob
%patch $3E43 $4B7EW   
#Foob collision
%patch $4B8A $3D $01
#Foob killed by Keen
%patch $4B8F $3D $0F
#Foob killed by Keengun
%patch $4B94 $3D $10
#Foob killed by enemy gun
%patch $4BB7 $7EC0W
#Dead Foob behavior
%patch $4BB2 $6A00W
#Dead Foob collision


Patch: When spawned
%patch $3E6D $005DW 

Patch: In level
%patch $4A1E $005FW 
#Walking right
%patch $4A26 $005DW
#Walking left
%patch $4A30 $01
#Frames used -1
%patch $4AE7 $005FW
#Running right
%patch $4AEF $005DW
#Running left
%patch $4AFB $01
#Frames used -1
%patch $4B3D $0061W
%patch $4B3A $01
#Frames used -1
%patch $4BAD $0063W
#When shot
%patch $4BA8 $03
#Frames used