Difference between revisions of "Game scheme file"

From Worms Knowledge Base

Jump to: navigation, search
(Clarify Worm Selection is never cancelled)
(Split file format table into its sections. Format some cell content and add Name column. Add max, standard weapon power levels.)
Line 5: Line 5:
 
== Versioning ==
 
== Versioning ==
  
The basic WA scheme format currently has three versions:
+
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.
+
* '''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 3.5 Beta 1 update. It is 297 bytes in size, and contains the above plus settings for super weapons.
+
* '''Version 2''' was introduced in the 3.5 Beta 1 update. It is 297 bytes in size, and contains the above plus settings for super weapons.
* Version 3 will be introduced in the 3.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.
+
* '''Version 3''' will be introduced in the 3.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]]. Integers are little endian. Fixed-point values are 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. 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.
+
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.
  
<!-- a table would be much more fitting here but I'm too lazy to make wiki tables...-->
+
{| class="wikitable"
<!-- added tables, some additional filler information, weapon links, values, etc. Values marked with a "?" are assumptions. I'll try fill in missing values later when I'm on my main computer, which has all my worm related notes. I included the "types" column because that information was already written here. --Etho -->
+
! Offset !! Size !! Version !! Section || Description
 
+
{| border="1" cellspacing="0" class="wikitable"
+
!Offset
+
!Size
+
!Type
+
!Default
+
!Description
+
 
|-
 
|-
| 00
+
| 00 || 5 || 1 || [[#Header|Header]] || Signature ("magic bytes") and version of scheme.
| 4
+
| char[4]
+
|
+
| '''Signature'''. The [[w: Magic number (programming)|magic number]] used to identify the WSC file. [[w: Hexadecimal|Hex]]: 0x5343484D, [[w: ASCII|ASCII]]: "SCHM"
+
 
|-
 
|-
| 04
+
| 05 || 35|| 1 || [[#Options|Options]] || Game options like number of rounds, mines, worm energy, etc.
| 1
+
| uint8
+
|
+
| '''Version''' Represents the WSC file version. Values: 0x01=Standard Scheme, 0x02=Super Weapon Scheme (super weapon settings are saved, see below), 0x03=Extended Scheme (contains the extended scheme options, see below)
+
 
|-
 
|-
| 05
+
| 29 || 180 || 1 || [[#Weapons|Weapons]] || Normal weapon and utility table.
| 1
+
| uint8
+
|
+
| '''Hot-Seat Delay''' The extra time added between turns, used to switch seats and/or plan your turn. Values: represent seconds
+
 
|-
 
|-
| 06
+
| DD || 76 || 2 || [[#Weapons|Super weapons]] || Super weapon and utility table.
| 1
+
| int8
+
|
+
| '''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
+
| 129 || 0-110 || 3 || [[#Extended options|Extended options]] || Detailed physics / emulation / RubberWorm settings.
| 1
+
|}
| int8
+
 
|
+
The following data types are used:
| '''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
+
* '''Integers''' are little endian.
 +
* '''Fixed-point values''' are 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.
 +
* '''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 ===
 +
 
 +
{| class="wikitable"
 +
! Offset !! Size !! Type !! Name !! Description
 
|-
 
|-
| 08
+
| 00 || 4 || char[4] || Signature
| 1
+
| The [[w: Magic number (programming)|magic number]] used to identify the WSC file. [[w: Hexadecimal|Hex]]: 0x5343484D, [[w: ASCII|ASCII]]: "SCHM"
| bool
+
|
+
| '''Display Total Round Time''' When enabled, the total round time is displayed along with the turn time. Values: 0x00=Off?, 0x01=On?, Other=?
+
 
|-
 
|-
| 09
+
| 04 || 1 || uint8 || Version
| 1
+
| Represents the WSC file version.
| bool
+
* 1 = Standard Scheme
|
+
* 2 = Super Weapon Scheme (super weapon settings are saved, see below)
| '''Automatic Replays''' When enabled, the game will automatically replay the ending of a significant turn. Does not apply to online games. Values: 0x00=Off?, 0x01=On?, Other=?
+
* 3 = Extended Scheme (contains the extended scheme options, see below)
 +
|}
 +
 
 +
=== Options ===
 +
 
 +
{| class="wikitable"
 +
! Offset !! Size !! Type !! Name !! Description
 
|-
 
|-
| 0A
+
| 05 || 1 || uint8 || Hot-Seat Delay
| 1
+
| The extra time added between turns, used to switch seats and/or plan your turn. Values: represent seconds
| int8
+
|
+
| '''Fall Damage''' The amount of damage caused to a worm for hitting the ground at a critical velocity. Values: see [[Fall Damage]].
+
 
|-
 
|-
| 0B
+
| 06 || 1 || int8 || Retreat Time
| 1
+
| The time available after using a weapon while grounded, used to move to a better place before your turn ends. Values: represent seconds
| bool
+
|
+
| '''Artillery Mode''' Known also as, anchored worms. When enabled, worms are unable to move around by means of walking or jumping. Values: 0x00=Off?, 0x01=On?, Other=?
+
 
|-
 
|-
| 0C
+
| 07 || 1 || int8 || Rope Retreat Time
| 1
+
| The time available after using a weapon while roping, used to move to a better place before your turn ends. Values: represent seconds
| 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. Values: 0x00=Unset, 0x89=[[SchemeEddy]], 0x5F=[[LeTotalKiller's Scheme Editor]].
+
 
|-
 
|-
| 0D
+
| 08 || 1 || bool || Display Total Round Time
| 1
+
| When enabled, the total round time is displayed along with the turn time.
| 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. Values: 0x00=Off (replenishing), 0x01=On (accumulating), 0x02=Anti (reducing), Other=?
+
 
|-
 
|-
| 0E
+
| 09 || 1 || bool || Automatic Replays
| 1
+
| When enabled, the game will automatically replay the ending of a significant turn. Does not apply to online games.
| enum
+
|
+
| '''Worm Select''' The method for choosing which worm on the team plays the turn. Values: 0x00=Ordered? (off), 0x01=Optional? (on), 0x02=Random?, Other=Act like 0x01?
+
 
|-
 
|-
| 0F
+
| 0A || 1 || int8 || Fall Damage
| 1
+
| The amount of damage caused to a worm for hitting the ground at a critical velocity. Values: see [[Fall Damage]].
| enum
+
|
+
| '''Sudden Death Event''' An event that gets triggered after the remaining round time reaches zero. Values: 0x00=Round Ends (the leading team wins), 0x01=Nuclear Strike, 0x02=HP Drops to 1, 0x03=Nothing Happens, Other=?
+
 
|-
 
|-
| 10
+
| 0B || 1 || bool || Artillery Mode
| 1
+
| When enabled, worms are unable to move around by means of walking or jumping. Also known as "anchored worms".
| sint8
+
|
+
| '''Water Rise Rate''' The rate that the water rises after each turn during sudden death. Values: see [[Sudden Death|Sudden Death ("Flooding speed" section)]]
+
 
|-
 
|-
| 11
+
| 0C || 1 || bool || Bounty Mode
| 1
+
| 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.
| sint8
+
* 0x00 = Unset
|
+
* 0x89 = [[SchemeEddy]]
| '''Weapon Crate Probability''' The relative chance that a crate drop will contain weapons. Values: see [[Crate probability]]
+
* 0x5F = [[LeTotalKiller's Scheme Editor]]
 
|-
 
|-
| 12
+
| 0D || 1 || enum || Stockpiling Mode
| 1
+
| Determines what happens to unused weapons between rounds. This setting only matters in matches where more than 1 round is meant to be played.
| bool
+
* 0 = Off (replenishing)
|
+
* 1 = On (accumulating)
| '''Donor Cards''' When enabled, teams will drop a collectible donor card at their defeat. Values: 0x00=Off?, 0x01=On?, Other=?
+
* 2 = Anti (reducing)
 
|-
 
|-
| 13
+
| 0E || 1 || enum || Worm Select
| 1
+
| The method for choosing which worm on the team plays the turn.
| sint8
+
* 0 = Sequential
|
+
* 1 = On
| '''Health Crate Probability''' The relative chance that crate drop will contain energy. Values: see [[Crate probability]]
+
* 2 = Random
 
|-
 
|-
| 14
+
| 0F || 1 || enum || Sudden Death Event
| 1
+
| An event that gets triggered after the remaining round time reaches zero.
| uint8
+
* 0 = Round ends (the leading team wins)
|
+
* 1 = Nuclear strike
| '''Health Crate Energy''' The amount of energy gained for collecting a health crate drop. Values: represent energy amount
+
* 2 = HP drops to 1
 +
* 3 = Nothing happens
 
|-
 
|-
| 15
+
| 10 || 1 || sint8 || Water Rise Rate
| 1
+
| The rate that the water rises after each turn during sudden death. Values: see [[Sudden Death|Sudden Death ("Flooding speed" section)]]
| sint8
+
|
+
| '''Utility Crate Probability''' The relative chance that a crate drop will contain a utility. Values: see [[Crate probability]]
+
 
|-
 
|-
| 16
+
| 11 || 1 || sint8 || Weapon Crate Probability
| 1
+
| The relative chance that a crate drop will contain weapons. Values: see [[Crate probability]]
| uint8
+
|
+
| '''Hazardous Object Types''' Sets what hazards should appear on the landscape (and how many for new W:A schemes). Values: see [[Hazardous Objects]]
+
 
|-
 
|-
| 17
+
| 12 || 1 || bool || Donor Cards
| 1
+
| When enabled, teams will drop a collectible donor card at their defeat.
| sint8
+
|
+
| '''Mine Delay''' The amount of time between activating a mine and it exploding. Values: 0x04 & 0x80 to 0xFF=Random (between 0 & 3 seconds), Other=represents seconds
+
 
|-
 
|-
| 18
+
| 13 || 1 || sint8 || Health Crate Probability
| 1
+
| The relative chance that crate drop will contain energy. Values: see [[Crate probability]]
| bool
+
|
+
| '''Dud Mines''' When enabled, some landscape mines will be triggered as duds. Values: 0x00=Off?, 0x01=On?, Other=?
+
 
|-
 
|-
| 19
+
| 14 || 1 || uint8 || Health Crate Energy
| 1
+
| The amount of energy gained for collecting a health crate drop. Values: represent energy amount
| bool
+
|
+
| '''Worm Placement''' The method in which worms are placed onto the landscape at the beginning of the round. Values: 0x00=Automatic?, 0x01=Manual?, Other=?
+
 
|-
 
|-
| 1A
+
| 15 || 1 || sint8 || Utility Crate Probability
| 1
+
| The relative chance that a crate drop will contain a utility. Values: see [[Crate probability]]
| uint8
+
|
+
| '''Initial Worm Energy''' The amount of energy a worm begins a round with. Values: 0x00=all worms die (up to -and including- W:A 3.6.26.5, and in WWP, a crash occurs in that case), Other=represent energy amount
+
 
|-
 
|-
| 1B
+
| 16 || 1 || uint8 || Hazardous Object Types
| 1
+
| Sets what hazards should appear on the landscape (and how many for new W:A schemes). Values: see [[Hazardous Objects]]
| sint8
+
|
+
| '''Turn Time''' The amount of time you get to make your move. Values: 0x00 to 0x7F=represent seconds, 0x80 to 0xFF=timer counts up
+
 
|-
 
|-
| 1C
+
| 17 || 1 || sint8 || Mine Delay
| 1
+
| The amount of time between activating a mine and it exploding.
| sint8
+
* 4 and 0x80-0xFF = Random (between 0-3 seconds)
|
+
* Other = represents seconds
| '''Round Time''' The amount of time before sudden death is triggered. Values: 0x00=sudden death triggering on the first turn, 0x01 to 0x7F=represent minutes, 0x80 to 0xFF=represent seconds, in a way that 0xFF=1s and 0x80=128s.
+
 
|-
 
|-
| 1D
+
| 18 || 1 || bool || Dud Mines
| 1
+
| When enabled, some landscape mines will be triggered as duds.
| int8
+
|
+
| '''Number of Rounds''' The number of round wins required to win the match. Values: 0x00=1, Other=represent number of rounds
+
 
|-
 
|-
| 1E
+
| 19 || 1 || bool || Manual Worm Placement
| 1
+
| When enabled, worms are placed by the players onto the landscape at the beginning of the round.
| bool
+
|
+
| '''Blood''' When enabled, damaging a worm causes red particles to be drawn instead of pink. Values: 0x00=Off?, 0x01=On?, Other=?
+
 
|-
 
|-
| 1F
+
| 1A || 1 || uint8 || Initial Worm Energy
| 1
+
| The amount of energy a worm begins a round with.
| bool
+
* 0 = all worms die (up to and including W:A 3.6.26.5, in WWP a crash occurs)
|
+
* Other = represent energy amount
| '''Aqua Sheep''' When enabled, super sheep are converted to aqua sheep, which can swim under the water. Values: 0x00=Off?, 0x01=On?, Other=?
+
 
|-
 
|-
| 20
+
| 1B || 1 || sint8 || Turn Time
| 1
+
| The amount of time you get to make your move.
| bool
+
* 0x00-0x7F = represent seconds
|
+
* 0x80-0xFF = timer counts up (infinite turn time)
| '''Sheep Heaven''' When enabled, exploding sheep will jump out of destroyed weapon crates. Values: 0x00=Off?, 0x01=On?, Other=?
+
 
|-
 
|-
| 21
+
| 1C || 1 || sint8 || Round Time
| 1
+
| The amount of time before sudden death is triggered.  
| bool
+
* 0 = sudden death triggering on the first turn
|
+
* 0x01-0x7F = represent minutes
| '''God Worms''' When enabled, all worms have infinite health and can only be destroyed by drowning them. Values: 0x00=Off?, 0x01=On?, Other=?
+
* 0x80-0xFF = represent seconds, so that 0xFF = 1s and 0x80 = 128s
 
|-
 
|-
| 22
+
| 1D || 1 || int8 || Number of Rounds
| 1
+
| The number of round wins required to win the match. If 0, W:A (since which version?) plays 1 round even if drawn, WWP plays for 1 win.
| bool
+
|
+
| '''Indestructible Land''' When enabled, the landscape can not be destroyed, except by rising water. Values: 0x00=Off?, 0x01=On?, Other=?
+
 
|-
 
|-
| 23
+
| 1E || 1 || bool || Blood
| 1
+
| When enabled, damaging a worm causes red particles to be drawn instead of pink.
| bool
+
|
+
| '''Upgraded Grenade''' When enabled, grenades are more powerful. Values: 0x00=Off?, 0x01=On?, Other=?
+
 
|-
 
|-
| 24
+
| 1F || 1 || bool || Aqua Sheep
| 1
+
| When enabled, super sheep are converted to aqua sheep, which can swim under the water.
| bool
+
|
+
| '''Upgraded Shotgun''' When enabled, the shotgun shoots 2 consecutive shots, giving it 4 shots total. Values: 0x00=Off?, 0x01=On?, Other=?
+
 
|-
 
|-
| 25
+
| 20 || 1 || bool || Sheep Heaven
| 1
+
| When enabled, exploding sheep will jump out of destroyed weapon crates.
| bool
+
|
+
| '''Upgraded Clusters''' When enabled, cluster weapons contain even more clusters. Values: 0x00=Off?, 0x01=On?, Other=?
+
 
|-
 
|-
| 26
+
| 21 || 1 || bool || God Worms
| 1
+
| When enabled, all worms have infinite health and can only be destroyed by drowning them.
| bool
+
|
+
| '''Upgraded Longbow''' When enabled, longbows are more powerful. Values: 0x00=Off?, 0x01=On?, Other=?
+
 
|-
 
|-
| 27
+
| 22 || 1 || bool || Indestructible Land
| 1
+
| When enabled, the landscape can not be destroyed, except by rising water.
| bool
+
|
+
| '''Team Weapons''' When enabled, 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]]). Values: 0x00=Off?, 0x01=On?, Other=?
+
 
|-
 
|-
| 28
+
| 23 || 1 || bool || Upgraded Grenade
| 1
+
| When enabled, grenades are more powerful.
| bool
+
|
+
| '''Super Weapons''' When enabled, super weapons may appear in weapon crate drops (see [[Crate probability]]). Values: 0x00=Off?, 0x01=On?, Other=?
+
 
|-
 
|-
| 29
+
| 24 || 1 || bool || Upgraded Shotgun
|
+
| When enabled, the shotgun shoots 2 consecutive shots, giving it 4 shots total.
|
+
|
+
| '''Weapon Settings''' Individual weapon settings follow. Each weapon uses 4 unsigned bytes in the scheme file for weapon Ammo, Power, Delay, and Crate Probability settings respectively. Version 1 scheme files hold 45 weapon structures and Version 2 scheme files hold 64 weapon structures (see below).
+
 
|-
 
|-
| 129
+
| 25 || 1 || bool || Upgraded Clusters
|
+
| When enabled, cluster weapons contain even more clusters.
|
+
|
+
| '''Extended Scheme 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.
+
 
|-
 
|-
| 129
+
| 26 || 1 || bool || Upgraded Longbow
| 4
+
| When enabled, longbows are more powerful.
|
+
| 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
+
| 27 || 1 || bool || Team Weapons
| 1
+
| When enabled, 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]]).
| bool
+
| false
+
| '''Constant Wind''' True if the wind field that follows should be interpreted as the constant value of the wind.
+
 
|-
 
|-
| 12E
+
| 28 || 1 || bool || Super Weapons
| 2
+
| When enabled, super weapons may appear in weapon crate drops (see [[Crate probability]]).
| 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).
+
=== 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.
 +
 
 +
{| class="wikitable"
 +
! Offset !! Size !! Type !! Name !! Description
 
|-
 
|-
| 130
+
| 00 || 1 || uint8 || Ammunition
| 1
+
| A value of 10 or between 0x80 and 0xFF will give unlimited ammunition.
| 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
+
| 01 || 1 || uint8 || Power
| 4
+
| Effect varies depending on weapon. Jet Pack power will set the fuel.
| fixed-point
+
| 15728/65536 (0x00003D70)
+
| '''Gravity''' minimum 0x01 (1/65536), maximum 0xc80000 (200.0). Acceleration due to gravity in pixels per frame per frame.
+
 
|-
 
|-
| 135
+
| 02 || 1 || uint8 || Delay
| 4
+
| 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.
| fixed-point
+
| 62914/65536 (0x0000F5C2)
+
| '''Terrain Friction''' minimum 0x0 (0.0), maximum 0x28ccc (2&nbsp;+&nbsp;36044/65536). The proportion of velocity retained during collisions with terrain (0 is instant stop, 1 is no friction). Known as "Friction" in RubberWorm.
+
 
|-
 
|-
| 139
+
| 03 || 1 || uint8 || Probability
| 1
+
| Chance of the weapon appearing in a crate.
| 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.
+
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.
 +
 
 +
{| class="wikitable"
 +
! Offset !! Index !! Weapon Name !! Max. Power
 
|-
 
|-
| 13A
+
| 29 || 0 || [[Bazooka]] || 20
| 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
+
| 2D || 1 || [[Homing Missile]] || 20
| 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
+
| 31 || 2 || [[Mortar]] || 15
| 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
+
| 35 || 3 || [[Grenade]] || 20
| 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
+
| 39 || 4 || [[Cluster Bomb]] || 15
| 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
+
| 3D || 5 || [[Skunk]] || 10
| 1
+
| bool
+
| true
+
| '''Sudden Death disables Worm Select''' If true, Worm Select is disabled when Sudden Death starts.
+
 
|-
 
|-
| 141
+
| 41 || 6 || [[Petrol Bomb]] || 20
| 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
+
| 45 || 7 || [[Banana Bomb]] || 15
| 1
+
| enum
+
| 0 (Off)
+
| '''Phased Worms (Allied)''' Controls how allied worms move through and otherwise affect each other. 0 is off, 1 is Worms (worms move through each other), 2 is Worms+Weapons (worms move through each other and weapon objects fired by allied worms), 3 is 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
+
| 49 || 8 || [[Handgun]] || 20
| 1
+
| enum
+
| 0 (Off)
+
| '''Phased Worms (Enemy)''' As above, but for enemy worms.
+
 
|-
 
|-
| 144
+
| 4D || 9 || [[Shotgun]] || 20
| 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
+
| 51 || 10 || [[Uzi]] || 20
| 1
+
| bool
+
| false
+
| '''Anti-lock Aim''' If true, aim is reset between turns, to make repeat shots more challenging.
+
 
|-
 
|-
| 146
+
| 55 || 11 || [[Minigun]] || 20
| 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
+
| 59 || 12 || [[Longbow]] || 10
| 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
+
| 5D || 13 || [[Airstrike]] || 15
| 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
+
| 61 || 14 || [[Napalm Strike]] || 15
| 1
+
| bool
+
| false
+
| '''Batty Rope''' If true, worms will keep their ninja rope, bungee, or jetpack even when a turn ends.
+
 
|-
 
|-
| 14A
+
| 65 || 15 || [[Mine]] || 20
| 1
+
| enum
+
| 0 (Disabled)
+
| '''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). A value of 0 means Disabled; that is, no weapons can be dropped during this time. 1 is "As from rope only" and allows dropping any weapons that can normally be dropped from the rope. 2 is "As from rope or jump" which additionally allows weapons that can be fired while jumping.
+
 
|-
 
|-
| 14B
+
| 69 || 16 || [[Fire Punch]] || 20
| 1
+
| boolean-like
+
| 0
+
| '''X-Impact loss of control''' If set to 0, horizontal collisions at a high enough speed will cause a loss of control. If set to 0xFF, they will not.
+
 
|-
 
|-
| 14C
+
| 6D || 17 || [[Dragon Ball]] || 20
| 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
+
| 71 || 18 || [[Kamikaze]] || 20
| 1
+
| enum
+
| 0 (Lose control)
+
| '''Keep control after skimming''' Determines what happens to control after skimming on water. If 0 ("Lose control"), control is lost. If 1 ("Keep control"), control is kept but the rope cannot be shot again until the worm has become stationary. If 2 ("Keep control and rope"), control is kept and the worm continues roping so the rope can be shot again from the air.
+
 
|-
 
|-
| 14E
+
| 75 || 19 || [[Prod]] || 20
| 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
+
| 79 || 20 || [[Battle Axe]] || 5
| 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
+
| 7D || 21 || [[Blowtorch]] || 20
| 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
+
| 81 || 22 || [[Pneumatic Drill]] || 20
| 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
+
| 85 || 23 || [[Girder]] || none
| 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
+
| 89 || 24 || [[Ninja Rope]] || none
| 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
+
| 8D || 25 || [[Parachute]] || none
| 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
+
| 91 || 26 || [[Bungee]] || none
| 1
+
| bool
+
| false
+
| '''Enabling 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
+
| 95 || 27 || [[Teleport]] || 20
| 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
+
| 99 || 28 || [[Dynamite]] || 20
| 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
+
| 9D || 29 || [[Sheep]] || 20
| 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
+
| A1 || 30 || [[Baseball Bat]] || 20
| 1
+
| uint8
+
| 30
+
| '''Petrol Touch Decay''' Minimum 1. 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.
+
 
|-
 
|-
| 15B
+
| A5 || 31 || [[Flame Thrower]] || 20
| 2
+
| uint16
+
| 200
+
| '''Maximum flamelet count''' Minimum 1. 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.
+
 
|-
 
|-
| 15D
+
| A9 || 32 || [[Homing Pigeon]] || 20
| 4
+
| fixed-point
+
| 32.0 (0x00200000)
+
| '''Maximum projectile speed''' Minimum 0 (0.0), maximum 0x7FFFFFFF (32767&nbsp;+&nbsp;65535/65536). 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.
+
 
|-
 
|-
| 161
+
| AD || 33 || [[Mad Cow]] || 20
| 4
+
| fixed-point
+
| 16.0 (0x00100000)
+
| '''Maximum rope speed''' Minimum 0 (0.0), maximum 0x7FFFFFFF (32767&nbsp;+&nbsp;65535/65536). 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.
+
 
|-
 
|-
| 165
+
| B1 || 34 || [[Holy Hand Grenade]] || 20
| 4
+
| fixed-point
+
| 5.0 (0x00050000)
+
| '''Maximum Jet Pack speed''' Minimum 0 (0.0), maximum 0x7FFFFFFF (32767&nbsp;+&nbsp;65535/65536). 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.
+
 
|-
 
|-
| 169
+
| B5 || 35 || [[Old Woman]] || 20
| 4
+
| fixed-point
+
| 1.0 (0x00010000)
+
| '''Game engine speed''' Minimum 0x1000 (4096/65536 or 1/16), maximum 0x800000 (128.0). The speed at which physics and sound effects occur, where the normal speed is 1.0.
+
 
|-
 
|-
| 16D
+
| B9 || 36 || [[Sheep Launcher]] || 20
| 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
+
| BD || 37 || [[Super Sheep]] || 20
| 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
+
| C1 || 38 || [[Mole Bomb]] || 20
| 1
+
| bool
+
| true
+
| '''[[Bungee from Jet Pack|Jet Pack Bungee glitch]]''' If true, Bungee may be triggered from a Jet Pack.
+
 
|-
 
|-
| 170
+
| C5 || 39 || [[Jet Pack]] || -
| 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
+
| C9 || 40 || [[Low Gravity]] || -
| 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
+
| CD || 41 || [[Laser Sight]] || -
| 1
+
| enum
+
| 0 (Possible)
+
| '''[[Skipwalking|Skip-walking]]''' 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
+
| D1 || 42 || [[Fast Walk]] || -
| 1
+
| enum
+
| 0 (Allow roofing)
+
| '''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
+
| D5 || 43 || [[Invisibility]] || -
| 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
+
| D9 || 44 || [[Damage x2]] || -
| 4
+
|}
| fixed-point
+
 
| 0.0
+
Super weapons, which are not available in Version 1 scheme files:
| '''[[RubberWorm]] bounciness''' Minimum 0 (0.0), maximum 0x10000 (1.0). Makes worms spring back like a banana on collision, and sets the strength (coefficient of restitution) of said bounciness. Known as "Rubber" in RubberWorm.
+
 
 +
{| class="wikitable"
 +
! Offset !! Index !! Weapon Name
 
|-
 
|-
| 179
+
| DD || 45 || [[Freeze]]
| 4
+
| fixed-point
+
| 0.0
+
| '''RubberWorm air viscosity''' Minimum 0 (0.0), maximum 0x4000 (16384/65536 or 1/4). Makes objects such as projectiles experience "friction" while flying through the air, and sets the strength of said friction. Known as "Visc" in RubberWorm.
+
 
|-
 
|-
| 17D
+
| E1 || 46 || [[Super Banana Bomb]]
| 1
+
| bool
+
| false
+
| '''RubberWorm air viscosity applies to Worms''' If true, the above value affects worms too.
+
 
|-
 
|-
| 17E
+
| E5 || 47 || [[Mine Strike]]
| 4
+
| fixed-point
+
| 0.0
+
| '''RubberWorm wind influence''' Minimum 0 (0.0), maximum 0x10000 (1.0). Extends the set of objects influenced by wind and sets the strength of said influence. Known as "Wind" in RubberWorm.
+
 
|-
 
|-
| 182
+
| E9 || 48 || [[Girder Starter Pack]]
| 1
+
| bool
+
| false
+
| '''RubberWorm wind influence applies to Worms''' If true, the above value affects worms too.
+
 
|-
 
|-
| 183
+
| ED || 49 || [[Earthquake]]
| 1
+
| enum
+
| 0 (Unmodified)
+
| '''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
+
| F1 || 50 || [[Scales Of Justice]]
| 4
+
| fixed-point
+
| 1.0 (0x00010000)
+
| '''RubberWorm gravity strength''' Minimum 0 (0.0), maximum (positive) 0x40000000 (16384.0), maximum (negative) 0xC0000000 (-16384.0). 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).
+
 
|-
 
|-
| 188
+
| F5 || 51 || [[Ming Vase]]
| 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
+
| F9 || 52 || [[Mike's Carpet Bomb]]
| 1
+
| bool
+
| false
+
| '''RubberWorm crate shower''' If true, crates will drop continuously during turns. Known as "Crateshower" in RubberWorm.
+
 
|-
 
|-
| 18A
+
| 9D || 53 || [[Patsy's Magic Bullet]]
| 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
+
| 101 || 54 || [[Indian Nuclear Test]]
| 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
+
| 105 || 55 || [[Select Worm]]
| 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
+
| 109 || 56 || [[Salvation Army]]
| 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
+
| 10D || 57 || [[Mole Squadron]]
| 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
+
| 111 || 58 || [[MB Bomb]]
| 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
+
| 115 || 59 || [[Concrete Donkey]]
| 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
+
| 119 || 60 || [[Suicide Bomber]]
| 1
+
| enum
+
| 1 (Cure all worms in team)
+
| '''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
+
| 11D || 61 || [[Sheep Strike]]
| 1
+
| enum
+
| 0 (default; 20, 10, 15, 5, 10, 15, 10, 15, 5)
+
| '''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. 0 = default (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. Known in RubberWorm as "Kaosmod".
+
 
|-
 
|-
| 193
+
| 121 || 62 || [[Mail Strike]]
| 1
+
| bitmask
+
| 7 <nowiki>(explode | fuse | odds)</nowiki>
+
| '''Sheep Heaven's gate''' Controls what the Sheep Heaven scheme option enables. 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. Since this is a bitmask, these values can be added together to determine which of these options are enabled. This must not be 0.
+
 
|-
 
|-
| 194
+
| 125 || 63 || [[Armageddon]]
| 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.
+
 
|}
 
|}
  
