Rework fiches, jets de dés et CSS

This commit is contained in:
2026-04-03 16:22:51 +02:00
parent e001ec0dc9
commit 1fb80f6abe
21 changed files with 3091 additions and 1316 deletions

View File

@@ -362,7 +362,7 @@
<h3><label class="items-title-text">Runes</label></h3>
</span>
<span class="item-field-label-long">
<label class="short-label">Haute Langue</label>
<label class="short-label">Haut Parler</label>
</span>
<span class="item-field-label-short">
<label class="short-label">Difficulté</label>
@@ -375,7 +375,7 @@
{{#each runes as |rune key|}}
<li class="item flexrow " data-item-id="{{rune._id}}" data-item-type="rune">
<img class="item-name-img" src="{{rune.img}}" />
<span class="item-name-label competence-name">{{rune.name}}</span>
<span class="item-name-label competence-name"><a data-action="rollRune">{{rune.name}}</a></span>
<span class="item-field-label-long">{{rune.system.formule}}</span>
<span class="item-field-label-short">{{rune.system.seuil}}</span>
<div class="item-filler">&nbsp;</div>
@@ -779,8 +779,8 @@
<span>
<h3>Description</h3>
</span>
<div class="medium-editor item-text-long-line">
{{editor description target="system.biodata.description" button=true owner=owner editable=editable}}
<div class="editor">
{{formInput systemFields.biodata.fields.description enriched=enrichedDescription value=system.biodata.description name="system.biodata.description" toggled=true}}
</div>
</div>

View File

@@ -1,33 +1,96 @@
<div class="chat-message-header">
{{#if actorImg}}
<img class="actor-icon" src="{{actorImg}}" alt="{{alias}}" />
{{/if}}
<h4 class="chat-actor-name">{{alias}}</h4>
</div>
<div class="mournblade-chat-result">
<hr />
{{#if actionImg}}
<div>
<img class="chat-icon" src="{{actionImg}}" alt="{{name}}" />
</div>
{{/if}}
<div class="flexcol"></div>
<div>
<ul>
<li>
<strong>Arme</strong> : {{arme.name}} (+{{arme.system.totalDegats}})
</li>
<li><strong>Formule</strong> : {{formula}}</li>
<li><strong>Dégats</strong> : {{finalResult}}</li>
{{#if targetVigueur}}
<li><strong>Vigueur de la cible</strong> : {{targetVigueur}}</li>
<li>
<strong>Etats de Combativité supplémentaires perdus (auto)</strong> :
{{nbEtatPerdus}}
</li>
{{!-- Header avec acteur --}}
<div class="chat-result-header">
{{#if actorImg}}
<img class="actor-icon" src="{{actorImg}}" alt="{{alias}}" />
{{/if}}
</ul>
<div class="header-info">
<h4 class="actor-name">{{alias}}</h4>
{{#if arme}}
<div class="action-title">
<i class="fas fa-swords"></i>
Dégâts — {{arme.name}}
{{#if arme.system.nonletaux}}<span class="non-lethal-tag">(Non létaux)</span>{{/if}}
</div>
{{/if}}
</div>
</div>
{{!-- Résultat des dégâts --}}
<div class="result-main">
<div class="result-display">
<div class="dice-result">
<i class="fas fa-dice"></i>
<span class="dice-value">{{diceResult}}</span>
</div>
<div class="total-result">
<span class="total-label">Dégâts</span>
<span class="total-value">{{finalResult}}</span>
</div>
{{#if targetVigueur}}
<div class="difficulty">
<span class="difficulty-label">SV</span>
<span class="difficulty-value">{{targetVigueur}}</span>
</div>
{{/if}}
</div>
{{!-- Badge résultat dégâts --}}
{{#if targetVigueur}}
<div class="result-badge-container">
{{#if (eq nbEtatPerdus 0)}}
<div class="result-badge failure">
<i class="fas fa-shield"></i> Armure tient
</div>
{{else if (eq nbEtatPerdus 1)}}
<div class="result-badge success">
<i class="fas fa-bolt"></i> +1 état supplémentaire
</div>
{{else}}
<div class="result-badge heroique">
<i class="fas fa-fire"></i> +{{nbEtatPerdus}} états supplémentaires
</div>
{{/if}}
</div>
{{/if}}
</div>
{{!-- Détails des dégâts --}}
<div class="result-details">
<div class="detail-row">
<span class="detail-label">Arme :</span>
<span class="detail-value">{{arme.name}} (+{{arme.system.totalDegats}})</span>
</div>
<div class="detail-row">
<span class="detail-label">Formule :</span>
<span class="detail-value">{{formula}}</span>
</div>
{{#if targetVigueur}}
<div class="detail-row">
<span class="detail-label">SV cible :</span>
<span class="detail-value">{{targetVigueur}}</span>
</div>
<div class="detail-row">
<span class="detail-label">États supplémentaires perdus :</span>
<span class="detail-value">{{nbEtatPerdus}}</span>
</div>
{{/if}}
</div>
{{!-- Info : dégâts auto-appliqués si cible sélectionnée --}}
<div class="result-effects">
{{#if defenderTokenId}}
<div class="effect-item">
<i class="fas fa-check-circle"></i>
Combativité appliquée automatiquement à la cible.
</div>
{{else}}
<div class="effect-item">
<i class="fas fa-info-circle"></i>
Aucune cible sélectionnée — appliquez les dégâts manuellement.
</div>
{{/if}}
</div>
</div>

View File

@@ -1,138 +1,304 @@
<div class="chat-message-header">
{{#if actorImg}}
<img class="actor-icon" src="{{actorImg}}" alt="{{alias}}" />
{{/if}}
<h4 class="chat-actor-name">{{alias}}</h4>
</div>
<div class="mournblade-chat-result">
<hr />
{{#if actionImg}}
<div>
<img class="chat-icon" src="{{actionImg}}" alt="{{name}}" />
</div>
{{/if}}
<div class="flexcol"></div>
<div>
<ul>
<li class="mournblade-cyd2-roll">
<strong>Attribut</strong> : {{attr.label}} ({{attr.value}})
</li>
{{#if attr2}}
<li><strong>Attribut</strong> : {{attr2.label}} ({{attr2.value}})</li>
{{/if}} {{#if competence}}
<li>
<strong>Compétence</strong> : {{competence.name}}
({{competence.system.niveau}})
</li>
{{/if}} {{#if selectedMaitrise}}
<li><strong>Maitrise</strong> : {{selectedMaitrise.name}}</li>
{{/if}} {{#if arme}}
<li>
<strong>Arme</strong> : {{arme.name}} (+{{arme.system.bonusmaniementoff}})
</li>
{{!-- Header avec acteur --}}
<div class="chat-result-header">
{{#if actorImg}}
<img class="actor-icon" src="{{actorImg}}" alt="{{alias}}" />
{{/if}}
<li><strong>Formule</strong> : {{diceFormula}}</li>
<li><strong>Résultat du dé</strong> : {{diceResult}}</li>
{{#if bonusRoll}}
<li><strong>{{textBonus}}</strong> : +{{bonusRoll.total}}</li>
{{/if}}
<li><strong>Total</strong> : {{finalResult}}</li>
{{#if attaqueCharge}}
<li>
Vous avez chargé : vos adversaires bénéficient de +3 pour vous attaquer
</li>
{{/if}} {{#if difficulte}}
<li><strong>SD</strong> : {{difficulte}}</li>
{{#if isSuccess}}
<li class="chat-success">Succés...</li>
{{#if attaqueDesarme}}
<li>Vous désarmez votre adversaire ! Son arme tombe hors de sa portée.</li>
{{/if}} {{else}}
<li class="chat-failure">Echec...</li>
{{/if}} {{/if}} {{#if isHeroique}}
<li class="chat-success">Héroïque !!!</li>
{{#if attaqueDesarme}}
<li>
... Et en plus vous récupérez l'arme de votre adversaire dans votre main
(si vous le souhaitez) !.
</li>
{{/if}} {{/if}} {{#if isDramatique}}
<li class="chat-failure">Dramatique !!!</li>
{{/if}} {{#if isInit}}
<li>Initiative stockée !</li>
{{/if}} {{#if isSuccess}} {{#if immobiliser}} {{#if isHeroique}}
<li>
Votre cible est immobilisée, et vous pouvez faire une action complexe.
</li>
{{else}}
<li>Votre cible est immobilisée.</li>
{{/if}} {{/if}} {{#if desengager}} {{#if isSuccess}}
<li>Vous vous désengagez de votre adversaire.</li>
{{else}}
<li>
Vous ne parvenez pas à vous désengager de votre adversaire, il a un bonus
de +3 pour vous attaquer
</li>
{{/if}} {{/if}} {{#if repousser}} {{#if isHeroique}}
<li>Votre cible est repoussée de 3 mètres et tombe au sol.</li>
{{else}}
<li>Votre cible tombe au sol.</li>
{{/if}} {{/if}} {{#if assomer}} {{#if isHeroique}}
<li>Votre cible est assomée pour [[/r 1d10+10]] minutes.</li>
{{else}}
<li>Votre cible est assomée pour [[/r 1d10]] minutes.</li>
{{/if}} {{/if}} {{#if coupBas}}
<li>
La cible a reçu 2 adversités bleues et a perdu 1 niveau de combativité
(auto).
</li>
{{#if isHeroique}}
<li>Et votre cible perd sa prochaine action complexe.</li>
{{/if}} {{/if}} {{#if arme}} {{#if contenir}} {{#if isHeroique}}
<li>
Aucun dégât, mais tous les adversaires dont le Seuil de Défense + 10 est
atteint ou dépassé par le résultat de la manœuvre ne peuvent déclarer
dattaque contre le personnage lors de leur prochaine action complexe (à
ce tour de jeu ou au suivant).
</li>
{{else}}
<li>
Aucun dégât, mais la cible de cette manœuvre ne peut pas déclarer
dattaque contre vous lors de sa prochaine action complexe (à ce tour de
jeu ou au suivant).
</li>
{{/if}} {{else}} {{#if (eq nbCombativitePerdu "vaincu")}}
<li>Votre adversaire est vaincu !</li>
{{else}}
<li>
Votre adversaire a perdu {{nbCombativitePerdu}} Etat de Combativité (auto)
</li>
{{#if (not arme.system.onlevelonly)}}
<button class="chat-card-button roll-chat-degat">Dégats de l'arme</button>
{{#if coupDevastateur}}
<button class="chat-card-button roll-chat-degat-devastateur">
Dégats de l'arme avec Coup Dévastateur
</button>
{{/if}} {{/if}} {{/if}} {{/if}} {{/if}} {{/if}} {{#each predilections as
|pred key|}}
<li>
{{#if (and (and pred.acquise (not pred.maitrise)) (not pred.used))}}
<button
class="chat-card-button predilection-reroll"
data-predilection-index="{{key}}"
>
Predilection : {{pred.name}}
</button>
<div class="header-info">
<h4 class="actor-name">{{alias}}</h4>
{{#if competence}}
<div class="action-title">
<i class="fas fa-dice-d10"></i>
{{competence.name}}
{{#if rune}}{{rune.name}}{{else if arme}}{{arme.name}}{{/if}}
</div>
{{else if attr}}
<div class="action-title">
<i class="fas fa-dice-d10"></i>
{{attr.label}}{{#if attr2}} / {{attr2.label}}{{/if}}
</div>
{{/if}}
</li>
{{/each}}
</ul>
</div>
</div>
{{!-- Résultat principal --}}
<div class="result-main">
<div class="result-display">
<div class="dice-result">
<i class="fas fa-dice"></i>
<span class="dice-value">{{diceResult}}</span>
</div>
{{#if isD20Impair}}
<div class="dice-result d20-impair">
<i class="fas fa-exclamation-circle"></i>
<span class="dice-value">D20 impair → valeur dé : 0</span>
</div>
{{/if}}
<div class="total-result">
<span class="total-label">Total</span>
<span class="total-value">{{finalResult}}</span>
</div>
{{#if difficulte}}
<div class="difficulty">
<span class="difficulty-label">SD</span>
<span class="difficulty-value">{{difficulte}}</span>
</div>
{{/if}}
</div>
{{!-- Badge de résultat --}}
{{#if difficulte}}
<div class="result-badge-container">
{{#if isHeroique}}
<div class="result-badge heroique">
<i class="fas fa-star"></i> HÉROÏQUE !
</div>
{{else if isDramatique}}
<div class="result-badge dramatique">
<i class="fas fa-skull"></i> DRAMATIQUE !
</div>
{{else if isSuccess}}
<div class="result-badge success">
<i class="fas fa-check"></i> Succès
</div>
{{else}}
<div class="result-badge failure">
<i class="fas fa-times"></i> Échec
</div>
{{/if}}
</div>
{{/if}}
</div>
{{!-- Détails du jet --}}
<div class="result-details">
<div class="detail-row">
<span class="detail-label">Formule :</span>
<span class="detail-value">{{diceFormula}}</span>
</div>
{{#if attr}}
<div class="detail-row">
<span class="detail-label">{{attr.label}} :</span>
<span class="detail-value">{{attr.value}}</span>
</div>
{{/if}}
{{#if attr2}}
<div class="detail-row">
<span class="detail-label">{{attr2.label}} :</span>
<span class="detail-value">{{attr2.value}}</span>
</div>
{{/if}}
{{#if competence}}
<div class="detail-row">
<span class="detail-label">{{competence.name}} :</span>
<span class="detail-value">{{competence.system.niveau}}</span>
</div>
{{/if}}
{{#if selectedMaitrise}}
<div class="detail-row">
<span class="detail-label">Maîtrise :</span>
<span class="detail-value">{{selectedMaitrise.name}}</span>
</div>
{{/if}}
{{#if arme}}
<div class="detail-row">
<span class="detail-label">Arme :</span>
<span class="detail-value">{{arme.name}} (+{{arme.system.bonusmaniementoff}})</span>
</div>
{{/if}}
{{#if rune}}
<div class="detail-row">
<span class="detail-label">Rune :</span>
<span class="detail-value">{{rune.name}}{{#if rune.system.formule}}{{rune.system.formule}}{{/if}}</span>
</div>
<div class="detail-row">
<span class="detail-label">Mode :</span>
<span class="detail-value">{{runemode}}</span>
</div>
<div class="detail-row">
<span class="detail-label">Pouvoir / Durée :</span>
<span class="detail-value">{{runeame}} pts → {{runeduree}} action(s) complexe(s)</span>
</div>
<div class="detail-row">
<span class="detail-label">Coût en Âme :</span>
<span class="detail-value">{{runeAmeCout}} pts</span>
</div>
{{/if}}
{{#if bonusRoll}}
<div class="detail-row bonus">
<span class="detail-label">{{textBonus}} :</span>
<span class="detail-value">+{{bonusRoll.total}}</span>
</div>
{{/if}}
</div>
{{!-- Effets et conséquences --}}
{{#if rune}}
<div class="result-effects">
{{#if isSuccess}}
{{#if isHeroique}}
<div class="effect-item">
<i class="fas fa-star"></i>
La rune {{rune.name}} est activée avec une puissance héroïque — la résistance est impossible !
</div>
{{else}}
<div class="effect-item">
<i class="fas fa-magic"></i>
La rune {{rune.name}} est activée avec succès.
</div>
{{/if}}
{{else}}
{{#if isDramatique}}
<div class="effect-item">
<i class="fas fa-skull"></i>
Échec dramatique : la rune échoue — les forces du chaos se déchaînent !
</div>
{{else}}
<div class="effect-item">
<i class="fas fa-times-circle"></i>
Échec simple : la rune n'a aucun effet.
</div>
{{/if}}
{{/if}}
</div>
{{else}}
{{!-- Effets et conséquences --}}
{{#if isSuccess}}
<div class="result-effects">
{{#if attaqueCharge}}
<div class="effect-item">
<i class="fas fa-horse"></i>
Vous avez chargé : vos adversaires bénéficient de +3 pour vous attaquer.
</div>
{{/if}}
{{#if attaqueDesarme}}
<div class="effect-item">
{{#if isHeroique}}
<i class="fas fa-hand-rock"></i>
Vous désarmez votre adversaire <em>et</em> récupérez son arme (si vous le souhaitez) !
{{else}}
<i class="fas fa-hand-rock"></i>
Vous désarmez votre adversaire ! Son arme tombe hors de sa portée.
{{/if}}
</div>
{{/if}}
{{#if immobiliser}}
<div class="effect-item">
{{#if isHeroique}}
<i class="fas fa-lock"></i>
Votre cible est immobilisée — vous pouvez faire une action complexe.
{{else}}
<i class="fas fa-lock"></i>
Votre cible est immobilisée.
{{/if}}
</div>
{{/if}}
{{#if repousser}}
<div class="effect-item">
{{#if isHeroique}}
<i class="fas fa-arrow-right"></i>
Votre cible est repoussée de 3 mètres et tombe au sol.
{{else}}
<i class="fas fa-arrow-right"></i>
Votre cible tombe au sol.
{{/if}}
</div>
{{/if}}
{{#if assomer}}
<div class="effect-item">
{{#if isHeroique}}
<i class="fas fa-dizzy"></i>
Votre cible est assommée pour [[/r 1d10+10]] minutes.
{{else}}
<i class="fas fa-dizzy"></i>
Votre cible est assommée pour [[/r 1d10]] minutes.
{{/if}}
</div>
{{/if}}
{{#if coupBas}}
<div class="effect-item">
<i class="fas fa-exclamation-circle"></i>
La cible reçoit 2 adversités bleues et perd 1 niveau de combativité (auto).
{{#if isHeroique}}
<br/><i class="fas fa-plus"></i> Votre cible perd aussi sa prochaine action complexe.
{{/if}}
</div>
{{/if}}
{{#if arme}}
{{#if contenir}}
<div class="effect-item">
{{#if isHeroique}}
<i class="fas fa-shield"></i>
Tous les adversaires dont le SD+10 est atteint ne peuvent pas déclarer d'attaque lors de leur prochaine action complexe.
{{else}}
<i class="fas fa-shield"></i>
La cible ne peut pas vous attaquer lors de sa prochaine action complexe.
{{/if}}
</div>
{{else}}
{{#if (eq nbCombativitePerdu "vaincu")}}
<div class="effect-item">
<i class="fas fa-skull-crossbones"></i>
Votre adversaire est <strong>vaincu</strong> !
</div>
{{else}}
<div class="effect-item">
<i class="fas fa-bolt"></i>
Votre adversaire a perdu <strong>{{nbCombativitePerdu}}</strong> état(s) de combativité (auto).
</div>
{{#if (not arme.system.onlevelonly)}}
<div class="damage-buttons">
<button class="chat-card-button roll-chat-degat">
<i class="fas fa-burst"></i> Dégâts de l'arme
</button>
{{#if coupDevastateur}}
<button class="chat-card-button roll-chat-degat-devastateur">
<i class="fas fa-fire"></i> Dégâts avec Coup Dévastateur
</button>
{{/if}}
</div>
{{/if}}
{{/if}}
{{/if}}
{{/if}}
</div>
{{else}}
{{!-- Conséquences d'un échec --}}
{{#if desengager}}
<div class="result-effects">
<div class="effect-item">
<i class="fas fa-exclamation-triangle"></i>
Vous ne parvenez pas à vous désengager — malus de -5 à votre défense ce tour et le suivant.
</div>
</div>
{{/if}}
{{#if isInit}}
<div class="result-effects">
<div class="effect-item">
<i class="fas fa-clock"></i>
Initiative stockée !
</div>
</div>
{{/if}}
{{/if}}
{{/if}}
{{!-- Prédilections (boutons de relance) --}}
{{#each predilections as |pred key|}}
{{#if (and (and pred.acquise (not pred.maitrise)) (not pred.used))}}
<div class="predilection-section">
<button class="chat-card-button predilection-reroll" data-predilection-index="{{key}}">
<i class="fas fa-redo"></i> Prédilection : {{pred.name}}
</button>
</div>
{{/if}}
{{/each}}
</div>

View File

@@ -347,14 +347,14 @@
<div class="tab biodata" data-group="primary" data-tab="biodata">
<div class="sheet-box color-bg-archetype">
<div class="section-title">Description</div>
<div class="medium-editor item-text-long-line">
{{editor description target="system.biodata.description" button=true owner=owner editable=editable}}
<div class="editor">
{{formInput systemFields.biodata.fields.description enriched=enrichedDescription value=system.biodata.description name="system.biodata.description" toggled=true}}
</div>
</div>
<div class="sheet-box color-bg-archetype">
<div class="section-title">Habitat</div>
<div class="medium-editor item-text-long-line">
{{editor habitat target="system.biodata.habitat" button=true owner=owner editable=editable}}
<div class="editor">
{{formInput systemFields.biodata.fields.habitat enriched=enrichedHabitat value=system.biodata.habitat name="system.biodata.habitat" toggled=true}}
</div>
</div>
</div>

View File

@@ -1,8 +1,55 @@
<div class="post-item" data-transfer="{{transfer}}">
<h3><b>{{name}}</b></h3>
{{#if img}}
<img class="chat-img" src="{{img}}" title="{{name}}" />
<div class="mournblade-post-item" data-jsondata="{{jsondata}}">
{{!-- Header --}}
<div class="post-item-header">
{{#if img}}
<img class="post-item-img" src="{{img}}" title="{{name}}" />
{{/if}}
<div class="post-item-title">
<h3 class="post-item-name">{{name}}</h3>
<span class="post-item-type">{{type}}</span>
</div>
</div>
{{!-- Statistiques selon le type --}}
{{#if (eq type "arme")}}
<div class="post-item-stats">
{{#if system.typearme}}<div class="post-stat"><span class="stat-label">Type</span><span class="stat-value">{{system.typearme}}</span></div>{{/if}}
{{#if system.degats}}<div class="post-stat"><span class="stat-label">Dégâts</span><span class="stat-value">{{system.degats}}</span></div>{{/if}}
{{#if system.bonusmaniementoff}}<div class="post-stat"><span class="stat-label">Bonus off.</span><span class="stat-value">+{{system.bonusmaniementoff}}</span></div>{{/if}}
{{#if system.seuildefense}}<div class="post-stat"><span class="stat-label">Seuil def.</span><span class="stat-value">{{system.seuildefense}}</span></div>{{/if}}
</div>
{{/if}}
<h4><b>Description : </b></h4>
<p class="card-content">{{{system.description}}}</p>
{{#if (eq type "protection")}}
<div class="post-item-stats">
{{#if system.protection}}<div class="post-stat"><span class="stat-label">Protection</span><span class="stat-value">{{system.protection}}</span></div>{{/if}}
{{#if system.adversitepoids}}<div class="post-stat"><span class="stat-label">Adv. poids</span><span class="stat-value">{{system.adversitepoids}}</span></div>{{/if}}
</div>
{{/if}}
{{#if (eq type "competence")}}
<div class="post-item-stats">
{{#if system.niveau}}<div class="post-stat"><span class="stat-label">Niveau</span><span class="stat-value">{{system.niveau}}</span></div>{{/if}}
{{#if (ne system.attribut1 "none")}}<div class="post-stat"><span class="stat-label">Attribut 1</span><span class="stat-value">{{upper system.attribut1}}</span></div>{{/if}}
{{#if (ne system.attribut2 "none")}}<div class="post-stat"><span class="stat-label">Attribut 2</span><span class="stat-value">{{upper system.attribut2}}</span></div>{{/if}}
</div>
{{/if}}
{{#if (eq type "rune")}}
<div class="post-item-stats">
{{#if system.formule}}<div class="post-stat"><span class="stat-label">Formule</span><span class="stat-value">{{system.formule}}</span></div>{{/if}}
{{#if system.seuil}}<div class="post-stat"><span class="stat-label">Seuil</span><span class="stat-value">{{system.seuil}}</span></div>{{/if}}
{{#if system.prononcee}}<div class="post-stat post-stat-full"><span class="stat-label">Prononcée</span><span class="stat-value">{{system.prononcee}}</span></div>{{/if}}
{{#if system.tracee}}<div class="post-stat post-stat-full"><span class="stat-label">Tracée</span><span class="stat-value">{{system.tracee}}</span></div>{{/if}}
</div>
{{/if}}
{{!-- Description --}}
{{#if system.description}}
<div class="post-item-description">
{{{system.description}}}
</div>
{{/if}}
</div>

View File

@@ -1,240 +1,311 @@
<form class="skill-roll-dialog">
<header class="roll-dialog-header">
{{#if img}}
<img class="actor-icon" src="{{img}}" data-edit="img" title="{{name}}" />
{{/if}}
<h1 class="dialog-roll-title roll-dialog-header">{{title}}</h1>
</header>
<div class="flexcol">
<div class="flexrow">
{{#if (eq attrKey "tochoose")}}
<span class="roll-dialog-label">Attribut</span>
<select class="status-small-label color-class-common" id ="attrKey" type="text" name="attrKey" value="attrKey" data-dtype="string" >
{{selectOptions attributs selected=attrKey}}
</select>
{{else}}
<span class="roll-dialog-label">{{attr.label}}</span>
<span class="small-label roll-dialog-label">{{attr.value}}</span>
{{/if}}
</div>
{{#if nbAdversites}}
<div class="flexrow">
<span class="roll-dialog-label">Malus d'adversités </span>
<span class="small-label roll-dialog-label">- {{nbAdversites}}</span>
</div>
{{/if}}
{{!-- Header --}}
<div class="dialog-header">
<img class="actor-icon" src="{{img}}" alt="{{name}}" />
<div class="dialog-title">
<h3>{{name}}</h3>
{{#if competence}}
<div class="flexrow">
<span class="roll-dialog-label">{{competence.name}}</span>
<span class="small-label roll-dialog-label">{{competence.system.niveau}}</span>
<div class="competence-name">
{{competence.name}}
{{#if arme}}{{arme.name}}{{/if}}
{{#if (and attr (ne attrKey "tochoose"))}}
<span class="attribut-info"> ({{attr.label}} : {{attr.value}})</span>
{{/if}}
</div>
{{#if maitrises}}
<div class="flexrow">
<span class="roll-dialog-label">Utiliser une maîtrise</span>
<select class="status-small-label color-class-common" id ="select-maitrise" type="text" name="select-maitrise" value="maitriseId" data-dtype="string" >
{{selectOptions maitrises selected=maitriseId valueAttr="key" nameAttr="key" labelAttr="label"}}
</select>
</div>
{{/if}}
{{else}}
<div class="flexrow">
<span class="roll-dialog-label">Second Attribut</span>
<select class="status-small-label color-class-common" id ="attrKey2" type="text" name="attrKey2" value="attrKey2" data-dtype="string" >
{{#select attrKey2}}
<option value="none">Aucun</option>
{{#each attributs as |attrLabel attrKey|}}
<option value="{{attrKey}}">{{attrLabel}}</option>
{{/each}}
{{/select}}
</select>
</div>
{{#if (and attr (ne attrKey "tochoose"))}}
<div class="competence-name">
<span class="attribut-info">{{attr.label}} : {{attr.value}}</span>
</div>
{{/if}}
{{/if}}
</div>
</div>
{{#if (count talents)}}
<div class="flexrow">
<span class="roll-dialog-label">Talents </span>
<select class="flex1" name="competence-talents" id="competence-talents" data-type="String" multiple>
{{!-- Main Content --}}
<div class="dialog-content">
{{!-- Attribut à choisir --}}
{{#if (eq attrKey "tochoose")}}
<div class="form-group attributes-section">
<label>Attribut</label>
<select id="attrKey" name="attrKey">
{{selectOptions attributs selected=attrKey}}
</select>
</div>
{{/if}}
{{!-- Second attribut (hors compétence) --}}
{{#if (not competence)}}
<div class="form-group">
<label>Second attribut</label>
<select id="attrKey2" name="attrKey2">
{{#select attrKey2}}
<option value="none">Aucun</option>
{{#each attributs as |attrLabel attrKey|}}
<option value="{{attrKey}}">{{attrLabel}}</option>
{{/each}}
{{/select}}
</select>
</div>
{{/if}}
{{!-- Malus d'adversités (CYD 2.0) --}}
{{#if nbAdversites}}
<div class="malus-section">
<div class="malus-grid">
<div class="malus-item">
<span class="malus-label">Malus d'adversités</span>
<span class="malus-value">- {{nbAdversites}}</span>
</div>
</div>
</div>
{{/if}}
{{!-- Compétence + Maîtrises --}}
{{#if competence}}
<div class="form-group">
<label>{{competence.name}}</label>
<span class="field-value">{{competence.system.niveau}}</span>
</div>
{{#if maitrises}}
<div class="form-group">
<label>Utiliser une maîtrise</label>
<select id="select-maitrise" name="select-maitrise">
{{selectOptions maitrises selected=maitriseId valueAttr="key" nameAttr="key" labelAttr="label"}}
</select>
</div>
{{/if}}
{{/if}}
{{!-- Talents --}}
{{#if (count talents)}}
<div class="form-group">
<label>Talents</label>
<select class="flex1" name="competence-talents" id="competence-talents" multiple>
{{#each talents as |talent key|}}
<option value="{{talent._id}}">{{talent.name}}</option>
{{/each}}
</select>
</div>
{{/if}}
{{/if}}
{{#if conditionsCommunes}}
<div class="flexrow">
<span class="roll-dialog-label">En surplomb, défenseur au sol (+3)?</span>
<input type="checkbox" id="defenseur-au-sol" {{checked defenseurAuSol}} />
{{!-- Conditions communes (hors arme) --}}
{{#if conditionsCommunes}}
<div class="combat-modifiers">
<h4>Avantages Tactiques</h4>
<div class="modifiers-columns">
<label class="checkbox-label">
<input type="checkbox" id="defenseur-au-sol" {{checked defenseurAuSol}} />
<span>En surplomb / défenseur au sol (+3)</span>
</label>
<label class="checkbox-label">
<input type="checkbox" id="defenseur-aveugle" {{checked defenseurAveugle}} />
<span>Défenseur aveuglé (+10)</span>
</label>
<label class="checkbox-label">
<input type="checkbox" id="defenseur-de-dos" {{checked defenseurDeDos}} />
<span>Défenseur de dos (+5)</span>
</label>
<label class="checkbox-label">
<input type="checkbox" id="defenseur-immobilise" {{checked defenseurImmobilise}} />
<span>Défenseur immobilisé (+5)</span>
</label>
</div>
<div class="flexrow">
<span class="roll-dialog-label">Défenseur aveuglé (+10)?</span>
<input type="checkbox" id="defenseur-aveugle" {{checked defenseurAveugle}} />
</div>
<div class="flexrow">
<span class="roll-dialog-label">Défenseur de dos (+5)?</span>
<input type="checkbox" id="defenseur-de-dos" {{checked defenseurDeDos}} />
</div>
<div class="flexrow">
<span class="roll-dialog-label">Défenseur immobilisé (+5)?</span>
<input type="checkbox" id="defenseur-immobilise" {{checked defenseurImmobilise}} />
</div>
{{/if}}
</div>
{{/if}}
{{#if (or immobiliser repousser)}}
<div class="flexrow">
<span class="roll-dialog-label">Cible consciente?</span>
{{!-- Manœuvres spéciales (immobiliser / repousser) --}}
{{#if (or immobiliser repousser)}}
<div class="form-group">
<label class="checkbox-label">
<input type="checkbox" id="cibleconsciente" {{checked cibleconsciente}} />
</div>
{{/if}}
<span>Cible consciente</span>
</label>
</div>
{{/if}}
{{#if arme}}
{{!-- Rune --}}
{{#if rune}}
<div class="rune-section">
<div class="form-group">
<label>Rune</label>
<span class="field-value">{{rune.name}}{{#if rune.system.formule}}{{rune.system.formule}}{{/if}}</span>
</div>
<div class="form-group">
<label>Mode de lancement</label>
<select id="runemode" name="runemode">
{{selectOptions config.lancementRuneOptions selected=runemode}}
</select>
</div>
<div class="form-group">
<label>Points d'Âme (Pouvoir)</label>
<select id="runeame" name="runeame">
{{selectOptions config.pointsAmeOptions selected=runeame}}
</select>
</div>
</div>
{{/if}}
{{!-- Section arme --}}
{{#if arme}}
<div class="weapon-section">
<div class="weapon-info">
<span class="weapon-label">{{arme.name}}</span>
<span class="weapon-bonus">+{{arme.system.bonusmaniementoff}}</span>
</div>
{{!-- Arme de mêlée --}}
{{#if arme.system.isMelee}}
{{#if bonusArmeNaturelle}}
<div class="flexrow">
<span class="roll-dialog-label">Arme naturelle/fortune en défense</span>
<span class="small-label roll-dialog-label">{{bonusArmeNaturelle}}</span>
<div class="form-group">
<label>Arme naturelle/fortune</label>
<span class="field-value">{{bonusArmeNaturelle}}</span>
</div>
{{/if}}
<div class="flexrow">
<span class="roll-dialog-label">En surplomb, défenseur au sol (+3)?</span>
<input type="checkbox" id="defenseur-au-sol" {{checked defenseurAuSol}} />
<h4>Modificateurs de Combat</h4>
<div class="modifiers-columns">
<label class="checkbox-label">
<input type="checkbox" id="defenseur-au-sol" {{checked defenseurAuSol}} />
<span>En surplomb / défenseur au sol (+3)</span>
</label>
<label class="checkbox-label">
<input type="checkbox" id="attaquants-multiple" {{checked attaquantsMultiples}} />
<span>Attaquants multiples (+3)</span>
</label>
{{#if hasAmbidextre}}
<label class="checkbox-label">
<input type="checkbox" id="ambidextre-1" {{checked attaqueAmbidextre1}} />
<span>1ère attaque avec deux armes (-3)</span>
</label>
<label class="checkbox-label">
<input type="checkbox" id="ambidextre-2" {{checked attaqueAmbidextre2}} />
<span>2ème attaque avec deux armes (-6)</span>
</label>
{{/if}}
{{#if hasFeinte}}
<label class="checkbox-label">
<input type="checkbox" id="feinte" {{checked feinte}} />
<span>Feinte <strong>(coût : 1 BA)</strong></span>
</label>
{{/if}}
<label class="checkbox-label">
<input type="checkbox" id="defenseur-aveugle" {{checked defenseurAveugle}} />
<span>Défenseur aveuglé (+10)</span>
</label>
<label class="checkbox-label">
<input type="checkbox" id="defenseur-de-dos" {{checked defenseurDeDos}} />
<span>Défenseur de dos (+5)</span>
</label>
<label class="checkbox-label">
<input type="checkbox" id="defenseur-restreint" {{checked defenseurRestreint}} />
<span>Espace restreint (+3)</span>
</label>
<label class="checkbox-label">
<input type="checkbox" id="defenseur-immobilise" {{checked defenseurImmobilise}} />
<span>Défenseur immobilisé (+5)</span>
</label>
<label class="checkbox-label">
<input type="checkbox" id="attaque-charge" {{checked attaqueCharge}} />
<span>Charge</span>
</label>
<label class="checkbox-label">
<input type="checkbox" id="contenir" {{checked contenir}} />
<span>Contenir</span>
</label>
<label class="checkbox-label">
<input type="checkbox" id="attaque-desarme" {{checked attaqueDesarme}} />
<span>Désarmer (SD+10)</span>
</label>
{{#if isMonte}}
<label class="checkbox-label">
<input type="checkbox" id="charge-cavalerie" {{checked chargeCavalerie}} />
<span>Charge de cavalerie</span>
</label>
{{/if}}
</div>
<div class="flexrow">
<span class="roll-dialog-label">Attaquants multiples (après le premier) (+3)?</span>
<input type="checkbox" id="attaquants-multiple" {{checked attaquantsMultiples}} />
</div>
{{#if hasAmbidextre}}
<div class="flexrow">
<span class="roll-dialog-label">Première attaque avec deux armes (-3)?</span>
<input type="checkbox" id="ambidextre-1" {{checked attaqueAmbidextre1}} />
</div>
<div class="flexrow">
<span class="roll-dialog-label">Seconde attaque avec deux armes (-6)?</span>
<input type="checkbox" id="ambidextre-2" {{checked attaqueAmbidextre2}} />
</div>
{{/if}}
{{#if hasFeinte}}
<div class="flexrow">
<span class="roll-dialog-label">Feinte (<strong>cout : 1 BA</strong>) ?</span>
<input type="checkbox" id="feinte" {{checked feinte}} />
</div>
{{/if}}
<div class="flexrow">
<span class="roll-dialog-label">Soutiens </span>
<select class="status-small-label color-class-common" name="soutiens" id="soutiens" data-type="Number">
<div class="form-group">
<label>Soutiens</label>
<select id="soutiens" name="soutiens">
{{selectOptions config.optionsSoutiens selected=soutiens valueAttr="key" nameAttr="key" labelAttr="label"}}
</select>
</div>
<div class="flexrow">
<span class="roll-dialog-label">Défenseur aveuglé (+10)?</span>
<input type="checkbox" id="defenseur-aveugle" {{checked defenseurAveugle}} />
</div>
<div class="flexrow">
<span class="roll-dialog-label">Défenseur de dos (+5)?</span>
<input type="checkbox" id="defenseur-de-dos" {{checked defenseurDeDos}} />
</div>
<div class="flexrow">
<span class="roll-dialog-label">Défenseur dans espace restreint (+3)?</span>
<input type="checkbox" id="defenseur-restreint" {{checked defenseurRestreint}} />
</div>
<div class="flexrow">
<span class="roll-dialog-label">Défenseur immobilisé (+5)?</span>
<input type="checkbox" id="defenseur-immobilise" {{checked defenseurImmobilise}} />
</div>
<div class="flexrow">
<span class="roll-dialog-label">Charge ?</span>
<input type="checkbox" id="attaque-charge" {{checked attaqueCharge}} />
</div>
<div class="flexrow">
<span class="roll-dialog-label">Contenir?</span>
<input type="checkbox" id="contenir" {{checked contenir}} />
</div>
<div class="flexrow">
<span class="roll-dialog-label">Désarmer (SD+10)?</span>
<input type="checkbox" id="attaque-desarme" {{checked attaqueDesarme}} />
</div>
{{#if isMonte}}
<div class="flexrow">
<span class="roll-dialog-label">Charge de cavalerie?</span>
<input type="checkbox" id="charge-cavalerie" {{checked chargeCavalerie}} />
</div>
{{/if}}
{{else}}
<div class="flexrow">
<span class="roll-dialog-label">Tireur en déplacement ?</span>
<select class="item-field-label-long" type="text" id="tireur-deplacement" data-dtype="string">
{{selectOptions config.optionsTireurDeplacement selected=tireurDeplacement valueAttr="key" nameAttr="key" labelAttr="label"}}
</select>
</div>
<div class="flexrow">
<span class="roll-dialog-label">Couvert de la cible ?</span>
<select class="item-field-label-long" type="text" id="cible-couvert" data-dtype="string">
{{selectOptions config.optionsCouvert selected=cibleCouvert valueAttr="key" nameAttr="key" labelAttr="label"}}
</select>
</div>
<div class="flexrow">
<span class="roll-dialog-label">Cible se déplace vite (SD+3)?</span>
<input type="checkbox" id="tireur-cible-deplace" {{checked cibleDeplace}} />
</div>
<div class="flexrow">
<span class="roll-dialog-label">Cible corps à corps (SD+3)?</span>
<input type="checkbox" id="tireur-cible-cac" {{checked cibleCaC}} />
</div>
<div class="flexrow">
<span class="roll-dialog-label">Taille de la cible ?</span>
<select class="item-field-label-long" type="text" id="taille-cible" data-dtype="string">
{{selectOptions config.optionsTailleCible selected=tailleCible valueAttr="key" nameAttr="key" labelAttr="label"}}
</select>
</div>
{{/if}}
{{/if}}
<div class="flexrow">
<span class="roll-dialog-label">Bonus/Malus </span>
<select class="roll-dialog-label" id="bonus-malus-context" type="text" value="{{bonusMalusContext}}"
data-dtype="Number">
{{!-- Arme à distance --}}
{{#if arme.system.isDistance}}
<div class="ranged-combat-section">
<h4>Modificateurs de Tir</h4>
<div class="modifiers-columns">
<label class="checkbox-label">
<input type="checkbox" id="tireur-cible-deplace" {{checked cibleDeplace}} />
<span>Cible se déplace vite (SD+3)</span>
</label>
<label class="checkbox-label">
<input type="checkbox" id="tireur-cible-cac" {{checked cibleCaC}} />
<span>Cible en corps-à-corps (SD+3)</span>
</label>
</div>
<div class="modifiers-grid">
<div class="form-group">
<label>Tireur en déplacement</label>
<select id="tireur-deplacement" name="tireur-deplacement">
{{selectOptions config.optionsTireurDeplacement selected=tireurDeplacement valueAttr="key" nameAttr="key" labelAttr="label"}}
</select>
</div>
<div class="form-group">
<label>Couvert de la cible</label>
<select id="cible-couvert" name="cible-couvert">
{{selectOptions config.optionsCouvert selected=cibleCouvert valueAttr="key" nameAttr="key" labelAttr="label"}}
</select>
</div>
<div class="form-group">
<label>Taille de la cible</label>
<select id="taille-cible" name="taille-cible">
{{selectOptions config.optionsTailleCible selected=tailleCible valueAttr="key" nameAttr="key" labelAttr="label"}}
</select>
</div>
<div class="form-group">
<label>SD distance</label>
<select id="distance-tir" name="distance-tir">
{{selectOptions config.optionsDistanceTir selected=distanceTir valueAttr="key" nameAttr="key" labelAttr="label"}}
</select>
</div>
</div>
</div>
{{/if}}
{{!-- SD de l'adversaire (mêlée) --}}
{{#if (and armeDefense (not arme.system.isDistance))}}
<div class="defense-info">
<span class="defense-label">{{#if desengager}}C. Offensive adversaire{{else}}C. Défensive adversaire{{/if}}</span>
<span class="defense-value">{{difficulte}}</span>
</div>
{{/if}}
</div>
{{/if}}
{{!-- Bonus / Malus contextuel et Difficulté --}}
<div class="modifiers-grid">
<div class="form-group">
<label>Bonus / Malus</label>
<select id="bonus-malus-context" name="bonus-malus-context">
{{selectOptions config.optionsBonusMalus selected=bonusMalusContext valueAttr="key" nameAttr="key" labelAttr="label"}}
</select>
</div>
{{#if (or armeDefense arme.system.isDistance)}}
{{#if arme.system.isDistance}}
<div class="flexrow">
<span class="roll-dialog-label">SD de distance</span>
<select class="item-field-label-long" type="text" id="distance-tir" data-dtype="string">
{{selectOptions config.optionsDistanceTir selected=distanceTir valueAttr="key" nameAttr="key" labelAttr="label"}}
</select>
</div>
{{else}}
<div class="flexrow">
{{#if desengager}}
<span class="roll-dialog-label">C. Offensive adversaire </span>
{{else}}
<span class="roll-dialog-label">C. Défensive adversaire</span>
{{/if}}
<span class="roll-dialog-label"><strong>{{difficulte}}</strong> </span>
</div>
{{/if}}
{{else}}
{{#if isInit}}
{{else}}
<div class="flexrow">
<span class="roll-dialog-label">Difficulté : </span>
<select class="roll-dialog-label" id="difficulte" type="text" name="difficulte" data-dtype="String">
{{#if (not isInit)}}
{{#unless (or armeDefense arme.system.isDistance)}}
<div class="form-group">
<label>Difficulté</label>
<select id="difficulte" name="difficulte">
{{selectOptions config.optionsDifficulte selected=difficulte valueAttr="key" nameAttr="key" labelAttr="label"}}
</select>
</div>
{{/if}}
{{/unless}}
{{/if}}
</div>
</form>
</div>