#89 Gestion de de la conquete, pelerinage et montee laborieuse
This commit is contained in:
		| @@ -341,7 +341,7 @@ export class RdDActorSheet extends ActorSheet { | ||||
|         ui.notifications.info("Impossible de lancer l'initiative sans être dans un combat."); | ||||
|       } | ||||
|     }); | ||||
|     // Display TMR, normal | ||||
|     // Display TMR, visuualisation | ||||
|     html.find('#visu-tmr').click((event) => { | ||||
|       this.actor.displayTMR( "visu"); | ||||
|     }); | ||||
|   | ||||
| @@ -772,6 +772,30 @@ export class RdDActor extends Actor { | ||||
|     return queue; | ||||
|   } | ||||
|    | ||||
|   /* -------------------------------------------- */   | ||||
|   displayTMRQueueInformation( ) { | ||||
|     let content | ||||
|     for ( let queue of this.data.items) { | ||||
|       if (queue.type == 'queue') { | ||||
|         if ( queue.name.toLowerCase() == 'conquête' ) { | ||||
|           content = "RAPPEL ! Vous souffrez d'une Conquête : " + queue.data.description; | ||||
|         }  | ||||
|         else if ( queue.name.toLowerCase() == 'pélerinage' ) { | ||||
|           content = "RAPPEL ! Vous souffrez d'un Pélerinage : " + queue.data.description; | ||||
|         } | ||||
|         else if ( queue.name.toLowerCase() == 'urgence draconique' ) { | ||||
|           content = "RAPPEL ! Vous souffrez d'une Urgence Draconique : " + queue.data.description; | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|     if (content) { | ||||
|       ChatMessage.create({ | ||||
|         whisper: ChatUtility.getWhisperRecipientsAndGMs( this.name ), | ||||
|         content: content | ||||
|       }); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   /* -------------------------------------------- */   | ||||
|   async deleteTMRRencontreAtPosition( ) { | ||||
|     let rencontres = duplicate(this.data.data.reve.rencontre); | ||||
| @@ -1303,9 +1327,9 @@ export class RdDActor extends Actor { | ||||
|   getTMRFatigue() { // Pour l'instant uniquement Inertie Draconique | ||||
|     let inertieDraconique = this.data.items.find( item => item.type == 'queue' && item.name.toLowerCase().includes( 'inertie draconique' ) ); | ||||
|     if ( inertieDraconique ) { | ||||
|       ChatUtility.chatWithRollMode(  | ||||
|         { content:"Vous êtes sous le coup d'une Inertie Draconique : vous perdez 2 cases de Fatigue par déplacement au lieu d'1."},  | ||||
|         this.name); | ||||
|       ChatMessage.create( { | ||||
|         content: "Vous êtes sous le coup d'une Inertie Draconique : vous perdez 2 cases de Fatigue par déplacement au lieu d'1.", | ||||
|         whisper: ChatMessage.getWhisperRecipients(game.user.name) } ); | ||||
|       return 2; | ||||
|     } | ||||
|     return 1; | ||||
| @@ -1703,10 +1727,22 @@ export class RdDActor extends Actor { | ||||
|     return this.data.items.filter(item => item.data.categorie == 'draconic') | ||||
|   } | ||||
|    | ||||
|   /* -------------------------------------------- */   | ||||
|   checkMonteeLaborieuse( ) { // Return +1 si la queue Montée Laborieuse est présente, 0 sinon | ||||
|     let monteLaborieuse = this.data.items.find( item => item.type == 'queue' && item.name.toLowerCase().includes( 'montée laborieuse' ) ); | ||||
|     if ( monteLaborieuse ) { | ||||
|       ChatMessage.create( { | ||||
|         content: "Vous êtes sous le coup d'une Montée Laborieuse : vos montées en TMR coûtent 1 Point de Rêve de plus.", | ||||
|         whisper: ChatMessage.getWhisperRecipients(game.user.name) } ); | ||||
|       return 1; | ||||
|     } | ||||
|     return 0; | ||||
|   } | ||||
|  | ||||
|   /* -------------------------------------------- */   | ||||
|   async displayTMR(mode="normal")  | ||||
|   { | ||||
|     let isRapide= mode == "rapide"  | ||||
|     let isRapide= mode == "rapide";  | ||||
|     if (mode != "visu") | ||||
|     { | ||||
|       let minReveValue = (isRapide) ? 3 : 2; | ||||
|   | ||||
| @@ -552,13 +552,16 @@ export class RdDTMRDialog extends Dialog { | ||||
|     if (this.viewOnly) { | ||||
|       return; | ||||
|     } | ||||
|     await this.actor.reveActuelIncDec((this.tmrdata.isRapide) ? -2 : -1); // 1 point defatigue | ||||
|  | ||||
|     let addMonteLaborieuse = this.actor.checkMonteeLaborieuse(); | ||||
|     await this.actor.reveActuelIncDec( (this.tmrdata.isRapide) ? -2-addMonteLaborieuse : -1-addMonteLaborieuse ); | ||||
|     this.updateValuesDisplay(); | ||||
|     let cellDescr = TMRUtility.getTMRDescription(this.actor.data.data.reve.tmrpos.coord); | ||||
|     await this.manageRencontre(this.actor.data.data.reve.tmrpos.coord, cellDescr); | ||||
|     this.manageCaseHumide(cellDescr); | ||||
|     // Mise à jour du nb de cases de Fatigue | ||||
|     this.nbFatigue = this.actor.getTMRFatigue(); | ||||
|     this.actor.displayTMRQueueInformation(); | ||||
|   } | ||||
|  | ||||
|   /* -------------------------------------------- */ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user