#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
|
let content
|
||||||
for ( let queue of this.data.items) {
|
if (item.type == 'queue') {
|
||||||
if (queue.type == 'queue') {
|
if ( item.name.toLowerCase() == 'conquête' ) {
|
||||||
if ( queue.name.toLowerCase() == 'conquête' ) {
|
content = "RAPPEL ! Vous souffrez d'une <strong>Conquête</strong> : " + item.data.description;
|
||||||
content = "RAPPEL ! Vous souffrez d'une Conquête : " + queue.data.description;
|
|
||||||
}
|
}
|
||||||
else if ( queue.name.toLowerCase() == 'pélerinage' ) {
|
else if ( item.name.toLowerCase() == 'pélerinage' ) {
|
||||||
content = "RAPPEL ! Vous souffrez d'un Pélerinage : " + queue.data.description;
|
content = "RAPPEL ! Vous souffrez d'un <strong>Pélerinage</strong> : " + item.data.description;
|
||||||
}
|
}
|
||||||
else if ( queue.name.toLowerCase() == 'urgence draconique' ) {
|
else if ( item.name.toLowerCase() == 'urgence draconique' ) {
|
||||||
content = "RAPPEL ! Vous souffrez d'une Urgence Draconique : " + queue.data.description;
|
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) {
|
if (content) {
|
||||||
@ -795,6 +806,7 @@ export class RdDActor extends Actor {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async deleteTMRRencontreAtPosition( ) {
|
async deleteTMRRencontreAtPosition( ) {
|
||||||
@ -1311,14 +1323,20 @@ export class RdDActor extends Actor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
isRencontreSpeciale( ) { // Gestion queue 'Mauvaise Rencontre en Perpective'
|
isRencontreSpeciale( ) { // Gestion queue/souffle 'Mauvaise Rencontre en Perpective'
|
||||||
let rencSpecial = this.data.items.find( item => item.type == 'queue' && item.name.toLowerCase().includes( 'mauvaise rencontre' ) );
|
let addMsg = "";
|
||||||
|
let rencSpecial = this.data.items.find( item => (item.type == 'queue' || item.type == 'souffle') && item.name.toLowerCase().includes( 'mauvaise rencontre' ) );
|
||||||
if ( rencSpecial ) {
|
if ( rencSpecial ) {
|
||||||
rencSpecial = duplicate(rencSpecial); // To keep it
|
rencSpecial = duplicate(rencSpecial); // To keep it
|
||||||
|
if ( rencSpecial.type == 'queue') {
|
||||||
this.deleteOwnedItem( rencSpecial._id ); // Suppression dans la liste des queues
|
this.deleteOwnedItem( rencSpecial._id ); // Suppression dans la liste des queues
|
||||||
ChatUtility.chatWithRollMode(
|
addMsg = " La queue a été supprimée de votre fiche automatiquement";
|
||||||
{ 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."},
|
} else {
|
||||||
this.name);
|
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;
|
return rencSpecial;
|
||||||
}
|
}
|
||||||
@ -1335,6 +1353,18 @@ export class RdDActor extends Actor {
|
|||||||
return 1;
|
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) {
|
async _rollUnSortResult(rollData, isSortReserve = false) {
|
||||||
rollData.isSortReserve = isSortReserve;
|
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
|
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 ) {
|
if ( monteLaborieuse ) {
|
||||||
ChatMessage.create( {
|
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.",
|
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) {
|
if (this.viewOnly) {
|
||||||
return;
|
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?
|
// TODO: permettre de choisir la voie de draconic?
|
||||||
let draconic = this.actor.getBestDraconic();
|
let draconic = this.actor.getBestDraconic();
|
||||||
|
|
||||||
@ -561,7 +562,7 @@ export class RdDTMRDialog extends Dialog {
|
|||||||
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();
|
this.actor.displayTMRQueueSouffleInformation();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
|
Loading…
Reference in New Issue
Block a user