Script pour CO Fantasy sous Roll20 739

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

avatar

@Kouett et Ulti :

A mon avis pour l'épuisement magique on doit pouvoir faire quelque chose avec un sheet-worker (pas pour accumuler les points d'épuisement, ça il faudra le faire soit à la main soit via une commande du script COFantasy), mais à minima pour faire un jet d'ATKMAG vs compteur d'épuisement à l'aide d'un bouton d'action sur l'entête de la case (comme pour le jet de Récupération).

Je vais essayer de jeter un cil ce week-end et je proposerai le code à Ulti pour qu'il l'intègre dans la version officielle de la fiche COF

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

Ce serait une bonne solution intermédiaire, merci Trichelumière !

avatar
TricheLumiere

Oh mon dieu ce serait vraiment génial ! Je vais voir s'il est possible de mon côté de trouver une option / commande du script pour ajouter des points d'épuisements, mais je sais que n'ai rien trouvé en lien avec COFantasy. Le problème est peut-être plus simple que je le pense, il me suffirait peut-être de me documenter sur les macros de Roll20 tout court !

Merci à vous deux ! joyeux

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

Bon, en fait il n'y a pas besoin de sheet-worker

@Ulti

Il suffit de modifer la ligne 1358 du HTML et d'insérer ceci à l'intérieur de l'élément td

Par ailleurs, si tu veux retrouver la mise en forme correcte des roll-templates dans le chat, il faut rajouter une accolade fermante } en ligne 383 du CSS -- son absence fait que tout le reste du fichier est ignoré

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

Il n'y a aucune moyen par le langage de macro de Roll20 de modifier la valeur d'un attribut d'un personnage. La seule façon de réaliser ceci est :

  • Soit via un script sheet-worker sur la fiche de personnage
  • Soit via un script API

Le premier est "gratuit" -- pas besoin d'un compte payant, à partir du moment où une partie utilise une fiche de personnage qui contient des sheet-workers, ceux-ci s'exécutent dès que l'événement auquel ils sont rattachés se produit.

Le second nécessite un compte payant (plus ou pro).

Le problème avec le sheet-worker, c'est que sa principale utilité est de permettre la modification d'un ou plusieurs attributs lorsqu'un ou plusieurs autres changent (exemple typique : re-calculer le modificateur lorsque la valeur d'une caractéristique change). Or dans le cas de l'épuisement magique, c'est le lancer d'un sort qui accumule les points d'épuisement, et celà ne correspond à aucun événement rattachable sur la fiche de personnage : tous les sorts ne demandent pas un jet d'attaque magique, et de toutes façons, un bouton de type "roll" (jet de dés) ne permet pas de rattacher un sheet-worker.

Bref, il n'y a pas grand chose qu'on puisse faire à ce niveau.

avatar
TricheLumiere

Merci !!

avatar

Bon, en fait il n'y a pas besoin de sheet-worker

@Ulti

Il suffit de modifer la ligne 1358 du HTML et d'insérer ceci à l'intérieur de l'élément td

Par ailleurs, si tu veux retrouver la mise en forme correcte des roll-templates dans le chat, il faut rajouter une accolade fermante } en ligne 383 du CSS -- son absence fait que tout le reste du fichier est ignoré

TricheLumiere

Comment on modifie le CSS ?

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

Dans les sources de la fiche. Si tu ne veux pas attendre la mise à jour automatique, il faut que tu copies le html et le css de la fiche depuis le github, que tu fasses les modifications, et que tu choisisses "fiche personnalisée" pour ta partie.

avatar
thefr33dsz

A noter qu'il faut un compte Plus ou Pro pour avoir accès à l'option "fiche personnalisée" et pouvoir rentrer le HTML, le CSS et les éventuelles variables de traduction

avatar

Coucou ! Je viens de voir que les fiches ont été mis à jour sur le site. J'ai l'impression qu'il y a un soucis côté hébergement d'image ! ^^
EDIT : Problème résolu, ça a du être un simple bug de chargement. ^^

avatar

Bonjour

Comment on peut simuler au mieux ceci :

