let turns = this.effect.getFlag("wfrp4e", "turns"); if (turns <= 0) return; turns--; const speaker = ChatMessage.getSpeaker({actor: this.actor}); const targetId = this.effect.getFlag("wfrp4e", "target"); const target = canvas.scene.tokens.get(targetId); if (turns > 0) { this.effect.setFlag("wfrp4e", "turns", turns); return this.script.message(`
${speaker.alias} continue de s'enrouler autour de ${target.name}. Il pourra commencer à écraser dans ${turns} tours.
`); } if (this.actor.items.find(i => i.type === "extendedTest" && i.name === this.effet.name)) { this.script.message(`${speaker.alias} peut reprendre l'écrasement de ${target.name} avec le Test Étendu.
`); return; } const extendedTestData = { name: this.effet.name, type: "extendedTest", img: this.effet.img, system: { SL: { current: 0, target: target.actor.system.status.Blessures.value }, Test: { value: 'Strength' }, completion: { value: "remove" }, difficulty: { value: "challenging" } } }; const extendedTests = await this.actor.createEmbeddedDocuments("Item", [extendedTestData], {fromEffect: this.effet.id}); const extendedTest = extendedTests[0]; this.script.message(`${speaker.alias} a fini de s'enrouler autour de ${target.name}. Il peut maintenant commencer à écraser via le Test Étendu @UUID[${extendedTest.uuid}].
`); let effet = { name: extendedTest.name, img: extendedTest.img, system: { transferData : { type: "document", documentType: "Item" }, scriptData: [ { label: extendedTest.name, script: ` let id = this.item.flags.wfrp4e.fromEffect; let effect = this.actor.effects.find(e => e.id === id); const speaker = ChatMessage.getSpeaker({actor: this.actor}); const targetId = effect.getFlag("wfrp4e", "target"); const target = canvas.scene.tokens.get(targetId); this.script.message(\`${speaker.alias} a écrasé ${target.name}. Le bateau se brise, réduit à un amas d'épaves.
\`); await effet.delete(); `, trigger: "deleteEffect" } ] } } await extendedTests[0].createEmbeddedDocuments("ActiveEffect", [effect]);