diff --git a/WEAPON_TYPES_CONFIG.md b/WEAPON_TYPES_CONFIG.md deleted file mode 100644 index 1e1890d..0000000 --- a/WEAPON_TYPES_CONFIG.md +++ /dev/null @@ -1,122 +0,0 @@ -# Configuration des Types d'Armes - PRISM RPG - -## Aperçu - -Ce système permet de configurer et d'ajouter des types d'armes et des groupes d'armes personnalisés via les Settings de Foundry VTT. - -## Fichiers Créés - -### 1. `/module/settings.mjs` -- Enregistre les settings pour les types d'armes personnalisés -- Enregistre les settings pour les groupes d'armes personnalisés -- Crée le menu de configuration dans les Settings - -### 2. `/module/applications/weapon-types-config.mjs` -- Application FormApplication pour éditer les types et groupes d'armes -- Interface avec onglets (Types d'Armes / Groupes d'Armes) -- Fonctionnalités d'ajout, édition et suppression -- Bouton de réinitialisation aux valeurs par défaut - -### 3. `/templates/weapon-types-config.hbs` -- Template Handlebars pour l'interface de configuration -- Affichage en onglets -- Formulaires pour chaque type/groupe d'arme - -### 4. `/styles/weapon-types-config.less` -- Styles CSS pour l'interface de configuration -- Design cohérent avec le système PRISM RPG - -## Fichiers Modifiés - -### 1. `/module/config/weapon.mjs` -- Conversion des constantes `TYPE` et `WEAPON_GROUP` en Proxies dynamiques -- Ajout de fonctions `getWeaponTypes()` et `getWeaponGroups()` -- Les types/groupes sont maintenant chargés depuis les settings -- Rétrocompatibilité maintenue - -### 2. `/module/models/weapon.mjs` -- Import des fonctions `getWeaponTypeChoices()` et `getWeaponGroupChoices()` -- Utilisation de fonctions dynamiques au lieu de constantes statiques -- Les choix sont mis à jour automatiquement depuis les settings - -### 3. `/prism-rpg.mjs` -- Import du module `settings.mjs` -- Appel de `registerSettings()` dans le hook `init` - -### 4. `/module/applications/_module.mjs` -- Export de `WeaponTypesConfig` - -### 5. `/module/utils.mjs` -- Ajout du template `weapon-types-config.hbs` dans les templates préchargés - -### 6. `/styles/fvtt-prism-rpg.less` -- Import du fichier `weapon-types-config.less` - -### 7. `/lang/en.json` -- Ajout de toutes les clés de traduction pour les settings -- Section `Settings` avec toutes les chaînes nécessaires - -## Utilisation - -### Pour les Game Masters - -1. Ouvrir les **Settings** de Foundry VTT -2. Aller dans **Game Settings** -3. Chercher **Configure Weapons** dans la section PRISM RPG -4. Cliquer sur le bouton pour ouvrir l'interface de configuration - -### Interface de Configuration - -#### Onglet "Weapon Types" -- **ID**: Identifiant unique (non modifiable pour les types par défaut) -- **Label**: Nom affiché du type d'arme -- **APC**: Coût en points d'action -- **Hands**: Nombre de mains requises (0, 1, ou 2) - -#### Onglet "Weapon Groups" -- **ID**: Identifiant unique (non modifiable pour les groupes par défaut) -- **Label**: Nom affiché du groupe -- **Passive ID**: Identifiant de la passive -- **Passive Label**: Nom de la passive -- **Passive Description**: Description de l'effet de la passive - -### Ajout d'un Type/Groupe d'Arme - -1. Cliquer sur le bouton **+** dans l'onglet approprié -2. Un nouvel ID unique sera généré automatiquement -3. Remplir les champs -4. Cliquer sur **Save Changes** - -### Suppression d'un Type/Groupe d'Arme - -1. Cliquer sur l'icône **poubelle** à côté du type/groupe -2. L'entrée sera supprimée -3. Cliquer sur **Save Changes** - -### Réinitialisation - -Le bouton **Reset to Defaults** permet de revenir aux valeurs par défaut du système. - -## Types d'Armes par Défaut - -- **Light** (Légère) - 1 APC, 1 main -- **One-Handed** (Une main) - 2 APC, 1 main -- **Heavy** (Lourde) - 3 APC, 2 mains -- **Projectile** - Variable APC, 2 mains - -## Groupes d'Armes par Défaut - -1. **Longsword** - Passive: Turning Edge -2. **Warhammer** - Passive: Puncturing Blows -3. **Battleaxe** - Passive: Shield Eater -4. **Dagger** - Passive: Balancing Stance -5. **Crossbow** - Passive: Boltlock -6. **Longbow** - Passive: Volley Fire - -## Remarques Techniques - -- Les modifications sont sauvegardées au niveau du **monde** (scope: world) -- Un rechargement de la page est déclenché après sauvegarde -- Les valeurs par défaut restent toujours disponibles -- Les types/groupes personnalisés sont fusionnés avec les valeurs par défaut -- Utilisation de Proxies JavaScript pour une compatibilité maximale