********** KEEN ACTIONS ********** Since Keen's actions are so complex, they are stored here for convenience. Here, like the previous section you can alter what Keen does, but unlike the previous section, Keen is far more complicated; he often waits for keys to be pressed, or collides with things or has to have seperate actions for lots of things. (Turning while wlaking down a hill for example.) There are about 20 unknown or poorly known actions, 17 of them belong to Keen. If you don't know what it does, experiemnt, if you find out, contact me. Some actions you'll find easy to edit, others will be more slippery and complex. It is not wise to make Keen turn into a sprite, he might not turn back, but you can use as many death actions as you like. (Making Keen die say if he gets bored.) There are many subrotuines and such that tell sprites how to act, thesea re 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 animatiosn, animation speed, collision action 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 $ 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 Keen is spawned or wants to shoot; 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 Keen is spawned with a action of the first kind, then cycles forever as 'standing' the second kind until something happens to him. (He moves, shoots, jumps...) 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 Keen suddenly become a Spindred 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. Others may cause the Keen to freeze. You shouldn't get uncached sprites with Keen, so long as you don't use 'enemy' actions for him. There are two bits of shorthand you should know; any patch with 'start' or 'spawn' in it means that the game uses this to create a start from nothing; it's where a action 'begins' Any patch with [Random] in it means that the game randomly does this, though this is rare. Some actions are marked [Minor] meaning that though they are used, it is only occasionally to surprise yo. 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, 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 erase actions easily enough (Replace 'Keen bored' with 'Keen stand' to stop him being bored say.) and use this elsewhere (To give him four pole animations say.) It takes a bit of skill, but once you get the hang of it you can shuffle actions with ease. Keen's actions are divided into several sections in this order: Map Keen, Standing and walking, Looking, Jumping and pogoing, Climbing and poles, Shooting, Swimming, and Misc. The final section, Move Screen is for patches that stop the screen moving whe Keen does something (Like grip a ledge or look up/down) ### #Map Keen ### %patch $316D6 $0000W #Map Keen standing %patch $316F4 $13B6W #Map Keen wait %patch $31712 $13D4W #Map Keen wave %patch $31730 $13F2W #Map Keen wave %patch $3174E $1410W #Map Keen wave %patch $3176C $142EW #Map Keen wave %patch $3178A $1398W #Map Keen wave %patch $317A8 $144CW #Map Keen moving %patch $317E6 $14A8W #Keen K flag waving %patch $31804 $14C6W #Keen K flag waving %patch $31822 $14E4W #Keen K flag waving %patch $31840 $148AW #Keen K flag waving ### #Standing and walking ### #Spawn Keen: %patch $12E2E $0888W #Keen standing left %patch $12E3B $0888W #Keen standing right %patch $12E5C $0888W #Keen standing? #Standing %patch $30BE4 $0888W #Keen standing #Standing on platforms %patch $30C02 $08A6W #Keen on platforms #Walking %patch $312CE $0F90W #Keen walking %patch $312EC $0FAEW #Keen walking %patch $3130A $0FCCW #Keen walking %patch $31328 $0F72W #Keen walking ### #Looking ### #When to... %patch $86C8 $0AE0W #Move screen up (When Keen is looking up) %patch $86FE $0B3AW #Move screen down (When Keen looks down) %patch $30E1E $0AE0W #Keen looking up %patch $30E3C $0000W #Keen looking up %patch $30E5A $0B1CW #Keen looks down %patch $30E78 $0B3AW #Keen looks down %patch $30E96 $0000W #Keen looks down %patch $30EB4 $0888W #Keen stops looking down %patch $30ED2 $1080W #Keen stops looking down %patch $30EF0 $0000W #Keen stops looking down ### #Jumping and pogoing [In that order] ### %patch $31346 $1008W #Keen start pogoing %patch $31364 $1026W #Keen pogoing %patch $31382 $0000W #Keen pogoing %patch $313A0 $1062W #Keen jumping %patch $313BE $1080W #Keen jumping %patch $313DC $109EW #Keen start falling %patch $313FA $1080W #Keen falling ### #Climbing and poles [Pole shooing is under 'Shooting'] ### %patch $3112A $0DCEW #Keen still on a pole %patch $31148 $0E0AW #Keen going up a pole %patch $31166 $0E28W #Keen going up a pole %patch $31184 $0DECW #Keen going up a pole %patch $311A2 $0E64W #Keen going down a pole %patch $311C0 $0E82W #Keen going down a pole %patch $311DE $0EA0W #Keen going down a pole %patch $311FC $0E46W #Keen going down a pole ### #Shooting [l/r then u/d; on ground, then in air, on poles then Keen's shot] ### #On the ground %patch $30F4A $0C0CW #Keen shooting l/r start %patch $30F68 $0888W #Keen shooting l/r %patch $30F86 $0C48W #Keen shooting up start %patch $30FA4 $0AC2W #Keen shooting up #On poles %patch $3121A $0EDCW #Keen shooting l/r on a pole %patch $31238 $0DCEW #Keen shooting l/r on a pole %patch $31256 $0F18W #Keen shoots up on pole %patch $31274 $0DCEW #Keen shoots up on pole %patch $31292 $0F54W #Keen shooting down on a pole %patch $312B0 $0DCEW #Keen shooting down on a pole #In the air %patch $31418 $10DAW #Keen shoot l/r in air %patch $31436 $10F8W #Keen shoot l/r in air %patch $31454 $1080W #Keen shoot l/r in air %patch $31472 $1134W #Keen shoot up in air %patch $31490 $1152W #Keen shoot up in air %patch $314AE $1080W #Keen shoot up in air %patch $314CC $118EW #Keen shoot down in air %patch $314EA $11ACW #Keen shoot down in air %patch $31508 $1080W #Keen shoot down in air #Keen's shot %patch $DD43 $1502W #Keen's shot spawned %patch $3185E $1520W #Keen's shot %patch $3187C $153EW #Keen's shot %patch $3189A $155CW #Keen's shot %patch $318B8 $1502W #Keen's shot %patch $318D6 $1598W #Keen's shot smash %patch $318F4 $0000W #Keen's shot smash ### #Misc ### #Bored 1 %patch $30C20 $0888W #Keen looks up (Bored) #Bored 2 %patch $30C3E $0900W #Keen shrugs (Bored more) %patch $30C5C $091EW #Keen shrugs %patch $30C7A $093CW #Keen shrugs %patch $30C98 $095AW #Keen shrugs %patch $30CB6 $0978W #Keen shrugs %patch $30CD4 $0888W #Keen shrugs #Bored 3 %patch $30CF2 $09B4W #Keen reads book %patch $30D10 $09D2W #Keen reads book %patch $30D2E $09F0W #Keen reads book %patch $30D4C $0A0EW #Keen reads book %patch $30D6A $0A2CW #Keen reads book (Loop start) %patch $30D88 $0A4AW #Keen reads book %patch $30DA6 $0A0EW #Keen reads book (Loop end) %patch $30DC4 $0A86W #Keen stops reading book %patch $30DE2 $0AA4W #Keen stops reading book %patch $30E00 $0888W #Keen stops reading book #Dying %patch $30F0E $0BB2W #Keen dies sprawled %patch $30F2C $0BD0W #Keen dies clutched #V card doors %patch $AD54 $1610W #What V card door does when opened (Open V card door, duh) %patch $AD88 $0888W #What Keen does if no V card at door (Stays standing) %patch $B45A $0DB0W #Keen win level via exit door (Stay exiting doors, last frame) %patch $B443 $0DB0W #Uknown door-related action (Keep exiting doors) #Doors %patch $ACFD $0CC0W #Keen start interaction with walk-in doors %patch $AD63 $0CDEW #Keen start walking into doors %patch $31076 $0D38W #Keen walks into doors %patch $31094 $0D56W #Keen walks into doors %patch $310B2 $0D74W #Keen walks into doors %patch $310D0 $0D92W #Keen walks into doors %patch $310EE $0888W #Keen walks into doors %patch $3110C $0888W #Keen walks into doors #Ledgegripping %patch $31526 $11E8W #Keen gripping ledge %patch $31544 $0000W #Keen gripping ledge %patch $31562 $1224W #Keen pulls himself up from ledgegripping 1 %patch $31580 $1242W #Keen pulls himself up from ledgegripping 2 %patch $3159E $1260W #Keen pulls himself up from ledgegripping 3 %patch $315BC $127EW #Keen pulls himself up from ledgegripping 4 %patch $315DA $0888W #Keen stands back up %patch $30FC2 $0C84W #Keen flicking switches %patch $30FE0 $0888W #Keen flicking switches %patch $30FFE $0C84W #Keen places gem %patch $3101C $0000W #Keen places gem, door opens %patch $3103A $0D1AW #Keen ??? %patch $31058 $0000W #Keen ???