Rework complet des fiches et dialog de jets

This commit is contained in:
2026-03-28 08:47:13 +01:00
parent 1b51a81919
commit a9e902ed78
59 changed files with 2342 additions and 305 deletions

View File

@@ -15,12 +15,12 @@
<div class="cde-grid two">
<div class="cde-field">
<label>{{ localize "CDE.Concept" }}</label>
<input type="text" name="system.concept" value="{{systemData.concept}}" placeholder="{{ localize 'CDE.Concept' }}" />
<input type="text" name="system.concept" value="{{systemData.concept}}" placeholder="" />
</div>
<div class="cde-field">
<label>{{ localize "CDE.CelestialGuardian" }}</label>
<select name="system.guardian">
<option value="0" {{#if (eq systemData.guardian 0)}}selected{{/if}}>{{ localize "CDE.CelestialGuardian" }}</option>
<option value="0" {{#if (eq systemData.guardian 0)}}selected{{/if}}></option>
<option value="1" {{#if (eq systemData.guardian 1)}}selected{{/if}}>{{ localize "CDE.CelestialGuardian1" }}</option>
<option value="2" {{#if (eq systemData.guardian 2)}}selected{{/if}}>{{ localize "CDE.CelestialGuardian2" }}</option>
<option value="3" {{#if (eq systemData.guardian 3)}}selected{{/if}}>{{ localize "CDE.CelestialGuardian3" }}</option>
@@ -31,7 +31,7 @@
</div>
<div class="cde-quick-meta">
<div class="cde-tag">
<span class="cde-pill character">{{ localize "CDE.PCName" }}</span>
<span class="cde-pill character">{{ localize "CDE.FatSi" }}</span>
<span>Chroniques de l'Étrange</span>
</div>
<div class="cde-initiative-card">
@@ -74,7 +74,6 @@
<a class="item" data-action="tab" data-group="primary" data-tab="skills">{{ localize "CDE.Skills" }}</a>
<a class="item" data-action="tab" data-group="primary" data-tab="treasures">{{ localize "CDE.Treasures" }}</a>
<a class="item" data-action="tab" data-group="primary" data-tab="magics">{{ localize "CDE.Magics" }}</a>
<a class="item" data-action="tab" data-group="primary" data-tab="spells">{{ localize "CDE.Spells" }}</a>
<a class="item" data-action="tab" data-group="primary" data-tab="kungfus">{{ localize "CDE.KungFu" }}</a>
<a class="item" data-action="tab" data-group="primary" data-tab="items">{{ localize "CDE.Items" }}</a>
</nav>
@@ -110,12 +109,6 @@
</div>
</div>
<div class="tab" data-group="primary" data-tab="spells">
<div class="cde-card cde-data-table">
{{> "systems/fvtt-chroniques-de-l-etrange/templates/actor/parts/cde-character-spells.html"}}
</div>
</div>
<div class="tab" data-group="primary" data-tab="kungfus">
<div class="cde-card cde-data-table">
{{> "systems/fvtt-chroniques-de-l-etrange/templates/actor/parts/cde-character-kungfus.html"}}

View File

@@ -76,7 +76,7 @@
</div>
</div>
<div class="cde-tag">
<span class="cde-pill npc">{{ localize "CDE.NPCName" }}</span>
<span class="cde-pill npc">{{ localize "CDE.PNJ" }}</span>
<span>Chroniques de l'Étrange</span>
</div>
</div>

View File

@@ -1,16 +1,83 @@
<ol class="item-list">
{{#each kungfus as |item id|}}
<li class="item flexrow" data-item-id="{{item._id}}">
<img src="{{item.img}}" title="{{item.name}}" width="24" height="24" />
<h4 class="item-name">{{item.name}}</h4>
<div class="item-controls">
<a class="item-control cde-roll-trigger" title="{{ localize 'CDE.Roll' }}" data-libel-id="{{item._id}}-itemkungfu"><i class="fas fa-dice"></i></a>
<a class="item-control" title="{{ localize 'CDE.KFEdit' }}" data-action="edit"><i class="fas fa-edit"></i></a>
<a class="item-control" title="{{ localize 'CDE.KFDelete' }}" data-action="delete"><i class="fas fa-trash"></i></a>
{{!-- ===================== ARTS MARTIAUX ===================== --}}
<div class="cde-kf-add-row">
<a class="cde-kf-add-btn" data-action="create" data-type="kungfu" title="{{ localize 'CDE.KFCreate' }}">
<i class="fas fa-plus"></i> {{ localize "CDE.KFCreate" }}
</a>
</div>
{{#if kungfus.length}}
{{#each kungfus as |item|}}
<div class="cde-kf-card cde-kf--{{item.system.aspect}}">
<div class="cde-kf-header">
<img class="cde-kf-aspect-icon" src="{{ getElementIcon item.system.aspect }}" alt="{{item.system.aspect}}" />
<img class="cde-kf-orient-icon" src="{{ getOrientationIcon item.system.orientation }}" alt="{{item.system.orientation}}"
title="{{ getOrientationLabel item.system.orientation }}" />
<div class="cde-kf-info">
<span class="cde-kf-name">{{item.name}}</span>
<span class="cde-kf-meta">
{{#if (eq item.system.skill "rangedcombat")}}{{ localize "CDE.RangedCombat" }}{{else}}{{ localize "CDE.SkillKungfu" }}{{/if}}
{{#if item.system.speciality}}&middot; <em>{{item.system.speciality}}</em>{{/if}}
</span>
</div>
</li>
{{/each}}
</ol>
<p>
<a class="item-control" title="{{ localize 'CDE.KFCreate' }}" data-action="create" data-type="kungfu"><i class="fas fa-plus"></i> {{ localize "CDE.KFCreate" }}</a>
</p>
<a class="cde-roll-trigger cde-kf-roll-btn" data-libel-id="{{item._id}}-itemkungfu"
title="{{ localize 'CDE.Roll' }} {{item.name}}">
<i class="fas fa-dice-d10"></i>
</a>
<div class="cde-kf-controls">
<a data-action="edit" data-item-id="{{item._id}}" title="{{ localize 'CDE.KFEdit' }}"><i class="fas fa-edit"></i></a>
<a data-action="delete" data-item-id="{{item._id}}" title="{{ localize 'CDE.KFDelete' }}"><i class="fas fa-trash"></i></a>
</div>
</div>
{{!-- Style --}}
{{#if item.system.style}}
<div class="cde-kf-style-row">
<span class="cde-kf-style-label"><i class="fas fa-star"></i> {{ localize "CDE.Style" }}</span>
<span class="cde-kf-style-text">{{item.system.style}}</span>
</div>
{{/if}}
{{!-- Techniques --}}
<ul class="cde-kf-techniques">
{{#with item.system.techniques.technique1 as |tech|}}
{{#if tech.name}}
<li class="cde-kf-tech {{#if tech.check}}cde-kf-tech--mastered{{/if}}">
<span class="cde-kf-tech-mastered" title="{{ localize 'CDE.Masterized' }}">
{{#if tech.check}}<i class="fas fa-check-circle"></i>{{else}}<i class="far fa-circle"></i>{{/if}}
</span>
<span class="cde-act-badge cde-act--{{tech.activation}}" title="{{ getActivationLabel tech.activation }}">{{ getActivationLabel tech.activation }}</span>
<span class="cde-kf-tech-name">{{#if tech.name}}{{tech.name}}{{else}}<em></em>{{/if}}</span>
</li>
{{/if}}
{{/with}}
{{#with item.system.techniques.technique2 as |tech|}}
{{#if tech.name}}
<li class="cde-kf-tech {{#if tech.check}}cde-kf-tech--mastered{{/if}}">
<span class="cde-kf-tech-mastered" title="{{ localize 'CDE.Masterized' }}">
{{#if tech.check}}<i class="fas fa-check-circle"></i>{{else}}<i class="far fa-circle"></i>{{/if}}
</span>
<span class="cde-act-badge cde-act--{{tech.activation}}" title="{{ getActivationLabel tech.activation }}">{{ getActivationLabel tech.activation }}</span>
<span class="cde-kf-tech-name">{{#if tech.name}}{{tech.name}}{{else}}<em></em>{{/if}}</span>
</li>
{{/if}}
{{/with}}
{{#with item.system.techniques.technique3 as |tech|}}
{{#if tech.name}}
<li class="cde-kf-tech {{#if tech.check}}cde-kf-tech--mastered{{/if}}">
<span class="cde-kf-tech-mastered" title="{{ localize 'CDE.Masterized' }}">
{{#if tech.check}}<i class="fas fa-check-circle"></i>{{else}}<i class="far fa-circle"></i>{{/if}}
</span>
<span class="cde-act-badge cde-act--{{tech.activation}}" title="{{ getActivationLabel tech.activation }}">{{ getActivationLabel tech.activation }}</span>
<span class="cde-kf-tech-name">{{#if tech.name}}{{tech.name}}{{else}}<em></em>{{/if}}</span>
</li>
{{/if}}
{{/with}}
</ul>
</div>
{{/each}}
{{else}}
<p class="cde-kf-empty">{{ localize "CDE.KFEmpty" }}</p>
{{/if}}

View File

@@ -1,138 +1,153 @@
<div class="tab-sous-titre">{{ localize "CDE.Components2" }}</div>
<table class="cde-magics-table">
<tr>
<td class="image"><img src="systems/fvtt-chroniques-de-l-etrange/images/d10-1.png" alt="Die" /></td>
<td class="value">
<input class="input" type="text" placeholder="{{ localize 'CDE.Component' }}1" name="system.component.one.value" value="{{systemData.component.one.value}}" />
</td>
<td class="td-spacer">&nbsp;</td>
<td class="image td-die"><img src="systems/fvtt-chroniques-de-l-etrange/images/d10-6.png" alt="Die" /></td>
<td class="value">
<input class="input" type="text" placeholder="{{ localize 'CDE.Component' }}6" name="system.component.six.value" value="{{systemData.component.six.value}}" />
</td>
</tr>
<tr>
<td class="image"><img src="systems/fvtt-chroniques-de-l-etrange/images/d10-2.png" alt="Die" /></td>
<td class="value">
<input class="input" type="text" placeholder="{{ localize 'CDE.Component' }}2" name="system.component.two.value" value="{{systemData.component.two.value}}" />
</td>
<td class="td-spacer">&nbsp;</td>
<td class="image td-die"><img src="systems/fvtt-chroniques-de-l-etrange/images/d10-7.png" alt="Die" /></td>
<td class="value">
<input class="input" type="text" placeholder="{{ localize 'CDE.Component' }}7" name="system.component.seven.value" value="{{systemData.component.seven.value}}" />
</td>
</tr>
<tr>
<td class="image"><img src="systems/fvtt-chroniques-de-l-etrange/images/d10-3.png" alt="Die" /></td>
<td class="value">
<input class="input" type="text" placeholder="{{ localize 'CDE.Component' }}3" name="system.component.three.value" value="{{systemData.component.three.value}}" />
</td>
<td class="td-spacer">&nbsp;</td>
<td class="image td-die"><img src="systems/fvtt-chroniques-de-l-etrange/images/d10-8.png" alt="Die" /></td>
<td class="value">
<input class="input" type="text" placeholder="{{ localize 'CDE.Component' }}8" name="system.component.eight.value" value="{{systemData.component.eight.value}}" />
</td>
</tr>
<tr>
<td class="image"><img src="systems/fvtt-chroniques-de-l-etrange/images/d10-4.png" alt="Die" /></td>
<td class="value">
<input class="input" type="text" placeholder="{{ localize 'CDE.Component' }}4" name="system.component.four.value" value="{{systemData.component.four.value}}" />
</td>
<td class="td-spacer">&nbsp;</td>
<td class="image td-die"><img src="systems/fvtt-chroniques-de-l-etrange/images/d10-9.png" alt="Die" /></td>
<td class="value">
<input class="input" type="text" placeholder="{{ localize 'CDE.Component' }}9" name="system.component.nine.value" value="{{systemData.component.nine.value}}" />
</td>
</tr>
<tr>
<td class="image"><img src="systems/fvtt-chroniques-de-l-etrange/images/d10-5.png" alt="Die" /></td>
<td class="value">
<input class="input" type="text" placeholder="{{ localize 'CDE.Component' }}5" name="system.component.five.value" value="{{systemData.component.five.value}}" />
</td>
<td class="td-spacer">&nbsp;</td>
<td class="image td-die"><img src="systems/fvtt-chroniques-de-l-etrange/images/d10-0.png" alt="Die" /></td>
<td class="value">
<input class="input" type="text" placeholder="{{ localize 'CDE.Component' }}0" name="system.component.zero.value" value="{{systemData.component.zero.value}}" />
</td>
</tr>
</table>
<div class="chancethrow">
<img
class="click img-die-sm"
data-libel-id="randomize-randomize"
src="systems/fvtt-chroniques-de-l-etrange/images/d10-10.png"
title="{{ localize 'CDE.Die' }}{{ localize 'CDE.ChanceThrow' }}"
alt="Die"
/>
<label class="label"><b>&nbsp;{{ localize "CDE.ChanceThrow" }}</b></label>
{{!-- ======================== COMPOSANTS & INGRÉDIENTS ======================== --}}
<div class="cde-section-label">
<i class="fas fa-flask"></i> {{ localize "CDE.Components2" }}
</div>
<div class="tab-sous-titre">{{ localize "CDE.TypesOfMagic" }}</div>
<div class="cde-components-grid">
{{#each systemData.magics as |magic key|}}
{{log 'magic' key magic}}
<table class="{{getMagicBackground key}}">
<tr>
<td class="check visible">
<input
type="checkbox"
name="system.magics.{{key}}.visible"
{{
checked
magic.visible
}}
title="{{ localize 'CDE.Visible' }}"
/>
</td>
<td class="click" data-libel-id="{{key}}-magic">
<img
id="system.magics.{{@key}}.click"
src="systems/fvtt-chroniques-de-l-etrange/images/d10-10.png"
title="{{ localize 'CDE.Die' }}{{getMagicLabel key}}"
alt="{{ getMagicAspectLabel key }}"
/>
</td>
<td class="label"><b>&nbsp;&nbsp;{{getMagicLabel key}}</b></td>
<td class="image">
<img id="system.magics.{{@key}}.cercle.value" src="systems/fvtt-chroniques-de-l-etrange/images/cercle.png" title="Circle" alt="Cercle" />
<div class="stick">&nbsp;</div>
<input class="input" type="number" placeholder="0" name="system.magics.{{@key}}.value" value="{{magic.value}}" />
</td>
<td class="label"><b>&nbsp;&nbsp;,&nbsp;{{ getMagicAspectLabel key }}</b></td>
<td>
{{#if magic.visible}}
<table>
{{#each magic.speciality as |special key2|}}
{{log 'speciality' special key key2}}
<tr class="clickondie">
<td class="check">
<input
type="checkbox"
name="system.magics.{{key}}.speciality.{{key2}}.check"
{{
checked
special.check
}}
title="{{ localize 'CDE.PracticeSpecialty' }}{{ getMagicSpecialityLabel key key2 }}"
/>
</td>
<td class="label"><b>{{ getMagicSpecialityLabel key key2 }}</b></td>
<td class="icon-element"><img src="{{getMagicSpecialityElementIcon key key2}}" title="{{ getMagicSpecialityLabelElement key key2 }}" alt="{{getMagicSpecialityLabelElement key key2}}" /></td>
<td class="{{getMagicSpecialityClassIcon key key2}}"><img src="{{ getMagicSpecialityIcon key key2 }}" title="{{getMagicSpecialityLabelIcon key key2}}" alt="{{getMagicSpecialityLabelIcon key key2}}" /></td>
<td class="click icon-d" data-libel-id="{{key}}-magicspecial-{{key2}}">
<img
id="{{system.magics.magic.speciality.special.click}}"
src="systems/fvtt-chroniques-de-l-etrange/images/d10-10.png"
title="{{ localize 'CDE.DieSP' }}{{ getMagicSpecialityLabel key key2 }}"
alt="Die"
/>
</td>
</tr>
{{/each}}
</table>
{{/if}}
</td>
</tr>
</table>
<div class="cde-component-cell">
<img class="cde-component-die" src="systems/fvtt-chroniques-de-l-etrange/images/d10-1.png" alt="1" />
<input type="text" class="cde-component-input" placeholder="{{ localize 'CDE.Component' }}1" name="system.component.one.value" value="{{systemData.component.one.value}}" />
</div>
<div class="cde-component-cell">
<img class="cde-component-die" src="systems/fvtt-chroniques-de-l-etrange/images/d10-6.png" alt="6" />
<input type="text" class="cde-component-input" placeholder="{{ localize 'CDE.Component' }}6" name="system.component.six.value" value="{{systemData.component.six.value}}" />
</div>
<div class="cde-component-cell">
<img class="cde-component-die" src="systems/fvtt-chroniques-de-l-etrange/images/d10-2.png" alt="2" />
<input type="text" class="cde-component-input" placeholder="{{ localize 'CDE.Component' }}2" name="system.component.two.value" value="{{systemData.component.two.value}}" />
</div>
<div class="cde-component-cell">
<img class="cde-component-die" src="systems/fvtt-chroniques-de-l-etrange/images/d10-7.png" alt="7" />
<input type="text" class="cde-component-input" placeholder="{{ localize 'CDE.Component' }}7" name="system.component.seven.value" value="{{systemData.component.seven.value}}" />
</div>
<div class="cde-component-cell">
<img class="cde-component-die" src="systems/fvtt-chroniques-de-l-etrange/images/d10-3.png" alt="3" />
<input type="text" class="cde-component-input" placeholder="{{ localize 'CDE.Component' }}3" name="system.component.three.value" value="{{systemData.component.three.value}}" />
</div>
<div class="cde-component-cell">
<img class="cde-component-die" src="systems/fvtt-chroniques-de-l-etrange/images/d10-8.png" alt="8" />
<input type="text" class="cde-component-input" placeholder="{{ localize 'CDE.Component' }}8" name="system.component.eight.value" value="{{systemData.component.eight.value}}" />
</div>
<div class="cde-component-cell">
<img class="cde-component-die" src="systems/fvtt-chroniques-de-l-etrange/images/d10-4.png" alt="4" />
<input type="text" class="cde-component-input" placeholder="{{ localize 'CDE.Component' }}4" name="system.component.four.value" value="{{systemData.component.four.value}}" />
</div>
<div class="cde-component-cell">
<img class="cde-component-die" src="systems/fvtt-chroniques-de-l-etrange/images/d10-9.png" alt="9" />
<input type="text" class="cde-component-input" placeholder="{{ localize 'CDE.Component' }}9" name="system.component.nine.value" value="{{systemData.component.nine.value}}" />
</div>
<div class="cde-component-cell">
<img class="cde-component-die" src="systems/fvtt-chroniques-de-l-etrange/images/d10-5.png" alt="5" />
<input type="text" class="cde-component-input" placeholder="{{ localize 'CDE.Component' }}5" name="system.component.five.value" value="{{systemData.component.five.value}}" />
</div>
<div class="cde-component-cell">
<img class="cde-component-die" src="systems/fvtt-chroniques-de-l-etrange/images/d10-0.png" alt="0" />
<input type="text" class="cde-component-input" placeholder="{{ localize 'CDE.Component' }}0" name="system.component.zero.value" value="{{systemData.component.zero.value}}" />
</div>
</div>
<div class="cde-component-random-row">
<button type="button" class="cde-btn-random-component" data-action="randomize-component"
title="{{ localize 'CDE.ChanceThrow' }}">
<i class="fas fa-dice"></i>
<span>{{ localize "CDE.ChanceThrow" }}</span>
</button>
</div>
{{!-- ======================== TYPES DE MAGIE ======================== --}}
<div class="cde-section-label cde-section-label--top-margin">
<i class="fas fa-hat-wizard"></i> {{ localize "CDE.TypesOfMagic" }}
</div>
{{#each magicsDisplay as |magic key|}}
<div class="cde-magic-card cde-magic--{{key}}">
<div class="cde-magic-header">
<img class="cde-magic-aspect-icon" src="{{getMagicAspectIcon key}}" alt="{{getMagicAspectLabel key}}" />
<div class="cde-magic-info">
<span class="cde-magic-name">{{getMagicLabel key}}</span>
<span class="cde-magic-aspect-name">{{getMagicAspectLabel key}}</span>
</div>
<input class="cde-circle-input cde-magic-value-input" type="number" min="0"
name="system.magics.{{key}}.value" value="{{magic.value}}" />
<a class="cde-roll-trigger cde-magic-roll-btn"
data-libel-id="{{key}}-magic"
title="{{ localize 'CDE.Roll' }} {{getMagicLabel key}}">
<i class="fas fa-dice-d10"></i>
</a>
<label class="cde-magic-toggle" title="{{ localize 'CDE.PracticeSpecialty' }}">
<input type="checkbox" name="system.magics.{{key}}.visible" {{checked magic.visible}} />
<i class="fas {{#if magic.visible}}fa-chevron-up{{else}}fa-chevron-down{{/if}}"></i>
</label>
</div>
{{#if magic.visible}}
<div class="cde-magic-specialities">
{{#each magic.speciality as |special key2|}}
<div class="cde-magic-spec-row {{#if special.check}}cde-magic-spec-row--active{{/if}}">
<label class="cde-magic-spec-check-label" title="{{ localize 'CDE.PracticeSpecialty' }}{{ getMagicSpecialityLabel key key2 }}">
<input type="checkbox" name="system.magics.{{key}}.speciality.{{key2}}.check" {{checked special.check}} />
<span class="cde-spec-checkbox-ui"></span>
</label>
<img class="cde-magic-spec-element" src="{{getMagicSpecialityElementIcon key key2}}"
alt="{{getMagicSpecialityLabelElement key key2}}"
title="{{getMagicSpecialityLabelElement key key2}}" />
<span class="cde-magic-spec-polarity {{getMagicSpecialityClassIcon key key2}}">
{{getMagicSpecialityLabelIcon key key2}}
</span>
<span class="cde-magic-spec-name">{{getMagicSpecialityLabel key key2}}</span>
<a class="cde-roll-trigger cde-magic-spec-roll-btn"
data-libel-id="{{key}}-magicspecial-{{key2}}"
title="{{ localize 'CDE.DieSP' }}{{getMagicSpecialityLabel key key2}}">
<i class="fas fa-dice-d10"></i>
</a>
</div>
{{/each}}
</div>
{{/if}}
{{!-- ======================== GRIMOIRE — sorts de cette discipline ======================== --}}
<div class="cde-grimoire-section">
<div class="cde-grimoire-header">
<i class="fas fa-book-open"></i>
<span>{{ localize "CDE.Grimoire" }}</span>
<a class="cde-grimoire-add" data-action="create" data-type="spell" data-discipline="{{key}}"
title="{{ localize 'CDE.SpellCreate' }}">
<i class="fas fa-plus"></i>
</a>
</div>
{{#if magic.grimoire.length}}
<ul class="cde-grimoire-list">
{{#each magic.grimoire as |spell|}}
<li class="cde-grimoire-entry">
<img class="cde-grimoire-img" src="{{spell.img}}" alt="{{spell.name}}" width="20" height="20" />
<span class="cde-grimoire-name">{{spell.name}}</span>
<span class="cde-grimoire-meta">
{{#if spell.system.specialityname}}<em>{{spell.system.specialityname}}</em>{{/if}}
<span class="cde-grimoire-diff" title="{{ localize 'CDE.Difficulty' }}">
<i class="fas fa-layer-group"></i> {{spell.system.difficulty}}
</span>
<span class="cde-grimoire-hei" title="{{ localize 'CDE.HeiCost' }}">
<i class="fas fa-fire"></i> {{spell.system.heiCost}}
</span>
</span>
<div class="cde-grimoire-controls">
<a class="item-control" data-action="edit" data-item-id="{{spell._id}}" title="{{ localize 'CDE.SpellEdit' }}"><i class="fas fa-edit"></i></a>
<a class="item-control" data-action="delete" data-item-id="{{spell._id}}" title="{{ localize 'CDE.SpellDelete' }}"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>
{{else}}
<p class="cde-grimoire-empty">{{ localize "CDE.GrimoireEmpty" }}</p>
{{/if}}
</div>
</div>
{{/each}}