149 lines
4.7 KiB
Markdown
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
|