Cookies

Utilisation des cookies

Pour le bon fonctionnement du site, nous utilisons des cookies techniques qui permettent de gérer votre connexion.
Nous utilisons des cookies Google Analytics pour le suivi anonyme de la navigation. Vous pouvez désactiver ces derniers à tout moment ici.

Confirmation

Par défaut, nous conservons votre acceptation durant 13 mois.
Gérez vos cookies ici.



Personnaliser

Script pour CO Fantasy sous Roll20 3769

Forums > Jeux de rôle > JdR Black Book > Chroniques Oubliées

avatar

Coucou, j'aimerai savoir s'il y a déjà quelque chose de fait pour S'interposer : un personnage au contact de la cible à protéger peut choisir de subir les DM à sa place en réussissant un test de DEX de difficulté égale au test d’attaque de l’attaquant.
J'ai trouvé la compétence du golem mais celle -ci est automatique il faut donc refaire un test opposé avant d'autoriser le PJ à utiliser la macro. Jusque là tout va bien :

Mais quand on complique l'attaque, j'ai l'impression que la nouvelle cible (celle qui s'est interposée) n'a pas le droit à son propre test de save pour contrer les effets de l'attaque (un poison en l'occurence). Le résultat est considéré celui de la première cible ? Ou alors les stats sont très étranges car sur 3 essais c'est à chaque fois le même score de save qui tombe sur la cible initiale et la nouvelle cible.
Ca fait aussi des affichages étranges (6 - 3 = 24) car ça ne reprend pas les options de l'attaque même si ça reprend les DM et la target n'est pas "recalculée" puisque le @target appelle la première cible. J'ai aussi un compte qui ne tombe pas juste sur mon 2ème essai (avec sournoise) et j'ai un double message "degaine/rengaine" :


Voilà les options de l'attaque à l'épée courte sournoise et empoisonnée (oui c'est vilain) :
?{Sournoise ?|oui,--bonusAttaque 5 --sournoise 4|non, } --ifSaveFails CON 14 --etat affaibli --plus 4d6 --poison --message @{target|token_name} sent un poison lui brûler les veines --else --diviseDmg 2 --plus 2d6 --poison --endif

Ce message a reçu 2 réponses de
  • Laurent14165
  • et
  • Ulti
avatar
Kyr

Tu as la compétence de chevalier qui fait l'affaire aussi.

avatar
Kyr

Non, rien de spécifiquement implementé pour ça. La seule fois où j'en ai eu besoin, je l'ai fait à la main.

avatar

J'ai édité au dessus avec mes remarques pour mes essais !

Pour la compétence du chevalier il a droit à un effet qui retranche des DM je crois (mais peut être que je peux mettre 0 en rang dans la voie ?) et utilise sa DEF (dans mon cas, le perso est obligé de prendre les DM même si sa DEF aurait suffit).

Dans mon 2ème exemple j'ai aussi 10 points de DM qui se sont perdus dans la nature... au lieu de 3 xD.

avatar

Et autre truc que je viens de remarquer :

Sur l'attaque mortelle de la disparition, les DM n'ont pas l'air d'être correctement doublés sur un coup critique :

Puisque là les 2d4 ont fait 1, on aurait du avoir 4 de DM /2 et non 1.

Sinon sur cet exemple j'ai bien tous les DM correctement corrigés (même si l'affichage ne donne que les DM de base toujours, je n'ai pas réussi à reproduire l'erreur dans les DM) par contre je pense qu'il serait plus logique que le jet de DEX de l'attaquant soit conservé ? Sur le jet de SAG contre la sournoise on est bon. Reste le save de CON qui reste toujours le même score (donc je pense vraiment que c'est pas relancé).

Ce message a reçu 1 réponse de
  • Ulti
avatar
Kyr

J'ai bien peur que la fonction !cof-interposer ne soit pas assez testée. En tout cas, moi je n'en ai jamais eu besoin. Je vais regarder ça.

avatar

Oui je me suis dis que j'allais utiliser celle là vu qu'elle est utile aux forgesorts déjà et juste faire à la main le test de DEX qui autorise l'utilisation. Pour ça que je remonte ce que je remarque. Rien de grave cependant mais si ça peut aider content

avatar

Et en testant la Disparition j'ai eu ce message dans l'API :

TypeError: tokenCourant.get is not a function TypeError: tokenCourant.get is not a function at setState (apiscript.js:1923:60) at entrerEnCombat (apiscript.js:10074:9) at resoudreAttaque (apiscript.js:10477:5) at apiscript.js:9571:11 at callIfAllDone (apiscript.js:6840:30) at evalITE (apiscript.js:6848:7) at cibleTraitee (apiscript.js:9570:9) at evalSanctuaire (apiscript.js:9595:11) at apiscript.js:9618:15 at apiscript.js:8870:9

Condition de l'erreur :

Disparition > Passage du tour > Le tour revient au token de l'elfe en disparition, il fait son attaque et réapparait comme il faut. Là j'ai undo, il a correctement re disparu mais error content.

Erreur de la même façon (je pense) donc lorsque j'utilise cette fois-ci !cof-interposer au lieu de undo : le token redisparait, l'attaque n'est pas reporté sur la nouvelle cible et l'API dit ça :

TypeError: tokenCourant.get is not a function TypeError: tokenCourant.get is not a function at setState (apiscript.js:1923:60) at entrerEnCombat (apiscript.js:10074:9) at resoudreAttaque (apiscript.js:10477:5) at apiscript.js:9571:11 at callIfAllDone (apiscript.js:6840:30) at evalITE (apiscript.js:6848:7) at cibleTraitee (apiscript.js:9570:9) at evalSanctuaire (apiscript.js:9595:11) at apiscript.js:9618:15 at apiscript.js:8870:9

Même résultat si au lieu de disparition j'utilise !cof-set-state invisible donc je suppose que ça vient de là.

Je continue mes essais ^^.

avatar

Re moi : l'erreur de DM arrive avec disparition j'ai l'impression mais impossible de comprendre quels sont les DM qui sautent... :


"Les comptes sont pas bons kévin..." mort

EDIT : Si ! je crois que j'ai compris, ça pourrait être les DM superflus par rapport aux PV restants pour mettre le premier PJ à terre ! Qui ne sont pas reportés sur celui qui intercepte ! Je ne vois que ça.

Ce message a reçu 1 réponse de
  • Ulti
avatar
Kyr

En fait, la capacité "Protecteur" dit que le golem subit les DM à la place du forgesort. Ce que j'avais interprété comme "il subit exactement le même nombre de DM que ce que l'attaque a infligé au forgesort". Bon, disons que c'est déjà un peu sujet à interprétation, il faudrait être sûr que c'est vraiment comme ça que la capacité est sensée fonctionner. Ensuite, au lieu de simplement infliger ces degâts, je fais refaire une attaque qui inflige des dégats d'un montant égal à ce nombre. Je crois que je me suis un peu compliqué la vie pour rien, là...

Ce message a reçu 1 réponse de
  • Kyr
avatar
Ulti

Je comprend la même chose que toi ! Faire refaire l'attaque est pas mal si on a un test de save à faire non ? mais il faudrait que les tests et le score de l'attaquant restent les mêmes. Et les DM qui n'ont pas été comptés car superflus sur la première cible devraient tout de même être comptés je pense...

Après franchement, c'est parce que tu parlais de tester que j'ai trifouillé tout ça hein ^^. En l'état c'est déjà pas mal efficient, c'est juste que l'interposition manque du confort d'utilisation de l'interception (il me semble que c'est un bouton qui apparait pour le défenseur lorsqu'il peut l'activer non ? ou bien je confond avec les capa de voleur ?).

avatar

Un dernier truc que je viens de remarquer, après je coupe mes tests :


Peut être que lorsque l'attaque rate, on peut éviter tout le reste du déroulé ? Ou on a pas le choix ? Puisque là au final l'attaque rate mais demande tout de même le test de save dont l'échec n'a, du coup, aucune conséquence ^^.

Ce message a reçu 1 réponse de
  • Ulti
avatar
Ulti

Je pense que tout les messages sont impliqués.

Ce message a reçu 1 réponse de
  • Ulti
avatar
Plaguis

Ça ne se produit pas chez moi. Tu as installé le script comment, au final ? Copié-collé depuis un git, ou bien ajouté depuis la librairie ?

Ce message a reçu 1 réponse de
  • Plaguis
avatar
Kyr

C'est à cause de la façon dont tu as codé ton attaque. Un ifSaveFails sera toujours effectué, là. Tu pourrais mettre ce qui ne doit pas être affiché en cas de rate à l'intérieur d'un --if touche

avatar
Ulti

Sur une des mes parties j'ai voulu essayer de mettre le scirpt via "add" et cela m'a affiché ça

Ce message a reçu 1 réponse de
  • Ulti
avatar
Plaguis

Effectivement, je peux reproduire ça. Je vais voir du côté de Roll20.

avatar
Ulti

La maj du script via la librairie a coorigé le probleme de l'ombre mouvante.

Pour les probleme d'accent, ce sont les messages auto gérés par le script:

" Le combat est d��j�� termin��é" ," Haylee:r��appara��t "

"YY_exys:se met �� grandir"
Ce message a reçu 1 réponse de
  • Ulti
avatar
Krass

Effectivement, il y a encore un bug quand on ajoute le script depuis la librairie. Et d'ailleurs, je soupçonne que ça modifie le code source du script, car il y a des bugs aussi quand on 'Import' après avoir fait un 'Add' (et effacé). J'ai contacté le support Roll20.

avatar

Et en testant la Disparition j'ai eu ce message dans l'API :

TypeError: tokenCourant.get is not a function TypeError: tokenCourant.get is not a function at setState (apiscript.js:1923:60) at entrerEnCombat (apiscript.js:10074:9) at resoudreAttaque (apiscript.js:10477:5) at apiscript.js:9571:11 at callIfAllDone (apiscript.js:6840:30) at evalITE (apiscript.js:6848:7) at cibleTraitee (apiscript.js:9570:9) at evalSanctuaire (apiscript.js:9595:11) at apiscript.js:9618:15 at apiscript.js:8870:9

Condition de l'erreur :

Disparition > Passage du tour > Le tour revient au token de l'elfe en disparition, il fait son attaque et réapparait comme il faut. Là j'ai undo, il a correctement re disparu mais error content.

Erreur de la même façon (je pense) donc lorsque j'utilise cette fois-ci !cof-interposer au lieu de undo : le token redisparait, l'attaque n'est pas reporté sur la nouvelle cible et l'API dit ça :

TypeError: tokenCourant.get is not a function TypeError: tokenCourant.get is not a function at setState (apiscript.js:1923:60) at entrerEnCombat (apiscript.js:10074:9) at resoudreAttaque (apiscript.js:10477:5) at apiscript.js:9571:11 at callIfAllDone (apiscript.js:6840:30) at evalITE (apiscript.js:6848:7) at cibleTraitee (apiscript.js:9570:9) at evalSanctuaire (apiscript.js:9595:11) at apiscript.js:9618:15 at apiscript.js:8870:9

Même résultat si au lieu de disparition j'utilise !cof-set-state invisible donc je suppose que ça vient de là.

Je continue mes essais ^^.

Kyr

Ça devrait être corrigé...