Ajout de la commande /voyage et grosse MAJK de la commande /auberge
This commit is contained in:
148
modules/inn/README.md
Normal file
148
modules/inn/README.md
Normal file
@@ -0,0 +1,148 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user