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.scriptMessage(`
${speaker.alias} continue de s'enrouler autour de ${target.name}. Il pourra commencer à lui faire des dommages dans ${turns} turns.
`); } if (this.actor.items.find(i => i.type === "extendedTest" && i.name === this.effect.name)) { this.script.scriptMessage(`${speaker.alias} peut reprendre l'écrasementcan sur ${target.name} avec un Test Etendu.
`); return; } const extendedTestData = { name: this.effect.name, type: "extendedTest", img: this.effect.img, system: { SL: { current: 0, target: target.actor.system.status.wounds.value }, test: { value: 'Force' }, completion: { value: "remove" }, difficulty: { value: "challenging" } } }; const extendedTests = await this.actor.createEmbeddedDocuments("Item", [extendedTestData], {fromEffect: this.effect.id}); const extendedTest = extendedTests[0]; this.script.scriptMessage(`${speaker.alias} a fini de s'enrouler aytour de ${target.name}. Il peut maintenant l'écraser via le Test Etendu @UUID[${extendedTest.uuid}].
`); let effect = { name: extendedTest.name, icon: extendedTest.img, flags: { wfrp4e: { applicationData: { 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.scriptMessage(\`${speaker.alias} écrase ${target.name}. Le bateau se brise, réduit à une masse d'épaves.
\`); await effect.delete(); `, trigger: "deleteEffect" } ] } } } await extendedTests[0].createEmbeddedDocuments("ActiveEffect", [effect]);