Difference between revisions of "Hazardous Objects"

From Worms Knowledge Base

Jump to: navigation, search
(Object Count)
(Object Count)
Line 63: Line 63:
 
* 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 - 1 = 1, and 1 is the second value of the array, 1 => 40 so C = 40).
+
* 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 value of the array, 1 => 40 so C = 40).
  
 
The array's values are, as we said above, every number from 1 to 30, then 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.
 
The array's values are, as we said above, every number from 1 to 30, then 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.

Revision as of 13:04, 8 October 2011

The Hazardous Objects are the Mines and the Oil Drums (or Barrels).

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. For having zero objects, simply set "no objects" as the type.

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), 100-250 (10 by 10).

How is this setting saved in a WSC file?

Old schemes

In WWP and W:A v1 schemes (and probably W:A v2 old schemes), only the hazardous object types value is saved.

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 Oject 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 objects.

For example :

You have the value "79".

79 % 4 = 3 (because 79 / 4 = 19 and the rest is 3)

So there will be both mines and oil drums in the scheme.

Another example

You have the value "42"

42 % 4 = 2 (because 42 / 4 = 10 and the rest is 2)

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 for getting 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 value of the array, 1 => 40 so C = 40).

The array's values are, as we said above, every number from 1 to 30, then 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.
Personal tools