Default properties
All character properties are found in the character.txt. For Ralf this text file is located at data\chars\ralf\ralf.txt.
You can write comments in this text file by writing a "#" before your comment. With the number sign the computer will not process this text as a command. Also useful is that you can use both the "/" and the "\" in the file locations.
At the top of the file you'll find the following properties:
| name Ralf | Default name for this character. |
| health 55 | Default health for this character is 55. |
| speed 7 | Default speed for this character is 7. Increase this number to make the character walk faster. |
| type enemy | Write "enemy" to make an enemy, "player" for a hero, "obstacle" for boxes etc., "item" for items (apple, 1up etc.), and "none" for non-interactive things. |
| shadow 4 | Shadow size is 4. Increase the number for a bigger shadow. Maximum shadow size is 6, and 0 for no shadow. |
| icon data/chars/ralf/icon.gif | Location of the icon image (the image next to the health gauge). |
| diesound data/sounds/die1.wav | Location of the sound the character makes when he dies. |
| remap data/chars/ralf/idle1.gif data/chars/ralf/map1.gif | This function lets you have alternative character colours. The first file points to the image with the original colours. The second file points to the same frame but with alternative colours. |
Animation
Next the actual animations will be constructed. There are a number of different animations.
| anim idle | The animation for standing still. |
| anim walk | Err, well... walking. |
| anim pain | When your character gets hurt. |
| anim fall | When the character gets knocked down, he falls. |
| anim rise | And unless he ran out of health, he'll be getting up again. |
Things you need to know about animations
When creating animations it's best to look carefully at existing characters, and how they work. Here is a rundown of all the properties the animations can have.
| loop 1 | Use 1 for repeating animations, such as walk and idle. Use 0 for single animations that don't repeat until you press the button again, such as attacks. |
| offset 39 121 | The offset is the place where the character will stand and the shadow is placed. This is a single point in the frame. In this case, the x=39 and y=121. |

The offset is depicted here as a white pixel. This pixel is only here to demonstrate the offset point. Do not put a pixel in the actual frame!
An easy way to find the coordinates in Photoshop is to look at the info box. Sadly, it does not allow you to copy these values to the clipboard.
| bbox 22 23 34 99 | The bbox is the bounding box; the area where the character can be hit. The first 2 numbers (22 and 23) are the x and y coordinates of the topleft point of the area. The third number (34) is the width of the bbox, and the fourth (99) is the height. |

The bbox is depicted here as a white box. This box is only here to demonstrate the bbox. Do not put a white box in the actual frame!
| delay 10 | The speed in which the frames follow each other, the delay is given in 100ths of a second. Increase the delay to slow down the animation. |
| sound data/sounds/maxboom.wav | Characters can also make sounds during animations. The sound will play a soon a the animation reaches the point where the sound is declared. |
The offset, bbox, attack and delay remain active for all following frames until they are changed.
| frame data/chars/ralf/idle1.gif | The locations of the actual frames. Put these in the right order. |
Attacks
Each enemy can have up to three normal attacks plus a throw, uppercut, special, and jumpattack. A normal attack is called "anim attack1" (or 2 or 3 of course).
| range 0 70 | If a hero is within this range the character can perform this attack. The range is given in pixels and is measured from the offset point. |
| attack 56 17 47 21 10 0 | The first 2 numbers (56 17) give the x and y coordinates of the attack box. Number three and four (47 21) are the width and height of the box. The fifth number (10) is the strength of the attack. Increase this number for a heavier attack. The sixth number (0) is used to define whether the hero falls down after the attack. Use 1 for fall down, and 0 (or leave it out) not to have the hero fall down.
Set the attack to 0 0 0 0 0 0 when the attack frames are over. |

The attack box is depicted here as a white box. This box is only here to demonstrate the attack area. Do not put a white box in the actual frame!
Uppercut, throw, and special attacks
The uppercut (anim upper) works a normal attack, but it does not have a range. It will start automatically when a hero jumps. The throw (anim throw) also works as a normal attack, but it will happen when a hero walk into the enemy.
The special does have a range, but it will only happen when a hero holds the character for a certain amount of time, so the enemy character can escape its hold.
The jumpattack (anim jumpattack) works as a normal attack, but the character jumps during the attack. This will happen automatically when you use "anim jumpattack".
There is yet one more attack. The shoot attack, which is really a normal attack, but you shoot something. Take Rugal for example; he can shoot a wave. To have this work you must write "load Shot" in the top partition of the character text, in this case Rugal.txt. (Or load knife, if you want a knife).
You also have to define a shootframe in the actual attack animation.
| shootframe 5 | In this attack the character will shoot a wave/knife in the 5th frame in the animation. Place this in the Character.txt file. |
Because the shot is a new entity it has its own animation frames and text file. These can be found under data\chars\misc\shot.txt and data\chars\misc\knife.txt
Heroes
The heroes/players work basically the same as the enemies, they just have some extra animations.
| anim get | Animation to pick up items. |
| anim special | This is the special attack the costs a bit of health. Don't give this animation a bbox, because the whole point of the special move is that you need to be invincible while performing it. |
| anim freespecial | This is the forward, forward+punch special |
| anim jump | This is the jump. Don't give this animation an attack, because heroes can jump without attacking. |
| anim jumpattack | This is the attack that knocks enemies on the ground during a jump. Notice that you are already in the air at this point, so you don't need any animation for jumping off the ground. |
| anim jumpattack2 | This is the air attack that leaves your enemies standing. Notice that you are already in the air at this point, so you don't need any animation for jumping off the ground. |
| anim grab | The animation for holding an enemy, you're not actually throwing yet. |
| anim grabattack | The animation for pummelling an enemy while holding him. |
| anim grabattack2 | The animation for pummelling an enemy and knocking him on the ground. |
| anim throw | Throw your enemy! |
| anim land | Heroes have an extra animation for safe landings (up + jump). |