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.
This commit is contained in:
2026-08-05 09:38:36 +02:00
parent cf905cdcfb
commit d0373fab5a
59 changed files with 984 additions and 1211 deletions
+3 -3
View File
@@ -127,7 +127,7 @@
name="system.minorWound.value"
value="{{@minorwoundmax}}"
data-wound="minorWound"
data-action="clickRadio"
data-action="clickWound"
class="
{{#iflteq @minorwoundmax @root.system.minorWound.value }}
checked
@@ -156,7 +156,7 @@
name="system.majorWound.value"
value="{{@majourwoundmax}}"
data-wound="majorWound"
data-action="clickRadio"
data-action="clickWound"
class="
{{#iflteq @majourwoundmax @root.system.majorWound.value }}
checked
@@ -188,7 +188,7 @@
name="system.deadlyWound.value"
value="{{@deadlywoundmax}}"
data-wound="deadlyWound"
data-action="clickRadio"
data-action="clickWound"
class=" {{#iflteq @deadlywoundmax @root.system.deadlyWound.value }}
checked
{{/iflteq}}
+1 -1
View File
@@ -54,7 +54,7 @@
data-tooltip="niveau">{{item.system.level.value}}</span>
<span
data-tooltip="apprentissage">
{{item.system.learn.threshold}}/{{item.system.learn.hindrance}}
{{item.system.learn.threshold}}{{#ifgt item.system.learn.hindrance 0}}/{{ roman item.system.learn.hindrance }}{{/ifgt}}
</span>
</div>
<div class="item-controls flexrow">
+31 -19
View File
@@ -39,31 +39,43 @@
<ul class="unstyled">
<li class="row mdb">
{{ localize 'VERMINE.wounds.light' }} ({{ system.minorWound.threshold }}D)
{{#repeat system.minorWound.max }}
<input type="radio" data-dtype="Number" name="system.minorWound.value"
value="{{this}}" data-action="clickRadio" data-wound="minorWound"
{{#ife @root.system.minorWound.value this }}checked="checked"{{/ife}}
class="{{#iflteq this @root.system.minorWound.value }}checked{{/iflteq}}"
/>
{{/repeat}}
<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-action="clickWound" data-wound="minorWound"
class="{{#iflteq @minorwoundmax @root.system.minorWound.value }}checked{{/iflteq}}"
{{#ife @minorwoundmax @root.system.minorWound.value }}checked="checked"{{/ife}}
/>
</div>
{{/repeat}}
</div>
</li>
<li class="row mdb">
{{ localize 'VERMINE.wounds.heavy' }} ({{ system.majorWound.threshold }}D)
{{#repeat system.majorWound.max }}
<input type="radio" name="system.majorWound.value" value="{{this}}" data-action="clickRadio" data-wound="majorWound"
{{#ife @root.system.majorWound.value this }}checked="checked"{{/ife}}
class="{{#iflteq this @root.system.majorWound.value }}checked{{/iflteq}}"
/>
{{/repeat}}
<div class="flexrow align-center">
{{#repeat system.majorWound.max 1 "majorwoundmax"}}
<div class="hexa ability{{#iflteq @majorwoundmax @root.system.majorWound.value }} checked{{/iflteq}}">
<input type="radio" name="system.majorWound.value" value="{{@majorwoundmax}}" data-action="clickWound" data-wound="majorWound"
class="{{#iflteq @majorwoundmax @root.system.majorWound.value }}checked{{/iflteq}}"
{{#ife @majorwoundmax @root.system.majorWound.value }}checked="checked"{{/ife}}
/>
</div>
{{/repeat}}
</div>
</li>
<li class="row mdb">
{{ localize 'VERMINE.wounds.deadly' }} ({{ system.deadlyWound.threshold }}D)
{{#repeat system.deadlyWound.max }}
<input type="radio" name="system.deadlyWound.value" value="{{this}}" data-action="clickRadio" data-wound="deadlyWound"
{{#ife @root.system.deadlyWound.value this }}checked="checked"{{/ife}}
class="{{#iflteq this @root.system.deadlyWound.value }}checked{{/iflteq}}"
/>
{{/repeat}}
<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" name="system.deadlyWound.value" value="{{@deadlywoundmax}}" data-action="clickWound" data-wound="deadlyWound"
class="{{#iflteq @deadlywoundmax @root.system.deadlyWound.value }}checked{{/iflteq}}"
{{#ife @deadlywoundmax @root.system.deadlyWound.value }}checked="checked"{{/ife}}
/>
</div>
{{/repeat}}
</div>
</li>
</ul>
</div>
+21
View File
@@ -38,6 +38,27 @@
</div>
</div>
{{!-- Capacités de créature --}}
<div class="grid-span-2">
<h4>{{ localize 'VERMINE.creature_capacities' }}{{#if isEditMode}}<a class="item-control item-create" data-action="create" data-type="creaturecapacity" title="{{ localize 'ITEMS.new_creaturecapacity' }}"><i class="fas fa-plus"></i></a>{{/if}}</h4>
<ol class="creature-list">
{{#each capacities as |item id|}}
<li class="item" data-item-id="{{item._id}}">
<div class="item-name">
<a class="item-control item-roll" data-action="roll" data-item-id="{{item._id}}" title="{{ localize 'VERMINE.roll' }}">{{item.name}}</a>
<span class="capacity-type">{{ smarttl "CREATURE_CAPACITY_TYPES" item.system.type }}</span>
</div>
<div class="item-controls">
{{#if @root.isEditMode}}
<a class="item-control item-edit" data-action="edit" data-item-id="{{item._id}}" title="{{ localize 'UI.effect_edit' }}"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" data-action="delete" data-item-id="{{item._id}}" title="{{ localize 'UI.effect_delete' }}"><i class="fas fa-trash"></i></a>
{{/if}}
</div>
</li>
{{/each}}
</ol>
</div>
<div class="grid-span-2">
<fieldset>
<legend><h4>{{ localize 'IDENTITY.notes' }}</h4></legend>
+6 -6
View File
@@ -61,12 +61,12 @@
<select name="system.size.value" id="system.size.value" data-dtype="Number">
{{#each sizeOptions}}
<option value="{{@key}}" {{#ife @key @root.system.size.value}}selected{{/ife}}>
{{@key}}
{{@key}} ({{localize label}})
</option>
{{/each}}
</select>
{{else}}
<span>{{system.size.value}}</span>
<span>{{#if (ne system.size.value "0")}}{{system.size.value}} ({{localize sizeLabel}}){{else}}{{localize 'VERMINE.none'}}{{/if}}</span>
{{/if}}
</div>
</div>
@@ -75,17 +75,17 @@
<div class="resource-content">
{{#if isEditMode}}
<select name="system.pack.value" id="system.pack.value" data-dtype="Number">
<option value="0">{{localize 'VERMINE.none'}}</option>
<option value="0" {{#ife "0" @root.system.pack.value}}selected{{/ife}}>{{ localize 'VERMINE.none' }}</option>
{{#each packOptions}}
{{#if @key}}
{{#if (ne @key "0")}}
<option value="{{@key}}" {{#ife @key @root.system.pack.value}}selected{{/ife}}>
{{@key}}
{{@key}} ({{localize label}})
</option>
{{/if}}
{{/each}}
</select>
{{else}}
<span>{{system.pack.value}}</span>
<span>{{#if system.pack.value}}{{system.pack.value}} ({{localize packLabel}}){{else}}{{ localize 'VERMINE.none' }}{{/if}}</span>
{{/if}}
</div>
</div>
+6
View File
@@ -7,6 +7,12 @@
<a class="rollable" data-type="creature-attack" data-label="attack" title="{{ localize 'VERMINE.roll' }}">{{ system.computed.attack }}<i class="fas fa-dice-d10"></i></a>
</div>
{{!-- Réaction (lancable) --}}
<div class="mdb align-center">
<h4>{{ localize 'ADVERSITY.reaction' }}</h4>
<a class="rollable" data-type="creature-reaction" data-label="reaction" title="{{ localize 'VERMINE.roll' }}">{{ system.computed.reaction }}{{#if system.computed.reactionBonus}}+{{system.computed.reactionBonus}}{{/if}}<i class="fas fa-dice-d10"></i></a>
</div>
<section class="grid grid-3col gap-md">
<div class="mdb">
<h4 class="align-center">{{ localize 'ADVERSITY.pattern' }}: {{ patternLabel }}</h4>
+1 -1
View File
@@ -33,7 +33,7 @@
</div>
<div>
<h4>{{ localize 'IDENTITY.notes'}}</h4>
{{editor system.equipment.description target="system.equipment.description" button=true owner=owner editable=editable}}
{{formInput systemFields.equipment.fields.description enriched=enrichedEquipmentNotes value=system.equipment.description name="system.equipment.description" toggled=true}}
</div>
</div>
<h4>{{localize 'ITEMS.weapons'}}</h4>
+110 -131
View File
@@ -1,13 +1,11 @@
<div class="tab info sheet-part {{#if @root.tabs.info.active}}active{{/if}}" data-group="sheet" data-tab="info">
<div class="grid grid-2col">
{{!-- Group Identity --}}
{{!-- Origine / Concept --}}
<div>
<h4>{{ localize 'IDENTITY.origin' }}</h4>
<div class="flexrow flex-group-center">
<div class="group-field">
{{#if isEditMode}}
<input type="text" name="system.identity.origin" value="{{system.identity.origin}}"
placeholder="Origine..." style="flex: 1;" />
<input type="text" name="system.identity.origin" value="{{system.identity.origin}}" placeholder="Origine..." />
{{else}}
<span>{{system.identity.origin}}</span>
{{/if}}
@@ -16,40 +14,122 @@
<div>
<h4>{{ localize 'IDENTITY.theme' }}</h4>
<div class="flexrow flex-group-center">
<div class="group-field">
{{#if isEditMode}}
<input type="text" name="system.identity.theme" value="{{system.identity.theme}}"
placeholder="Concept..." style="flex: 1;" />
<input type="text" name="system.identity.theme" value="{{system.identity.theme}}" placeholder="Concept..." />
{{else}}
<span>{{system.identity.theme}}</span>
{{/if}}
</div>
</div>
{{!-- Group Notes --}}
{{!-- Notes --}}
<div class="grid-span-2">
<fieldset>
<legend><h4>{{ localize 'IDENTITY.notes' }}</h4></legend>
{{formInput systemFields.identity.fields.notes enriched=enrichedNotes value=system.identity.notes name="system.identity.notes" toggled=true}}
</fieldset>
<h4>{{ localize 'IDENTITY.notes' }}</h4>
{{formInput systemFields.identity.fields.notes enriched=enrichedNotes value=system.identity.notes name="system.identity.notes" toggled=true}}
</div>
{{!-- Group Abilities (from items) --}}
{{!-- Objectifs --}}
<div class="grid-span-2">
<h4>
<span>{{ localize 'VERMINE.abilities' }}</span>
{{#if isEditMode}}
<a class="item-control item-create" data-action="create" data-type="ability" title="{{ localize 'ITEMS.new_ability' }}"><i class="fas fa-plus"></i></a>
<h4>{{ localize 'VERMINE.objectives' }}</h4>
<h5>{{ localize 'VERMINE.major_objectives' }}</h5>
<ol class="group-list">
{{#each system.objectives.major as |objective id|}}
<li class="item" data-index="{{id}}">
<div class="item-name">
{{#if @root.isEditMode}}
<input type="text" name="system.objectives.major.{{id}}" value="{{objective}}"
placeholder="{{ localize 'VERMINE.major_objective_placeholder' }}" />
{{else}}
<span>{{objective}}</span>
{{/if}}
</div>
<div class="item-controls">
{{#if @root.isEditMode}}
<a class="item-control objective-delete" data-action="deleteObjective" title="{{ localize 'UI.effect_delete' }}"
data-type="major" data-index="{{id}}"><i class="fas fa-trash"></i></a>
{{/if}}
</div>
</li>
{{/each}}
</ol>
{{#if isEditMode}}
<a class="item-control item-create" data-action="addObjective" title="{{ localize 'UI.add' }}"
data-type="major_objective"><i class="fas fa-plus"></i> {{ localize 'ITEMS.new_objective' }}</a>
{{/if}}
<h5>{{ localize 'VERMINE.minor_objectives' }}</h5>
<ol class="group-list">
{{#each system.objectives.minor as |objective id|}}
<li class="item" data-index="{{id}}">
<div class="item-name">
{{#if @root.isEditMode}}
<input type="text" name="system.objectives.minor.{{id}}" value="{{objective}}"
placeholder="{{ localize 'VERMINE.minor_objective_placeholder' }}" />
{{else}}
<span>{{objective}}</span>
{{/if}}
</div>
<div class="item-controls">
{{#if @root.isEditMode}}
<a class="item-control objective-delete" data-action="deleteObjective" title="{{ localize 'UI.effect_delete' }}"
data-type="minor" data-index="{{id}}"><i class="fas fa-trash"></i></a>
{{/if}}
</div>
</li>
{{/each}}
</ol>
{{#if isEditMode}}
<a class="item-control item-create" data-action="addObjective" title="{{ localize 'UI.add' }}"
data-type="minor_objective"><i class="fas fa-plus"></i> {{ localize 'ITEMS.new_objective' }}</a>
{{/if}}
</div>
{{!-- Totem --}}
<div class="grid-span-2">
<h4>{{ localize 'IDENTITY.totem' }}</h4>
<div class="group-field">
{{#if (eq system.identity.totem "")}}
<a data-action="chooseTotem" class="chooseTotem">{{ localize 'VERMINE.totem_picker' }}</a>
{{else}}
<div class="totem-display flexrow">
<span>{{ smarttl "TOTEMS" system.identity.totem }}</span>
<a data-action="chooseTotem" class="chooseTotem">{{ localize 'UI.effect_edit' }}</a>
</div>
{{/if}}
</h4>
<ol class="list-item">
</div>
<div class="group-field">
<label>{{ localize 'IDENTITY.instincts' }}:</label>
{{#if isEditMode}}
<input type="text" name="system.identity.instincts" value="{{system.identity.instincts}}"
placeholder="{{ localize 'VERMINE.instincts_placeholder' }}" />
{{else}}
<span>{{system.identity.instincts}}</span>
{{/if}}
</div>
<div class="group-field">
<label>{{ localize 'IDENTITY.prohibits' }}:</label>
{{#if isEditMode}}
<input type="text" name="system.identity.prohibits" value="{{system.identity.prohibits}}"
placeholder="{{ localize 'VERMINE.prohibits_placeholder' }}" />
{{else}}
<span>{{system.identity.prohibits}}</span>
{{/if}}
</div>
</div>
{{!-- Capacités de groupe --}}
<div class="grid-span-2">
<h4>{{ localize 'VERMINE.group_abilities' }}{{#if isEditMode}}<a class="item-control item-create" data-action="create" data-type="ability" title="{{ localize 'ITEMS.new_ability' }}"><i class="fas fa-plus"></i></a>{{/if}}</h4>
<ol class="group-list">
{{#each abilities as |item id|}}
{{#if (ne item.system.type 'totem')}}
<li class="item flexrow" data-item-id="{{item._id}}">
<div class="item-name" style="flex:4;">
<li class="item" data-item-id="{{item._id}}">
<div class="item-name">
<a class="item-control item-edit" data-action="edit" data-item-id="{{item._id}}" title="{{ localize 'UI.effect_edit' }}">{{item.name}}</a>
</div>
<div class="item-controls flexrow">
<div class="item-controls">
{{#if @root.isEditMode}}
<a class="item-control item-delete" data-action="delete" data-item-id="{{item._id}}" title="{{ localize 'UI.effect_delete' }}"><i class="fas fa-trash"></i></a>
{{/if}}
@@ -60,119 +140,18 @@
</ol>
</div>
{{!-- Group Totem Abilities --}}
{{!-- Capacités de totem --}}
<div class="grid-span-2">
<h4>
<span>{{ localize 'VERMINE.totem_abilities' }}</span>
{{#if isEditMode}}
<a class="item-control item-create" data-action="createTotemAbility" title="{{ localize 'ITEMS.new_ability' }}"><i class="fas fa-plus"></i></a>
{{/if}}
</h4>
<ol class="list-item">
<h4>{{ localize 'VERMINE.totem_abilities' }}{{#if isEditMode}}<a class="item-control item-create" data-action="createTotemAbility" title="{{ localize 'ITEMS.new_ability' }}"><i class="fas fa-plus"></i></a>{{/if}}</h4>
<ol class="group-list">
{{#each totem_abilities as |item id|}}
<li class="item flexrow" data-item-id="{{item._id}}">
<div class="item-name" style="flex:4;">
<li class="item" data-item-id="{{item._id}}">
<div class="item-name">
<a class="item-control item-edit" data-action="edit" data-item-id="{{item._id}}" title="{{ localize 'UI.effect_edit' }}">{{item.name}}</a>
<span class="hexa" title="{{ localize 'VERMINE.level' }}">{{item.system.level.value}}</span>
<span title="{{ localize 'VERMINE.learning' }}">{{item.system.learn.threshold}}/{{item.system.learn.hindrance}}</span>
<span title="{{ localize 'VERMINE.learning' }}">{{item.system.learn.threshold}}{{#ifgt item.system.learn.hindrance 0}}/{{ roman item.system.learn.hindrance }}{{/ifgt}}</span>
</div>
<div class="item-controls flexrow">
{{#if @root.isEditMode}}
<a class="item-control item-delete" data-action="delete" data-item-id="{{item._id}}" title="{{ localize 'UI.effect_delete' }}"><i class="fas fa-trash"></i></a>
{{/if}}
</div>
</li>
{{/each}}
</ol>
</div>
{{!-- Specialties --}}
<div>
<h4>
<span>{{ localize 'ITEMS.specialties' }}</span>
{{#if isEditMode}}
<a class="item-control item-create" data-action="create" data-type="specialty" title="{{ localize 'ITEMS.new_specialty' }}"><i class="fas fa-plus"></i></a>
{{/if}}
</h4>
<ol class="list-item">
{{#each specialties as |item id|}}
<li class="item flexrow" data-item-id="{{item._id}}">
<div class="item-name" style="flex:4;">
<a class="item-control item-edit" data-action="edit" data-item-id="{{item._id}}" title="{{ localize 'UI.effect_edit' }}">{{item.name}}</a>
</div>
<div class="item-controls flexrow">
{{#if @root.isEditMode}}
<a class="item-control item-delete" data-action="delete" data-item-id="{{item._id}}" title="{{ localize 'UI.effect_delete' }}"><i class="fas fa-trash"></i></a>
{{/if}}
</div>
</li>
{{/each}}
</ol>
</div>
{{!-- Backgrounds --}}
<div>
<h4>
<span>{{ localize 'ITEMS.backgrounds' }}</span>
{{#if isEditMode}}
<a class="item-control item-create" data-action="create" data-type="background" title="{{ localize 'ITEMS.new_background' }}"><i class="fas fa-plus"></i></a>
{{/if}}
</h4>
<ol class="list-item">
{{#each backgrounds as |item id|}}
<li class="item flexrow" data-item-id="{{item._id}}">
<div class="item-name" style="flex:4;">
<a class="item-control item-edit" data-action="edit" data-item-id="{{item._id}}" title="{{ localize 'UI.effect_edit' }}">{{item.name}}</a>
</div>
<div class="item-controls flexrow">
{{#if @root.isEditMode}}
<a class="item-control item-delete" data-action="delete" data-item-id="{{item._id}}" title="{{ localize 'UI.effect_delete' }}"><i class="fas fa-trash"></i></a>
{{/if}}
</div>
</li>
{{/each}}
</ol>
</div>
{{!-- Traumas --}}
<div>
<h4>
<span>{{ localize 'ITEMS.traumas' }}</span>
{{#if isEditMode}}
<a class="item-control item-create" data-action="create" data-type="trauma" title="{{ localize 'ITEMS.new_trauma' }}"><i class="fas fa-plus"></i></a>
{{/if}}
</h4>
<ol class="list-item">
{{#each traumas as |item id|}}
<li class="item flexrow" data-item-id="{{item._id}}">
<div class="item-name" style="flex:4;">
<a class="item-control item-edit" data-action="edit" data-item-id="{{item._id}}" title="{{ localize 'UI.effect_edit' }}">{{item.name}}</a>
</div>
<div class="item-controls flexrow">
{{#if @root.isEditMode}}
<a class="item-control item-delete" data-action="delete" data-item-id="{{item._id}}" title="{{ localize 'UI.effect_delete' }}"><i class="fas fa-trash"></i></a>
{{/if}}
</div>
</li>
{{/each}}
</ol>
</div>
{{!-- Evolutions --}}
<div>
<h4>
<span>{{ localize 'ITEMS.evolutions' }}</span>
{{#if isEditMode}}
<a class="item-control item-create" data-action="create" data-type="evolution" title="{{ localize 'ITEMS.new_evolution' }}"><i class="fas fa-plus"></i></a>
{{/if}}
</h4>
<ol class="list-item">
{{#each evolutions as |item id|}}
<li class="item flexrow" data-item-id="{{item._id}}">
<div class="item-name" style="flex:4;">
<a class="item-control item-edit" data-action="edit" data-item-id="{{item._id}}" title="{{ localize 'UI.effect_edit' }}">{{item.name}}</a>
</div>
<div class="item-controls flexrow">
<div class="item-controls">
{{#if @root.isEditMode}}
<a class="item-control item-delete" data-action="delete" data-item-id="{{item._id}}" title="{{ localize 'UI.effect_delete' }}"><i class="fas fa-trash"></i></a>
{{/if}}
+9 -166
View File
@@ -1,8 +1,8 @@
<div class="tab reserve sheet-part {{#if @root.tabs.reserve.active}}active{{/if}}" data-group="sheet" data-tab="reserve">
<div class="grid grid-2col">
{{!-- Group Reserve and Morale --}}
{{!-- serve et Moral --}}
<div class="grid-span-2">
<h4 class="align-center">{{ localize 'VERMINE.reserve' }}</h4>
<h4>{{ localize 'VERMINE.reserve' }}</h4>
<div class="reserve-control flexrow flex-group-center">
<label>{{ localize 'VERMINE.pool' }}:</label>
{{#if isEditMode}}
@@ -35,27 +35,21 @@
</div>
</div>
{{!-- Group Members --}}
<div>
<h4 class="align-center">
<span>{{ localize 'VERMINE.group_members' }}</span>
{{#if isEditMode}}
<a class="item-control chooseActor" data-action="chooseActor" data-list="members" title="{{ localize 'UI.add' }}"
data-type="members"><i class="fas fa-plus"></i></a>
{{/if}}
</h4>
<ol class="actor-list">
{{!-- Membres --}}
<div class="grid-span-2">
<h4>{{ localize 'VERMINE.group_members' }}{{#if isEditMode}}<a class="item-control chooseActor" data-action="chooseActor" data-list="members" title="{{ localize 'UI.add' }}" data-type="members"><i class="fas fa-plus"></i></a>{{/if}}</h4>
<ol class="group-list">
{{#each system.members as |memberId|}}
{{#with (lookup ../resolvedMembers memberId) as |member|}}
<li class="actor flexrow" data-actor-id="{{memberId}}">
<div class="actor-name" style="flex:4;">
<li class="actor" data-actor-id="{{memberId}}">
<div class="actor-name">
{{#if member}}
<a class="item-control">{{member.name}}</a>
{{else}}
<a class="item-control" style="color: red;">ID: {{memberId}}</a>
{{/if}}
</div>
<div class="item-controls flexrow">
<div class="item-controls">
{{#if @root.isEditMode}}
<a class="item-control member-delete" data-action="deleteMember" data-actor-id="{{memberId}}" title="{{ localize 'UI.effect_delete' }}"><i class="fas fa-trash"></i></a>
{{/if}}
@@ -65,156 +59,5 @@
{{/each}}
</ol>
</div>
{{!-- Group Encounters --}}
<div>
<h4 class="align-center">
<span>{{ localize 'VERMINE.encounters' }}</span>
{{#if isEditMode}}
<a class="item-control chooseActor" data-action="chooseActor" data-list="encounters" title="{{ localize 'UI.add' }}"
data-type="encounters"><i class="fas fa-plus"></i></a>
{{/if}}
</h4>
<ol class="actor-list">
{{#each system.encounters as |encounterId|}}
{{#with (lookup ../resolvedEncounters encounterId) as |encounter|}}
<li class="actor flexrow" data-actor-id="{{encounterId}}">
<div class="item-name" style="flex:4;">
{{#if encounter}}
<a class="item-control">{{encounter.name}}</a>
{{else}}
<a class="item-control" style="color: red;">ID: {{encounterId}}</a>
{{/if}}
</div>
<div class="item-controls flexrow">
{{#if @root.isEditMode}}
<a class="item-control encounter-delete" data-action="deleteEncounter" data-actor-id="{{encounterId}}" title="{{ localize 'UI.effect_delete' }}"><i class="fas fa-trash"></i></a>
{{/if}}
</div>
</li>
{{/with}}
{{/each}}
</ol>
</div>
{{!-- Group Objectives --}}
<div class="grid-span-2">
<h4 class="align-center">{{ localize 'VERMINE.objectives' }}</h4>
<div>
<h5>{{ localize 'VERMINE.major_objectives' }}</h5>
<ol class="list-item">
{{#each system.objectives.major as |objective id|}}
<li class="item flexrow" data-index="{{id}}">
<div class="item-name" style="flex:4;">
{{#if @root.isEditMode}}
<input type="text" name="system.objectives.major.{{id}}" value="{{objective}}"
placeholder="Objectif majeur..." />
{{else}}
<span>{{objective}}</span>
{{/if}}
</div>
<div class="item-controls flexrow">
{{#if @root.isEditMode}}
<a class="item-control objective-delete" data-action="deleteObjective" title="{{ localize 'UI.effect_delete' }}"
data-type="major" data-index="{{id}}"><i class="fas fa-trash"></i></a>
{{/if}}
</div>
</li>
{{/each}}
</ol>
{{#if isEditMode}}
<a class="item-control item-create" data-action="addObjective" title="{{ localize 'UI.add' }}"
data-type="major_objective"><i class="fas fa-plus"></i> {{ localize 'ITEMS.new_objective' }}</a>
{{/if}}
</div>
<div>
<h5>{{ localize 'VERMINE.minor_objectives' }}</h5>
<ol class="list-item">
{{#each system.objectives.minor as |objective id|}}
<li class="item flexrow" data-index="{{id}}">
<div class="item-name" style="flex:4;">
{{#if @root.isEditMode}}
<input type="text" name="system.objectives.minor.{{id}}" value="{{objective}}"
placeholder="Objectif mineur..." />
{{else}}
<span>{{objective}}</span>
{{/if}}
</div>
<div class="item-controls flexrow">
{{#if @root.isEditMode}}
<a class="item-control objective-delete" data-action="deleteObjective" title="{{ localize 'UI.effect_delete' }}"
data-type="minor" data-index="{{id}}"><i class="fas fa-trash"></i></a>
{{/if}}
</div>
</li>
{{/each}}
</ol>
{{#if isEditMode}}
<a class="item-control item-create" data-action="addObjective" title="{{ localize 'UI.add' }}"
data-type="minor_objective"><i class="fas fa-plus"></i> {{ localize 'ITEMS.new_objective' }}</a>
{{/if}}
</div>
</div>
{{!-- Group Abilities --}}
<div class="grid-span-2">
<h4 class="align-center">
<span>{{ localize 'VERMINE.group_abilities' }}</span>
{{#if isEditMode}}
<a class="item-control item-create" data-action="create" data-type="ability" title="{{ localize 'ITEMS.new_ability' }}"><i class="fas fa-plus"></i></a>
{{/if}}
</h4>
<ol class="list-item">
{{#each abilities as |item id|}}
{{#if (ne item.type 'totem')}}
<li class="item flexrow" data-item-id="{{item._id}}">
<div class="item-name" style="flex:4;">
<a class="item-control item-edit" data-action="edit" data-item-id="{{item._id}}" title="{{ localize 'UI.effect_edit' }}">{{item.name}}</a>
</div>
<div class="item-controls flexrow">
{{#if @root.isEditMode}}
<a class="item-control item-delete" data-action="delete" data-item-id="{{item._id}}" title="{{ localize 'UI.effect_delete' }}"><i class="fas fa-trash"></i></a>
{{/if}}
</div>
</li>
{{/if}}
{{/each}}
</ol>
</div>
{{!-- Totem Section --}}
<div class="grid-span-2">
<h4 class="align-center">{{ localize 'IDENTITY.totem' }}</h4>
<div class="flexrow flex-group-center">
<label>{{ localize 'IDENTITY.instincts' }}:</label>
{{#if isEditMode}}
<input type="text" name="system.identity.instincts" value="{{system.identity.instincts}}"
placeholder="Ex: Triompher, relever un défi..." />
{{else}}
<span>{{system.identity.instincts}}</span>
{{/if}}
</div>
<div class="flexrow flex-group-center">
<label>{{ localize 'IDENTITY.prohibits' }}:</label>
{{#if isEditMode}}
<input type="text" name="system.identity.prohibits" value="{{system.identity.prohibits}}"
placeholder="Ex: Fuir, abandonner..." />
{{else}}
<span>{{system.identity.prohibits}}</span>
{{/if}}
</div>
<div class="flexrow flex-group-center">
{{#if (eq system.identity.totem "")}}
<a data-action="chooseTotem" class="chooseTotem">{{ localize 'VERMINE.totem_picker' }}</a>
{{else}}
<div class="totem-display flexrow">
<span style="flex: 1;">{{ smarttl "TOTEMS" system.identity.totem }}</span>
<a data-action="chooseTotem" class="chooseTotem">{{ localize 'UI.effect_edit' }}</a>
</div>
{{/if}}
</div>
</div>
</div>
</div>
+47 -38
View File
@@ -1,40 +1,49 @@
<div class="tab road sheet-part {{#if @root.tabs.road.active}}active{{/if}}" data-group="sheet" data-tab="road">
<ol class="items-list">
<li class="item flexrow items-header">
<div class="item-name" style="flex:4;">{{ localize 'IDENTITY.name'}}</div>
<div class="item-mobility">{{ localize 'VERMINE.mobility'}}</div>
<div class="item-rarity">{{ localize 'VERMINE.rarity'}}</div>
<div class="item-reliability">{{ localize 'VERMINE.reliability'}}</div>
<div class="item-controls">
{{#if isEditMode}}
<a class="item-control item-create" data-action="createVehicle" title="Create vehicle"><i class="fas fa-plus"></i></a>
{{/if}}
</div>
</li>
{{#each vehicles as |vehicle|}}
<li class="item flexrow flex-group-center" data-vehicle-id="{{vehicle.id}}">
<div class="item-name" style="flex:4;">
<div class="item-image">
<a class="item-control item-edit" data-action="editVehicle" data-vehicle-id="{{vehicle.id}}"><img
src="{{vehicle.img}}" title="{{vehicle.name}}" width="24"
height="24" /></a>
</div>
<a class="item-control item-edit" data-action="editVehicle" data-vehicle-id="{{vehicle.id}}" title="Edit Vehicle">{{vehicle.name}}</a>
</div>
<div><a class="item-control item-edit" data-action="editVehicle" data-vehicle-id="{{vehicle.id}}" title="Edit Vehicle">{{vehicle.system.mobility}}</a></div>
<div><a class="item-control item-edit" data-action="editVehicle" data-vehicle-id="{{vehicle.id}}" title="Edit Vehicle">{{vehicle.system.rarity.value}}</a></div>
<div><a class="item-control item-edit" data-action="editVehicle" data-vehicle-id="{{vehicle.id}}" title="Edit Vehicle">{{vehicle.system.reliability}}</a></div>
<div class="item-controls">
{{#if @root.isEditMode}}
<a class="item-control item-delete" data-action="deleteVehicle" data-vehicle-id="{{vehicle.id}}" title="Delete Vehicle"><i
class="fas fa-trash"></i></a>
{{/if}}
</div>
</li>
{{else}}
<li class="item flexrow flex-group-center">
<span class="empty">{{ localize 'VERMINE.no_vehicles' }}</span>
</li>
{{/each}}
</ol>
<div class="grid grid-1col">
{{!-- Rencontres --}}
<div>
<h4>{{ localize 'VERMINE.encounters' }}{{#if isEditMode}}<a class="item-control chooseActor" data-action="chooseActor" data-list="encounters" title="{{ localize 'UI.add' }}" data-type="encounters"><i class="fas fa-plus"></i></a>{{/if}}</h4>
<ol class="group-list">
<li class="group-list-header">
<div class="gcol-name">{{ localize 'IDENTITY.name'}}</div>
<div class="gcol-profile">{{ localize 'IDENTITY.profile'}}</div>
<div class="gcol-totem">{{ localize 'IDENTITY.totem'}}</div>
<div class="item-controls"></div>
</li>
{{#each system.encounters as |encounterId|}}
{{#with (lookup ../resolvedEncounters encounterId) as |encounter|}}
<li class="actor" data-actor-id="{{encounterId}}">
{{#if encounter}}
<div class="gcol-name">
<a class="item-control">{{encounter.name}}</a>
<span class="encounter-type">({{encounter.type}})</span>
</div>
<div class="gcol-profile">{{encounter.profile}}</div>
<div class="gcol-totem">{{#if encounter.totem}}{{ smarttl "TOTEMS" encounter.totem }}{{/if}}</div>
{{else}}
<div class="gcol-name"><a class="item-control" style="color: red;">ID: {{encounterId}}</a></div>
<div class="gcol-profile"></div>
<div class="gcol-totem"></div>
{{/if}}
<div class="item-controls">
{{#if @root.isEditMode}}
<a class="item-control encounter-delete" data-action="deleteEncounter" data-actor-id="{{encounterId}}" title="{{ localize 'UI.effect_delete' }}"><i class="fas fa-trash"></i></a>
{{/if}}
</div>
</li>
{{/with}}
{{else}}
<li class="item">
<span class="item-name">{{ localize 'VERMINE.no_encounters' }}</span>
</li>
{{/each}}
</ol>
</div>
{{!-- Notes de voyage --}}
<div>
<h4>{{ localize 'VERMINE.travel_notes' }}</h4>
{{formInput systemFields.roadNotes enriched=enrichedRoadNotes value=system.roadNotes name="system.roadNotes" toggled=true}}
</div>
</div>
</div>
+20 -20
View File
@@ -1,45 +1,45 @@
<div class="tab combat sheet-part {{#if @root.tabs.combat.active}}active{{/if}}" data-group="sheet" data-tab="combat">
{{> "systems/vermine2047/templates/actor/parts/actor-equipped-gear.hbs"}}
<h4 class="item-name effect-name flexrow">{{ localize "VERMINE.wounds.name"}}</h4>
<ul class="unstyled">
<li class="row mdb">{{ localize 'VERMINE.wounds.light'}} ({{
system.minorWound.threshold }})
<div class="flexrow align-center">
<div class="npc-wounds flexrow">
<span class="wound-cat">
<span class="wound-label">{{ localize 'VERMINE.wounds.light'}} ({{ system.minorWound.threshold }})</span>
<span class="wound-boxes">
{{#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-action="clickRadio" data-wound="minorWound"
value="{{@minorwoundmax}}" data-action="clickWound" data-wound="minorWound"
class="{{#iflteq @minorwoundmax @root.system.minorWound.value }}checked{{/iflteq}}"
{{#ife @minorwoundmax @root.system.minorWound.value }}checked="checked"{{/ife}} />
</div>
{{/repeat}}
</div>
</li>
<li class="row mdb">{{ localize 'VERMINE.wounds.heavy'}} ({{
system.majorWound.threshold }})
<div class="flexrow align-center">
</span>
</span>
<span class="wound-cat">
<span class="wound-label">{{ localize 'VERMINE.wounds.heavy'}} ({{ system.majorWound.threshold }})</span>
<span class="wound-boxes">
{{#repeat system.majorWound.max 1 "majorwoundmax"}}
<div class="hexa ability{{#iflteq @majorwoundmax @root.system.majorWound.value }} checked{{/iflteq}}">
<input type="radio" name="system.majorWound.value" value="{{@majorwoundmax}}" data-action="clickRadio" data-wound="majorWound"
<input type="radio" name="system.majorWound.value" value="{{@majorwoundmax}}" data-action="clickWound" data-wound="majorWound"
class="{{#iflteq @majorwoundmax @root.system.majorWound.value }}checked{{/iflteq}}"
{{#ife @majorwoundmax @root.system.majorWound.value }}checked="checked"{{/ife}} />
</div>
{{/repeat}}
</div>
</li>
<li class="row mdb">{{ localize 'VERMINE.wounds.deadly'}} ({{
system.deadlyWound.threshold }})
<div class="flexrow align-center">
</span>
</span>
<span class="wound-cat">
<span class="wound-label">{{ localize 'VERMINE.wounds.deadly'}} ({{ system.deadlyWound.threshold }})</span>
<span class="wound-boxes">
{{#repeat system.deadlyWound.max 1 "deadlywoundmax"}}
<div class="hexa ability{{#iflteq @deadlywoundmax @root.system.deadlyWound.value }} checked{{/iflteq}}">
<input type="radio" name="system.deadlyWound.value" value="{{@deadlywoundmax}}" data-action="clickRadio" data-wound="deadlyWound"
<input type="radio" name="system.deadlyWound.value" value="{{@deadlywoundmax}}" data-action="clickWound" data-wound="deadlyWound"
class="{{#iflteq @deadlywoundmax @root.system.deadlyWound.value }}checked{{/iflteq}}"
{{#ife @deadlywoundmax @root.system.deadlyWound.value }}checked="checked"{{/ife}} />
</div>
{{/repeat}}
</div>
</li>
</ul>
</span>
</span>
</div>
<h4 class="item-name effect-name flexrow">{{ localize "UI.effects.name"}}</h4>
<ol class="items-list effects-list">
{{#each effects as |section sid|}}
-8
View File
@@ -1,14 +1,6 @@
<div class="tab notes sheet-part {{#if @root.tabs.notes.active}}active{{/if}}" data-group="sheet" data-tab="notes">
<h3>{{ localize 'IDENTITY.notes' }}</h3>
<div class="grid grid-1col">
<div class="form-group">
<label for="system.identity.profile">{{ localize 'IDENTITY.profile' }}</label>
{{#if isEditMode}}
<input type="text" name="system.identity.profile" value="{{system.identity.profile}}" data-dtype="String" placeholder="{{ localize 'PROFILE' }}"/>
{{else}}
<span>{{system.identity.profile}}</span>
{{/if}}
</div>
<div class="form-group">
<label for="system.identity.theme">{{ localize 'IDENTITY.theme' }}</label>
{{#if isEditMode}}
+3 -3
View File
@@ -17,9 +17,9 @@
</li>
<li class="npc-wounds">
<strong>{{ localize 'ADVERSITY.wounds' }}:</strong>
<span class="wound-cat"><span class="wound-boxes">{{#repeat system.minorWound.max}}<i class="fas fa-circle"></i>{{/repeat}}</span> {{ system.minorWound.threshold }}</span>
<span class="wound-cat"><span class="wound-boxes">{{#repeat system.majorWound.max}}<i class="fas fa-circle"></i>{{/repeat}}</span> {{ system.majorWound.threshold }}</span>
<span class="wound-cat"><span class="wound-boxes">{{#repeat system.deadlyWound.max}}<i class="fas fa-circle"></i>{{/repeat}}</span> {{ system.deadlyWound.threshold }}</span>
<span class="wound-cat"><span class="wound-boxes">{{#repeat system.minorWound.max 1 "woundindex"}}<i class="fas fa-circle"></i>{{/repeat}}</span> {{ system.minorWound.threshold }}</span>
<span class="wound-cat"><span class="wound-boxes">{{#repeat system.majorWound.max 1 "woundindex"}}<i class="fas fa-circle"></i>{{/repeat}}</span> {{ system.majorWound.threshold }}</span>
<span class="wound-cat"><span class="wound-boxes">{{#repeat system.deadlyWound.max 1 "woundindex"}}<i class="fas fa-circle"></i>{{/repeat}}</span> {{ system.deadlyWound.threshold }}</span>
</li>
</ul>
</div>