Effets : Différence entre versions
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 ( | + | | 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 | + | | 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 ( | + | | 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é. | + | | 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
- Accueil > Tutoriels > Notions et stratégies > Effets
Un effet peut représenter deux choses: un mécanisme de jeu, ou l'application dudit mécanisme.
Sommaire
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 indice1
, - 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)