Script pour CO Fantasy sous Roll20 692

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

avatar

Salut !

Rapide question : comment gères-tu les tests de caractéristiques en opposition afin de les incruster dans des macros ?
Je sais qu'il est simple de faire jeter un dé au PJ et lancer un dé en tant que MJ, mais si on veut appliquer automatiquement un effet en fonction de la réussite ou de l'échec...?

J'ai trouvé pour les jets opposés d'attaque et de magie (et j'ai essaye tant bien que mal de les adapter) mais rien pour ceux de caractérstiques...

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

J'ai une fonction qui fait ça en interne, mais pas de commande dans l'API pour l'appeler directement. Tu as des exemples de ce que tu voudrais faire, exactement ?

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

J'essaie d'adapter la créature "Cube Gélatineux" avec le script.

Son attaque est particulière, si elle arrive à toucher, elle fait un jet de FOR en opposition avec la cible pour l'ingérer. Puis tous les tours, il prend des dégats avec un jet FOR(15) pour s'en sortir.
Sachant qu'en plus de tout ça, la cible engloutie doit faire un jet de CON pour éviter d'être paralysé à chaque fois qu'elle prend les dégats (donc chaque tour).

Ca correspond en gros à :
- Ability d'attaque (sans DM) pour toucher ou non la cible.
- Ability incluant le jet de FOR pour être absorbé ou non (je pense dissocier cette ability de celle d'attaque car difficile d'associer ce test directement à !cof-attack). En cas de réussite, inclure des DM périodiques ET le jet de CON contre la paralysie à chaque tour. Cette ability sera utilisée si l'attaque précédente à touché le PJ ou non.

Pour l'absorption et les dégats temp, j'ai déjà : !cof-effet dotGen(Absorption) --saveParTour FOR 15 --valeur 2d6+9 acide --target @{target|token_id}

Le problème c'est qu'elle ne veut pas fonctionner sans "durée définie". Et qu'elle ne prend pas en compte le test en opposition initial ni les tests contre la paralysie...

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

Je vois, c'est pas evident ! Et tu en as besoin pour quand ?

avatar

Pas forcément ce week end mais je pense que mon groupe devrait atteindre l'endroit prévu le week end prochain.

Après ce n'est pas grave si ce n'est pas faisable, il reste encore la bonne vieille méthode ! plaisantin

avatar

Coucou !

J'ai paramétré un couteau de lancé empoisonné de la manière suivante, en comptant les couteaux et les doses de poison de manière séparée :

#Attaque 3 --percant --munition couteau 0 --plus 2d6 --poison --psave CON 12 local
!cof-effet-temp dotGen(poisonrapide) 1 --dose poisonrapide

Cela fonctionne parfaitement bien tant qu'il y a des munitions. Quand les munitions sont épuisées et que l'attaque est lancé, cela me dit que ce n'est pas possible car je n'ai pas de munition. Mais le problème est que cela enlève quand même une dose.

Une idée pour faire cela mieux ?

Merci ;o)

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

Au regard de ta macro, j'imagine que tu veux tenir un compte précis du nombre de couteaux lancés, et de la réserve de poison. Est-ce que tu as mis les deux lignes dans une seule et même ability ? Si oui, il y aurait le soucis supplémentaire que l'effet de dot serait appliqué même si l'attaque ne touche pas. Et si non, tu pourrais être celui qui lance la macro, seulement si l'attaque touche (et donc si il y avait assez de munitions).

Après, il est possible de mieux automatiser, mais j'aurais besoin de savoir ce que tu veux que ton poison fasse. Apparement ce n'est pas un poison rapide classique ? En tout cas, il ne semble pas suivre la règle de la page 76. Ou alors, le fait que ta macro ne respecte pas cette règle est un problème aussi ?

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

J'ai réfléchi un peu au cube gélatineux, et voici ce que je te propose :

  • une fonction !cof-envelopper qui fait le test opposé force contre meilleur de force ou dextérité de la cible, et prend un label d'attaque en argument
  • si une personne est absorbée, sa seule action possible à son tour est le jet pour sortir du cube
  • au tour du cube, ajout de boutons pour faire les DM aux personnes enveloppées (en utilisant le label d'attaque qui avait été passé en argument à !cof-envelopper)
  • ajout d'une option --envelopper aux attaques, qui permet de faire apparaître un bouton pour lancer !cof-envelopper en cas d'attaque réussie

L'avantage que j'y vois, c'est que le cube n'est pas obligé d'envelopper sa cible (par exemple, parce que le MJ pense qu'il ne peut pas en absorber plus vu sa taille), que le joueur qui est absorbé voit bien qu'il ne peut rien faire d'autre, et que je peux automatiquement mettre fin à l'effet quand le cube meurt. Je pourrais faire les dégâts automatiquement à chaque tour, mais les boutons pour le cube me semblent plus simples,surtout pour ajouter --effet paralyseTemp [[2d6]] --save CON 15 aux dégâts, et ça permet de voir au moment de l'action du cube qui sont les personnages déjà absorbés. Si ça te convient, j'essaie de coder ça avant ce week-end.

