let actor = game.user.character ?? canvas.tokens.controlled[0]?.actor; if (!actor || !(actor.system instanceof StandardActorModel)) return ui.notifications.warn("Vous devez contrôler un acteur capable d'effectuer un test de Force"); let test = await actor.setupCharacteristic("s", { skipTargets: true, appendTitle: " - Évacuation", fields: { difficulty: "challenging" }, context: { success: "Réduction du niveau de Perforation !" } }); await Test.roll(); if (Test.succeeded) { let SL = parseInt(Test.result.SL); let name = this.effet.name.replace(/\d+/, rating => parseInt(rating) - SL); await this.effet.update({name}); } let rating = parseInt(this.effet.name.match(/\d+/)?.[0]); if (rating <= 1) { const scriptData = this.effet.system.scriptData scriptData[2].trigger = ''; await this.effet.update({disabled: true, "system.scriptData": scriptData}); }