297 lines
14 KiB
Handlebars
297 lines
14 KiB
Handlebars
<section class="{{cssClass}} sheet-form-layout creature-sheet" autocomplete="off">
|
||
|
||
{{!-- Sheet Header --}}
|
||
<header class="sheet-header">
|
||
<div class="header-fields background-sheet-header-creature">
|
||
<div class="flexrow">
|
||
<img class="profile-img" src="{{actor.img}}" data-action="editImage" title="{{actor.name}}" />
|
||
<div class="flexcol header-main-content">
|
||
<div style="display: flex; align-items: center; gap: 0.3rem; width: 100%;">
|
||
<h1 class="charname" style="flex: 1; margin: 0; min-width: 0;"><input name="name" type="text" value="{{actor.name}}" placeholder="Name" {{#if isPlayMode}}disabled{{/if}} /></h1>
|
||
<button type="button" class="sheet-mode-toggle" data-action="toggleSheet" data-tooltip="{{#if isEditMode}}Mode Visualisation{{else}}Mode Édition{{/if}}">
|
||
<i class="{{#if isEditMode}}fas fa-eye{{else}}fas fa-edit{{/if}}"></i>
|
||
</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</header>
|
||
|
||
{{!-- Sheet Tab Navigation --}}
|
||
<nav class="sheet-tabs tabs" data-group="primary">
|
||
<a class="item" data-tab="stats">{{localize "MNBL.attributes"}}</a>
|
||
<a class="item" data-tab="competences">{{localize "MNBL.skills"}}</a>
|
||
<a class="item" data-tab="equipement">{{localize "MNBL.attacks"}}</a>
|
||
<a class="item" data-tab="biodata">{{localize "MNBL.bio"}}</a>
|
||
</nav>
|
||
|
||
{{!-- Sheet Body --}}
|
||
<section class="sheet-body">
|
||
|
||
{{!-- Stats Tab --}}
|
||
<div class="tab stats" data-group="primary" data-tab="stats">
|
||
<div class="grid grid-2col">
|
||
|
||
{{!-- Attributs Section --}}
|
||
<div class="sheet-box color-bg-archetype">
|
||
<div class="section-grid">
|
||
<h4 class="section-title">{{localize "MNBL.attributes"}}</h4>
|
||
{{#each system.attributs as |attr key|}}
|
||
<div class="grid-row attr-row" data-attr-key="{{key}}">
|
||
<img class="item-name-img" src="systems/fvtt-mournblade/assets/icons/{{attr.labelnorm}}.webp">
|
||
<label class="label-name"><a data-action="rollAttribut" data-attr-key="{{key}}">{{localize attr.label}}</a></label>
|
||
<select class="status-small-label color-class-common item-field-label-short" type="text"
|
||
name="system.attributs.{{key}}.value" value="{{attr.value}}" data-dtype="Number" {{#if @root.isPlayMode}}disabled{{/if}}>
|
||
{{selectOptions @root.config.listeNiveauCreature selected=attr.value}}
|
||
</select>
|
||
</div>
|
||
{{/each}}
|
||
</div>
|
||
</div>
|
||
|
||
{{!-- Santé & Âme Section --}}
|
||
<div class="sheet-box color-bg-archetype">
|
||
|
||
<div class="section-grid">
|
||
<h4 class="section-title">{{localize "MNBL.health"}}</h4>
|
||
<div class="grid-row">
|
||
<label class="label-name">Total Santé</label>
|
||
<input type="number" class="input-numeric-short" name="system.sante.base" value="{{system.sante.base}}"
|
||
data-dtype="Number" {{#if isPlayMode}}disabled{{/if}} />
|
||
</div>
|
||
|
||
<div class="grid-row damage-row">
|
||
<label class="label-name damage-label">{{localize "MNBL.nonlethal"}}</label>
|
||
<div class="damage-controls">
|
||
<a class="plus-minus-button" data-action="modifySante" data-type="nonletaux" data-value="-1">−</a>
|
||
<input type="number" class="input-numeric-medium" name="system.sante.nonletaux" {{#if isPlayMode}}disabled{{/if}}
|
||
value="{{system.sante.nonletaux}}" data-dtype="Number" />
|
||
<a class="plus-minus-button" data-action="modifySante" data-type="nonletaux" data-value="1">+</a>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="grid-row damage-row">
|
||
<label class="label-name damage-label">{{localize "MNBL.lethal"}}</label>
|
||
<div class="damage-controls">
|
||
<a class="plus-minus-button" data-action="modifySante" data-type="letaux" data-value="-1">−</a>
|
||
<input type="number" class="input-numeric-medium" name="system.sante.letaux" {{#if isPlayMode}}disabled{{/if}} value="{{system.sante.letaux}}"
|
||
data-dtype="Number" />
|
||
<a class="plus-minus-button" data-action="modifySante" data-type="letaux" data-value="1">+</a>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="grid-row malus-row">
|
||
<label class="label-name">{{localize "MNBL.malus"}}</label>
|
||
<input type="number" class="input-numeric-short" name="system.sante.malusmanuel" {{#if isPlayMode}}disabled{{/if}}
|
||
value="{{system.sante.malusmanuel}}" data-dtype="Number" />
|
||
<label class="label-name">{{localize "MNBL.automalus"}}</label>
|
||
<div class="malus-value">{{santeMalus}}</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="section-grid">
|
||
<h4 class="section-title">{{localize "MNBL.soul"}}</h4>
|
||
<div class="grid-row">
|
||
<label class="label-name">Max Absolu</label>
|
||
<input type="number" class="input-numeric-short" name="system.ame.fullmax" value="{{system.ame.fullmax}}"
|
||
data-dtype="Number" {{#if isPlayMode}}disabled{{/if}} />
|
||
<label class="label-name">{{localize "MNBL.currentmax"}}</label>
|
||
<input type="number" class="input-numeric-short" name="system.ame.currentmax"
|
||
value="{{system.ame.currentmax}}" data-dtype="Number" {{#if isPlayMode}}disabled{{/if}} />
|
||
</div>
|
||
|
||
<div class="grid-row soul-consumed-row">
|
||
<label class="label-name">{{localize "MNBL.consumed"}}</label>
|
||
<div class="damage-controls">
|
||
<a class="plus-minus-button" data-action="modifyAme" data-value="-1">−</a>
|
||
<input type="number" class="input-numeric-medium" name="system.ame.value" value="{{system.ame.value}}"
|
||
data-dtype="Number" {{#if isPlayMode}}disabled{{/if}} />
|
||
<a class="plus-minus-button" data-action="modifyAme" data-value="1">+</a>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="grid-row">
|
||
<label class="label-name">{{localize "MNBL.automalus"}}</label>
|
||
<div class="malus-value">{{ameMalus}}</div>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
{{!-- Compétences Tab --}}
|
||
<div class="tab competences scrollable" data-group="primary" data-tab="competences">
|
||
<div class="section-grid">
|
||
<h4 class="section-title">{{localize "MNBL.skills"}}</h4>
|
||
<ul class="item-list compact-list">
|
||
<li class="item flexrow list-item items-title-bg">
|
||
<span class="item-name-label-header">{{localize "MNBL.skills"}}</span>
|
||
<span class="item-field-label-short">{{localize "MNBL.level"}}</span>
|
||
<div class="item-filler"> </div>
|
||
</li>
|
||
{{#each skills as |skill key|}}
|
||
<li class="item flexrow" data-item-id="{{skill._id}}" data-item-type="competence">
|
||
<img class="item-name-img" src="{{skill.img}}" />
|
||
<div class="flexcol item-name-label">
|
||
<span class="item-name-label competence-name"><a data-action="rollCompetence"
|
||
data-attr-key="tochoose">{{skill.name}}</a></span>
|
||
|
||
<span class="predilection-text">
|
||
{{#each skill.system.predilections as |pred key|}}
|
||
{{pred.name}},
|
||
{{/each}}
|
||
</span>
|
||
</div>
|
||
<select class="status-small-label color-class-common edit-item-data competence-niveau" type="text"
|
||
data-item-field="niveau" data-dtype="Number" {{#if @root.isPlayMode}}disabled{{/if}}>
|
||
{{selectOptions @root.config.listeNiveauSkill selected=skill.system.niveau}}
|
||
</select>
|
||
|
||
{{#if (ne skill.system.attribut1 "none")}}
|
||
<span class="item-field-label-short">
|
||
<button class="button-sheet-roll" data-action="rollCompetence" data-attr-key="{{skill.system.attribut1}}">{{upper
|
||
skill.system.attribut1}} : {{skill.system.attribut1total}}</button>
|
||
</span>
|
||
{{/if}}
|
||
{{#if (ne skill.system.attribut2 "none")}}
|
||
<span class="item-field-label-short">
|
||
<button class="button-sheet-roll" data-action="rollCompetence" data-attr-key="{{skill.system.attribut2}}">{{upper
|
||
skill.system.attribut2}} : {{skill.system.attribut2total}}</button>
|
||
</span>
|
||
{{/if}}
|
||
{{#if (ne skill.system.attribut3 "none")}}
|
||
<span class="item-field-label-short">
|
||
<button class="button-sheet-roll" data-action="rollCompetence" data-attr-key="{{skill.system.attribut3}}">{{upper
|
||
skill.system.attribut3}} : {{skill.system.attribut3total}}</button>
|
||
</span>
|
||
{{/if}}
|
||
|
||
<div class="item-filler"> </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>
|
||
</div>
|
||
</li>
|
||
{{/each}}
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
|
||
{{!-- Équipement/Armes Tab --}}
|
||
<div class="tab equipement scrollable" data-group="primary" data-tab="equipement">
|
||
<div class="section-grid">
|
||
<h4 class="section-title">{{localize "MNBL.weapons"}}</h4>
|
||
<ul class="item-list compact-list">
|
||
<li class="item flexrow list-item items-title-bg">
|
||
<span class="item-name-label-header">{{localize "MNBL.weapons"}}</span>
|
||
<span class="item-field-label-short">{{localize "MNBL.attack"}}</span>
|
||
<span class="item-field-label-short">{{localize "MNBL.damage"}}</span>
|
||
<div class="item-filler"> </div>
|
||
<div class="item-controls item-controls-fixed">
|
||
<a data-action="createItem" data-type="arme" title="Ajouter une arme"><i class="fas fa-plus"></i></a>
|
||
</div>
|
||
</li>
|
||
{{#each armes as |arme key|}}
|
||
<li class="item flexrow" data-item-id="{{arme._id}}" data-item-type="arme">
|
||
<img class="item-name-img" src="{{arme.img}}" />
|
||
<span class="item-name-label competence-name">{{arme.name}}</span>
|
||
|
||
{{#if arme.system.isDistance}}
|
||
<span class="item-field-label-short">
|
||
<button class="button-sheet-roll" data-action="rollArmeSpecial" data-arme-id="{{arme._id}}">{{localize "MNBL.use"}}</button>
|
||
</span>
|
||
{{else}}
|
||
<span class="item-field-label-short">
|
||
<button class="button-sheet-roll" data-action="rollArmeOffensif" data-arme-id="{{arme._id}}">{{arme.system.totalOffensif}}</button>
|
||
</span>
|
||
{{/if}}
|
||
|
||
<span class="item-field-label-short">
|
||
<button class="button-sheet-roll" data-action="rollArmeDegats" data-arme-id="{{arme._id}}">{{arme.system.totalDegats}}</button>
|
||
</span>
|
||
|
||
<div class="item-filler"> </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>
|
||
</div>
|
||
</li>
|
||
{{/each}}
|
||
</ul>
|
||
</div>
|
||
|
||
{{#if (count protections)}}
|
||
<div class="section-grid">
|
||
<h4 class="section-title">{{localize "MNBL.protections"}}</h4>
|
||
<ul class="item-list compact-list">
|
||
<li class="item flexrow list-item items-title-bg">
|
||
<span class="item-name-label-header">{{localize "MNBL.protection"}}</span>
|
||
<span class="item-field-label-short">{{localize "MNBL.pr"}}</span>
|
||
<div class="item-filler"> </div>
|
||
</li>
|
||
{{#each protections as |protection key|}}
|
||
<li class="item flexrow" data-item-id="{{protection._id}}">
|
||
<img class="item-name-img" src="{{protection.img}}" />
|
||
<span class="item-name-label">{{protection.name}}</span>
|
||
<span class="item-field-label-short">{{protection.system.pr}}</span>
|
||
<div class="item-filler"> </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>
|
||
</div>
|
||
</li>
|
||
{{/each}}
|
||
<li class="item flexrow">
|
||
<label class="label-name">{{localize "MNBL.totalprotection"}}</label>
|
||
<div class="protection-value">{{protectionTotal}}</div>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
{{/if}}
|
||
</div>
|
||
|
||
{{!-- Bio Tab --}}
|
||
<div class="tab biodata scrollable" data-group="primary" data-tab="biodata">
|
||
|
||
{{#if isGM}}
|
||
<div class="section-grid gm-tools-section">
|
||
<h4 class="section-title">{{localize "MNBL.gmtools"}}</h4>
|
||
<div class="grid grid-2col" style="gap: 0.5rem; margin: 0;">
|
||
<div>
|
||
<ul class="item-list compact-list">
|
||
<li class="flexrow item">
|
||
<label class="label-name">{{localize "MNBL.soulmultiplier"}}</label>
|
||
<input type="number" class="input-numeric-short" name="system.biodata.amemultiplier"
|
||
value="{{system.biodata.amemultiplier}}" data-dtype="Number" {{#if isPlayMode}}disabled{{/if}} />
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div>
|
||
<ul class="item-list compact-list">
|
||
<li class="flexrow item">
|
||
<label class="label-name">{{localize "MNBL.ignorehealthmalus"}} ?</label>
|
||
<input type="checkbox" name="system.biodata.ignoresantemalus" {{checked system.biodata.ignoresantemalus}} {{#if isPlayMode}}disabled{{/if}} />
|
||
</li>
|
||
<li class="flexrow item">
|
||
<label class="label-name">{{localize "MNBL.ignoresoulmalus"}} ?</label>
|
||
<input type="checkbox" name="system.biodata.ignoreamemalus" {{checked system.biodata.ignoreamemalus}} {{#if isPlayMode}}disabled{{/if}} />
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
{{/if}}
|
||
|
||
<div class="section-grid">
|
||
<h4 class="section-title">Description</h4>
|
||
<div class="medium-editor item-text-long-line">
|
||
{{formInput systemFields.biodata.fields.description enriched=enrichedDescription value=system.biodata.description name="system.biodata.description" toggled=true}}
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
</section>
|
||
</section>
|