Files
vermine2047/templates/actor/appv2/character-combat.hbs
T
uberwald d0373fab5a feat: capacités de créature, blessures séquentielles et refonte fiche Groupe
- Nouvel item Capacité de créature (creaturecapacity) : DataModel, fiche
  AppV2, chat card, types Base/Survie/Cauchemar/Apocalypse, liste sur
  l'onglet Informations de la créature avec drag&drop et post au chat.
- Blessures : coches séquentielles respectant la gravité (onClickWound),
  malus de blessure -1D/-2D/-3D appliqué aux jets (Règles p.42),
  montée en gravité automatique si les cercles sont pleins.
- Fiche Groupe : objectifs majeurs/mineurs éditables, liste de membres
  simplifiée, notes de voyage (roadNotes), totem qui remplit
  instinct/interdits, refonte visuelle des onglets.
- Créature : Réaction lançable, seuils/cercles de blessures corrigés
  (Taille cumulée, Groupe sans seuil), libellés Taille/Meute.
- Corrections : icône de carte de chat plafonnée à 64px, slash orphelin
  d'entrave à 0, notes de matériel du Groupe éditable (formInput),
  bonus de Réaction non double-compté.
- Divers : suppression des captures de débogage, licence README.
2026-08-05 09:38:36 +02:00

286 lines
9.5 KiB
Handlebars