== Weapon structure ==
+
=== Extended options ===
The first scheme format version holds only the 45 regular weapons. Version 2 of the format and later have 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 or between 80 and FF will give unlimited ammunition.
+
* 01 - power (1 byte, unsigned) - Note: effect varies depending on weapon. Jet Pack power will set the fuel.
+
* 02 - delay (1 byte, unsigned) - Note: A value between 80 and FF 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 - 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.
+
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.
  
{| border="1" cellspacing="0" class="wikitable"
+
{| class="wikitable"
! Position
+
! Offset !! Size !! Type !! Default !! Name !! Description
! Weapon Name
+
 
|-
 
|-
| 0
+
| 129 || 4 || || 0 || Data Version
| [[Bazooka]]
+
| Currently 0x00000000. This may be changed by future versions of the game if interpretations of existing settings, for instance superweapon power/crate probability, change.
 
|-
 
|-
| 1
+
| 12D || 1 || bool || false || Constant Wind
| [[Homing Missile]]
+
| True if the wind field that follows should be interpreted as the constant value of the wind.
 
|-
 
|-
| 2
+
| 12E || 2 || sint16 || 100 || Wind
| [[Mortar]]
+
| 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).
 
|-
 
|-
| 3
+
| 130 || 1 || uint8 || 15 || Wind Bias
| [[Grenade]]
+
| The higher the value, the more likely worms on the right side of the map will get leftwards wind, and vice versa.
 
|-
 
|-
| 4
+
| 131 || 4 || fixed-point || 15728/65536<br>0x00003D70 || Gravity
| [[Cluster Bomb]]
+
| Acceleration due to gravity in pixels per frame per frame.
 +
* Minimum 0x01 (1/65536)
 +
* Maximum 0xC80000 (200.0)
 
|-
 
|-
| 5
+
| 135 || 4 || fixed-point || 62914/65536<br>0x0000F5C2 || Terrain Friction
| [[Skunk]]
+
| 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)
 
