Effets : Différence entre versions

De Leek Wars Wiki
Aller à : navigation, rechercher
m (En tant qu'application)
Ligne 206 : Ligne 206 :
 
* l'identifiant de l'équipement qui a servi à appliquer l'effet, en indice <code>5</code>,
 
* l'identifiant de l'équipement qui a servi à appliquer l'effet, en indice <code>5</code>,
 
* l'identifiant de l'entité sur laquelle l'effet a été appliqué, en indice <code>6</code>.
 
* l'identifiant de l'entité sur laquelle l'effet a été appliqué, en indice <code>6</code>.
 +
 +
== Sources ==
 +
 +
https://leekwars.com/forum/category-7/topic-8796
 +
https://leekwars.com/changelog - Version 2.00 (04 août 2017)

Version du 9 avril 2019 à 19:14


Un effet peut représenter deux choses: un mécanisme de jeu, ou l'application dudit mécanisme.

En tant que description

Ils sont utilisés dans la description d'une arme ou d'une puce. On peut les récupérer avec getWeaponEffects et getChipEffects respectivement. Le résultat est une liste d'effets sous forme de tableau de tableaux. Chaque effet est constitué:

  • d'un type représentant quel action cet effet aura sur le jeu en indice 0,
  • du jet minimum de l'effet (0 si l'effet n'a pas d'application numérique) en indice 1,
  • du jet maximum de l'effet (même principe) en indice 2,
  • du nombre de tours durant lequel l'effet reste actif en indice 3,
  • d'une représentation binaire de quelles entités peuvent être affectées par l'effet en indice 4.
  • d'un booléen indiquant si l'effet de l'équipement peut être accumulé en indice 5.

[Type, MinRoll, MaxRoll, Duration, TargetTypes, Stackability]

Type