<div class="tab combat sheet-part {{#if @root.tabs.combat.active}}active{{/if}}" data-group="sheet" data-tab="combat">
<div class="align-center">
<div class="shadow">
<h4>situation de combat par défaut</h4>
<div class="flexrow align-center combat-status">
{{#each config.combatStatus as |dif label|}}
<div>
<label for="combat-status-{{diff}}">{{label}}</label>
<input
id="combat-status-{{diff}}"
type="radio"
name="system.combatStatus.difficulty"
value="{{dif}}"
data-action="clickRadio"
{{#ife @root.system.combatStatus.difficulty dif}}checked
{{/ife}}
>
</div>
{{/each}}
</div>
</div>
</div>
{{> "systems/vermine2047/templates/actor/parts/actor-equipped-gear.hbs"}}
<div class="flexrow">
<div class="self-control-container flexcol align-center">
<h4 class="align-center">
{{ localize "VERMINE.self_control"}} :
{{@root.system.attributes.self_control.value}}/
{{@root.system.attributes.self_control.max}}
</h4>
{{setVar "SCIndex" 1}}
<div class="reserve-grid">
{{#repeat 4 1 "row"}}
<div class="flexrow">
{{#repeat @row @root.SCIndex "case"}}
<div class="hexa
{{#iflteq @case @root.system.attributes.self_control.value }}
checked
{{/iflteq}}
{{#ifgt @case @root.system.attributes.self_control.max }}
unavailable
{{/ifgt}}">
{{#iflteq @row @root.system.attributes.self_control.max }}
<input
type="radio"
data-dtype="Number"
name="system.attributes.self_control.value"
value="{{@case}}"
data-action="clickRadio"
class="
{{#iflteq @case @root.system.attributes.self_control.max }}
checked
{{/iflteq}}
"
/>
{{/iflteq}}
</div>
{{setVar "SCIndex" (math_add @root.SCIndex 1)}}
{{/repeat}}
</div>
{{/repeat}}
</div>
</div>
<div class="effort-container flexcol align-center">
<h4 class="align-center">
{{ localize "VERMINE.effort"}} :
{{@root.system.attributes.effort.value}}/
{{@root.system.attributes.effort.max}}
</h4>
{{setVar "EffIndex" 1}}
<div class="reserve-grid">
{{#repeat 4 1 "row"}}
<div class="flexrow">
{{#repeat @row @root.EffIndex "case"}}
<div class="hexa
{{#iflteq @case @root.system.attributes.effort.value }}
checked
{{/iflteq}}
{{#ifgt @case @root.system.attributes.effort.max }}
unavailable
{{/ifgt}}">
{{#iflteq @row @root.system.attributes.effort.max }}
<input
type="radio"
data-dtype="Number"
name="system.attributes.effort.value"
value="{{@case}}"
data-action="clickRadio"
class="
{{#iflteq @case @root.system.attributes.effort.max }}
checked
{{/iflteq}}
"
/>
{{/iflteq}}
</div>
{{setVar "EffIndex" (math_add @root.EffIndex 1)}}
{{/repeat}}
</div>
{{/repeat}}
</div>
</div>
<div class="blessure-container flexlarge flexcol align-center">
<h4 class="item-name flexrow">{{ localize
"VERMINE.wounds.name"}}</h4>
<ul class="unstyled">
<li class="row mdb align-center">{{ localize
'VERMINE.wounds.light'}} <span data-tooltip="seuil">({{
system.minorWound.threshold }})</span>
<div class="flexrow align-center">
{{#repeat system.minorWound.max 1 "minorwoundmax"}}
<div class="hexa ability{{#iflteq @minorwoundmax @root.system.minorWound.value }}
checked
{{/iflteq}}">
<input
type="radio"
data-dtype="Number"
name="system.minorWound.value"
value="{{@minorwoundmax}}"
data-wound="minorWound"
data-action="clickWound"
class="
{{#iflteq @minorwoundmax @root.system.minorWound.value }}
checked
{{/iflteq}}
"
{{#ife @minorwoundmax @root.system.minorWound.value }}
checked="true"
{{/ife}}
/>
</div>
{{/repeat}}
</div>
</li>
<li class="row mdb align-center">{{ localize
'VERMINE.wounds.heavy'}}
<span>({{
system.majorWound.threshold }})</span>
<div class="flexrow align-center">
{{#repeat system.majorWound.max 1 "majourwoundmax"}}
<div class="hexa ability{{#iflteq @majourwoundmax @root.system.majorWound.value }}
checked
{{/iflteq}}">
<input
type="radio"
data-dtype="Number"
name="system.majorWound.value"
value="{{@majourwoundmax}}"
data-wound="majorWound"
data-action="clickWound"
class="
{{#iflteq @majourwoundmax @root.system.majorWound.value }}
checked
{{/iflteq}}
"
{{#ife @majourwoundmax @root.system.majorWound.value }}
checked="true"
{{/ife}}
/>
</div>
{{/repeat}}
</div>
</li>
<li class="row mdb align-center">{{ localize
'VERMINE.wounds.deadly'}}
<span>({{
system.deadlyWound.threshold }})</span>
<div class="flexrow align-center">
{{#repeat system.deadlyWound.max 1 "deadlywoundmax"}}
<div class="hexa ability{{#iflteq @deadlywoundmax @root.system.deadlyWound.value }}
checked
{{/iflteq}}">
<input
type="radio"
data-dtype="Number"
name="system.deadlyWound.value"
value="{{@deadlywoundmax}}"
data-wound="deadlyWound"
data-action="clickWound"
class=" {{#iflteq @deadlywoundmax @root.system.deadlyWound.value }}
checked
{{/iflteq}}
"
{{#ife @deadlywoundmax @root.system.deadlyWound.value }}
checked="true"
{{/ife}}
/>
</div>
{{/repeat}}
</div>
</li>
</ul>
</div>
</div>
<h4 class="item-name effect-name flexrow">{{ localize "UI.effects.name"}}</h4>
<ol class="items-list effects-list">
{{#each effects as |section sid|}}
<li
class="items-header flexrow"
data-effect-type="{{section.type}}"
>
<p class="item-name effect-name flexrow">{{#if (eq section.type
'temporary')}}
{{localize "UI.effects.temporary" }}
{{else if (eq section.type 'passive')}}
{{localize "UI.effects.passive" }}
{{else if (eq section.type 'inactive')}}
{{localize "UI.effects.inactive" }}
{{/if}}
</p>
<div class="effect-source">{{localize 'UI.source'}}</div>
<div class="effect-source">{{localize 'UI.duration'}}</div>
<div class="item-controls effect-controls flexrow">
{{#if @root.isEditMode}}
<a
class="effect-control"
data-action="create"
title="{{localize 'UI.effect_create'}}"
>
<i class="fas fa-plus"></i> {{localize "UI.add"}}
</a>
{{/if}}
</div>
</li>
<ol class="item-list">
{{#each section.effects as |effect|}}
<li
class="item effect flexrow"
data-effect-id="{{effect.id}}"
>
<div class="item-name effect-name">
<a
class="effect-control flexrow flex-group-center items-center"
class="effect-control" data-effect-op="edit"
title="{{localize 'UI.effect_edit'}}"
>
<img
class="item-image"
src="{{effect.icon}}"
/>
<span>{{effect.label}}</span>
</a>
</div>
<div class="effect-source">{{effect.sourceName}}</div>
<div class="effect-duration">{{effect.duration.label}}</div>
<div class="item-controls effect-controls flexrow">
{{#if @root.isEditMode}}
<a
class="effect-control"
class="effect-control" data-effect-op="toggle"
title="{{localize 'UI.effect_toggle'}}"
>
<i class="fas {{#if effect.disabled}}fa-check{{else}}fa-times{{/if}}"></i>
</a>
<a
class="effect-control"
class="effect-control" data-effect-op="delete"
title="{{localize 'UI.effect_delete'}}"
>
<i class="fas fa-trash"></i>
</a>
{{/if}}
</div>
</li>
{{/each}}
</ol>
{{/each}}
</ol>
</div>