Regarder les TMR
This commit is contained in:
		| @@ -275,15 +275,19 @@ export class RdDActorSheet extends ActorSheet { | |||||||
|       let armeName = event.currentTarget.text; |       let armeName = event.currentTarget.text; | ||||||
|       this.actor.rollArme( armeName); |       this.actor.rollArme( armeName); | ||||||
|     }); |     }); | ||||||
|  |     // Display TMR, normal | ||||||
|  |     html.find('.visu-tmr a').click((event) => { | ||||||
|  |       this.actor.displayTMR( "visu"); | ||||||
|  |     }); | ||||||
|  |  | ||||||
|     // Display TMR, normal |     // Display TMR, normal | ||||||
|     html.find('.monte-tmr a').click((event) => { |     html.find('.monte-tmr a').click((event) => { | ||||||
|       this.actor.displayTMR( false ); |       this.actor.displayTMR( "normal" ); | ||||||
|     }); |     }); | ||||||
|      |      | ||||||
|     // Display TMR, fast  |     // Display TMR, fast  | ||||||
|     html.find('.monte-tmr-rapide a').click((event) => { |     html.find('.monte-tmr-rapide a').click((event) => { | ||||||
|       this.actor.displayTMR( true ); |       this.actor.displayTMR( "rapide" ); | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|     // Display info about queue |     // Display info about queue | ||||||
|   | |||||||
| @@ -727,13 +727,17 @@ export class RdDActor extends Actor { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   /* -------------------------------------------- */   |   /* -------------------------------------------- */   | ||||||
|   async displayTMR( isRapide=false )  |   async displayTMR(mode="normal" )  | ||||||
|   { |   { | ||||||
|     let minReveValue = (isRapide) ? 3 : 2; |     let isRapide= mode == "rapide"  | ||||||
|     if (this.data.data.reve.reve.value <= minReveValue ) { |     if (mode != "visu") | ||||||
|       ChatMessage.create( { title: "Montée impossible !", content: "Vous n'avez plus assez de Points de Reve pour monter dans les Terres Médianes",  |     { | ||||||
|             whisper: ChatMessage.getWhisperRecipients(game.user.name) } ); |       let minReveValue = (isRapide) ? 3 : 2; | ||||||
|       return; |       if (this.data.data.reve.reve.value <= minReveValue ) { | ||||||
|  |         ChatMessage.create( { title: "Montée impossible !", content: "Vous n'avez plus assez de Points de Reve pour monter dans les Terres Médianes",  | ||||||
|  |         whisper: ChatMessage.getWhisperRecipients(game.user.name) } ); | ||||||
|  |         return; | ||||||
|  |       }  | ||||||
|     } |     } | ||||||
|      |      | ||||||
|     let data = {  |     let data = {  | ||||||
| @@ -745,7 +749,7 @@ export class RdDActor extends Actor { | |||||||
|         isRapide: isRapide |         isRapide: isRapide | ||||||
|       }     |       }     | ||||||
|     let html = await renderTemplate('systems/foundryvtt-reve-de-dragon/templates/dialog-tmr.html', data ); |     let html = await renderTemplate('systems/foundryvtt-reve-de-dragon/templates/dialog-tmr.html', data ); | ||||||
|     this.currentTMR = new RdDTMRDialog(html, this, data ); |     this.currentTMR = new RdDTMRDialog(html, this, data, mode == "visu"); | ||||||
|     this.currentTMR.render(true); |     this.currentTMR.render(true); | ||||||
|   } |   } | ||||||
|    |    | ||||||
|   | |||||||
| @@ -19,7 +19,7 @@ const tmrConstants = { | |||||||
| export class RdDTMRDialog extends Dialog { | export class RdDTMRDialog extends Dialog { | ||||||
|  |  | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   constructor(html, actor, tmrData) { |   constructor(html, actor, tmrData, viewOnly) { | ||||||
|     const dialogConf = { |     const dialogConf = { | ||||||
|       title: "Terres Médianes de Rêve", |       title: "Terres Médianes de Rêve", | ||||||
|       content: html, |       content: html, | ||||||
| @@ -38,7 +38,8 @@ export class RdDTMRDialog extends Dialog { | |||||||
|  |  | ||||||
|     this.tmrdata = duplicate(tmrData); |     this.tmrdata = duplicate(tmrData); | ||||||
|     this.actor = actor; |     this.actor = actor; | ||||||
|     this.nbFatigue = 1; // 1 premier point de fatigue du à la montée |     this.viewOnly = viewOnly | ||||||
|  |     this.nbFatigue = this.viewOnly ? 0 : 1; // 1 premier point de fatigue du à la montée | ||||||
|     this.rencontresExistantes = duplicate(this.actor.data.data.reve.rencontre.list); |     this.rencontresExistantes = duplicate(this.actor.data.data.reve.rencontre.list); | ||||||
|     this.sortReserves = duplicate(this.actor.data.data.reve.reserve.list); |     this.sortReserves = duplicate(this.actor.data.data.reve.reserve.list); | ||||||
|     this.allTokens = [] |     this.allTokens = [] | ||||||
| @@ -132,7 +133,9 @@ export class RdDTMRDialog extends Dialog { | |||||||
|  |  | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   async manageRencontre(coordTMR, cellDescr) { |   async manageRencontre(coordTMR, cellDescr) { | ||||||
|  |     if (this.viewOnly) { | ||||||
|  |       return; | ||||||
|  |     } | ||||||
|     this.currentRencontre = undefined; |     this.currentRencontre = undefined; | ||||||
|     let rencontre = this.rencontresExistantes.find(prev => prev.coord == coordTMR); |     let rencontre = this.rencontresExistantes.find(prev => prev.coord == coordTMR); | ||||||
|     let deRencontre = new Roll("d7").roll(); |     let deRencontre = new Roll("d7").roll(); | ||||||
| @@ -162,6 +165,9 @@ export class RdDTMRDialog extends Dialog { | |||||||
|  |  | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   performRoll(html) { |   performRoll(html) { | ||||||
|  |     if (this.viewOnly) { | ||||||
|  |       return; | ||||||
|  |     } | ||||||
|     this.actor.performRoll(this.rollData); |     this.actor.performRoll(this.rollData); | ||||||
|   } |   } | ||||||
|  |  | ||||||
| @@ -193,6 +199,9 @@ export class RdDTMRDialog extends Dialog { | |||||||
|  |  | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   async manageCaseHumide(cellDescr) { |   async manageCaseHumide(cellDescr) { | ||||||
|  |     if (this.viewOnly) { | ||||||
|  |       return; | ||||||
|  |     } | ||||||
|     if (cellDescr.type == "lac" || cellDescr.type == "fleuve" || cellDescr.type == "marais") { |     if (cellDescr.type == "lac" || cellDescr.type == "fleuve" || cellDescr.type == "marais") { | ||||||
|       let draconic = this.actor.getBestDraconic(); |       let draconic = this.actor.getBestDraconic(); | ||||||
|  |  | ||||||
| @@ -239,6 +248,9 @@ export class RdDTMRDialog extends Dialog { | |||||||
|  |  | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   async declencheSortEnReserve(coordTMR) { |   async declencheSortEnReserve(coordTMR) { | ||||||
|  |     if (this.viewOnly) { | ||||||
|  |       return; | ||||||
|  |     } | ||||||
|     let sortReserve = this.sortReserves.find(it => it.coord == coordTMR) |     let sortReserve = this.sortReserves.find(it => it.coord == coordTMR) | ||||||
|     if (sortReserve != undefined) { |     if (sortReserve != undefined) { | ||||||
|       await this.actor.deleteSortReserve(sortReserve.coord); |       await this.actor.deleteSortReserve(sortReserve.coord); | ||||||
| @@ -254,6 +266,9 @@ export class RdDTMRDialog extends Dialog { | |||||||
|  |  | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   async deplacerDemiReve(event) { |   async deplacerDemiReve(event) { | ||||||
|  |     if (this.viewOnly) { | ||||||
|  |       return; | ||||||
|  |     } | ||||||
|     let origEvent = event.data.originalEvent; |     let origEvent = event.data.originalEvent; | ||||||
|     let myself = event.target.tmrObject; |     let myself = event.target.tmrObject; | ||||||
|  |  | ||||||
| @@ -293,10 +308,16 @@ export class RdDTMRDialog extends Dialog { | |||||||
|     var cell1 = row.insertCell(1); |     var cell1 = row.insertCell(1); | ||||||
|     cell1.append(this.pixiApp.view); |     cell1.append(this.pixiApp.view); | ||||||
|  |  | ||||||
|     // Roll Sort |     if (this.viewOnly) { | ||||||
|     html.find('#lancer-sort').click((event) => { |       html.find('#lancer-sort').remove(); | ||||||
|       this.actor.rollUnSort(this.actor.data.data.reve.tmrpos.coord); |     } | ||||||
|     }); |     else { | ||||||
|  |       // Roll Sort | ||||||
|  |       html.find('#lancer-sort').click((event) => { | ||||||
|  |  | ||||||
|  |         this.actor.rollUnSort(this.actor.data.data.reve.tmrpos.coord); | ||||||
|  |       }); | ||||||
|  |     } | ||||||
|  |  | ||||||
|     // load the texture we need |     // load the texture we need | ||||||
|     await this.pixiApp.loader |     await this.pixiApp.loader | ||||||
| @@ -317,7 +338,9 @@ export class RdDTMRDialog extends Dialog { | |||||||
|         mytmr.interactive = true; |         mytmr.interactive = true; | ||||||
|         mytmr.buttonMode = true; |         mytmr.buttonMode = true; | ||||||
|         mytmr.tmrObject = this; |         mytmr.tmrObject = this; | ||||||
|         mytmr.on('pointerdown', this.deplacerDemiReve); |         if (!this.viewOnly) { | ||||||
|  |           mytmr.on('pointerdown', this.deplacerDemiReve); | ||||||
|  |         } | ||||||
|         this.pixiApp.stage.addChild(mytmr); |         this.pixiApp.stage.addChild(mytmr); | ||||||
|  |  | ||||||
|         this._addDemiReve(); |         this._addDemiReve(); | ||||||
| @@ -325,6 +348,9 @@ export class RdDTMRDialog extends Dialog { | |||||||
|         this.displaySortReserve(); |         this.displaySortReserve(); | ||||||
|       }); |       }); | ||||||
|  |  | ||||||
|  |     if (this.viewOnly) { | ||||||
|  |       return; | ||||||
|  |     } | ||||||
|     await this.actor.updatePointsDeReve((this.tmrdata.isRapide) ? -2 : -1); // 1 point defatigue |     await this.actor.updatePointsDeReve((this.tmrdata.isRapide) ? -2 : -1); // 1 point defatigue | ||||||
|     this.updateValuesDisplay(); |     this.updateValuesDisplay(); | ||||||
|     let cellDescr = TMRUtility.getTMRDescription(this.actor.data.data.reve.tmrpos.coord); |     let cellDescr = TMRUtility.getTMRDescription(this.actor.data.data.reve.tmrpos.coord); | ||||||
| @@ -371,7 +397,7 @@ export class RdDTMRDialog extends Dialog { | |||||||
|       x: 16 - (tmrConstants.cellw / 2), |       x: 16 - (tmrConstants.cellw / 2), | ||||||
|       y: 16 - (tmrConstants.cellh / 2) |       y: 16 - (tmrConstants.cellh / 2) | ||||||
|     } |     } | ||||||
|     return { sprite: sprite, sort: sort, coordTMR: () => sort.coord} |     return { sprite: sprite, sort: sort, coordTMR: () => sort.coord } | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   _tokenDemiReve() { |   _tokenDemiReve() { | ||||||
|   | |||||||
| @@ -385,11 +385,14 @@ | |||||||
|  |  | ||||||
|         {{!-- hautreve Tab --}} |         {{!-- hautreve Tab --}} | ||||||
|         <div class="tab hautreve" data-group="primary" data-tab="hautreve" style="height:200px"> |         <div class="tab hautreve" data-group="primary" data-tab="hautreve" style="height:200px"> | ||||||
|  |             <div> | ||||||
|  |               <span class="visu-tmr"><strong><a>Regarder les Terres Medianes</a></strong></span> | ||||||
|  |             </div> | ||||||
|             <div> |             <div> | ||||||
|               <span class="monte-tmr"><strong><a>Monter Normale dans les Terres Medianes !</a></strong></span> |               <span class="monte-tmr"><strong><a>Monter Normale dans les Terres Medianes !</a></strong></span> | ||||||
|             </div> |             </div> | ||||||
|             <div> |             <div> | ||||||
|               <span class="monte-tmr-rapide"><strong><a>Monter Accélérée dans les Terres Medianes !</a></strong></span> |               <span class="monte-tmr-rapide"><strong><a>Monter en Accéléré dans les Terres Medianes !</a></strong></span> | ||||||
|             </div> |             </div> | ||||||
|             <div> |             <div> | ||||||
|               <ol class="item-list"> |               <ol class="item-list"> | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user