Fix: Affichage des Traits et corrections diverses
- Fix: Ajout des sections Traits Chaotiques et Traits d'Espèce dans les fiches de créature - Ajout de context.traitsChaotiques et context.traitsEspeces dans la feuille de créature - Ajout des sections dans le template creature-sheet.hbs avec boutons d'ajout - Fix: Bouton Ajouter Automatisation fonctionnel dans les Talents - Ajout des actions addAutomation et deleteAutomation dans base-item-sheet.mjs - Ajout des méthodes #onAddAutomation et #onDeleteAutomation - Ajout des attributs data-action sur les boutons du template partial-automation.hbs - Ajout des attributs name sur les champs d'automatisation - Ajout du champ Don lié dans les Tendances - Ajout de donlie dans le modèle tendance.mjs - Ajout du champ Don lié dans le template item-tendance-sheet.hbs - Ajout de la catégorie Balance dans les options d'allégeance - Ajout dans mournblade-cyd2-config.js - Ajout de la traduction dans lang/fr.json - Correction du libellé Coût en Âme → Coût en points de pouvoir - Correction du bug de l'éditeur Sacrifices dans les Dons - Ajout de owner et editable dans le contexte - Renommage de Sacrifices en Sacrifices et Tendances liées - Ajout de la case Âme avec Seuil de Pouvoir dans les fiches de créature - Rendre Initiative, Défense et Protection éditables dans les fiches de créature - Ajout des champs inittotal, defensetotal, protectiontotal dans creature.mjs - Modification du contexte pour prioriser les valeurs manuelles - Remplacement des spans par des inputs dans le template Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
@@ -30,6 +30,8 @@ export default class MournbladeCYD2CreatureSheet extends MournbladeCYD2ActorShee
|
||||
|
||||
context.skills = actor.getSkills?.() ?? [];
|
||||
context.combativiteList = MournbladeCYD2Utility.getCombativiteList(actor.system.sante?.nbcombativite || 0);
|
||||
context.ameList = MournbladeCYD2Utility.getAmeList(actor.system.ame.nbame, actor.getAmeMax?.() ?? 0);
|
||||
context.ameMaxList = MournbladeCYD2Utility.getAmeMaxList(actor.system.ame.nbame);
|
||||
context.armes = foundry.utils.duplicate(actor.getWeapons?.() ?? []);
|
||||
context.protections = foundry.utils.duplicate(actor.getArmors?.() ?? []);
|
||||
context.runes = foundry.utils.duplicate(actor.getRunes?.() ?? []);
|
||||
@@ -37,9 +39,16 @@ export default class MournbladeCYD2CreatureSheet extends MournbladeCYD2ActorShee
|
||||
context.equipements = foundry.utils.duplicate(actor.getEquipments?.() ?? []);
|
||||
context.monnaies = foundry.utils.duplicate(actor.getMonnaies?.() ?? []);
|
||||
context.talents = foundry.utils.duplicate(actor.getTalents?.() ?? []);
|
||||
context.traitsChaotiques = foundry.utils.duplicate(actor.getTraitsChaotiques?.() ?? []);
|
||||
context.traitsEspeces = foundry.utils.duplicate(actor.getTraitsEspeces?.() ?? []);
|
||||
context.protectionTotal = actor.getProtectionTotal?.() ?? 0;
|
||||
context.adversiteTotal = (actor.system.adversite?.bleue || 0) + (actor.system.adversite?.rouge || 0) + (actor.system.adversite?.noire || 0);
|
||||
context.initiative = context.combat?.initTotal ?? 0;
|
||||
|
||||
// Utiliser les valeurs manuelles si elles existent, sinon les valeurs calculées
|
||||
context.initiative = actor.system.combat?.inittotal !== undefined ? actor.system.combat.inittotal : (context.combat?.initTotal ?? 0);
|
||||
context.combat.defenseTotal = actor.system.combat?.defensetotal !== undefined ? actor.system.combat.defensetotal : context.combat.defenseTotal;
|
||||
context.protectionTotal = actor.system.combat?.protectiontotal !== undefined ? actor.system.combat.protectiontotal : context.protectionTotal;
|
||||
|
||||
return context;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,6 +22,8 @@ export default class MournbladeCYD2DonSheet extends MournbladeCYD2ItemSheetV2 {
|
||||
/** @override */
|
||||
async _prepareContext() {
|
||||
const context = await super._prepareContext();
|
||||
context.owner = this.document.isOwner;
|
||||
context.editable = this.isEditable;
|
||||
return context;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -88,12 +88,15 @@ export default class CreatureDataModel extends foundry.abstract.TypeDataModel {
|
||||
}),
|
||||
combat: new fields.SchemaField({
|
||||
initbonus: new fields.NumberField({ initial: 0, integer: true }),
|
||||
inittotal: new fields.NumberField({ initial: 0, integer: true }),
|
||||
vitessebonus: new fields.NumberField({ initial: 0, integer: true }),
|
||||
bonusdegats: new fields.NumberField({ initial: 0, integer: true }),
|
||||
attaquebonus: new fields.NumberField({ initial: 0, integer: true }),
|
||||
defensebonus: new fields.NumberField({ initial: 0, integer: true }),
|
||||
defensetotal: new fields.NumberField({ initial: 0, integer: true }),
|
||||
defensetotale: new fields.BooleanField({ initial: false }),
|
||||
monte: new fields.BooleanField({ initial: false })
|
||||
monte: new fields.BooleanField({ initial: false }),
|
||||
protectiontotal: new fields.NumberField({ initial: 0, integer: true })
|
||||
}),
|
||||
balance: new fields.SchemaField({
|
||||
loi: new fields.NumberField({ initial: 0, integer: true }),
|
||||
|
||||
@@ -6,7 +6,8 @@ export default class TendanceDataModel extends foundry.abstract.TypeDataModel {
|
||||
const fields = foundry.data.fields;
|
||||
return {
|
||||
description: new fields.HTMLField({ initial: "" }),
|
||||
allegeance: new fields.StringField({ initial: "" })
|
||||
allegeance: new fields.StringField({ initial: "" }),
|
||||
donlie: new fields.StringField({ initial: "" })
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2718,6 +2718,13 @@ li {
|
||||
background: rgba(10, 20, 55, 0.6);
|
||||
color: #a0c0ff;
|
||||
}
|
||||
.fvtt-mournblade-cyd-2-0.actor .sheet-header .header-stat-cards .stat-card.card-combat {
|
||||
border-top-color: #805010;
|
||||
}
|
||||
.fvtt-mournblade-cyd-2-0.actor .sheet-header .header-stat-cards .stat-card.card-combat .stat-card-title {
|
||||
background: rgba(50, 35, 10, 0.6);
|
||||
color: #ffe8a0;
|
||||
}
|
||||
.fvtt-mournblade-cyd-2-0.actor .sheet-header .header-stat-cards .stat-card .stat-card-title {
|
||||
font-size: 0.68rem;
|
||||
font-weight: bold;
|
||||
|
||||
@@ -35,24 +35,45 @@
|
||||
<label>Niveaux</label>
|
||||
<input type="text" name="system.sante.nbcombativite" value="{{system.sante.nbcombativite}}" data-dtype="Number" />
|
||||
</div>
|
||||
<div class="stat-field">
|
||||
<label>Seuil de Pouvoir</label>
|
||||
<input type="text" name="system.ame.seuilpouvoir" value="{{system.ame.seuilpouvoir}}" data-dtype="Number" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{!-- ÂME --}}
|
||||
<div class="stat-card card-ame">
|
||||
<div class="stat-card-title">✦ Âme <span class="stat-sub">(Seuil {{system.ame.seuilpouvoir}})</span></div>
|
||||
<div class="stat-card-content">
|
||||
<div class="stat-field">
|
||||
<label>État</label>
|
||||
<select name="system.ame.etat">
|
||||
{{selectOptions ameList selected=system.ame.etat valueAttr="value" nameAttr="value" labelAttr="label"}}
|
||||
</select>
|
||||
</div>
|
||||
<div class="stat-field">
|
||||
<label>Niveaux</label>
|
||||
<input type="text" name="system.ame.nbame" value="{{system.ame.nbame}}" data-dtype="Number" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{!-- COMBAT --}}
|
||||
<div class="stat-card card-ame">
|
||||
<div class="stat-card card-combat">
|
||||
<div class="stat-card-title">⚡ Combat</div>
|
||||
<div class="stat-card-content">
|
||||
<div class="stat-field">
|
||||
<label>Init.</label>
|
||||
<span class="stat-derived-value">{{initiative}}</span>
|
||||
<input type="text" name="system.combat.inittotal" value="{{initiative}}" data-dtype="Number" />
|
||||
</div>
|
||||
<div class="stat-field">
|
||||
<label>Déf.</label>
|
||||
<span class="stat-derived-value">{{combat.defenseTotal}}</span>
|
||||
<input type="text" name="system.combat.defensetotal" value="{{combat.defenseTotal}}" data-dtype="Number" />
|
||||
</div>
|
||||
<div class="stat-field">
|
||||
<label>Prot.</label>
|
||||
<span class="stat-derived-value">{{protectionTotal}}</span>
|
||||
<input type="text" name="system.combat.protectiontotal" value="{{protectionTotal}}" data-dtype="Number" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -161,6 +182,60 @@
|
||||
<span class="adversite-total-value">−{{adversiteTotal}}</span>
|
||||
</div>
|
||||
|
||||
<div class="sheet-box color-bg-archetype">
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">Traits Chaotiques</label></h3>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control" data-action="createItem" data-type="traitchaotique" title="Ajouter un Trait Chaotique">
|
||||
<i class="fas fa-plus"></i>
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each traitsChaotiques as |trait key|}}
|
||||
<li class="item flexrow" data-item-id="{{trait._id}}" data-item-type="traitchaotique">
|
||||
<img class="item-name-img" src="{{trait.img}}" />
|
||||
<span class="item-name-label competence-name">{{trait.name}}</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control" data-action="editItem" title="Éditer"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control" data-action="deleteItem" title="Supprimer"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="sheet-box color-bg-archetype">
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">Traits d'Espèce</label></h3>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control" data-action="createItem" data-type="traitespece" title="Ajouter un Trait d'Espèce">
|
||||
<i class="fas fa-plus"></i>
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each traitsEspeces as |trait key|}}
|
||||
<li class="item flexrow" data-item-id="{{trait._id}}" data-item-type="traitespece">
|
||||
<img class="item-name-img" src="{{trait.img}}" />
|
||||
<span class="item-name-label competence-name">{{trait.name}}</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control" data-action="editItem" title="Éditer"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control" data-action="deleteItem" title="Supprimer"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>Sacrifices</h3>
|
||||
<h3>Sacrifices et Tendances liées</h3>
|
||||
|
||||
<div class="small-editor item-text-long-line">
|
||||
{{editor sacrifice target="system.sacrifice" button=true owner=owner
|
||||
|
||||
@@ -23,6 +23,11 @@
|
||||
selected=system.allegeance}}
|
||||
</select>
|
||||
</li>
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label item-field-label-long">Don lié : </label>
|
||||
<input type="text" class="status-small-label color-class-common item-field-label-long"
|
||||
name="system.donlie" value="{{system.donlie}}" data-dtype="String" />
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
Reference in New Issue
Block a user