#89 Gestion de de la conquete, pelerinage et montee laborieuse

This commit is contained in:
sladecraven 2020-12-30 15:56:17 +01:00
parent 8f2daee22a
commit 4eeb2d0266
3 changed files with 45 additions and 6 deletions

View File

@ -341,7 +341,7 @@ export class RdDActorSheet extends ActorSheet {
ui.notifications.info("Impossible de lancer l'initiative sans être dans un combat."); 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) => { html.find('#visu-tmr').click((event) => {
this.actor.displayTMR( "visu"); this.actor.displayTMR( "visu");
}); });

View File

@ -772,6 +772,30 @@ export class RdDActor extends Actor {
return queue; 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( ) { async deleteTMRRencontreAtPosition( ) {
let rencontres = duplicate(this.data.data.reve.rencontre); let rencontres = duplicate(this.data.data.reve.rencontre);
@ -1303,9 +1327,9 @@ export class RdDActor extends Actor {
getTMRFatigue() { // Pour l'instant uniquement Inertie Draconique getTMRFatigue() { // Pour l'instant uniquement Inertie Draconique
let inertieDraconique = this.data.items.find( item => item.type == 'queue' && item.name.toLowerCase().includes( 'inertie draconique' ) ); let inertieDraconique = this.data.items.find( item => item.type == 'queue' && item.name.toLowerCase().includes( 'inertie draconique' ) );
if ( inertieDraconique ) { if ( inertieDraconique ) {
ChatUtility.chatWithRollMode( 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."}, 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); whisper: ChatMessage.getWhisperRecipients(game.user.name) } );
return 2; return 2;
} }
return 1; return 1;
@ -1703,10 +1727,22 @@ export class RdDActor extends Actor {
return this.data.items.filter(item => item.data.categorie == 'draconic') 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") async displayTMR(mode="normal")
{ {
let isRapide= mode == "rapide" let isRapide= mode == "rapide";
if (mode != "visu") if (mode != "visu")
{ {
let minReveValue = (isRapide) ? 3 : 2; let minReveValue = (isRapide) ? 3 : 2;

View File

@ -552,13 +552,16 @@ export class RdDTMRDialog extends Dialog {
if (this.viewOnly) { if (this.viewOnly) {
return; 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(); this.updateValuesDisplay();
let cellDescr = TMRUtility.getTMRDescription(this.actor.data.data.reve.tmrpos.coord); let cellDescr = TMRUtility.getTMRDescription(this.actor.data.data.reve.tmrpos.coord);
await this.manageRencontre(this.actor.data.data.reve.tmrpos.coord, cellDescr); await this.manageRencontre(this.actor.data.data.reve.tmrpos.coord, cellDescr);
this.manageCaseHumide(cellDescr); this.manageCaseHumide(cellDescr);
// Mise à jour du nb de cases de Fatigue // Mise à jour du nb de cases de Fatigue
this.nbFatigue = this.actor.getTMRFatigue(); this.nbFatigue = this.actor.getTMRFatigue();
this.actor.displayTMRQueueInformation();
} }
/* -------------------------------------------- */ /* -------------------------------------------- */