feat: capacités de créature, blessures séquentielles et refonte fiche Groupe
- Nouvel item Capacité de créature (creaturecapacity) : DataModel, fiche AppV2, chat card, types Base/Survie/Cauchemar/Apocalypse, liste sur l'onglet Informations de la créature avec drag&drop et post au chat. - Blessures : coches séquentielles respectant la gravité (onClickWound), malus de blessure -1D/-2D/-3D appliqué aux jets (Règles p.42), montée en gravité automatique si les cercles sont pleins. - Fiche Groupe : objectifs majeurs/mineurs éditables, liste de membres simplifiée, notes de voyage (roadNotes), totem qui remplit instinct/interdits, refonte visuelle des onglets. - Créature : Réaction lançable, seuils/cercles de blessures corrigés (Taille cumulée, Groupe sans seuil), libellés Taille/Meute. - Corrections : icône de carte de chat plafonnée à 64px, slash orphelin d'entrave à 0, notes de matériel du Groupe éditable (formInput), bonus de Réaction non double-compté. - Divers : suppression des captures de débogage, licence README.
This commit is contained in:
@@ -2,10 +2,11 @@ const { HandlebarsApplicationMixin, ApplicationV2 } = foundry.applications.api
|
||||
|
||||
export class TotemPicker extends HandlebarsApplicationMixin(ApplicationV2) {
|
||||
|
||||
constructor(linkEl, actor) {
|
||||
constructor(linkEl, actor, options = {}) {
|
||||
super();
|
||||
this.linkEl = linkEl;
|
||||
this.actor = actor;
|
||||
this.fillInstincts = options.fillInstincts === true;
|
||||
}
|
||||
|
||||
static get DEFAULT_OPTIONS() {
|
||||
@@ -32,7 +33,17 @@ export class TotemPicker extends HandlebarsApplicationMixin(ApplicationV2) {
|
||||
el.addEventListener('click', event => {
|
||||
const link = event.target.closest('a');
|
||||
if (!link?.dataset.totem) return;
|
||||
this.actor.update({ 'system.identity.totem': link.dataset.totem });
|
||||
const update = { 'system.identity.totem': link.dataset.totem };
|
||||
// Remplit automatiquement Instincts/Interdits depuis la config du totem
|
||||
// (utilisé pour le Totem du Groupe).
|
||||
if (this.fillInstincts && this.actor.system?.identity) {
|
||||
const totemKey = link.dataset.totem;
|
||||
const instincts = game.i18n.localize(`TOTEMS.${totemKey}.instincts`);
|
||||
const bans = game.i18n.localize(`TOTEMS.${totemKey}.bans`);
|
||||
if (!instincts.startsWith("TOTEMS.")) update['system.identity.instincts'] = instincts;
|
||||
if (!bans.startsWith("TOTEMS.")) update['system.identity.prohibits'] = bans;
|
||||
}
|
||||
this.actor.update(update);
|
||||
this.close();
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user