Appv2 + DataModel migration completed

This commit is contained in:
2026-01-08 07:53:08 +01:00
parent 001f0cffa8
commit 0fd2130fb1
124 changed files with 5745 additions and 1195 deletions

View File

@@ -1,138 +1,254 @@
<div class="chat-message-header">
{{#if actorImg}}
<img class="actor-icon" src="{{actorImg}}" alt="{{alias}}" />
{{/if}}
<h4 class="chat-actor-name">{{alias}}</h4>
</div>
<hr />
{{#if actionImg}}
<div>
<img class="chat-icon" src="{{actionImg}}" alt="{{name}}" />
</div>
{{/if}}
<div class="flexcol"></div>
<div>
<ul>
<li class="hawkmoon-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>
<div class="hawkmoon-chat-result">
{{!-- 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>{{textBonus}} : +{{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-d20"></i>
{{competence.name}}
{{#if arme}}• {{arme.name}}{{/if}}
</div>
{{else if actionImg}}
<div class="action-title">
<i class="fas fa-dice-d20"></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>
<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="details-section">
<div class="detail-row">
<span class="detail-label">Formule:</span>
<span class="detail-value">{{diceFormula}}</span>
</div>
<div class="detail-row">
<span class="detail-label">{{attr.label}}:</span>
<span class="detail-value">{{attr.value}}</span>
</div>
{{#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 bonusRoll}}
<div class="detail-row bonus">
<span class="detail-label">{{textBonus}}:</span>
<span class="detail-value">+{{bonusRoll.total}}</span>
</div>
{{/if}}
</div>
</div>
{{!-- Effets et conséquences --}}
{{#if isSuccess}}
<div class="result-effects">
{{#if attaqueDesarme}}
<div class="effect-item">
<i class="fas fa-hand-sparkles"></i>
{{#if isHeroique}}
Vous récupérez l'arme de votre adversaire dans votre main !
{{else}}
Vous désarmez votre adversaire ! Son arme tombe hors de sa portée.
{{/if}}
</div>
{{/if}}
{{#if immobiliser}}
<div class="effect-item">
<i class="fas fa-lock"></i>
{{#if isHeroique}}
Votre cible est immobilisée, et vous pouvez faire une action complexe.
{{else}}
Votre cible est immobilisée.
{{/if}}
</div>
{{/if}}
{{#if desengager}}
<div class="effect-item">
<i class="fas fa-running"></i>
Vous vous désengagez de votre adversaire.
</div>
{{/if}}
{{#if repousser}}
<div class="effect-item">
<i class="fas fa-hand-rock"></i>
{{#if isHeroique}}
Votre cible est repoussée de 3 mètres et tombe au sol.
{{else}}
Votre cible tombe au sol.
{{/if}}
</div>
{{/if}}
{{#if assomer}}
<div class="effect-item">
<i class="fas fa-dizzy"></i>
{{#if isHeroique}}
Votre cible est assomée pour [[/r 1d10+10]] minutes.
{{else}}
Votre cible est assomée pour [[/r 1d10]] minutes.
{{/if}}
</div>
{{/if}}
{{#if coupBas}}
<div class="effect-item">
<i class="fas fa-shoe-prints"></i>
La cible a reçu 2 adversités bleues et a perdu 1 niveau de combativité.
{{#if isHeroique}}
<br><strong>Et votre cible perd sa prochaine action complexe.</strong>
{{/if}}
</div>
{{/if}}
{{#if arme}}
{{#if contenir}}
<div class="effect-item">
<i class="fas fa-shield-alt"></i>
{{#if isHeroique}}
Aucun dégât, mais tous les adversaires dont le SD + 10 est atteint ne peuvent déclarer d'attaque contre vous lors de leur prochaine action complexe.
{{else}}
Aucun dégât, mais la cible ne peut pas déclarer d'attaque contre vous lors de sa prochaine action complexe.
{{/if}}
</div>
{{else}}
{{#if (eq nbCombativitePerdu "vaincu")}}
<div class="effect-item victory">
<i class="fas fa-trophy"></i>
<strong>Votre adversaire est vaincu !</strong>
</div>
{{else}}
<div class="effect-item">
<i class="fas fa-heart-broken"></i>
Votre adversaire a perdu {{nbCombativitePerdu}} État de Combativité.
</div>
{{/if}}
{{#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-explosion"></i> Dégâts avec Coup Dévastateur
</button>
{{/if}}
</div>
{{/if}}
{{/if}}
{{/if}}
</div>
{{/if}}
{{!-- Avertissements --}}
{{#if attaqueCharge}}
<div class="result-warning">
<i class="fas fa-exclamation-triangle"></i>
Vous avez chargé : vos adversaires bénéficient de +3 pour vous attaquer.
</div>
{{/if}}
{{#if desengager}}
{{#if (not isSuccess)}}
<div class="result-warning">
<i class="fas fa-exclamation-triangle"></i>
Vous ne parvenez pas à vous désengager, votre adversaire a un bonus de +3 pour vous attaquer.
</div>
{{/if}}
{{/if}}
{{#if isInit}}
<div class="result-info">
<i class="fas fa-flag"></i> Initiative stockée !
</div>
{{/if}}
{{!-- Prédilections --}}
{{#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>