Type Valeur Action
EFFECT_ABSOLUTE_SHIELD 6 Procure du bouclier absolu à une entité, permettant de réduire la quantité de points de vie retirée par les dégâts (EFFECT_DAMAGE) d'un montant fixe. Amplifié par la résistance.
EFFECT_AFTEREFFECT 25 Retire des points de vie à une entité. Amplifié par la science. Réduit le maximum de points de vie de 5% du montant de points de vie retiré.
EFFECT_ANTIDOTE 23 Retire tous les poison (EFFECT_POISON) présent sur une cible.
EFFECT_BOOST_MAX_LIFE 12 Augmente les points de vie et le maximum de points de vie d'une entité. Amplifié par la sagesse.
EFFECT_BUFF_AGILITY 4 Procure de l'agilité à une entité. Amplifié par la science.
EFFECT_BUFF_MP 7 Procure des points de mouvement à une entité. Amplifié par la science.
EFFECT_BUFF_RESISTANCE 21 Procure de la résistance à une entité. Amplifié par la science.
EFFECT_BUFF_STRENGTH 3 Procure de la force à une entité. Amplifié par la science.
EFFECT_BUFF_TP 8 Procure des points d'action à une entité. Amplifié par la science.
EFFECT_BUFF_WISDOM 22 Procure de la sagesse à une entité. Amplifié par la science.
EFFECT_DAMAGE 1 Retire des points de vie à une entité. Amplifié par le force. Interagit avec les boucliers (EFFECT_ABSOLUT_SHIELD, EFFECT_RELATIVE_SHIELD, EFFECT_VULNERABILITY), le vol de vie (à l'exception du lanceur), et le retour de dégâts (EFFECT_DAMAGE_RETURN). Réduit le maximum de points de vie de 5% du montant de points de vie retiré.
EFFECT_DAMAGE_RETURN 20 Procure du renvoi de dégâts à une entité, permettant de retirer des points de vie aux entités infligeant des dégâts au bénéficiaire. Amplifié par l'agilité. Réduit le maximum de points de vie de 5% du montant de points de vie retiré.
EFFECT_DEBUFF 9 Réduit tous les effets présents sur une entité de 50%.
EFFECT_HEAL 2 Rend des points de vie à une entité, limité par le maximum de points de vie. Amplifié par la sagesse.
EFFECT_INVERT 11 Échange la position du lanceur avec celle d'une entité.
EFFECT_KILL 16 Retire tous les points de vie d'une entité.
EFFECT_POISON 13 Retire des points de vie à une entité. Amplifié par la magie. Réduit le maximum de points de vie de 10% du montant de points de vie retiré.
EFFECT_RELATIVE_SHIELD 5 Procure un bouclier relatif, permettant de réduire la quantité de points de vie retiré par les dégâts d'un montant relatif. Amplifié par la résistance.
EFFECT_RESURRECT 15 Ressuscite une entité, avec un nombre de PV maximum égal à la moitié du nombre de PV maximum de l'entité avant résurrection, et un nombre de PV courant égal au quart du nombre de PV maximum avant résurrection.
EFFECT_SHACKLE_MAGIC 24 Retire de la magie à une entité. Amplifié par la magie.
EFFECT_SHACKLE_MP 17 Retire des points de mouvement à une entité. Amplifié par la magie.
EFFECT_SHACKLE_STRENGTH 19 Retire de la force à une entité. Amplifié par la magie.
EFFECT_SHACKLE_TP 18 Retire des points d'action à une entité. Amplifié par la magie.
EFFECT_SUMMON 14 Invoque un bulbe. Aucun effet si la limite d'invocation de l'équipe est atteinte (6 pour l'instant).
EFFECT_TELEPORT 10 Change la position du lanceur.
EFFECT_VULNERABILITY 26 Retire du bouclier relatif à une entité. Permettant d'augmenter les points de vie retiré par les dégâts d'un montant relatif.

Jet

Durée

Il s'agit du nombre de tours pendant lesquels l'effet sera actif sur la cible.

Dans le cas des effets ponctuels (soins, poisons, dégâts), une valeur de 0 signifie que l'effet aura lieu au moment où l'effet est lancé, et une valeur non nulle (1 ou plus) le fera agir au début du tour de la cible.

Entités affectées

Les entités affectées par un effet sont encodées de manière binaire : si le bit correspondant a une catégorie d'entité vaut 1, cette catégorie sera affectée par l'effet.

Tester si une entité est vulnérable se fait alors en utilisant l'opérateur bit à bit ET (de symbole &), permettant ici de vérifier l'état d'un unique bit du nombre donné (les opérateurs == et === ne peuvent pas être utilisés : plusieurs bits peuvent être actifs).

Effet Valeur (binaire) Valeur (numérique) entités affectéees
EFFECT_TARGET_ALLIES 00010 2 entités alliées de celle qui applique l'effet
EFFECT_TARGET_CASTER 00100 4 entité qui applique l'effet
EFFECT_TARGET_ENEMIES 00001 1 ennemis de l'entité qui applique l'effet
EFFECT_TARGET_NON_SUMMONS 01000 8 poireaux (qui ne sont pas des bulbes)
EFFECT_TARGET_NOT_CASTER 00000 0 aucun : cette constante n'est plus utilisée (remplacée par EFFECT_TARGET_CASTER)
EFFECT_TARGET_SUMMONS 10000 16 bulbes

Par exemple, si le nombre représentant les entités affectées est 14 (en binaire : 01110), cela signifie que les entités affectées par l'effet sont les poireaux alliés, ainsi que celui qui applique l'effet. Donc, les bulbes et les ennemis ne seront pas affectés.

Le code suivant permet de tester si un effet affecte les bulbes ennemis :

if(targets & EFFECT_TARGET_ENEMIES && targets & EFFECT_TARGET_SUMMONS) {
    //les bulbes ennemis sont affectés
}

Cumulabilité

Si l'effet est appliqué sur une entité possédant déjà un effet du même type et provenant du même item, alors deux cas se posent :

  • Si l'effet est cumulable, (condition ci-dessus vérifiée) alors l'effet est simplement ajouté,
  • S'il ne l'est pas, (condition non vérifiée) alors l'effet remplace celui déjà présent.

En tant qu'application

Ils servent à rendre compte de l'état détaillé d'une Entité. On peut les récupérer avec getEffects. Le résultat est une liste d'effets sous forme de tableau de tableaux. Il est aussi possible de récupérer la liste des effets appliqués par une entité avec getLaunchedEffects, cela peut par exemple servir à décider de l'éliminer dans le cas où elle serait une figure importante de l'adversaire. Chaque effet est constitué des informations suivantes:

  • le type représentant quelle action cet effet a sur l'entité, en indice 0,
  • la valeur de l'effet, en indice 1,
  • l'identifiant de l'entité qui a appliqué l'effet, en indice 2,
  • le nombre de tours (mis à jour au tour du lanceur) restant avant que l'effet ne disparaisse, en indice 3,
  • si l'effet à été appliqué avec un coup critique, en indice 4,
  • l'identifiant de l'équipement qui a servi à appliquer l'effet, en indice 5,
  • l'identifiant de l'entité sur laquelle l'effet a été appliqué, en indice 6.

Sources

https://leekwars.com/forum/category-7/topic-8796 https://leekwars.com/changelog - Version 2.00 (04 août 2017)