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 += \`\${this.actor.name} regagne \${regen} Blessures.\`; if (regen === 10) { message += "
De plus, il régénère une Blessure Critique."; } } else if (regen >= 8) { message += \`\${this.actor.name} a obtenu un \${regen} et regagne 1 Blessure.\`; Blessures.value += 1; if (regen === 10) { message += "
De plus, il régénère une Blessure Critique."; } } else { message += \`\${this.actor.name} 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});