import CONFIG from "./adventure.mjs"; import PF2EAdventureImporter from "./importer.mjs"; import {extractLocalization} from "./i18n.mjs"; /* -------------------------------------------- */ /* Initialize Module API */ /* -------------------------------------------- */ Hooks.once("init", () => { const module = game.modules.get(CONFIG.moduleId); module.api = { PF2EAdventureImporter, extractLocalization }; // Register settings game.settings.register(CONFIG.moduleId, "startup", { name: "One-Time Startup Prompt", scope: "world", config: false, type: Boolean, default: false }); // Register sheets DocumentSheetConfig.registerSheet(Adventure, CONFIG.moduleId, PF2EAdventureImporter, { label: "Abomination Vaults Importer" }); }) /* -------------------------------------------- */ /* Activate Module Features */ /* -------------------------------------------- */ Hooks.on("ready", async (app, html, data) => { // Imported state. game.settings.register(CONFIG.moduleId, "imported", { scope: "world", type: Boolean, config: false, default: game.journal.has(CONFIG.adventure.gettingStartedId) }); const module = game.modules.get(CONFIG.moduleId); const firstStartup = game.settings.get(CONFIG.moduleId, "startup") === false; if ( firstStartup ) { for ( const p of module.packs ) { const pack = game.packs.get(`${CONFIG.moduleId}.${p.name}`); const adventures = await pack.getDocuments(); for ( const adventure of adventures ) { adventure.sheet.render(true); } } game.settings.set(CONFIG.moduleId, "startup", true); } }); Hooks.on("importAdventure", () => game.settings.set(CONFIG.moduleId, "imported", true)); /* -------------------------------------------- */ /* Journal Styling */ /* -------------------------------------------- */ Hooks.on("renderJournalSheet", (app, html, data) => { const journal = app.document; if ( journal.getFlag(CONFIG.moduleId, CONFIG.journalFlag) ) html[0].classList.add(CONFIG.cssClass); }); Hooks.on("renderJournalPageSheet", (app, html, data) => { const journal = app.document.parent; if ( journal.getFlag(CONFIG.moduleId, CONFIG.journalFlag) ) html[0].classList.add(CONFIG.cssClass); });