Objets aléatoires

From Worms Knowledge Base

Revision as of 12:30, 12 October 2011 by LeTotalKiller (Talk | contribs) (Created page with "Les objets aléatoires de Worms 2, Worms Armageddon et Worms World Party sont les mines et les barils de pétrole. == Types d'objets == Il peut y avoir quatre valeurs : pas d'o...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Les objets aléatoires de Worms 2, Worms Armageddon et Worms World Party sont les mines et les barils de pétrole.

Types d'objets

Il peut y avoir quatre valeurs : pas d'objet, mines uniquement, barils uniquement, ou bien les deux.

Nombre d'objets

Cette valeur n'existe que dans W:A. Vous pouvez définir le nombre d'objets qui vont apparaître, de 1 à 250. Pour avoir zéro objets, mettez tout simplement "pas d'objets" comme type.

Attention cependant, si vous dites, par exemple, qu'il y aura 250 objets, il n'y aura pas forcément 250 objets. En effet, il doit y avoir un écart minimal entre les objets, ainsi qu'entre les objets et les vers. Donc cette option ne représente que le nombre maximum d'objets, et donc pas le nombre exact

On ne peut pas choisir n'importe quelle valeur entre 1 et 250. Voici la liste des valeurs possibles :
Tous les entiers de 1 à 30, tous les multiples de 5 de 35 à 100, tous les multiples de 10 de 110 à 250.

Comment cette option est-elle sauvegardée dans un fichier WSC ?

Vieux schemes

Dans les schemes WWP et les schemes W:A v1 (et les vieux schemes W:A v2 jusqu'à la version ??? - TODO: Trouver cette version), seuls le type d'objet est sauvegardé, ce qui fait qu'il y aura jusqu'à 8 objets sur le terrain.

Les valeurs sont : 0x00=Pas d'objet, 0x01=Mines, 0x02=Barils de pétrole, 0x05=Les deux.

Nouveaux schemes

Dans les nouveaux schemes de W:A, il y a également l'option nombre d'objets. Du coup, le type et le nombre d'objets sont deux valeurs stockées dans le même octet.

Types

Vous devez faire un modulo (%) par 4 avec cette valeur. Le modulo est en fait une opération qui prend le reste d'une division euclidienne.

  • Si vous obtenez 0, il n'y aura pas d'objets.
  • Si vous obtenez 1, il n'y aura que des mines.
  • Si vous obtenez 2, il n'y aura que des barils.
  • Si vous obtenez 3, il y aura des mines et des barils.

Par exemple

Vous avez la valeur "79".

79 % 4 = 3 (parce que 79 / 4 = 19 et il reste 3)

Donc il y aura les deux types d'objets dans ce scheme.

Prenons un autre exemple

Vous avez maintenant la valeur "246".

246 % 4 = 2 (parce que 246 / 4 = 61 et il reste 2)

Nombre d'objets

Alors là, c'est un peu plus compliqué.

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


This article has a to-do list:
  • Find the W:A version which introduced the Object Count
Personal tools