Souffle glacial (+ 4) : Lorsqu’un Souffleur souffle l’hiver sur un personnage, ce dernier doit réussir un test de DEX
difficulté 15 pour éviter les effets de cette attaque magique. En cas de réussite, il échappe au pouvoir du Souffleur. En cas d’échec, le PJ perd son action du tour et subit 1d4-1 DM. En cas d’échec critique, il est figé pour deux tours et une
nouvelle attaque de souffle réussie le glacera définitivement ; il subit de surcroît 2d4 DM. Aucun jet n’est nécessaire au Souffleur pour utiliser son pouvoir à courte distance. Pour atteindre une cible distante de plus de 5 mètres, il doit réussir un test d’attaque magique .

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

Oulah, un peu compliqué. Je ne sais pas d'où sort cette compétence mais je vais tenter de coder un macro de mon côté. content

avatar
thefr33dsz

Ça vient d'une campagne officielle, que je ne vais pas nommer ici pour ne pas spoiler. J'avais remarqué cette capacité, et c'est vrai qu'elle est compliquée à gérer. L'effet n'est d'ailleurs pas entièrement clair pour moi : est-ce que les 2d4 DM concerne l'échec critique ou bien la nouvelle attaque de souffle réussie ? Que signifie "glacé définitivement" ? Ça veut dire mort ou immobilisé ou paralysé ? Et "définitivement", c'est long...

Bref, je pense que le mieux c'est de faire 2 attaques, une de portée 5 avec l'option --auto, et une autre de portée 20 m (au pif, la portée effective n'est pas précisée). Chaque attaque fait 1d4-1 DM. Comme le script n'a pas de support pour un tout ou rien en cas de save, le mieux me semble d'utiliser l'option --psave DEX 15. En cas de réussite, au lieu de 0 DM, ce sera (1d4-1)/2, soit une moyenne de 0,75, ça ne me semble pas abusé. En revanche, pas moyen de faire un save qui gère à la fois les DM et l'effet figé. Donc je rajouterais --message En cas de d'échec du test de DEX, la cible est figée un tour (2 si échec critique) pour ne pas oublier l'effet. Le cas de l'échec critique étant assez rare, je rajouterais une ability por faire les 2d4 DM (!cof-dmg [[2d4]] --froid), et je gèrerais à la main les cas où il se prend un second souffle après un échec critique. On doit pouvoir simuler l'effet figé par !cof-effet-temp paralyseTemp 1, et !cof-set-state paralyse pour le gel définitif.

Bon, il faudrait que j'améliore sérieusement l'expressivité des options d'attaque, ou que j'implémente juste une option qui fasse les effets de ce souffle...

avatar

Merci Ulti. Je vais faire ce que tu as indiqué. Par contre, je pense que le "glacé définitivement' signifie que si tu es déjà glacé/paralysé et qu'une autre attaque de souffle te reglace/paralyse, tu es mort. Et c'est ce que je vais mettre en place.

PS : c'en est ou de l'intégration de la fiche PNJ de Trichelumière ? content

avatar

Bon après quelques tests, ça ne fonctionne pas vraiment. Je vais gérer tout ça manuellement, à l'ancienne content

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

C'est-à-dire, qu'est-ce qui ne fonctionne pas ?

avatar

En fait, j'ai voulu mettre en Abilities du PNJ Souffleur les conséquences :

- !cof-dmg [[2d4]] --froid

- !cof-effet-temp paralyseTemp 1

- !cof-set-state paralyse

Mais ca fait des dégats au PNJ ou ca paralyse le PNJ même si je sélectionne la cible. Alors j'ai tout mis en macro que je gère moi-même en fonction du résultat.

Sinon, j'ai aussi remarqué qu'il est dommage que l'effet paralyseTemp ne bloque pas le PJ comme le fait l'état paralysé.

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

Je vois. En effet, sans option supplémentaire, ça affecte le (ou les) tokens sélectionnés. Et dans le cas d'une ability, le token sélectionné est toujours celui auquel l'ability est rattachée.

Pour affecter un autre token avec ces fonctions, tu peux par exemple rajouter --target @{target|token_id}

Pour paralyseTemp, je pensais que ça le bloquait. Je vais regarder ça.

avatar

Sinon, j'ai aussi remarqué qu'il est dommage que l'effet paralyseTemp ne bloque pas le PJ comme le fait l'état paralysé.

thefr33dsz

Effectivement. Ça marchait bien quand l'effet venait d'un !cof-attack, mais j'avais oublié le cas !cof-effet-temp (faut le faire !). C'est corrigé sur mon git, et bientôt sur Roll20.