68b3079da8
Corrections majeures : - HamalronTirageTarot extends Roll (évaluation des jets fonctionnelle) - Correction du nom de classe Langue (HamalronFaction -> HamalronLangue) - Création du template tab-navigation.hbs manquant - Type acteur 'character' -> 'personnage' dans _preCreate Types d'items corrigés (anglais -> français) : - weapon -> arme, armor -> armure, equipment -> equipement - Suppression des types inexistants (deal, malefica, ritual, perk) Modèles : - cost -> cout (armure, equipement) - Tarot : default -> initial - Sortilege : LOCALIZATION_PREFIXES corrigé - Constantes CHOICE_ADVANTAGES_DISADVANTAGES et ATTACK_MODIFIERS ajoutées - ATTACK_MODIFIERS supprimé (plus utilisé) Templates alignés sur les modèles réels : - enemy-trait : suppression champs manquants (trauma, stats, domain...) - personnage-equipement : champs alignés sur arme/armure/equipement - personnage-sortileges : suppression domain/level/rituals - enemy-main : suppression stats et flavorText - base-actor : suppression mortality, toChat limité aux tarots Jets de compétence : - Égalité = réussite (>= au lieu de >, conforme aux règles p.155) - Comparaison robuste des cartes de succès (via String()) Le Mat : - Les autres joueurs peuvent renouveler leur main (règle p.151) findTarotItem : recherche dans game.items puis compendiums await manquants ajoutés sur saveDeckState() AGENTS.md créé
26 lines
1.1 KiB
JavaScript
26 lines
1.1 KiB
JavaScript
import { SYSTEM } from "../config/system.mjs";
|
|
|
|
export default class HamalronTarot extends foundry.abstract.TypeDataModel {
|
|
static defineSchema() {
|
|
const fields = foundry.data.fields;
|
|
const schema = {};
|
|
|
|
schema.type = new fields.StringField({ required: true, nullable: false, choices: Object.fromEntries(Object.entries(SYSTEM.TAROT_TYPES).map(([key, val]) => [key, val.label])), initial: "atout" });
|
|
schema.symbole = new fields.StringField({ required: true, nullable: false, choices: Object.fromEntries(Object.entries(SYSTEM.TAROT_SYMBOLES).map(([key, val]) => [key, val.label])), initial: "coupe" });
|
|
schema.valeur = new fields.StringField({
|
|
required: true, nullable: false, choices: Object.fromEntries(Object.entries(SYSTEM.TAROT_VALEURS).map(([key, val]) => [key, val.label])), initial: "1"
|
|
});
|
|
schema.description = new fields.HTMLField({ required: true, textSearch: true });
|
|
|
|
schema.image = new fields.FilePathField({
|
|
required: false,
|
|
categories: ["IMAGE"],
|
|
initial: "icons/svg/treasure.svg",
|
|
})
|
|
|
|
return schema;
|
|
}
|
|
|
|
/** @override */
|
|
static LOCALIZATION_PREFIXES = ["HAMALRON.Tarot"];
|
|
} |