Name | Author | Game Mode | Rating | |||||
---|---|---|---|---|---|---|---|---|
Jazz Graphics Pack | Doubble Dutch | JJ1 Level | 8 |
--------------------------------------------------------------------------- ----------------------- Event notes: --------------------------------------------------------------------------- ----------------------- Some notes on the various event variables, including specfic notes on behavior and modifiers: **************** BEHAVIOR: **************** -This governs how the event behaves; mostly how it moves in the level. It isn't associated with any other bytes and can be almsot completely stand-alone 0: FACE JAZZ: The basic item behavior; the event will have one animation when Jazz is left of it, and another when Jazz is right of it, aside from that, it will do nothing. (It is used a lot for bosses though) 1: SINK: Event will fall down until it hits a blocking tile, then it will sit 2: WALK L\R: The basic enemy behavior; the event will move (using byte 16, movement speed) until it runs out of flat solid tiles to stand on or hits a wall; then it will turn around 3: SEEK JAZZ: Event will (Actually only sometimes!) move randomly and make 'swipes' at Jazz, trying to come as close to him as possible. (Other times it just moves back and forth like (2)) 4: WALK L\R AND DOWNHILL: Like (2), event will walk until it hits a wall, then turn, but if i runs out of ground it will fall down 5: UNKNOWN 6: SPECIAL BEHAVIOR: An event using this will refer to the special behavior block in the level for instruction on how to move. It will start reading at byte 23 (Multi-Purpose) x 512. For most events byte 23 is 1, thus they will start reading at byte 512 in the (decompressed) block. Special behavior blocks consist of 8192 bytes. A special behavior starts with two bytes detailing how many v\h byte pairs to read. (I.e how many 'steps' the behavior has, each step takes 1/32 of a second.) This is followed by said v\h pairs. Each pair gives the v and h location of the event in that step divided by 8 pixels. (Values are relative to event spawn spot, these can be between 0 and 7F [Positive] or FF and 80 [Negative] 1 Tile right and one tile up is thus '$F8 $08') A given block can contain a maximum of 16 behaviors, one every 512 bytes 7: SNAKE: Event will move depending on byte 23 (Multi-purpose) with 0 being slow l\r, 1 being l\r and 2+ being wacky patterns (Try each of these out, they rock!). The head sprite L is given byte 7 (Anim left) the body by byte 26 (Medivo ball length) and the tail by byte 25 (bridge length) with the R sprites being 1 greater in all cases. The body segment number is given (Including head) by byte 24 (Y-axis) Byte 10 (Strength) is strength PER SEGMENT, The segment seperation (As opposed to number) is given by byte 27 (Medivo ball direction) with 1 being 1/4 tile apart 8: HIPHOP BIRD: Will follow Jazz and fire enemy shot 31 (Birdshot) at enemies 9: UNKNOWN 10: SAVE POINT: When Jazz destroys this event, the position one tile above the event is saved as his starting position when he dies. 11: FALL TO GROUND: Event will fll at a steady speed until it hits a solid tile, when it will stop. The speed cannot be changed 12: FLOAT L\R: Basic floater behavior; the event will move across until it hits a wall, then reverse direction 13: FLOAT U\D: Like (12) but here event floats up or down until it hits a blocking tile, then it reverses direction. If Jazz is 'crushed' between this and a ceilng, he will scream 14: MOVE L\R: Event zaps back and forth at high speed 15: FLOAT TO MEET JAZZ: Event will move up\down until it is at the same height as Jazz 16: MISSILE: Event moves in a straight line from right to left or left to right across a level as governed by the magnitude (255 for left, 1 for right) . Speed cannot be changed 17: UNKNOWN 18: UNKNOWN 19: UNKNOWN 20: UNKNOWN 21: REPLACE BLOCK: This event must have a byte 10 (Strength) value; when it is destroyed it will replace the tile it is on with one dictated by byte 23 (Multi-purpose) This is often used for shootable scenery. Note that any tile replaced when the event destroyed will have color 127 (Transparent) set as black until it is offscreen, when it willr eturn to transparent. This will look odd if your replacing tile has any see-through bits in it. If you use too many of this event (30+) then the level will 'overload' and all tile 0 will be replaced with the replacing tile 22: RAIN: Event falls to the ground sits, disappears, then falls agian, semi-randomly 23: FLIP TILES: When used with event 123 ONLY, will flip the tiles stores at byte 23 (Multi-purpose) and byte 24 (Y-axis) 24: CRAWL: A repeat behavior, moves l\r and can go downstairs 25: FLOAT UP: This makes Jazz... well, float, depending on te strength of the magnitude byte. Unlike sucker tubes or springs, the suck is smooth, not in jerks. Byte 24 (Y-axis) will change the suck from l\r (0) to u\d (1) If Y-axis is 'used' the strength is given by byte 23 (Multi-purpose) 26: FLIP ANIMATION: Event sits still (No movement) and simply changes its animation depending on where Jazz is; (It changes when Jazz touches it.) 27: FLOAT ON WATER: Event will float in space facing Jazz unless the water level is higher than it, in which case it will float on the water's surface 28: BRIDGE: Conists of 16 sprites in a flexible line. Byte 25 (Bridge length) defines the bridge length in tiles divided by 2 Byte 23 (Y-axis) defines how much the bridge sinks when Jazz is on it. Birdges have magnitude 255 and byte 23 (Multi-purpose) 20 [If it is otherwise, the bridge is a tile longer.) 29: PEZROCK BALL: Event consists of a nub, chain and ball that move around in a circle about the nub. Byte 9 (Magnitude) controls both the speed and direction (+ve clockwise, -ve anticlockwise), byte 25 (Bridge length) controls the number of chain links and byte 26 (Medivo ball length) controls the seperation between links (In 1/8 of a tile) Sprites are controlled by byte 6 (Left animation) for the ball, byte 23 (Multi-purpose) for the nub and 24 (Y-axis) or the chain (These are SPRITES, not animation sequences!) 30: MEDIVO BALL: Event consists of a nub, chain and ball and moves in a swinging motion. Byte 9 (Magnitude) defines the speed and direction (+ve clockwise, -ve anticlockwise, though this doesn't matter), byte 27 (Medivo ball direction) controls the start position (x/256 x 360 is the location in degrees clockwise from 3 O'clock; thus 64 = 1/4 =90 degrees is straight down and 128 is 9 O'clock), byte 25 (Bridge length) controls the number of chain links and byte 26 (Medivo ball length) controls the seperation between links (In 1/8 of a tile) Sprites are controlled by byte 6 (Left animation) for the ball, byte 23 (Multi-purpose) for the nub and 24 (Y-axis) for the chain (These are SPRITES, not animation sequences!) 31: SLIDE-FLY: Event moves left and right for a distance in tiles given by byte 23 (Multi-purpose) at a speed governed by byte 25 (bridge length) while floating in the air. Byte 9 (Magnitude) governs the initial direction (l\r) 32: SLIDE_FLY: Almost identical to (31), bu more difficult to use 33: STALKER: Event will follow Jazz if he is not facing it 34: BOUNCE: Event will sit for a time given by byte 24 (Y-axis) then bounce upward to a height given by byte 23 (Multi-purpose) using the sound in byte 22 every bounce Byte 16 (Movement speed) seems to be take over 'waiting time' after JCS94 saves levels (ERROR!) 35: CRAWL_SNEAKER: Event will move l\r and when Jazz is close move until 1 tile away from him. It will not fall off edges and crawls on the ground (It will be still if in air) 36: CRAWL-STALKER: Event will move l\r seeking Jazz and fall down off endges 37: REPEL JAZZ: Identical to (38) but more difficult to use 38: REPEL JAZZ: Pushes Jazz in a direction when touched. Unlike (25), it is a single shove, not a smooth float. This is used for sucker tubes, The Y-axis will change the suck from l\r (0) to u\d (1) and the magnitude will give the 'force' of the push 39: FALL ON JAZZ: If Jazz is under or over the event, it will fall down until it hits blocking tiles. The amount of time needed before the event falls is controlled by byte 23 (Multi-purpose) 40: MONOCHROME JAZZ: When Jazz touches this event, he turns monochrome. 41: TURN RANDOM: Event sits, but occasionally turns, flipping from (left to right or vice versa) 42: REFLECT: If byte 3 (Graphical effects) is set to $3F, this will reflect jazz of itself like a mirror. Used best with red tiles 43: REFLECT 2: Identical to (42) bu better used with green tiles 44: LEAP: Event will jump towards Jazz at high speed 45: TRANSLUCENT: When Jazz touches this event the tile it is on becomes foreground except for colors 128-143 which will change Jazz's colors to match theirs. (Kinda like MONOCHROME Jazz, except this can be any color) (Color 127 is transparent of course, like foreground with transparency) 46: BIG BUNNY: Event behaves exactly like the big bunny boss of ep 6. This event should be kept caged or it will run everywhere. An important bytes are byte 14 (Enemy shot frequency) which defines how often it will shoot 47: MOVE: Event moves in a direction and speed governed by magnitude, passes offscreen and disappears 48: OWL BOSS: Event will fly back and forth rapidly. After shooting five times (The event doesn't HAVE to shoot.) it will change event to event 2 49: MOVE 2: Event moves l->r or r->l depending on the value of magnitude. A repeat behavior 50: When event is near Jazz it will jump towards him and destroy itself 51: EGG: Event will smash open with sprites of byte 23 (Multi-purpose) and seek a boss event to orbit 52: JUMP SLAM: Object will jump around and slam into the ground; this is used for some bosses 53: DREEMPPE TURTLE: Event will stay still using the sprite value at byte 23 (Multi-purpose) untilt he water level is a tile above it, when it will move l\r as in (2) using the l\r animations 54: SINK 2: Event sinks into the ground and disappears 55: UNKNOWN 56: PUSH DOWN: When Jazz touches event he is pushed down, the opposite of (25) and almost identical to it 57: RANDOM SHOT: Every byte 24 (Enemy shot frequency) seconds, event will spawn a byte 23 (Multi-purpose) number of shots in a short burst. The shot is given in byte 13 x times 58: BUBBLE: Event will, when underwater, float up to the water's surface and dissapear. This happens only ONCE, then the event is destroyed 59: ZOONIC: Event will run back and forth and shoot at byte 13 shots at Jazz. All the behavior is hardcoded 60: DEVAN BOSS: This is hardcoded and doesn't like normal levels. It's Devan and his guard from Deckstar 61: RANDOM SEEK: Moves erratically, but slowly heads towards Jazz 62: BUBBLE BOSS: The boss from Lagunicus; hardcoded and doesn't like normal levels. Will float on a water level spawning shots if any are coded 63: UNKNOWN 64: INVISIBLE: This event does almost nothing 65: FLIP ANIMATION: Every few seconds event will change l and r animations **************** MODIFIER: **************** -This governs mostly what happens when the event is destroyed or touched; it is how it affects Jazz. Often related to byte 9 (Magnitude), byte 23 (Multi-purpose) and byte 16 (Movement speed) 0: HURT: When Jazz touches this event's sprite, he will be hurt. 1: INVINCIBILITY: When destroyed, will provide Jazz with invincibility for a period dicated by byte 23 (Multi-purpose) 2: HEALTH: When destroyed, increases Jazz's health by 1 3: HEALTH: Repeat of (2) 4: EXTRA LIFE: When destroyed, increases Jazz's life count by 1 5: JUMP: When destroyed, Jazz gets a jump increase of 1/ a tile 6: PLATFORM: Jazz can stand on the event like it is solid ground. It can also push him or knock him down 7: IGNORE BYTES 29-30: The basic 'nothing' modifier; when the event is shot, no animation appears, though this itself can be ignored. Used by events when nothing else will do, or if the end aniamtino really should be ignored 8: BOSS: A health meter will appear and when the event is destroyed the level will end 9: TIMER: When destroyed, Jazz gets a minute of extra time 10: SAVE POINT: When destroyed, the tile above the event is saved as Jazz's start position if he dies 11: ITEM: When destroyed increases Jazz's item count by 1 12: RAPIDFIRE: When destroyed increases Jazz's shot rate by 1 13: WARP: When Jazz touches this event in warps him to x,y in the level as dictated by bytes 23 (Multi-purpose) and 24 (Y-axis) 14: +10 ODD WEAPON: When destroyed, gives Jazz 10 of the odd weapon. This weapom can be used if the level is programmed right 15: +15 TOASTER: When destroyed, increases Jazz's toaster count by 15 16: +15 RF: When destroyed, increases Jazz's RF missile count by 15 17: +15 LAUNCHER: When destroyed, increases Jazz's launcher count by 15 18: +2 TOASTER: When destroyed, increases Jazz's toaster count by 2 19: +2 RF: When destroyed, increases Jazz's RF missile count by 2 20: +2 LAUNCHER: When destroyed, increases Jazz's launcher count by 2 21: +1 ODD WEAPON: When destroyed gives Jazz 1 of the odd weapon. This weapon can be used if the level is programmed right 22: UNKNOWN 23: JAZZ TRANSFORM: Turns Jaz into a turtlette. If the level is programmed right, the animation can be changed to anything. In this form Jazz cannot jump or fall down, only move l\r 24: JAZZ TRANSFORM 2: Similar to (23), can be useful if programmed right 25: JAZZ TRANSFORM 3: Similar to (23) and (24), can be useful too 26: SPEED: When destroyed will cause jazz to move at doubble speed for a time dictated byyte 23 (Multi-purpose) and will doubble music speed until the end of the loop 27: END LEVEL: When destroyed, ends the level and brings up the PERFECT screen 28: WALK JAZZ Used with (25) 'float up' when Jazz stands on it, can also be used as one way l\r if there is no associated 'float up' behavior (E.g the Owls in Raneforus) Here byte 9 (Magnitude) defines both strength and direction, and byte 25 (Bridge length) makes the event push Jazz instead of moving him smoothly 29: SPRING UP: When touched will propel Jazz in an upward direction given by magnitude and if byte 24 (Y-axis) is larger than 1, the l\r as dictated by byte 23 (Multi-purpose) 30: TNT: When destroyed, gives Jazz 1 TNT. Although this event is always associated with bytes 23-28 being equal to 9, this isn't necessary for the event to function 31: CHANGE WATER LEVEL: When destroyed the event bings the water level up\down to itself It also freezes in it's 'finnish anim' This can be used in levels without water 32: FLOAT JAZZ: Used with (25) 'float up' when this has Jazz passing through it 33: ONE HIT SHIELD: When this event is destroyed, Jazz gets a one hit shield. 34: HIP_HOP: When destroyed gives Jazz a shooting bird companion 35: AIRBOARD: When destroyed, will give Jazz an airboard 36: FOUR HIT SHIELD: When this event is destroyed, Jazz gets a four hit shield. 37: BONUS GEM: When destroyed, gives Jazz the bonus gem 38: REMOVE AIRBOARD: When destroed, removes Jazz's airboard 39: +15 ODD WEAPON: When destroyed gives Jazz 15 of the odd weapon. If the level is programmed right, this weapon can be used 40: +2 ODD WEAPON: When destroyed gives Jazz 2 of the odd weapon. If the level is programmed right, this weapon can be used 41: SECRET LEVEL: When destroyed, takes Jazz to a level defined by bytes 23 (Multi-purpose) and 24 (Y-axis) These define the level number and world number respectively 42: UNKNOWN 43: SPRINGLIKE: Behaves like a spring, but harder to use **************** BYTE 1: DIFFICULTY **************** Defines the dificulty level this event first appears on. It will appear on all harder difficulties. Always between 0 (easy) and 4 (Turbo); usually 0 or 2 **************** BYTE 3: REFLECT **************** When used with behavior (42) and (43) (Reflect boxes) it will reflect things off the event. Is either 0 or 63 and is often set with non-reflect events, with no effect **************** BYTE 6-7: NORMAL ANIMATION **************** The animation sequence (Not sprite) the event uses when it is left and right of Jazz respectively. Or when it is moving left or right. Is sometimes used by behaviors as the 'normal' sprite; for example it defines the sprite used in a bridge and the ball of a medivo ball. **************** BYTE 9: MAGNITUDE **************** This defines one of two things, depending on what the event behavior is. Firstly it can control the strength of an efect, how high a spring bounces, how hard a tube sucks. Here 'negative' or up\leftward magnitudes are 256-strength, while down\rightward magnitudes are 0+strengh. The second, used for most other events is the initial direction with 255 being left and 1 being right. This is for things like walking turtles say. Direction is often changed by byte 24 (Y-axis) from l\r (0) to u\d (1) **************** BYTE 10: STRENGTH **************** This is how many shots are needed to kill the sprite. Immortal events must have the 'hurt' modifier, or else they will be destroyed when Jazz touches them. **************** BYTE 12: POINT **************** When an event is destroyed, this value x 10 is added to Jazz's score. **************** BYTE 13: ATTACK **************** Controls what attack the event uses. For example, value 1 makes the event shoot blaster bullets. Thus, for shooting events, it is used to control *what* is shot. For non shooting events it is remarkably consisten across levels, which suggests it does *something*; but something not immediately apparent. Therefore, if an event doesn't have a byte 14 (Enemy shot frequency) value, this value s meaningless, or nearly so **************** BYTE 14: ENEMY SHOOTING FREQUENCY **************** Defines how often an event spawns a shot. **************** BYTE 16: SPEED **************** For events that walk, float or fly, this controls how fast they do so. Otherwise speed will be controlled by byte 9 (Magnitude) **************** BYTE 18: ANIMATION SPEED **************** Defines how fast the event animates; sometimes this value can be useless, but not often **************** BYTE 21: EVENT ID **************** This is usually the same as the event number. It's pretty much useless, though the HOCUS cheat uses it to seek event 2 to teleport to **************** BYTE 22: SOUND **************** This is the sound played when the evet is 1.) Destroyed (By a shot or Jazz getting it) or 2.) Touched (Jazz bounces on a spring, gets sucked by a tube...) A sond will only play if the number is the same as a cached sound in the LEVEL SOUND LIST. **************** BYTE 23: MULTI_PURPOSE **************** Used for a wide range of things, usually to define the magnitude of something, such as time invincibilty lasts, the tile replacement for destructable blocks or the length of snakes. Often related to byte 24 (Y-axis) which usually 'switches' or controls the effect that byte 23 controls the strength of **************** BYTE 24: Y-AXIS **************** When this is larger than 0 it usually changes the direction of something from horizontal to vertical. It is also sometimes the vertical magnitude of something, such as how much a bridge sinks whn Jazz is on it. Often related to byte 23 (Multi-purpose) **************** BYTE 25: BRIDGE LENGTH **************** Controls the length (Or number of pieces) of chains and such, famous for defining the length of bridges in tiles, divided by two, but also controls the number of pieces in a medivo ball chain **************** BYTE 26: MEDIVO BALL LENGTH **************** Controls the seperation (In eigths of a tile) between medivo ball pieces. Strongly associated with cyte 27 (Medivo ball start) and 25 (Bridge length) **************** BYTE 27: MEDIVO BALL START **************** To figure out where a Medivo ball starts, take this value and divide by 256. Then take THAT value and multiply by 360 degrees, then use 3 O'clock as 0. Thus 64 is 1/4 or 90 degrees from 3 O'clock, or straight down. This can be ANY VALUE from 0-255 Values larger than 128 are 'flipped' so 150 = 128 + 32 = 45 degrees, but is at 7 O'clock, not 4 O'clock as expected. Associated with byte 26 (Medivo ball length) and byte 25 (Bridge length) **************** BYTE 28: UNUSED **************** Only used for TNT items, where its value and those of the previous 5 bytes are set at 9, even though this is not necessary **************** BYTE 29-39: KILLED ANIMATIONS **************** These two bytes are usually the same and are the animation sequences (Not sprites) displayed when Jazz is left or right of an event that has just been destroyed. It is responsible for the sparkles when items are got, the explosion when enemies are shot and the fragments when destructable scenery is shot **************** BYTE 31-32: ATTACK ANIMATION **************** These two bytes are usually the same, they are the animation sequences (Not sprites) displayed when Jazz is left or right of an event spawning another event (I.e shooting) Oddly, these bytes are the same, and that works fine, but once JCS94 saves the level they must be made different or the event will look odd when shooting
Jazz2Online © 1999-INFINITY (Site Credits). We have a Privacy Policy. Jazz Jackrabbit, Jazz Jackrabbit 2, Jazz Jackrabbit Advance and all related trademarks and media are ™ and © Epic Games. Lori Jackrabbit is © Dean Dodrill. J2O development powered by Loops of Fury and Chemical Beats.
Eat your lima beans, Johnny.