Files
foundryvtt-wh4-lang-fr-fr/scripts/groEX1wJ9l00PkDF.js

72 lines
2.3 KiB
JavaScript

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(`<p><b>${speaker.alias}</b> continue de s'enrouler autour de <b>${target.name}</b>. Il pourra commencer à écraser dans ${turns} tours.</p>`);
}
if (this.actor.items.find(i => i.type === "extendedTest" && i.name === this.effet.name)) {
this.script.message(`<p><b>${speaker.alias}</b> peut reprendre l'écrasement de <b>${target.name}</b> avec le Test Étendu.</p>`);
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(`<p><b>${speaker.alias}</b> a fini de s'enrouler autour de <b>${target.name}</b>. Il peut maintenant commencer à écraser via le Test Étendu @UUID[${extendedTest.uuid}].</p>`);
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(\`<p><b>${speaker.alias}</b> a écrasé <b>${target.name}</b>. Le bateau se brise, réduit à un amas d'épaves.</p>\`);
await effet.delete();
`,
trigger: "deleteEffect"
}
]
}
}
await extendedTests[0].createEmbeddedDocuments("ActiveEffect", [effect]);