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>
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 :
// 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
- Validation automatique - Les types de champs sont vérifiés automatiquement
- Valeurs par défaut - Chaque champ a une valeur initiale définie
- Type safety - Meilleure autocomplete dans les IDEs
- Performance - Optimisation interne de Foundry VTT
- 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 :
- Créer un nouveau fichier DataModel dans ce dossier
- Définir le schema avec
static defineSchema() - Exporter le modèle dans
_module.js - Enregistrer le modèle dans
ecryme-main.js(CONFIG.Actor.dataModels ou CONFIG.Item.dataModels)
Exemple minimal
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/