import { MODULE_ID } from "./constants.js"; import { registerSettings } from "./settings.js"; import { registerSocket } from "./sockets.js"; import { ConfigurableReactionsConfigApp } from "./apps/reaction-config-app.js"; import { registerDnd5eDamageTrigger } from "./triggers/damage-received.js"; import { registerTargetSelectedTrigger } from "./triggers/target-selected.js"; Hooks.once("init", () => { registerSettings(); console.log(`${MODULE_ID} | Settings registered`); }); Hooks.once("ready", () => { registerSocket(); registerDnd5eDamageTrigger(); registerTargetSelectedTrigger(); console.log(`${MODULE_ID} | Ready`); }); Hooks.on("getSceneControlButtons", controls => { if (!game.user.isGM) return; const tokenControls = controls.tokens ?? controls.find?.(c => c.name === "token"); if (!tokenControls) return; const tool = { name: "configurable-reactions", title: game.i18n.localize("CONFIGURABLE_REACTIONS.Controls.OpenConfig"), icon: "fa-solid fa-bolt", button: true, onChange: () => new ConfigurableReactionsConfigApp().render(true) }; if (Array.isArray(tokenControls.tools)) tokenControls.tools.push(tool); else if (tokenControls.tools instanceof Object) tokenControls.tools[tool.name] = tool; });