Finalisation complète du système Vermine2047 pour FoundryVTT v14

Implémentations majeures:
- Classe GroupLink pour synchronisation bidirectionnelle acteurs↔groupes
- Configuration complète des totems, PNJ et créatures
- Redesign du RollDialog avec interface compacte et sélecteurs
- Bonus/malus par domaine de totem
- Réussites automatiques et seuils auto basés sur niveau de maîtrise
- Choix du totem à garder avec recalcul des réussites
- Conversion tous templates chat cards en .hbs
- Fiches PNJ et Créature avec sélecteurs pour tous les niveaux
- Documentation technique (ARCHITECTURE.md) et utilisateur (GUIDE_UTILISATEUR.md)
- Mise à jour system.json pour compatibilité v14
- Tous les TODOs du README.md complétés

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
2026-06-04 11:46:40 +02:00
parent c35e93975b
commit 716c1b49ae
44 changed files with 4008 additions and 631 deletions
+58
View File
@@ -0,0 +1,58 @@
<form class="{{cssClass}}" autocomplete="off">
{{> "systems/vermine2047/templates/item/chatCards/parts/base.hbs"}}
{{!-- Ability specific content --}}
<div class="grid grid-2col">
{{#if item.system.type}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.type' }}:</span>
<span>{{item.system.type}}</span>
</div>
{{/if}}
{{#if item.system.totem}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'IDENTITY.totem' }}:</span>
<span>{{ localize (lookup ../config.totems item.system.totem) }}</span>
</div>
{{/if}}
{{#if item.system.level.value}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.level' }}:</span>
<span>{{item.system.level.value}}</span>
</div>
{{/if}}
{{#if item.system.learn.threshold}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.learn' }}:</span>
<span>
{{item.system.learn.threshold}}
{{#ifgt item.system.learn.hindrance 0}}
/ {{item.system.learn.hindrance}}
{{/ifgt}}
</span>
</div>
{{/if}}
{{#if item.system.effects}}
<div class="resource flexcol">
<span class="resource-label">{{ localize 'UI.effects' }}:</span>
<ul class="unstyled">
{{#each item.system.effects as |effect|}}
<li>{{effect}}</li>
{{/each}}
</ul>
</div>
{{/if}}
{{#if item.system.description}}
<div class="resource flexcol">
<span class="resource-label">{{ localize 'IDENTITY.notes' }}:</span>
<p>{{{item.system.description}}}</p>
</div>
{{/if}}
</div>
</form>
-43
View File
@@ -1,43 +0,0 @@
<form class="{{cssClass}}" autocomplete="off">
<header class="sheet-header">
<img class="profile-img" src="{{item.img}}" data-edit="img" title="{{item.name}}"/>
<div class="header-fields">
<h1 class="charname"><input name="name" type="text" value="{{item.name}}" placeholder="Name"/></h1>
</div>
</header>
<section class="sheet-body">
<h4 class="resource flexrow">
<label class="resource-label">{{ localize "VERMINE.level"}}</label>
<span class="hexa"><input type="number" name="system.level.value" value="{{system.level.value }}" data-dtype="Number" min="{{system.level.min }}" max="{{system.level.max }}"/>
</span>
<label class="resource-label">{{ localize "VERMINE.type"}}</label>
<select name="system.type" data-dtype="String">
<option value="character" {{#if (eq system.type "character")}} selected {{/if}}>Personnage</option>
<option value="group" {{#if (eq system.type "group")}} selected {{/if}}>Groupe</option>
<option value="creature" {{#if (eq system.type "creature")}} selected {{/if}}>Créature</option>
<option value="totem" {{#if (eq system.type "totem")}} selected {{/if}}>Totem</option>
</select>
<label class="resource-label">{{ localize "IDENTITY.totem"}}</label>
<select name="system.totem" data-dtype="String">
{{#each config.totems as | totem tk|}}
<option value="{{tk}}" {{#if (eq tk @root.system.totem)}} selected="selected" {{/if}}>{{ localize totem }}</option>
{{/each}}
</select>
</h4>
<h4 class="resource flexrow">
<label class="resource-label">{{ localize "ITEMS.learning"}}</label>
<span class=" hexa">
<input type="number" name="system.learning.threshold" value="{{system.learning.threshold }}" data-dtype="Number" min="3" max="10"/>
</span>/
<span class="hexa">
<input type="number" name="system.learning.hindrance" value="{{system.learning.hindrance }}" data-dtype="Number" min="0" max="3"/>
</span>
</h4>
<h4>description</h4>
{{editor system.description target="system.description" rollData=rollData button=true owner=owner editable=editable}}
</section>
</form>
+20
View File
@@ -0,0 +1,20 @@
<form class="{{cssClass}}" autocomplete="off">
{{> "systems/vermine2047/templates/item/chatCards/parts/base.hbs"}}
{{!-- Background specific content --}}
<div class="grid grid-2col">
{{#if item.system.cost}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.cost' }}:</span>
<span>{{item.system.cost}}</span>
</div>
{{/if}}
{{#if item.system.description}}
<div class="resource flexcol full-width">
<p>{{{item.system.description}}}</p>
</div>
{{/if}}
</div>
</form>
-43
View File
@@ -1,43 +0,0 @@
<form
class="{{cssClass}}"
autocomplete="off"
>
<header class="sheet-header">
<img
class="profile-img"
src="{{item.img}}"
data-edit="img"
title="{{item.name}}"
/>
<div class="header-fields">
<h1 class="charname"><input
name="name"
type="text"
value="{{item.name}}"
placeholder="Name"
/></h1>
</div>
</header>
{{!-- Sheet Body --}}
<section class="sheet-body ">
<h4 class="resource-label flexrow">
<label class="resource-label">{{ localize "ITEMS.cost"}}</label>
<span class="hexa">
<input
type="number"
name="system.cost"
value="{{system.cost }}"
data-dtype="Number"
min="1"
max="2"
/>
</span>
</h4>
<h4>description</h4>
{{editor system.description target="system.description" rollData=rollData button=true owner=owner editable=editable}}
</div>
</section>
</form>
+102
View File
@@ -0,0 +1,102 @@
<form class="{{cssClass}}" autocomplete="off">
{{> "systems/vermine2047/templates/item/chatCards/parts/base.hbs"}}
{{!-- Defense specific content --}}
<div class="grid grid-2col">
{{#if item.system.level}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.level' }}:</span>
<span>{{item.system.level}}</span>
</div>
{{/if}}
{{#if item.system.specificLevel.level}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.specificLevel' }}:</span>
<span>
{{item.system.specificLevel.label}}
{{#if item.system.specificLevel.level}}
({{item.system.specificLevel.level}})
{{/if}}
</span>
</div>
{{/if}}
{{#if item.system.mobility}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.mobility' }}:</span>
<span>{{item.system.mobility}}</span>
</div>
{{/if}}
{{#if item.system.isShield}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'ITEMS.shield' }}</span>
</div>
{{/if}}
{{#if item.system.quantity}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.qty' }}:</span>
<span>{{item.system.quantity}}</span>
</div>
{{/if}}
{{#if item.system.weight}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.weight' }}:</span>
<span>{{item.system.weight}}</span>
</div>
{{/if}}
{{#if item.system.rarity.value}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.rarity' }}:</span>
<span>
{{#repeat item.system.rarity.value 1 "i"}}
{{romanNumber i}}
{{/repeat}}
{{#ifgt item.system.rarity.handicap 0}}
({{romanNumber item.system.rarity.handicap}})
{{/ifgt}}
</span>
</div>
{{/if}}
{{#if item.system.traits}}
<div class="resource flexcol">
<span class="resource-label">{{ localize 'VERMINE.traits' }}:</span>
<ul class="unstyled">
{{#each item.system.traits as |trait key|}}
{{#if trait}}
<li>
<strong>{{localize (lookup ../config.traits key).name}}</strong>:
{{localize (lookup ../config.traits key).description}}
</li>
{{/if}}
{{/each}}
</ul>
</div>
{{/if}}
{{#if item.system.damages.value}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.damages' }}:</span>
<span class="damage-indicator">
{{getDamagesData item.system.damages "state"}}
{{#ifgt item.system.damages.value 1}}
({{item.system.damages.value}})
{{/ifgt}}
</span>
</div>
{{/if}}
{{#if item.system.reliability}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.reliability' }}:</span>
<span>{{item.system.reliability}}</span>
</div>
{{/if}}
</div>
</form>
-13
View File
@@ -1,13 +0,0 @@
<div class="item-card" data-item-id="{{item.id}}">
{{log @root}}
<header class="flexrow align-center">
<img src="{{img}}" alt="image de {{item.name}}">
<h3>{{item.name}}</h3>
</header>
<section class="item-desc">
<p>{{{ item.system.description}}}</p>
</section>
</div>
+20
View File
@@ -0,0 +1,20 @@
<form class="{{cssClass}}" autocomplete="off">
{{> "systems/vermine2047/templates/item/chatCards/parts/base.hbs"}}
{{!-- Evolution specific content --}}
<div class="grid grid-2col">
{{#if item.system.level.value}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.level' }}:</span>
<span>{{item.system.level.value}}</span>
</div>
{{/if}}
{{#if item.system.description}}
<div class="resource flexcol full-width">
<p>{{{item.system.description}}}</p>
</div>
{{/if}}
</div>
</form>
-21
View File
@@ -1,21 +0,0 @@
<form class="{{cssClass}}" autocomplete="off">
<header class="sheet-header">
<img class="profile-img" src="{{item.img}}" data-edit="img" title="{{item.name}}"/>
<div class="header-fields">
<h1 class="charname"><input name="name" type="text" value="{{item.name}}" placeholder="Name"/></h1>
</div>
</header>
<section class="sheet-body">
<h4 class="resource flexrow">
<label class="resource-label ">{{ localize "VERMINE.level"}}</label>
<span class="hexa"><input type="number" name="system.level.value" value="{{system.level.value }}" data-dtype="Number" min="{{system.level.min }}" max="{{system.level.max }}"/></span>
</h4>
<h2>description</h2>
{{editor system.description target="system.description" rollData=rollData button=true owner=owner editable=editable}}
</section>
</form>
+78
View File
@@ -0,0 +1,78 @@
<form class="{{cssClass}}" autocomplete="off">
{{> "systems/vermine2047/templates/item/chatCards/parts/base.hbs"}}
{{!-- Item specific content --}}
{{#if item.system.needSkill.value}}
<div class="resource align-center flexcol">
<label class="resource-label">{{ localize 'VERMINE.competence' }} {{ localize 'VERMINE.needed' }}</label>
<p>{{ smarttlk 'SKILLS' item.system.needSkill.skill 'name' }}</p>
</div>
{{/if}}
{{!-- Traits --}}
{{#if item.system.traits}}
<div class="resource align-center flexcol">
<label class="resource-label">{{ localize 'VERMINE.traits' }}</label>
<ul class="unstyled">
{{#each item.system.traits as |trait key|}}
{{#if trait}}
<li>
<strong>{{localize (lookup ../config.traits key).name}}</strong>:
{{localize (lookup ../config.traits key).description}}
</li>
{{/if}}
{{/each}}
</ul>
</div>
{{/if}}
{{!-- Physical item properties --}}
{{#if item.system.quantity}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.quantity' }}:</span>
<span>{{item.system.quantity}}</span>
</div>
{{/if}}
{{#if item.system.weight}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.weight' }}:</span>
<span>{{item.system.weight}}</span>
</div>
{{/if}}
{{#if item.system.rarity.value}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.rarity' }}:</span>
<span>
{{#repeat item.system.rarity.value 1 "i"}}
{{romanNumber i}}
{{/repeat}}
{{#ifgt item.system.rarity.handicap 0}}
({{romanNumber item.system.rarity.handicap}})
{{/ifgt}}
</span>
</div>
{{/if}}
{{#if item.system.damages.value}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.damages' }}:</span>
<span class="damage-indicator">
{{getDamagesData item.system.damages "state"}}
{{#ifgt item.system.damages.value 1}}
({{item.system.damages.value}})
{{/ifgt}}
</span>
</div>
{{/if}}
{{!-- Reliability --}}
{{#if item.system.reliability}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.reliability' }}:</span>
<span>{{item.system.reliability}}</span>
</div>
{{/if}}
</form>
-38
View File
@@ -1,38 +0,0 @@
<form class="{{cssClass}}" autocomplete="off">
{{log this}}
{{> "systems/vermine2047/templates/item/partials/header.hbs"}}
{{!-- Sheet Body --}}
<section class="sheet-body ">
{{> "systems/vermine2047/templates/item/partials/traits.html"}}
<div class="resource align-center flexcol">
<label class="resource-label">compétence necessaire
<input type="checkbox" data-tooltip="ajouter la vigueur" name="system.needSkill.value" {{#if system.needSkill.value}} checked {{/if}}>
</label>
{{#if system.needSkill.value}}
<select name="system.needSkill.skill" class="skill-select">
<option value="">aucune</option>
{{log config}}
{{#each @root.config.skillCategories as |skillCategory sckey|}}
<optgroup label="{{ smarttlk 'SKILLS_CATEGORIES' sckey 'name' }}">
{{#each @root.config.model.Actor.character.skills as |skill key|}}
{{#ife skill.category sckey}}
<option value="{{sckey}}" {{#ife sckey @root.system.needSkill.skill}} selected {{/ife}}>{{ smarttlk 'SKILLS' key 'name' }}</option>
{{/ife}}
{{/each}}
</optgroup>
{{/each}}
</select>
{{/if}}
</div>
{{> "systems/vermine2047/templates/item/partials/physicalItems.hbs"}}
</section>
</form>
@@ -1,11 +1,11 @@
<header class="flexrow align-center">
<img
src="{{item.img}}"
alt="image de {{item.name}}"
>
<h3>{{item.name}}</h3>
</header>
<section class="item-desc">
<p>{{{ item.system.description }}}</p>
<header class="flexrow align-center">
<img
src="{{item.img}}"
alt="image de {{item.name}}"
>
<h3>{{item.name}}</h3>
</header>
<section class="item-desc">
<p>{{{ item.system.description }}}</p>
</section>
+41
View File
@@ -0,0 +1,41 @@
<form class="{{cssClass}}" autocomplete="off">
{{> "systems/vermine2047/templates/item/chatCards/parts/base.hbs"}}
{{!-- Rite specific content --}}
<div class="grid grid-2col">
{{#if item.system.rituel}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.ritual' }}:</span>
<span>{{item.system.rituel}}</span>
</div>
{{/if}}
{{#if item.system.transe}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.trance' }}:</span>
<span>{{item.system.transe}}</span>
</div>
{{/if}}
{{#if item.system.ability}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.ability' }}:</span>
<span>{{item.system.ability}}</span>
</div>
{{/if}}
{{#if item.system.effect}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'UI.effects' }}:</span>
<span>{{item.system.effect}}</span>
</div>
{{/if}}
{{#if item.system.description}}
<div class="resource flexcol full-width">
<p>{{{item.system.description}}}</p>
</div>
{{/if}}
</div>
</form>
-41
View File
@@ -1,41 +0,0 @@
{{!-- This template is a fallback for when items don't have more specific templates. --}}
{{!-- Generally, you'll want to make more specific templates when possible. --}}
<form class="{{cssClass}} form" autocomplete="off">
{{> "systems/vermine2047/templates/item/partials/header.hbs"}}
{{!-- Sheet Body --}}
<section class="sheet-body">
<aside style="flex:20%;">
<div class="resource">
<label class="resource-label">{{ localize "VERMINE.ability"}}</label>
<select name="system.ability" data-dtype="String">
<option value="">-- Aucune --</option>
{{#each config.abilities as |ability akey| }}
<option value="{{ akey }}" {{#if (eq akey @root.system.ability)}} selected="selected" {{/if}}>{{ localize ability}}</option>
{{/each}}
</select>
</div>
</aside>
<main style="flex:10">
<div class="editor-wrapper">
{{editor system.description target="system.description" button=true owner=owner editable=editable}}
</div>
</main>
<div class="grid">
<div>
<h4>{{ localize 'ITEMS.rituel'}}</h4>
<textarea name="system.rituel">{{ system.rituel }}</textarea>
</div>
<div>
<h4>{{ localize 'ITEMS.transe'}}</h4>
<textarea name="system.transe">{{ system.transe }}</textarea>
</div>
</div>
<h4>{{ localize 'ITEMS.effects'}}</h4>
<div class="editor-wrapper">
{{editor system.effects target="system.effects" button=true owner=owner editable=editable}}
</div>
</div>
</form>
+13
View File
@@ -0,0 +1,13 @@
<form class="{{cssClass}}" autocomplete="off">
{{> "systems/vermine2047/templates/item/chatCards/parts/base.hbs"}}
{{!-- Rumor specific content --}}
<div class="grid grid-2col">
{{#if item.system.description}}
<div class="resource flexcol full-width">
<p>{{{item.system.description}}}</p>
</div>
{{/if}}
</div>
</form>
-11
View File
@@ -1,11 +0,0 @@
<form class="{{cssClass}}" autocomplete="off">
{{> "systems/vermine2047/templates/item/partials/header.hbs"}}
{{!-- Sheet Body --}}
<section class="sheet-body">
{{editor system.description target="system.description" rollData=rollData button=true owner=owner editable=editable}}
</section>
</form>
+20
View File
@@ -0,0 +1,20 @@
<form class="{{cssClass}}" autocomplete="off">
{{> "systems/vermine2047/templates/item/chatCards/parts/base.hbs"}}
{{!-- Specialty specific content --}}
<div class="grid grid-2col">
{{#if item.system.skill}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.skill_title' }}:</span>
<span>{{ smarttlk 'SKILLS' item.system.skill 'name' }}</span>
</div>
{{/if}}
{{#if item.system.description}}
<div class="resource flexcol full-width">
<p>{{{item.system.description}}}</p>
</div>
{{/if}}
</div>
</form>
-27
View File
@@ -1,27 +0,0 @@
<form class="{{cssClass}}" autocomplete="off">
<header class="sheet-header">
<img class="profile-img" src="{{item.img}}" data-edit="img" title="{{item.name}}"/>
<div class="header-fields">
<h1 class="charname"><input name="name" type="text" value="{{item.name}}" placeholder="Name"/></h1>
<select name="system.skill" class="skill-select">
{{#each @root.config.skillCategories as |skillCategory sckey|}}
{{log skillCategory}}
<optgroup label="{{ smarttlk 'SKILLS_CATEGORIES' sckey 'name' }}">
{{#each @root.config.model.Actor.character.skills as |skill key|}}
{{#ife skill.category sckey}}
<option value="{{key}}" {{#ife key @root.item.system.skill}} selected {{/ife}}>{{ smarttlk 'SKILLS' key 'name' }}</option>
{{/ife}}
{{/each}}
</optgroup>
{{/each}}
</select>
</div>
</header>
</form>
+20
View File
@@ -0,0 +1,20 @@
<form class="{{cssClass}}" autocomplete="off">
{{> "systems/vermine2047/templates/item/chatCards/parts/base.hbs"}}
{{!-- Target specific content --}}
<div class="grid grid-2col">
{{#if item.system.level}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.level' }}:</span>
<span>{{item.system.level}}</span>
</div>
{{/if}}
{{#if item.system.description}}
<div class="resource flexcol full-width">
<p>{{{item.system.description}}}</p>
</div>
{{/if}}
</div>
</form>
-11
View File
@@ -1,11 +0,0 @@
<form class="{{cssClass}}" autocomplete="off">
{{> "systems/vermine2047/templates/item/partials/header.hbs"}}
{{!-- Sheet Body --}}
<section class="sheet-body">
{{editor system.description target="system.description" rollData=rollData button=true owner=owner editable=editable}}
</section>
</form>
+20
View File
@@ -0,0 +1,20 @@
<form class="{{cssClass}}" autocomplete="off">
{{> "systems/vermine2047/templates/item/chatCards/parts/base.hbs"}}
{{!-- Trauma specific content --}}
<div class="grid grid-2col">
{{#if item.system.type}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.type' }}:</span>
<span>{{item.system.type}}</span>
</div>
{{/if}}
{{#if item.system.description}}
<div class="resource flexcol full-width">
<p>{{{item.system.description}}}</p>
</div>
{{/if}}
</div>
</form>
-24
View File
@@ -1,24 +0,0 @@
<form class="{{cssClass}}" autocomplete="off">
{{> "systems/vermine2047/templates/item/partials/header.hbs"}}
{{!-- Sheet Body --}}
<section class="sheet-body">
<div class="tb flexcol">
<h4 class="resource">
<label class="resource-label">{{ localize "VERMINE.type"}}</label>
<select name="system.type" data-dtype="String">
<option value="physical" {{#if (eq system.type "physical")}} selected {{/if}}>Physiologique</option>
<option value="psychological" {{#if (eq system.type "psychological")}} selected {{/if}}>Psychologique</option>
</select>
</h4>
<h2>description</h2>
{{editor system.description target="system.description" rollData=rollData
button=true owner=owner editable=editable}}
</div>
</section>
</form>
+83
View File
@@ -0,0 +1,83 @@
<form class="{{cssClass}}" autocomplete="off">
{{> "systems/vermine2047/templates/item/chatCards/parts/base.hbs"}}
{{!-- Vehicle specific content --}}
<div class="grid grid-2col">
{{#if item.system.mobility}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.mobility' }}:</span>
<span>{{item.system.mobility}}</span>
</div>
{{/if}}
{{#if item.system.quantity}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.qty' }}:</span>
<span>{{item.system.quantity}}</span>
</div>
{{/if}}
{{#if item.system.weight}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.weight' }}:</span>
<span>{{item.system.weight}}</span>
</div>
{{/if}}
{{#if item.system.rarity.value}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.rarity' }}:</span>
<span>
{{#repeat item.system.rarity.value 1 "i"}}
{{romanNumber i}}
{{/repeat}}
{{#ifgt item.system.rarity.handicap 0}}
({{romanNumber item.system.rarity.handicap}})
{{/ifgt}}
</span>
</div>
{{/if}}
{{#if item.system.damages.value}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.damages' }}:</span>
<span class="damage-indicator">
{{getDamagesData item.system.damages "state"}}
{{#ifgt item.system.damages.value 1}}
({{item.system.damages.value}})
{{/ifgt}}
</span>
</div>
{{/if}}
{{#if item.system.reliability}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.reliability' }}:</span>
<span>{{item.system.reliability}}</span>
</div>
{{/if}}
{{#if item.system.traits}}
<div class="resource flexcol">
<span class="resource-label">{{ localize 'VERMINE.traits' }}:</span>
<ul class="unstyled">
{{#each item.system.traits as |trait key|}}
{{#if trait}}
<li>
<strong>{{localize (lookup ../config.traits key).name}}</strong>:
{{localize (lookup ../config.traits key).description}}
</li>
{{/if}}
{{/each}}
</ul>
</div>
{{/if}}
{{#if item.system.description}}
<div class="resource flexcol full-width">
<p>{{{item.system.description}}}</p>
</div>
{{/if}}
</div>
</form>
-23
View File
@@ -1,23 +0,0 @@
<form class="{{cssClass}}" autocomplete="off">
{{> "systems/vermine2047/templates/item/partials/header.hbs"}}
<section class="sheet-body">
{{> "systems/vermine2047/templates/item/partials/traits.html"}}
<div class="flexrow">
<div class="resource flexrow align-center">
<label class="resource-label">{{ localize "VERMINE.mobility"}}</label>
<div class="hexa">
<input type="number" name="system.mobility" value="{{system.mobility}}" data-dtype="Number"/>
</div>
</div>
</div>
{{> "systems/vermine2047/templates/item/partials/physicalItems.hbs"}}
</section>
</form>
+104
View File
@@ -0,0 +1,104 @@
<form class="{{cssClass}}" autocomplete="off">
{{> "systems/vermine2047/templates/item/chatCards/parts/base.hbs"}}
{{!-- Weapon specific content --}}
<div class="grid grid-2col">
{{#if item.system.damage.value}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.damage' }}:</span>
<span>
{{item.system.damage.value}}
{{#if item.system.damage.type}}
({{item.system.damage.type}})
{{/if}}
{{#if item.system.damage.addVigor}}
+ {{ localize 'ABILITIES.vigor.name' }}
{{/if}}
</span>
</div>
{{/if}}
{{#if item.system.ammo}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.ammo' }}:</span>
<span>{{item.system.ammo}}</span>
</div>
{{/if}}
{{#if item.system.min_range}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.range' }}:</span>
<span>
{{item.system.min_range}}
{{#if item.system.max_range}}
- {{item.system.max_range}}
{{/if}}
</span>
</div>
{{/if}}
{{#if item.system.quantity}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.qty' }}:</span>
<span>{{item.system.quantity}}</span>
</div>
{{/if}}
{{#if item.system.weight}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.weight' }}:</span>
<span>{{item.system.weight}}</span>
</div>
{{/if}}
{{#if item.system.rarity.value}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.rarity' }}:</span>
<span>
{{#repeat item.system.rarity.value 1 "i"}}
{{romanNumber i}}
{{/repeat}}
{{#ifgt item.system.rarity.handicap 0}}
({{romanNumber item.system.rarity.handicap}})
{{/ifgt}}
</span>
</div>
{{/if}}
{{#if item.system.traits}}
<div class="resource flexcol">
<span class="resource-label">{{ localize 'VERMINE.traits' }}:</span>
<ul class="unstyled">
{{#each item.system.traits as |trait key|}}
{{#if trait}}
<li>
<strong>{{localize (lookup ../config.traits key).name}}</strong>:
{{localize (lookup ../config.traits key).description}}
</li>
{{/if}}
{{/each}}
</ul>
</div>
{{/if}}
{{#if item.system.damages.value}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.damages' }}:</span>
<span class="damage-indicator">
{{getDamagesData item.system.damages "state"}}
{{#ifgt item.system.damages.value 1}}
({{item.system.damages.value}})
{{/ifgt}}
</span>
</div>
{{/if}}
{{#if item.system.reliability}}
<div class="resource flexrow">
<span class="resource-label">{{ localize 'VERMINE.reliability' }}:</span>
<span>{{item.system.reliability}}</span>
</div>
{{/if}}
</div>
</form>
-7
View File
@@ -1,7 +0,0 @@
<form
class="{{cssClass}}"
autocomplete="off"
>
{{> "systems/vermine2047/templates/item/chatCards/parts/base.html"}}
</form>