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

2.8 KiB

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

  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

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/