foundry-vtt-system-midgard5/source/index.ts

63 lines
2.0 KiB
TypeScript

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")
Handlebars.registerHelper("eq", (lhs: any, rhs: any) => {
return lhs === rhs
})
Handlebars.registerHelper("array", (arr: any[], index: number) => {
return arr[index]
})
Handlebars.registerHelper("localizeMidgard", (str: string) => {
const template = Handlebars.compile("{{localize value}}")
return template({
value: "midgard5." + str
})
})
Handlebars.registerHelper("skillBonus", (actorId: string, skill: M5Skill) => {
const actor = (game as Game).actors.get(actorId) as M5Character
if (!actor || !skill)
console.log("Handlebars.skillBonus", actor, skill)
return actor.skillBonus(skill).toString()
})
Handlebars.registerHelper("skillEw", (actorId: string, skill: M5Skill) => {
const actor = (game as Game).actors.get(actorId) as M5Character
if (!actor || !skill)
console.log("Handlebars.skillEw", actor, skill)
return actor.skillEw(skill).toString()
})
// Default Sheet für Items definieren und das Standardsheet deaktivieren
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 })
CONFIG.Actor.documentClass = M5Character
CONFIG.Item.documentClass = M5Item
//RegisterSettings();
await preloadTemplates()
})
Hooks.once("setup", () => {
Logger.log("Template module is being setup.")
})
Hooks.once("ready", () => {
Logger.Ok("Template module is now ready.")
})