Esprit de la Loi + Automaton

This commit is contained in:
2026-05-02 23:16:10 +02:00
parent d6b5891519
commit 0df4a5a9fb
280 changed files with 10668 additions and 419 deletions
+66
View File
@@ -366,6 +366,16 @@
<button class="chat-card-button" data-action="invoquerElementaire">
<i class="fas fa-wind"></i> {{localize "MNBL.invoquerElementaire"}}
</button>
{{#if isChaotique}}
<button class="chat-card-button" data-action="invoquerDemon">
<i class="fas fa-skull"></i> {{localize "MNBL.invoquerDemon"}}
</button>
{{/if}}
{{#if isLoyal}}
<button class="chat-card-button" data-action="invoquerEsprit">
<i class="fas fa-star"></i> {{localize "MNBL.invoquerEsprit"}}
</button>
{{/if}}
</div>
</div>
@@ -436,6 +446,31 @@
</div>
{{/if}}
{{!-- Invocations démoniaques actives --}}
{{#if (gt system.invocationsDemons.length 0)}}
<div class="section-grid">
<h4 class="section-title">{{localize "MNBL.invocationsDemons"}}</h4>
<ul class="item-list compact-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header">{{localize "MNBL.invocationsDemons"}}</span>
<span class="item-field-label-short">{{localize "MNBL.invocationDemonAme"}}</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"></div>
</li>
{{#each system.invocationsDemons as |invoc idx|}}
<li class="item flexrow">
<span class="item-name-label competence-name">{{invoc.demonName}}</span>
<span class="item-field-label-short">{{invoc.soulCost}}</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a data-action="libererDemon" data-invoc-index="{{@index}}" title="{{localize 'MNBL.libererDemon'}}"><i class="fas fa-door-open"></i></a>
</div>
</li>
{{/each}}
</ul>
</div>
{{/if}}
<div class="section-grid">
<h4 class="section-title">{{localize "MNBL.tendancies"}}</h4>
@@ -619,6 +654,7 @@
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
{{#if arme.system.enchantementLoi.actif}}<a title="Enchanté (Loi)" style="color:gold;"><i class="fas fa-star"></i></a>{{else if ../isLoyal}}<a data-action="enchanter" data-item-id="{{arme._id}}" title="Enchanter (Loi)"><i class="fas fa-star-half-alt"></i></a>{{/if}}
<a data-action="equipItem" title="Worn">{{#if arme.system.equipped}}<i
class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
<a data-action="editItem" title="Edit Item"><i class="fas fa-edit"></i></a>
@@ -650,6 +686,7 @@
</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
{{#if protection.system.enchantementLoi.actif}}<a title="Enchanté (Loi)" style="color:gold;"><i class="fas fa-star"></i></a>{{else if ../isLoyal}}<a data-action="enchanter" data-item-id="{{protection._id}}" title="Enchanter (Loi)"><i class="fas fa-star-half-alt"></i></a>{{/if}}
<a data-action="equipItem" title="Worn">{{#if protection.system.equipped}}<i
class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
<a data-action="editItem" title="Edit Item"><i class="fas fa-edit"></i></a>
@@ -676,6 +713,35 @@
<img class="item-name-img" src="{{equipement.img}}" />
<span class="item-name-label competence-name">{{equipement.name}}</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
{{#if equipement.system.enchantementLoi.actif}}<a title="Enchanté (Loi)" style="color:gold;"><i class="fas fa-star"></i></a>{{else if ../isLoyal}}<a data-action="enchanter" data-item-id="{{equipement._id}}" title="Enchanter (Loi)"><i class="fas fa-star-half-alt"></i></a>{{/if}}
<a data-action="editItem" title="Edit Item"><i class="fas fa-edit"></i></a>
<a data-action="deleteItem" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>
</div>
<div class="section-grid">
<h4 class="section-title">{{localize "MNBL.potions"}}</h4>
<ul class="item-list compact-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header">{{localize "MNBL.potions"}}</span>
<span class="item-field-label-short">{{localize "MNBL.potionStatut"}}</span>
<span class="item-field-label-short">{{localize "MNBL.potionDuree"}}</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a data-action="createItem" data-type="potion" title="Ajouter une potion"><i class="fas fa-plus"></i></a>
</div>
</li>
{{#each potions as |potion key|}}
<li class="item flexrow" data-item-id="{{potion._id}}" data-item-type="potion">
<img class="item-name-img" src="{{potion.img}}" />
<span class="item-name-label competence-name">{{potion.name}}</span>
<span class="item-field-label-short">{{upperFirst potion.system.statut}}</span>
<span class="item-field-label-short">{{potion.system.duree}}</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a data-action="editItem" title="Edit Item"><i class="fas fa-edit"></i></a>
<a data-action="deleteItem" title="Delete Item"><i class="fas fa-trash"></i></a>
+90
View File
@@ -0,0 +1,90 @@
<div class="mournblade-chat-result">
{{!-- Header --}}
<div class="chat-result-header">
{{#if actorImg}}<img class="actor-icon" src="{{actorImg}}" alt="{{alias}}" />{{/if}}
<div class="header-info">
<h4 class="actor-name">{{alias}}</h4>
<div class="action-title">
{{#if itemImg}}<img src="{{itemImg}}" alt="{{itemName}}" style="width:16px;height:16px;border:none;vertical-align:middle;margin-right:4px;" />{{/if}}
<i class="fas fa-star"></i> Enchantement : {{itemName}}
</div>
</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>
<div class="difficulty">
<span class="difficulty-label">SD</span>
<span class="difficulty-value">{{difficulte}}</span>
</div>
</div>
<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>
</div>
{{!-- Détails --}}
<div class="result-details">
<div class="details-section">
<div class="detail-row">
<span class="detail-label">Points d'Âme investis :</span>
<span class="detail-value">{{ptsAme}}</span>
</div>
<div class="detail-row">
<span class="detail-label">Âme dépensée :</span>
<span class="detail-value">{{ameDeduct}}</span>
</div>
<div class="detail-row">
<span class="detail-label">Type :</span>
<span class="detail-value">{{#if antiChaos}}Anti-Chaos (aura){{else}}Standard{{/if}}</span>
</div>
{{#if isSuccess}}{{#unless itemDestroyed}}
<div class="detail-row">
<span class="detail-label">Bonus conféré :</span>
<span class="detail-value"><strong>+{{bonusFinal}}</strong></span>
</div>
{{/unless}}{{/if}}
{{#if isHeroique}}{{#unless itemDestroyed}}
<div class="detail-row">
<span class="detail-label">Bonus conféré :</span>
<span class="detail-value"><strong>+{{bonusFinal}}</strong></span>
</div>
{{/unless}}{{/if}}
</div>
</div>
{{!-- Effets / narration --}}
<div class="result-effects">
<div class="effect-item {{#if isHeroique}}heroique{{else if isDramatique}}dramatique{{else if isSuccess}}success{{else}}failure{{/if}}">
{{#if isHeroique}}<i class="fas fa-star"></i>
{{else if isDramatique}}<i class="fas fa-skull"></i>
{{else if isSuccess}}<i class="fas fa-check-circle"></i>
{{else}}<i class="fas fa-times-circle"></i>{{/if}}
{{enchantMessage}}
</div>
{{#if itemDestroyed}}
<div class="effect-item dramatique">
<i class="fas fa-fire"></i> <strong>L'objet a été détruit !</strong>
</div>
{{/if}}
</div>
</div>
+125
View File
@@ -0,0 +1,125 @@
<div class="mournblade-chat-result">
{{!-- Header --}}
<div class="chat-result-header">
{{#if actorImg}}
<img class="actor-icon" src="{{actorImg}}" alt="{{alias}}" />
{{/if}}
<div class="header-info">
<h4 class="actor-name">{{alias}}</h4>
<div class="action-title">
<i class="fas fa-skull"></i> Invocation Démoniaque
</div>
</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>
<div class="difficulty">
<span class="difficulty-label">SD</span>
<span class="difficulty-value">{{difficulte}}</span>
</div>
</div>
<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>
</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 formula-text">{{diceFormula}}</span>
</div>
<div class="detail-row">
<span class="detail-label">Trempe :</span>
<span class="detail-value">{{attr.value}}</span>
</div>
<div class="detail-row">
<span class="detail-label">Coercition :</span>
<span class="detail-value">{{competence.system.niveau}}</span>
</div>
<div class="detail-row">
<span class="detail-label">Coût Âme :</span>
<span class="detail-value">{{invocationSoulCost}}</span>
</div>
</div>
</div>
{{!-- Résultat détaillé (GM only) --}}
{{#if isGM}}
<div class="result-effects">
<div class="effect-item">
{{#if isHeroique}}
<i class="fas fa-star"></i> <strong>Réussite héroïque</strong> — Accord plus favorable obtenu
{{else if isDramatique}}
<i class="fas fa-skull-crossbones"></i> <strong>ÉCHEC DRAMATIQUE</strong> — Voir résultat d20
{{else if isSuccess}}
<i class="fas fa-check"></i> Démon invoqué — accord conclu
{{else}}
<i class="fas fa-times"></i> Invocation échouée — démon non invoqué
{{/if}}
</div>
{{#if isHeroique}}
<div class="effect-item">
<i class="fas fa-bolt"></i> L'invocateur peut obtenir un accord plus favorable : ne rien céder ou améliorer un critère (nature, traits, service, durée, attribut/capacité +5).
</div>
{{/if}}
<div class="effect-item">
<i class="fas fa-heart"></i> Points d'Âme dépensés : <strong>{{invocationSoulDeducted}}</strong>
</div>
{{#if isDramatique}}
<div class="effect-item dramatique-d20">
<i class="fas fa-dice-d20"></i> Résultat du d20 : <strong>{{d20Result}}</strong> —
{{#if isDisastreDramatique}}
<span class="dramatique-text">DÉSASTRE ABSOLU — entité surpuissante ou possession. L'invocateur perd l'usage de l'Œil pendant {{claValue}} semaines (CLA={{claValue}}).</span>
{{else if isDemonAttaque}}
<span class="dramatique-text">Un Démon est invoqué et attaque immédiatement l'invocateur !</span>
{{else}}
<span class="dramatique-text">L'invocateur acquiert un Trait Chaotique aléatoire (d20, table p.189).</span>
{{/if}}
</div>
{{/if}}
</div>
{{/if}}
{{!-- Message joueur --}}
{{#unless isGM}}
<div class="result-warning">
{{#if isSuccess}}
<i class="fas fa-skull"></i> Invocation réussie. Le Démon répond à l'appel et s'engage par contrat.
{{else if isDramatique}}
<i class="fas fa-exclamation-triangle"></i> Quelque chose s'est terriblement mal passé dans les sphères du Multivers…
{{else}}
<i class="fas fa-times"></i> L'invocation a échoué. Le Démon repart dans son plan d'origine.
{{/if}}
</div>
{{/unless}}
</div>
+150
View File
@@ -0,0 +1,150 @@
<div class="mournblade-chat-result">
{{!-- Header --}}
<div class="chat-result-header">
{{#if actorImg}}
<img class="actor-icon" src="{{actorImg}}" alt="{{alias}}" />
{{/if}}
<div class="header-info">
<h4 class="actor-name">{{alias}}</h4>
<div class="action-title">
<i class="fas fa-star" style="color:gold;"></i> Invocation d'un Esprit de la Loi
</div>
</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>
<div class="difficulty">
<span class="difficulty-label">SD</span>
<span class="difficulty-value">{{difficulte}}</span>
</div>
</div>
<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>
</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 formula-text">{{diceFormula}}</span>
</div>
<div class="detail-row">
<span class="detail-label">Trempe :</span>
<span class="detail-value">{{attr.value}}</span>
</div>
<div class="detail-row">
<span class="detail-label">Persuasion :</span>
<span class="detail-value">{{#if competence}}{{competence.system.niveau}}{{else}}0 (absente){{/if}}</span>
</div>
<div class="detail-row">
<span class="detail-label">Automaton :</span>
<span class="detail-value">{{automatonTypeLabel}}{{automatonPuissanceLabel}}</span>
</div>
<div class="detail-row">
<span class="detail-label">Coût Âme :</span>
<span class="detail-value">{{invocationSoulCost}}</span>
</div>
</div>
</div>
{{!-- Effets (MJ only) --}}
{{#if isGM}}
<div class="result-effects">
<div class="effect-item">
{{#if isHeroique}}
<i class="fas fa-star" style="color:gold;"></i> <strong>Réussite héroïque</strong> — Esprit invoqué avec succès
{{else if isDramatique}}
<i class="fas fa-skull-crossbones"></i> <strong>ÉCHEC DRAMATIQUE</strong> — Réceptacle détruit
{{else if isSuccess}}
<i class="fas fa-check"></i> Esprit invoqué — il habite le Réceptacle
{{else}}
<i class="fas fa-times"></i> Invocation échouée — l'Esprit n'est pas venu
{{/if}}
</div>
{{#if isHeroique}}
<div class="effect-item">
<i class="fas fa-bolt"></i> L'enchanteur peut majorer <strong>gratuitement un attribut</strong> de l'Automaton de +2 points.
</div>
{{/if}}
{{#if isSuccess}}
<div class="effect-item">
<i class="fas fa-clock"></i> Durée de vie : <strong>{{invocationSoulCost}} jours</strong> (= points d'Âme dépensés).
</div>
{{/if}}
{{#if isDramatique}}
<div class="effect-item dramatique-d20">
<i class="fas fa-exclamation-triangle"></i> Le Réceptacle est <strong>détruit de manière irrémédiable</strong>. L'invocateur perd tous ses points d'Âme dépensés. La récupération des matériaux est laissée à l'appréciation du MJ.
</div>
{{/if}}
{{#unless isSuccess}}
{{#unless isHeroique}}
<div class="effect-item">
<i class="fas fa-heart"></i> Points d'Âme perdus : <strong>{{invocationSoulDeducted}}</strong>
</div>
{{/unless}}
{{/unless}}
{{#if isSuccess}}
<div class="effect-item">
<i class="fas fa-heart"></i> Points d'Âme dépensés : <strong>{{invocationSoulDeducted}}</strong>
</div>
{{/if}}
{{#if isSuccess}}
<div class="effect-item next-steps">
<strong><i class="fas fa-list-ol"></i> Prochaines étapes :</strong>
<ol>
<li>Ouvrir le <strong>Compendium "Automatons"</strong> et faire glisser un Automaton <em>{{automatonTypeLabel}}{{automatonPuissanceLabel}}</em> dans les acteurs de la scène.</li>
<li>Les <strong>capacités spéciales</strong> correspondant au type et à la puissance sont déjà intégrées dans l'Automaton.</li>
<li>Renseigner les attributs de l'Automaton si nécessaire (Force, Défense, etc.).</li>
{{#if isHeroique}}<li><strong>Réussite héroïque :</strong> majorer gratuitement <strong>un attribut</strong> de l'Automaton de <strong>+2 points</strong>.</li>{{/if}}
<li>L'Esprit habite le Réceptacle pendant <strong>{{invocationSoulCost}} jours</strong>. Noter la date d'expiration.</li>
</ol>
</div>
{{/if}}
</div>
{{/if}}
{{!-- Message joueur --}}
{{#unless isGM}}
<div class="result-warning">
{{#if isHeroique}}
<i class="fas fa-star" style="color:gold;"></i> Invocation héroïque ! L'Esprit répond à l'appel avec bienveillance.
{{else if isSuccess}}
<i class="fas fa-star"></i> L'Esprit de la Loi a répondu à l'appel et habite désormais le Réceptacle.
{{else if isDramatique}}
<i class="fas fa-exclamation-triangle"></i> Quelque chose s'est terriblement mal passé…
{{else}}
<i class="fas fa-times"></i> L'invocation a échoué. L'Esprit ne s'est pas manifesté.
{{/if}}
</div>
{{/unless}}
</div>
+64 -38
View File
@@ -50,71 +50,97 @@
</div>
</div>
{{!-- Détails du jet (GM only) --}}
{{#if isGM}}
<div class="chat-section">
<div class="chat-details-grid">
<span class="detail-label">Formule :</span>
<span class="detail-value formula-text">{{diceFormula}}</span>
<span class="detail-label">Présence :</span>
<span class="detail-value">{{attr.value}}</span>
<span class="detail-label">Persuasion :</span>
<span class="detail-value">{{competence.system.niveau}}</span>
{{!-- 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 formula-text">{{diceFormula}}</span>
</div>
<div class="detail-row">
<span class="detail-label">Présence :</span>
<span class="detail-value">{{attr.value}}</span>
</div>
<div class="detail-row">
<span class="detail-label">Persuasion :</span>
<span class="detail-value">{{competence.system.niveau}}</span>
</div>
{{#if bonusPacte}}
<span class="detail-label">Bonus Pacte :</span>
<span class="detail-value">+{{bonusPacte}}</span>
<div class="detail-row">
<span class="detail-label">Bonus Pacte :</span>
<span class="detail-value">+{{bonusPacte}}</span>
</div>
{{/if}}
<span class="detail-label">Élément :</span>
<span class="detail-value">{{invocationElement}}</span>
<span class="detail-label">Puissance :</span>
<span class="detail-value">{{invocationTier}}</span>
<span class="detail-label">Coût Âme :</span>
<span class="detail-value">{{invocationSoulCost}}</span>
<div class="detail-row">
<span class="detail-label">Élément :</span>
<span class="detail-value">{{invocationElement}}</span>
</div>
<div class="detail-row">
<span class="detail-label">Puissance :</span>
<span class="detail-value">{{invocationTier}}</span>
</div>
<div class="detail-row">
<span class="detail-label">Coût Âme :</span>
<span class="detail-value">{{invocationSoulCost}}</span>
</div>
</div>
</div>
<div class="chat-section potion-result-gm">
<h4 class="potion-result-title">
{{!-- Résultat (GM only) --}}
{{#if isGM}}
<div class="result-effects">
<div class="effect-item">
{{#if isHeroique}}
<i class="fas fa-star potion-heroique"></i> Réussite héroïque — Élémentaire invoqué
<i class="fas fa-star"></i> <strong>Réussite héroïque</strong> — Élémentaire invoqué
{{else if isDramatique}}
<i class="fas fa-skull-crossbones potion-poison"></i> ÉCHEC DRAMATIQUE — Catastrophe naturelle !
<i class="fas fa-skull-crossbones"></i> <strong>ÉCHEC DRAMATIQUE</strong> — Catastrophe naturelle !
{{else if isSuccess}}
<i class="fas fa-check potion-efficace"></i> Élémentaire invoqué
<i class="fas fa-check"></i> Élémentaire invoqué
{{else}}
<i class="fas fa-times potion-inefficace"></i> Invocation échouée
<i class="fas fa-times"></i> Invocation échouée
{{/if}}
</h4>
</div>
{{#if isHeroique}}
<p class="invoc-note"><i class="fas fa-bolt"></i> L'invocateur peut majorer gratuitement de +2 un attribut de l'Élémentaire.</p>
<div class="effect-item">
<i class="fas fa-bolt"></i> L'invocateur peut majorer gratuitement de +2 un attribut de l'Élémentaire.
</div>
{{/if}}
{{#if isDramatique}}
<p class="invoc-note invoc-catastrophe"><i class="fas fa-exclamation-triangle"></i> Une catastrophe naturelle se déclenche ! Durée et portée selon la puissance de l'invocation. Tous les points d'Âme investis sont perdus.</p>
<div class="effect-item">
<i class="fas fa-exclamation-triangle"></i> Une catastrophe naturelle se déclenche ! Tous les points d'Âme investis sont perdus.
</div>
{{/if}}
{{#if elementaireCreated}}
<p class="potion-created-info"><i class="fas fa-plus-circle"></i> <strong>{{createdActorName}}</strong> a été créé et son Âme définie à {{invocationSoulCost}} points.</p>
<div class="effect-item">
<i class="fas fa-plus-circle"></i> <strong>{{createdActorName}}</strong> créé — Âme : {{invocationSoulCost}} pts.
</div>
{{/if}}
<div class="chat-details-grid">
<span class="detail-label">Points d'Âme déduits :</span>
<span class="detail-value">{{invocationSoulDeducted}}</span>
<div class="effect-item">
<i class="fas fa-heart"></i> Points d'Âme déduits : <strong>{{invocationSoulDeducted}}</strong>
</div>
</div>
{{/if}}
{{!-- Message neutre pour le joueur --}}
{{#unless isGM}}
<div class="chat-section potion-result-player">
<div class="result-warning">
{{#if isSuccess}}
<p><i class="fas fa-wind"></i> Invocation réussie ! L'Élémentaire répond à votre appel.</p>
<i class="fas fa-wind"></i> Invocation réussie ! L'Élémentaire répond à votre appel.
{{else if isDramatique}}
<p><i class="fas fa-exclamation-triangle"></i> Quelque chose s'est terriblement mal passé…</p>
<i class="fas fa-exclamation-triangle"></i> Quelque chose s'est terriblement mal passé…
{{else}}
<p><i class="fas fa-times"></i> L'invocation a échoué.</p>
<i class="fas fa-times"></i> L'invocation a échoué.
{{/if}}
</div>
{{/unless}}
{{!-- Rappel des pouvoirs élémentaires (succès ou héroïque) --}}
{{#if isSuccess}}
<div class="result-warning">
<i class="fas fa-magic"></i>
<strong>Pouvoirs élémentaires :</strong> l'invocateur choisit <strong>{{invocationPowerCount}} Pouvoirs</strong> pour cet Élémentaire.
Chaque activation coûte 1 pt d'Âme à l'Élémentaire (action complexe, formule en Haut-Parler).
</div>
{{/if}}
</div>
+69 -45
View File
@@ -12,18 +12,6 @@
</div>
</div>
{{!-- Rune utilisée --}}
<div class="chat-section potion-rune-info">
{{#if runeImg}}
<img class="rune-mini-img" src="{{runeImg}}" alt="{{runeName}}" />
{{/if}}
<span class="potion-rune-name">{{runeName}}</span>
<span class="potion-rune-seuil">Seuil : {{runeSeuil}}</span>
{{#if runeHautParler}}
<span class="potion-haut-parler"><em>«{{runeHautParler}}»</em></span>
{{/if}}
</div>
{{!-- Résultat principal --}}
<div class="result-main">
<div class="result-display">
@@ -63,61 +51,97 @@
</div>
{{!-- Détails du jet --}}
<div class="chat-section">
<div class="chat-details-grid">
<span class="detail-label">Formule :</span>
<span class="detail-value formula-text">{{diceFormula}}</span>
<span class="detail-label">Clairvoyance :</span>
<span class="detail-value">{{attr.value}}</span>
<span class="detail-label">Savoir : Runes :</span>
<span class="detail-value">{{competence.system.niveau}}</span>
<div class="result-details">
<div class="details-section">
{{!-- Rune utilisée --}}
<div class="detail-row rune">
<span class="detail-label">
{{#if runeImg}}<img class="rune-mini-img" src="{{runeImg}}" alt="{{runeName}}" />{{/if}}
{{runeName}}
</span>
<span class="detail-value">Seuil : {{runeSeuil}}</span>
</div>
{{#if runeHautParler}}
<div class="detail-row">
<span class="detail-label">Haut-Parler :</span>
<span class="detail-value potion-haut-parler"><em>«{{runeHautParler}}»</em></span>
</div>
{{/if}}
<div class="detail-row">
<span class="detail-label">Formule :</span>
<span class="detail-value formula-text">{{diceFormula}}</span>
</div>
<div class="detail-row">
<span class="detail-label">Clairvoyance :</span>
<span class="detail-value">{{attr.value}}</span>
</div>
<div class="detail-row">
<span class="detail-label">Savoir : Runes :</span>
<span class="detail-value">{{competence.system.niveau}}</span>
</div>
{{#if limitHautParlerValue}}
<span class="detail-label">Limite Haut-Parler :</span>
<span class="detail-value">{{limitHautParlerValue}}</span>
<div class="detail-row">
<span class="detail-label">Limite Haut-Parler :</span>
<span class="detail-value">{{limitHautParlerValue}}</span>
</div>
{{/if}}
{{#if limitAlchimieValue}}
<span class="detail-label">Limite Alchimie :</span>
<span class="detail-value">{{limitAlchimieValue}}</span>
<div class="detail-row">
<span class="detail-label">Limite Alchimie :</span>
<span class="detail-value">{{limitAlchimieValue}}</span>
</div>
{{/if}}
<span class="detail-label">Points d'Âme :</span>
<span class="detail-value">{{pointsAme}}</span>
<span class="detail-label">Forme :</span>
<span class="detail-value">{{formeLabel}}</span>
<div class="detail-row">
<span class="detail-label">Points d'Âme :</span>
<span class="detail-value">{{pointsAme}}</span>
</div>
<div class="detail-row">
<span class="detail-label">Forme :</span>
<span class="detail-value">{{formeLabel}}</span>
</div>
</div>
</div>
{{!-- Résultat de la potion (visible uniquement du MJ) --}}
{{#if isGM}}
<div class="chat-section potion-result-gm">
<h4 class="potion-result-title">
<div class="result-effects">
<div class="effect-item {{#if isHeroique}}victory{{/if}}">
{{#if isHeroique}}
<i class="fas fa-star potion-heroique"></i> Potion héroïque créée
<i class="fas fa-star"></i> <strong>Potion héroïque créée</strong>
{{else if isDramatique}}
<i class="fas fa-skull-crossbones potion-poison"></i> POISON créé (Virulence {{virulence}}) — le personnage ne le sait pas
<i class="fas fa-skull-crossbones"></i> <strong>POISON créé (Virulence {{virulence}})</strong> — le personnage ne le sait pas
{{else if isSuccess}}
<i class="fas fa-flask potion-efficace"></i> Potion efficace créée
<i class="fas fa-flask"></i> <strong>Potion efficace créée</strong>
{{else}}
<i class="fas fa-times potion-inefficace"></i> Potion inefficace — le personnage le sait
<i class="fas fa-times"></i> <strong>Potion inefficace</strong> — le personnage le sait
{{/if}}
</h4>
</div>
{{#if potionCreated}}
<p class="potion-created-info">La potion a été ajoutée à l'inventaire du personnage.</p>
<div class="effect-item">
<i class="fas fa-plus-circle"></i> La potion a été ajoutée à l'inventaire du personnage.
</div>
{{/if}}
<div class="chat-details-grid">
<span class="detail-label">Durée d'effet :</span>
<span class="detail-value">{{dureePotion}}</span>
<span class="detail-label">Conservation :</span>
<span class="detail-value">{{conservationPotion}}</span>
<span class="detail-label">Temps de préparation :</span>
<span class="detail-value">{{tempsPreparation}}</span>
<div class="details-section" style="margin-top:6px;">
<div class="detail-row">
<span class="detail-label">Durée d'effet :</span>
<span class="detail-value">{{dureePotion}}</span>
</div>
<div class="detail-row">
<span class="detail-label">Conservation :</span>
<span class="detail-value">{{conservationPotion}}</span>
</div>
<div class="detail-row">
<span class="detail-label">Temps de préparation :</span>
<span class="detail-value">{{tempsPreparation}}</span>
</div>
</div>
</div>
{{/if}}
{{!-- Message neutre pour le joueur --}}
{{#unless isGM}}
<div class="chat-section potion-result-player">
<p><i class="fas fa-hourglass-half"></i> La préparation est en cours… le résultat sera connu bientôt.</p>
<div class="result-warning">
<i class="fas fa-hourglass-half"></i> La préparation est en cours… le résultat sera connu bientôt.
</div>
{{/unless}}
+26
View File
@@ -23,6 +23,32 @@
{{selectOptions config.elementTypeOptions selected=system.biodata.elementType}}
</select>
{{/if}}
{{#if (eq system.biodata.creatureType "demon")}}
<label style="font-size: 0.8em; white-space: nowrap;">{{localize "MNBL.demonType"}}</label>
<select name="system.biodata.demonType" style="font-size: 0.8em; width: 130px;" {{#if isPlayMode}}disabled{{/if}}>
{{selectOptions config.demonTypeOptions selected=system.biodata.demonType}}
</select>
<label style="font-size: 0.8em; white-space: nowrap;">{{localize "MNBL.demonPuissance"}}</label>
<select name="system.biodata.demonPuissance" style="font-size: 0.8em; width: 90px;" {{#if isPlayMode}}disabled{{/if}}>
{{selectOptions config.demonPuissanceOptions selected=system.biodata.demonPuissance}}
</select>
{{/if}}
{{#if (eq system.biodata.creatureType "automaton")}}
<label style="font-size: 0.8em; white-space: nowrap;">{{localize "MNBL.automatonType"}}</label>
<select name="system.biodata.automatonType" style="font-size: 0.8em; width: 120px;" {{#if isPlayMode}}disabled{{/if}}>
{{selectOptions config.automatonTypeOptions selected=system.biodata.automatonType}}
</select>
<label style="font-size: 0.8em; white-space: nowrap;">{{localize "MNBL.automatonPuissance"}}</label>
<select name="system.biodata.automatonPuissance" style="font-size: 0.8em; width: 90px;" {{#if isPlayMode}}disabled{{/if}}>
{{selectOptions config.automatonPuissanceOptions selected=system.biodata.automatonPuissance}}
</select>
{{#if (eq system.biodata.automatonType "voyage")}}
<label style="font-size: 0.8em; white-space: nowrap;">{{localize "MNBL.automatonVoyageType"}}</label>
<select name="system.biodata.automatonVoyageType" style="font-size: 0.8em; width: 130px;" {{#if isPlayMode}}disabled{{/if}}>
{{selectOptions config.automatonVoyageTypeOptions selected=system.biodata.automatonVoyageType}}
</select>
{{/if}}
{{/if}}
</div>
</div>
</div>
+102
View File
@@ -0,0 +1,102 @@
<div class="sortilege-dialog invocation-dialog">
{{!-- Header --}}
<div class="sortilege-header flexrow">
{{#if actorImg}}<img src="{{actorImg}}" class="sortilege-actor-img" alt="{{actorName}}" />{{/if}}
<div class="sortilege-actor-info">
<span class="sortilege-actor-name">{{actorName}}</span>
<span class="sortilege-ame-info">Âme disponible : <strong>{{ameDisponible}}</strong></span>
<span class="sortilege-ame-info">
<i class="fas fa-star" style="color:gold;"></i>
Enchantement de la Loi
</span>
</div>
</div>
{{!-- Objet ciblé --}}
<div class="invoc-comp-summary" style="margin-bottom:0.5em;">
<span class="comp-badge">
{{#if itemImg}}<img src="{{itemImg}}" alt="{{itemName}}" style="width:20px;height:20px;border:none;vertical-align:middle;margin-right:4px;" />{{/if}}
<strong>{{itemName}}</strong>
</span>
{{#if enchantementActif}}
<span class="comp-badge" style="color:gold;">
<i class="fas fa-star"></i> Déjà enchanté : +{{enchantementBonus}}{{#if enchantementAntiChaos}}, Anti-Chaos{{/if}}
</span>
{{/if}}
</div>
{{!-- Prérequis --}}
{{#unless hasRuneLoi}}
<div class="invoc-warning-box">
<i class="fas fa-exclamation-triangle"></i>
<strong>Prérequis :</strong>
<div>• Rune de la Loi requise dans l'inventaire</div>
</div>
{{/unless}}
{{!-- Compétences disponibles --}}
<div class="invoc-comp-summary">
<span class="comp-badge {{#unless savoirRunesNiveau}}comp-missing{{/unless}}">
Savoir : Runes : {{#if savoirRunesNiveau}}<strong>{{savoirRunesNiveau}}</strong>{{else}}<em>absent</em>{{/if}}
</span>
<span class="comp-badge {{#unless hautParlerNiveau}}comp-missing{{/unless}}">
Haut-Parler : {{#if hautParlerNiveau}}<strong>{{hautParlerNiveau}}</strong>{{else}}<em>absent</em>{{/if}}
</span>
<span class="comp-badge {{#unless artisanatNiveau}}comp-missing{{/unless}}">
Savoir : Artisanat : {{#if artisanatNiveau}}<strong>{{artisanatNiveau}}</strong>{{else}}<em>absent</em>{{/if}}
</span>
</div>
{{!-- Paramètres du jet --}}
<div class="invoc-seuil-calculator">
<h4 class="invoc-section-title"><i class="fas fa-dice-d20"></i> Jet d'Enchantement</h4>
<div class="invoc-criteria-grid">
<label>Points d'Âme à investir</label>
<input type="number" name="ptsAme" value="5" min="5" max="{{ameDisponible}}" step="1" />
<label>Type d'enchantement</label>
<select name="antiChaos">
<option value="false">Standard (+1 bonus par tranche de 5 pts)</option>
<option value="true">Anti-Chaos (aura lumineuse)</option>
</select>
<label>Modificateur</label>
<select name="modificateur">
{{#each modOptions}}<option value="{{this}}" {{#if (eq this 0)}}selected{{/if}}>{{#if (gt this 0)}}+{{/if}}{{this}}</option>{{/each}}
</select>
</div>
</div>
{{!-- Résumé calculé --}}
<div class="potion-dialog-section potion-summary">
<div class="flexrow summary-row">
<span class="summary-label">Formule :</span>
<span class="summary-value">CLA ({{claValeur}}) + Savoir:Runes (<span id="enchant-total-dice">{{savoirRunesNiveau}}</span>)</span>
</div>
{{#if limiteur}}
<div class="flexrow summary-row">
<span class="summary-label">Limité par :</span>
<span class="summary-value">min(Haut-Parler, Artisanat) = {{limiteur}}</span>
</div>
{{/if}}
<div class="flexrow summary-row">
<span class="summary-label">Difficulté :</span>
<span class="summary-value" id="enchant-difficulte">—</span>
</div>
<div class="flexrow summary-row">
<span class="summary-label">Bonus prévu :</span>
<span class="summary-value" id="enchant-bonus-preview">+0</span>
</div>
<div class="flexrow summary-row">
<span class="summary-label">Âme disponible :</span>
<span class="summary-value">{{ameDisponible}}</span>
</div>
</div>
<div id="enchant-ame-warn" class="invoc-warning-box" style="display:none;">
<i class="fas fa-exclamation-triangle"></i> Pas assez de points d'Âme disponibles !
</div>
</div>
+140
View File
@@ -0,0 +1,140 @@
<div class="mournblade-roll-dialog-content invocation-dialog">
<div class="actor-header">
{{#if img}}<img class="actor-portrait" src="{{img}}" alt="{{name}}" />{{/if}}
<div class="actor-info">
<h3>{{name}}</h3>
<div class="dialog-subtitle"><i class="fas fa-skull"></i> Invocation Démoniaque</div>
</div>
</div>
{{!-- Prérequis --}}
{{#unless prerequisOk}}
<div class="invoc-warning-box">
<i class="fas fa-exclamation-triangle"></i>
<strong>Prérequis non remplis :</strong>
{{#unless isChaotique}}<div>• Alignement chaotique requis (Chaos doit être supérieur à Loi)</div>{{/unless}}
{{#unless hasOeilSorcier}}<div>• Capacité Spéciale "Œil du Sorcier" requise</div>{{/unless}}
{{#unless hasRuneChaos}}<div>• Rune du Chaos requise dans l'inventaire</div>{{/unless}}
</div>
{{/unless}}
{{!-- Compétences disponibles --}}
<div class="invoc-comp-summary">
<span class="comp-badge {{#unless coercitionNiveau}}comp-missing{{/unless}}">
Coercition :
{{#if coercitionNiveau}}<strong>{{coercitionNiveau}}</strong>{{else}}<em>absente</em>{{/if}}
</span>
<span class="comp-badge {{#unless hautParlerNiveau}}comp-missing{{/unless}}">
Haut-Parler :
{{#if hautParlerNiveau}}<strong>{{hautParlerNiveau}}</strong>{{else}}<em>absent</em>{{/if}}
</span>
<span class="comp-badge {{#unless loiChaosNiveau}}comp-missing{{/unless}}">
Loi &amp; Chaos :
{{#if loiChaosNiveau}}<strong>{{loiChaosNiveau}}</strong>{{else}}<em>absent</em>{{/if}}
</span>
</div>
{{!-- Calculateur de seuil --}}
<div class="invoc-seuil-calculator">
<h4 class="invoc-section-title"><i class="fas fa-calculator"></i> Déterminer le Seuil de difficulté</h4>
<div class="invoc-criteria-grid">
<label>Nature du Démon</label>
<select name="seuil_nature">
<option value="5">Démon mineur (+5)</option>
<option value="10">Démon médian (+10)</option>
<option value="15">Démon majeur (+15)</option>
</select>
<label>Traits spécifiques</label>
<select name="seuil_traits">
<option value="0">1 Trait (±0)</option>
<option value="5">2 Traits (+5)</option>
<option value="10">3 Traits (+10)</option>
</select>
<label>Augmentation attributs / capacités</label>
<input type="number" name="seuil_augmentation" value="0" min="0" max="50" class="invoc-seuil-input" />
<label>Nature du service</label>
<select name="seuil_service">
<option value="0">Service facile (±0)</option>
<option value="5">Service difficile (+5)</option>
<option value="10">Danger de mort pour le Démon (+10)</option>
</select>
<label>Durée de l'invocation</label>
<select name="seuil_duree">
<option value="0">Une heure (±0)</option>
<option value="5">Un jour (+5)</option>
<option value="10">Une semaine (+10)</option>
<option value="15">Plus d'une semaine (+15)</option>
</select>
<label>Marché passé avec le Démon</label>
<select name="seuil_marche">
<option value="-5">Sorcier accepte tout (-5)</option>
<option value="0" selected>Compromis (±0)</option>
<option value="10">Sorcier ne cède sur rien (+10)</option>
</select>
<label>Lien avec le Chaos</label>
<select name="seuil_chaos">
<option value="0" {{#unless aspectGe8}}{{#unless hasPacte}}selected{{/unless}}{{/unless}}>Aucun lien particulier (±0)</option>
<option value="-5" {{#if hasPacte}}selected{{/if}}>Pacte avec la divinité du Démon (-5)</option>
<option value="-10" {{#if aspectGe8}}selected{{/if}}>Aspect de 8 ou plus (-10)</option>
</select>
<label>Sacrifice</label>
<select name="seuil_sacrifice">
<option value="0" selected>Aucun sacrifice (±0)</option>
<option value="-5">Un sacrifice (-5)</option>
<option value="-10">Sacrifice violent et orgiaque (-10)</option>
</select>
</div>
{{!-- Total seuil calculé --}}
<div class="invoc-seuil-total-row">
<span class="invoc-seuil-label">Seuil total calculé :</span>
<span class="invoc-value-highlight invoc-seuil-total" id="invoc-demon-seuil-total">5</span>
<input type="hidden" name="seuil" id="invoc-demon-seuil-hidden" value="5" />
</div>
</div>
<div class="invoc-form-grid">
{{!-- Coût en Âme --}}
<div class="invoc-field invoc-summary-row">
<label>Âme disponible</label>
<span class="invoc-value-highlight">{{ameDisponible}}</span>
<span class="invoc-hint">Coût requis : <strong id="invoc-demon-cout">5</strong> (= Seuil)</span>
</div>
{{!-- Attribut TRE --}}
<div class="invoc-field">
<label>Trempe (TRE)</label>
<span class="invoc-value-highlight">{{attr.value}}</span>
</div>
{{!-- Modificateur --}}
<div class="invoc-field">
<label>Modificateur de jet</label>
<select name="modificateur">
{{#each modOptions}}
<option value="{{this}}" {{#if (eq this 0)}}selected{{/if}}>{{#if (gt this 0)}}+{{/if}}{{this}}</option>
{{/each}}
</select>
</div>
</div>
{{!-- Avertissement âme insuffisante --}}
<div id="invoc-demon-ame-warn" class="invoc-warning-box" style="display:none">
<i class="fas fa-exclamation-triangle"></i> Âme insuffisante pour cette invocation !
</div>
</div>
+98
View File
@@ -0,0 +1,98 @@
<div class="sortilege-dialog invocation-dialog">
{{!-- Header --}}
<div class="sortilege-header flexrow">
{{#if img}}<img src="{{img}}" class="sortilege-actor-img" alt="{{name}}" />{{/if}}
<div class="sortilege-actor-info">
<span class="sortilege-actor-name">{{name}}</span>
<span class="sortilege-ame-info">Âme disponible : <strong>{{ameDisponible}}</strong></span>
<span class="sortilege-ame-info">
<i class="fas fa-star" style="color:gold;"></i> Invocation d'un Esprit de la Loi
</span>
</div>
</div>
{{!-- Prérequis --}}
{{#unless prerequisOk}}
<div class="invoc-warning-box">
<i class="fas fa-exclamation-triangle"></i>
<strong>Prérequis non remplis :</strong>
{{#unless isLoyal}}<div>• Alignement loyal requis (Loi doit être supérieur au Chaos)</div>{{/unless}}
{{#unless hasRuneLoi}}<div>• Rune de la Loi requise dans l'inventaire</div>{{/unless}}
</div>
{{/unless}}
{{!-- Compétences disponibles --}}
<div class="invoc-comp-summary">
<span class="comp-badge {{#unless persuasionNiveau}}comp-missing{{/unless}}">
Persuasion : {{#if persuasionNiveau}}<strong>{{persuasionNiveau}}</strong>{{else}}<em>absente</em>{{/if}}
</span>
<span class="comp-badge {{#unless hautParlerNiveau}}comp-missing{{/unless}}">
Haut-Parler : {{#if hautParlerNiveau}}<strong>{{hautParlerNiveau}}</strong>{{else}}<em>absent</em>{{/if}}
</span>
<span class="comp-badge {{#unless loiChaosNiveau}}comp-missing{{/unless}}">
Loi &amp; Chaos : {{#if loiChaosNiveau}}<strong>{{loiChaosNiveau}}</strong>{{else}}<em>absent</em>{{/if}}
</span>
</div>
{{!-- Choix de l'Automaton --}}
<div class="invoc-seuil-calculator">
<h4 class="invoc-section-title"><i class="fas fa-cogs"></i> Choisir l'Automaton</h4>
<div class="invoc-criteria-grid">
<label>Type d'Automaton</label>
<select name="automatonType">
{{#each automatonTypes}}
<option value="{{@key}}">{{this}}</option>
{{/each}}
</select>
<label>Puissance</label>
<select name="puissance" id="esprit-puissance">
<option value="mineur">Mineur (Seuil 15 — 1 heure)</option>
<option value="median">Médian (Seuil 20 — 1 jour)</option>
<option value="majeur">Majeur (Seuil 25 — 1 semaine)</option>
</select>
<label>Durée de concentration</label>
<span id="esprit-duree" style="font-style:italic;align-self:center;">1 heure</span>
<label>Modificateur de jet</label>
<select name="modificateur">
{{#each modOptions}}
<option value="{{this}}" {{#if (eq this 0)}}selected{{/if}}>{{#if (gt this 0)}}+{{/if}}{{this}}</option>
{{/each}}
</select>
</div>
{{!-- Seuil calculé --}}
<div class="invoc-seuil-total-row">
<span class="invoc-seuil-label">Seuil de difficulté :</span>
<span class="invoc-value-highlight invoc-seuil-total" id="esprit-seuil-total">15</span>
<input type="hidden" name="seuil" id="esprit-seuil-hidden" value="15" />
</div>
</div>
{{!-- Résumé du jet --}}
<div class="potion-dialog-section potion-summary">
<div class="flexrow summary-row">
<span class="summary-label">Formule :</span>
<span class="summary-value">Trempe ({{treValeur}}) + Persuasion ({{#if persuasionNiveau}}{{persuasionNiveau}}{{else}}0{{/if}})</span>
</div>
<div class="flexrow summary-row">
<span class="summary-label">Coût en Âme :</span>
<span class="summary-value"><strong id="esprit-cout-ame">15</strong> points (= Seuil)</span>
</div>
<div class="flexrow summary-row">
<span class="summary-label">Durée de vie :</span>
<span class="summary-value"><em>Seuil</em> jours après invocation réussie</span>
</div>
</div>
<div id="esprit-ame-warn" class="invoc-warning-box" style="display:none;">
<i class="fas fa-exclamation-triangle"></i> Âme insuffisante pour cette invocation !
</div>
</div>
+3
View File
@@ -77,6 +77,9 @@
<input type="text" class="padd-right numeric-input item-field-label-short" name="system.prix" value="{{system.prix}}" data-dtype="Number" />
</li>
</ul>
{{!-- Enchantement de la Loi --}}
{{> systems/fvtt-mournblade/templates/partial-item-enchantement.hbs this}}
</div>
</section>
+3
View File
@@ -33,6 +33,9 @@
<input type="text" class="padd-right numeric-input item-field-label-short" name="system.prix" value="{{system.prix}}" data-dtype="Number" />
</li>
</ul>
{{!-- Enchantement de la Loi --}}
{{> systems/fvtt-mournblade/templates/partial-item-enchantement.hbs this}}
</div>
</section>
+3
View File
@@ -17,6 +17,9 @@
<input type="text" class="padd-right numeric-input item-field-label-short" name="system.prix" value="{{system.prix}}" data-dtype="Number" />
</li>
</ul>
{{!-- Enchantement de la Loi --}}
{{> systems/fvtt-mournblade/templates/partial-item-enchantement.hbs this}}
</div>
</section>
+3
View File
@@ -25,6 +25,9 @@
<input type="text" class="padd-right numeric-input item-field-label-short" name="system.prix" value="{{system.prix}}" data-dtype="Number" />
</li>
</ul>
{{!-- Enchantement de la Loi --}}
{{> systems/fvtt-mournblade/templates/partial-item-enchantement.hbs this}}
</div>
</section>
+42
View File
@@ -0,0 +1,42 @@
{{!-- Section Enchantement de la Loi - affichée sur les items enchantables --}}
<div class="enchantement-section">
<h4 class="section-title-small">
<i class="fas fa-star" style="color:gold;"></i>
{{localize "MNBL.enchantementLoi"}}
{{#if system.enchantementLoi.actif}}<span class="enchant-badge">{{localize "MNBL.enchantementActif"}}</span>{{/if}}
</h4>
{{#if isGM}}
{{!-- MJ : champs éditables --}}
<ul class="item-list alternate-list">
<li class="flexrow item">
<label class="generic-label item-field-label-long">{{localize "MNBL.enchantementActif"}} : </label>
<input type="checkbox" name="system.enchantementLoi.actif" {{#if system.enchantementLoi.actif}}checked{{/if}} />
</li>
<li class="flexrow item">
<label class="generic-label item-field-label-long">{{localize "MNBL.enchantementBonus"}} : </label>
<input type="number" class="numeric-input item-field-label-short" name="system.enchantementLoi.bonus" value="{{system.enchantementLoi.bonus}}" min="0" max="20" />
</li>
<li class="flexrow item">
<label class="generic-label item-field-label-long">{{localize "MNBL.enchantementAntiChaos"}} : </label>
<input type="checkbox" name="system.enchantementLoi.antiChaos" {{#if system.enchantementLoi.antiChaos}}checked{{/if}} />
</li>
</ul>
{{else}}
{{!-- Joueur : lecture seule --}}
{{#if system.enchantementLoi.actif}}
<ul class="item-list alternate-list">
<li class="flexrow item">
<label class="generic-label item-field-label-long">{{localize "MNBL.enchantementBonus"}} : </label>
<span class="item-field-label-short"><strong>+{{system.enchantementLoi.bonus}}</strong></span>
</li>
<li class="flexrow item">
<label class="generic-label item-field-label-long">{{localize "MNBL.enchantementAntiChaos"}} : </label>
<span class="item-field-label-short">{{#if system.enchantementLoi.antiChaos}}<i class="fas fa-check"></i>{{else}}<i class="fas fa-times"></i>{{/if}}</span>
</li>
</ul>
{{else}}
<p class="enchant-none"><em>Non enchanté</em></p>
{{/if}}
{{/if}}
</div>
+14
View File
@@ -17,6 +17,20 @@
</h1>
</div>
<div class="header-actions">
{{#if canEnchant}}
<button
type="button"
data-action="enchanter"
class="chat-card-button"
data-tooltip="Enchanter (Loi)"
>
<i class="fas fa-star-half-alt"></i>
</button>
{{else if enchantementActif}}
<span class="chat-card-button" data-tooltip="Déjà enchanté (Loi)" style="color:gold;cursor:default;">
<i class="fas fa-star"></i>
</span>
{{/if}}
<button
type="button"
data-action="postItem"
+24
View File
@@ -92,6 +92,30 @@
{{#if system.prix}}<div class="stat-row"><span class="stat-label">Prix</span><span class="stat-value">{{system.prix}}</span></div>{{/if}}
{{#if system.rarete}}<div class="stat-row"><span class="stat-label">Rareté</span><span class="stat-value">{{system.rarete}}</span></div>{{/if}}
</div>
{{else if (eq type "potion")}}
<div class="item-card-stats">
<div class="stat-row"><span class="stat-label"><i class="fas fa-flask"></i> Statut</span><span class="stat-value stat-highlight">{{system.statutLabel}}</span></div>
{{#if system.rune}}<div class="stat-row"><span class="stat-label"><i class="fas fa-star-of-david"></i> Rune</span><span class="stat-value">{{system.rune}}</span></div>{{/if}}
{{#if system.runeSeuil}}<div class="stat-row"><span class="stat-label">Seuil</span><span class="stat-value">{{system.runeSeuil}}</span></div>{{/if}}
{{#if system.formeLabel}}<div class="stat-row"><span class="stat-label">Forme</span><span class="stat-value">{{system.formeLabel}}</span></div>{{/if}}
{{#if system.duree}}<div class="stat-row"><span class="stat-label"><i class="fas fa-clock"></i> Durée</span><span class="stat-value">{{system.duree}}</span></div>{{/if}}
{{#if system.conservation}}<div class="stat-row"><span class="stat-label">Conservation</span><span class="stat-value">{{system.conservation}}</span></div>{{/if}}
{{#if system.pointsAme}}<div class="stat-row"><span class="stat-label">Points d'Âme</span><span class="stat-value">{{system.pointsAme}}</span></div>{{/if}}
{{#if system.virulence}}<div class="stat-row"><span class="stat-label"><i class="fas fa-skull-crossbones"></i> Virulence</span><span class="stat-value stat-highlight">{{system.virulence}}</span></div>{{/if}}
</div>
{{#if system.effetCuratif}}
<div class="item-card-divider"><span><i class="fas fa-flask"></i> Effet curatif</span></div>
<div class="item-card-description">{{{system.effetCuratif}}}</div>
{{/if}}
{{#if system.effetLetal}}
<div class="item-card-divider item-card-divider--danger"><span><i class="fas fa-skull-crossbones"></i> Effet létal</span></div>
<div class="item-card-description">{{{system.effetLetal}}}</div>
{{/if}}
{{#if system.effetSecondaire}}
<div class="item-card-divider"><span><i class="fas fa-dizzy"></i> Effet secondaire</span></div>
<div class="item-card-description">{{{system.effetSecondaire}}}</div>
{{/if}}
{{/if}}
{{!-- Description --}}