Files
fvtt-ecryme/modules/models/README.md
LeRatierBretonnier b5b1d2ca24 Remove invalid DataModels - keep only template.json types
Removed DataModels that are NOT in template.json types array:
- scar, annency-item, boheme, contact, confrontation

Only valid Item types are: equipment, weapon, trait, specialization, maneuver
Only valid Actor types are: pc, npc, annency

Updated:
- modules/models/_module.js
- modules/ecryme-main.js (CONFIG.Item.dataModels)
- system.json (documentTypes)
- modules/models/README.md

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-18 18:40:58 +01:00

86 lines
2.8 KiB
Markdown

# DataModels Ecryme
## Vue d'ensemble
Ce dossier contient les DataModels pour le système Ecryme. Les DataModels sont la méthode moderne de Foundry VTT (v10+) pour définir les structures de données des acteurs et des items.
## Migration depuis template.json
Le système Ecryme a été migré de l'ancien système `template.json` vers les DataModels. Le fichier `template.json` est conservé pour référence mais est maintenant marqué comme deprecated.
## Structure des fichiers
### Modèles d'Items
- **equipment.js** - Équipements génériques
- **weapon.js** - Armes (mêlée et distance)
- **trait.js** - Traits de personnage
- **specialization.js** - Spécialisations de compétences
- **maneuver.js** - Manœuvres de combat
### Modèles d'Acteurs
- **pc.js** - Personnages joueurs (PC)
- **npc.js** - Personnages non-joueurs (NPC)
- **annency.js** - Annency (acteurs spéciaux)
### Fichier d'index
- **_module.js** - Centralise tous les exports des DataModels
## Utilisation
Les DataModels sont automatiquement enregistrés dans `CONFIG.Actor.dataModels` et `CONFIG.Item.dataModels` lors de l'initialisation du système dans `ecryme-main.js`.
### Accès aux données
Dans les acteurs et items, les données du système sont accessibles via `actor.system` ou `item.system` :
```javascript
// Exemple avec un PC
const athletics = actor.system.skills.physical.skilllist.athletics.value;
// Exemple avec une arme
const weaponType = item.system.weapontype;
```
## Avantages des DataModels
1. **Validation automatique** - Les types de champs sont vérifiés automatiquement
2. **Valeurs par défaut** - Chaque champ a une valeur initiale définie
3. **Type safety** - Meilleure autocomplete dans les IDEs
4. **Performance** - Optimisation interne de Foundry VTT
5. **Maintenance** - Code plus propre et organisé
## Compatibilité
Les DataModels sont rétrocompatibles avec les données existantes. Les acteurs et items créés avec l'ancien système `template.json` seront automatiquement migrés vers les nouveaux DataModels lors de leur chargement.
## Développement
Pour ajouter un nouveau type d'acteur ou d'item :
1. Créer un nouveau fichier DataModel dans ce dossier
2. Définir le schema avec `static defineSchema()`
3. Exporter le modèle dans `_module.js`
4. Enregistrer le modèle dans `ecryme-main.js` (CONFIG.Actor.dataModels ou CONFIG.Item.dataModels)
### Exemple minimal
```javascript
export default class MyNewItemDataModel extends foundry.abstract.TypeDataModel {
static defineSchema() {
const fields = foundry.data.fields;
return {
description: new fields.HTMLField({ initial: "" }),
value: new fields.NumberField({ initial: 0, integer: true, min: 0 })
};
}
}
```
## Documentation Foundry VTT
Pour plus d'informations sur les DataModels :
https://foundryvtt.com/article/system-data-models/