avatar
Ulti

oui je lance ces 2 lignes depuis une même ability

C'est bien un poison rapide que je veux mettre en place en dé-comptant à la fois les couteaux et les doses de poison

Je suis preneur si tu as une meilleure automatisation

Un grand merci

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

Dans ce cas, je te suggère de regarder la commande !cof-enduire-poison qui devrait te permettre de faire ce que tu veux. Tu gardes ta macro d'attaque au couteaux de lancer #Attaque 3 --percant --munition couteau 0, sans les DM de poison, mais tu rajoutes une ability utilisable hors combat !cof-enduire-poison 3 rapide 2d6 12 --dose poisonrapide

N'hésite pas à me dire si ça ne marche pas comme tu veux, ça fait assez longtemps que je ne l'ai pas utilisée...

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

Ah oui ça marche bien comme ça et en plus avec le test INT pour la pose de poison, COOL

le seul petit hic c'est que quand je lance le couteau empoisonné et que le lancé est un échec, l'attaque reste empoisonnée pour le prochain couteau. Cela ne semble pas prévu pour une attaque avec munition.

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

Bien vu. Je vais essayer de corriger ça.

avatar
Vihns

En fait, ça pose un certain nombre de questions :

  • Quand toutes les munitions ne sont pas empoisonnées, est-ce qu'on considère toujours que le lanceur lance une munition empoisonnée ? Si on laisse le choix, comment faire, au niveau de l'interface ?
  • Est-ce que les munitions qui ratent et qui sont récupérées après le combat sont toujours empoisonnées ?

Tu préférerais quelles réponses à ces questions ?

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

Salut !

Ah oui en effet ça pourrait correspondre. Ça ne me dérange pas du tout de devoir "activer" les dégâts à chaque tour en fonction des ennemis touchés/absorbés !

Après si ce n'est pas fait pour ce week-end ce n'est pas grave, ils leur reste un peu de chemin avant d'arriver à la zone prévue de toute façon.

Mais merci beaucoup à toi pour l'aide en tout cas et le temps que tu y passes !

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

Je pense qu'il faut faire simple, je te propose les règles suivantes :

  • La munition doit être empoisonnée juste avant d'être tirée (on ne peux pas en empoisonner plusieurs à l'avance)
  • une munition n'est plus empoisonnée dès qu'elle est tirée; qu'elle touche ou pas
  • une munition n'est plus empoisonnée dès que le combat prend fin
Ce message a reçu 1 réponse de
  • Ulti
avatar
Vihns

Dans ce cas, c'est assez facile. Il suffit d'un attribut nommé par exemple poisonRapide qui contient le nombre de doses de poison possédées, et on peut utiliser

#Attaque 1 --percant --munition couteau 0 --if etat poisonRapide --plus 2d6 --poison --psave CON 12 local --decrAttribute poisonRapide --message couteau empoissoné --else --message Plus de poison ! --endif

Mais je pense que je vais quand même essayer de rendre !cof-enduire-poison compatible avec les munitions.

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

Merci, j'ai essayé comme conseillé

  • j'ai ajouté un attribut poisonRapide Current=10 Max=10
  • j'ai paramétré l'attaque comme conseillé :

#Attaque 3 --percant --munition couteau 0 --if etat poisonRapide --plus 2d6 --poison --psave CON 12 local --decrAttribute poisonRapide --message couteau empoisonné --else --message Plus de poison ! --endif

l'attaque empoisonnée fonctionne mais ne décrémente pas l'attribut poisonRapide

mais je préfère utiliser le !cof-enduire-poison qui est très interessant car il fait le test d'INT pour enduire aussi j'aimerais bien le conserver si c'est possible !

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

Ah, j'avais oublié de préciser qu'il te faut la dernière version du git pour que ça marche.

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

oui merci ça marche nickel ainsi !

avatar
Volker

L'enveloppement est disponible dans le git. C'est peu testé, donc je te suggère de le tester un peu avant de l'utiliser en partie...

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