42 lines
1.1 KiB
JavaScript
42 lines
1.1 KiB
JavaScript
import { NpcDialog } from './NpcDialog.js';
|
||
import { syncNpcRollTables } from './npcRollTableSync.js';
|
||
|
||
const MODULE_ID = 'mgt2-compendium-amiral-denisov';
|
||
|
||
function openNpcDialog(initialTab, options = {}) {
|
||
new NpcDialog({ initialTab, ...options }).render(true);
|
||
}
|
||
|
||
Hooks.once('init', () => {
|
||
console.log(`${MODULE_ID} | Outils PNJ initialisés`);
|
||
|
||
loadTemplates([
|
||
`modules/${MODULE_ID}/templates/npc-dialog.hbs`,
|
||
`modules/${MODULE_ID}/templates/npc-result.hbs`,
|
||
]);
|
||
});
|
||
|
||
Hooks.once('ready', async () => {
|
||
await syncNpcRollTables();
|
||
console.log(`${MODULE_ID} | Outils PNJ prêts – tapez /pnj, /rencontre ou /mission dans le chat`);
|
||
});
|
||
|
||
Hooks.on('chatMessage', (_chatLog, message, _chatData) => {
|
||
const trimmed = message.trim().toLowerCase();
|
||
|
||
if (trimmed === '/pnj' || trimmed.startsWith('/pnj ')) {
|
||
openNpcDialog('npc');
|
||
return false;
|
||
}
|
||
|
||
if (trimmed === '/rencontre' || trimmed.startsWith('/rencontre ')) {
|
||
openNpcDialog('encounter');
|
||
return false;
|
||
}
|
||
|
||
if (trimmed === '/mission' || trimmed.startsWith('/mission ')) {
|
||
openNpcDialog('mission');
|
||
return false;
|
||
}
|
||
});
|