Travail sur queues/souffles

This commit is contained in:
Vincent Vandemeulebrouck
2021-02-06 01:34:49 +01:00
parent 7c54597a20
commit fe73e5b984
3 changed files with 42 additions and 26 deletions

View File

@ -1765,10 +1765,10 @@ export class RdDActor extends Actor {
/* -------------------------------------------- */
isRencontreSpeciale() { // Gestion queue/souffle 'Mauvaise Rencontre en Perpective'
let addMsg = "";
let rencSpecial = this.data.items.find(item => RdDItem.isMauvaiseRencontreEnPerspective(item));
let rencSpecial = this.data.items.find(item => RdDItem.isHRMauvaiseRencontreEnPerspective(item));
if (rencSpecial) {
rencSpecial = duplicate(rencSpecial); // To keep it
if (rencSpecial.type == 'queue') {
if (rencSpecial.type != 'souffle') {
this.deleteOwnedItem(rencSpecial._id); // Suppression dans la liste des queues
addMsg = " La queue a été supprimée de votre fiche automatiquement";
} else {
@ -1784,15 +1784,14 @@ 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) {
let countInertieDraconique = this.data.items.filter(item => RdDItem.isHRInertieDraconique(item)).length;
if (countInertieDraconique>0) {
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 ${countInertieDraconique+1} cases de Fatigue par déplacement au lieu d'une.`,
whisper: ChatMessage.getWhisperRecipients(game.user.name)
});
return 2;
}
return 1;
return countInertieDraconique + 1;
}
/* -------------------------------------------- */
@ -1808,7 +1807,7 @@ export class RdDActor extends Actor {
/* -------------------------------------------- */
isDoubleResistanceFleuve() {
let resistFleuve = this.data.items.find(item => RdDItem.isDoubleResistanceFleuve(item));
let resistFleuve = this.data.items.find(item => RdDItem.isHRDoubleResistanceFleuve(item));
if (resistFleuve) {
ChatMessage.create({
content: "Vous êtes sous le coup d'une Double Résistance du Fleuve : vous devez maîtriser 2 fois chaque case humide, un second jet est donc effectué.",
@ -1821,7 +1820,7 @@ export class RdDActor extends Actor {
/* -------------------------------------------- */
async checkSoufflePeage(cellDescr) {
let peage = this.data.items.find(item => item.type == 'souffle' && item.name.toLowerCase().includes('péage'));
let peage = this.data.items.find(item => RdDItem.isHRPeage(item));
if (peage && (cellDescr.type == 'pont' || cellDescr.type == 'cite')) {
await this.reveActuelIncDec(-1);
ChatMessage.create({
@ -1842,7 +1841,7 @@ export class RdDActor extends Actor {
/* -------------------------------------------- */
isCaseHumideAdditionelle(tmr) {
if (tmr.type == 'pont' && this.data.items.find(it => RdDItem.isPontImpraticable(it))) {
if (tmr.type == 'pont' && this.data.items.find(it => RdDItem.isHRPontImpraticable(it))) {
ChatMessage.create({
content: tmr.label +": Vous êtes sous le coup d'une Impraticabilité des Ponts : ce pont doit être maîtrisé comme une case humide.",
whisper: ChatMessage.getWhisperRecipients(game.user.name)
@ -1852,7 +1851,7 @@ export class RdDActor extends Actor {
// Débordement ?
let isTmrInondee = this.data.items.filter(it => RdDItem.isCaseTMR(it))
.filter(it => it.data.coord == tmr.coord)
.find(it => RdDItem.isCaseInnondee(it));
.find(it => RdDItem.isHRCaseInnondee(it));
if (isTmrInondee) {
ChatMessage.create({
content: tmr.label +": cette case est inondée, elle doit être maîtrisée comme une case humide.",
@ -2066,7 +2065,7 @@ export class RdDActor extends Actor {
height: 600,
callbacks: [
this.createCallbackExperience(),
{ action: r => this._resultArt(r) }
{ action: r => callBackResult(r) }
]
});
dialog.render(true);