diff --git a/source/index.ts b/source/index.ts index 98389c8..4bf06ab 100644 --- a/source/index.ts +++ b/source/index.ts @@ -1,98 +1,105 @@ -import Logger from "./utils/Logger" -import M5CharacterSheet from "./module/sheets/M5CharacterSheet" -import preloadTemplates from "./PreloadTemplates" -import { M5Character } from "./module/actors/M5Character" -import { M5Skill } from "./module/M5Base" -import { M5ItemSheet } from "./module/sheets/M5ItemSheet" -import { M5Item } from "./module/items/M5Item" +import Logger from "./utils/Logger"; +import M5CharacterSheet from "./module/sheets/M5CharacterSheet"; +import preloadTemplates from "./PreloadTemplates"; +import { M5Character } from "./module/actors/M5Character"; +import { M5Skill } from "./module/M5Base"; +import { M5ItemSheet } from "./module/sheets/M5ItemSheet"; +import { M5Item } from "./module/items/M5Item"; Hooks.once("init", async () => { - Logger.log("M5 | Initialisierung Midgard 5") + Logger.log("M5 | Initialisierung Midgard 5"); Handlebars.registerHelper("times", (n: number, block) => { - var accum = "" - for(let i = 0; i < n; ++i) - accum += block.fn(i) - return accum - }) + var accum = ""; + for (let i = 0; i < n; ++i) accum += block.fn(i); + return accum; + }); Handlebars.registerHelper("array", (arr: any[], index: number) => { - return arr[index] - }) + return arr[index]; + }); Handlebars.registerHelper("m5concat", (...values) => { const options = values.pop(); const join = options.hash?.join || ""; //return new Handlebars.SafeString(values.join(join)); - return values.map(val => val.toString()).join(join) - }) + return values.map((val) => val.toString()).join(join); + }); Handlebars.registerHelper("add", (...values) => { const options = values.pop(); - return values.reduce((prev, cur) => prev + cur) - }) + return values.reduce((prev, cur) => prev + cur); + }); Handlebars.registerHelper("localizeMidgard", (str: string) => { - const template = Handlebars.compile("{{localize value}}") + const template = Handlebars.compile("{{localize value}}"); return template({ - value: "midgard5." + str - }) - }) + value: "midgard5." + str, + }); + }); Handlebars.registerHelper("skillBonus", (actorId: string, skill: M5Skill) => { - const actor = (game as Game).actors.get(actorId) as M5Character - return actor.skillBonus(skill).toString() - }) + const actor = (game as Game).actors.get(actorId) as M5Character; + return actor.skillBonus(skill).toString(); + }); Handlebars.registerHelper("skillEw", (actorId: string, skill: M5Skill) => { - const actor = (game as Game).actors.get(actorId) as M5Character - return actor.skillEw(skill).toString() - }) + const actor = (game as Game).actors.get(actorId) as M5Character; + return actor.skillEw(skill).toString(); + }); Handlebars.registerHelper("skill", (skillId: string) => { - return (game as Game).items.get(skillId) - }) + return (game as Game).items.get(skillId); + }); Handlebars.registerHelper("itemValue", (id: string, path: string) => { - let obj = (game as Game).items.get(id) - path.split(".").forEach(p => obj = obj[p]) - return `${obj}` - }) + let obj = (game as Game).items.get(id); + path.split(".").forEach((p) => (obj = obj[p])); + return `${obj}`; + }); Handlebars.registerHelper("actorItemValue", (actorId: any, itemId: string, path: string) => { //console.log("actorItemValue", actorId, itemId, path) - const actor = (game as Game).actors.get(actorId) - let obj = actor.items.get(itemId).system - path.split(".").forEach(p => { - if (obj) - obj = obj[p] - }) - return `${obj}` - }) + const actor = (game as Game).actors.get(actorId); + let obj = actor.items.get(itemId).system; + path.split(".").forEach((p) => { + if (obj) obj = obj[p]; + }); + return `${obj}`; + }); Handlebars.registerHelper("icon", (relpath: string) => { - return `systems/midgard5/assets/icons/${relpath}` - }) + return `systems/midgard5/assets/icons/${relpath}`; + }); + + Handlebars.registerHelper("isSkillInList", (skillName: string, list: any) => { + for (let key in list) { + if (list[key]?.label?.toLowerCase() === skillName?.toLowerCase()) { + return true; + } + } + return false; + }); // Default Sheet für Items definieren und das Standardsheet deaktivieren - Items.unregisterSheet("core", ItemSheet) - Items.registerSheet("midgard5", M5ItemSheet, { makeDefault: true }) + Items.unregisterSheet("core", ItemSheet); + Items.registerSheet("midgard5", M5ItemSheet, { makeDefault: true }); // Default Sheet für Actors definieren und das Standardsheet deaktivieren - Actors.unregisterSheet("core", ActorSheet) - Actors.registerSheet("midgard5", M5CharacterSheet, { makeDefault: true }) + Actors.unregisterSheet("core", ActorSheet); + Actors.registerSheet("midgard5", M5CharacterSheet, { makeDefault: true }); - CONFIG.Actor.documentClass = M5Character - CONFIG.Item.documentClass = M5Item + CONFIG.Actor.documentClass = M5Character; + CONFIG.Item.documentClass = M5Item; //RegisterSettings(); - await preloadTemplates() -}) + await preloadTemplates(); +}); Hooks.once("setup", () => { - Logger.log("Template module is being setup.") -}) + Logger.log("Template module is being setup."); +}); Hooks.once("ready", () => { - Logger.ok("Template module is now ready.") -}) + Logger.ok("Template module is now ready."); +}); diff --git a/templates/sheets/character/skills.hbs b/templates/sheets/character/skills.hbs index 12df549..115dd3e 100644 --- a/templates/sheets/character/skills.hbs +++ b/templates/sheets/character/skills.hbs @@ -119,16 +119,18 @@
{{#each data.skills.general as |skill key|}} -