- Dialogue d'apprentissage personnage : 4 nouveaux types d'achat.
- Capacité de Totem : options filtrées (mode de jeu, niveau de
groupe, totem, non-apprises), difficulté = valeur d'Apprentissage,
limites 3×N1 / 1×N2-N3 / max 5, marque system.learned de l'item
(convention type character) et learned.ability du personnage.
- Élément d'Historique : difficulté 9, handicap 1 si astérisque
(background.asterisk), marque learned.background + item.
- Test de Réputation (réduire/augmenter) : réduire = difficulté
10 − score visé (−1 pt), augmenter = difficulté = réputation
actuelle (+1 par succès), bornes 0-10, marque learned.reputation.
- Évolution : option Dé de Totem Adapté ×2 quand Adapté > Humain
(1D remplacé par un dé adapté compté ×2 via VermineUtils.roll).
- Correction règles : les Dés d'Expérience sont dépensés même en cas
d'échec du jet d'apprentissage (décompte hors #applySuccess).
- Expérience de Groupe : nouveau dialogue d'apprentissage de Groupe
(niveau, réserve, capacité de totem), réserve d'expérience et phase
dans system.experience, boutons sur la fiche Groupe, reset des
limites par phase (level/reserve/ability).
- Phase d'expérience : filtre par groupe sélectionné, associe chaque
personnage à son premier groupe, reset des limites de tous les
nouveaux types d'apprentissage.
- Corrections : l'attaque de créature n'ajoute plus la Réaction du Rôle
(regles_creatures.txt), suppression de la case XP des en-têtes PJ
(legacy et AppV2).
- Divers : .eslintrc.js (règles inexistantes/obsolètes retirées),
libellé jaune de dialogue en couleur chitine, i18n FR/EN, chips
« appris » sur l'onglet expérience du personnage.
27 lines
896 B
JavaScript
27 lines
896 B
JavaScript
import { listItemSchema, learnSchema, levelSchema } from "./_shared.mjs"
|
|
|
|
/**
|
|
* DataModel pour les items de type "ability" (capacités, pouvoirs).
|
|
* @augments {foundry.abstract.TypeDataModel}
|
|
*/
|
|
export default class VermineAbilityData extends foundry.abstract.TypeDataModel {
|
|
/** @override */
|
|
static LOCALIZATION_PREFIXES = ["VERMINE.item.ability"]
|
|
|
|
/** @override */
|
|
static defineSchema() {
|
|
const fields = foundry.data.fields
|
|
return {
|
|
...listItemSchema(),
|
|
type: new fields.StringField({ required: true, initial: "" }),
|
|
totem: new fields.StringField({ required: true, initial: "" }),
|
|
learn: learnSchema(),
|
|
level: levelSchema(1, 1, 3),
|
|
learned: new fields.BooleanField({ required: true, initial: false }),
|
|
effects: new fields.ArrayField(new fields.StringField({ required: true, initial: "" }), {
|
|
initial: []
|
|
})
|
|
}
|
|
}
|
|
}
|