|-
 
|-
| 6
+
| 139 || 1 || uint8 || 255 || Rope Knocking
| [[Petrol Bomb]]
+
| 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.
 
|-
 
|-
| 7
+
| 13A || 1 || uint8 || 255 || Blood Level
| [[Banana Bomb]]
+
| 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.
 
|-
 
|-
| 8
+
| 13B || 1 || bool || false || Unrestrict Rope
| [[Handgun]]
+
| If true, the rope may be fired 54 degrees below the horizontal, and has reduced friction. Known as "IR" in RubberWorm.
 
|-
 
|-
| 9
+
| 13C || 1 || bool || false || Auto-Place Worms by Ally
| [[Shotgun]]
+
| 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).
 
|-
 
|-
| 10
+
| 13D || 1 || uint8 || 255 || No-Crate Probability
| [[Uzi]]
+
| 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]]).
 
|-
 
|-
| 11
+
| 13E || 2 || uint16 || 5 || Maximum Crate Count on Map at Once
| [[Minigun]]
+
| 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.
 
|-
 
|-
| 12
+
| 140 || 1 || bool || true || Sudden Death Disables Worm Select
| [[Longbow]]
+
| If true, Worm Select is disabled when Sudden Death starts.
 
|-
 
|-
| 13
+
| 141 || 1 || uint8 || 5 || Sudden Death Worm Damage Per Turn
| [[Airstrike]]
+
| If the sudden death type is set to nuke, the number of health points that will be lost per turn.
 
