Difference between revisions of "Game scheme file"

From Worms Knowledge Base

Jump to: navigation, search
m
m (Extended options)
 
(48 intermediate revisions by 13 users not shown)
Line 1: Line 1:
 
{{ParentArticle|[[File formats]]}}
 
{{ParentArticle|[[File formats]]}}
 +
:''"'''WSC'''" (see [[Terminology|worms terminology]]) redirects here. For the scheme contest, see [[Worms Scheme Contest]].''
 
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.
 
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.
 +
 +
== Versioning ==
 +
 +
The basic W:A scheme format currently has three versions:
 +
 +
* '''Version 1''' is the original scheme format that came with the game. It is 221 bytes in size, and contains only the basic game options and settings for the standard weapons. Much of the information on this version was initially extracted from [[The Fiddler]].
 +
* '''Version 2''' was introduced in the [[Worms_Armageddon_ReadMe_(English)/v3.5_Beta_1_Update|v3.5 Beta 1 Update]]. It is 297 bytes in size, and contains the above plus settings for super weapons.
 +
* '''Version 3''' was introduced in the [[Worms_Armageddon_ReadMe_(English)/v3.8_Update|v3.8 Update]]. It is of variable size, depending on how many extended options are set — in 3.8 it can reach up to 407 bytes, though this may be extended in the future without necessarily incrementing the scheme format version. It contains the new Extended Scheme Options introduced in this version of the game. Default values are specified for each of the Extended Scheme Options which are used by the game when the file is not long enough to contain the option in question.
  
 
== File format ==
 
== File format ==
Much of the following information was extracted from [[The Fiddler]], written by [[Fudge Boy]].
 
<!-- a table would be much more fitting here but I'm too lazy to make wiki tables...-->
 
  
* 00 - Header - "SCHM" (4 bytes)
+
A scheme is organized into the following sections, which are explained in more detail below. Depending on the scheme version, specific sections may not be available.
* 04 - Version - 1 or 2 (1 byte)
+
 
