Difference between revisions of "User:Explorer09/RubberWorm"
From Worms Knowledge Base
Explorer09 (Talk | contribs) (→Features) |
Explorer09 (Talk | contribs) |
||
Line 16: | Line 16: | ||
For a complete and trusted online play, all players must run WA through [[WormKit]] or with [[WormKitDS]], and should have the same version of the RubberWorm dll file. | For a complete and trusted online play, all players must run WA through [[WormKit]] or with [[WormKitDS]], and should have the same version of the RubberWorm dll file. | ||
+ | |||
+ | == Features == | ||
+ | |||
+ | == Features == | ||
+ | |||
+ | === Bouncing worms === | ||
+ | The original purpose of RubberWorm. Every time a worm hits an object or the terrain (in any direction), it bounces off of it. If it's during a rope roll, it can continue roping, and it never takes fall damage or loses the turn. The feature is always off if the worm is flying for a jump. | ||
+ | |||
+ | The worms' "boing" sound can switched on/off typing in the in-game chat /boing. | ||
+ | : ''Worm bounciness (or technically, the coefficient of restitution) is determined by the quotient of the value for the '''Armageddon''' crate probability divided by 255. For example, if the value is set to 0, the coefficient of restitution is 0, resulting in no bounce. If 255, the coefficient is 1, resulting in a perfectly elastic collision (the worm bounces with the same speed with which it hit the object or terrain).'' | ||
+ | |||
+ | ==== /gravity - Gravity modifications ==== | ||
+ | Gravity can be made stronger or weaker, eliminated or even reversed. When reversed, a worm can stand on its head and shoot, but walking is obviously buggy. Also, should an object encounter no obstacle and fall into the sky, it will be sent to water when it reaches a certain height, otherwise it would block the game indefinitely. | ||
+ | |||
+ | ==== /pbh and /cbh - Central gravity (black hole mode) ==== | ||
+ | Gravity points towards the center of the map, or away from it (anti-gravity). These modes can either be proportional, where gravity is stronger near the center of the map, or constant, where gravity is the same strength for all locations. | ||
+ | |||
+ | In black hole mode, the object may either start a steady orbit or fall in the middle of the map and never stop flying: to avoid the first case objects that don't explode after some seconds (like worms, mines, crates and barrels) have a very small air viscosity value (see below); for the second case, objects nearer than 15 pixel to the center are sent to water. | ||
+ | |||
+ | Anti-gravity has a similar safeguard to reversed gravity (see above). | ||
+ | |||
+ | ==== /visc - Air viscosity ==== | ||
+ | Objects flying through the air lose speed up to a steady velocity, determined by gravity and wind (imagine throwing a rock in the water). Some objects, such as crates, graves, barrels, parachuting worms, and Mail Strike letters, will not experience this effect. It is adjustable: a value of 63 makes the air pasty as water. | ||
+ | |||
+ | ==== /wind - Wind influence ==== | ||
+ | Like air viscosity, it can be applied to only objects or worms too, but never to those objects (like bazooka) that are already influenced by wind or crates, graves, barrels. How much the wind moves the objects is adjustable. | ||
+ | |||
+ | ==== /antisink - Anti worm sink ==== | ||
+ | If activated, a worm that hits the water is prevented from drowning and instead teleported to the last location where it has been motionless. The turn does not end. If the teleport results in the worm falling and hitting water again (for example, if the terrain has since been destroyed by a weapon), it drowns normally. | ||
+ | |||
+ | ==== /arrows - Crate finder ==== | ||
+ | Arrows point to crates, as they do in certain missions. This feature can give a player an advantage if other players do not have RubberWorm, so a chat message is used to alert other players to its use. | ||
+ | |||
+ | ==== Friction modifications ==== | ||
+ | Currently, the velocity of a worm is slowed by 4% each frame that a worm slides along the terrain. This is given by multiplying velocity by F*0.01, where the default F value is 96. A lower value results in a higher degree of friction, with F=0 reducing velocity to zero immediately (infinite friction). Values between 96 and 100 give slippier terrains, while a value of 100 results in no friction. Values above 100 will result in the worm's velocity actually increasing as it slides. | ||
+ | : ''The friction value is stored in the crate probability of the '''Salvation Army'''.'' | ||
+ | |||
+ | ==== Shot doesn't end turn, Loss of control doesn't end turn, Fire doesn't pause timer, Improved rope, Continuous crate shower ==== | ||
+ | ''To edit these options, start with a value of zero and add the corresponding number for each option you want to enable (listed below). Then set the crate probability of the Mole Squadron to the resulting sum.'' | ||
+ | |||
+ | ==== /sdet - Shot doesn't end turn ==== | ||
+ | Firing a weapon doesn't end the player's turn. There's no retreat time and you can't control any weapon (such as Sheep or Supersheep) when turn time runs out. | ||
+ | : alias: /multishot | ||
+ | : ''Controlled by the first bit of the crate probability of Mole Squadron (add 1 to enable).'' | ||
+ | |||
+ | ==== /ldet - Loss of control doesn't end turn ==== | ||
+ | When activated, control of the active worm will not be lost in any circumstances (fall from a great height, weapon explosion, etc) except death. | ||
+ | : alias: /stoicworm | ||
+ | |||
+ | ==== /fdpt - Fire doesn't pause timer ==== | ||
+ | The timer doesn't pause while firing any weapon. Useful with Shot doesn't turn, because without it one could extend his turn time for a very long time using drill or blow torch, for example. | ||
+ | : alias: /nopause | ||
+ | |||
+ | ==== /ir - Improved rope ==== | ||
+ | Changes the rope physics to simulate Worms 2 (higher accelleration, 162 degrees of shooting) | ||
+ | : alias: /rope+ | ||
+ | |||
+ | ==== /crateshower - Continuous crate shower ==== | ||
+ | Normally, the game checks between turns the crate probability settings, and determines if and which crate must be spawned. With this feature, you can force the game to do this job every 5 seconds, also during turns. If you want a crate shower like Worms World Party, use [[SchemeEddy]] to check that the probability of no crate falling per turn is 0%. Keep in mind that the WWP crate shower spawns a completely random crate, that is it doesn't check the probability of each single weapon (that's why you can grab even [[Surrender]]). | ||
+ | |||
+ | |||
+ | ==== Version override ==== | ||
+ | : There are many engine version that come with the last update, and some of them may be interesting for their different behaviour. Some users report that this feature doesn't work (sometimes or at all) in network games: if the host sets a particular version, this change is not propagated to the other players, and so the game will end immediatly due to desynch. A 1-player game should work always, anyway. | ||
+ | :: ''Version is set by the crate probability of '''Select Worm'''.'' | ||
+ | |||
+ | ====No objects speed limit (/version65 or /ts3)==== | ||
+ | : Teststuff3 (3.6.27.9[teststuff3]) is an old version of teststuff (already available with 3.6.26.5). It is almost the same of the public teststuff5, but it doesn't just double the speed limit, it is removed. | ||
+ | :: ''Activated by a value of 0x41 (65 in decimal notation) of the crate probability of Select Worm.'' | ||
+ | |||
+ | ====All objects pushed by explosions (/version78)==== | ||
+ | : This version (3.6.28.17-19) contains a bug that enables a more realistic behaviour of objects (though it's not always good from the gameplay side): all objects (including grenades, cows, banana, fragments of cluster grenade...) are pushed by an explosion, with a force decreasing with distance from the center of the explosion of course. | ||
+ | |||
+ | ====Workaround for the lasersight bug (/version79)==== | ||
+ | : This version (3.6.28.20-21) is the most recent one that doesn't have the lasersight bug, which affects some versions before 3.6.30.0 and can cause desynchronization in online games and replays. WARNING: this engine version does not include the undefined crate contents feature (crate contents choosen when you actually grab them), which is a very strong weapon against cheats. If you are sensible to this problem, consider [[LaserFix]]. | ||
+ | |||
+ | === Crate rate variability === | ||
+ | Controls the number of crates that appear per turn. When a value of '''Crate Rate''' exists, the '''Crate Count''' automatically will be turned on. | ||
+ | : ''Set by the crate probability of the '''Indian Nuclear Test'''. The value 1 only will turn on the Crate Count'' | ||
+ | |||
+ | === Crate limit variability === | ||
+ | Controls the number of crates that can exist on the map at any one time (five at default) | ||
+ | : ''Set by the crate probability of the '''Magic Bullet'''.'' | ||
== Scheme configuration == | == Scheme configuration == |
Revision as of 14:12, 17 August 2011
RubberWorm | |
---|---|
Developer: | Pisto |
Latest version: | 0.7.32 / 3 August 2008 |
Supported games: | W:A |
Language: | C |
License: | Partially open-source |
Website: | Pisto's web page |
Download: | RubberWorm v0.7.32 installer Source code |
RubberWorm (or wkRubberWorm) is a module for WormKit that can modify parts of the Worms Armageddon physics to create WormPot-like effects, and adapts some features of wkMagic to the 3.6.29.0 and 3.6.31.0 versions. It was originally released by Pisto on 6 April 2008, and then ported by Kawoosh to the latest beta update with several new features.
RubberWorm's effects are applied to the game when certain scheme settings are set to certain values. These settings are normally unused, such as crate probabilities for superweapons. As such, only an external scheme editor can create schemes that will enable RubberWorm effects, though RubberWorm does also provide a chat command interface allowing a host to enable RubberWorm effects in the lobby of a WormNET game. The scheme can then be extracted from the replay afterwards.
For a complete and trusted online play, all players must run WA through WormKit or with WormKitDS, and should have the same version of the RubberWorm dll file.
Contents
- 1 Features
- 2 Features
- 2.1 Bouncing worms
- 2.1.1 /gravity - Gravity modifications
- 2.1.2 /pbh and /cbh - Central gravity (black hole mode)
- 2.1.3 /visc - Air viscosity
- 2.1.4 /wind - Wind influence
- 2.1.5 /antisink - Anti worm sink
- 2.1.6 /arrows - Crate finder
- 2.1.7 Friction modifications
- 2.1.8 Shot doesn't end turn, Loss of control doesn't end turn, Fire doesn't pause timer, Improved rope, Continuous crate shower
- 2.1.9 /sdet - Shot doesn't end turn
- 2.1.10 /ldet - Loss of control doesn't end turn
- 2.1.11 /fdpt - Fire doesn't pause timer
- 2.1.12 /ir - Improved rope
- 2.1.13 /crateshower - Continuous crate shower
- 2.1.14 Version override
- 2.1.15 No objects speed limit (/version65 or /ts3)
- 2.1.16 All objects pushed by explosions (/version78)
- 2.1.17 Workaround for the lasersight bug (/version79)
- 2.2 Crate rate variability
- 2.3 Crate limit variability
- 2.1 Bouncing worms
- 3 Scheme configuration
- 4 Chat command interface
- 5 RubberWorm3x Kawoosh's version
- 6 General Info
- 7 Future plans
- 8 See also
Features
Features
Bouncing worms
The original purpose of RubberWorm. Every time a worm hits an object or the terrain (in any direction), it bounces off of it. If it's during a rope roll, it can continue roping, and it never takes fall damage or loses the turn. The feature is always off if the worm is flying for a jump.
The worms' "boing" sound can switched on/off typing in the in-game chat /boing.
- Worm bounciness (or technically, the coefficient of restitution) is determined by the quotient of the value for the Armageddon crate probability divided by 255. For example, if the value is set to 0, the coefficient of restitution is 0, resulting in no bounce. If 255, the coefficient is 1, resulting in a perfectly elastic collision (the worm bounces with the same speed with which it hit the object or terrain).
/gravity - Gravity modifications
Gravity can be made stronger or weaker, eliminated or even reversed. When reversed, a worm can stand on its head and shoot, but walking is obviously buggy. Also, should an object encounter no obstacle and fall into the sky, it will be sent to water when it reaches a certain height, otherwise it would block the game indefinitely.
/pbh and /cbh - Central gravity (black hole mode)
Gravity points towards the center of the map, or away from it (anti-gravity). These modes can either be proportional, where gravity is stronger near the center of the map, or constant, where gravity is the same strength for all locations.
In black hole mode, the object may either start a steady orbit or fall in the middle of the map and never stop flying: to avoid the first case objects that don't explode after some seconds (like worms, mines, crates and barrels) have a very small air viscosity value (see below); for the second case, objects nearer than 15 pixel to the center are sent to water.
Anti-gravity has a similar safeguard to reversed gravity (see above).
/visc - Air viscosity
Objects flying through the air lose speed up to a steady velocity, determined by gravity and wind (imagine throwing a rock in the water). Some objects, such as crates, graves, barrels, parachuting worms, and Mail Strike letters, will not experience this effect. It is adjustable: a value of 63 makes the air pasty as water.
/wind - Wind influence
Like air viscosity, it can be applied to only objects or worms too, but never to those objects (like bazooka) that are already influenced by wind or crates, graves, barrels. How much the wind moves the objects is adjustable.
/antisink - Anti worm sink
If activated, a worm that hits the water is prevented from drowning and instead teleported to the last location where it has been motionless. The turn does not end. If the teleport results in the worm falling and hitting water again (for example, if the terrain has since been destroyed by a weapon), it drowns normally.
/arrows - Crate finder
Arrows point to crates, as they do in certain missions. This feature can give a player an advantage if other players do not have RubberWorm, so a chat message is used to alert other players to its use.
Friction modifications
Currently, the velocity of a worm is slowed by 4% each frame that a worm slides along the terrain. This is given by multiplying velocity by F*0.01, where the default F value is 96. A lower value results in a higher degree of friction, with F=0 reducing velocity to zero immediately (infinite friction). Values between 96 and 100 give slippier terrains, while a value of 100 results in no friction. Values above 100 will result in the worm's velocity actually increasing as it slides.
- The friction value is stored in the crate probability of the Salvation Army.
Shot doesn't end turn, Loss of control doesn't end turn, Fire doesn't pause timer, Improved rope, Continuous crate shower
To edit these options, start with a value of zero and add the corresponding number for each option you want to enable (listed below). Then set the crate probability of the Mole Squadron to the resulting sum.
/sdet - Shot doesn't end turn
Firing a weapon doesn't end the player's turn. There's no retreat time and you can't control any weapon (such as Sheep or Supersheep) when turn time runs out.
- alias: /multishot
- Controlled by the first bit of the crate probability of Mole Squadron (add 1 to enable).
/ldet - Loss of control doesn't end turn
When activated, control of the active worm will not be lost in any circumstances (fall from a great height, weapon explosion, etc) except death.
- alias: /stoicworm
/fdpt - Fire doesn't pause timer
The timer doesn't pause while firing any weapon. Useful with Shot doesn't turn, because without it one could extend his turn time for a very long time using drill or blow torch, for example.
- alias: /nopause
/ir - Improved rope
Changes the rope physics to simulate Worms 2 (higher accelleration, 162 degrees of shooting)
- alias: /rope+
/crateshower - Continuous crate shower
Normally, the game checks between turns the crate probability settings, and determines if and which crate must be spawned. With this feature, you can force the game to do this job every 5 seconds, also during turns. If you want a crate shower like Worms World Party, use SchemeEddy to check that the probability of no crate falling per turn is 0%. Keep in mind that the WWP crate shower spawns a completely random crate, that is it doesn't check the probability of each single weapon (that's why you can grab even Surrender).
Version override
- There are many engine version that come with the last update, and some of them may be interesting for their different behaviour. Some users report that this feature doesn't work (sometimes or at all) in network games: if the host sets a particular version, this change is not propagated to the other players, and so the game will end immediatly due to desynch. A 1-player game should work always, anyway.
- Version is set by the crate probability of Select Worm.
No objects speed limit (/version65 or /ts3)
- Teststuff3 (3.6.27.9[teststuff3]) is an old version of teststuff (already available with 3.6.26.5). It is almost the same of the public teststuff5, but it doesn't just double the speed limit, it is removed.
- Activated by a value of 0x41 (65 in decimal notation) of the crate probability of Select Worm.
All objects pushed by explosions (/version78)
- This version (3.6.28.17-19) contains a bug that enables a more realistic behaviour of objects (though it's not always good from the gameplay side): all objects (including grenades, cows, banana, fragments of cluster grenade...) are pushed by an explosion, with a force decreasing with distance from the center of the explosion of course.
Workaround for the lasersight bug (/version79)
- This version (3.6.28.20-21) is the most recent one that doesn't have the lasersight bug, which affects some versions before 3.6.30.0 and can cause desynchronization in online games and replays. WARNING: this engine version does not include the undefined crate contents feature (crate contents choosen when you actually grab them), which is a very strong weapon against cheats. If you are sensible to this problem, consider LaserFix.
Crate rate variability
Controls the number of crates that appear per turn. When a value of Crate Rate exists, the Crate Count automatically will be turned on.
- Set by the crate probability of the Indian Nuclear Test. The value 1 only will turn on the Crate Count
Crate limit variability
Controls the number of crates that can exist on the map at any one time (five at default)
- Set by the crate probability of the Magic Bullet.
Scheme configuration
All features above are configured by the Crate Probability setting of particular weapons.
Feature | Weapon name | Value | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Bouncing worms | Armageddon | 0-255 (0: no bounce, 255: 100% elastic bounce) | ||||||||||||||||||||||||||
Gravity modification | Mail Strike |
| ||||||||||||||||||||||||||
Black Hole (central Gravity) | Mail Strike |
| ||||||||||||||||||||||||||
Air viscosity | Concrete Donkey |
| ||||||||||||||||||||||||||
Wind influence | Suicide Bomber |
| ||||||||||||||||||||||||||
Anti worm sink | French Sheep Strike | Set to a non-zero value to activate. | ||||||||||||||||||||||||||
Terrain friction | Salvation Army | |||||||||||||||||||||||||||
Shot doesn't end turn | Mole Squadron | Controlled by the 1st bit (add 1 to enable). | ||||||||||||||||||||||||||
Loss of control doesn't end turn | Mole Squadron | Controlled by the 2nd bit (add 2 to enable). | ||||||||||||||||||||||||||
Fire doesn't pause timer | Mole Squadron | Controlled by the 3rd bit (add 4 to enable). | ||||||||||||||||||||||||||
Improved rope | Mole Squadron | Controlled by the 4th bit (add 8 to enable). | ||||||||||||||||||||||||||
Continuous crate shower | Mole Squadron | Controlled by the 5th bit (add 16 to enable). |
Chat command interface
These commands can be used in the host/join lobby. Omitting the parameter either activates the feature with a default value, or sets it off.
Command | Effect | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
/help | Displays list of commands in the chat window. | ||||||||||||||||||||||||||
/show | Displays a list of all enabled features to all players. | ||||||||||||||||||||||||||
/showme | Displays a dialogue box with all enabled features to the host only. | ||||||||||||||||||||||||||
/clear | Disables all features. | ||||||||||||||||||||||||||
/sdet or /multishot | Enables the shot doesn't end turn feature. | ||||||||||||||||||||||||||
/ldet or /stoicworm | Enables the loss of control doesn't end turn feature. | ||||||||||||||||||||||||||
/fdpt or /nopause | Enables the timer doesn't pause while firing feature. | ||||||||||||||||||||||||||
/ir or /rope+ | Enables the improved rope feature. | ||||||||||||||||||||||||||
/rubber### [0-255] | Enables the bouncing worms feature.
| ||||||||||||||||||||||||||
/version### [1-255] | Enables the arbitrary version override feature. | ||||||||||||||||||||||||||
/version or /fr or /ts3 | Enables the teststuff3 feature. | ||||||||||||||||||||||||||
/antisink | Enables the antisink feature. | ||||||||||||||||||||||||||
/visc### [0-255] | Enables the air viscosity feature.
odd number ..... affects worms too | ||||||||||||||||||||||||||
/wind### [0-255] | Enables the wind response feature.
| ||||||||||||||||||||||||||
/jetpack### [1-255] | Sets value of jetpack fuel.
255 ............ infinite fuel | ||||||||||||||||||||||||||
/friction### [0-100] | Sets terrain friction.
0 .............. infinite friction | ||||||||||||||||||||||||||
/glue | Alias for friction0 | ||||||||||||||||||||||||||
/ice | Alias for friction99 | ||||||||||||||||||||||||||
/gravity### [-64 to 63] | Sets gravity strength.
| ||||||||||||||||||||||||||
/pbh### [-32 to 31] | Proportional black hole (variable is gravitational strength) | ||||||||||||||||||||||||||
/cbh### [-32 to 31] | Constant black hole (variable is gravitational strength) | ||||||||||||||||||||||||||
/defg | Disables all gravity modification features. | ||||||||||||||||||||||||||
/cratelimit### [1-255] | Sets maximum number of co-existing crates. | ||||||||||||||||||||||||||
/craterate### [1-255] | Sets number of crates spawned per turn and enables the crate counter. | ||||||||||||||||||||||||||
/cratecount | Alias for /craterate1 (just enables the crate counter). | ||||||||||||||||||||||||||
/crateshower | Enables the continuous crate shower feature. |
RubberWorm3x Kawoosh's version
RubberWorm (Kawoosh's version) | |
---|---|
Latest version: | 0.7.32 / 5 January 2011 |
Supported games: | W:A |
Language: | C |
License: | Partially open-source |
Download: | 3.6.31.0:
3.6.29.0 (official): |
There is a 3.6.31.0-compatible RubberWorm version, modified by Kawoosh to work on 3.6.31.0. It has all basic features of old RubberWorm, KaosMod and LaserFix and will not make desyncs when playing with an old WA+RubberWorm user*. Read more here.
*If none of the new features, listed below, is enabled. Some of them were also part of old LaserFix module, and are though compatible.
New features
/wdca - weapons don't change automatically.
/ope - enables a special game mode in which all objects can be pushed by explosions. Like ldet and sdet, it is stored in the same byte as 6th bit.
/flames - allows you to enlarge the number of max possible flames at the map, up to 25500. Activated by the Scales of Justice crate probability parameter.
/kaosmod - this mod is only needed for kaos players, as it changes the utilities crate probabilities percentages, needed for a kaos scheme and league.
/kaosmod2 - a new version, needed for the season 2 of kaos league. An explaination table is here.
General Info
Installation and use
As any WormKit module, it has to be placed with the WormKit files in the W:A main folder, and the game must be run through WormKit.exe instead of WA.exe (the same applies for watching replays of games played with RubberWorm). Changes are applied only when using special schemes with some altered bytes.
Antivirus issue
Some antivirus programs may treat RubberWorm (as well as Wormkit) as a virus. It is a false alarm: it happens because RubberWorm uses some technique and Dlls abused by malware too.
Source code
wkRubberWorm is written in C, and a part of the source code, lacking of addresses and structs (as wkMagic), is public for demonstrative purpose.
Future plans
Pisto gave up coding RubberWorm, though version 1.0 has been developed inconstantly for over a year. He lost interest in Worms, but also in programming in general. The source code of RubberWorm 0.7 (a version compatible with the old 3.6.28.0 update, much similar to the current version) and of the never going to be 1.0 has been given to Deadcode: his aim is to add the emulation of RubberWorm in the official updates. This is going to happen in the next update after 3.6.31.0.
Pre-release with aliased-bounces
On 26th August 2009 a test build of RubberWorm 1.0 has been released. The reason for sharing it is to show some of the new features, mainly aliased-bounce. It allows to emulate the real behaviour of an object colliding with an object with a slope, a great lack of the Worms Armageddon default engine.
See also
- Project X
- RubberWorm and Project X (guide to switch between two modules)
- RubberWorm discussion thread
- RubberWorm 1.0 preview