|-
 
|-
| 14
+
| 142 || 1 || enum || 0 || Phased Worms (Allied)
| [[Napalm Strike]]
+
| 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)
 
|-
 
|-
| 15
+
| 143 || 1 || enum || 0 || Phased Worms (Enemy)
| [[Mine]]
+
| As above, but for enemy worms.
 
|-
 
|-
| 16
+
| 144 || 1 || bool || false || Circular Aim
| [[Fire Punch]]
+
| 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.
 
|-
 
|-
| 17
+
| 145 || 1 || bool || false || Anti-Lock Aim
| [[Dragon Ball]]
+
| If true, aim is reset between turns, to make repeat shots more challenging.
 
|-
 
|-
| 18
+
| 146 || 1 || bool || false || Anti-Lock Power
| [[Kamikaze]]
+
| 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.
 
|-
 
|-
| 19
+
| 147 || 1 || bool || false || Worm Selection Doesn't End Hot Seat
| [[Prod]]
+
| 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.
 
|-
 
|-
| 20
+
| 148 || 1 || bool || false || Worm Selection is Never Cancelled
| [[Battle Axe]]
+
| 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.
 
|-
 
|-
| 21
+
| 149 || 1 || bool || false || Batty Rope
| [[Blowtorch]]
+
| If true, worms will keep their ninja rope, bungee, or jetpack even when a turn ends.
 
