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

Black Book Éditions, le site de référence des jeux de rôle

Script pour CO Fantasy sous Roll20 5020

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

avatar

Hello,
J'ai une erreur avec le script je souhaite utiliser le sort foudre de facon un peu differente j'ai donc creer l'attaque suivante :
#Attaque Foudre --toucher [[@{selected|ATKMAG}]] --dm ?{Nombre de personne attentif 1, 5d10,| 2, 4d8,| 3, 3d6, | 4, 2d4, | 5, 1d2} --portee 40 --sortilege --psave DEX [[12+@{selected|DEX}]] --ligne --fx beam-holy
Le soucis c'est que j'ai une erreur (et cela meme avec l'attaque foudre proposé dans la documentation
TypeError: attr.get is not a function
at apiscript.js:25267:44
at Array.forEach ()
at apiscript.js:25266:25
at Array.filter ()
at enleveDoublonsPartagePV (apiscript.js:25220:21)
at attack (apiscript.js:25994:14)
at parseAttack (apiscript.js:21188:5)
at Object.apiCommand (apiscript.js:55018:9)
at apiscript.js:61032:17
at eval (eval at (/home/node/d20-api-server/api.js:168:1), :65:16)
Quelqu'un à déja eu un soucis similaire sur les attaque --ligne ?
J'ai peut etre mal implémenté la compétence

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

Salut Dagga. Que tu aies compris ou pas, le script ne devrait jamais planter.

Je n'ai pas réussi à reproduire ce crash, mais grâce à ton message détaillé, j'ai repéré un endroit qui pouvait peut-être poser problème. Tu veux bien ré-essayer avec la dernière version du script depuis le git ?

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

Hello Ulti,
Ca à l'air d'avoir corriger le soucis, l'attaque a bien fonctionner sur les 3 joueurs en ligne, Merci à toi

avatar

Hello Ulti,

J'espère que tu vas bien. Si possible, j'aimerai inclure une option de bonus/malus lors d'un test de compétence. Si possible en one-shot, c'est à dire que le bonus/malus en question ne s'appliquerait que pour UN test et se réinitiiserait avec une valeur par défaut de zero avant tout autres tests de compétence.
Avec les commandes : !cof-set-attribute modificateurTests ?{bonus} et !cof-jet, tu t'y prendrais comment ?

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

Si c'est juste un bonus à donner , tu peux utiliser !cof-jet --bonus ?{bonus}.

Si tu veux un effet du genre fortifiant (de la Voie des élixirs), c'est un peu plus délicat. Le bonus de +3 est codé en dur pour le fortifiant. Si tu as vraiment besoin de ça, alors il faudrait que je te code quelque chose.

avatar

Nickel, c'était aussi simple que ça ^^
Merci content

avatar

Bonjour petite idée au passe, rien d'obligatoire.
sur !cof-jets est ce que l'on pourrait avoir une option --success ( un peu comme message) pour personnalisé les resultats

exemple
!cof-jet DEX ?{Taille de l'adversaire ? |petit,5|normal,10|grand,15|tres grand,20|geant,25} --nom accrobatie --success Vous sautez par dessus votre adversaire

voilà, si c'est pas possible pas grave

bonnes vacances à tous

davy

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

C'est fait (option --succes).

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

Merci ça marche super bien !!

avatar

Hop, j'arrive avec une proposition d'ajout pour préciser sur le souffle de la voie des créature élémentaires : utiliser "--cone 30" (en réalité l'angle serait de 28,9° mais bref) avec en portée : 10 pour créature grande, 20 pour énorme, 30 pour colossale.

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

Merci Kyr. Je vais ajouter ça à la documentation.

avatar
Ulti

Bonjour Ulti,

Question sur vitaliteEpique :

Cela ne fonctionne pas pour le repos "réparateur" ?

Possible de l'ajouter ? Logique de l'ajouter ?

Je souhaitais réutiliser cette fonctionnalité pour le Médaillon d'Arly de la campagne Vengeance.

Merci d'avance,

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

En lisant la capacité, ça dit "effets de soin". Ça devrait inclure le repos, selon toi ?

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

Pour la vitalité épique, c'est discutable. C'est bien les "effets de soins" , même si plus loin c'est indiqué "obtient le maximum au dé (6 PV) pour chaque heure de repos.", donc il y a un impact sur la récupération naturelle, même si je vois pas ce que l'heure vient faire ici, pour moi c'est 5 min ou 8h...

Pour le médaillon, c'est "il double son rythme de guérison naturel", donc cela diffère de la capacité épique. On ne parle pas des soins pour le coup.

Dans le cas d'un repos "réparateur", on parle de récupération, pas de soins... donc je ne sais pas comment l'interpréter.

Du coup, on relisant les deux descriptions (de la vitalité épique et du médaillon), ce n'est pas vraiment la même chose. pour le moment j'avais adapté ton script avec la prise en charge d'un prédicat guerisonDouble et adapté la fonction recuperation avec :

if(predicateAsBool(perso, 'guerisonDouble'))
total = total *2 ;

if(predicateAsBool(perso, 'guerisonDouble'))
message += "récupère (" + buildinline(roll) + "+" + bonus + ")x2 PV. "
else
message += "récupère " + buildinline(roll) + "+" + bonus + " PV. "

Donc en bref, fait peut être comme si je n'avais rien dit plaisantin

avatar

Salut Ulti, pour une fois, ma question n'ai pas un appel à l'aide mais une... question. BBE publie chaque jour actuellement une petite brève pour présenter les règles de la v2 à paraître. Comment vois-tu les choses côté script ?

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

Salut Laurent. Pour l'instant, je n'en sais pas assez. Si les capacités et les règles sont suffisament différentes, et que j'en ai le courage, peut-être que je ferai un script à part (sans partir de zéro, bien sûr). Mais pas sûr que je le fasse si BBE fait un truc vraiment très bien pour Foundry...

avatar

Salut Ulti.

Gros problème sur ma dernière partie. Le script plantait à chaque action. Pour l'anecdote, on a fait un gros combat "à la main", chose qui n'était encore jamais arrivée. Au niveau 12... Quand on s'est toujours reposé sur le script, ça pique un peu clin d'oeil

Dans le doute, je viens de mettre à jour le script, et fait quelques tests : même problème. Le message d'erreur varie en fonction de l'action / du personnage utilisé ( PJ comme PNJ ). A noter que le début de session s'est très bien passé : le bug est apparu d'un coup ( il me semble que c'était après la 1er utilisation de la fameuse Pluie de flèches, mais que j'avais testé en amont sans que celà ne provoque quoi que ce soit ).

Voici 3 exemples de message d'erreur :

For reference, the error message generated was: TypeError: perso.token.get is not a function
TypeError: perso.token.get is not a function
at sendPerso (apiscript.js:2505:36)
at apiscript.js:20508:9
at Array.forEach ()
at sendDisplay (apiscript.js:20507:29)
at finaliseDisplay (apiscript.js:20780:5)
at finCibles (apiscript.js:19072:9)
at afterSaves (apiscript.js:19905:17)
at etatsAvecSave (apiscript.js:20200:22)
at effetsAvecSave (apiscript.js:20306:22)
at effetPietinement (apiscript.js:20346:22)

For reference, the error message generated was: TypeError: perso.token.get is not a function
TypeError: perso.token.get is not a function
at sendPerso (apiscript.js:2505:36)
at apiscript.js:20508:9
at Array.forEach ()
at sendDisplay (apiscript.js:20507:29)
at finaliseDisplay (apiscript.js:20780:5)
at finCibles (apiscript.js:19072:9)
at apiscript.js:20140:21
at postBarUpdateForDealDamage (apiscript.js:22672:5)
at apiscript.js:22645:9
at partialSave (apiscript.js:21193:7)

For reference, the error message generated was: TypeError: perso.token.get is not a function
TypeError: perso.token.get is not a function
at sendPerso (apiscript.js:2505:36)
at apiscript.js:20508:9
at Array.forEach ()
at sendDisplay (apiscript.js:20507:29)
at finaliseDisplay (apiscript.js:20780:5)
at attaqueNeTouchePas (apiscript.js:18663:5)
at apiscript.js:18802:9
at callIfAllDone (apiscript.js:11108:30)
at evalITE (apiscript.js:11116:7)
at attackDealDmg (apiscript.js:18767:7)

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

J'ai l'impression que d'une façon ou d'une autre, l'état du script a été corrompu. J'ai un peu modifié le script pour qu'il efface les données qu'il va utiliser depuis l'état du script avant de les utiliser, de façons à ne pas garder un état corrompu si le script plante. J'espère que ça va au moins débloquer ton problème. Normalement, après mise à jour, le script va encore crasher une fois, puis ça devrait revenir à la normale. Et si tu réussis à reproduire le crash après ça, je veux bien que tu me donnes plus de détails, parce que là je ne vois pas comment le crash a pu se produire pour la première fois.

avatar

Ahaha les gros combats à faire à la mano alors qu'on se repose sur le script (en particulier les joueureuses qui sont pas forcément habitué·es des jdr papier)... Ca me rappelle le plantage qu'on avait eu sur l'armée des morts du nécro et/ou les charge héroiques du chevalier à l'époque où je savais pas m'en servir. La panique à bord mais au final c'était bien marrant ^^'

avatar
Spite

Effectivement, l'état global était corrompu sur cette partie, sans que je puisse dire pourquoi. Et il semble que le crash arrivait avant que l'état soit mis à jour dans leur base de donnée. Donc, si jamais cela se reproduit pour l'un d'entre vous, j'ai implémenté une fonction !cof-clean-global-state qui devrait permettre de régler le problème.