Correction sur les liens de jets de dés
- correction jet de rêve actuel - utilisation du personnage du joueur
This commit is contained in:
parent
792558ac84
commit
551438f514
@ -3,9 +3,14 @@
|
|||||||
- on peut ajouter des liens "jet de dés" dans les journaux texte
|
- on peut ajouter des liens "jet de dés" dans les journaux texte
|
||||||
- on peut ajouter des liens "jet de dés" dans les descriptions, notes, ...
|
- on peut ajouter des liens "jet de dés" dans les descriptions, notes, ...
|
||||||
- les liens "jet de dés" peuvent être utilisés pour un acteur, ou les items de l'acteurs
|
- les liens "jet de dés" peuvent être utilisés pour un acteur, ou les items de l'acteurs
|
||||||
- les liens "jet de dés" d'un item non lié à un acteur agit sur les tokens sélectionnés
|
- les liens "jet avec caractéristiques" s'appliquent:
|
||||||
|
- à tous les tokens sélectionnés
|
||||||
|
- sinon, à l'acteur propriétaire d'un Item
|
||||||
|
- sinon, au personnage du joueur
|
||||||
|
|
||||||
- gestion des blocs secrets dans les descriptions
|
- gestion des blocs secrets dans les descriptions
|
||||||
- on peut ajouter des liens "jet de dés" pour appeler une formule de foundry
|
- on peut ajouter des liens "jet de dés" pour appeler une formule dés de foundry
|
||||||
|
|
||||||
|
|
||||||
## 12.0.33 - la vieillesse d'Astrobazzarh
|
## 12.0.33 - la vieillesse d'Astrobazzarh
|
||||||
- retour de l'expérience pour les joueurs
|
- retour de l'expérience pour les joueurs
|
||||||
|
@ -3,6 +3,7 @@ import { RdDCarac } from "../rdd-carac.js";
|
|||||||
import { SystemCompendiums } from "../settings/system-compendiums.js";
|
import { SystemCompendiums } from "../settings/system-compendiums.js";
|
||||||
import { RdDItemCompetence } from "../item-competence.js";
|
import { RdDItemCompetence } from "../item-competence.js";
|
||||||
import { ACTOR_TYPES } from "../item.js";
|
import { ACTOR_TYPES } from "../item.js";
|
||||||
|
import { RdDUtility } from "../rdd-utility.js";
|
||||||
|
|
||||||
const REGEXP_ROLL_CARAC_COMP = "(?<carac>[A-Za-zÀ-ÖØ-öø-ÿ\\s\\-]+)(\\/(?<competence>[A-Za-zÀ-ÖØ-öø-ÿ\\s\\-]+))?(/(?<diff>[\\+\\-]?\\d+))?"
|
const REGEXP_ROLL_CARAC_COMP = "(?<carac>[A-Za-zÀ-ÖØ-öø-ÿ\\s\\-]+)(\\/(?<competence>[A-Za-zÀ-ÖØ-öø-ÿ\\s\\-]+))?(/(?<diff>[\\+\\-]?\\d+))?"
|
||||||
const XREGEXP_ROLL_CARAC_COMP = XRegExp("@roll\\[" + REGEXP_ROLL_CARAC_COMP + "\\]", 'giu')
|
const XREGEXP_ROLL_CARAC_COMP = XRegExp("@roll\\[" + REGEXP_ROLL_CARAC_COMP + "\\]", 'giu')
|
||||||
@ -29,11 +30,22 @@ class TextRollCaracCompetence {
|
|||||||
const diff = event.currentTarget.attributes['data-diff']?.value
|
const diff = event.currentTarget.attributes['data-diff']?.value
|
||||||
|
|
||||||
const path = RdDCarac.caracDetails(caracCode)?.path
|
const path = RdDCarac.caracDetails(caracCode)?.path
|
||||||
const actors = actor ? [actor] : canvas.tokens.controlled.map(it => it.actor).filter(it => it)
|
const actors = TextRollCaracCompetence.getSelectedActors(actor)
|
||||||
actors.filter(it => foundry.utils.getProperty(it, path) != undefined)
|
actors.filter(it => foundry.utils.getProperty(it, path) != undefined)
|
||||||
.forEach(it => it.doRollCaracCompetence(caracCode, competence, diff))
|
.forEach(it => it.doRollCaracCompetence(caracCode, competence, diff))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
static getSelectedActors(actor) {
|
||||||
|
const selected = canvas.tokens.controlled.map(it => it.actor).filter(it => it)
|
||||||
|
if (selected.length > 0){
|
||||||
|
return selected
|
||||||
|
}
|
||||||
|
actor = actor ?? RdDUtility.getSelectedActor()
|
||||||
|
if (actor) {
|
||||||
|
return [actor]
|
||||||
|
}
|
||||||
|
return []
|
||||||
|
}
|
||||||
|
|
||||||
constructor(text, competences) {
|
constructor(text, competences) {
|
||||||
this.text = text
|
this.text = text
|
||||||
|
@ -77,7 +77,7 @@ export class RdDCarac {
|
|||||||
|
|
||||||
static caracDetails(name) {
|
static caracDetails(name) {
|
||||||
let entry = Misc.findFirstLike(name, LIST_CARAC_ROLL, { mapper: it => it.code, description: 'caractéristique', onMessage: m => { } })
|
let entry = Misc.findFirstLike(name, LIST_CARAC_ROLL, { mapper: it => it.code, description: 'caractéristique', onMessage: m => { } })
|
||||||
if (entry && entry.length > 0) {
|
if (entry) {
|
||||||
return entry
|
return entry
|
||||||
}
|
}
|
||||||
return Misc.findFirstLike(name, LIST_CARAC_ROLL, { mapper: it => it.label, description: 'caractéristique' })
|
return Misc.findFirstLike(name, LIST_CARAC_ROLL, { mapper: it => it.label, description: 'caractéristique' })
|
||||||
|
Loading…
x
Reference in New Issue
Block a user