forked from public/foundryvtt-reve-de-dragon
Gestion reserve
This commit is contained in:
@ -86,6 +86,22 @@ export class RdDActor extends Actor {
|
||||
return draconic;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async deleteSortReserve(coordTMR) {
|
||||
let reserve = duplicate(this.data.data.reve.reserve);
|
||||
let len = reserve.list.length;
|
||||
let i = 0;
|
||||
let newTable = [];
|
||||
for( i=0; i < len; i++) {
|
||||
if (reserve.list[i].coord != coordTMR )
|
||||
newTable.push(reserve.list[i]);
|
||||
}
|
||||
if ( newTable.length != len ) {
|
||||
reserve.list = newTable;
|
||||
await this.update( {"data.reve.reserve": reserve } );
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async performRoll( rollData ) {
|
||||
|
||||
@ -197,9 +213,10 @@ export class RdDActor extends Actor {
|
||||
// Sort management
|
||||
let lvl = ""
|
||||
if ( rollData.selectedSort) { // Lancement de sort !
|
||||
specialStr = "<br>Lancement du sort <strong>" + rollData.selectedSort.name + "</strong> : " + rollData.selectedSort.data.draconic + "/" + rollData.selectedSort.data.difficulte +
|
||||
"/" + rollData.selectedSort.data.caseTMR + "/" + rollData.selectedSort.data.ptreve;
|
||||
specialStr += "<br>Depuis la case " + rollData.coord + "(" + TMRUtility.getTMRDescription(rollData.coord).label + ")";
|
||||
let draconic = rollData.selectedSort.data.draconic;
|
||||
specialStr = "<br>Lancement du sort <strong>" + rollData.selectedSort.name + "</strong> : " + draconic.charAt(0).toUpperCase() + draconic.slice(1) + "/" + rollData.selectedSort.data.difficulte +
|
||||
"/" + rollData.selectedSort.data.caseTMR + "/R" + rollData.selectedSort.data.ptreve;
|
||||
specialStr += "<br>Depuis la case " + rollData.coord + " (" + TMRUtility.getTMRDescription(rollData.coord).label + ")";
|
||||
lvl = rollData.selectedDraconic.name +"/"+ rollData.selectedSort.name;
|
||||
let costReve = rollData.selectedSort.data.ptreve;
|
||||
let myReve = duplicate(this.data.data.reve.reve);
|
||||
@ -210,8 +227,14 @@ export class RdDActor extends Actor {
|
||||
if (myReve.value < 0) myReve.value = 0;
|
||||
await this.update( {"data.reve.reve": myReve } );
|
||||
specialStr += "<br>Réussite du sort pour " + costReve + " Points de Rêve";
|
||||
if ( !rollData.isSortReserve)
|
||||
if ( !rollData.isSortReserve) {
|
||||
this.currentTMR.close(); // Close TMR !
|
||||
} else { // Mise en réserve
|
||||
let reserve = duplicate(this.data.data.reve.reserve);
|
||||
reserve.list.push( { coord: rollData.coord, sort: duplicate(rollData.selectedSort), draconic: duplicate(rollData.selectedDraconic) });
|
||||
await this.update( {"data.reve.reserve": reserve} );
|
||||
this.currentTMR.updateSortReserve();
|
||||
}
|
||||
} else {
|
||||
if ( rollData.pointsDeTache == -4) { // Echec total !
|
||||
costReve *= 2;
|
||||
|
Reference in New Issue
Block a user