|-
 
|-
| 22
+
| 14A || 1 || enum || 0 || Rope-Roll Drops
| [[Pneumatic Drill]]
+
| 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.
 
|-
 
|-
| 23
+
| 14B || 1 || boolean-like || 0 || X-Impact Loss of Control
| [[Girder]]
+
| If set to 0, horizontal collisions at a high enough speed will cause a loss of control. If set to 0xFF, they will not.
 
|-
 
|-
| 24
+
| 14C || 1 || bool || false || Keep Control After Bumping Head
| [[Ninja Rope]]
+
| If true, control of the worm is retained even after an upwards vertical collision with terrain during a rope/bungee roll.
 
|-
 
|-
| 25
+
| 14D || 1 || enum || 0 || Keep Control After Skimming
| [[Parachute]]
+
| 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.
 
|-
 
|-
| 26
+
| 14E || 1 || bool || false || Fall Damage is Triggered by Explosions
| [[Bungee]]
+
| If true, worms will suffer fall damage in addition to the usual explosion damage when they are thrown by explosions.
 
|-
 
|-
| 27
+
| 14F || 1 || tri-state || default || Explosions Push All Objects
| [[Teleport]]
+
| If true, explosions push all objects; for instance a mad cow exploding will push the other cows. Known as "OPE" in RubberWorm.
 
