AoE

AoE

> Notions et stratégies

Les dégâts de zone (Ou AOE, pour Area Of Effect) existent dans de nombreux jeux. Dans Leek Wars, ils n'apportent pas seulement un moyen d'affecter plusieurs adversaires. Ils offrent aussi un aspect intéressant à coder.

Explications

Les fonctions getWeaponArea et getChipArea renvoient respectivement le type d'AOE d'une arme ou d'une puce.

Ces fonctions renvoient une constante pouvant être :

Les AoE de 3 cellules de rayon sont actuellement les plus grandes du jeu. La zone touchée est conséquente. ![](https://imgur.com/8zk5LQa.png)

Réduction des effets

La puissance de l'effet diminue avec la distance au centre de l'AoE\*.

Ainsi, la cellule visée, au centre, subit 100% de l'effet. Pour le reste des cellules, le calcul de la proportion de l'effet est linéaire. Le calculs du pourcentage se fait avec l'équation suivante :

pourcentage = max(0., 1. - 0.2 * getCellDistance(centre, cell))

En sachant que nous ne pouvons pas dépasser le rayon d'impact !

!AOE values

\* Pour les lasers, il n'y a pas de réduction : toutes les cellules sont affectées avec 100% de l'effet.

Au travers des obstacles

Les dégâts de zone traversent les obstacles (sauf les lasers). Il est donc possible de toucher un poireau se trouvant derrière un obstacle en visant une cellule précise.

Il est possible de viser une cellule précise afin de profiter pleinement des possibilités des dégâts de zone. Il faut pour cela utiliser les fonctions useWeaponOnCell et useChipOnCell. Ainsi, vous pourrez tirer sur la cellule juste à coté de votre adversaire pour lui infliger des dégâts même s'il se cache derrière un obstacle !

Il n'est par contre pas possible de tirer sur un obstacle. Seules les cellules sur lesquelles vous avez la vision sont atteignables.

Exemple : !AOE obstacles

En gris, les obstacles et en rouge, les cellules touchées par les dégâts de zone.

La cellule visée est la cellule se trouvant au centre de l'image.