scripts/ was missing 621 of FR's 2114 effect scripts (referenced via game.wfrp4e.config.effectScripts by Foundry item id). Copied them all over so the registry is complete, then translated the 129 that still contained French user-facing text: skill/talent/trapping name arrays in NPC-statblock-building scripts, chat/notification messages, and dialog prompts. Skill/talent/trait names were cross-checked against the already-translated core compendium rather than translated ad hoc, since Foundry looks these up by exact document name. Also fixed real bugs found along the way (present in FR's originals too, just inherited via the copy): - Two "let x / let x" duplicate-declaration scripts (SyntaxError) - A "0rgs.actor" typo (ReferenceError) for "args.actor" - Two "effet.update(...)" typos for "effect.update(...)" - A corrupted ui.notifications.warn(...) template literal in 3 of the NPC-statblock scripts, mangled into stray leftover code text - 19 scripts across the whole scripts/ folder (not just the 621) using the wrong game.i18n.localize() key (NAME.Résistance/Démoniaque/ Mort-vivant instead of the actual English key names NAME.Endurance/ Daemonic/Undead), which silently failed to resolve in any language Rebuilt modules/loadScripts.js via `npm run build` (2114 scripts). Known follow-up (out of scope here, pre-existing in the scripts DE already had before this sync): 7 scripts elsewhere in scripts/ have unrelated syntax bugs, and one has a lingering French accent.
20 lines
934 B
JavaScript
20 lines
934 B
JavaScript
const excessSL = this.effect.sourceTest.result.baseSL - this.effect.sourceItem.system.sl;
|
|
let slToSpend = excessSL;
|
|
|
|
let levels = 0;
|
|
let duration = 0;
|
|
|
|
while (slToSpend > 0) {
|
|
let content = `<p>You achieved ${excessSL} and you still have ${slToSpend} SL to spend on enhancing your Sword Dance.</p>`;
|
|
content += `<p>So far you selected ${levels} additional levels in War Leader and +${duration} Rounds of duration.</p>`;
|
|
await foundry.applications.api.DialogV2.confirm({
|
|
yes: {label: "Additional War Leader", icon: "fas fa-person", callback: () => levels++},
|
|
no: {label: "+1 Round Duration", icon: "fas fa-clock", callback: () => duration++},
|
|
content,
|
|
});
|
|
|
|
slToSpend--;
|
|
}
|
|
|
|
await this.actor.addEffectItems("Compendium.wfrp4e-core.items.Item.vCgEAetBMngR53aT", this.effect, {"system.advances.value": 1 + levels});
|
|
await this.effect.update({duration:{rounds: this.actor.system.characteristics.wp.bonus + duration}}); |