This text file contains the actions, aspect and options for each powerup. As with all data files, comments are followed by a double slash (
//), and in this file, the comments are highly needed in order to understand how to manipulate the powerups. In this article, important comments are in italic.
All lines can be edited by the player, and the changes will be reflected in the game. This means that a player can edit a part of the game at his/her liking, without much hacking knowledge. The player can even add more powerups to the game[confirmation needed].
The file must start with a line specifying how many powerups are there, followed by a comment or not. After that, the lines are organized in a way so that the game understands where a certain powerup begins and another ends. Generally, the player should use the original file's style if (s)he doesn't want to mess up.
A powerup is consisted of a block of several lines. This is their general syntax:
name icon fizzle type time limit initial value for key operable powerups (Carma2 only) action index number of floating point params [list of float params] number of integer params [list of int params] group inclusion pratcam sequence net type/flags
The name that appears on screen is specified here. Note that some powerups don't have a name, like credits because their "name" shows up in a different way.
- Main article: Icon
This is the name of the powerup's icon. Note that you can't write a name of an icon that doesn't exist.
This property is uncertain: nobody knows what it does, although it's speculated that it's related to the sparks that come out when the powerup is collected.
As the comment states, the value for this line must be:
- -1 if the powerup should only be activated upon collection.
- 0 if the powerup lasts for the entire race, or until it's canceled.
- Any other number, specifying the amount of seconds this powerup lasts.
Setting a powerup a time type that it wasn't suppose to (example: credits lasting 30 seconds) is generally useless. Other powerups might have permanent effects.
Initial value for key operable powerupsEdit
(zero if not key operable, positive if time in seconds, negative if number of uses)
This is what specifies whether the powerup is an item or not.
- 0 if it's not an item.
- A positive number, specifying how many seconds it lasts (example: afterburner).
- A negative number, specifying how many times it can be used.
- Main article: Action index
Number of floating point paramsEdit
This value depends on the chosen action index. If this number isn't the same as the number of float parameters in the index, the game will crash.
List of float paramsEdit
If the previous line was 0, then this line shouldn't exist. Else, all the parameter values must be specified, one in each line. For instance, if the index takes 4 floating point parameters, the next 4 lines should be their values. These values must be ordered, which means that the player can't specify the value for the 2nd parameter, and the 1st parameter's value on the next line.
Number of integer paramsEdit
As with the floating point parameters, this is the number of integer parameters.
List of int paramsEdit
Again, this is the list of integer parameters.
Nobody knows what this section is. It's likely the random powerup group that the random selection powerup chooses, but it doesn't seem to work that way.
This is the line that sets which prat cam animation to play when the powerup is collected[confirmation needed].
Seeing as the prat cam isn't present in Carmageddon II, changing this line will have no effect. Surprisingly, all powerups have a certain value for this line, which indicate that the prat cam may have been included at some point during development.
If it's Carmageddon, this line specifies the powerup's net type. If it's Carmageddon II, the flags. They are both essentially the same thing, despite working a bit differently.
(0 = local, 1 = global, 2 = don't use)
- 0 if the powerup only affects the one who collected it (example: turbo).
- 1 if the powerup affects everyone playing (example: pedestrians glued to the ground).
- 2 if the powerup shouldn't be present in a net game (example: timer frozen).
(1 = net_global, 2 = net_inappropriate, 4 = off_before_snapweld)
The comments only feature these flags, but it appears that there are tons more. Some powerups have flags of values of 128.
- 0 if the powerup only affects the one who collected it.
- 1 if the powerup affects everyone playing.
- All other values are unknown, including 4.
To set a flag, one must add the numbers of the desired values. For instance, if the powerup should use the flags 4 and 8, this line should read 12. Read more here.