Gestion des signes draconiques #455
@ -2315,15 +2315,17 @@ export class RdDActor extends Actor {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async _rollArt(artData, selected, oeuvre, callBackResult = r => this._resultArt(r)) {
|
async _rollArt(artData, selected, oeuvre, callBackResult = r => this._resultArt(r)) {
|
||||||
const actorData = Misc.data(this);
|
const actorData = Misc.data(this);
|
||||||
mergeObject(artData, {
|
mergeObject(artData,
|
||||||
oeuvre: oeuvre,
|
{
|
||||||
art: oeuvre.type,
|
oeuvre: oeuvre,
|
||||||
competence: Misc.data(this.getCompetence(oeuvre.data.competence ?? artData.art)),
|
art: oeuvre.type,
|
||||||
diffLibre: - (oeuvre.data.niveau ?? 0),
|
competence: duplicate(Misc.data(this.getCompetence(oeuvre.data.competence ?? artData.art))),
|
||||||
diffConditions: 0,
|
diffLibre: - (oeuvre.data.niveau ?? 0),
|
||||||
use: { libre: false, conditions: true },
|
diffConditions: 0,
|
||||||
selectedCarac: duplicate(actorData.data.carac[selected])
|
use: { libre: false, conditions: true },
|
||||||
});
|
selectedCarac: duplicate(actorData.data.carac[selected])
|
||||||
|
},
|
||||||
|
{ overwrite: false });
|
||||||
artData.competence.data.defaut_carac = selected;
|
artData.competence.data.defaut_carac = selected;
|
||||||
if (!artData.forceCarac) {
|
if (!artData.forceCarac) {
|
||||||
artData.forceCarac = {};
|
artData.forceCarac = {};
|
||||||
@ -2366,13 +2368,13 @@ export class RdDActor extends Actor {
|
|||||||
const actorData = Misc.data(this);
|
const actorData = Misc.data(this);
|
||||||
const artData = { art: 'danse', verbe: 'Danser', forceCarac: {} };
|
const artData = { art: 'danse', verbe: 'Danser', forceCarac: {} };
|
||||||
const oeuvre = duplicate(this.getItemOfType(id, artData.art));
|
const oeuvre = duplicate(this.getItemOfType(id, artData.art));
|
||||||
const selectedCarac = this._getCaracDanse(oeuvre);
|
|
||||||
if (oeuvre.data.agilite) {
|
if (oeuvre.data.agilite) {
|
||||||
artData.forceCarac['agilite'] = duplicate(actorData.data.carac.agilite);
|
artData.forceCarac['agilite'] = duplicate(actorData.data.carac.agilite);
|
||||||
}
|
}
|
||||||
if (oeuvre.data.apparence) {
|
if (oeuvre.data.apparence) {
|
||||||
artData.forceCarac['apparence'] = duplicate(actorData.data.carac.apparence);
|
artData.forceCarac['apparence'] = duplicate(actorData.data.carac.apparence);
|
||||||
}
|
}
|
||||||
|
const selectedCarac = this._getCaracDanse(oeuvre);
|
||||||
await this._rollArt(artData, selectedCarac, oeuvre);
|
await this._rollArt(artData, selectedCarac, oeuvre);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2434,12 +2436,21 @@ export class RdDActor extends Actor {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async rollJeu(id) {
|
async rollJeu(id) {
|
||||||
|
const actorData = Misc.data(this);
|
||||||
|
const oeuvre = Misc.data(this.getJeu(id));
|
||||||
|
|
||||||
|
const listCarac = oeuvre.data.caraccomp.toLowerCase().split(/[.,:\/-]/).map(it => it.trim());
|
||||||
|
const carac = listCarac.length > 0 ? listCarac[0] : 'chance'
|
||||||
const artData = {
|
const artData = {
|
||||||
art: 'jeu', verbe: 'Jeu',
|
art: 'jeu', verbe: 'Jeu',
|
||||||
use: { libre: true, conditions: true, },
|
use: { libre: true, conditions: true, },
|
||||||
|
competence: duplicate(Misc.data(this.getCompetence('jeu'))),
|
||||||
|
forceCarac: {}
|
||||||
};
|
};
|
||||||
const oeuvre = duplicate(this.getJeu(id));
|
listCarac.forEach(c => artData.forceCarac[c] = actorData.data.carac[c]);
|
||||||
await this._rollArt(artData, oeuvre.data?.caraccomp.toLowerCase() ?? 'chance', oeuvre);
|
artData.competence.data.niveauReel = artData.competence.data.niveau;
|
||||||
|
artData.competence.data.niveau = Math.max(artData.competence.data.niveau, oeuvre.data.base);
|
||||||
|
await this._rollArt(artData, carac, oeuvre);
|
||||||
}
|
}
|
||||||
|
|
||||||
async rollOeuvre(id) {
|
async rollOeuvre(id) {
|
||||||
@ -2597,9 +2608,8 @@ export class RdDActor extends Actor {
|
|||||||
let xpComp = 0;
|
let xpComp = 0;
|
||||||
if (competence) {
|
if (competence) {
|
||||||
xpComp = xp - xpCarac;
|
xpComp = xp - xpCarac;
|
||||||
competence = duplicate(competence);
|
let update = { _id: competence.id, 'data.xp': Misc.toInt(competence.data.xp) + xpComp };
|
||||||
competence.data.xp = Misc.toInt(competence.data.xp) + xpComp;
|
await this.updateEmbeddedDocuments('Item', [update]);
|
||||||
await this.updateEmbeddedDocuments('Item', [competence]);
|
|
||||||
} else {
|
} else {
|
||||||
xpCarac = Math.max(xpCarac, 1);
|
xpCarac = Math.max(xpCarac, 1);
|
||||||
}
|
}
|
||||||
@ -3229,7 +3239,7 @@ export class RdDActor extends Actor {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
rollData.competence.data.defaut_carac = caracTache;
|
rollData.competence.data.defaut_carac = caracTache;
|
||||||
|
|
||||||
const dialog = await RdDRoll.create(this, rollData,
|
const dialog = await RdDRoll.create(this, rollData,
|
||||||
{
|
{
|
||||||
html: 'systems/foundryvtt-reve-de-dragon/templates/dialog-roll-alchimie.html',
|
html: 'systems/foundryvtt-reve-de-dragon/templates/dialog-roll-alchimie.html',
|
||||||
|
@ -1,36 +1,26 @@
|
|||||||
<form class="rdddialog">
|
<form class="rdddialog">
|
||||||
<div class="form-group">
|
<h2>Chanter: {{oeuvre.name}}</h2>
|
||||||
<ul>
|
|
||||||
<li><label>Chant : {{oeuvre.name}}</label></li>
|
<div class="grid grid-2col">
|
||||||
<li><label>Jet : OUIE / {{competence.name}}</label></li>
|
<div class="flex-group-left">
|
||||||
</ul>
|
<img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}"/>
|
||||||
<div class="tooltipAppelAuMoral divAppelAuMoral">
|
<div class="grid grid-2col">
|
||||||
<img class="imgAppelAuMoral small-button-container" src="/systems/foundryvtt-reve-de-dragon/icons/moral-neutre.svg">
|
<label>Caractéristique: </label><label class="flex-grow">{{selectedCarac.label}}</label>
|
||||||
<span class="tooltipAppelAuMoralText">Sans appel au moral</span>
|
<label>{{competence.name}}:</label><label class="flex-grow">{{numberFormat competence.data.niveau decimals=0 sign=true}}</label></label>
|
||||||
|
</div>
|
||||||
|
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-poesie.html" oeuvre.data}}
|
||||||
|
</div>
|
||||||
|
<div class="flex-group-left">
|
||||||
|
<div class="flexrow">
|
||||||
|
<label>Difficulté</label>
|
||||||
|
<label>{{numberFormat diffLibre decimals=0 sign=true}}</label>
|
||||||
|
</div>
|
||||||
|
{{>"systems/foundryvtt-reve-de-dragon/templates/partial-roll-diffCondition.html"}}
|
||||||
|
{{>"systems/foundryvtt-reve-de-dragon/templates/partial-roll-moral.html"}}
|
||||||
|
<div id="tableAjustements" class="flexrow"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group">
|
|
||||||
<label>conditions</label>
|
|
||||||
<select name="diffConditions" id="diffConditions" data-dtype="number">
|
|
||||||
{{#select diffConditions}}
|
|
||||||
{{#each ajustementsConditions as |key|}}
|
|
||||||
<option value={{key}}>{{numberFormat key decimals=0 sign=true}}</option>
|
|
||||||
{{/each}}
|
|
||||||
{{/select}}
|
|
||||||
</select>
|
|
||||||
<label>Difficulté </label>
|
|
||||||
<select name="diffLibre" id="diffLibre" data-dtype="number">
|
|
||||||
{{#select diffLibre}}
|
|
||||||
{{#each difficultesLibres as |key|}}
|
|
||||||
<option value={{key}}>{{numberFormat key decimals=0 sign=true}}</option>
|
|
||||||
{{/each}}
|
|
||||||
{{/select}}
|
|
||||||
</select>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="tableAjustements">
|
|
||||||
</div>
|
|
||||||
<div id="tableResolution">
|
<div id="tableResolution">
|
||||||
</div>
|
</div>
|
||||||
<div id="tableProbaReussite">
|
<div id="tableProbaReussite">
|
||||||
|
@ -1,47 +1,26 @@
|
|||||||
<form class="dialog-roll-danse">
|
<form class="dialog-roll-danse">
|
||||||
<div class="form-group">
|
<h2>Danser: {{oeuvre.name}}</h2>
|
||||||
<ul>
|
|
||||||
<li><label>Danse : {{oeuvre.name}}</label></li>
|
|
||||||
<li><label>Jet : APPARENCE ou AGILITE / {{competence.name}}</label></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="grid grid-2col">
|
||||||
<label>Caractéristique</label>
|
<div class="flex-group-left">
|
||||||
<select name="carac" id="carac" class="select-diff" data-dtype="String">
|
<img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}"/>
|
||||||
{{#select carac}}
|
<div class="grid grid-2col">
|
||||||
{{#each carac as |caracitem key|}}
|
<label for="carac">Caractéristique:</label>{{>"systems/foundryvtt-reve-de-dragon/templates/partial-select-carac.html"}}
|
||||||
<option value={{key}}>{{caracitem.label}}</option>
|
<label>{{competence.name}}:</label><label class="flex-grow">{{numberFormat competence.data.niveau decimals=0 sign=true}}</label></label>
|
||||||
{{/each}}
|
</div>
|
||||||
{{/select}}
|
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-poesie.html" oeuvre.data}}
|
||||||
</select>
|
</div>
|
||||||
<div class="tooltipAppelAuMoral divAppelAuMoral">
|
<div class="flex-group-left">
|
||||||
<img class="imgAppelAuMoral small-button-container" src="/systems/foundryvtt-reve-de-dragon/icons/moral-neutre.svg">
|
<div class="flexrow">
|
||||||
<span class="tooltipAppelAuMoralText">Sans appel au moral</span>
|
<label>Difficulté</label>
|
||||||
|
<label>{{numberFormat diffLibre decimals=0 sign=true}}</label>
|
||||||
|
</div>
|
||||||
|
{{>"systems/foundryvtt-reve-de-dragon/templates/partial-roll-diffCondition.html"}}
|
||||||
|
{{>"systems/foundryvtt-reve-de-dragon/templates/partial-roll-moral.html"}}
|
||||||
|
<div id="tableAjustements" class="flexrow"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group">
|
|
||||||
<label>conditions</label>
|
|
||||||
<select name="diffConditions" id="diffConditions" data-dtype="number">
|
|
||||||
{{#select diffConditions}}
|
|
||||||
{{#each ajustementsConditions as |key|}}
|
|
||||||
<option value={{key}}>{{numberFormat key decimals=0 sign=true}}</option>
|
|
||||||
{{/each}}
|
|
||||||
{{/select}}
|
|
||||||
</select>
|
|
||||||
<label>Difficulté </label>
|
|
||||||
<select name="diffLibre" id="diffLibre" data-dtype="number">
|
|
||||||
{{#select diffLibre}}
|
|
||||||
{{#each difficultesLibres as |key|}}
|
|
||||||
<option value={{key}}>{{numberFormat key decimals=0 sign=true}}</option>
|
|
||||||
{{/each}}
|
|
||||||
{{/select}}
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="tableAjustements">
|
|
||||||
</div>
|
|
||||||
<div id="tableResolution">
|
<div id="tableResolution">
|
||||||
</div>
|
</div>
|
||||||
<div id="tableProbaReussite">
|
<div id="tableProbaReussite">
|
||||||
|
@ -1,47 +1,25 @@
|
|||||||
<form class="rdddialog">
|
<form class="rdddialog">
|
||||||
<div class="form-group">
|
<h2>Jouer à : {{oeuvre.name}}</h2>
|
||||||
<ul>
|
|
||||||
<li><label for="competence-label">Jouer à : {{oeuvre.name}}</label></li>
|
<div class="grid grid-2col">
|
||||||
<li><label for="competence-label">Type : {{oeuvre.data.type}}</label></li>
|
<div class="flex-group-left">
|
||||||
<li><label for="competence-label">Base : {{oeuvre.data.base}}</label></li>
|
<img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}"/>
|
||||||
<li><label for="competence-label">Carac/Compétence : {{oeuvre.data.caraccomp}}</label></li>
|
<div class="grid grid-2col">
|
||||||
</ul>
|
<label>Type:</label><label class="flex-grow">{{oeuvre.data.type}}</label>
|
||||||
</div>
|
<label for="carac">Caractéristique:</label>{{>"systems/foundryvtt-reve-de-dragon/templates/partial-select-carac.html"}}
|
||||||
<div class="form-group">
|
<label>{{competence.name}}:</label><label class="flex-grow">{{numberFormat competence.data.niveauReel decimals=0 sign=true}}</label></label>
|
||||||
<label>Caractéristique</label>
|
<label>Niveau de base:</label><label class="flex-grow">{{oeuvre.data.base}}</label>
|
||||||
<select name="carac" id="carac" class="select-diff" data-dtype="String">
|
</div>
|
||||||
{{#select carac}}
|
</div>
|
||||||
{{#each carac as |caracitem key|}}
|
<div class="flex-group-left">
|
||||||
<option value={{key}}>{{caracitem.label}}</option>
|
{{>"systems/foundryvtt-reve-de-dragon/templates/partial-roll-diffLibre.html"}}
|
||||||
{{/each}}
|
{{>"systems/foundryvtt-reve-de-dragon/templates/partial-roll-diffCondition.html"}}
|
||||||
{{/select}}
|
{{>"systems/foundryvtt-reve-de-dragon/templates/partial-roll-moral.html"}}
|
||||||
</select>
|
<div id="tableAjustements" class="flexrow"></div>
|
||||||
<div class="tooltipAppelAuMoral divAppelAuMoral">
|
|
||||||
<img class="imgAppelAuMoral small-button-container" src="/systems/foundryvtt-reve-de-dragon/icons/moral-neutre.svg">
|
|
||||||
<span class="tooltipAppelAuMoralText">Sans appel au moral</span>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-poesie.html" oeuvre.data}}
|
||||||
<label>Conditions</label>
|
|
||||||
<select name="diffConditions" id="diffConditions" data-dtype="number">
|
|
||||||
{{#select diffConditions}}
|
|
||||||
{{#each ajustementsConditions as |key|}}
|
|
||||||
<option value={{key}}>{{numberFormat key decimals=0 sign=true}}</option>
|
|
||||||
{{/each}}
|
|
||||||
{{/select}}
|
|
||||||
</select>
|
|
||||||
<label>Difficulté </label>
|
|
||||||
<select name="diffLibre" id="diffLibre" data-dtype="number">
|
|
||||||
{{#select diffLibre}}
|
|
||||||
{{#each difficultesLibres as |key|}}
|
|
||||||
<option value={{key}}>{{numberFormat key decimals=0 sign=true}}</option>
|
|
||||||
{{/each}}
|
|
||||||
{{/select}}
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="tableAjustements">
|
|
||||||
</div>
|
|
||||||
<div id="tableResolution">
|
<div id="tableResolution">
|
||||||
</div>
|
</div>
|
||||||
<div id="tableProbaReussite">
|
<div id="tableProbaReussite">
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<div class="flexrow">
|
<div class="flexrow">
|
||||||
<label>Conditions</label>
|
<label for="diffConditions">Conditions</label>
|
||||||
<select name="diffConditions" id="diffConditions" data-dtype="number" {{#unless use.conditions}}disabled{{/unless}}>
|
<select name="diffConditions" id="diffConditions" data-dtype="number" {{#unless use.conditions}}disabled{{/unless}}>
|
||||||
{{#select diffConditions}}
|
{{#select diffConditions}}
|
||||||
{{#each ajustementsConditions as |key|}}
|
{{#each ajustementsConditions as |key|}}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<div class="flexrow">
|
<div class="flexrow">
|
||||||
<label>Difficulté libre</label>
|
<label for="diffLibre">Difficulté libre</label>
|
||||||
<select name="diffLibre" id="diffLibre" data-dtype="number" {{#unless use.libre}}disabled{{/unless}}>
|
<select name="diffLibre" id="diffLibre" data-dtype="number" {{#unless use.libre}}disabled{{/unless}}>
|
||||||
{{#select diffLibre}}
|
{{#select diffLibre}}
|
||||||
{{#each difficultesLibres as |key|}}
|
{{#each difficultesLibres as |key|}}
|
||||||
|
Loading…
Reference in New Issue
Block a user