|-
 
|-
| 28
+
| 150 || 1 || tri-state || default || Undetermined Crates
| [[Dynamite]]
+
| 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.
 
|-
 
|-
| 29
+
| 151 || 1 || tri-state || default || Undetermined Fuses
| [[Sheep]]
+
| If true, the fuses of random mines are not determined until the mine is triggered, instead of when the mine is created.
 
|-
 
|-
| 30
+
| 152 || 1 || bool || true || Pause Timer While Firing
| [[Baseball Bat]]
+
| If true, the turn timer will be paused while a weapon is being fired. Known as "FDPT" in RubberWorm.
 
|-
 
|-
| 31
+
| 153 || 1 || bool || false || Loss of Control Doesn't End Turn
| [[Flame Thrower]]
+
| If true, losing control of your worm will not cause your turn to end. Known as "LDET" in RubberWorm.
 
|-
 
|-
| 32
+
| 154 || 1 || bool || false || Weapon Use Doesn't End Turn
| [[Homing Pigeon]]
+
| If true, using a weapon will not cause your turn to end. Known as "SDET" in RubberWorm.
 
|-
 
|-
| 33
+
| 155 || 1 || bool || false || Above option doesn't block any weapons
| [[Mad Cow]]
+
| If true, enabling the above option won't cause the Earthquake, Armageddon, and Indian Nuclear Test to be disabled. Known as "USW" in RubberWorm.
 
