Finalize aappv2 data models migration

This commit is contained in:
2026-02-27 14:36:54 +01:00
parent 8735b7e4a4
commit c45837ea31
87 changed files with 10701 additions and 1225 deletions

View File

@@ -1,37 +1,55 @@
<div class="chat-message-header">
{{#if actorImg}}
<img class="actor-icon" src="{{actorImg}}" alt="{{alias}}" />
{{/if}}
<h4 class="chat-actor-name">{{alias}}</h4>
<div class="malefices-chat-card">
<header class="chat-card-header">
{{#if actorImg}}
<img class="chat-actor-img" src="{{actorImg}}" alt="{{alias}}" />
{{/if}}
<div class="chat-actor-name">{{alias}}</div>
{{#if img}}
<div class="chat-header-roll">
<img class="chat-roll-icon" src="{{img}}" alt="Confrontation" />
<span class="chat-roll-name">Confrontation</span>
</div>
{{/if}}
</header>
<div class="chat-card-separator"></div>
<dl class="chat-roll-details">
<div class="chat-detail-row">
<dt>{{attr.label}}</dt>
<dd>{{attr.value}}</dd>
</div>
{{#if confrontationDegre}}
<div class="chat-detail-row">
<dt>Degré de confrontation</dt>
<dd>{{confrontationDegre}}</dd>
</div>
{{/if}}
{{#if confrontationModif}}
<div class="chat-detail-row">
<dt>Ajustement</dt>
<dd>{{confrontationModif}}</dd>
</div>
{{/if}}
<div class="chat-detail-row chat-detail-target">
<dt>Seuil final</dt>
<dd>{{target}}</dd>
</div>
<div class="chat-detail-row chat-detail-roll">
<dt>Valeur de la carte</dt>
<dd>{{total}}</dd>
</div>
</dl>
<div class="chat-card-result {{#if isSuccess}}result-success{{else}}result-failure{{/if}}">
{{#if isSuccess}}
<i class="fa-solid fa-check"></i> Réussite !
<div class="chat-result-damage">{{attr.label}} augmente de {{gainAttr}} points</div>
{{else}}
<i class="fa-solid fa-xmark"></i> Échec !
<div class="chat-result-damage">{{attr.label}} diminue de {{gainAttr}} points</div>
{{/if}}
</div>
</div>
<hr>
{{#if img}}
<div >
<img class="chat-icon" src="{{img}}" alt="{{name}}" />
</div>
{{/if}}
<div class="flexcol">
</div>
<div>
<ul>
<li>Confrontation de {{attr.label}} : {{attr.value}}
</li>
<li>Degré de la confrontation: {{confrontationDegre}} </li>
<li>Ajustement spécial : {{confrontationModif}} </li>
<li>Seuil final : {{target}} </li>
<li>Valeur de la carte : {{total}} </li>
{{#if isSuccess}}
<li><label class="chat-result-text chat-result-success ">Réussite !</label> Votre {{attr.label}} augmente de {{gainAttr}} points.</li>
{{else}}
<li><label class="chat-result-text chat-result-failure ">Echec !</label> Votre {{attr.label}} diminue de {{gainAttr}} points.</li>
{{/if}}
</ul>
</div>
</div>

View File

@@ -1,76 +1,91 @@
<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="malefices-chat-card">
<hr>
{{#if img}}
<div >
<img class="chat-icon" src="{{img}}" alt="{{name}}" />
</div>
{{/if}}
<header class="chat-card-header">
{{#if actorImg}}
<img class="chat-actor-img" src="{{actorImg}}" alt="{{alias}}" />
{{/if}}
<div class="chat-actor-name">{{alias}}</div>
{{#if img}}
<div class="chat-header-roll">
<img class="chat-roll-icon" src="{{img}}" alt="{{name}}" />
<span class="chat-roll-name">{{name}}</span>
</div>
{{/if}}
</header>
<div class="flexcol">
<div class="chat-card-separator"></div>
<dl class="chat-roll-details">
{{#if attr}}
<div class="chat-detail-row">
<dt>{{attr.label}}</dt>
<dd>{{attr.value}}</dd>
</div>
{{/if}}
{{#if bonusMalusPerso}}
<div class="chat-detail-row">
<dt>Bonus/Malus biographique</dt>
<dd>{{bonusMalusPerso}}</dd>
</div>
{{/if}}
{{#if bonusMalusSituation}}
<div class="chat-detail-row">
<dt>Bonus/Malus de situation</dt>
<dd>{{bonusMalusSituation}}</dd>
</div>
{{/if}}
<div class="chat-detail-row chat-detail-target">
<dt>Seuil final</dt>
<dd>{{target}}</dd>
</div>
<div class="chat-detail-row chat-detail-roll">
<dt>Résultat du dé</dt>
<dd>{{roll.total}}</dd>
</div>
</dl>
<div>
<ul>
{{#if attr}}
<li>{{attr.label}} : {{attr.value}}
</li>
{{/if}}
<li>Bonus/Malus perso: {{bonusMalusPerso}} </li>
<li>Bonus/Malus situation: {{bonusMalusSituation}} </li>
<li>Seuil final: {{target}} </li>
<li>Resultat {{roll.total}} </li>
{{#if isSuccess}}
{{#if isCritical}}
<li><label class="chat-result-text chat-result-success ">Réussite Critique !</label></li>
{{#if arme}}
{{#if arme.system.dommagecritiquemort}}
<li><label class="chat-result-success">La victime est morte !</label></li>
{{else}}
{{#if arme.system.dommagecritiqueko}}
<li><label class="chat-result-text chat-result-success ">La victime est KO !</label></li>
{{/if}}
<li><label class="chat-result-success ">La victime subit {{arme.system.dommagecritique}} dommages</label></li>
{{/if}}
{{/if}}
{{else}}
{{#if isPart}}
<li><label class="chat-result-text chat-result-success ">Réussite Particulière !</label></li>
{{#if arme}}
<li><label class="chat-result-success ">La victime subit {{arme.system.dommagepart}} dommages</label></li>
{{/if}}
{{else}}
<li><label class="chat-result-text chat-result-success ">Succés !</label></li>
{{#if arme}}
<li><label class="chat-result-success ">La victime subit {{arme.system.dommagenormale}} dommages</label></li>
{{/if}}
{{/if}}
{{/if}}
{{else}}
{{#if isFumble}}
<li><label class="chat-result-text chat-result-failure ">Echec Critique !</label></li>
<div class="chat-card-result {{#if isSuccess}}result-success{{else}}result-failure{{/if}}">
{{#if isSuccess}}
{{#if isCritical}}
<i class="fa-solid fa-star"></i> Réussite Critique !
{{#if arme}}
{{#if arme.system.dommagecritiquemort}}
<div class="chat-result-damage">La victime est morte !</div>
{{else}}
<li><label class="chat-result-text chat-result-failure">Echec !</label></li>
{{#if arme.system.dommagecritiqueko}}
<div class="chat-result-damage">La victime est KO !</div>
{{/if}}
<div class="chat-result-damage">{{arme.system.dommagecritique}} dommages</div>
{{/if}}
{{/if}}
{{#if isReroll}}
{{else}}
{{#if (gt destin 0)}}
<button class="chat-card-button roll-destin">Relancer (1 Destin)</button>
{{/if}}
{{else if isPart}}
<i class="fa-solid fa-circle-check"></i> Réussite Particulière !
{{#if arme}}
<div class="chat-result-damage">{{arme.system.dommagepart}} dommages</div>
{{/if}}
</ul>
</div>
{{else}}
<i class="fa-solid fa-check"></i> Succès !
{{#if arme}}
<div class="chat-result-damage">{{arme.system.dommagenormale}} dommages</div>
{{/if}}
{{/if}}
{{else}}
{{#if isFumble}}
<i class="fa-solid fa-skull"></i> Échec Critique !
{{else}}
<i class="fa-solid fa-xmark"></i> Échec !
{{/if}}
{{/if}}
</div>
{{#unless isReroll}}
{{#if (gt destin 0)}}
<div class="chat-card-actions">
<button class="chat-card-button roll-destin">
<i class="fa-solid fa-rotate-right"></i> Relancer (1 Destin)
</button>
</div>
{{/if}}
{{/unless}}
</div>

View File

@@ -1,12 +1,24 @@
</div>
<div class="flexcol">
<img class="{{#if system.ispositif}} {{else}}flip-tarot{{/if}}" src="{{img}}">
<span class="tarot-title">{{name}}</span>
{{#if system.isdualside}}
<span class="tarot-title">{{#if system.ispositif}}Positif{{else}}Négatif{{/if}}</span>
{{/if}}
{{#if value}}
<span class="tarot-title">Valeur : {{value}}</span>
{{/if}}
<div class="malefices-chat-card">
<div class="chat-card-header">
<div class="chat-actor-name">🃏 Carte Tirée</div>
</div>
<div class="chat-card-separator"></div>
<div class="tarot-card-display">
<img class="tarot-card-img {{#unless system.ispositif}}flip-tarot{{/unless}}" src="{{img}}" alt="{{name}}" />
<div class="tarot-card-info">
<div class="tarot-card-name">{{name}}</div>
{{#if system.isdualside}}
<div class="tarot-card-side {{#if system.ispositif}}tarot-positif{{else}}tarot-negatif{{/if}}">
{{#if system.ispositif}}⬆ Positif{{else}}⬇ Négatif{{/if}}
</div>
{{/if}}
{{#if value}}
<div class="tarot-card-value">Valeur : <strong>{{value}}</strong></div>
{{/if}}
</div>
</div>
</div>

View File

@@ -1,4 +1,16 @@
<div>
<button class="chat-card-button draw-tarot-card">Tirer une carte de Tarot</button>
<div class="malefices-chat-card">
<div class="chat-card-header">
<div class="chat-actor-name">Demande de tirage</div>
</div>
<div class="chat-card-separator"></div>
<div class="chat-card-actions">
<button class="chat-card-button draw-tarot-card">
<i class="fa-solid fa-cards-blank"></i> Tirer une carte de Tarot
</button>
</div>
</div>

View File

@@ -0,0 +1,27 @@
<div class="malefices-chat-card malefices-welcome">
<div class="chat-card-header">
<img class="chat-actor-img" src="systems/fvtt-malefices/images/ui/background_01_clear.webp" alt="Maléfices" style="object-fit:cover;" />
<div class="chat-actor-name">Maléfices v4</div>
</div>
<div class="chat-card-separator"></div>
<div class="welcome-body">
<p class="welcome-title">Bienvenue dans Maléfices, le JDR qui sent le soufre !</p>
<p>Le Livre de Base de Maléfices v4 est nécessaire pour jouer :
<a href="https://arkhane-asylum.fr/en/malefices/" target="_blank">arkhane-asylum.fr</a>
</p>
<p>Maléfices est un jeu de rôle publié par <em>Arkhane Asylum Publishing</em>, tous les droits leur appartiennent.</p>
<p>Système développé par LeRatierBretonnien avec l'aide de la Dame du Lac et Malik, support sur le
<a href="https://discord.gg/pPSDNJk" target="_blank">Discord FR de Foundry</a>.
</p>
<div class="welcome-commands">
<div class="welcome-commands-title">Commandes disponibles</div>
<div class="welcome-command-row"><code>/tirage</code> — tirage complet des tarots</div>
<div class="welcome-command-row"><code>/carte</code> — tirer une simple carte</div>
<div class="welcome-command-row"><code>/resume</code> — résumé des PJs (MJ seulement)</div>
</div>
</div>
</div>