## 11.2.20 - Le soulagement d'Akarlikarlikar #698
@ -429,7 +429,7 @@ export class RdDActor extends RdDBaseActorSang {
|
|||||||
let jetsReve = [];
|
let jetsReve = [];
|
||||||
let dormi = await this.dormirDesHeures(jetsReve, message, heures, options);
|
let dormi = await this.dormirDesHeures(jetsReve, message, heures, options);
|
||||||
if (jetsReve.length > 0) {
|
if (jetsReve.length > 0) {
|
||||||
message.content += `Vous récupérez ${jetsReve.map(it => it < 0 ? '(dragon)' : it).reduce(Misc.joining("+"))} Points de rêve. `;
|
message.content += `Vous récupérez ${jetsReve.map(it => it < 0 ? '0 (réveil)' : it).reduce(Misc.joining("+"))} Points de rêve. `;
|
||||||
}
|
}
|
||||||
if (dormi.etat == 'eveil') {
|
if (dormi.etat == 'eveil') {
|
||||||
await this.reveilReveDeDragon(message, dormi.heures);
|
await this.reveilReveDeDragon(message, dormi.heures);
|
||||||
@ -450,7 +450,6 @@ export class RdDActor extends RdDBaseActorSang {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async reveilReveDeDragon(message, heures) {
|
async reveilReveDeDragon(message, heures) {
|
||||||
message.content += 'Vous êtes réveillé par un Rêve de Dragon.';
|
|
||||||
const restant = Math.max(this.system.sommeil?.heures - heures, 0)
|
const restant = Math.max(this.system.sommeil?.heures - heures, 0)
|
||||||
if (restant > 0) {
|
if (restant > 0) {
|
||||||
await this.update({ 'system.sommeil': { heures: restant } });
|
await this.update({ 'system.sommeil': { heures: restant } });
|
||||||
@ -1333,7 +1332,7 @@ export class RdDActor extends RdDBaseActorSang {
|
|||||||
}
|
}
|
||||||
|
|
||||||
await RdDResolutionTable.rollData(ethylismeData.jetVie);
|
await RdDResolutionTable.rollData(ethylismeData.jetVie);
|
||||||
this._appliquerExperienceRollData(ethylismeData.jetVie);
|
this._gererExperience(ethylismeData.jetVie);
|
||||||
RollDataAjustements.calcul(ethylismeData.jetVie, this);
|
RollDataAjustements.calcul(ethylismeData.jetVie, this);
|
||||||
if (ethylismeData.jetVie.rolled.isSuccess) {
|
if (ethylismeData.jetVie.rolled.isSuccess) {
|
||||||
ethylisme.nb_doses++;
|
ethylisme.nb_doses++;
|
||||||
@ -1365,7 +1364,7 @@ export class RdDActor extends RdDBaseActorSang {
|
|||||||
finalLevel: Number(ethylisme.value) + Number(this.system.compteurs.moral.value)
|
finalLevel: Number(ethylisme.value) + Number(this.system.compteurs.moral.value)
|
||||||
}
|
}
|
||||||
await RdDResolutionTable.rollData(ethylismeData.jetVolonte);
|
await RdDResolutionTable.rollData(ethylismeData.jetVolonte);
|
||||||
this._appliquerExperienceRollData(ethylismeData.jetVolonte);
|
this._gererExperience(ethylismeData.jetVolonte);
|
||||||
RollDataAjustements.calcul(ethylismeData.jetVolonte, this);
|
RollDataAjustements.calcul(ethylismeData.jetVolonte, this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1549,7 +1548,7 @@ export class RdDActor extends RdDBaseActorSang {
|
|||||||
const content = await renderTemplate(`systems/foundryvtt-reve-de-dragon/templates/chat-actor-gain-xp.html`, {
|
const content = await renderTemplate(`systems/foundryvtt-reve-de-dragon/templates/chat-actor-gain-xp.html`, {
|
||||||
actor: this,
|
actor: this,
|
||||||
xpData
|
xpData
|
||||||
});
|
})
|
||||||
if (hideChatMessage) {
|
if (hideChatMessage) {
|
||||||
ChatUtility.blindMessageToGM({ content: content });
|
ChatUtility.blindMessageToGM({ content: content });
|
||||||
}
|
}
|
||||||
@ -1779,13 +1778,13 @@ export class RdDActor extends RdDBaseActorSang {
|
|||||||
};
|
};
|
||||||
RollDataAjustements.calcul(rollData, this);
|
RollDataAjustements.calcul(rollData, this);
|
||||||
await RdDResolutionTable.rollData(rollData);
|
await RdDResolutionTable.rollData(rollData);
|
||||||
this._appliquerExperienceRollData(rollData);
|
this._gererExperience(rollData);
|
||||||
await RdDResolutionTable.displayRollData(rollData, this)
|
await RdDResolutionTable.displayRollData(rollData, this)
|
||||||
return rollData.rolled;
|
return rollData.rolled;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
_appliquerExperienceRollData(rollData) {
|
_gererExperience(rollData) {
|
||||||
const callback = this.createCallbackExperience();
|
const callback = this.createCallbackExperience();
|
||||||
if (callback.condition(rollData)) {
|
if (callback.condition(rollData)) {
|
||||||
callback.action(rollData);
|
callback.action(rollData);
|
||||||
@ -2269,7 +2268,7 @@ export class RdDActor extends RdDBaseActorSang {
|
|||||||
async _appliquerExperience(rolled, caracName, competence, jetResistance) {
|
async _appliquerExperience(rolled, caracName, competence, jetResistance) {
|
||||||
// Pas d'XP
|
// Pas d'XP
|
||||||
if (!rolled.isPart || rolled.finalLevel >= 0) {
|
if (!rolled.isPart || rolled.finalLevel >= 0) {
|
||||||
return undefined;
|
return []
|
||||||
}
|
}
|
||||||
if (this.checkDesirLancinant()) {
|
if (this.checkDesirLancinant()) {
|
||||||
// Cas de désir lancinant, pas d'expérience sur particulière
|
// Cas de désir lancinant, pas d'expérience sur particulière
|
||||||
@ -2277,7 +2276,7 @@ export class RdDActor extends RdDBaseActorSang {
|
|||||||
content: `Vous souffrez au moins d'un Désir Lancinant, vous ne pouvez pas gagner d'expérience sur une Particulière tant que le désir n'est pas assouvi`,
|
content: `Vous souffrez au moins d'un Désir Lancinant, vous ne pouvez pas gagner d'expérience sur une Particulière tant que le désir n'est pas assouvi`,
|
||||||
whisper: ChatMessage.getWhisperRecipients(this.name)
|
whisper: ChatMessage.getWhisperRecipients(this.name)
|
||||||
});
|
});
|
||||||
return undefined;
|
return []
|
||||||
}
|
}
|
||||||
|
|
||||||
let xp = Math.abs(rolled.finalLevel);
|
let xp = Math.abs(rolled.finalLevel);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user