|-
 
|-
| 34
+
| 156 || 1 || tri-state || default || Pneumatic Drill Imparts Velocity
| [[Holy Hand Grenade]]
+
| 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.
 
|-
 
|-
| 35
+
| 157 || 1 || bool || false || Girder Radius Assist
| [[Old Woman]]
+
| If true, the mouse cursor is prevented from moving outside the radius in which a girder can successfully be placed.
 
|-
 
|-
| 36
+
| 158 || 2 || fixed-point fractional part || 13106/65536<br>0x3332 || Petrol Turn Decay
| [[Sheep Launcher]]
+
| 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.
 
|-
 
|-
| 37
+
| 15A || 1 || uint8 || 30 || Petrol Touch Decay
| [[Super Sheep]]
+
| 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
 
|-
 
|-
| 38
+
| 15B || 2 || uint16 || 200 || Maximum Flamelet Count
| [[Mole Bomb]]
+
| 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
 
|-
 
|-
| 39
+
| 15D || 4 || fixed-point || 32.0<br>0x00200000 || Maximum Projectile Speed
| [[Jet Pack]]
+
| 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)
 
|-
 
|-
| 40
+
| 161 || 4 || fixed-point || 16.0<br>(0x00100000 || Maximum Rope Speed
| [[Low Gravity]]
+
| 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)
 
|-
 
|-
| 41
+
| 165 || 4 || fixed-point || 5.0<br>0x00050000 || Maximum Jet Pack Speed
| [[Laser Sight]]
+
| 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)
 
|-
 
|-
| 42
+
| 169 || 4 || fixed-point || 1.0<br>0x00010000 || Game Engine Speed
| [[Fast Walk]]
+
| 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)
 
|-
 
|-
| 43
+
| 16D || 1 || tri-state || default || [[Indian rope trick|Indian Rope Glitch]]
| [[Invisibility]]
+
| 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.
 
|-
 
|-
| 44
+
| 16E || 1 || tri-state || default || [[Cow_doubling_glitch|Herd-Doubling Glitch]]
| [[Damage x2]]
+
| 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.
===Super weapons===
+
|-
Super weapons are not available in Version 1 scheme files:
+
| 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.
{| border="1" cellspacing="0" class="wikitable"
+
|-
! Position
+
| 171 || 1 || bool || true || [[Gliding|Glide Glitch]]
! Weapon Name
+
| 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)
 
|-
 
|-
| 45
+
| 17D || 1 || bool || false || RubberWorm Air Viscosity Applies to Worms
| [[Freeze]]
+
| If true, the above value affects worms too.
 
|-
 
|-
| 46
+
| 17E || 4 || fixed-point || 0.0 || RubberWorm Wind Influence
| [[Super Banana Bomb]]
+
| 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)
 
