appel à la destinée et chance avec callbacks
Ajout de callbacks pour être capable de réagir à un appel à la chance réussi ou manqué Ajout de méthode pour gérer un appel à la destinée (mêmes callbacks)
This commit is contained in:
parent
8000ee4156
commit
212a94afee
@ -1758,7 +1758,7 @@ export class RdDActor extends Actor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async rollAppelChance( )
|
async rollAppelChance( onSuccess = () => {}, onEchec= ()=>{})
|
||||||
{
|
{
|
||||||
let rollData = { selectedCarac: this.getCaracByName('chance-actuelle'), surprise: '' };
|
let rollData = { selectedCarac: this.getCaracByName('chance-actuelle'), surprise: '' };
|
||||||
const dialog = await RdDRoll.create(this, rollData,
|
const dialog = await RdDRoll.create(this, rollData,
|
||||||
@ -1768,7 +1768,9 @@ export class RdDActor extends Actor {
|
|||||||
label: 'Appel à la chance',
|
label: 'Appel à la chance',
|
||||||
callbacks: [
|
callbacks: [
|
||||||
this.createCallbackExperience(),
|
this.createCallbackExperience(),
|
||||||
{ action: r => this._appelChanceResult(r) }
|
{ action: r => this._appelChanceResult(r) },
|
||||||
|
{ condition: r=> r.rolled.isSuccess, action: r => onSuccess() },
|
||||||
|
{ condition: r=> r.rolled.isEchec, action: r => onEchec() }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@ -1789,6 +1791,21 @@ export class RdDActor extends Actor {
|
|||||||
chance.value = Math.max(chance.value + value, 0);
|
chance.value = Math.max(chance.value + value, 0);
|
||||||
await this.update( {"data.compteurs.chance": chance } );
|
await this.update( {"data.compteurs.chance": chance } );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
async appelDestinee( onSuccess = () => {}, onEchec= ()=>{}) {
|
||||||
|
if (this.data.data.compteurs.destinee?.value ?? 0 >0 ) {
|
||||||
|
ChatMessage.create({content: `<span class="rdd-roll-part">${this.name} a fait appel à la Destinée !</span>` });
|
||||||
|
let destinee = duplicate(this.data.data.compteurs.destinee);
|
||||||
|
destinee.value = destinee.value - 1;
|
||||||
|
await this.update( {"data.compteurs.destinee": destinee } );
|
||||||
|
onSuccess();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
onEchec();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
ajustementAstrologique() {
|
ajustementAstrologique() {
|
||||||
|
Loading…
Reference in New Issue
Block a user