Difference between revisions of "RubberWorm"

From Worms Knowledge Base

Jump to: navigation, search
m (Features)
m (Chat command interface)
Line 78: Line 78:
  
 
== Chat command interface ==
 
== Chat command interface ==
 +
 +
These commands can be used in the host/join lobby.
 +
 +
; /help
 +
: Prints list of commands
 +
 +
; /show
 +
: Prints list of active RubberWorm features to all players
 +
 +
; /showme
 +
: Prints list of active RubberWorm features to host only
 +
 +
; /sdet '''or''' /multishot
 +
: Enables shot doesn't end turn
 +
 +
; /ldet '''or''' /stoicworm
 +
: Enables loss of control doesn't end turn
 +
 +
; /fdpt '''or''' /nopause
 +
: Enables timer doesn't pause while firing
 +
 +
; /ir '''or''' /rope+
 +
: Enables <span style="color:red">improved rope</span>
 +
 +
; /rubber[value]
 +
: Enables bouncing worms ([value] = 1-255)
 +
 +
; /antisink
 +
: Enables antisink
 +
 +
; /visc[value]
 +
: Enables air viscosity ([value] = 1-255 (if odd, applied to worms too))
 +
 +
; /wind[value]
 +
: Enables unconventional wind susceptibility ([value] = 1-255 (if odd, applied to worms too))
 +
 +
; /jetpack[fuel]
 +
: Sets value of jetpack fuel ([fuel] = 1-255, 255 being unlimited)
 +
 +
; /friction[value] '''or''' glue '''or''' ice
 +
: Sets friction ([value] = 1-100)
 +
 +
; /gravity[value]
 +
: Sets gravity strength ([value] = -64 to 63)
 +
 +
; /pbh[parameter]
 +
: proportional black hole with distance [parameter] (-32 to 31)
 +
 +
; /cbh[parameter]
 +
: constant black hole with gravity [parameter] (-32 to 31)
 +
 +
; /defg
 +
: set default gravity (deactivates g/pbh/cbh)
  
 
== Future plans ==
 
== Future plans ==
 
The program is still being worked on, though no planned features have been announced.
 
The program is still being worked on, though no planned features have been announced.

Revision as of 11:19, 5 July 2008

(Up to WormKit)
RubberWorm
Developer: Pisto
Latest version: 0.6 beta
Supported games: W:A
Language: C
License: Partially open-source
Download: wkRubberWorm.rar

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 Map Wizard to the latest version of the game. It was originally released by Pisto on 6 April 2008 [1].

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 online play, all players must run WA through WormKit, and have the same version of the RubberWorm dll file.

General Info

Installation

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. 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. Download

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.
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 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.
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).
The strength of the gravity can be adjusted.
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.
Activated by the crate probability of the Concrete Donkey. A higher value produces a stronger effect. If the value is odd, the effect will apply to worms as well as objects.
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.
Activated by the crate probability of the Suicide Bomber. A higher value produces a stronger effect, with the highest value (255) corresponding to the wind susceptibility of the Bazooka. If the value is odd, the effect will apply to worms as well as objects.
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.
This feature is activated by a non-zero value for the crate probability of the French Sheep Strike.
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.
Type /arrows in the in-game chat to activate this.
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.
Jetpack fuel variability
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.
Shot doesn't end turn
Firing a weapon doesn't end the player's turn.
Shot pauses timer
Worms 2 Rope
Changes the rope physics to simulate Worms 2.

Chat command interface

These commands can be used in the host/join lobby.

/help
Prints list of commands
/show
Prints list of active RubberWorm features to all players
/showme
Prints list of active RubberWorm features to host only
/sdet or /multishot
Enables shot doesn't end turn
/ldet or /stoicworm
Enables loss of control doesn't end turn
/fdpt or /nopause
Enables timer doesn't pause while firing
/ir or /rope+
Enables improved rope
/rubber[value]
Enables bouncing worms ([value] = 1-255)
/antisink
Enables antisink
/visc[value]
Enables air viscosity ([value] = 1-255 (if odd, applied to worms too))
/wind[value]
Enables unconventional wind susceptibility ([value] = 1-255 (if odd, applied to worms too))
/jetpack[fuel]
Sets value of jetpack fuel ([fuel] = 1-255, 255 being unlimited)
/friction[value] or glue or ice
Sets friction ([value] = 1-100)
/gravity[value]
Sets gravity strength ([value] = -64 to 63)
/pbh[parameter]
proportional black hole with distance [parameter] (-32 to 31)
/cbh[parameter]
constant black hole with gravity [parameter] (-32 to 31)
/defg
set default gravity (deactivates g/pbh/cbh)

Future plans

The program is still being worked on, though no planned features have been announced.

Personal tools