#89 Gestion des souffles en lien avec TMR - partiel
This commit is contained in:
parent
4eeb2d0266
commit
5e3e4e6c41
@ -773,19 +773,30 @@ export class RdDActor extends Actor {
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
displayTMRQueueInformation( ) {
|
||||
displayTMRQueueSouffleInformation( ) {
|
||||
for ( let item of this.data.items) {
|
||||
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;
|
||||
if (item.type == 'queue') {
|
||||
if ( item.name.toLowerCase() == 'conquête' ) {
|
||||
content = "RAPPEL ! Vous souffrez d'une <strong>Conquête</strong> : " + item.data.description;
|
||||
}
|
||||
else if ( queue.name.toLowerCase() == 'pélerinage' ) {
|
||||
content = "RAPPEL ! Vous souffrez d'un Pélerinage : " + queue.data.description;
|
||||
else if ( item.name.toLowerCase() == 'pélerinage' ) {
|
||||
content = "RAPPEL ! Vous souffrez d'un <strong>Pélerinage</strong> : " + item.data.description;
|
||||
}
|
||||
else if ( queue.name.toLowerCase() == 'urgence draconique' ) {
|
||||
content = "RAPPEL ! Vous souffrez d'une Urgence Draconique : " + queue.data.description;
|
||||
else if ( item.name.toLowerCase() == 'urgence draconique' ) {
|
||||
content = "RAPPEL ! Vous souffrez d'une <strong>Urgence Draconique</strong> : " + item.data.description;
|
||||
}
|
||||
} else if ( item.type == 'souffle') {
|
||||
if ( item.name.toLowerCase() == 'périple' ) {
|
||||
content = "RAPPEL ! Vous souffrez du Souffle <strong>Périple</strong>. Vous devez gérer manuellement le détail du Périple.<br>" + item.data.description;
|
||||
} else if ( item.name.toLowerCase() == 'fermeture des cités' ) {
|
||||
content = "RAPPEL ! Vous souffrez du Souffle <strong>Fermeture des Cités</strong>. Vous devez gérer manuellement le détail des Citées ré-ouvertes.<br>" + item.data.description;
|
||||
} else if ( item.name.toLowerCase() == 'désorientation' ) {
|
||||
content = "RAPPEL ! Vous souffrez du Souffle <strong>Désorientation</strong>. Vous devez gérer avec votre MJ les effets de ce souffle.<br>" + item.data.description;
|
||||
} else if ( item.name.toLowerCase() == 'péage' ) {
|
||||
content = "RAPPEL ! Vous souffrez du Souffle <strong>Péage</strong>. Vous devez gérer avec votre MJ les effets de ce souffle.<br>" + item.data.description;
|
||||
} else if ( item.name.toLowerCase() == 'double résistance du fleuve' ) {
|
||||
content = "RAPPEL ! Vous souffrez du Souffle <strong>Double Résistance du Fleuve</strong>. Vous devez gérer avec votre MJ les effets de ce souffle.<br>" + item.data.description;
|
||||
}
|
||||
}
|
||||
if (content) {
|
||||
@ -795,6 +806,7 @@ export class RdDActor extends Actor {
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async deleteTMRRencontreAtPosition( ) {
|
||||
@ -1311,14 +1323,20 @@ export class RdDActor extends Actor {
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
isRencontreSpeciale( ) { // Gestion queue 'Mauvaise Rencontre en Perpective'
|
||||
let rencSpecial = this.data.items.find( item => item.type == 'queue' && item.name.toLowerCase().includes( 'mauvaise rencontre' ) );
|
||||
isRencontreSpeciale( ) { // Gestion queue/souffle 'Mauvaise Rencontre en Perpective'
|
||||
let addMsg = "";
|
||||
let rencSpecial = this.data.items.find( item => (item.type == 'queue' || item.type == 'souffle') && item.name.toLowerCase().includes( 'mauvaise rencontre' ) );
|
||||
if ( rencSpecial ) {
|
||||
rencSpecial = duplicate(rencSpecial); // To keep it
|
||||
if ( rencSpecial.type == 'queue') {
|
||||
this.deleteOwnedItem( rencSpecial._id ); // Suppression dans la liste des queues
|
||||
ChatUtility.chatWithRollMode(
|
||||
{ content:"Votre rencontre en TMR est spéciale à cause de votre Queue de Dragon : Mauvaise Rencontre en Perspective. La queue a été supprimée de votre état."},
|
||||
this.name);
|
||||
addMsg = " La queue a été supprimée de votre fiche automatiquement";
|
||||
} else {
|
||||
addMsg = " Vous devez gérer manuellement le décompte de mauvaises rencontres manuellement.";
|
||||
}
|
||||
ChatMessage.create( {
|
||||
content: "Vous êtes sous le coup d'une Mauvaise Rencontre en Persective." + addMsg,
|
||||
whisper: ChatMessage.getWhisperRecipients(game.user.name) } );
|
||||
}
|
||||
return rencSpecial;
|
||||
}
|
||||
@ -1335,6 +1353,18 @@ export class RdDActor extends Actor {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
checkIsAdditionnalHumide( cellDescr ) {
|
||||
let pontHumide = this.data.items.find( item => item.type == 'souffle' && item.name.toLowerCase().includes( ' des ponts' ) );
|
||||
if ( pontHumide && cellDescr.type == 'pont') {
|
||||
ChatMessage.create( {
|
||||
content: "Vous êtes sous le coup d'une Impraticabilité des Ponts : ils doivent être maîtrisés comme des cases humides.",
|
||||
whisper: ChatMessage.getWhisperRecipients(game.user.name) } );
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async _rollUnSortResult(rollData, isSortReserve = false) {
|
||||
rollData.isSortReserve = isSortReserve;
|
||||
@ -1729,7 +1759,7 @@ export class RdDActor extends Actor {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
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' ) );
|
||||
let monteLaborieuse = this.data.items.find( item => (item.type == 'queue' || item.type == 'souffle') && 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.",
|
||||
|
@ -333,7 +333,8 @@ export class RdDTMRDialog extends Dialog {
|
||||
if (this.viewOnly) {
|
||||
return;
|
||||
}
|
||||
if (cellDescr.type == "lac" || cellDescr.type == "fleuve" || cellDescr.type == "marais") {
|
||||
let isHumide = this.actor.checkIsAdditionnalHumide(cellDescr);
|
||||
if (cellDescr.type == "lac" || cellDescr.type == "fleuve" || cellDescr.type == "marais" || isHumide) {
|
||||
// TODO: permettre de choisir la voie de draconic?
|
||||
let draconic = this.actor.getBestDraconic();
|
||||
|
||||
@ -561,7 +562,7 @@ export class RdDTMRDialog extends Dialog {
|
||||
this.manageCaseHumide(cellDescr);
|
||||
// Mise à jour du nb de cases de Fatigue
|
||||
this.nbFatigue = this.actor.getTMRFatigue();
|
||||
this.actor.displayTMRQueueInformation();
|
||||
this.actor.displayTMRQueueSouffleInformation();
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
Loading…
Reference in New Issue
Block a user