|-
 
|-
| 47
+
| 182 || 1 || bool || false || RubberWorm Wind Influence Applies to Worms
| [[Mine Strike]]
+
| If true, the above value affects worms too.
 
|-
 
|-
| 48
+
| 183 || 1 || enum || 0 || RubberWorm Gravity Type ||
| [[Girder Starter Pack]]
+
* 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")
 
|-
 
|-
| 49
+
| 184 || 4 || fixed-point || 1.0<br>0x00010000 || RubberWorm Gravity Strength
| [[Earthquake]]
+
| 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)
 
|-
 
|-
| 50
+
| 188 || 1 || uint8 || 0 || RubberWorm Crate Rate
| [[Scales Of Justice]]
+
| 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.
 
|-
 
|-
| 51
+
| 189 || 1 || bool || false || RubberWorm Crate Shower
| [[Ming Vase]]
+
| If true, crates will drop continuously during turns. Known as "Crateshower" in RubberWorm.
 
|-
 
|-
| 52
+
| 18A || 1 || bool || false || RubberWorm Anti-Sink
| [[Mike's Carpet Bomb]]
+
| 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.
 
|-
 
|-
| 53
+
| 18B || 1 || bool || false || RubberWorm Remember Weapons
| [[Patsy's Magic Bullet]]
+
| If true, it prevents the weapon selection from resetting to a common weapon after using rarer weapons. Known as "WDCA" in RubberWorm.
 
|-
 
|-
| 54
+
| 18C || 1 || bool || false || RubberWorm Extended Fuses/Herds
| [[Indian Nuclear Test]]
+
| 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.
 
|-
 
|-
| 55
+
| 18D || 1 || bool || false || RubberWorm Anti-Lock Aim
| [[Select Worm]]
+
| 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.
 
|-
 
|-
| 56
+
| 18E || 1 || tri-state || default || Terrain Overlap Phasing Glitch
| [[Salvation Army]]
+
| If true, objects with collision masks intersecting with the land will pass through said land until reaching space free of any land.
 
|-
 
|-
| 57
+
| 18F || 1 || bool || false || Fractional Round Timer
| [[Mole Squadron]]
+
| 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.
 
|-
 
|-
| 58
+
| 190 || 1 || bool || false || Automatic End-of-Turn Retreat
| [[MB Bomb]]
+
| If true, retreat time will be triggered when turn time expires. Useful in "weapon use doesn't end turn" mode.
 
|-
 
|-
| 59
+
| 191 || 1 || enum || 1 || Health Crates Cure Poison
| [[Concrete Donkey]]
+
| 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.
 
|-
 
|-
| 60
+
| 192 || 1 || enum || 0 || RubberWorm Kaos Mod
| [[Suicide Bomber]]
+
| 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
 
|-
 
|-
| 61
+
| 193 || 1 || bitmask || 7 || Sheep Heaven's Gate
| [[Sheep Strike]]
+
| 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.
 
|-
 
|-
| 62
+
| 194 || 1 || bool || false || Conserve Instant Utilities
| [[Mail Strike]]
+
| 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.
 
|-
 
|-
| 63
+
| 195 || 1 || bool || false || Expedite Instant Utilities
| [[Armageddon]]
+
| 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.
 
|}
 
|}
  

Revision as of 00:52, 28 June 2020

(Up to File formats)
"WSC" 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 3.5 Beta 1 update. It is 297 bytes in size, and contains the above plus settings for super weapons.
  • Version 3 will be introduced in the 3.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 are 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.
  • 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 int8 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 int8 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 When enabled, the total round time is displayed along with the turn time.
09 1 bool Automatic Replays When enabled, the game will automatically replay the ending of a significant turn. Does not apply to online games.
0A 1 int8 Fall Damage The amount of damage caused to a worm for hitting the ground at a critical velocity. Values: see Fall Damage.
0B 1 bool Artillery Mode When enabled, 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 sint8 Water Rise Rate The rate that the water rises after each turn during sudden death. Values: see Sudden Death ("Flooding speed" section)
11 1 sint8 Weapon Crate Probability The relative chance that a crate drop will contain weapons. Values: see Crate probability
12 1 bool Donor Cards When enabled, 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. Values: see Crate probability
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. Values: see Crate probability
16 1 uint8 Hazardous Object Types Sets what hazards should appear on the landscape (and how many for new W:A schemes). Values: see Hazardous Objects
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 When enabled, some landscape mines will be triggered as duds.
19 1 bool Manual Worm Placement When enabled, 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 = represent seconds
  • 0x80-0xFF = timer counts up (infinite turn time)
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 int8 Number of Rounds The number of round wins required to win the match. If 0, W:A (since which version?) plays 1 round even if drawn, WWP plays for 1 win.
1E 1 bool Blood When enabled, damaging a worm causes red particles to be drawn instead of pink.
1F 1 bool Aqua Sheep When enabled, super sheep are converted to aqua sheep, which can swim under the water.
20 1 bool Sheep Heaven When enabled, exploding sheep will jump out of destroyed weapon crates.
21 1 bool God Worms When enabled, all worms have infinite health and can only be destroyed by drowning them.
22 1 bool Indestructible Land When enabled, the landscape can not be destroyed, except by rising water.
23 1 bool Upgraded Grenade When enabled, grenades are more powerful.
24 1 bool Upgraded Shotgun When enabled, the shotgun shoots 2 consecutive shots, giving it 4 shots total.
25 1 bool Upgraded Clusters When enabled, cluster weapons contain even more clusters.
26 1 bool Upgraded Longbow When enabled, longbows are more powerful.
27 1 bool Team Weapons When enabled, 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 When enabled, 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.

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 boolean-like 0 X-Impact Loss of Control If set to 0, horizontal collisions at a high enough speed will cause a loss of control. If set to 0xFF, they will not.
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