* 05 - Time between turns (also known as hot-seat time), in seconds (1 byte)
+
{| class="wikitable"
* 06 - Retreat time (time during which the worm is still in control after firing a weapon), in seconds (1 byte)
+
! Offset !! Size !! Version !! Section || Description
* 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)
+
| 00 || 5 || 1 || [[#Header|Header]] || Signature ("magic bytes") and version of scheme.
* 09 - Automatic replays (boolean, 1 byte)
+
|-
* 0A - Fall damage (the level of damage done by falling a long way) (1 byte)
+
| 05 || 35|| 1 || [[#Options|Options]] || Game options like number of rounds, mines, worm energy, etc.
* 0B - Artillery mode (aka anchored worms, worms can't jump or move) (1 byte, boolean)
+
|-
* 0C - Unknown (1 byte)
+
| 29 || 180 || 1 || [[#Weapons|Weapons]] || Normal weapon and utility table.
* 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)
+
| DD || 76 || 2 || [[#Weapons|Super weapons]] || Super weapon and utility table.
* 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)
+
| 129 || 0-110 || 3 || [[#Extended options|Extended options]] || Detailed physics / emulation / RubberWorm settings.
* 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)
+
The following data types are used:
* 14 - Health crate energy (how much energy is contained in a health crate) (1 byte)
+
* '''Integers''' are little endian.
* 15 - Utility crate probability (the relative chance that a crate drop will contain a utility) (1 byte)
+
* '''Fixed-point''' values can be thought of as being split into two halves; the most significant two bytes are the whole part, and the least significant two bytes are the fractional part, measuring 65536ths. For instance, 0x00020001 (which due to little-endian would be written to the file in the order 01 00 02 00) would equal 2 + 1/65536. However, these two halves really act as one, so can perhaps better be considered as a 32-bit signed integer measuring 65536ths — most notably, both halves of the fixed point take part in twos complement (so 0xFFFFFFFF is -(1/65536) and not -(65535/65536)).
* 16 - Hazardous object types (what hazards should appear on the landscape) - 0=none, 1=mines, 2=drums, 5=both (1 byte)
+
* '''Bools''', unless otherwise specified, use 0 for false and 1 for true.
* 17 - Mine delay (how long between activating a mine and it exploding) (1 byte)
+
* '''Tri-state''' values have the following possible values: 0 for false, 1 for true, 128 (0x80) for the default behaviour as determined by game engine version or other external factors.
* 18 - Dud mines (boolean, 1 byte)
+
 
* 19 - Manual worm placement (boolean, 1 byte)
+
=== Header ===
* 1A - Initial worm energy (1 byte)
+
 
* 1B - Turn time (how long you get to make your move), in seconds (1 byte)
+
{| class="wikitable"
* 1C - Round time (time before sudden death), in minutes (1 byte)
+
! Offset !! Size !! Type !! Name !! Description
* 1D - Number of rounds (how many rounds are required to win the match) (1 byte)
+
|-
* 1E - Blood (boolean, 1 byte)
+
| 00 || 4 || char[4] || Signature
* 1F - Aqua Sheep enabled (boolean, 1 byte)
+
| The [[w: Magic number (programming)|magic number]] used to identify the WSC file. [[w: Hexadecimal|Hex]]: 0x5343484D, [[w: ASCII|ASCII]]: "SCHM"
* 20 - Sheep Heaven (boolean, 1 byte)
+
|-
* 21 - Indestructible worms (boolean, 1 byte)
+
| 04 || 1 || uint8 || Version
* 22 - Indestructible land (boolean, 1 byte)
+
| Represents the WSC file version.
* 23 - Upgraded grenade (boolean, 1 byte)
+
* 1 = Standard Scheme
* 24 - Upgraded shotgun (boolean, 1 byte)
+
* 2 = Super Weapon Scheme (super weapon settings are saved, see below)
* 25 - Upgraded banana (boolean, 1 byte)
+
* 3 = Extended Scheme (contains the extended scheme options, see below)
* 26 - Upgraded longbow (boolean, 1 byte)
+
|}
* 27 - Player weapons enabled (boolean, 1 byte)
+
 
* 28 - Super weapons enabled (boolean, 1 byte)
+
=== Options ===
* 29 - Individual weapon settings (45 or 64 weapon structures, depending whether the version byte is 1 or 2)
+
 
 +
{| class="wikitable"
 +
! Offset !! Size !! Type !! Name !! Description
 +
|-
 +
| 05 || 1 || uint8 || Hot-Seat Delay
 +
| The extra time added between turns, used to switch seats and/or plan your turn. Values represent seconds.
 +
|-
 +
| 06 || 1 || uint8 || Retreat Time
 +
| The time available after using a weapon while grounded, used to move to a better place before your turn ends. Values represent seconds.
 +
|-
 +
| 07 || 1 || uint8 || Rope Retreat Time
 +
| The time available after using a weapon while roping, used to move to a better place before your turn ends. Values represent seconds.
 +
|-
 +
| 08 || 1 || bool || Display Total Round Time
 +
| If true, the total round time is displayed along with the turn time.
 +
|-
 +
| 09 || 1 || bool || Automatic Replays
 +
| If true, the game will automatically replay the ending of a significant turn. Does not apply to online games.
 +
|-
 +
| 0A || 1 || uint8 || [[Fall Damage]]
 +
| The amount of damage caused to a worm for hitting the ground at a critical velocity.
 +
|-
 +
| 0B || 1 || bool || Artillery Mode
 +
| If true, worms are unable to move around by means of walking or jumping. Also known as "anchored worms".
 +
|-
 +
| 0C || 1 || bool || Bounty Mode
 +
| This setting presumably was for a planned feature that never got implemented. The byte is unused by the game. A suggested use for this byte is for scheme editors to save a selected Magic Number to distinguish which scheme editor was used to encode a scheme.
 +
* 0x00 = Unset
 +
* 0x5F = [[LeTotalKiller's Scheme Editor]]
 +
* 0x89 = [[SchemeEddy]]
 +
|-
 +
| 0D || 1 || enum || [[Stockpiling|Stockpiling Mode]]
 +
| Determines what happens to unused weapons between rounds. This setting only matters in matches where more than 1 round is meant to be played.
 +
* 0 = Off (replenishing)
 +
* 1 = On (accumulating)
 +
* 2 = Anti (reducing)
 +
|-
 +
| 0E || 1 || enum || Worm Select
 +
| The method for choosing which worm on the team plays the turn.
 +
* 0 = Sequential
 +
* 1 = On
 +
* 2 = Random
 +
|-
 +
| 0F || 1 || enum || [[Sudden Death|Sudden Death Event]]
 +
| An event that gets triggered after the remaining round time reaches zero.
 +
* 0 = Round ends (the leading team wins)
 +
* 1 = Nuclear strike
 +
* 2 = HP drops to 1
 +
* 3 = Nothing happens
 +
|-
 +
| 10 || 1 || uint8 || [[Sudden Death#Flooding_speed|Water Rise Rate]]
 +
| The rate that the water rises after each turn during sudden death.
 +
|-
 +
| 11 || 1 || sint8 || [[Crate probability|Weapon Crate Probability]]
 +
| The relative chance that a crate drop will contain weapons.
 +
|-
 +
| 12 || 1 || bool || [[Donor Card|Donor Cards]]
 +
| If true, teams will drop a collectible donor card at their defeat.
 +
|-
 +
| 13 || 1 || sint8 || [[Crate probability|Health Crate Probability]]
 +
| The relative chance that crate drop will contain energy.
 +
|-
 +
| 14 || 1 || uint8 || Health Crate Energy
 +
| The amount of energy gained for collecting a health crate drop. Values represent energy amount.
 +
|-
 +
| 15 || 1 || sint8 || [[Crate probability|Utility Crate Probability]]
 +
| The relative chance that a crate drop will contain a utility.
 +
|-
 +
| 16 || 1 || uint8 || [[Hazardous Objects#How_is_this_setting_saved_in_a_WSC_file.3F|Hazardous Object Types]]
 +
| Sets what hazards should appear on the landscape (and how many since W:A 3.6.28.0).
 +
|-
 +
| 17 || 1 || sint8 || Mine Delay
 +
| The amount of time between activating a mine and it exploding.
 +
* 4 and 0x80-0xFF = Random (between 0-3 seconds)
 +
* Other = represents seconds
 +
|-
 +
| 18 || 1 || bool || Dud Mines
 +
| If true, some landscape mines will be triggered as duds.
 +
|-
 +
| 19 || 1 || bool || Manual Worm Placement
 +
| If true, worms are placed by the players onto the landscape at the beginning of the round.
 +
|-
 +
| 1A || 1 || uint8 || Initial Worm Energy
 +
| The amount of energy a worm begins a round with.
 +
* 0 = all worms die (up to and including W:A 3.6.26.5, in WWP a crash occurs)
 +
* Other = represent energy amount
 +
|-
 +
| 1B || 1 || sint8 || Turn Time
 +
| The amount of time you get to make your move.
 +
* 0x00-0x7F = 0-127 seconds
 +
* 0x80-0xFF = 65408-65535 seconds (practically unlimited, timer counts up until half the total value)
 +
|-
 +
| 1C || 1 || sint8 || Round Time
 +
| The amount of time before [[Sudden Death|sudden death]] is triggered.
 +
* 0 = sudden death triggering on the first turn
 +
* 0x01-0x7F = represent minutes
 +
* 0x80-0xFF = represent seconds, so that 0xFF = 1s and 0x80 = 128s
 +
|-
 +
| 1D || 1 || uint8 || Number of Wins
 +
| The number of round wins required to win the match. If 0, W:A (since 3.6.29.0) plays 1 round even if drawn, WWP plays for 1 win.
 +
|-
 +
| 1E || 1 || bool || Blood
 +
| If true, damaging a worm causes red particles to be drawn instead of pink.
 +
|-
 +
| 1F || 1 || bool || [[Aqua Sheep]]
 +
| If true, super sheep are converted to aqua sheep, which can swim under the water.
 +
|-
 +
| 20 || 1 || bool || Sheep Heaven
 +
| If true, exploding sheep will jump out of destroyed weapon crates.
 +
|-
 +
| 21 || 1 || bool || God Worms
 +
| If true, all worms have infinite health and can only be destroyed by drowning them.
 +
|-
 +
| 22 || 1 || bool || Indestructible Land
 +
| If true, the landscape can not be destroyed, except by rising water.
 +
|-
 +
| 23 || 1 || bool || Upgraded Grenade
 +
| If true, grenades are more powerful.
 +
|-
 +
| 24 || 1 || bool || Upgraded Shotgun
 +
| If true, the shotgun shoots 2 consecutive shots, giving it 4 shots total.
 +
|-
 +
| 25 || 1 || bool || Upgraded Clusters
 +
| If true, cluster weapons contain even more clusters.
 +
|-
 +
| 26 || 1 || bool || Upgraded Longbow
 +
| If true, longbows are more powerful.
 +
|-
 +
| 27 || 1 || bool || Team Weapons
 +
| If true, teams will start the match with their preselected team weapon. The team weapon setting will override the Ammo, Power, Delay, and Crate settings for the 8 team weapons in the scheme (see [[Special Weapons|Team weapons]]).
 +
|-
 +
| 28 || 1 || bool || [[Super Weapons]]
 +
| If true, super weapons may appear in weapon crate drops (see [[Crate probability]]).
 +
|}
 +
 
 +
=== Weapons ===
 +
 
 +
The following weapon settings follow for each individual weapon. Version 1 of the scheme format stores only the 45 regular weapons. Version 2 of the format and later have added support for super weapon settings, totalling to 64 weapon records.
  
== Weapon structure ==
+
{| class="wikitable"
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.
+
! Offset !! Size !! Type !! Name !! Description
 +
|-
 +
| 00 || 1 || uint8 || Ammunition
 +
| A value of 10 or between 0x80 and 0xFF will give unlimited ammunition.
 +
|-
 +
| 01 || 1 || uint8 || Power
 +
| Effect varies depending on weapon. Jet Pack power will set the fuel.
 +
|-
 +
| 02 || 1 || uint8 || Delay
 +
| A value between 0x80 and 0xFF will give the weapon an unlimited delay, "blocking" it. This is useful if one doesn't want a specific super weapon that has 0 ammunition to appear in crates.
 +
|-
 +
| 03 || 1 || uint8 || Probability
 +
| Chance of the weapon appearing in a crate.
 +
|}
  
Each weapon setting structure is 4 bytes long and is as follows:
+
The list of weapons, as they appear in the scheme files and in the game memory, is as follows. If the given weapon's power is exceeded, the game warns about "non-standard" power levels, which are only defined for normal weapons, neither utilities nor super weapons.
* 00 - ammo (1 byte)
+
* 01 - power (1 byte)
+
* 02 - delay (1 byte)
+
* 03 - crate probability (1 byte)
+
  
TODO: link or add normal value ranges, and how the game acts when stuff is set outside these bounds
+
{| class="wikitable"
 +
! Offset !! Index !! Weapon Name !! Max. Power
 +
|-
 +
| 29 || 0 || [[Bazooka]] || 20
 +
|-
 +
| 2D || 1 || [[Homing Missile]] || 20
 +
|-
 +
| 31 || 2 || [[Mortar]] || 15
 +
|-
 +
| 35 || 3 || [[Grenade]] || 20
 +
|-
 +
| 39 || 4 || [[Cluster Bomb]] || 15
 +
|-
 +
| 3D || 5 || [[Skunk]] || 10
 +
|-
 +
| 41 || 6 || [[Petrol Bomb]] || 20
 +
|-
 +
| 45 || 7 || [[Banana Bomb]] || 15
 +
|-
 +
| 49 || 8 || [[Handgun]] || 20
 +
|-
 +
| 4D || 9 || [[Shotgun]] || 20
 +
|-
 +
| 51 || 10 || [[Uzi]] || 20
 +
|-
 +
| 55 || 11 || [[Minigun]] || 20
 +
|-
 +
| 59 || 12 || [[Longbow]] || 10
 +
|-
 +
| 5D || 13 || [[Airstrike]] || 15
 +
|-
 +
| 61 || 14 || [[Napalm Strike]] || 15
 +
|-
 +
| 65 || 15 || [[Mine]] || 20
 +
|-
 +
| 69 || 16 || [[Fire Punch]] || 20
 +
|-
 +
| 6D || 17 || [[Dragon Ball]] || 20
 +
|-
 +
| 71 || 18 || [[Kamikaze]] || 20
 +
|-
 +
| 75 || 19 || [[Prod]] || 20
 +
|-
 +
| 79 || 20 || [[Battle Axe]] || 5
 +
|-
 +
| 7D || 21 || [[Blowtorch]] || 20
 +
|-
 +
| 81 || 22 || [[Pneumatic Drill]] || 20
 +
|-
 +
| 85 || 23 || [[Girder]] || none
 +
|-
 +
| 89 || 24 || [[Ninja Rope]] || none
 +
|-
 +
| 8D || 25 || [[Parachute]] || none
 +
|-
 +
| 91 || 26 || [[Bungee]] || none
 +
|-
 +
| 95 || 27 || [[Teleport]] || 20
 +
|-
 +
| 99 || 28 || [[Dynamite]] || 20
 +
|-
 +
| 9D || 29 || [[Sheep]] || 20
 +
|-
 +
| A1 || 30 || [[Baseball Bat]] || 20
 +
|-
 +
| A5 || 31 || [[Flame Thrower]] || 20
 +
|-
 +
| A9 || 32 || [[Homing Pigeon]] || 20
 +
|-
 +
| AD || 33 || [[Mad Cow]] || 20
 +
|-
 +
| B1 || 34 || [[Holy Hand Grenade]] || 20
 +
|-
 +
| B5 || 35 || [[Old Woman]] || 20
 +
|-
 +
| B9 || 36 || [[Sheep Launcher]] || 20
 +
|-
 +
| BD || 37 || [[Super Sheep]] || 20
 +
|-
 +
| C1 || 38 || [[Mole Bomb]] || 20
 +
|-
 +
| C5 || 39 || [[Jet Pack]] || -
 +
|-
 +
| C9 || 40 || [[Low Gravity]] || -
 +
|-
 +
| CD || 41 || [[Laser Sight]] || -
 +
|-
 +
| D1 || 42 || [[Fast Walk]] || -
 +
|-
 +
| D5 || 43 || [[Invisibility]] || -
 +
|-
 +
| D9 || 44 || [[Damage x2]] || -
 +
|}
  
== Weapon list ==
+
Super weapons, which are not available in Version 1 scheme files:
  
The list of weapons, as they appear in the scheme files and in the game memory.
+
{| class="wikitable"
 +
! Offset !! Index !! Weapon Name
 +
|-
 +
| DD || 45 || [[Freeze]]
 +
|-
 +
| E1 || 46 || [[Super Banana Bomb]]
 +
|-
 +
| E5 || 47 || [[Mine Strike]]
 +
|-
 +
| E9 || 48 || [[Girder Starter Pack]]
 +
|-
 +
| ED || 49 || [[Earthquake]]
 +
|-
 +
| F1 || 50 || [[Scales Of Justice]]
 +
|-
 +
| F5 || 51 || [[Ming Vase]]
 +
|-
 +
| F9 || 52 || [[Mike's Carpet Bomb]]
 +
|-
 +
| 9D || 53 || [[Patsy's Magic Bullet]]
 +
|-
 +
| 101 || 54 || [[Indian Nuclear Test]]
 +
|-
 +
| 105 || 55 || [[Select Worm]]
 +
|-
 +
| 109 || 56 || [[Salvation Army]]
 +
|-
 +
| 10D || 57 || [[Mole Squadron]]
 +
|-
 +
| 111 || 58 || [[MB Bomb]]
 +
|-
 +
| 115 || 59 || [[Concrete Donkey]]
 +
|-
 +
| 119 || 60 || [[Suicide Bomber]]
 +
|-
 +
| 11D || 61 || [[Sheep Strike]]
 +
|-
 +
| 121 || 62 || [[Mail Strike]]
 +
|-
 +
| 125 || 63 || [[Armageddon]]
 +
|}
  
* 0 = Bazooka
+
=== Extended options ===
* 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 = Aqua sheep
+
  
Weapons below are considered as "super weapons" and are not available in v1 scheme files:
+
The following options are found only in Version 3 schemes. This section of the scheme file may be extended further in future versions of the game without the scheme version being incremented. For the options which follow, the game will detect invalid values when a scheme is loaded, and reset them to the defaults.
  
* 45 = Earthquake
+
Several of these settings were previously achievable by forcing a specific [[List of Worms Armageddon logic versions#Effects|game logic version]] or by using [[RubberWorm]] commands, and can now be controlled separately.
* 46 = Suicide bomber
+
* 47 = Mail strike
+
* 48 = Mine strike
+
* 49 = Mole squadron
+
* 50 = Girder pack
+
* 51 = Scales of justice
+
* 52 = Super banana bomb
+
* 53 = Salvation army
+
* 54 = MB bomb
+
* 55 = Ming vase
+
* 56 = Sheep strike
+
* 57 = Carpet bomb
+
* 58 = Concrete donkey
+
* 59 = Indian nuclear test
+
* 60 = Armageddon
+
* 61 = Select worm
+
* 62 = Freeze
+
* 63 = Magic bullet
+
  
These utilities are not saved in the weapon list and are used to identify utility effects in-game:
+
{| class="wikitable"
 +
! Offset !! Size !! Type !! Default !! Name !! Description
 +
|-
 +
| 129 || 4 || || 0 || Data Version
 +
| Currently 0x00000000. This may be changed by future versions of the game if interpretations of existing settings, for instance superweapon power/crate probability, change.
 +
|-
 +
| 12D || 1 || bool || false || Constant Wind
 +
| True if the wind field that follows should be interpreted as the constant value of the wind.
 +
|-
 +
| 12E || 2 || sint16 || 100 || [[Wind]]
 +
| The strength and direction of the wind if '''Constant Wind''' is true (positive being rightwards wind, negative being leftwards wind), else the maximum strength of the random wind (negative values inverting the wind bias).
 +
|-
 +
| 130 || 1 || uint8 || 15 || Wind Bias
 +
| The higher the value, the more likely worms on the right side of the map will get leftwards wind, and vice versa.
 +
|-
 +
| 131 || 4 || fixed-point || 15728/65536<br>0x00003D70 || Gravity
 +
| Acceleration due to gravity in pixels per frame per frame.
 +
* Minimum 0x01 (1/65536)
 +
* Maximum 0xC80000 (200.0)
 +
|-
 +
| 135 || 4 || fixed-point || 62914/65536<br>0x0000F5C2 || Terrain Friction
 +
| The proportion of velocity retained during collisions with terrain (0 is instant stop, 1 is no friction). Known as "Friction" in RubberWorm.
 +
* Minimum 0x0 (0.0)
 +
* Maximum 0x28CCC (2 + 36044/65536)
 +
|-
 +
| 139 || 1 || uint8 || 255 || [[Ninja_Rope#Rope_Knocking|Rope Knocking]]
 +
| Rope knocking force in percentage of the ordinary rope knocking force, or 255 to use the value from the channel scheme (online) or registry (offline). Known as "Knock" in RubberWorm.
 +
|-
 +
| 13A || 1 || uint8 || 255 || Blood Level
 +
| Amount of blood emitted from worms, or 255 to use the value from the channel scheme (online) or the default (offline, 25). Does not affect the blood's colour.
 +
|-
 +
| 13B || 1 || bool || false || Unrestrict Rope
 +
| If true, the rope may be fired 54 degrees below the horizontal, and has reduced friction. Known as "IR" in RubberWorm.
 +
|-
 +
| 13C || 1 || bool || false || Auto-Place Worms by Ally
 +
| If true, the game will attempt to group worms by their allied colour when automatic worm placement is enabled (or is forced by the presence of CPU teams).
 +
|-
 +
| 13D || 1 || uint8 || 255 || No-Crate Probability
 +
| If set to a value other than 255, specifies the probability of no crate falling at the start of a given turn; the maximum allowed to be set ingame being 100 (0x64). If the value is set to 255, this field is ignored and the usual logic for determining the no-crate probability applies (see [[Crate probability]]).
 +
|-
 +
| 13E || 2 || uint16 || 5 || Maximum Crate Count on Map at Once
 +
| Specifies the maximum number of crates which can appear on the map at once before the game will stop spawning new ones. Known as "Cratelimit" in RubberWorm. Setting this too high can cause strange graphical effects.
 +
|-
 +
| 140 || 1 || bool || true || Sudden Death Disables Worm Select
 +
| If true, Worm Select is disabled when Sudden Death starts.
 +
|-
 +
| 141 || 1 || uint8 || 5 || Sudden Death Worm Damage Per Turn
 +
| If the sudden death type is set to nuke, the number of health points that will be lost per turn.
 +
|-
 +
| 142 || 1 || enum || 0 || Phased Worms (Allied)
 +
| Controls how allied worms move through and otherwise affect each other.
 +
* 0 = off
 +
* 1 = Worms (worms move through each other)
 +
* 2 = Worms+Weapons (worms move through each other and weapon objects fired by allied worms)
 +
* 3 = Worms+Weapons+Damage (worms move through each other and weapon objects fired by allied worms and don't take damage from explosions caused by allied worms)
 +
|-
 +
| 143 || 1 || enum || 0 || Phased Worms (Enemy)
 +
| As above, but for enemy worms.
 +
|-
 +
| 144 || 1 || bool || false || Circular Aim
 +
| If true, the crosshair will continue moving past the top or bottom of its limits instead of stopping, to make aiming at specific angles more challenging. Known as "CIRA" in RubberWorm.
 +
|-
 +
| 145 || 1 || bool || false || Anti-Lock Aim
 +
| If true, aim is reset between turns, to make repeat shots more challenging.
 +
|-
 +
| 146 || 1 || bool || false || Anti-Lock Power
 +
| If true, power will start to decrease once it reaches the maximum, instead of the weapon being fired. Intended to make full-power shots more challenging. Known as "ALP" in RubberWorm.
 +
|-
 +
| 147 || 1 || bool || false || Worm Selection Doesn't End Hot Seat
 +
| If true, selecting worms at the start of a turn will not cause the Hot Seat timer to end and the turn timer to start.
 +
|-
 +
| 148 || 1 || bool || false || Worm Selection is Never Cancelled
 +
| If true, Worm Selection won't be cancelled by movement, etc.; that is, if Worm Select is enabled in the scheme, you can always press tab during a turn to change worms; or if not, use of the Select Worm weapon will cause Worm Selection to be enabled until the end of the turn. Know as "SWAT" in RubberWorm.
 +
|-
 +
| 149 || 1 || bool || false || Batty Rope
 +
| If true, worms will keep their ninja rope, bungee, or jetpack even when a turn ends.
 +
|-
 +
| 14A || 1 || enum || 0 || Rope-Roll Drops
 +
| Determines which, if any, weapons can be dropped while in a rope roll (after detaching the Ninja Rope or Bungee while control is still retained).
 +
* 0 = "Disabled", no weapons can be dropped during this time.
 +
* 1 = "As from rope only" and allows dropping any weapons that can normally be dropped from the rope.
 +
* 2 = "As from rope or jump" which additionally allows weapons that can be fired while jumping.
 +
|-
 +
| 14B || 1 || enum || 0 || X-Impact Loss of Control || Determines whether horizontal collisions will cause the control of the worm to be lost at high enough speeds.
 +
* 0xFF = No loss of control
 +
* 0 = Loss of control
 +
|-
 +
| 14C || 1 || bool || false || Keep Control After Bumping Head
 +
| If true, control of the worm is retained even after an upwards vertical collision with terrain during a rope/bungee roll.
 +
|-
 +
| 14D || 1 || enum || 0 || Keep Control After Skimming
 +
| Determines what happens to control after skimming on water.
 +
* 0 = "Lose control", control is lost.
 +
* 1 = "Keep control", control is kept but the rope cannot be shot again until the worm has become stationary.
 +
* 2 = "Keep control and rope", control is kept and the worm continues roping so the rope can be shot again from the air.
 +
|-
 +
| 14E || 1 || bool || false || [[Fall Damage]] is Triggered by Explosions
 +
| If true, worms will suffer fall damage in addition to the usual explosion damage when they are thrown by explosions.
 +
|-
 +
| 14F || 1 || tri-state || default || Explosions Push All Objects
 +
| If true, explosions push all objects; for instance a mad cow exploding will push the other cows. Known as "OPE" in RubberWorm.
 +
|-
 +
| 150 || 1 || tri-state || default || Undetermined Crates
 +
| If true, crate contents are not determined until the crate is picked up, or someone collects a Crate Spy; instead of when the crate is spawned.
 +
|-
 +
| 151 || 1 || tri-state || default || Undetermined Fuses
 +
| If true, the fuses of random mines are not determined until the mine is triggered, instead of when the mine is created.
 +
|-
 +
| 152 || 1 || bool || true || Pause Timer While Firing
 +
| If true, the turn timer will be paused while a weapon is being fired. Known as "FDPT" in RubberWorm.
 +
|-
 +
| 153 || 1 || bool || false || Loss of Control Doesn't End Turn
 +
| If true, losing control of your worm will not cause your turn to end. Known as "LDET" in RubberWorm.
 +
|-
 +
| 154 || 1 || bool || false || Weapon Use Doesn't End Turn
 +
| If true, using a weapon will not cause your turn to end. Known as "SDET" in RubberWorm.
 +
|-
 +
| 155 || 1 || bool || false || Above option doesn't block any weapons
 +
| If true, enabling the above option won't cause the Earthquake, Armageddon, and Indian Nuclear Test to be disabled. Known as "USW" in RubberWorm.
 +
|-
 +
| 156 || 1 || tri-state || default || Pneumatic Drill Imparts Velocity
 +
| If true, hitting a worm with a pneumatic drill will cause that worm to move horizontally proportionally to how fast the drilling worm is moving.
 +
|-
 +
| 157 || 1 || bool || false || Girder Radius Assist
 +
| If true, the mouse cursor is prevented from moving outside the radius in which a girder can successfully be placed.
 +
|-
 +
| 158 || 2 || fixed-point fractional part || 13106/65536<br>0x3332 || Petrol Turn Decay
 +
| To what extent flames from a Petrol Bomb decay per turn. A value of 0xFFFF (65535/65536) causes the flames to be removed completely after one turn.
 +
|-
 +
| 15A || 1 || uint8 || 30 || Petrol Touch Decay
 +
| To what extent flames from a Petrol Bomb decay when touched by a worm. Larger values will result in the petrol disappearing faster and thus imparting less total damage.
 +
* Minimum 1
 +
|-
 +
| 15B || 2 || uint16 || 200 || Maximum Flamelet Count
 +
| The maximum number of fire objects that can exist at once. Creation of new flamelets beyond this limit will erase older ones. Setting this too high can cause strange graphical effects. Known as "Flames" in RubberWorm.
 +
* Minimum 1
 +
|-
 +
| 15D || 4 || fixed-point || 32.0<br>0x00200000 || Maximum Projectile Speed
 +
| The maximum speed in pixels per frame at which an object following projectile physics can move (the limit is applied separately for vertical and horizontal velocity). A value of 0 disables the limit.
 +
* Minimum 0 (0.0)
 +
* Maximum 0x7FFFFFFF (32767 + 65535/65536)
 +
|-
 +
| 161 || 4 || fixed-point || 16.0<br>(0x00100000 || Maximum Rope Speed
 +
| The maximum speed in pixels per frame at which a worm with an attached Ninja Rope or Bungee can move. A value of 0 disables the limit. Known as "Speed" in RubberWorm.
 +
* Minimum 0 (0.0)
 +
* Maximum 0x7FFFFFFF (32767 + 65535/65536)
 +
|-
 +
| 165 || 4 || fixed-point || 5.0<br>0x00050000 || Maximum Jet Pack Speed
 +
| The maximum speed in pixels per frame at which a worm with an equipped Jet Pack can move. A value of 0 disables the limit.
 +
* Minimum 0 (0.0)
 +
* Maximum 0x7FFFFFFF (32767 + 65535/65536)
 +
|-
 +
| 169 || 4 || fixed-point || 1.0<br>0x00010000 || Game Engine Speed
 +
| The speed at which physics and sound effects occur, where the normal speed is 1.0.
 +
* Minimum 0x1000 (4096/65536 or 1/16)
 +
* Maximum 0x800000 (128.0)
 +
|-
 +
| 16D || 1 || tri-state || default || [[Indian rope trick|Indian Rope Glitch]]
 +
| If true, selecting and firing the ninja rope while moving will bypass the angle limit of the Ninja Rope and allow it to be shot vertically downwards.
 +
|-
 +
| 16E || 1 || tri-state || default || [[Cow_doubling_glitch|Herd-Doubling Glitch]]
 +
| If true, jumping at the right moment makes it possible to release twice the number of Mad Cows as the selected herd count.
 +
|-
 +
| 16F || 1 || bool || true || [[Bungee from Jet Pack|Jet Pack Bungee Glitch]]
 +
| If true, Bungee may be triggered from a Jet Pack.
 +
|-
 +
| 170 || 1 || bool || true || [[Vertical Longbow and Baseball Bat|Angle Cheat Glitch]]
 +
| If true, selecting and firing the baseball bat and longbow while moving makes it possible to bypass the angle restrictions on these weapons.
 +
|-
 +
| 171 || 1 || bool || true || [[Gliding|Glide Glitch]]
 +
| If true, a certain type of leftward collision by a jumping, post-drilling, or post-retreat worm can cause the worm to continue moving with reduced speed rather than landing.
 +
|-
 +
| 172 || 1 || enum || 0 || [[Skipwalking]] ||
 +
* 0xFF = Disabled; skip-walking is no faster than normal walking.
 +
* 0 = Possible; skip-walking is possible using the usual methods.
 +
* 1 = Facilitated; skip-walking is possible using the up and down cursor keys instead of right click (this allows skip-walking during retreat).
 +
|-
 +
| 173 || 1 || enum || 0 || Block [[Roofing]] ||
 +
* 0 = Allow roofing, using the usual methods.
 +
* 1 = Block above; effectively extends the roof upwards to infinity.
 +
* 2 = Block everywhere; effectively extends the roof left, right, and upwards to infinity.
 +
|-
 +
| 174 || 1 || bool || true || [[Floating weapon glitch|Floating Weapon Glitch]]
 +
| If true, a weapon which would normally explode on impact can be dropped onto a surface and sit until its fuse expires, if done in precisely the right way.
 +
|-
 +
| 175 || 4 || fixed-point || 0.0 || [[RubberWorm]] Bounciness
 +
| Makes worms spring back like a banana on collision, and sets the strength (coefficient of restitution) of said bounciness. Known as "Rubber" in RubberWorm.
 +
* Minimum 0 (0.0)
 +
* Maximum 0x10000 (1.0)
 +
|-
 +
| 179 || 4 || fixed-point || 0.0 || RubberWorm Air Viscosity
 +
| Makes objects such as projectiles experience "friction" while flying through the air, and sets the strength of said friction. Known as "Visc" in RubberWorm.
 +
* Minimum 0 (0.0)
 +
* Maximum 0x4000 (16384/65536 or 1/4)
 +
|-
 +
| 17D || 1 || bool || false || RubberWorm Air Viscosity Applies to Worms
 +
| If true, the above value affects worms too.
 +
|-
 +
| 17E || 4 || fixed-point || 0.0 || RubberWorm Wind Influence
 +
| Extends the set of objects influenced by wind and sets the strength of said influence. Known as "Wind" in RubberWorm.
 +
* Minimum 0 (0.0)
 +
* Maximum 0x10000 (1.0)
 +
|-
 +
| 182 || 1 || bool || false || RubberWorm Wind Influence Applies to Worms
 +
| If true, the above value affects worms too.
 +
|-
 +
| 183 || 1 || enum || 0 || RubberWorm Gravity Type ||
 +
* 0 = Unmodified (RubberWorm gravity will not affect the game)
 +
* 1 = Standard (RubberWorm gravity behaves like standard gravity; the difference being that RubberWorm gravity only affects certain objects) (RubberWorm "Gravity")
 +
* 2 = Black Hole (constant) (RubberWorm gravity will pull objects to the centre of the map with a constant force) (RubberWorm "CBH")
 +
* 3 = Black Hole (linear) (RubberWorm gravity will pull objects to the centre of the map with a strength relative to the distance from the centre) (RubberWorm "PBH")
 +
|-
 +
| 184 || 4 || fixed-point || 1.0<br>0x00010000 || RubberWorm Gravity Strength
 +
| Sets the strength of the RubberWorm gravity, in terms of a multiplier of ordinary gravity for Standard or Black Hole (constant), or representing the distance in pixels from the centre of the map at which gravity will be the normal strength for Black Hole (linear).
 +
* Minimum 0 (0.0)
 +
* Maximum (positive) 0x40000000 (16384.0)
 +
* Maximum (negative) 0xC0000000 (-16384.0)
 +
|-
 +
| 188 || 1 || uint8 || 0 || RubberWorm Crate Rate
 +
| Sets the number of crates that can potentially spawn simultaneously at the start of the turn. With crate drop probabilities set to 100% and when the maximum crate count would not be reached, this is equal to the number of crates which spawn. A crate counter will also be enabled if this is nonzero. Known as "Craterate" in RubberWorm.
 +
|-
 +
| 189 || 1 || bool || false || RubberWorm Crate Shower
 +
| If true, crates will drop continuously during turns. Known as "Crateshower" in RubberWorm.
 +
|-
 +
| 18A || 1 || bool || false || RubberWorm Anti-Sink
 +
| If true, worms will be teleported back to the last piece of land they were standing on if they touch the sea. If they touch the sea twice in a row they will drown as normal. Known as "Antisink" in RubberWorm.
 +
|-
 +
| 18B || 1 || bool || false || RubberWorm Remember Weapons
 +
| If true, it prevents the weapon selection from resetting to a common weapon after using rarer weapons. Known as "WDCA" in RubberWorm.
 +
|-
 +
| 18C || 1 || bool || false || RubberWorm Extended Fuses/Herds
 +
| If true, the numeric keys from 0-9 can all be used in selecting weapon fuses and herd sizes (0 corresponds to 10). Known as "Fuseex" in RubberWorm.
 +
|-
 +
| 18D || 1 || bool || false || RubberWorm Anti-Lock Aim
 +
| If true, aiming angle is reset to zero degrees after each shot (the standard anti-lock aim resets to a random value). Known as "Reaim" in RubberWorm.
 +
|-
 +
| 18E || 1 || tri-state || default || Terrain Overlap Phasing Glitch
 +
| If true, objects with collision masks intersecting with the land will pass through said land until reaching space free of any land.
 +
|-
 +
| 18F || 1 || bool || false || Fractional Round Timer
 +
| If true, the sudden death round timer counts down in fractions of seconds, instead of only in whole seconds. In schemes with one second turn time this allows sudden death to approach even if no players fail to finish their turn before the time runs out.
 +
|-
 +
| 190 || 1 || bool || false || Automatic End-of-Turn Retreat
 +
| If true, retreat time will be triggered when turn time expires. Useful in "weapon use doesn't end turn" mode.
 +
|-
 +
| 191 || 1 || enum || 1 || Health Crates Cure Poison
 +
| Determines which worms, if any, are cured of poison when a health crate is collected.
 +
* 0xFF = Don't cure any worms.
 +
* 0 = Cure only the worm which collected the crate.
 +
* 1 = Cure all worms in the team of the worm which collected the crate.
 +
* 2 = Cure all teams allied to the worm which collected the crate.
 +
|-
 +
| 192 || 1 || enum || 0 || RubberWorm Kaos Mod
 +
| Changes the utility crate probabilities (Fast Walk, Laser Sight, Damage*2, Invisibility, Low Gravity, Crate Spy, Jet Pack, Double Time, Crate Shower) between 6 presets. Known in RubberWorm as "Kaosmod".
 +
* 0 = 20, 10, 15, 5, 10, 15, 10, 15, 5
 +
* 1 = 20, 10, 10, 5, 10, 15, 10, 12, 5
 +
* 2 = 20, 15, 10, 5, 10, 15, 10, 10, 0
 +
* 3 = 25, 15, 5, 0, 20, 20, 10, 5, 0
 +
* 4 = 25, 25, 0, 5, 20, 10, 10, 5, 0
 +
* 5 = 25, 15, 5, 5, 25, 10, 10, 5, 0
 +
|-
 +
| 193 || 1 || bitmask || 7 || Sheep Heaven's Gate
 +
| Controls what the Sheep Heaven scheme option enables. Since this is a bitmask, these values can be added together to determine which of these options are enabled. This must not be 0.
 +
* 0x01 = sheep explode out of all crates.
 +
* 0x02 = extended fuse time on Super Sheep/Aqua Sheep/Sheep Launcher.
 +
* 0x04 = boost crate probabilities of sheep-themed weapons.
 +
|-
 +
| 194 || 1 || bool || false || Conserve Instant Utilities
 +
| If true, instant utilities are consumed one at a time, and the remainder conserved, staying in the teams' inventories for later automatic use. Among other effects, this causes Damage*2 ammo to behave like Worms World Party's Double Damage ammo setting.
 +
|-
 +
| 195 || 1 || bool || false || Expedite Instant Utilities
 +
| If true, instant utilities are always consumed as soon as they are collected, even in circumstances (such as after the end of a team's turn) when they would normally be conserved for later use.
 +
|-
 +
| 196 || 1 || uint8 || 1 || Double Time Stack Limit
 +
| The number of times a Double Time instant utility can be activated in a single turn. 0 represents unlimited activations. Stacking occurs with multipliers 2*, 3/2*, 4/3*, 5/4*, etc.
 +
|}
  
* 64 = Double damage
+
== Differences in Worms World Party ==
* 65 = Crate spy
+
* 66 = Double turn time
+
* 67 = Crate shower
+
  
[[Category:Files]]
+
Worms World Party schemes are based on Worms Armageddon version 1 schemes. After the weapon settings (which don't include super weapons), [[Worms World Party]] schemes contain three bytes of unknown purpose (appear to usually be null), followed by five bytes composed of a repeat of the signature followed by the version one more time. In addition, the Worms World Party schemes use version number 1, and they interpret Double Damage ammo as the number of turns for which double damage will take effect.

Latest revision as of 21:39, 22 July 2024

(Up to File formats)
"WSC" (see worms terminology) redirects here. For the scheme contest, see Worms Scheme Contest.

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.

Versioning

The basic W:A scheme format currently has three versions:

  • Version 1 is the original scheme format that came with the game. It is 221 bytes in size, and contains only the basic game options and settings for the standard weapons. Much of the information on this version was initially extracted from The Fiddler.
  • Version 2 was introduced in the v3.5 Beta 1 Update. It is 297 bytes in size, and contains the above plus settings for super weapons.
  • Version 3 was introduced in the v3.8 Update. It is of variable size, depending on how many extended options are set — in 3.8 it can reach up to 407 bytes, though this may be extended in the future without necessarily incrementing the scheme format version. It contains the new Extended Scheme Options introduced in this version of the game. Default values are specified for each of the Extended Scheme Options which are used by the game when the file is not long enough to contain the option in question.

File format

A scheme is organized into the following sections, which are explained in more detail below. Depending on the scheme version, specific sections may not be available.

Offset Size Version Section Description
00 5 1 Header Signature ("magic bytes") and version of scheme.
05 35 1 Options Game options like number of rounds, mines, worm energy, etc.
29 180 1 Weapons Normal weapon and utility table.
DD 76 2 Super weapons Super weapon and utility table.
129 0-110 3 Extended options Detailed physics / emulation / RubberWorm settings.

The following data types are used:

  • Integers are little endian.
  • Fixed-point values can be thought of as being split into two halves; the most significant two bytes are the whole part, and the least significant two bytes are the fractional part, measuring 65536ths. For instance, 0x00020001 (which due to little-endian would be written to the file in the order 01 00 02 00) would equal 2 + 1/65536. However, these two halves really act as one, so can perhaps better be considered as a 32-bit signed integer measuring 65536ths — most notably, both halves of the fixed point take part in twos complement (so 0xFFFFFFFF is -(1/65536) and not -(65535/65536)).
  • Bools, unless otherwise specified, use 0 for false and 1 for true.
  • Tri-state values have the following possible values: 0 for false, 1 for true, 128 (0x80) for the default behaviour as determined by game engine version or other external factors.

Header

Offset Size Type Name Description
00 4 char[4] Signature The magic number used to identify the WSC file. Hex: 0x5343484D, ASCII: "SCHM"
04 1 uint8 Version Represents the WSC file version.
  • 1 = Standard Scheme
  • 2 = Super Weapon Scheme (super weapon settings are saved, see below)
  • 3 = Extended Scheme (contains the extended scheme options, see below)

Options

Offset Size Type Name Description
05 1 uint8 Hot-Seat Delay The extra time added between turns, used to switch seats and/or plan your turn. Values represent seconds.
06 1 uint8 Retreat Time The time available after using a weapon while grounded, used to move to a better place before your turn ends. Values represent seconds.
07 1 uint8 Rope Retreat Time The time available after using a weapon while roping, used to move to a better place before your turn ends. Values represent seconds.
08 1 bool Display Total Round Time If true, the total round time is displayed along with the turn time.
09 1 bool Automatic Replays If true, the game will automatically replay the ending of a significant turn. Does not apply to online games.
0A 1 uint8 Fall Damage The amount of damage caused to a worm for hitting the ground at a critical velocity.
0B 1 bool Artillery Mode If true, worms are unable to move around by means of walking or jumping. Also known as "anchored worms".
0C 1 bool Bounty Mode This setting presumably was for a planned feature that never got implemented. The byte is unused by the game. A suggested use for this byte is for scheme editors to save a selected Magic Number to distinguish which scheme editor was used to encode a scheme.
0D 1 enum Stockpiling Mode Determines what happens to unused weapons between rounds. This setting only matters in matches where more than 1 round is meant to be played.
  • 0 = Off (replenishing)
  • 1 = On (accumulating)
  • 2 = Anti (reducing)
0E 1 enum Worm Select The method for choosing which worm on the team plays the turn.
  • 0 = Sequential
  • 1 = On
  • 2 = Random
0F 1 enum Sudden Death Event An event that gets triggered after the remaining round time reaches zero.
  • 0 = Round ends (the leading team wins)
  • 1 = Nuclear strike
  • 2 = HP drops to 1
  • 3 = Nothing happens
10 1 uint8 Water Rise Rate The rate that the water rises after each turn during sudden death.
11 1 sint8 Weapon Crate Probability The relative chance that a crate drop will contain weapons.
12 1 bool Donor Cards If true, teams will drop a collectible donor card at their defeat.
13 1 sint8 Health Crate Probability The relative chance that crate drop will contain energy.
14 1 uint8 Health Crate Energy The amount of energy gained for collecting a health crate drop. Values represent energy amount.
15 1 sint8 Utility Crate Probability The relative chance that a crate drop will contain a utility.
16 1 uint8 Hazardous Object Types Sets what hazards should appear on the landscape (and how many since W:A 3.6.28.0).
17 1 sint8 Mine Delay The amount of time between activating a mine and it exploding.
  • 4 and 0x80-0xFF = Random (between 0-3 seconds)
  • Other = represents seconds
18 1 bool Dud Mines If true, some landscape mines will be triggered as duds.
19 1 bool Manual Worm Placement If true, worms are placed by the players onto the landscape at the beginning of the round.
1A 1 uint8 Initial Worm Energy The amount of energy a worm begins a round with.
  • 0 = all worms die (up to and including W:A 3.6.26.5, in WWP a crash occurs)
  • Other = represent energy amount
1B 1 sint8 Turn Time The amount of time you get to make your move.
  • 0x00-0x7F = 0-127 seconds
  • 0x80-0xFF = 65408-65535 seconds (practically unlimited, timer counts up until half the total value)
1C 1 sint8 Round Time The amount of time before sudden death is triggered.
  • 0 = sudden death triggering on the first turn
  • 0x01-0x7F = represent minutes
  • 0x80-0xFF = represent seconds, so that 0xFF = 1s and 0x80 = 128s
1D 1 uint8 Number of Wins The number of round wins required to win the match. If 0, W:A (since 3.6.29.0) plays 1 round even if drawn, WWP plays for 1 win.
1E 1 bool Blood If true, damaging a worm causes red particles to be drawn instead of pink.
1F 1 bool Aqua Sheep If true, super sheep are converted to aqua sheep, which can swim under the water.
20 1 bool Sheep Heaven If true, exploding sheep will jump out of destroyed weapon crates.
21 1 bool God Worms If true, all worms have infinite health and can only be destroyed by drowning them.
22 1 bool Indestructible Land If true, the landscape can not be destroyed, except by rising water.
23 1 bool Upgraded Grenade If true, grenades are more powerful.
24 1 bool Upgraded Shotgun If true, the shotgun shoots 2 consecutive shots, giving it 4 shots total.
25 1 bool Upgraded Clusters If true, cluster weapons contain even more clusters.
26 1 bool Upgraded Longbow If true, longbows are more powerful.
27 1 bool Team Weapons If true, teams will start the match with their preselected team weapon. The team weapon setting will override the Ammo, Power, Delay, and Crate settings for the 8 team weapons in the scheme (see Team weapons).
28 1 bool Super Weapons If true, super weapons may appear in weapon crate drops (see Crate probability).

Weapons

The following weapon settings follow for each individual weapon. Version 1 of the scheme format stores only the 45 regular weapons. Version 2 of the format and later have added support for super weapon settings, totalling to 64 weapon records.

Offset Size Type Name Description
00 1 uint8 Ammunition A value of 10 or between 0x80 and 0xFF will give unlimited ammunition.
01 1 uint8 Power Effect varies depending on weapon. Jet Pack power will set the fuel.
02 1 uint8 Delay A value between 0x80 and 0xFF will give the weapon an unlimited delay, "blocking" it. This is useful if one doesn't want a specific super weapon that has 0 ammunition to appear in crates.
03 1 uint8 Probability Chance of the weapon appearing in a crate.

The list of weapons, as they appear in the scheme files and in the game memory, is as follows. If the given weapon's power is exceeded, the game warns about "non-standard" power levels, which are only defined for normal weapons, neither utilities nor super weapons.

Offset Index Weapon Name Max. Power
29 0 Bazooka 20
2D 1 Homing Missile 20
31 2 Mortar 15
35 3 Grenade 20
39 4 Cluster Bomb 15
3D 5 Skunk 10
41 6 Petrol Bomb 20
45 7 Banana Bomb 15
49 8 Handgun 20
4D 9 Shotgun 20
51 10 Uzi 20
55 11 Minigun 20
59 12 Longbow 10
5D 13 Airstrike 15
61 14 Napalm Strike 15
65 15 Mine 20
69 16 Fire Punch 20
6D 17 Dragon Ball 20
71 18 Kamikaze 20
75 19 Prod 20
79 20 Battle Axe 5
7D 21 Blowtorch 20
81 22 Pneumatic Drill 20
85 23 Girder none
89 24 Ninja Rope none
8D 25 Parachute none
91 26 Bungee none
95 27 Teleport 20
99 28 Dynamite 20
9D 29 Sheep 20
A1 30 Baseball Bat 20
A5 31 Flame Thrower 20
A9 32 Homing Pigeon 20
AD 33 Mad Cow 20
B1 34 Holy Hand Grenade 20
B5 35 Old Woman 20
B9 36 Sheep Launcher 20
BD 37 Super Sheep 20
C1 38 Mole Bomb 20
C5 39 Jet Pack -
C9 40 Low Gravity -
CD 41 Laser Sight -
D1 42 Fast Walk -
D5 43 Invisibility -
D9 44 Damage x2 -

Super weapons, which are not available in Version 1 scheme files:

Offset Index Weapon Name
DD 45 Freeze
E1 46 Super Banana Bomb
E5 47 Mine Strike
E9 48 Girder Starter Pack
ED 49 Earthquake
F1 50 Scales Of Justice
F5 51 Ming Vase
F9 52 Mike's Carpet Bomb
9D 53 Patsy's Magic Bullet
101 54 Indian Nuclear Test
105 55 Select Worm
109 56 Salvation Army
10D 57 Mole Squadron
111 58 MB Bomb
115 59 Concrete Donkey
119 60 Suicide Bomber
11D 61 Sheep Strike
121 62 Mail Strike
125 63 Armageddon

Extended options

The following options are found only in Version 3 schemes. This section of the scheme file may be extended further in future versions of the game without the scheme version being incremented. For the options which follow, the game will detect invalid values when a scheme is loaded, and reset them to the defaults.

Several of these settings were previously achievable by forcing a specific game logic version or by using RubberWorm commands, and can now be controlled separately.

Offset Size Type Default Name Description
129 4 0 Data Version Currently 0x00000000. This may be changed by future versions of the game if interpretations of existing settings, for instance superweapon power/crate probability, change.
12D 1 bool false Constant Wind True if the wind field that follows should be interpreted as the constant value of the wind.
12E 2 sint16 100 Wind The strength and direction of the wind if Constant Wind is true (positive being rightwards wind, negative being leftwards wind), else the maximum strength of the random wind (negative values inverting the wind bias).
130 1 uint8 15 Wind Bias The higher the value, the more likely worms on the right side of the map will get leftwards wind, and vice versa.
131 4 fixed-point 15728/65536
0x00003D70
Gravity Acceleration due to gravity in pixels per frame per frame.
  • Minimum 0x01 (1/65536)
  • Maximum 0xC80000 (200.0)
135 4 fixed-point 62914/65536
0x0000F5C2
Terrain Friction The proportion of velocity retained during collisions with terrain (0 is instant stop, 1 is no friction). Known as "Friction" in RubberWorm.
  • Minimum 0x0 (0.0)
  • Maximum 0x28CCC (2 + 36044/65536)
139 1 uint8 255 Rope Knocking Rope knocking force in percentage of the ordinary rope knocking force, or 255 to use the value from the channel scheme (online) or registry (offline). Known as "Knock" in RubberWorm.
13A 1 uint8 255 Blood Level Amount of blood emitted from worms, or 255 to use the value from the channel scheme (online) or the default (offline, 25). Does not affect the blood's colour.
13B 1 bool false Unrestrict Rope If true, the rope may be fired 54 degrees below the horizontal, and has reduced friction. Known as "IR" in RubberWorm.
13C 1 bool false Auto-Place Worms by Ally If true, the game will attempt to group worms by their allied colour when automatic worm placement is enabled (or is forced by the presence of CPU teams).
13D 1 uint8 255 No-Crate Probability If set to a value other than 255, specifies the probability of no crate falling at the start of a given turn; the maximum allowed to be set ingame being 100 (0x64). If the value is set to 255, this field is ignored and the usual logic for determining the no-crate probability applies (see Crate probability).
13E 2 uint16 5 Maximum Crate Count on Map at Once Specifies the maximum number of crates which can appear on the map at once before the game will stop spawning new ones. Known as "Cratelimit" in RubberWorm. Setting this too high can cause strange graphical effects.
140 1 bool true Sudden Death Disables Worm Select If true, Worm Select is disabled when Sudden Death starts.
141 1 uint8 5 Sudden Death Worm Damage Per Turn If the sudden death type is set to nuke, the number of health points that will be lost per turn.
142 1 enum 0 Phased Worms (Allied) Controls how allied worms move through and otherwise affect each other.
  • 0 = off
  • 1 = Worms (worms move through each other)
  • 2 = Worms+Weapons (worms move through each other and weapon objects fired by allied worms)
  • 3 = Worms+Weapons+Damage (worms move through each other and weapon objects fired by allied worms and don't take damage from explosions caused by allied worms)
143 1 enum 0 Phased Worms (Enemy) As above, but for enemy worms.
144 1 bool false Circular Aim If true, the crosshair will continue moving past the top or bottom of its limits instead of stopping, to make aiming at specific angles more challenging. Known as "CIRA" in RubberWorm.
145 1 bool false Anti-Lock Aim If true, aim is reset between turns, to make repeat shots more challenging.
146 1 bool false Anti-Lock Power If true, power will start to decrease once it reaches the maximum, instead of the weapon being fired. Intended to make full-power shots more challenging. Known as "ALP" in RubberWorm.
147 1 bool false Worm Selection Doesn't End Hot Seat If true, selecting worms at the start of a turn will not cause the Hot Seat timer to end and the turn timer to start.
148 1 bool false Worm Selection is Never Cancelled If true, Worm Selection won't be cancelled by movement, etc.; that is, if Worm Select is enabled in the scheme, you can always press tab during a turn to change worms; or if not, use of the Select Worm weapon will cause Worm Selection to be enabled until the end of the turn. Know as "SWAT" in RubberWorm.
149 1 bool false Batty Rope If true, worms will keep their ninja rope, bungee, or jetpack even when a turn ends.
14A 1 enum 0 Rope-Roll Drops Determines which, if any, weapons can be dropped while in a rope roll (after detaching the Ninja Rope or Bungee while control is still retained).
  • 0 = "Disabled", no weapons can be dropped during this time.
  • 1 = "As from rope only" and allows dropping any weapons that can normally be dropped from the rope.
  • 2 = "As from rope or jump" which additionally allows weapons that can be fired while jumping.
14B 1 enum 0 X-Impact Loss of Control Determines whether horizontal collisions will cause the control of the worm to be lost at high enough speeds.
  • 0xFF = No loss of control
  • 0 = Loss of control
14C 1 bool false Keep Control After Bumping Head If true, control of the worm is retained even after an upwards vertical collision with terrain during a rope/bungee roll.
14D 1 enum 0 Keep Control After Skimming Determines what happens to control after skimming on water.
  • 0 = "Lose control", control is lost.
  • 1 = "Keep control", control is kept but the rope cannot be shot again until the worm has become stationary.
  • 2 = "Keep control and rope", control is kept and the worm continues roping so the rope can be shot again from the air.
14E 1 bool false Fall Damage is Triggered by Explosions If true, worms will suffer fall damage in addition to the usual explosion damage when they are thrown by explosions.
14F 1 tri-state default Explosions Push All Objects If true, explosions push all objects; for instance a mad cow exploding will push the other cows. Known as "OPE" in RubberWorm.
150 1 tri-state default Undetermined Crates If true, crate contents are not determined until the crate is picked up, or someone collects a Crate Spy; instead of when the crate is spawned.
151 1 tri-state default Undetermined Fuses If true, the fuses of random mines are not determined until the mine is triggered, instead of when the mine is created.
152 1 bool true Pause Timer While Firing If true, the turn timer will be paused while a weapon is being fired. Known as "FDPT" in RubberWorm.
153 1 bool false Loss of Control Doesn't End Turn If true, losing control of your worm will not cause your turn to end. Known as "LDET" in RubberWorm.
154 1 bool false Weapon Use Doesn't End Turn If true, using a weapon will not cause your turn to end. Known as "SDET" in RubberWorm.
155 1 bool false Above option doesn't block any weapons If true, enabling the above option won't cause the Earthquake, Armageddon, and Indian Nuclear Test to be disabled. Known as "USW" in RubberWorm.
156 1 tri-state default Pneumatic Drill Imparts Velocity If true, hitting a worm with a pneumatic drill will cause that worm to move horizontally proportionally to how fast the drilling worm is moving.
157 1 bool false Girder Radius Assist If true, the mouse cursor is prevented from moving outside the radius in which a girder can successfully be placed.
158 2 fixed-point fractional part 13106/65536
0x3332
Petrol Turn Decay To what extent flames from a Petrol Bomb decay per turn. A value of 0xFFFF (65535/65536) causes the flames to be removed completely after one turn.
15A 1 uint8 30 Petrol Touch Decay To what extent flames from a Petrol Bomb decay when touched by a worm. Larger values will result in the petrol disappearing faster and thus imparting less total damage.
  • Minimum 1
15B 2 uint16 200 Maximum Flamelet Count The maximum number of fire objects that can exist at once. Creation of new flamelets beyond this limit will erase older ones. Setting this too high can cause strange graphical effects. Known as "Flames" in RubberWorm.
  • Minimum 1
15D 4 fixed-point 32.0
0x00200000
Maximum Projectile Speed The maximum speed in pixels per frame at which an object following projectile physics can move (the limit is applied separately for vertical and horizontal velocity). A value of 0 disables the limit.
  • Minimum 0 (0.0)
  • Maximum 0x7FFFFFFF (32767 + 65535/65536)
161 4 fixed-point 16.0
(0x00100000
Maximum Rope Speed The maximum speed in pixels per frame at which a worm with an attached Ninja Rope or Bungee can move. A value of 0 disables the limit. Known as "Speed" in RubberWorm.
  • Minimum 0 (0.0)
  • Maximum 0x7FFFFFFF (32767 + 65535/65536)
165 4 fixed-point 5.0
0x00050000
Maximum Jet Pack Speed The maximum speed in pixels per frame at which a worm with an equipped Jet Pack can move. A value of 0 disables the limit.
  • Minimum 0 (0.0)
  • Maximum 0x7FFFFFFF (32767 + 65535/65536)
169 4 fixed-point 1.0
0x00010000
Game Engine Speed The speed at which physics and sound effects occur, where the normal speed is 1.0.
  • Minimum 0x1000 (4096/65536 or 1/16)
  • Maximum 0x800000 (128.0)
16D 1 tri-state default Indian Rope Glitch If true, selecting and firing the ninja rope while moving will bypass the angle limit of the Ninja Rope and allow it to be shot vertically downwards.
16E 1 tri-state default Herd-Doubling Glitch If true, jumping at the right moment makes it possible to release twice the number of Mad Cows as the selected herd count.
16F 1 bool true Jet Pack Bungee Glitch If true, Bungee may be triggered from a Jet Pack.
170 1 bool true Angle Cheat Glitch If true, selecting and firing the baseball bat and longbow while moving makes it possible to bypass the angle restrictions on these weapons.
171 1 bool true Glide Glitch If true, a certain type of leftward collision by a jumping, post-drilling, or post-retreat worm can cause the worm to continue moving with reduced speed rather than landing.
172 1 enum 0 Skipwalking
  • 0xFF = Disabled; skip-walking is no faster than normal walking.
  • 0 = Possible; skip-walking is possible using the usual methods.
  • 1 = Facilitated; skip-walking is possible using the up and down cursor keys instead of right click (this allows skip-walking during retreat).
173 1 enum 0 Block Roofing
  • 0 = Allow roofing, using the usual methods.
  • 1 = Block above; effectively extends the roof upwards to infinity.
  • 2 = Block everywhere; effectively extends the roof left, right, and upwards to infinity.
174 1 bool true Floating Weapon Glitch If true, a weapon which would normally explode on impact can be dropped onto a surface and sit until its fuse expires, if done in precisely the right way.
175 4 fixed-point 0.0 RubberWorm Bounciness Makes worms spring back like a banana on collision, and sets the strength (coefficient of restitution) of said bounciness. Known as "Rubber" in RubberWorm.
  • Minimum 0 (0.0)
  • Maximum 0x10000 (1.0)
179 4 fixed-point 0.0 RubberWorm Air Viscosity Makes objects such as projectiles experience "friction" while flying through the air, and sets the strength of said friction. Known as "Visc" in RubberWorm.
  • Minimum 0 (0.0)
  • Maximum 0x4000 (16384/65536 or 1/4)
17D 1 bool false RubberWorm Air Viscosity Applies to Worms If true, the above value affects worms too.
17E 4 fixed-point 0.0 RubberWorm Wind Influence Extends the set of objects influenced by wind and sets the strength of said influence. Known as "Wind" in RubberWorm.
  • Minimum 0 (0.0)
  • Maximum 0x10000 (1.0)
182 1 bool false RubberWorm Wind Influence Applies to Worms If true, the above value affects worms too.
183 1 enum 0 RubberWorm Gravity Type
  • 0 = Unmodified (RubberWorm gravity will not affect the game)
  • 1 = Standard (RubberWorm gravity behaves like standard gravity; the difference being that RubberWorm gravity only affects certain objects) (RubberWorm "Gravity")
  • 2 = Black Hole (constant) (RubberWorm gravity will pull objects to the centre of the map with a constant force) (RubberWorm "CBH")
  • 3 = Black Hole (linear) (RubberWorm gravity will pull objects to the centre of the map with a strength relative to the distance from the centre) (RubberWorm "PBH")
184 4 fixed-point 1.0
0x00010000
RubberWorm Gravity Strength Sets the strength of the RubberWorm gravity, in terms of a multiplier of ordinary gravity for Standard or Black Hole (constant), or representing the distance in pixels from the centre of the map at which gravity will be the normal strength for Black Hole (linear).
  • Minimum 0 (0.0)
  • Maximum (positive) 0x40000000 (16384.0)
  • Maximum (negative) 0xC0000000 (-16384.0)
188 1 uint8 0 RubberWorm Crate Rate Sets the number of crates that can potentially spawn simultaneously at the start of the turn. With crate drop probabilities set to 100% and when the maximum crate count would not be reached, this is equal to the number of crates which spawn. A crate counter will also be enabled if this is nonzero. Known as "Craterate" in RubberWorm.
189 1 bool false RubberWorm Crate Shower If true, crates will drop continuously during turns. Known as "Crateshower" in RubberWorm.
18A 1 bool false RubberWorm Anti-Sink If true, worms will be teleported back to the last piece of land they were standing on if they touch the sea. If they touch the sea twice in a row they will drown as normal. Known as "Antisink" in RubberWorm.
18B 1 bool false RubberWorm Remember Weapons If true, it prevents the weapon selection from resetting to a common weapon after using rarer weapons. Known as "WDCA" in RubberWorm.
18C 1 bool false RubberWorm Extended Fuses/Herds If true, the numeric keys from 0-9 can all be used in selecting weapon fuses and herd sizes (0 corresponds to 10). Known as "Fuseex" in RubberWorm.
18D 1 bool false RubberWorm Anti-Lock Aim If true, aiming angle is reset to zero degrees after each shot (the standard anti-lock aim resets to a random value). Known as "Reaim" in RubberWorm.
18E 1 tri-state default Terrain Overlap Phasing Glitch If true, objects with collision masks intersecting with the land will pass through said land until reaching space free of any land.
18F 1 bool false Fractional Round Timer If true, the sudden death round timer counts down in fractions of seconds, instead of only in whole seconds. In schemes with one second turn time this allows sudden death to approach even if no players fail to finish their turn before the time runs out.
190 1 bool false Automatic End-of-Turn Retreat If true, retreat time will be triggered when turn time expires. Useful in "weapon use doesn't end turn" mode.
191 1 enum 1 Health Crates Cure Poison Determines which worms, if any, are cured of poison when a health crate is collected.
  • 0xFF = Don't cure any worms.
  • 0 = Cure only the worm which collected the crate.
  • 1 = Cure all worms in the team of the worm which collected the crate.
  • 2 = Cure all teams allied to the worm which collected the crate.
192 1 enum 0 RubberWorm Kaos Mod Changes the utility crate probabilities (Fast Walk, Laser Sight, Damage*2, Invisibility, Low Gravity, Crate Spy, Jet Pack, Double Time, Crate Shower) between 6 presets. Known in RubberWorm as "Kaosmod".
  • 0 = 20, 10, 15, 5, 10, 15, 10, 15, 5
  • 1 = 20, 10, 10, 5, 10, 15, 10, 12, 5
  • 2 = 20, 15, 10, 5, 10, 15, 10, 10, 0
  • 3 = 25, 15, 5, 0, 20, 20, 10, 5, 0
  • 4 = 25, 25, 0, 5, 20, 10, 10, 5, 0
  • 5 = 25, 15, 5, 5, 25, 10, 10, 5, 0
193 1 bitmask 7 Sheep Heaven's Gate Controls what the Sheep Heaven scheme option enables. Since this is a bitmask, these values can be added together to determine which of these options are enabled. This must not be 0.
  • 0x01 = sheep explode out of all crates.
  • 0x02 = extended fuse time on Super Sheep/Aqua Sheep/Sheep Launcher.
  • 0x04 = boost crate probabilities of sheep-themed weapons.
194 1 bool false Conserve Instant Utilities If true, instant utilities are consumed one at a time, and the remainder conserved, staying in the teams' inventories for later automatic use. Among other effects, this causes Damage*2 ammo to behave like Worms World Party's Double Damage ammo setting.
195 1 bool false Expedite Instant Utilities If true, instant utilities are always consumed as soon as they are collected, even in circumstances (such as after the end of a team's turn) when they would normally be conserved for later use.
196 1 uint8 1 Double Time Stack Limit The number of times a Double Time instant utility can be activated in a single turn. 0 represents unlimited activations. Stacking occurs with multipliers 2*, 3/2*, 4/3*, 5/4*, etc.

Differences in Worms World Party

Worms World Party schemes are based on Worms Armageddon version 1 schemes. After the weapon settings (which don't include super weapons), Worms World Party schemes contain three bytes of unknown purpose (appear to usually be null), followed by five bytes composed of a repeat of the signature followed by the version one more time. In addition, the Worms World Party schemes use version number 1, and they interpret Double Damage ammo as the number of turns for which double damage will take effect.

Personal tools