forked from public/foundryvtt-wh4-lang-fr-fr
Ajout de la commande /voyage et grosse MAJK de la commande /auberge
This commit is contained in:
93
modules/inn/inn-init.js
Normal file
93
modules/inn/inn-init.js
Normal file
@@ -0,0 +1,93 @@
|
||||
import InnRoller from './InnRoller.js';
|
||||
|
||||
/**
|
||||
* Initialisation du module Inn (Auberge)
|
||||
*/
|
||||
export function initInn() {
|
||||
console.log("Inn: Initialisation du module d'auberge");
|
||||
|
||||
// Hook pour initialiser au démarrage
|
||||
Hooks.once('ready', async () => {
|
||||
console.log("Inn: Module d'auberge prêt");
|
||||
|
||||
// Exposer la classe globalement
|
||||
game.wfrp4e = game.wfrp4e || {};
|
||||
game.wfrp4e.inn = InnRoller;
|
||||
|
||||
console.log("Inn: Classe accessible via game.wfrp4e.inn");
|
||||
|
||||
// Enregistrer la commande dans le système WFRP4e si disponible
|
||||
if (game.wfrp4e?.commands) {
|
||||
console.log("Inn: Enregistrement de la commande /auberge");
|
||||
game.wfrp4e.commands.add({
|
||||
auberge: {
|
||||
description: "Jets sur les tables d'auberge (FR)",
|
||||
args: ["table"],
|
||||
defaultArg: "table",
|
||||
callback: (table) => {
|
||||
// Vérifier que l'utilisateur est GM
|
||||
if (!game.user.isGM) {
|
||||
ui.notifications.warn("La commande /auberge est réservée au MJ.");
|
||||
return;
|
||||
}
|
||||
|
||||
console.log(`Inn: Commande /auberge exécutée avec table="${table}"`);
|
||||
|
||||
// Convertir null en undefined
|
||||
table = table || undefined;
|
||||
|
||||
// Si pas de table spécifiée, afficher l'aide
|
||||
if (!table) {
|
||||
InnRoller.displayHelp();
|
||||
} else if (table === 'help' || table === 'aide') {
|
||||
InnRoller.displayHelp();
|
||||
} else if (table === 'list' || table === 'liste') {
|
||||
InnRoller.listTables();
|
||||
} else if (table === 'menu') {
|
||||
InnRoller.displayMenuChoice();
|
||||
} else {
|
||||
InnRoller.rollInnTable(table);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
console.log("Inn: Commande /auberge enregistrée avec succès");
|
||||
} else {
|
||||
console.warn("Inn: game.wfrp4e.commands non disponible");
|
||||
}
|
||||
});
|
||||
|
||||
// Hook pour gérer les clics sur les liens de tables d'auberge
|
||||
Hooks.on('renderChatMessage', (message, html, data) => {
|
||||
// Ajouter un listener pour les clics sur les liens d'auberge
|
||||
html.find('a[data-action="clickAuberge"]').click((event) => {
|
||||
event.preventDefault();
|
||||
const tableKey = $(event.currentTarget).data('table');
|
||||
console.log(`Inn: Clic sur la table ${tableKey}`);
|
||||
|
||||
if (game.user.isGM) {
|
||||
InnRoller.rollInnTable(tableKey);
|
||||
} else {
|
||||
ui.notifications.warn("Seul le MJ peut utiliser les tables d'auberge.");
|
||||
}
|
||||
});
|
||||
|
||||
// Ajouter un listener pour les clics sur les boutons de menu
|
||||
html.find('a[data-action="clickAubergeMenu"]').click((event) => {
|
||||
event.preventDefault();
|
||||
const quality = $(event.currentTarget).data('quality');
|
||||
console.log(`Inn: Clic sur menu de qualité "${quality}"`);
|
||||
|
||||
if (game.user.isGM) {
|
||||
// Si quality === "menu", afficher le choix, sinon générer directement
|
||||
if (quality === 'menu') {
|
||||
InnRoller.displayMenuChoice();
|
||||
} else {
|
||||
InnRoller.generateMenu(quality);
|
||||
}
|
||||
} else {
|
||||
ui.notifications.warn("Seul le MJ peut utiliser les tables d'auberge.");
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user