***************************************** 2.) How sprites behave [And creating more than one] ***************************************** These patches control what behaviours the sprites use. A behaviour is a small piece of code that tells a sprite what animation frames, animation speed, blah, blah, blah to use. For example, the Vortimom shooting behaviour tells the vortimom to stand still, use a nonanimating shooting sprite, and to spawn a flame bulllet. You can see that a number of patches here involve changing parts of these behaviours. What the patches in this section do is alter what behaviours each sprite is told to use. For example, you can make a vorticon use the vortikid behaviours; it will behave EXACTLY like a vortikid, except that it will kill Keen, and have the vorticon strength [These are not behaviours, but found in other sections] If you fiddle with the vortikid speed, it will also affect your vorticon[kid] This may sound a bit confusing, and indeed, this is the hardest section to understand, so its important to pay close attention to the notes that follow. 1.)Behaviours control stuff: The behaviours control what a sprite looks like, how it moves and how many animation frames it uses. A lot of patches given here alter the behaviours directly; for example, if you make the Meep slower, you are altering a speed in the Meep walking behaviour. What it is aimed to do here is alter how sprites act. For example, no matter how much you alter a Meep's speed, you cannot make it Move up and down Keen. By altering its behaviour references, you can. Note also that behaviours also dictate what the sprite checks for, for example the search for Keen behaviour usually checks to see where Keen is, behaviours also usually check to see if the sprite is off the ground, near a wall, etc, so if a patch fails it may be due to the behaviour you've patched not finding any ground say, and thus switching to another before Keen sees it. Also, the speeds given in later sections are usually used by only one behaviour each, so if you patch a speed or behaviour only, the sprite may not behave as expected. You should make sure you know exactly what speed each behaviour uses [Usually pretty easy to tell] and patch it accordingly. This also means you can make the sprites [especially Vorticons] speeds do interesting things... 2.) Sprites reference behaviours: When a sprite is created it is given a 'default' behaviour; this tells the sprite what it is and controls what the sprite will do. For example the Vorticon is given $4A $41 and the Vortikid $11 $43 If we patch a Vortikid to have $4A $41 then it will behave exactly like a Vorticon [Of course it will kill Keen and spwan a dead Vortikid when shot and all the other stuff you'll see in later sections,, but it will *look* and *act* just like a Vorticon] These are listed seperatly for your convenience first. 3.) Behaviours reference behaviours: Just like a sprite has to be told what to behave like when created, it also has to be told what to behave like *after* having done something. For example, if a Vortimom shoots it has to be told what to do afterwards; should it become a Vort? A Vortikid? Hell no, it has to be told to be a Vortimom. And where is it told to do this? In the behaviour its just done of course! So at the end of the 'Charging Garg' behaviour there is a bit saying, yes $0C $44, so that it returns to Vortimomisity. 4.) What this means Now we know how things work we can start patching! If you patch the sprites default behaviour, it will be permanently changed into another sprite. For example, changing the Vort's default behaviour to Meep, it will act like a Meep, and since Meeps *never* turn into Vorts, it will stay a Meep forever. [But it will kill Keen, not push him and other Vorty stuff] A list of these 'spawning behaviours' is provided first, as it is most likely that you will want to alter these. If you alter the behaviour at the end of a behaviour, the sprite will do something then change into another sprite. For example, altering the behaviour at the end of the Meep shoot behaviour into change into Vort, after all Meeps shoot, they will turn into Vorts. If you alter a behaviour other than those above, it is triggered randomly or by environment. For example, the Vort search for Keen behaviour is triggered randomly during the Vort walking behaviour. If this is altered to Vortikid walk behaviour the Vort will randomly turn into a walking Vortikid when [And ONLY when!] its walking. This does not mean of course that other sprite can't use this behaviour, only that the only time it is 'naturally' activated is randomly when the Vort is walking. By mixing these patches you can do quite complex things, so complex they will actually only make sense to you. For example, you can make a Vort look around, become a Vortimom that then shoots and becomes a red ball. And worse as well, *any* sprite can be made to change into almost *any* other sprite, doing anything The watchword here is 'imagination' Don't try and see whats possible; instead think of something and try to make it possible. 5.)Some notes on specific behaviour reference values: Each behaviour here is explained followed by what its used for in brackets. You will notice many behaviours are used more than once, so pay attention to what you're patching. The zap/zot sprites are *complex* All zapzots use the behaviour 'stand still and dissapear' but there are 13 different types to take into account. Check other sections as well, as you can do awesome *awesome* things with these little guys. The behaviour $C0 $7E is 'stop' This is used by dead sprites; changing this will make a sprite spawn another sprite when shot [This sprite will affect Keen the same way as its parent, and will be immortal unless you patch the dead sprite] This behaviour can NOT be used with living sprites. If Keen transforms into another sprite [A Vort say] he can still be transformed back into Keen if he is shot or frozen, so long as he hasn't been patched. This could make some interesting transformations... Also; the dead Keen behaviour is about the only useful one to use on other sprites as it doesn't return back to Keen. Changing the behaviour of any of the shots can cause say, Vortimoms to spawn lots of Vorticons, this can be bad as these sprites may build up and crash the game. Also note that the bullet behaviours only work with bullet sprites; for example, the Vorticon cannot use the Vortimom bullet behaviour [It becomes a backwards walking Keen] but the Meep bullet can [And the Vortimom bullet can spawn a Vorticon] This is because both the vortimom and meep bullets aren't normally animated, but use a previously defined sprite; when another sprite uses their behaviours it finds no sprite to use so thus uses sprite animations 0 and 1 The invented behaviour 'stand still' is just for fun, it will amke your sprite stand still using its start animation [unanimating] Till you do something to it. #A list of sprite spawning behaviours: %patch $7149 $44 $73 #Keen start %patch $3C4E $4A $41 #Vorticon start %patch $3CB0 $11 $43 #Vortikid start %patch $3D12 $0C $44 #Vortimom start %patch $3D7A $46 $47 #Meep behaviour: %patch $3DDC $F7 $48 #Vortninja behaviour %patch $3E3E $0C $4A #Foob behaviour: %patch $3EA0 $0B $4C #Ball behaviour %patch $3F22 $BD $4B #Jack behaviour %patch $3FAA $47 $4C #Horizontal platform behaviour %patch $3FEC $47 $4C #Vertical platform behaviour %patch $4094 $02 $4E #Purple spark behaviour %patch $40D1 $A6 $4E #Heart behaviour %patch $4D8C $F2 $4C #Rightward bullet behaviour %patch $4DF3 $F2 $4C #Downward bullet behaviour %patch $430B $C0 $7E #Dead Vorticon %patch $4407 $C0 $7E #Dead Vortikid %patch $4741 $C0 $7E #Dead Vortimom %patch $48CD $C0 $7E #Dead Meep %patch $4A07 $C0 $7E #Dead Vortninja %patch $4BB7 $C0 $7E #Dead Foob #A full list of sprite behaviours; %patch $3C4E $4A $41 #Head toward Keen, turn when hitting walls, jump randomly[Vort default] %patch $419D $27 $42 #Use jumping anims, slide along, look for Keen [Rarely used when hits walls] %patch $4211 $27 $42 #Use jumping anims, slide along look for Keen [Used at mid-jump] %patch $4252 $75 $42 #Use walking and jumping anims, slide across ground TOWARD KEEN [While walking] %patch $42C6 $4A $41 #Head toward Keen, turn when hitting walls, jump randomly [After Vort does stuff] %patch $3CB0 $11 $43 #Run, turn when hitting walls, jumsp randomly [Vortikid default] %patch $4360 $91 $43 #Slide, unanimating, bounce off walls [Rarely used when hits walls] %patch $4374 $91 $43 #Slide, unanimating, bounce off walls [Used immediatley after spawning and after vortikid jumps] %patch $43BC $11 $43 #Run, turn when hitting walls, jump randomly [After Vortikid slides] %patch $3D12 $0C $44 #Walk, bounce off walls, shoot randomly [Vortimom default] %patch $4469 $B9 $44 #Shoot [Used randomly when walking] %patch $4539 $0C $44 #Walk, bounce off walls, shoot randomly [After shooting] %patch $3D7A $46 $47 #Walk, bounce off walls, shooot randomly [Meep default] %patch $4791 $D3 $47 #First shot [Used randomly when walking and after turning around] %patch $47B6 $D3 $47 #Shoot [Used when falling] %patch $4893 $46 $47 #Walk, bounce off walls, shooot randomly [After shooting] %patch $3DDC $F7 $48 #Stand still, search for Keen [Vortninja default] %patch $4997 $9D $49 #Jump [When Keen is spotted] %patch $49C8 $F7 $48 #Stand still, search for Keen [After Vortninj jumps] %patch $3E3E $0C $4A #Walk, bounce off walls, search for Keen [Foob default] %patch $4AA8 $2C $4B #Scream and run [When Keen is spotted] %patch $4B7A $D8 $4A #Keep running [When Foob is running and hits a wall, or spots Keen when running] %patch $83AE $0C $4A #Walk, bounce off walls, search for Keen [After Foob runs, and goes offscreen] %patch $3EA0 $0B $4C #Bounce off of things use initial animation [All Ball does] %patch $3F22 $BD $4B #Bounce off of things different use initial animation [All Jack does] %patch $3FAA $47 $4C #Move diagonally bouncing off of floors ONLY [Horizontal platform default] %patch $3FEC $47 $4C #Move diagonally bouncing off of floors ONLY [Vertical platform default] %patch $4C7B $CA $4C #Pause, then reverse direction [When platforms hit left walls] %patch $4C9A $CA $4C #Pause, then reverse direction [When platforms hit right walls] %patch $4CB7 $CA $4C #Pause, then reverse direction [When platforms hit ceilings] %patch $4CEE $47 $4C #Move diagonally bouncing off of floors ONLY [After pausing] %patch $4094 $02 $4E #[Purple spark default] %patch $40D1 $A6 $4E #Heart default] %patch $456D $6E $46 #Move across screen and zot against tiles [Vortimom bullet] %patch $4877 $D2 $48 #Move across screen, go through walls Useful only for Meep bullet [Meep bullet] %patch $4D8C $F2 $4C #[Rightward bullet default] %patch $4DF3 $F2 $4C #[Downward bullet default] %patch $7D07 $29 $7E #Move across screen zap/zot on tiles [Keen's bullet] %patch $430B $C0 $7E #Do nothing [Dead Vorticon] %patch $4407 $C0 $7E #Do nothing [Dead Vortikid] %patch $4741 $C0 $7E #Do nothing [Dead Vortimom] %patch $48CD $C0 $7E #Do nothing [Dead Meep] %patch $4A07 $C0 $7E #Do nothing [Dead Vortninja] %patch $4BB7 $C0 $7E #Do nothing [Dead Foob] %patch $4D11 $C0 $7E #Do nothing [Vert/horz bullet zap/zots] %patch $7EF3 $B1 $7E #Stay dead [Used by all dead sprites *after* they have died] %patch $7C91 $53 $55 #Be stunned until stun time runs out [Stunned Keen] %patch $5588 $07 $6F #Standing [Keen recovers from stunning] %patch $67A5 $07 $6F #Standing [When Keen stands on h/v platforms] %patch $741C $07 $6F #Standing [Keen lands on the ground after falling] %patch $7527 $07 $6F #Standing [After Keen shoots] %patch $774E $07 $6F #Standing [Stoping pogoing when touching the ground] %patch $718E $30 $72 #Starts jump [When Keen jumps] %patch $67B5 $30 $72 #Starts jumping [When pogo landing while on h/v plats and ball] %patch $7149 $44 $73 #Falling [Keen falls off a ledge] %patch $72DA $44 $73 #Falling [At top of jump, screws up if new sprite is bigger than Keen] %patch $769F $44 $73 #Falling [Keen stops pogoing in midair] %patch $731D $BA $74 #Shooting [Shooting right] %patch $7773 $BA $74 #Shooting [Shooting left] %patch $71FA $BA $74 #Shooting [When shooting and touching sprites] %patch $7492 $BA $74 #Shooting [When shooting while jumping\falling] %patch $76C4 $BA $74 #Shooting [When shooting while jumping\falling after above] %patch $71E9 $BA $74 #Shooting [Unknown use] %patch $730C $BA $74 #Shooting [Unknown use] %patch $7481 $BA $74 #Shooting [Unknown use] %patch $76B3 $BA $74 #Shooting [Unknown use] %patch $7762 $BA $74 #Shooting [Unknown use] %patch $745F $6E $75 #Pogoing [When Keen presses ctrl+alt in midjump or falling] %patch $7720 $6E $75 #Pogoing [When Keen pogoes normally] %patch $71C7 $F9 $76 #Pogoing off floor [Keen starts pogoing] %patch $765C $F9 $76 #Pogoing off floor [Keen pogoes off floor] %patch $6AD4 $9E $78 #Change this and the camera follows dead Keen to the level top %patch $7920 $9E $78 #Keen dies [Behaviour used when Keen dies] %patch $795D $9E $78 #Keen dies, unknown use %patch $799F $9E $78 #Keen dies, changing this makes dead Keen keep dying if it hits something deadly again. %patch $45D8 $05 $7E #Stand still and dissapear [Vortimom hit right wall and Vortimom zapzot] %patch $464E $05 $7E #Stand still and dissapear [Vortimom hit left wall and Vortimom zapzot] %patch $46E8 $05 $7E #Stand still and dissapear [Vortimom bullet hit sprite zapzot] %patch $4F59 $05 $7E #Stand still and dissapear [Mangling machine destroyed zap/zot] %patch $7D73 $05 $7E #Stand still and dissapear [Keen shot hits right wall and Keen zapzot] %patch $7DE5 $05 $7E #Stand still and dissapear [Keen shot hits left wall and Keen zapzot] %patch $7E8D $05 $7E #Stand still and dissapear [Keen shot hits sprites zapzot] %patch $7E48 $05 $7E #Stand still and dissapear [Keen shot hits walls] %patch $5FF4 $A3 $5F #dunno; crashes game [But is definitely a sprite] %patch $7F1F $29 $7E #Move across screen zap/zot on tiles [Unknown, backup bullet?] %patch $7F86 $05 $7E #Stand still and dissapear [Unknown bullet hits sprites zap/zot] %patch $7FF3 $05 $7E #Stand still and dissapear [Unknown bullet hits tiles zap/zot] %patch $7FF3 $05 $7E #Stand still and dissapear [Unknown] %patch $0000 $7E $4B #Stand still [Invented behaviour] #Multiple sprite spawning patches: %patch $3C81 $90 #Vorticon also spawns vortikid %patch $3CE3 $90 #Vortikid also spawns Vortimom %patch $3D45 $90 #Vortimom also spawns Meep %patch $3E0F $90 #Vortninja also spawns Foob %patch $3E71 $90 #Foob also spawns Ball %patch $3EF3 $90 #Ball also spawns Jack %patch $3F75 $90 #Jack also spawns Horz platform %patch $3FBD $90 #Horz platform also spawns a Vert platform %patch $3FFF $90 #Vert platform also spawns Right gun shooter %patch $4032 $90 #Right gun shooter also spawns vert gun shooter %patch $4065 $90 #Vert gun shooter also spawns purple spark %patch $40A2 $90 #Purple spark also spawns heart %patch $40DF $90 #Heart also spawns MM hand %patch $4117 $90 #MM hand also spawns MM right foot