********** SPRITE COLLISION EFFECTS ********** This section deals simply with small patches that change what happens when sprites collide. For more complex alterations of collision behavior, see the next sections. Each of the five different types of patch found here will be discussed in order. First up are the $xx 'object type' patches; these define what types of object a sprite will collide with; usually Keen or his shot. (To kill Keen or be Reactned.) By changing these you can alter the two most important aspects of a sprite, whjether it kills Keen and whether it is Reactned by his shots. (For example, setting the 'Keen' value to $00 makes the sprite harmless.) It is important to emphasise that it is KEEN hitting a sprite that kills him, not the sprite hitting Keen. It is thus possible to make Keen die if a Slug is touched by a Lick for example. (Which would REALLY make gameplay interesting.) If you make a sprite unshootable, Keen's shots will pass straight through it. Then there are'condition' patches; these are more complex thatn the previous kinds, but also more flexible. These allow you to change the object type that a sprite looks for (Like the object type patches above.) but more flexibly. By default most sprites use a 'look OLNY for type X' ($75) So for example they will be Reactned ONLY by Keen's shot types. These patches allow you to change that so that several object types can affect a sprite. For example, if the Slug is given the $72 patch, for Reactning it will be Reactned by ALL sprite types the same as or larger than Keen's shot. (All sprite types except Keen will React it.) This may be a little hard to get used to and should only be used when you have a good idea what you want to do, don't worry, you probbably won't need them. Finally there are the $xxxxxxxxRL collision behaviors; these patches tell a sprite what to DO when it has collided (Kill Keen, remove Keen's shot, make a Foot.) They can be useful at times. (Such as making Keen die when he shoots a sprite.) The Skypest is special, when it's landed 3 sprite actions, if they touch it, will squish it. These can be anything from Lick_bounce to Keen_walk. It can be fun to experiment with these. Note that only certain values work for patches, that is why the lists are included in this file! ################################################ #SPECIAL: Make a collision use the Molly, etc ################################################ This sub-section allows you to make a sprite do interesting stuff when collided, such as act like Molly, the Rocket Card, Exit the level, and more! To use the patch, first select what you want to change, such as a sprite's kill Keen collision, or its stun collision. Take the address of the 'reacts with' patch and add two to the address. Then add the string below to it: $C7 $06 $AC $75 $0x $00 $5F $5E $5D $CB EXAMPLE: Make the Babobba win the level when shot. The patch we start with is '%patch $122DC $03', or 'react with Keen's shot' we add two to this and the string. To make it win the level we use '$07': #Babobba wins level when shot: %patch $122BF $C7 $06 $AC $75 $07 $00 $5F $5E $5D $CB #What the '0x' does in the string: $00: Nothing $01: Death window $02: Exit $03: Restart level $04: Restart level $05: Restart level $06: Jerk screen $07: Win level $08: Goto Demo $09: Sandwich $0A: Rope $0B: Card $0C: Molly $0D: Win level $0E: Restart level $0F: Restart level ################################################ #A list of collision effects: ################################################ $08F40D27RL Push Keen $08F41219RL ??? $08F41297RL Stop movement $08F41722RL Remove shot $0AA213CARL Kill Keen $0CA60EC2RL Used by shot Bipship, Ceilick, Orbatrix $183B09F1RL Squish Bip? ################################################ #A list of conditions: ################################################ These are the conditions of each collision, most sprites by default use $75 for killing Keen, that is, only kill Keen when Keen touches the sprite. You can do more inventive things with the following variables. In this file I've used $90 $90 for these patches. $72 #If greater or equal to $74 #For everything but this type $77 #If less than or equal to $75 #Only for this type $90 $90 #Always ################################################ #A list of sprite types: ################################################ $00 $00 #Don't appear $01 $00 #Misc $02 $00 #Keen $03 $00 #Keen's shot $04 $00 #Enemy shot $05 $00 #Gem $06 $00 #Moving Plat $07 $00 #Bloog $08 $00 #Blooglet $09 $00 #Unused $0A $00 #Fleex $0B $00 #Unused $0C $00 #Molly $0D $00 #Babobba $0E $00 #Bobba $0F $00 #Unused $10 $00 #Nospike $11 $00 #Gik $12 $00 #Enemy gun $13 $00 #Orbatrix $14 $00 #Bip $15 $00 #Flect $16 $00 #Blorb $17 $00 #Ceilick $18 $00 #Blooguard $19 $00 #??? $1A $00 #Bipship $1B $00 #Sandwich $1C $00 #Rope $1D $00 #Card $1E $00 #??? $1F $00 #??? $20 $00 #Rope $21 $00 #Card $22 $00 #??? $23 $00 #??? ### #Misc: ### #This is the default 'kill Keen' collision'; it is used by most #'immortal' deadly sprites, such as the Blorb and Gik %patch $A73E $02 #React [with Keen] %patch $A73F $90 $90 #Always react (VERY bad idea!) %patch $A742 $0AA213CARL #What to do [Kill Keen] %patch $A741 $90 $90 $90 #Don't kill Keen (Godlike!) $90 $90 ### #Babobba ### Sitting\napping %patch $122B0 $02 #React [with Keen] %patch $122B1 $90 $90 #Always React %patch $122B4 $0AA213CARL #What to do [Kill Keen] %patch $122BD $03 #React [When shot] %patch $122BC $90 $90 #Always React %patch $122C9 $08F41722RL #What to do [Remove shot] #Jumping %patch $122DC $03 #React [When shot] %patch $122DD $90 $90 #Always React %patch $122E8 $08F41722RL #What to do [Remove shot] ### #Bip ### #Here the Bip is squished %patch $11799 $02 #React [With Keen] %patch $1179A $90 $90 #Always react %patch $117A7 $183B09F1RL #What to do [???] %patch $117B8 $08F41297RL #And this [Stop movement] ### #Bipship ### #Here ship crashes %patch $11AC6 $03 #React [When shot] %patch $11AC7 $90 $90 #Always react %patch $11ACB $0CA60EC2RL #What to do [???] %patch $11ADA $08F41297RL #And this [Stop movement] ### #Bloog ### %patch $108CB $02 #React [with Keen] %patch $108CC $90 $90 #Always React %patch $108CF $0AA213CARL #What to do [Kill Keen] %patch $108D8 $03 #React [When shot] %patch $108D9 $90 $90 #Always React %patch $10A08 $08F41722RL #What to do [Remove shot] ### #Blooguard ### %patch $10A04 $02 #React [with Keen] %patch $10A05 $90 $90 #Always React %patch $10A08 $0AA213CARL #What to do [Kill Keen] %patch $10A0E $03 #React [When shot] %patch $10A0F $90 $90 #Always React %patch $10A1D $08F41722RL #What to do [Remove shot] %patch $10A28 $03 #Guard doesn't flash when shot %patch $10A2B $04 $00 #Length of Guard's flash %patch $10A34 $0CA60EC2RL #What to do [2 hits then die] %patch $10A33 $90 $90 $90 #Guard takes only one hit to die $90 $90 #Blooguard can only be hurt if Keen is touching him #(As well as being shot!) %patch $10A04 $02 #Needs this to be hurt (Keen) %patch $109FC $90 $90 $90 ### #Blooglet ### %patch $10BFD $02 #React [with Keen] %patch $10BFE $90 $90 #Always React %patch $10C14 $08F40D27RL #What to do [Push Keen] %patch $10C29 $03 #React [When shot] %patch $10C2A $90 $90 #Always React %patch $10C99 $08F41219RL #What to do 1 [???] %patch $10C99 $183B09F1RL #What to do 2 [???] %patch $10CB8 $08F41722RL #What to do 3 [Remove shot] ### #Bobba ### %patch $12003 $02 #React [with Keen] %patch $12004 $90 $90 #Always React %patch $12007 $0AA213CARL #What to do [Kill Keen] %patch $12011 $03 #React [When shot] %patch $12012 $90 $90 #Always React %patch $12016 $0CA60EC2RL #What to do [???] ### #Card ### See ITEMS ### #Ceilick ### %patch $12569 $03 #React [When shot] %patch $1256A $90 $90 #Always React %patch $12574 $0CA60EC2RL #What to do [???] %patch $12591 $08F41297RL #And this [Stop movement] ### #Enemy shot ### %patch $1146C $02 #React with Keen [When hit by Keen] %patch $1146D $90 $90 #Always React with Keen %patch $11470 $0AA213CARL #What to do [Kill Keen] %patch $1147C $08F41297RL #And this [Stop movement] ### #Flect ### %patch $11C05 $02 #React [with Keen] %patch $11C06 $90 $90 #Always react %patch $11C0B $08F40D27RL #What to do [Push Keen] %patch $11C18 $03 #React [When shot] %patch $11C19 $90 $90 #Always React %patch $11C28 $08F41722RL #What to do [Remove shot] ### #Fleex ### %patch $11DDA $02 #React [with Keen] %patch $11DDB $90 $90 #Always React %patch $11DDE $0AA213CARL #What to do [Kill Keen] %patch $11DE4 $03 #React [When shot] %patch $11DE5 $90 $90 #Always React %patch $11DF3 $08F41722RL #What to do [Remove shot] #Fleexcan only be hurt if Keen is touching him #(As well as being shot!) %patch $11DDA $02 #Needs this (Keen) %patch $10E5F $90 $90 $90 ### #Guns ### See ENEMY SHOT ### #Items (Rope, Card, Sandwich, Molly ### %patch $10020 $02 #React (When Keen touches) %patch $A73F $90 $90 #Always react %patch $10026 $1C $00 #Give grappling hook if item is this (Rope) %patch $1002D $0C $00 #Win game (Molly) if item is this (Molly) %patch $10032 $1B $00 #Give sandwich if item is this (Sandwich) %patch $1003B $1D $00 #Give card if item is this (Card) #In a similar vein to that at the start of the file, we can make the #card, rope, etc do different things. In this case we use value $02, #exit leve (Refer to table at start of special section.) #Items exit level instead of giving something %patch $10051 $02 #Rope %patch $10047 $02 #Sandwich %patch $1005B $02 #Card %patch $10065 $02 #Molly ### #Keen ### #Unknown, when Keen hits deadly stuff %patch $75F1 $0AA213CARL #What to do [Kill Keen] %patch $84A7 $0AA213CARL #What to do [Kill Keen] %patch $9DCD $0AA213CARL #What to do [Kill Keen] %patch $9E0F $0AA213CARL #What to do [Kill Keen] %patch $9E6B $0AA213CARL #What to do [Kill Keen] %patch $9EAC $0AA213CARL #What to do [Kill Keen] %patch $A742 $0AA213CARL #What to do [Kill Keen] ### #Molly ### See ITEMS ### #Nospike ### %patch $10E67 $02 #React [with Keen] %patch $10E68 $90 $90 #Always React %patch $10E6A $0AA213CARL #What to do [Kill Keen] %patch $10E75 $03 #React [When shot] %patch $10E76 $90 $90 #Always react %patch $10E87 $08F41722RL #What to do [Remove shot] ### #Orbatrix ### #Bouncing (Uncurls and floats) %patch $115AE $03 #React [When shot] %patch $115AF $90 $90 #Always react %patch $115C2 $08F41297RL #And this [Stop movement] #Floating %patch $1170E $02 #React [with Keen] %patch $1170F $90 $90 #Always React %patch $11712 $0AA213CARL #What to do [Kill Keen] %patch $1171C $03 #React [When shot] %patch $1171D $90 $90 #Always React %patch $11720 $0CA60EC2RL #What to do (???) ### #Rocket/Rocket card ### See ITEMS ### #Rope and grappling hook ### See ITEMS ### #Stupendous sandwich ### See ITEMS