49 lines
1.5 KiB
JavaScript
49 lines
1.5 KiB
JavaScript
const trait = this.actor.itemTags.trait.find(t => t.name === "Régénération");
|
|
const name = "Régénération Pourrie";
|
|
|
|
if (!trait) return;
|
|
|
|
const effect = trait.effects.find(e => e.name === "Régénération");
|
|
const scriptData = effect.system.scriptData;
|
|
|
|
scriptData[0].script = `
|
|
let chatData = {whisper: ChatMessage.getWhisperRecipients("GM")};
|
|
let message = "";
|
|
|
|
let Blessures = foundry.utils.duplicate(this.actor.status.Blessures);
|
|
let regenRoll = await new Roll("1d10").roll({allowInteractive : false});
|
|
let regen = regenRoll.total;
|
|
|
|
if (Blessures.value >= Blessures.max)
|
|
return;
|
|
|
|
if (Blessures.value > 0) {
|
|
Blessures.value += Math.floor(regen / 2);
|
|
if (Blessures.value > Blessures.max) {
|
|
Blessures.value = Blessures.max;
|
|
}
|
|
message += \`<b>\${this.actor.name}</b> regagne \${regen} Blessures.\`;
|
|
|
|
if (regen === 10) {
|
|
message += "<br>De plus, il régénère une Blessure Critique.";
|
|
}
|
|
} else if (regen >= 8) {
|
|
message += \`<b>\${this.actor.name}</b> a obtenu un \${regen} et regagne 1 Blessure.\`;
|
|
Blessures.value += 1;
|
|
if (regen === 10) {
|
|
message += "<br>De plus, il régénère une Blessure Critique.";
|
|
}
|
|
} else {
|
|
message += \`<b>\${this.actor.name}</b> Résultat de régénération de \${regen} - Aucun effet.\`;
|
|
}
|
|
|
|
await this.actor.update({"system.status.wounds": Blessures});
|
|
this.script.message(message, {whisper: ChatMessage.getWhisperRecipients("GM")});
|
|
`
|
|
|
|
await effet.update({
|
|
name,
|
|
"system.scriptData": scriptData
|
|
});
|
|
|
|
await trait.update({name}); |