********** SPRITE ACTIONS ********** This section is involved with how sprites behave; more technically with their action references. This takes some time to explain. There are many subrotuines and such that tell sprites how to act, these are hard to alter, but you can see simple patches for them in other sections, for example the speed patches in section 2.) However, the greatest part of what makes a sprite what it is is kept in a small 30 character long string that defines the sprite's animation, animation speed, collision reference and more. There are literally hundreds of these strings and they are all stored one after the other amongst text and error lists. Rather than have a lot of 'goto' instructions in game, sprites use simple references to these. The references start with $2EE70 as 'zero' Since the reference defines the string, and the string defines almost everything else, you can change how a sprite acts by changing these. There are two kinds used, first those used to change a sprite, such as when a Poison Slug is spawned or wants to slime; these are stored in the sprite action proper. They occur randonly or when certain things happpen. The second kind are stored in the strings later on in the program; each string has a reference at the end that tells the sprite what to do next. So for example, the Poison Slug is spawned with a action of the first kind, then cycles forever between two actions of the second kind (Crawl 1 and crawl 2) until something happens to it. (It gets shot or poops) You will thus notice in the lists following a lot of individual spawning actions, followed by long lists of 'looping' actions. All can be edited into anything you want, but try to remember to make sense; actions cycle on purpose and you don't want to have your slug suddenly become a skypest and vannish now do you? Now on to editing these actions; for a list of what action does what, look at the previous section; it can get pretty complicated, but usually you can get a 'feel' for how things work; not all actions can be used everywhere, some can be used only on the map, or only with items or Keen. Others may cause the sprite to freeze If your game crashes because it's spawned an uncached sprite you'll need to add a sprite to your level. (For example if you make your slug turn into a skypest when shot, all levels with slugs must also have a skypest in them, or you must patch the cache.) There are two bits of shorthand you should know; any patch with 'spawn' in it means that the game uses this to create a sprite from nothing; it's where a sprite 'starts' Any patch with [Random] in it means that the game randomly changes a sprite to do this, like slug sliming. To change a action, simply find the entry on the action list you want and replace the default action with this. Remember to think things through though, for example, if you make a mimrock spawn a slug, all difficulties of mimrock will do this and will act *exactly* like a slug, if you patch the slug, the mimrocks will also be affected. Loops usually start somewhere, move on step by step, then at the last step go back to the beginning, and so on and so on... so be careful not to break a loop accidently or get yourself into troubble. You can 'steal' space from other sprites and give it to others; if you for example make the Bounderbounce only up and down (This can be done by altering one of its spawning actions) the two l/r bounding strings can be used by another sprite, say, to add another two animation frames to the inchworm. (You will of course have to patch the animatiosn, animation speeds, etc or your inchworm will become a bounder!) Keen is very complex and his actions are grounped into the next section, '11.)action_Keen' This section uses the same rules as here, but deals only with Keen. Now that that's out of the way, here are the sprite actions: ### #Airboard ### %patch $1152B $6A $31 #Spawn Controlable Airboard %patch $31FF6 $00 $00 #Controllable Airboard action [Remain unchanged] %patch $11941 $88 $31 #Spawn Drop downable Airboard [Stay still] %patch $32014 $00 $00 #Drop Airboard action [Remain unchanged] %patch $1197D $A6 $31 #Drop Airboard when hit [Fall down] %patch $11A10 $A6 $31 #Drop Airboard while rising hit [Drop down] %patch $32032 $00 $00 #Dop Airboard falling [Remain unchanged] %patch $119F3 $C4 $31 #Drop Airboard *after* falling when Keen steps off it {Rise] %patch $32050 $00 $00 #Drop Airboard rising [Remain unchanged] %patch $11A29 $88 $31 #Drop Airboard stops rising [Stay still] ### #Arachnut ### %patch $1056B $78 $23 #Spawn walking Arachnut %patch $31204 $96 $23 #Arachnut walking 1 %patch $31222 $B4 $23 #Arachnut walking 2 %patch $31240 $D2 $23 #Arachnut walking 3 %patch $3125E $78 $23 #Arachnut walking 4 %patch $105A9 $F0 $23 #Arachnut when shot [Stun] %patch $105D5 $F0 $23 #Arachnut when stunned and shot [Stun] %patch $3127C $0E $24 #Arachnut stunned [Go to unstun] %patch $3129A $2C $24 #Arachnut unstunning 1 %patch $312B8 $4A $24 #Arachnut unstunning 2 %patch $312D6 $68 $24 #Arachnut unstunning 3 %patch $312F4 $78 $23 #Arachnut unstunning 4 [Walk] ### #Berkeloid ### %patch $10C44 $70 $2B #Make Berkeloid flame [Random] %patch $10C90 $70 $2B #Make Berkeloid flame [Random] %patch $10BFD $F8 $2A #Spawn Berkeloid moving %patch $31984 $16 $2B #Berkeloid moving 1 %patch $319A2 $34 $2B #Berkeloid moving 2 %patch $319C0 $52 $2B #Berkeloid moving 3 %patch $319DE $F8 $2A #Berkeloid moving 4 [Go to 1] %patch $319FC $8E $2B #Berkeloid flaming 1 %patch $31A1A $AC $2B #Berkeloid flaming 2 %patch $31A38 $CA $2B #Berkeloid flaming 3 %patch $31A56 $E8 $2B #Berkeloid flaming 4 %patch $31A74 $06 $2C #Berkeloid flaming 5 %patch $31A92 $24 $2C #Berkeloid flaming 6 [Flame spawned and thrown] %patch $31AB0 $42 $2C #Berkeloid flaming 7 %patch $31ACE $60 $2C #Berkeloid flaming 8 %patch $31AEC $7E $2C #Berkeloid flaming 9 %patch $31B0A $9C $2C #Berkeloid flaming 10 %patch $31B28 $BA $2C #Berkeloid flaming 11 %patch $31B46 $F8 $2A #Berkeloid flaming 12 [Go to walk] %patch $10D05 $D8 $2C #Spawn Berkeloid flame %patch $31B64 $F6 $2C #Berkeloid tossed flame 1 %patch $31B82 $D8 $2C #Berkeloid tossed flame 2 [Go to 1, keep burning] %patch $10D89 $14 $2D #Spawn lame on ground [When flying flame hits ground] %patch $31BA0 $32 $2D #Berkeloid landed flame 1 [Is big] %patch $31BBE $50 $2D #Berkeloid landed flame 2 %patch $31BDC $6E $2D #Berkeloid landed flame 3 %patch $31BFA $8C $2D #Berkeloid landed flame 4 %patch $31C18 $AA $2D #Berkeloid landed flame 5 %patch $31C36 $C8 $2D #Berkeloid landed flame 6 [Goes small] %patch $31C54 $E6 $2D #Berkeloid landed flame 7 %patch $31C72 $04 $2E #Berkeloid landed flame 8 %patch $31C90 $00 $00 #Berkeloid landed flame 9 [Disappear] ### #Birds [See also Eggs] ### %patch $10135 $B6 $21 #What hatches from eggs [Hatched Bird] %patch $31042 $F2 $21 #Hatched Bird [Pause, then walk] %patch $10099 $B6 $21 #Spawn Bird [When Bird sprite is palced in-level] %patch $31150 $00 $00 #Bird flying -> land %patch $1022F $4C $22 #Needed to support next behavior, otherwise Bird gets confused %patch $10242 $4C $22 #Bluebird fly [When Keen is above the Bird AND standing on ground] %patch $10399 $4C $22 #Bluebird fly when not standing on anything (I.e flying) %patch $103D3 $D4 $21 #Bluebird land when Keen on ground %patch $10499 $D4 $21 #Bluebird land when Keen below it and it's near ground %patch $102E9 $E2 $22 #Bird when shot [Stun] %patch $10310 $E2 $22 #Bird shot when stunned [Stun] %patch $3116E $00 $23 #Bird stunned [Go to unstun] %patch $31060 $F2 $21 #Bird walking 1 %patch $3107E $10 $22 #Bird walking 2 %patch $3109C $2E $22 #Bird walking 3 %patch $310BA $D4 $21 #Bird walking 4 [Go to 1] %patch $310D8 $6A $22 #Bird flying 1 %patch $310F6 $88 $22 #Bird flying 2 %patch $31114 $A6 $22 #Bird flying 3 %patch $31132 $4C $22 #Bird flying 4 [Go to 1] %patch $31132 $1E $23 #Bird unstunning 1 %patch $311AA $3C $23 #Bird unstunning 2 %patch $311C8 $5A $23 #Bird unstunning 3 %patch $311E6 $D4 $21 #Bird unstunning 4 [Go to walk] ### #Bounders ### #These are also used if Keen rides the bounder %patch $11221 $12 $2F #Bounder after bounding l/r [Bound vertical] %patch $1126E $4E $2F #Bounder bound l/r [Random] %patch $1127D $12 $2F #Bounder after l/r [Bound v or l/r if Keen] %patch $1112A $12 $2F #Spawn Bounder %patch $31D9E $30 $2F #Bounder bound v 1 %patch $31DBC $12 $2F #Bounder bound v 2 [Go to 1] %patch $31DDA $6C $2F #Bounder bound l/r 1 %patch $31DF8 $4E $2F #Bounder bound l/r 2 [Go to 1] %patch $11166 $8A $2F #Bounder when shot [Go to in-air] %patch $31E16 $A8 $2F #Stunned Bounder in air [Go to stunned] %patch $31E34 $00 $00 #Stunned Bounder [Do nothing] ### #Bubbles ### #Keen's bubbles %patch $F6AB $64 $1A #Spawn Bubble [Random, mostly from l Keen] %patch $F6BD $82 $1A #Spawn Bubble [Random, mostly from r Keen] %patch $F6CF $A0 $1A #Spawn Bubble [Random, l/r Keen] %patch $F6E1 $BE $1A #Spawn Bubble [Random, l/r Keen] %patch $308F0 $64 $1A #Keen's Bubble 1 %patch $3090E $82 $1A #Keen's Bubble 2 %patch $3090E $A0 $1A #Keen's Bubble 3 %patch $3094A $BE $1A #Keen's Bubble 4 [Go to 1] %patch $12379 $EC $36 #Spawn Big Bubble [After Dfish chomps] %patch $32578 $0A $37 #Big bubble 1 %patch $32596 $28 $37 #Big bubble 2 %patch $325B4 $46 $37 #Big bubble 3 %patch $325D2 $EC $36 #Big bubble 4 [Go to 1] ### #Candy [See Items] ### ### #Cloud ### %patch $109FE $A0 $28 #Spawn Cloud [Asleep] %patch $3172C $00 $00 #Cloud asleep [Wait to be touched] %patch $10B8A $BE $28 #Cloud touched [Wake up] %patch $3174A $DC $28 #Cloud awake, pauses [Go to move] %patch $10A73 $FA $28 #Cloud turning %patch $31768 $00 $00 #Cloud moving 1 [Do nothing] %patch $31786 $00 $00 #Cloud moving 2 [Do nothing] %patch $317A4 $DC $28 #Cloud moving 3 [When touched, keep moving] %patch $10AB2 $36 $29 #Keen near to cloud [Zap] %patch $10ADC $36 $29 #Cloud touched by Keen [Zap] %patch $F147 $08 $2A #Cloud zap [Unknown reason] %patch $317C2 $54 $29 #Cloud zapping Keen 1 %patch $317E0 $72 $29 #Cloud zapping Keen 2 %patch $317FE $90 $29 #Cloud zapping Keen 3 %patch $3181C $AE $29 #Cloud zapping Keen 4 %patch $3183A $CC $29 #Cloud zapping Keen 5 %patch $31858 $EA $29 #Cloud zapping Keen 6 %patch $31876 $08 $2A #Cloud zapping Keen 7 %patch $31894 $26 $2A #Cloud zapping Keen 8 %patch $318B2 $18 $29 #Cloud zapping Keen 9 [Lightning strikes, goes to Move] %patch $10B62 $44 $2A #Spawn Lightning %patch $318D0 $62 $2A #Lightning 1 %patch $318EE $80 $2A #Lightning 2 %patch $3190C $9E $2A #Lightning 3 %patch $3192A $BC $2A #Lightning 4 %patch $31948 $DA $2A #Lightning 5 %patch $31966 $00 $00 #Lightning 6 [Disappear] ### #Council Members ### %patch $FD46 $B8 $1F #Spawn member [Walk] %patch $30E44 $D6 $1F #Walking council member 1 %patch $30E62 $B8 $1F #Walking council member 2 [Go to 1] %patch $FD77 $F4 $1F #Council member think [Random] %patch $30E80 $B8 $1F #Thinking Council member [Go to walk] ### #Dart shooters ### %patch $128EC $62 $39 #Spawn Dart shooter [Sit and shoot, over and over] %patch $327EE $62 $39 #Dart shooter [Sit and shoot, over and over] %patch $1296D $80 $39 #Spawn Dart left %patch $129A7 $80 $39 #Spawn Dart right %patch $3280C $9E $39 #Dart left/right 1 %patch $3282A $80 $39 #Dart left/right 2 [Go to 1] %patch $12950 $BC $39 #Spawn Dart up %patch $32848 $DA $39 #Dart up 1 %patch $32866 $BC $39 #Dart up 2 [Go to 1] %patch $1298A $F8 $39 #Spawn Dart down %patch $32884 $16 $3A #Dart down 1 %patch $328A2 $F8 $39 #Dart down 2 [Go to 1] ### #Demo sign ### %patch $D937 $56 $14 #If no demo is playing use invisible sign %patch $D949 $74 $14 #Otherwise use normal one %patch $306F0 $00 $00 #This refreshes the Demo sprite in-level ### #Doors ### %patch $D19D $1E $0E #Keen lines up with gem holder [Vital] %patch $D1E8 $1E $0E #Keen places gem, start door %patch $D1D3 $3C $0E #Keen turns away while placing gem %patch $C349 $EC $17 #Remove door when door has opened #Replace any of these with $00 $00 to stop the door at various points. %patch $30678 $0A $18 #Remove door 1 [Accept gem] %patch $30696 $28 $18 #Remove door 2 [Start opening door.] %patch $306B4 $00 $00 #Remove door 2 [Finnish opening door.] ### #Dopefish [See also Bubbles, Keen, Schoolfish] ### %patch $12112 $C0 $35 #Spawn Dopefish [Swim] %patch $3244C $DE $35 #Dopefish swimm 1 %patch $3246A $C0 $35 #Dopefish swimm 2 [Go to 1] %patch $12447 $FC $35 #Dopefish near food [Chomp of course!] %patch $32488 $00 $00 #Dopefish chomping [Wait for Keen/fish] %patch $12286 $1A $36 #Dopefish after chomp [Burp] %patch $324A6 $38 $36 #Dopefish burping 1 %patch $324C4 $56 $36 #Dopefish burping 2 [Face screen] %patch $324E2 $74 $36 #Dopefish burping 3 %patch $32500 $C0 $35 #Dopefish finish burping [Goes back to swim] %patch $123E1 $92 $36 #Schoolfish eaten [Disappear] %patch $12411 $B0 $36 #Keen eaten [Swim die and exit level] %patch $12255 $CE $36 #Keen dead [Restart level] ### #Eggs [See also Birds] ### #The Egg when in-level %patch $1001D $20 $21 #Spawn Egg %patch $30FAC $00 $00 #Egg [Do nothing] #Spawned when Eggs are broken: %patch $100D7 $3E $21 #Large bit of shell on ground %patch $10135 $B6 $21 #Bird %patch $10171 $5C $21 #Small bit of shell 1 %patch $101AD $7A $21 #Small bit of shell 2 %patch $101E9 $98 $21 #Small bit of shell 3 #How bits behave [Remain and do nothing] %patch $30FCA $00 $00 #Big bit of broken shell %patch $30FE8 $00 $00 #Small shell 1 [Left] %patch $31006 $00 $00 #Small shell 2 [Mid] %patch $31024 $00 $00 #Small shell 3 [Right] ### #Flags [Map Keen K flags] ### %patch $E4A0 $66 $16 #Spawn flipping fag [After level is done] %patch $304F2 $84 $16 #Keen flag flips into holder 1 %patch $30510 $A2 $16 #Keen flag flips into holder 2 %patch $3052E $C0 $16 #Keen flag flips into holder 3 %patch $3054C $DE $16 #Keen flag flips into holder 4 %patch $3056A $FC $16 #Keen flag flips into holder 5 %patch $30588 $1A $16 #Keen flag flips into holder 6 %patch $305A6 $EE $15 #Keen flag flips into holder 7 [Produce waving flag] %patch $E33D $EE $15 #Spawn waving flag [Whenever Keen arrives on map] %patch $3047A $0C $16 #Keen K flag waving 1 %patch $30498 $2A $16 #Keen K flag waving 2 %patch $304B6 $48 $16 #Keen K flag waving 3 %patch $304D4 $EE $15 #Keen K flag waving 4 [Go to 1]] ### #Foot [See also Inchworms] ### %patch $11012 $22 $2E #Spawn poof 1 [Left] %patch $11046 $22 $2E #Spawn poof 2 [Middle] %patch $1107A $22 $2E #Spawn poof 3 [Right] %patch $110AB $22 $2E #Spawn poof 4 [Top] %patch $31CAE $40 $2E #Poof 1 %patch $31CCC $5E $2E #Poof 2 %patch $31CEA $7C $2E #Poof 3 %patch $31D08 $00 $00 #Poof 4 [Disappear] %patch $10F62 $F4 $2E #Spawn Foot [If placed in-level] %patch $10FDE $F4 $2E #Inches -> Foot %patch $31D62 $F4 $2E #This is used to 'pause' the Foot before it appears %patch $31D80 $00 $00 #Foot appears [Then does nothing] ### #Inchworms [See also Foot] ### %patch $10F0C $9A $2E #Spawn Inchworm %patch $31D26 $B8 $2E #Inchworm 1 %patch $31D44 $9A $2E #Inchworm 2 [Go to 1] ### #Items ### %patch $FC7D $CE $1E #Spawn Item [Animate] %patch $30D78 $0A $1F #Items 1 %patch $30D96 $EC $1E #Items 2 [Go to 1] %patch $D0D0 $28 $1F #Spawn score [When 100 drops are got, 1UP] %patch $CD70 $28 $1F #Spawn score [When SPRITES, not tiles, are got; background] %patch $F9E9 $28 $1F #Spawn score [When SPRITES, not tiles, are got; foreground] %patch $D026 $28 $1F #Spawn score [When TILES, not sprites, are got] %patch $30DB4 $00 $00 #Score [Disappear] %patch $FCC0 $46 $1F #Spawn raindrop splash [When raindrop tiles OR prites got] %patch $30DD2 $64 $1F #Dropsplash 1 %patch $30DF1 $82 $1F #Dropsplash 2 %patch $30E0A $6E $17 #Dropsplash 3 [Disappear] ### #Keen's shot ### %patch $305C4 $56 $17 #Keen's bullet 1 %patch $305E2 $74 $17 #Keen's bullet 2 %patch $30600 $92 $17 #Keen's bullet 3 %patch $3061E $38 $17 #Keen's bullet 4 [Go back to 1] %patch $3063C $CE $17 #Keen's bullets zaps %patch $3065A $00 $00 #Keen's bullets zaps [Disappear] ### #Lick ### %patch $31E52 $E4 $2F #Lick in air 1 %patch $31EAC $C6 $2F #Lick in air 2 [Go to step 1] %patch $11334 $02 $30 #Spawn Lick [Ready to jump] %patch $1147F $20 $30 #Lick lands [Ready to jump] %patch $31E70 $02 $30 #Lick ready to jump %patch $31E8E $00 $00 #Lick jumping [Jump and wait to land] %patch $113B9 $3E $30 #Lick near Keen [Flame] %patch $31ECA $5C $30 #Lick flaming 1 %patch $31EE8 $7A $30 #Lick flaming 2 %patch $31F06 $98 $30 #Lick flaming 3 %patch $31F24 $B6 $30 #Lick flaming 4 %patch $31F42 $D4 $30 #Lick flaming 5 %patch $31F60 $F2 $30 #Lick flaming 6 %patch $31F7E $10 $31 #Lick done flaming %patch $31F9C $02 $30 #Lick done flaming [Goes back to jump] %patch $1140E $2E $31 #Lick shot [Stun] %patch $31FBA $4C $31 #Stunned Lick in air %patch $31FD8 $00 $00 #Stunned Lick [Do nothing] ### #Lindsey [See Princess Lindsey] ### ### #Mad mushroom ### %patch $FF05 $E4 $20 #Spawn Mad Mushroom [Jump] %patch $30F70 $02 $21 #Mushroom jumping 1 %patch $30F8E $E4 $21 #Mushroom jumping 2 [Go to 1] ### #Mimrock ### %patch $11EA6 $3A $34 #Spawn Mimrock [Sit and wait] %patch $11F3E $3A $34 #Keen above or below rock [Sit and wait] %patch $322C6 $3A $34 #Mimrock waiting [Sit and wait] %patch $11EF9 $58 $34 #Keen right of rock [Sneak left] %patch $11F13 $58 $34 #Keen left of rock [Sneak right] %patch $322E4 $76 $34 #Mimrock sneaking 1 %patch $32302 $94 $34 #Mimrock sneaking 2 %patch $32320 $B2 $34 #Mimrock sneaking 3 %patch $3233E $D0 $34 #Mimrock sneaking 4 %patch $3235C $EE $34 #Mimrock sneaking 5 %patch $3237A $3A $34 #Mimrock sneaking 6 [Goes back to hiding] %patch $11F74 $0C $35 #Keen close [Jump] %patch $32398 $2A $35 #Mimrock jumping 1 %patch $323B6 $48 $35 #Mimrock jumping 2 %patch $323D4 $2A $35 #Mimrock jumping 3 %patch $323F2 $00 $00 #Mimrock upside down bouncing [Wait until hits ground] %patch $11FAB $84 $35 #Mimrock shot [Stun] %patch $32410 $A2 $35 #Stunned Mimrock in air %patch $3242E $00 $00 #Stunned Mimrock [Do nothing] %patch $12000 $66 $35 #Mimrock lands [Go upside down and bounce] %patch $12068 $3A $34 #Mimrock stops [Sit and wait] ### #Mine ### %patch $1278C $90 $38 #Spawn Mine [Move h or v] %patch $3271C $90 $38 #Mine [Keep moving] %patch $127B3 $AE $38 #Keen touches [Explode] %patch $3273A $CC $38 #Mine explodes 1 %patch $32758 $00 $00 #Mine explodes 2 [Disappear] ### #Poison slugs ### %patch $FE93 $6C $20 #Shot Slug [Tall stunned] %patch $FEA3 $8A $20 #Shot Slug [Short stunned] %patch $30EF8 $00 $00 #Stunned [Do nothing] %patch $30F16 $00 $00 #Stunned [Do nothing] %patch $FDDB $12 $20 #Spawn Poison slug [Crawl] %patch $30E9E $30 $20 #Poison slug 1 %patch $30EBC $12 $20 #Poison slug 2 [Go to 1] %patch $FE15 $4E $20 #Slug sliming [Random] %patch $30EDA $12 $20 #Poison slug sliming %patch $FE5B $A8 $20 #Spawn Slug slime %patch $30F34 $C6 $20 #Slug slime 1 %patch $30F52 $00 $00 #Slug slime 2 [Evaporate] ### #Princess Lindsey ### %patch $12813 $EA $38 #Spawn Princess Lindsey [Float] %patch $32776 $08 $39 #Princess Lindsey 1 %patch $32794 $26 $39 #Princess Lindsey 2 %patch $327B2 $44 $39 #Princess Lindsey 3 %patch $327D0 $EA $38 #Princess Lindsey 4 [Go back to 1] ### #Raindrops ### %patch $FCC0 $46 $1F #Spawn raindrop splash [When raindrop tiles OR prites got] %patch $30DD2 $64 $1F #Dropsplash 1 %patch $30DF1 $82 $1F #Dropsplash 2 %patch $30E0A $6E $17 #Dropsplash 3 [Disappear] ### #Schoolfish ### %patch $123E1 $92 $36 #Schoolfish eaten [Go invisible] %patch $3251E $00 $00 #Dead Schoolfish [Disappear] %patch $12508 $64 $37 #Spawn Schoolfish [Swim] %patch $325F0 $82 $37 #Schoolfish 1 %patch $3260E $64 $37 #Schoolfish 2 [Go to 1] ### #Scorebox ### %patch $DBBB $46 $18 #Scorebox spawned ### #Skypest ### %patch $10656 $86 $24 #Spawn Skypest [Fly] %patch $107BA $E0 $24 #Skypest hit ground (Preen) %patch $1073E $0C $11 #Keen presses 'pogo' on a Skypest and kills it %patch $10745 $2A $11 #Keen pogos low squishes Skypest %patch $1074C $48 $11 #Keen pogos high squishes Skypest %patch $10751 $C2 $24 #What Skypest does [Get squished] %patch $3134E $C2 $24 #Skypest squished [Stay squished] %patch $31312 $A4 $24 #Skypest flying 1 %patch $31330 $86 $24 #Skypest flying 2 [Go to 1] %patch $107BA $E0 $24 #Skypest start preening [Random] %patch $3136C $FE $24 #Skypest preening 1 %patch $3138A $1C $25 #Skypest preening 2 %patch $313A8 $3A $25 #Skypest preening 3 %patch $313C6 $58 $25 #Skypest preening 4 %patch $313E4 $76 $25 #Skypest preening 5 %patch $31402 $94 $25 #Skypest preening 6 %patch $31420 $B2 $25 #Skypest preening 7 %patch $3143E $D0 $25 #Skypest preening 8 %patch $3145C $EE $25 #Skypest preening 9 %patch $3137A $0C $26 #Skypest preening 10 %patch $31398 $2A $26 #Skypest preening 11 %patch $313B6 $48 $26 #Skypest preening 13 %patch $313D4 $66 $26 #Skypest preening 14 %patch $314F2 $84 $26 #Skypest preening 15 %patch $31510 $A2 $26 #Skypest preening 16 %patch $3152E $C0 $26 #Skypest preening 17 %patch $3154C $86 $24 #Skypest preening 18 [Takes off] ### #Smirky ### %patch $11A8B $E2 $31 #Spawn Smirky [Look around] %patch $11E14 $E2 $31 #Smirky lands [Look around] %patch $3206E $00 $32 #Smirky looks around 1 %patch $3208C $00 $00 #Smirky looks around 2 [Wait to jump or look again] %patch $11B95 $1E $32 #Smirky has no candy [Teleport] %patch $11C24 $1E $32 #Smirky has fallen away from candy [Teleport] %patch $11C75 $96 $32 #Smirky appearing [Goes to teleport 4] %patch $320AA $3C $32 #Smirky teleporting smoke 1 %patch $320C8 $5A $32 #Smirky teleporting smoke 2 %patch $320E6 $78 $32 #Smirky teleporting smoke 3 %patch $32104 $96 $32 #Smirky teleporting smoke 4 [If appearing keep going, if not, disappear] %patch $32122 $B4 $32 #Smirky teleporting smoke 5 %patch $32140 $D2 $32 #Smirky teleporting smoke 6 %patch $3215E $F0 $32 #Smirky teleporting smoke 7 %patch $3217C $0E $33 #Smirky teleporting smoke 8 [Produces jumping Smirky] %patch $11AA7 $0E $33 #Smirky sees candy [Jump and steal] %patch $3219A $2C $33 #Smirky jumping to steal stuff 1 %patch $321B8 $4A $33 #Smirky jumping to steal stuff 2 %patch $321D6 $68 $33 #Smirky jumping to steal stuff 3 %patch $321F4 $0E $33 #Smirky jumping to steal stuff 4 [Jumps again] %patch $11CF6 $86 $33 #Smirky when shot [Stun] %patch $32212 $A4 $33 #Stunned Smirky in air %patch $32230 $00 $00 #Smirky stunned [Do nothing] %patch $11DC7 $C2 $33 #Candy stolen by Smirky with big u/d jumps %patch $11CB3 $C2 $33 #Candy stolen by Smirky with small l/r jumps %patch $3224E $E0 $33 #Candy stolen by Smirky 1 %patch $3226C $FE $33 #Candy stolen by Smirky 2 %patch $3228A $1C $34 #Candy stolen by Smirky 3 %patch $322A8 $00 $00 #Candy stolen by Smirky 4 [Disappear] ### #Sprite ### %patch $125C3 $A0 $37 #Spawn Sprite [Float] %patch $3262C $A0 $37 #Sprite floating [Keep floating] %patch $12633 $BE $37 #Sprite sees Keen [Aim] %patch $32668 $FA $37 #Sprite aiming [Keep looking for Keen] %patch $3264A $A0 $37 #Keen leaves [Pause, then float] %patch $12656 $DC $37 #Keen stays [Shoot] %patch $32686 $A0 $37 #Sprite shooting [Go back to normal] %patch $126A6 $18 $38 #Spawn Sprite's bullet %patch $326A4 $36 $38 #Sprite's bullet 1 %patch $326C2 $54 $38 #Sprite's bullet 2 %patch $326E0 $72 $38 #Sprite's bullet 3 %patch $326FE $18 $38 #Sprite's bullet 4 [Go back to 1] ### #Wetsuit ### %patch $12A22 $34 $3A #Spawn Wetsuit [Sit] %patch $328C0 $34 $3A #The Wetsuit [Sit] ### #Wormouth ### %patch $10863 $DE $26 #Spawn Wormouth [Move] %patch $108CF $DE $26 #See Keen on the left [Move] %patch $1090D $FC $26 #Turn around [Move] %patch $1088C $DE $26 #See Keen on the right [Move] %patch $3156A $DE $26 #Wormouth move [Keep moving] %patch $31588 $1A $27 #Wormouth looking around 1 %patch $315A6 $38 $27 #Wormouth looking around 2 %patch $315C4 $56 $27 #Wormouth looking around 3 %patch $315E2 $74 $27 #Wormouth looking around 4 %patch $31600 $92 $27 #Wormouth looking around 5 %patch $3161E $B0 $27 #Wormouth looking around 6 %patch $3163C $CE $27 #Wormouth looking around 7 %patch $3165A $DE $26 #Wormouth looking around 8 [Goes to moving] %patch $10955 $EC $27 #See Keen [Bite] %patch $31678 $0A $28 #Wormouth biting 1 %patch $31696 $28 $28 #Wormouth biting 2 %patch $316B4 $46 $28 #Wormouth biting 3 %patch $316D2 $64 $28 #Wormouth biting 4 %patch $316F0 $DE $26 #Wormouth biting 5 [Goes to moving] %patch $1096A $82 $28 #Wormouth shot [Stun] %patch $3170E $00 $00 #Wormouth stunned [Do nothing]