# 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
