Files
foundryvtt-wh4-lang-fr-fr/modules/inn/README.md

149 lines
4.7 KiB
Markdown

# Module Inn (Auberge)
Module de gestion des jets sur les tables d'auberge pour WFRP4e - Traduction française.
## Utilisation
### Commande `/auberge`
La commande `/auberge` permet d'effectuer des jets sur les tables d'auberge (plats et boissons).
**Syntaxe :**
```
/auberge [mot_clé]
```
### Exemples
- `/auberge` - Affiche l'aide avec toutes les tables disponibles **et cliquables**
- `/auberge help` ou `/auberge aide` - Affiche l'aide avec liste cliquable
- `/auberge list` ou `/auberge liste` - Liste toutes les tables avec liens cliquables
- `/auberge menu` - **Génère un menu complet** (6 types disponibles)
- `/auberge base` - Lance un jet sur la table "BoissonsBase"
- `/auberge fortes` - Lance un jet sur la table "BoissonsFortes"
- `/auberge mari` - Lance un jet sur la table "PlatsMaritimes"
> **Note :** Quand vous tapez `/auberge` sans argument, une liste cliquable s'affiche dans le chat. Vous pouvez cliquer directement sur une table pour effectuer un jet.
### Génération de menus complets
La commande `/auberge menu` permet de générer automatiquement un menu complet :
1. Tapez `/auberge menu` dans le chat
2. Cliquez sur le type de menu souhaité :
- **Menu Médiocre** 🍗 : Plat médiocre + Boisson de base
- **Menu Commun** 🍽️ : Plat commun + Boisson de base + Dessert
- **Menu de Qualité** 👑 : Plat de qualité + Boisson forte + Dessert
- **Menu Fluvial** 🐟 : Plat de rivière + Boisson de base + Dessert
- **Menu Maritime** ⚓ : Plat maritime + Boisson forte + Dessert
- **Menu Excellent** 💎 : Plat excellent + Boisson forte + Dessert
3. Le menu complet est généré automatiquement avec un jet sur chaque table concernée
### Tables disponibles
- **BoissonsBase** (`boissonsbase`, `base`)
- **BoissonsFortes** (`boissonsfortes`, `fortes`)
- **Desserts** (`desserts`)
- **PlatsCommuns** (`platscommuns`, `communs`)
- **PlatsExcellents** (`platsexcellents`, `excellents`)
- **PlatsMaritimes** (`platsmaritimes`, `maritimes`, `mari`)
- **PlatsMédiocres** (`platsmediocres`, `mediocres`)
- **PlatsQualité** (`platsqualite`, `qualite`)
- **PlatsRivières** (`platsrivieres`, `rivieres`)
### Raccourcis
Le système accepte des raccourcis et ignore les accents :
- `mari` → PlatsMaritimes
- `qualité` ou `qualite` → PlatsQualité
- `médiocres` ou `mediocres` → PlatsMédiocres
## Architecture
Le module suit la même architecture que le module TravelV2 (commande `/voyage`) :
```
modules/inn/
├── inn-init.js # Initialisation et enregistrement de la commande
└── InnRoller.js # Logique métier des jets de tables
```
### Affichage personnalisé
Les résultats des jets sont affichés avec un **rendu visuel personnalisé** :
- 🍷 Icône adaptée au type (boisson, plat, dessert)
- 🎨 Carte stylisée avec dégradés et bordures
- 🎲 Affichage du jet de dés (formule et total)
- 📋 Nom de la table et du plat mis en valeur
- 🎉 Message de conclusion thématique
Le système détecte automatiquement le type de plat/boisson et adapte l'icône :
- **Boissons** : 🍷 Verre de vin
- **Desserts** : 🎂 Gâteau
- **Plats** : 🍴 Couverts
### Fichiers principaux
- **inn-init.js** :
- Enregistre la commande `/auberge` via `game.wfrp4e.commands`
- Gère les hooks pour les clics sur les liens de tables
- Expose `game.wfrp4e.inn` pour accès programmatique
- **InnRoller.js** :
- Gestion des jets sur les tables d'auberge
- Normalisation des noms de tables
- Recherche par mots-clés
- Affichage de l'aide et de la liste des tables
## Intégration
Le module est initialisé dans `wh4_fr.js` :
```javascript
import { initInn } from './modules/inn/inn-init.js';
Hooks.once("init", function() {
initInn();
});
```
## Dépendances
- Compendium : `wh4-fr-translation.plats-dauberges`
- Système WFRP4e avec support de `game.wfrp4e.commands`
## Permissions
La commande `/auberge` est réservée au MJ (GM).
## API Programmatique
```javascript
// Afficher l'aide
game.wfrp4e.inn.displayHelp();
// Lister les tables
game.wfrp4e.inn.listTables();
// Effectuer un jet
game.wfrp4e.inn.rollInnTable('base');
// Trouver une table par mot-clé
const tableName = game.wfrp4e.inn.findTableByKeyword('mari');
```
## Migration depuis l'ancien système
L'ancienne implémentation dans `addon-register.js` (`_manage_inn_roll`) a été remplacée par ce module pour :
- Cohérence avec le module TravelV2
- Meilleure maintenabilité
- Support des commandes WFRP4e natives
- Interface utilisateur améliorée
## Styles CSS
Les styles sont définis dans `patch-styles.css` avec les classes :
- `.wfrp4e-inn-help` - Aide de la commande
- `.wfrp4e-inn-list` - Liste des tables
- `.wfrp4e-inn-table-list` - Liste avec liens cliquables