********** 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 stunned.) By changing these you can alter the two most important aspects of a sprite, whjether it kills Keen and whether it is stunned 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. Next there are 'infinite shootability' patches; these work only with some stunnable sprites and mean that when Keen shoots them, a stunned sprite will appear, but the 'old' sprite will keep going. (So shooting a Slug will leave a little trail of stunned slugs behind it.) This may not seem very useful, but by changing the stunned sprite's behavior you can use it to make a sprite spawn other sprites when shot. (Much like how in Keen 6 Blooglets give keys when shot.) A particularlay evil patch is to make a sprite spawn more of itselft when it touches itself. Thirdly 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 stunned 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 stunning it will be stunned by ALL sprite types the same as or larger than Keen's shot. (All sprite types except Keen will stun 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! ### #A list of collision effects: ### $09DC118CRL #? $09DC120ARL #Change sprite (Many uses) $09DC1695RL #Turn the coliding sprite into a shot blast and produce a stunned sprite $0B8013E9RL #Kill Keen $0D8F0D43RL #Turn the coliding sprite into a shot blast (For nonstunning sprites) $0E8F0AE2RL #Give Keen the wetsuit, show text $0D591654RL #Clear text windows (Don't ask.) ### #A list of conditions: ### Sprite will colide with any object with a value that is --- than the $xx value listed in it's other patches. (See 13.) Sprite_Types for sprite types.) $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 #Nothing $01 $00 #Misc $02 $00 #Keen $03 $00 #Keen's shot $04 $00 #Gem $05 $00 #Poison Slug $06 $00 #Council member $08 $00 #Egg $09 $00 #Mad Mushroom $0A $00 #Arachnut $0B $00 #Skypest $0C $00 #Wormouth $0D $00 #Cloud $0E $00 #Berkeloid $0F $00 #Bounder $10 $00 #Inchworm $11 $00 #The Foot $12 $00 #Lick $13 $00 #Mimrock $14 $00 #Platform $15 $00 #Dopefish $16 $00 #Schoolfish $17 $00 #Sprite $18 $00 #Lindsey $19 $00 #Lightning $1A $00 #Smirky $1B $00 #Bluebird $1E $00 #Wetsuit $1F $00 #Enemy bullet $20 $00 #Mine $21 $00 #Stunned sprite $22 $00 #Keen K flag $23 + #Unused ### #Misc: (Affects MANY sprites!) ### #Don't erase bullet on collision: #Includes Slugs, Licks, Mimrocks and Wormouth (As well as things like stunend Birds) %patch $B45F $90 $90 $90 $90 $90 ### #Arachnut ### #Walking %patch $105A5 $03 #Stun [When hit by bullet] %patch $105A6 $90 $90 #Condition [Always get stunned] %patch $105B1 $09DC1695RL #What to do: [Always remove shot], stun] %patch $105BD $02 #Kill Keen [When hit by Keen] %patch $105BE $90 $90 #Condition [Always kill unless stunned] %patch $105C1 $0B8013E9RL #What to do: [Kill Keen] #Stunned %patch $105D1 $03 #Stun [When hit by bullet] %patch $105D2 $90 $90 #Condition [Always get stunned] %patch $105DD $09DC1695RL #What to do: [Remove shot] ### #Berkeloid AND Berkeloid flames ### %patch $10D44 $90 $90 $90 $90 $90 #Don't remove bullet %patch $10D40 $03 #Stun [When hit by bullet] %patch $10D41 $90 $90 #Condition [Always remove shot] %patch $10D45 $0D8F0D43RL #What to do: [Remove shot, no stun] %patch $10D52 $02 #Kill Keen [When hit by Keen] %patch $10D53 $90 $90 #Condition kill Keen (Unless shot) %patch $10D56 $0B8013E9RL #What to do: [Kill Keen] ### #Bird ### #Flying and walking %patch $102C5 $90 $90 $90 #Infinite shootability [Spawns extra stunned Birds] %patch $102CD $02 #Kill Keen [When hit by Keen] %patch $102CE $90 $90 #Condition kill Keen %patch $102D1 $0B8013E9RL #What to do: [Kill Keen] %patch $102DB $03 #Stun, erase shot [When hit by bullet] %patch $102DC $90 $90 #Condition [Always remove shot unless killing Keen] %patch $102EF $09DC1695RL #What to do: [Always remove shot] #Stunned %patch $102FF $90 $90 $90 #Infinite shootability [Spawns more stunned Birds] %patch $10307 $03 #Stun and remove shot [If hit by bullet] %patch $10308 $90 $90 #Condition [Always remove shot] %patch $10316 $09DC1695RL #What to do: [Remove shot, stun] ### #Bounder ### %patch $1115D $90 $90 $90 $90 $90 #Don't stop bullet %patch $1116A $90 $90 $90 $90 $90 #Don't stun (Though will still bound into air) %patch $1113D $90 $90 $90 #Infinite shootability %patch $11D45 $03 #Bullet [Stun, remove shot] %patch $11146 $90 $90 #Condition [Always remove shot] %patch $10316 $0D8F0D43RL #What to do: [First remove shot but don't stun, THEN...] %patch $10316 $09DC120ARL #[...change sprite [= stun, odd, I know]] #Bounder can be stunned, AND kill Keen %patch $11138 $55 $8B $EC $56 $57 $8B $76 $06 $8B $7E $08 $83 $3D $02 $75 $09 $9A $0B8013E9RL $5F $5E $5D $CB $83 $3D $03 $75 $18 $C7 $44 $16 $00 $00 $C7 $44 $06 $01 $00 $B8 $A8 $2F $50 $57 $56 $9A $09DC1695RL $83 $C4 $06 $5F $5E $5D $CB ### #Cloud ### #Asleep %patch $10B86 $02 #Keen [Cloud awakes] %patch $10B87 $90 $90 #Condition [Always awaken] %patch $10316 $0D8F0D43RL #What to do: [Remove shot? Odd.] ### #Dopefish ### #WARNING Hard Dopefish will crash game if they eat while touching other Dopefish! %patch $123E5 $90 $90 $90 $90 $90 #Don't remove nibbled schoolfish %patch $123DD $16 #Schoolfish (Eat and remove) %patch $123DE $90 $90 #Condition [Always eat ANY sprite, even Godmode Keen] %patch $123F1 $02 #Keen (Eat) %patch $123F2 $90 $90 #Condition [Eat any sprite except Schoolfish, which are eaten anyway] ### #Egg ### #Note Keen\Bullet BOTH use 'Hatch' but only Bullet ALSO uses 'Remove shot' %patch $100C5 $90 $90 $90 $90 $90 #Don't erase bullet [Will spawn stunned Bird!] %patch $100AC $90 $90 $90 #Infinite shootability [Egg Spawns flying birds] %patch $100B4 $03 #Bullet [Hatch] %patch $100B5 $74 #Condition [If a shot, hatch] %patch $100B9 $02 #Keen [Hatch] %patch $100BA $74 #Condition [If Keen, hatch] %patch $1009E $09DC118CRL #What to do: [?] %patch $100C1 $03 #Bullet [Remove shot] %patch $100C2 $75 #Condition [ONLY if a shot, remove shot] %patch $100C6 $0D8F0D43RL #What to do: [Remove shot] ### #Foot ### #The Foot will not collide with anything, but KEEN can collide with the Foot; this #Will be a problem if you change the Foot's collision type ### #Inchworm ### #When an Inchworm collides with another Inchworm it first checks if it is in contact with #11 others before doing anything. Then IT will turn into a Foot and remove all other #Inchworms from the level. More than one Foot can be spawned in a level. %patch $10FA0 $10 #Inchworm [Colide and make a Foot] %patch $10FA1 $74 #Condition [Only spawn Foot with inchworms] %patch $110C2 $10 #Remove ALL sprites of this property [Inchworm] %patch $10FC3 $74 #Condition [Only spawn Foot with 11 other Inchworms] %patch $10FC1 $0B $00 #Number needed for Foot [11 others] %patch $10FCD $187409F1RL #What to do when Foot spawned: (Nothing really.) ### #Lick ### #Hopping %patch $11413 $90 $90 $90 $90 $90 #Don't stun when shot (But get a 'kick') %patch $11402 $90 $90 $90 #Infinite shootability %patch $1140A $03 #Bullet [Stun, remove shot] %patch $1140B $90 $90 #Condition [Always stun] %patch $11414 $09DC1695RL #What to do: [Remove shot, stun] #Flaming %patch $11428 $90 $90 $90 #Infinite shootability %patch $11436 $01 #Stop Keen dying from left side of right flaming Lick [+1] %patch $11448 $FF #Stop Keen dying from right side of left flaming Lick [-1] %patch $11430 $02 #Keen [Kill Keen, if not use ABOVE collide to check if shot] %patch $11431 $90 $90 #Condition [Always kill Keen] %patch $11457 $0B8013E9RL #What to do: [Kill Keen] ### #Mad Mushroom ### %patch $FF52 $90 $90 $90 $90 $90 #Don't erase bullet %patch $FF4E $03 #Remove shot [When hit by bullet] %patch $FF4F $90 $90 #Condition [Always remove shot] %patch $FF53 $0D8F0D43RL #What to do: [Always remove shot], no stun] %patch $FF60 $02 #Kill Keen [When hit by Keen] %patch $FF61 $90 $90 #Condition [Alwayskill Keen, unless shot] %patch $FF64 $0B8013E9RL #What to do: [Kill Keen] ### #Mimrock ### %patch $11FA2 $90 $90 $90 $90 $90 #Don't stop bullet %patch $11F7E $90 $90 $90 #Infinite shootability %patch $11F86 $03 #Bullet [Stun and [Always remove shot] %patch $11F87 $90 $90 #Condition [Always stun] %patch $11414 $09DC120ARL #What to do: [Change sprite [= stun]] %patch $11FC8 $02 #Kill Keen [When hit by Keen] %patch $11FC9 $90 $90 #Condition [Always kill Keen unless shot] %patch $11FCC $0B8013E9RL #What to do: [Kill Keen] ### #Mine ### %patch $127B9 $90 $90 $90 $90 $90 #Don't burst when hit %patch $127AF $02 #Keen [Explode, kill Keen] %patch $127B0 $90 $90 #Condition [Always kill Keen] %patch $127CE $0B8013E9RL #What to do: [Kill Keen] ### #Poison Slug ### %patch $FE6F $90 $90 $90 #Infinite shootability %patch $FE77 $02 #Kill Keen [When hit by Keen] %patch $FE78 $90 $90 #Condition [Always kill Keen] %patch $FE7B $0B8013E9RL #What to do: [Kill Keen] %patch $FE85 $03 #Bullet [Stun Slug and remove shot] %patch $FE86 $90 $90 #Condition [Always stun unless killing Keen] %patch $FE99 $09DC1695RL #What to do: [Stun] ### #Skypest ### #Flying %patch $10724 $90 $90 $90 $90 $90 #Don't erase bullet when shot %patch $106E4 $02 #Kill Keen [When hit by Keen] %patch $106E5 $90 $90 #Condition [Always kill Keen] %patch $106E8 $0B8013E9RL #What to do: [Kill Keen] %patch $106EE $03 #Bullet [Apparently change Skypest movement, remove shot] %patch $106EF $90 $90 #Condition [Always remove shot Unless killing Keen] %patch $11414 $0D8F0D43RL #What to do: [Always remove shot] #Landed %patch $10738 $90 $90 $90 #Can't be squished at all %patch $1073E #Squish Beh 1 [Keen start Pogo] %patch $10745 #Squish Beh 2 [Keen pogo 1] %patch $1074C #Squish Beh 3 [Keen pogo 2] #Each line replaces a sprite behavior with a sprite type; #E.g line 3 means Keen's shot ($03) will squish a Skypest %patch $1073B $83 $3C $01 $90 $90 #Misc %patch $10742 $83 $3C $02 $90 $90 #Keen %patch $10749 $83 $3C $03 $90 $90 #Shot ### #Smirky ### #Normal %patch $11CED $90 $90 $90 $90 $90 #Don't stop bullet %patch $11C9E $90 $90 $90 #Infinite shootability %patch $11CA6 $04 #Remove item [When hit by item] %patch $11CA7 $90 $90 #Condition [Always remove sprite [Item]] %patch $11CEE $0D8F0D43RL #What to do: [Remove sprite] %patch $11CD1 $03 #Bullet [Stun and remove shot] %patch $11CD2 $90 $90 #Condition [Always stun unless sprite is an item type] %patch $11CEE $0D8F0D43RL #What to do: [Remove shot, THEN...] %patch $11CFB $09DC120ARL #What to do: [...Change sprite [=stun]] #Seeking and stealing %patch $11B53 $15 #Smirky jumps UP at tiles with these properties [$15-$1C] %patch $11B59 $1C #[They run sideways into items by 'accident'] %patch $11D72 $15 #Grab tiles with these properties [$15-$1C] %patch $11D78 $1C #[Tile properties = 4-12, or 100 pts to 1UP] ### #Wetsuit ### %patch $12A3D $02 #Show wetsuit text, remove wetsuit [When hit by Keen] %patch $12A3E $90 $90 #Condition [Always show wetsuit text] %patch $12A59 $0E8F0AE2RL #What to do: [Display Wetsuit text, THEN...] %patch $12A59 $0D591654RL #What to do: [...Clear text windows] ### #Wormouth ### #Wormouth only shootable when biting! %patch $10981 $90 $90 $90 #Infinite shootablity [Some problems with stun stars] %patch $10966 $03 #Bullet [Stun and remove shot] %patch $106EF $90 $90 #Condition [Always remove shot Unless killing Keen] %patch $11414 $0D8F0D43RL #What to do: [Remove shot] %patch $10989 $02 #Kill Keen [When hit by Keen] %patch $1098A $90 $90 #Condition [Always kill Keen] %patch $106E8 $0B8013E9RL #What to do: [Kill Keen] Smirky, look at what to do, two are the same, check wormout 1st patch address