forked from public/foundryvtt-reve-de-dragon
		
	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:
		@@ -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() }
 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
@@ -1790,6 +1792,21 @@ export class RdDActor extends Actor {
 | 
				
			|||||||
    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() {
 | 
				
			||||||
    if (this.isCreature()) {
 | 
					    if (this.isCreature()) {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user