Effets : Différence entre versions

De Leek Wars Wiki
Aller à : navigation, rechercher
m
 
(2 révisions intermédiaires par 2 utilisateurs non affichées)
Ligne 64 : Ligne 64 :
 
| EFFECT_DAMAGE
 
| EFFECT_DAMAGE
 
| 1
 
| 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é.
+
| Retire des points de vie à une entité. Amplifié par le force. Interagit avec les boucliers (EFFECT_ABSOLUTE_SHIELD, EFFECT_RELATIVE_SHIELD, EFFECT_VULNERABILITY, EFFECT_ABSOLUTE_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
 
| EFFECT_DAMAGE_RETURN
Ligne 72 : Ligne 72 :
 
| EFFECT_DEBUFF
 
| EFFECT_DEBUFF
 
| 9
 
| 9
| Réduit tous les effets présents sur une entité de 50%.
+
| Réduit tous les effets présents sur une entité de 60%. (Réduit la valeur et non pas la durée).
 
|-
 
|-
 
| EFFECT_HEAL
 
| EFFECT_HEAL
Ligne 92 : Ligne 92 :
 
| EFFECT_RELATIVE_SHIELD
 
| EFFECT_RELATIVE_SHIELD
 
| 5
 
| 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.
+
| Procure un bouclier relatif, permettant de réduire la quantité de points de vie retiré par les dégâts (EFFECT_DAMAGE) d'un montant relatif. Amplifié par la résistance.
 
|-
 
|-
 
| EFFECT_RESURRECT
 
| EFFECT_RESURRECT
Ligne 116 : Ligne 116 :
 
| EFFECT_SUMMON
 
| EFFECT_SUMMON
 
| 14
 
| 14
| Invoque un bulbe. Aucun effet si la limite d'invocation de l'équipe est atteinte (6 pour l'instant).
+
| Invoque un bulbe. Aucun effet si la limite d'invocation de l'équipe est atteinte (8 pour l'instant).
 
|-
 
|-
 
| EFFECT_TELEPORT
 
| EFFECT_TELEPORT
Ligne 124 : Ligne 124 :
 
| EFFECT_VULNERABILITY
 
| EFFECT_VULNERABILITY
 
| 26
 
| 26
| Retire du bouclier relatif à une entité. Permettant d'augmenter les points de vie retiré par les dégâts d'un montant relatif.
+
| Retire du bouclier relatif à une entité. N'est pas amplifié par une caractéristique. Permet d'augmenter les points de vie retiré par les dégâts (EFFECT_DAMAGE) d'un montant relatif.
 +
|-
 +
| EFFECT_ABSOLUTE_VULNERABILITY
 +
| 27
 +
| Retire du bouclier absolu à une entité. N'est pas amplifié par une caractéristique. Permet d'augmenter les points de vie retiré par les dégâts (EFFECT_DAMAGE) d'un montant absolu.
 
|}
 
|}
  
Ligne 195 : Ligne 199 :
 
* Si l'effet est cumulable, (condition ci-dessus vérifiée) alors l'effet est simplement ajouté,
 
* 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.
 
* S'il ne l'est pas, (condition non vérifiée) alors l'effet remplace celui déjà présent.
 +
 +
=== Déroulement des effets ===
 +
 +
Au debut du tour de chaque entité, dans l'ordre:
 +
* Les effets EFFECT_HEAL et EFFECT_POISON sur l'entité sont appliqués, dans l'ordre reçu. Si l'entité tombe à <= 0 PVs à n'importe quel moment, elle meurt.
 +
* Les effets ayant étés lancés par cette entité perdent 1 tour de durée. Si la durée d'un effet atteint 0, l'effet disparaît et tous les bonus/malus associés sont enlevés de la cible.
 +
* L'IA de l'entité s'execute.
 +
 +
Ce que cela signifie:
 +
* Une entité ayant un EFFECT_POISON sur elle lors de votre tour ne prendra pas nécessairement de dégâts, par exemple si il ne reste qu'un tour sur l'effet et que le lanceur de l'effet joue avant la victime.
 +
* Si lors de l'execution de votre IA, il ne vous reste qu'un tour sur un boost lancé par vous même, ce boost n'aura aucun effet sur votre prochain tour. Cependant, si il ne vous reste qu'un tour sur un EFFECT_HEAL ou EFFECT_POISON lancé par vous même, celui ci aura un effet lors de votre prochain tour.
  
 
== En tant qu'application ==
 
== En tant qu'application ==
Ligne 210 : Ligne 225 :
  
 
https://leekwars.com/forum/category-7/topic-8796
 
https://leekwars.com/forum/category-7/topic-8796
 +
 
https://leekwars.com/changelog - Version 2.00 (04 août 2017)
 
https://leekwars.com/changelog - Version 2.00 (04 août 2017)

Version actuelle en date du 27 novembre 2019 à 16:25


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_ABSOLUTE_SHIELD, EFFECT_RELATIVE_SHIELD, EFFECT_VULNERABILITY, EFFECT_ABSOLUTE_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 60%. (Réduit la valeur et non pas la durée).
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 (EFFECT_DAMAGE) 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 (8 pour l'instant).
EFFECT_TELEPORT 10 Change la position du lanceur.
EFFECT_VULNERABILITY 26 Retire du bouclier relatif à une entité. N'est pas amplifié par une caractéristique. Permet d'augmenter les points de vie retiré par les dégâts (EFFECT_DAMAGE) d'un montant relatif.
EFFECT_ABSOLUTE_VULNERABILITY 27 Retire du bouclier absolu à une entité. N'est pas amplifié par une caractéristique. Permet d'augmenter les points de vie retiré par les dégâts (EFFECT_DAMAGE) d'un montant absolu.

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.

Déroulement des effets

Au debut du tour de chaque entité, dans l'ordre:

  • Les effets EFFECT_HEAL et EFFECT_POISON sur l'entité sont appliqués, dans l'ordre reçu. Si l'entité tombe à <= 0 PVs à n'importe quel moment, elle meurt.
  • Les effets ayant étés lancés par cette entité perdent 1 tour de durée. Si la durée d'un effet atteint 0, l'effet disparaît et tous les bonus/malus associés sont enlevés de la cible.
  • L'IA de l'entité s'execute.

Ce que cela signifie:

  • Une entité ayant un EFFECT_POISON sur elle lors de votre tour ne prendra pas nécessairement de dégâts, par exemple si il ne reste qu'un tour sur l'effet et que le lanceur de l'effet joue avant la victime.
  • Si lors de l'execution de votre IA, il ne vous reste qu'un tour sur un boost lancé par vous même, ce boost n'aura aucun effet sur votre prochain tour. Cependant, si il ne vous reste qu'un tour sur un EFFECT_HEAL ou EFFECT_POISON lancé par vous même, celui ci aura un effet lors de votre prochain tour.

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)