Difference between revisions of "Hazardous Objects"
From Worms Knowledge Base
(→Object Count) |
m (→Object Types: Little change - but I guess the whole article needs rephrasing -and maybe reorganizing.) |
||
(23 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | The Hazardous Objects are the Mines and the Oil Drums (or Barrels). | + | {{Languages|en|Hazardous Objects|fr|Objets aléatoires}} |
+ | |||
+ | The Hazardous Objects in Worms 2, Worms Armageddon and Worms World Party are the Mines and the Oil Drums (or Barrels). | ||
== Object Types == | == Object Types == | ||
Line 7: | Line 9: | ||
== Object Count == | == Object Count == | ||
− | This value only exists in W:A. You can set how many objects can appear, from 1 to 250. | + | This value only exists in W:A. You can set how many objects can appear, from 1 to 250. The default value is 8. If you want to have zero objects, simply set "no objects" as the type. |
+ | |||
+ | Be careful however, if you set the Object Count to 250 (for example), there won't be 250 objects for sure. There must be a certain distance between the objects, and between Worms and objects. So this setting is only a max number. | ||
Not all values from 1 to 250 are represented. The following is a breakdown of possible values:<br /> | Not all values from 1 to 250 are represented. The following is a breakdown of possible values:<br /> | ||
Line 16: | Line 20: | ||
=== Old schemes === | === Old schemes === | ||
− | In WWP and W:A v1 schemes (and | + | In WWP and W:A v1 schemes (and W:A v2 old schemes before version 3.6.28.0), only the hazardous object types value is saved, so there will be always 8 objects on the landscape. |
The values are: 0x00=No objects, 0x01=Mines, 0x02=Oil Drums, 0x05=Both. | The values are: 0x00=No objects, 0x01=Mines, 0x02=Oil Drums, 0x05=Both. | ||
Line 22: | Line 26: | ||
=== New schemes === | === New schemes === | ||
− | In new W:A schemes, there is the setting Object Count. So both | + | In new W:A schemes, there is the setting Object Count. So both Object Types and Count values are stored in the same byte. |
==== Object Types ==== | ==== Object Types ==== | ||
Line 31: | Line 35: | ||
* If you get 1, there are only mines. | * If you get 1, there are only mines. | ||
* If you get 2, there are only oil drums. | * If you get 2, there are only oil drums. | ||
− | * If you get 3, there are both | + | * If you get 3, there are both mines and oil drums. |
− | '''For example | + | '''For example''' |
You have the value "79". | You have the value "79". | ||
Line 43: | Line 47: | ||
'''Another example''' | '''Another example''' | ||
− | You have the value " | + | You have the value "246". |
− | + | 246 % 4 = 2 (because 246 / 4 = 61 and the remainder is 2) | |
+ | |||
+ | So there will only be oil drums in the scheme. | ||
==== Object Count ==== | ==== Object Count ==== | ||
Line 55: | Line 61: | ||
N = V - (8 + M) | N = V - (8 + M) | ||
− | Then finally, divide N by 4 | + | Then finally, divide N by 4 to get the array's entry (E). |
E = N / 4. | E = N / 4. | ||
Line 63: | Line 69: | ||
* You can make an array with a NULL entry as the entry number 0, and you keep the same values for the entries. | * You can make an array with a NULL entry as the entry number 0, and you keep the same values for the entries. | ||
* You can make an array normally, meaning you will have to remove 1 to E. | * You can make an array normally, meaning you will have to remove 1 to E. | ||
− | * You can make an array with values from 35 to 250 only. If E < 31, E already equals to the value (if E = 5 for example, then C = 5 - considering C is the object count). If E >= 31, then remove 31 to get your array entry and select this entry (for example, 32 - 31 = 1, and 1 is the second | + | * You can make an array with values from 35 to 250 only. If E < 31, E already equals to the value (if E = 5 for example, then C = 5 - considering C is the object count). If E >= 31, then remove 31 to get your array entry and select this entry (for example, 32 - 31 = 1, and 1 is the second entry of the array, 1 => 40 so C = 40). |
− | The array's values are, as we said above | + | The array's values are, as we said above: |
+ | |||
+ | 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250. | ||
'''For example''' | '''For example''' | ||
Line 89: | Line 97: | ||
* 17 - 1 = 16. Get the entry number 16 of the array. It contains 17. C = 17. | * 17 - 1 = 16. Get the entry number 16 of the array. It contains 17. C = 17. | ||
* 17 < 31, so simply C = E = 17. | * 17 < 31, so simply C = E = 17. | ||
+ | |||
+ | So there will be 17 mines and barrels. | ||
+ | |||
+ | '''Another example''' | ||
+ | |||
+ | V = 246. | ||
+ | |||
+ | As we said above, M = 2. | ||
+ | |||
+ | So: | ||
+ | |||
+ | N = 246 - (8 + 2)<br /> | ||
+ | N = 246 - 10<br /> | ||
+ | N = 236. | ||
+ | |||
+ | Then let's calculate E: | ||
+ | |||
+ | E = 236 / 4<br /> | ||
+ | E = 59. | ||
+ | |||
+ | Then let's see with the 3 methods we suggested for the array: | ||
+ | |||
+ | * Get the 59th entry of the array. Value of it is 250. C = 250. | ||
+ | * 59 - 1 = 58. Get the entry number 58 of the array. It contains 250. C = 250. | ||
+ | * 59 > 31, so 59 - 31 = 28. Entry number 28's value is 250. C = 250. | ||
+ | |||
+ | So there will be 250 barrels. | ||
+ | |||
+ | ==== Invalid byte values ==== | ||
+ | |||
+ | These byte values are converted to 1 (8 mines) by the game: | ||
+ | |||
+ | 3, 4, 6, 7, 8, 9, 10, 11, 248, 249, 250, 251, 252, 253, 254, 255. |
Latest revision as of 10:51, 6 February 2013
The Hazardous Objects in Worms 2, Worms Armageddon and Worms World Party are the Mines and the Oil Drums (or Barrels).
Contents
Object Types
There can be four values : no objects, mines only, oil drums only, or both objects.
Object Count
This value only exists in W:A. You can set how many objects can appear, from 1 to 250. The default value is 8. If you want to have zero objects, simply set "no objects" as the type.
Be careful however, if you set the Object Count to 250 (for example), there won't be 250 objects for sure. There must be a certain distance between the objects, and between Worms and objects. So this setting is only a max number.
Not all values from 1 to 250 are represented. The following is a breakdown of possible values:
1-30 (1 by 1), 35-100 (5 by 5), 110-250 (10 by 10).
How is this setting saved in a WSC file?
Old schemes
In WWP and W:A v1 schemes (and W:A v2 old schemes before version 3.6.28.0), only the hazardous object types value is saved, so there will be always 8 objects on the landscape.
The values are: 0x00=No objects, 0x01=Mines, 0x02=Oil Drums, 0x05=Both.
New schemes
In new W:A schemes, there is the setting Object Count. So both Object Types and Count values are stored in the same byte.
Object Types
You have to modulo (%) the value by 4.
- If you get 0, there are no objects.
- If you get 1, there are only mines.
- If you get 2, there are only oil drums.
- If you get 3, there are both mines and oil drums.
For example
You have the value "79".
79 % 4 = 3 (because 79 / 4 = 19 and the remainder is 3)
So there will be both mines and oil drums in the scheme.
Another example
You have the value "246".
246 % 4 = 2 (because 246 / 4 = 61 and the remainder is 2)
So there will only be oil drums in the scheme.
Object Count
First, you will have to re-use the modulo's result as M.
Then, considering V as the byte's value, do :
N = V - (8 + M)
Then finally, divide N by 4 to get the array's entry (E).
E = N / 4.
Adjust the E value with your array. Meaning for example:
- You can make an array with a NULL entry as the entry number 0, and you keep the same values for the entries.
- You can make an array normally, meaning you will have to remove 1 to E.
- You can make an array with values from 35 to 250 only. If E < 31, E already equals to the value (if E = 5 for example, then C = 5 - considering C is the object count). If E >= 31, then remove 31 to get your array entry and select this entry (for example, 32 - 31 = 1, and 1 is the second entry of the array, 1 => 40 so C = 40).
The array's values are, as we said above:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250.
For example
We have again the value "79". V = 79.
M = 3 as we saw above.
So:
N = 79 - (8 + 3)
N = 79 - 11
N = 68.
Then let's calculate E:
E = 68 / 4
E = 17.
Then let's see with the 3 methods we suggested for the array:
- Get the 17th entry of the array. Value of it is 17. C = 17.
- 17 - 1 = 16. Get the entry number 16 of the array. It contains 17. C = 17.
- 17 < 31, so simply C = E = 17.
So there will be 17 mines and barrels.
Another example
V = 246.
As we said above, M = 2.
So:
N = 246 - (8 + 2)
N = 246 - 10
N = 236.
Then let's calculate E:
E = 236 / 4
E = 59.
Then let's see with the 3 methods we suggested for the array:
- Get the 59th entry of the array. Value of it is 250. C = 250.
- 59 - 1 = 58. Get the entry number 58 of the array. It contains 250. C = 250.
- 59 > 31, so 59 - 31 = 28. Entry number 28's value is 250. C = 250.
So there will be 250 barrels.
Invalid byte values
These byte values are converted to 1 (8 mines) by the game:
3, 4, 6, 7, 8, 9, 10, 11, 248, 249, 250, 251, 252, 253, 254, 255.