Difference between revisions of "LaserFix"
From Worms Knowledge Base
m |
|||
Line 3: | Line 3: | ||
| name = LaserFix | | name = LaserFix | ||
| developer = [[People/Pisto|Pisto]] | | developer = [[People/Pisto|Pisto]] | ||
− | | version = 0.0. | + | | version = 0.0.2.0 / 13 September 2010 |
| games = [[Worms Armageddon|W:A]] | | games = [[Worms Armageddon|W:A]] | ||
| language = C++ | | language = C++ | ||
Line 11: | Line 11: | ||
This Wormkit module is a complete fix for the bug, affecting only game logic 3.6.29.0, which causes desynchronization in online games and replays if [[Laser Sight]] is used in conjunction with a firearm. It's an alternative to the version overriding based method (described [[RubberWorm#Workaround for the lasersight bug .28.2Fversion79.29|here]]). The advantage is that you keep the undefined crate contents feature (which disarms cheats aiming to show the crate contents locally, and reveal other things which you shouldn't see normally). | This Wormkit module is a complete fix for the bug, affecting only game logic 3.6.29.0, which causes desynchronization in online games and replays if [[Laser Sight]] is used in conjunction with a firearm. It's an alternative to the version overriding based method (described [[RubberWorm#Workaround for the lasersight bug .28.2Fversion79.29|here]]). The advantage is that you keep the undefined crate contents feature (which disarms cheats aiming to show the crate contents locally, and reveal other things which you shouldn't see normally). | ||
− | It has also a couple of game features: permanently activate or deactivate | + | It has also a couple of game features: permanently activate or deactivate utilities, and also increase the limit of concurrent flamelets on map. The way these works is very similar to [[RubberWorm]]: the settings are stored in some unused bytes of the [[Game scheme file|scheme]], and all players of an online game must be running the same version of the module. |
==Utilities Overriding== | ==Utilities Overriding== | ||
Line 37: | Line 37: | ||
| [[Invisibility]] | | [[Invisibility]] | ||
| /invisibility | | /invisibility | ||
− | | 4 ( | + | | 4 (8) |
|- | |- | ||
| [[Double Damage]] | | [[Double Damage]] | ||
| /damageX2 | | /damageX2 | ||
− | | 5 ( | + | | 5 (16) |
|- | |- | ||
| [[Crate Spy]] | | [[Crate Spy]] | ||
| /cratespy | | /cratespy | ||
− | | 6 (64) | + | | 6 (32) |
+ | |- | ||
+ | | [[Double Turn Time]] | ||
+ | | /doubleturn | ||
+ | | 7 (64) | ||
+ | |- | ||
+ | | [[Crate Shower]] | ||
+ | | /wwpshower | ||
+ | | 8 (128) | ||
|} | |} | ||
Line 59: | Line 67: | ||
The value divided by 100 is stored in the crate probability of Scale of Justice. Note that due to this division by 100, the argument number that you pass with the /flames command is rounded up to hundreds. | The value divided by 100 is stored in the crate probability of Scale of Justice. Note that due to this division by 100, the argument number that you pass with the /flames command is rounded up to hundreds. | ||
+ | ==Instant utilities stocking and multiplication== | ||
+ | |||
+ | LaserFix enables stockage in armory of those utilities which can have effect only once in a turn. To enable this feature, append 'stock' to the command relative to one of the last four utilities in the precedent table. The stock status of the utility is coded setting the correspondig bit in Carpet Bomb and Ming Vase respectively to 0 and 1. | ||
+ | |||
+ | Another modality for these instant utilities (except for Laser Sight) is the "multi" mode. In this case, every time you collect a crate of the selected instant utility, its effect is strengthened somehow. | ||
+ | |||
+ | {| border="1" cellspacing="0" | ||
+ | ! Command | ||
+ | ! Effect | ||
+ | |- | ||
+ | | /wwpshowermulti | ||
+ | | Increases the number of crates that the Crate Shower drops by an amount equal to the original limit. By default, W:A set this limit to 5, and is the same value which the [[RubberWorm]] command /craterate modifies. | ||
+ | |- | ||
+ | | /doubleturnmulti | ||
+ | | Increases turn time by an amount equal to the current turn time divided by the number of crates of Double Turn Time that you have collected. This way, the effect of such crates decreases (it multiplies the time firstly by 2, then 3/4, 4/5...) | ||
+ | |- | ||
+ | | /damageX2multi | ||
+ | | Increase the damage mutiplier by one step. One crate is [[Double Damage]], two is triple damage, etc. | ||
+ | |} | ||
+ | |||
+ | This mode is coded as a 1 bit in the crate probability of the [[Girder Starter Pack]] at the same position described in the precedent table, and has effect only if the corrisponding bits in the Ming Vase and Carpet Bomb are set to 0. | ||
==Convenience commands and /tellv== | ==Convenience commands and /tellv== |
Revision as of 19:01, 13 September 2010
LaserFix | |
---|---|
Developer: | Pisto |
Latest version: | 0.0.2.0 / 13 September 2010 |
Supported games: | W:A |
Language: | C++ |
License: | closed-source |
Download: | [1] |
This Wormkit module is a complete fix for the bug, affecting only game logic 3.6.29.0, which causes desynchronization in online games and replays if Laser Sight is used in conjunction with a firearm. It's an alternative to the version overriding based method (described here). The advantage is that you keep the undefined crate contents feature (which disarms cheats aiming to show the crate contents locally, and reveal other things which you shouldn't see normally).
It has also a couple of game features: permanently activate or deactivate utilities, and also increase the limit of concurrent flamelets on map. The way these works is very similar to RubberWorm: the settings are stored in some unused bytes of the scheme, and all players of an online game must be running the same version of the module.
Contents
Utilities Overriding
All utilities activation, except Crate Shower and Double Turn Time, can be overridden permanently on or off. Some commands are available in the host lobby for an easy setup (look table below). To each command, append 'on' or 'off' to force the utility status to on or off, or just type the plain command to revert any overriding. The scheme bytes used by LaserFix for these features are the crate probability settings of Mike's Carpet Bomb and Ming Vase: both are a bitmask, the first controls the overriding status (bit value 1 if overriding), the second whether it ovverides to on (bit value 1) or off (bit value 0).
Utility | Command | Bit |
---|---|---|
Low Gravity | /lg | 1 (1) |
Fast Walk | /fastwalk | 2 (2) |
Laser Sight | /laser | 3 (4) |
Invisibility | /invisibility | 4 (8) |
Double Damage | /damageX2 | 5 (16) |
Crate Spy | /cratespy | 6 (32) |
Double Turn Time | /doubleturn | 7 (64) |
Crate Shower | /wwpshower | 8 (128) |
Flames limit variability
The native limit is 200, which is too low and cause the glitch that flames suddenly disappear (for example, flamelets of petrol bombs dropped in precedent turns disappear if a worm uses napalm strike). Increasing this limit solves the problem. However, if the limit is too high, the maximum number of concurrent sprites on screen can be exceeded, causing some flames to exist but be invisible.
Command and scheme setting
The command is /flames: just append the new limit value. Without argument, the command disables this feature. The value divided by 100 is stored in the crate probability of Scale of Justice. Note that due to this division by 100, the argument number that you pass with the /flames command is rounded up to hundreds.
Instant utilities stocking and multiplication
LaserFix enables stockage in armory of those utilities which can have effect only once in a turn. To enable this feature, append 'stock' to the command relative to one of the last four utilities in the precedent table. The stock status of the utility is coded setting the correspondig bit in Carpet Bomb and Ming Vase respectively to 0 and 1.
Another modality for these instant utilities (except for Laser Sight) is the "multi" mode. In this case, every time you collect a crate of the selected instant utility, its effect is strengthened somehow.
Command | Effect |
---|---|
/wwpshowermulti | Increases the number of crates that the Crate Shower drops by an amount equal to the original limit. By default, W:A set this limit to 5, and is the same value which the RubberWorm command /craterate modifies. |
/doubleturnmulti | Increases turn time by an amount equal to the current turn time divided by the number of crates of Double Turn Time that you have collected. This way, the effect of such crates decreases (it multiplies the time firstly by 2, then 3/4, 4/5...) |
/damageX2multi | Increase the damage mutiplier by one step. One crate is Double Damage, two is triple damage, etc. |
This mode is coded as a 1 bit in the crate probability of the Girder Starter Pack at the same position described in the precedent table, and has effect only if the corrisponding bits in the Ming Vase and Carpet Bomb are set to 0.
Convenience commands and /tellv
LaserFix inherits from RubberWorm the commands /show, /showme, /clear, /help (or /h), which have the same meaning.
An additional command can be used in online games both by hosts and guests, /tellv. This commands sends a green message (like those starting with /me) announcing what modules the client is running, and their version. LaserFix recognizes by itself RubberWorm and JetFix, but new modules can register themselves so that their description string appears.