Difference between revisions of "Game scheme file"
From Worms Knowledge Base
(→Weapon list) |
(added some notes and whether some values are signed or not) |
||
Line 8: | Line 8: | ||
* 00 - Header - "SCHM" (4 bytes) | * 00 - Header - "SCHM" (4 bytes) | ||
* 04 - Version - 1 or 2 (1 byte) | * 04 - Version - 1 or 2 (1 byte) | ||
− | * 05 - Time between turns (also known as hot-seat time), in seconds (1 byte) | + | * 05 - Time between turns (also known as hot-seat time), in seconds (1 byte, unsigned) |
* 06 - Retreat time (time during which the worm is still in control after firing a weapon), in seconds (1 byte) | * 06 - Retreat time (time during which the worm is still in control after firing a weapon), in seconds (1 byte) | ||
* 07 - Rope retreat time (same as above, but when the weapon is fired/dropped off the rope), in seconds (1 byte) | * 07 - Rope retreat time (same as above, but when the weapon is fired/dropped off the rope), in seconds (1 byte) | ||
Line 23: | Line 23: | ||
* 12 - Donor cards (boolean, 1 byte) | * 12 - Donor cards (boolean, 1 byte) | ||
* 13 - Health crate probability (the relative chance that a crate drop will contain energy) (1 byte) | * 13 - Health crate probability (the relative chance that a crate drop will contain energy) (1 byte) | ||
− | * 14 - Health crate energy (how much energy is contained in a health crate) (1 byte) | + | * 14 - Health crate energy (how much energy is contained in a health crate) (1 byte, unsigned) |
* 15 - Utility crate probability (the relative chance that a crate drop will contain a utility) (1 byte) | * 15 - Utility crate probability (the relative chance that a crate drop will contain a utility) (1 byte) | ||
* 16 - Hazardous object types (what hazards should appear on the landscape) - 0=none, 1=mines, 2=drums, 5=both (1 byte) | * 16 - Hazardous object types (what hazards should appear on the landscape) - 0=none, 1=mines, 2=drums, 5=both (1 byte) | ||
Line 29: | Line 29: | ||
* 18 - Dud mines (boolean, 1 byte) | * 18 - Dud mines (boolean, 1 byte) | ||
* 19 - Manual worm placement (boolean, 1 byte) | * 19 - Manual worm placement (boolean, 1 byte) | ||
− | * 1A - Initial worm energy (1 byte) | + | * 1A - Initial worm energy (1 byte, unsigned) |
− | * 1B - Turn time (how long you get to make your move), in seconds (1 byte) | + | * 1B - Turn time (how long you get to make your move), in seconds (1 byte, signed) |
− | * 1C - Round time (time before sudden death), in minutes (1 byte) | + | * 1C - Round time (time before sudden death), in minutes (1 byte, signed) - Note: A negative value will cause in instant sudden death. TODO: Find out how seconds-long rounds are set. |
* 1D - Number of rounds (how many rounds are required to win the match) (1 byte) | * 1D - Number of rounds (how many rounds are required to win the match) (1 byte) | ||
* 1E - Blood (boolean, 1 byte) | * 1E - Blood (boolean, 1 byte) | ||
Line 50: | Line 50: | ||
Each weapon setting structure is 4 bytes long and is as follows: | Each weapon setting structure is 4 bytes long and is as follows: | ||
− | * 00 - ammo (1 byte) | + | * 00 - ammo (1 byte, unsigned) - Note: A value of 0A will give unlimited ammunition. |
− | * 01 - power (1 byte) | + | * 01 - power (1 byte, unsigned) |
− | * 02 - delay (1 byte) | + | * 02 - delay (1 byte, unsigned) |
− | * 03 - crate probability (1 byte) | + | * 03 - crate probability (1 byte, unsigned) |
TODO: link or add normal value ranges, and how the game acts when stuff is set outside these bounds | TODO: link or add normal value ranges, and how the game acts when stuff is set outside these bounds |
Revision as of 09:03, 4 May 2007
The W:A scheme file format contains game settings, which define which weapons will be available, various game options such as turn time and weapon strength, as well as many other settings.
File format
Much of the following information was extracted from The Fiddler, written by Fudge Boy.
- 00 - Header - "SCHM" (4 bytes)
- 04 - Version - 1 or 2 (1 byte)
- 05 - Time between turns (also known as hot-seat time), in seconds (1 byte, unsigned)
- 06 - Retreat time (time during which the worm is still in control after firing a weapon), in seconds (1 byte)
- 07 - Rope retreat time (same as above, but when the weapon is fired/dropped off the rope), in seconds (1 byte)
- 08 - Display total round time (boolean, 1 byte)
- 09 - Automatic replays (boolean, 1 byte)
- 0A - Fall damage (the level of damage done by falling a long way) (1 byte)
- 0B - Artillery mode (aka anchored worms, worms can't jump or move) (1 byte, boolean)
- 0C - Unknown (1 byte)
- 0D - Stockpiling mode (what happens to unused weapons) - 0=Off, 1=On, 2=Anti (1 byte)
- 0E - Enable worm select at the start of the turn (boolean, 1 byte)
- 0F - Round end style (what happens when the time runs out) - 0=round is drawn, 1=nuclear strike, 2=all worms' energy drops to 1, 3=nothing happens (1 byte)
- 10 - Sudden death water rise (how fast the water should rise after sudden death) (1 byte)
- 11 - Weapon crate probability (the relative chance that a crate drop will contain weapons) (1 byte)
- 12 - Donor cards (boolean, 1 byte)
- 13 - Health crate probability (the relative chance that a crate drop will contain energy) (1 byte)
- 14 - Health crate energy (how much energy is contained in a health crate) (1 byte, unsigned)
- 15 - Utility crate probability (the relative chance that a crate drop will contain a utility) (1 byte)
- 16 - Hazardous object types (what hazards should appear on the landscape) - 0=none, 1=mines, 2=drums, 5=both (1 byte)
- 17 - Mine delay (how long between activating a mine and it exploding) (1 byte)
- 18 - Dud mines (boolean, 1 byte)
- 19 - Manual worm placement (boolean, 1 byte)
- 1A - Initial worm energy (1 byte, unsigned)
- 1B - Turn time (how long you get to make your move), in seconds (1 byte, signed)
- 1C - Round time (time before sudden death), in minutes (1 byte, signed) - Note: A negative value will cause in instant sudden death. TODO: Find out how seconds-long rounds are set.
- 1D - Number of rounds (how many rounds are required to win the match) (1 byte)
- 1E - Blood (boolean, 1 byte)
- 1F - Aqua Sheep enabled (boolean, 1 byte)
- 20 - Sheep Heaven (boolean, 1 byte)
- 21 - Indestructible worms (boolean, 1 byte)
- 22 - Indestructible land (boolean, 1 byte)
- 23 - Upgraded grenade (boolean, 1 byte)
- 24 - Upgraded shotgun (boolean, 1 byte)
- 25 - Upgraded banana (boolean, 1 byte)
- 26 - Upgraded longbow (boolean, 1 byte)
- 27 - Player weapons enabled (boolean, 1 byte)
- 28 - Super weapons enabled (boolean, 1 byte)
- 29 - Individual weapon settings (45 or 64 weapon structures, depending whether the version byte is 1 or 2)
Weapon structure
The first scheme format version holds only the 45 regular weapons, and is 221 bytes in size. Version 2 of the format added support for super weapon settings, totalling to 64 weapon records.
Each weapon setting structure is 4 bytes long and is as follows:
- 00 - ammo (1 byte, unsigned) - Note: A value of 0A will give unlimited ammunition.
- 01 - power (1 byte, unsigned)
- 02 - delay (1 byte, unsigned)
- 03 - crate probability (1 byte, unsigned)
TODO: link or add normal value ranges, and how the game acts when stuff is set outside these bounds
Weapon list
The list of weapons, as they appear in the scheme files and in the game memory.
- 0 = Bazooka
- 1 = Homing missile
- 2 = Mortar
- 3 = Grenade
- 4 = Cluster bomb
- 5 = Skunk
- 6 = Petrol bomb
- 7 = Banana bomb
- 8 = Handgun
- 9 = Shotgun
- 10 = Uzi
- 11 = Minigun
- 12 = Longbow
- 13 = Airstrike
- 14 = Napalm strike
- 15 = Mine
- 16 = Fire punch
- 17 = Dragonball
- 18 = Kamikaze
- 19 = Prod
- 20 = Axe
- 21 = Blowtorch
- 22 = Drill
- 23 = Girder
- 24 = Ninja rope
- 25 = Parachute
- 26 = Bungee rope
- 27 = Teleport
- 28 = Dynamite
- 29 = Sheep
- 30 = Baseball bat
- 31 = Flame thrower
- 32 = Homing pigeon
- 33 = Mad cow
- 34 = Holy hand-grenade
- 35 = Old woman
- 36 = Sheep launcher
- 37 = Super sheep
- 38 = Mole bomb
- 39 = Jet pack
- 40 = Low gravity
- 41 = Laser sight
- 42 = Fast walk
- 43 = Invisibility
- 44 = Damage x2
Weapons below are considered as "super weapons" and are not available in v1 scheme files:
- 45 = Freeze
- 46 = Super banana bomb
- 47 = Mine Strike
- 48 = Girder starter pack
- 49 = Earthquake
- 50 = Scales of justice
- 51 = Ming vase
- 52 = Mike's carpet bomb
- 53 = Magic bullet
- 54 = Indian nuclear test
- 55 = Select worm
- 56 = Salvation army
- 57 = Mole squadron
- 58 = MB bomb
- 59 = Concrete donkey
- 60 = Suicide bomber
- 61 = Sheep strike
- 62 = Mail strike
- 63 = Armageddon