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
+149 -10
View File
@@ -10,30 +10,75 @@
</h1>
<div class="resource-content flexrow row text-right">
<label for="system.pack.value" class="resource-label">{{ localize 'ADVERSITY.pack'}}</label>
<input type="number" name="system.pack.value" value="{{system.pack.value}}" data-dtype="Number" min="0" max="3" />
<select
name="system.pack.value"
id="system.pack.value"
data-dtype="Number"
>
<option value="0">{{localize 'VERMINE.none'}}</option>
{{#each ../config.creaturePackLevels}}
{{#if @key}}
<option
value="{{@key}}"
{{#ife @key ../system.pack.value}}selected{{/ife}}
>{{@key}}</option>
{{/if}}
{{/each}}
</select>
</div>
</div>
<div class="resources grid grid-3col">
<div class="resource flex-group-center">
<label for="system.threat.value" class="resource-label">{{ localize 'ADVERSITY.pattern'}}</label>
<label for="system.pattern.value" class="resource-label">{{ localize 'ADVERSITY.pattern'}}</label>
<div class="resource-content">
<input type="number" name="system.pattern.value" value="{{system.pattern.value}}" data-dtype="Number" min="1" max="4" />
<span>({{ patternLevel "label" system.pattern.value }})</span>
<select
name="system.pattern.value"
id="system.pattern.value"
data-dtype="Number"
>
{{#each ../config.creaturePatternLevels}}
<option
value="{{@key}}"
{{#ife @key ../system.pattern.value}}selected{{/ife}}
>{{localize this.label}} ({{@key}})</option>
{{/each}}
</select>
</div>
</div>
<div class="resource flex-group-center">
<label for="system.experience.value" class="resource-label">{{ localize 'ADVERSITY.size'}}</label>
<label for="system.size.value" class="resource-label">{{ localize 'ADVERSITY.size'}}</label>
<div class="resource-content">
<input type="number" name="system.size.value" value="{{system.size.value}}" data-dtype="Number" min="0" max="3" />
<select
name="system.size.value"
id="system.size.value"
data-dtype="Number"
>
{{#each ../config.creatureSizeLevels}}
<option
value="{{@key}}"
{{#ife @key ../system.size.value}}selected{{/ife}}
>{{@key}}</option>
{{/each}}
</select>
</div>
</div>
<div class="resource flex-group-center">
<label for="system.cr" class="resource-label">{{ localize 'ADVERSITY.role'}}</label>
<label for="system.role.value" class="resource-label">{{ localize 'ADVERSITY.role'}}</label>
<div class="resource-content">
<input type="number" name="system.role.value" value="{{system.role.value }}" data-dtype="Number" min="1" max="3"/>
<span>({{ roleLevel "label" system.role.value }})</span>
<select
name="system.role.value"
id="system.role.value"
data-dtype="Number"
>
{{#each ../config.creatureRoleLevels}}
<option
value="{{@key}}"
{{#ife @key ../system.role.value}}selected{{/ife}}
>{{localize this.label}} ({{@key}})</option>
{{/each}}
</select>
</div>
</div>
@@ -53,6 +98,101 @@
{{!-- Biography Tab --}}
<div class="tab stats" data-group="primary" data-tab="description">
<section class="grid grid-3col gap-md">
<div class="mdb">
<h4 class="align-center">{{ localize 'ADVERSITY.pattern'}}</h4>
<ul class="unstyled">
<li>{{ localize 'ADVERSITY.attack'}} {{ creaturePatternLevel "attack" system.pattern.value }}</li>
<li>{{ localize 'ADVERSITY.damage'}} {{ creaturePatternLevel "damage" system.pattern.value }}</li>
<li>{{ localize 'ADVERSITY.wounds'}}
{{ creaturePatternLevel "minorWound" system.pattern.value }}/
{{ creaturePatternLevel "majorWound" system.pattern.value }}/
{{ creaturePatternLevel "deadlyWound" system.pattern.value }}
</li>
</ul>
</div>
<div class="mdb">
<h4 class="align-center">{{ localize 'ADVERSITY.size'}}</h4>
<ul class="unstyled">
<li>{{ localize 'ADVERSITY.attack'}} {{ creatureSizeLevel "attack" system.size.value }}</li>
<li>{{ localize 'ADVERSITY.vigor'}} {{ creatureSizeLevel "vigor" system.size.value }}</li>
<li>{{ localize 'ADVERSITY.wounds'}}
{{ creatureSizeLevel "minorWound" system.size.value }}/
{{ creatureSizeLevel "majorWound" system.size.value }}/
{{ creatureSizeLevel "deadlyWound" system.size.value }}
</li>
</ul>
</div>
<div class="mdb">
<h4 class="align-center">{{ localize 'ADVERSITY.role'}}</h4>
<ul class="unstyled">
<li>{{ localize 'ADVERSITY.reaction'}} {{ creatureRoleLevel "reaction" system.role.value }} + {{ creatureRoleLevel "reaction_bonus" system.role.value }}</li>
<li>{{ localize 'ADVERSITY.pools'}} {{ creatureRoleLevel "pools" system.role.value }}</li>
<li>{{ localize 'ADVERSITY.gear'}} {{ creatureRoleLevel "gear" system.role.value }}</li>
<li>{{ localize 'ADVERSITY.protection'}} {{ creatureRoleLevel "protection" system.role.value }}</li>
</ul>
</div>
</section>
<section class="grid grid-3col gap-md">
<div class="mdb">
<h4 class="align-center">{{ localize 'ADVERSITY.pack'}}</h4>
<ul class="unstyled">
<li>{{ localize 'ADVERSITY.attack'}} {{ creaturePackLevel "attack" system.pack.value }}</li>
<li>{{ localize 'ADVERSITY.damage'}} {{ creaturePackLevel "damage" system.pack.value }}</li>
<li>{{ localize 'ADVERSITY.wounds'}}
{{ creaturePackLevel "minorWound" system.pack.value }}/
{{ creaturePackLevel "majorWound" system.pack.value }}/
{{ creaturePackLevel "deadlyWound" system.pack.value }}
</li>
</ul>
</div>
<div class="mdb">
<h4 class="align-center">{{ localize 'ADVERSITY.skills'}}</h4>
<ul class="unstyled">
<li>
<input type="text" name="system.skills" value="{{ system.skills }}" data-dtype="String" placeholder="{{ localize 'ADVERSITY.skills' }}"/>
</li>
</ul>
</div>
<div class="mdb">
<h4 class="align-center">{{ localize 'VERMINE.modes'}}</h4>
<ul class="unstyled">
<li>
<label>
<input
type="checkbox"
name="system.modes.survival"
{{#if system.modes.survival}}checked{{/if}}
data-dtype="Boolean"
/>
{{ localize 'GAME_MODES.survival' }}
</label>
</li>
<li>
<label>
<input
type="checkbox"
name="system.modes.nightmare"
{{#if system.modes.nightmare}}checked{{/if}}
data-dtype="Boolean"
/>
{{ localize 'GAME_MODES.nightmare' }}
</label>
</li>
<li>
<label>
<input
type="checkbox"
name="system.modes.apocalypse"
{{#if system.modes.apocalypse}}checked{{/if}}
data-dtype="Boolean"
/>
{{ localize 'GAME_MODES.apocalypse' }}
</label>
</li>
</ul>
</div>
</section>
<section class="flexcol col gap-md">
<h4 class="align-center">{{ localize 'IDENTITY.notes'}}</h4>
{{editor system.biography target="system.biography" button=true owner=owner editable=editable}}
@@ -66,4 +206,3 @@
</section>
</form>
+52 -19
View File
@@ -9,24 +9,54 @@
<div class="resource flex-group-center">
<label for="system.threat.value" class="resource-label">{{ localize 'ADVERSITY.threat'}}</label>
<div class="resource-content">
<input type="number" name="system.threat.value" value="{{system.threat.value}}" data-dtype="Number" min="1" max="4" />
<span>({{ threatLevel "label" system.threat.value }})</span>
<select
name="system.threat.value"
id="system.threat.value"
data-dtype="Number"
>
{{#each ../config.npcThreatLevels}}
<option
value="{{@key}}"
{{#ife @key ../system.threat.value}}selected{{/ife}}
>{{localize this.label}} ({{@key}})</option>
{{/each}}
</select>
</div>
</div>
<div class="resource flex-group-center">
<label for="system.experience.value" class="resource-label">{{ localize 'ADVERSITY.experience'}}</label>
<div class="resource-content">
<input type="number" name="system.experience.value" value="{{system.experience.value}}" data-dtype="Number" min="1" max="4" />
<span>({{ experienceLevel "label" system.experience.value }})</span>
<select
name="system.experience.value"
id="system.experience.value"
data-dtype="Number"
>
{{#each ../config.npcExperienceLevels}}
<option
value="{{@key}}"
{{#ife @key ../system.experience.value}}selected{{/ife}}
>{{localize this.label}} ({{@key}})</option>
{{/each}}
</select>
</div>
</div>
<div class="resource flex-group-center">
<label for="system.cr" class="resource-label">{{ localize 'ADVERSITY.role'}}</label>
<label for="system.role.value" class="resource-label">{{ localize 'ADVERSITY.role'}}</label>
<div class="resource-content">
<input type="number" name="system.role.value" value="{{system.role.value }}" data-dtype="Number" min="1" max="4"/>
<span>({{ roleLevel "label" system.role.value }})</span>
<select
name="system.role.value"
id="system.role.value"
data-dtype="Number"
>
{{#each ../config.npcRoleLevels}}
<option
value="{{@key}}"
{{#ife @key ../system.role.value}}selected{{/ife}}
>{{localize this.label}} ({{@key}})</option>
{{/each}}
</select>
</div>
</div>
@@ -51,9 +81,13 @@
<div class="mdb">
<h4 class="align-center">{{ localize 'ADVERSITY.threat'}}</h4>
<ul class="unstyled">
<li>{{ localize 'ADVERSITY.attack'}} {{ threatLevel "attack" system.threat.value }}</li>
<li>{{ localize 'ADVERSITY.vigor'}} {{ threatLevel "vigor" system.threat.value }}</li>
<li>{{ localize 'ADVERSITY.wounds'}} {{ threatLevel "minorWound" system.threat.value }}/{{ threatLevel "majorWound" system.threat.value }}/{{ threatLevel "deadlyWound" system.threat.value }}</li>
<li>{{ localize 'ADVERSITY.attack'}} {{ npcThreatLevel "attack" system.threat.value }}</li>
<li>{{ localize 'ADVERSITY.vigor'}} {{ npcThreatLevel "vigor" system.threat.value }}</li>
<li>{{ localize 'ADVERSITY.wounds'}}
{{ npcThreatLevel "minorWound" system.threat.value }}/
{{ npcThreatLevel "majorWound" system.threat.value }}/
{{ npcThreatLevel "deadlyWound" system.threat.value }}
</li>
</ul>
</div>
@@ -64,19 +98,19 @@
<label for="system.skills" class="">{{ localize "ADVERSITY.skills" }}</label>
<input type="text" name="system.skills" value="{{ system.skills }}" data-dtype="String"/>
</li>
<li>{{ localize 'ADVERSITY.action'}} {{ experienceLevel "action" system.experience.value }}</li>
<li>{{ localize 'ADVERSITY.specialties'}} {{ experienceLevel "specialties" system.experience.value }}</li>
<li>{{ localize 'ADVERSITY.rerolls'}} {{ experienceLevel "rerolls" system.experience.value }}</li>
<li>{{ localize 'ADVERSITY.contact'}} {{ experienceLevel "contact" system.experience.value }}</li>
<li>{{ localize 'ADVERSITY.action'}} {{ npcExperienceLevel "action" system.experience.value }}</li>
<li>{{ localize 'ADVERSITY.specialties'}} {{ npcExperienceLevel "specialties" system.experience.value }}</li>
<li>{{ localize 'ADVERSITY.rerolls'}} {{ npcExperienceLevel "rerolls" system.experience.value }}</li>
<li>{{ localize 'ADVERSITY.contact'}} {{ npcExperienceLevel "contact" system.experience.value }}</li>
</ul>
</div>
<div class="mdb">
<h4 class="align-center">{{ localize 'ADVERSITY.role'}}</h4>
<ul class="unstyled">
<li>{{ localize 'ADVERSITY.reaction'}} {{ roleLevel "reaction" system.role.value }} + {{ roleLevel "reaction_bonus" system.role.value }}</li>
<li>{{ localize 'ADVERSITY.pools'}} {{ roleLevel "pools" system.role.value }}</li>
<li>{{ localize 'ADVERSITY.gear'}} {{ roleLevel "gear" system.role.value }}</li>
<li>{{ localize 'ADVERSITY.protection'}} {{ roleLevel "protection" system.role.value }}</li>
<li>{{ localize 'ADVERSITY.reaction'}} {{ npcRoleLevel "reaction" system.role.value }} + {{ npcRoleLevel "reaction_bonus" system.role.value }}</li>
<li>{{ localize 'ADVERSITY.pools'}} {{ npcRoleLevel "pools" system.role.value }}</li>
<li>{{ localize 'ADVERSITY.gear'}} {{ npcRoleLevel "gear" system.role.value }}</li>
<li>{{ localize 'ADVERSITY.protection'}} {{ npcRoleLevel "protection" system.role.value }}</li>
</ul>
</div>
</section>
@@ -98,4 +132,3 @@
</section>
</form>
+228 -208
View File
@@ -4,52 +4,22 @@
data-actor-id="{{ speakerId }}"
>
<!--HIDDEN DATA -->
<input
type="hidden"
name="label"
id="label"
value="{{ label }}"
/>
<input
type="hidden"
name="rollType"
id="rollType"
value="{{ rollType }}"
/>
<input
type="hidden"
name="abilityScore"
id="abilityScore"
value="{{ abilityScore }}"
/>
<input
type="hidden"
name="skillScore"
id="skillScore"
value="{{ skillScore }}"
/>
<input
type="hidden"
name="speakerId"
value="{{ speakerId }}"
/>
<input
type="hidden"
name="skillLabel"
value="{{ skill }}"
/>
<!-- HIDDEN DATA -->
<input type="hidden" name="label" id="label" value="{{ label }}" />
<input type="hidden" name="rollType" id="rollType" value="{{ rollType }}" />
<input type="hidden" name="abilityScore" id="abilityScore" value="{{ abilityScore }}" />
<input type="hidden" name="skillScore" id="skillScore" value="{{ skillScore }}" />
<input type="hidden" name="speakerId" value="{{ speakerId }}" />
<input type="hidden" name="skillLabel" value="{{ skill }}" />
<div class="dice-pool">
<!--SKILLS TALENTS-->
<h1 class="flexrow skills-talents">
<div class="flexcol">
<label class="label">{{localize
'VERMINE.ability'}}</label>
<!-- MAIN ROLL SELECTION -->
<div class="flexrow main-roll-section">
<!-- CHARACTERISTIC -->
<div class="flexcol characteristic-section">
<label class="label">{{localize 'VERMINE.ability'}}</label>
<select
class="info-value"
data-roll="true"
@@ -60,35 +30,37 @@
min="1"
max="5"
>
<option value="0">-- Choisissez une caractéristique
--</option>
<option value="0">-- {{localize 'VERMINE.choose_ability'}} --</option>
{{#each config.abilityCategories as |abilCategory catkey|}}
<optgroup label="{{ smarttlk 'ABILITY_CATEGORIES' catkey 'name' }}">
{{#each @root.actor.system.abilities as |abil key|}}
{{#ife abil.category catkey}}
<option
value="{{abil.value}}"
data-label="{{key}}"
data-category="{{abil.category}}"
{{#ife @root.rollType "ability"}}
{{#ife @root.labelKey key}}
selected="true"
{{#ife @root.labelKey key}}
selected="true"
{{/ife}}
{{/ife}}
{{/ife}}
>{{ smarttlk 'ABILITIES' key 'name'
}} / {{abil.value}}</option>
>
{{ smarttlk 'ABILITIES' key 'name' }} / {{abil.value}}
</option>
{{/ife}}
{{/each}}
</optgroup>
{{/each}}
</select>
<div class="ability-score flexrow">
<span id="abilityScore">{{localize 'VERMINE.score'}}: </span>
<span id="abilityScoreValue">0</span>
</div>
</div>
<div class="flexcol">
<label class="label">{{localize
'VERMINE.skill_title'}}</label>
<!-- SKILL -->
<div class="flexcol skill-section">
<label class="label">{{localize 'VERMINE.skill_title'}}</label>
<select
class="info-value"
data-roll="true"
@@ -99,25 +71,24 @@
min="1"
max="5"
>
<option>-- Choisissez une compétence
--</option>
<option value="">-- {{localize 'VERMINE.choose_skill'}} --</option>
{{#each config.skillCategories as |skillCategory catkey|}}
<optgroup label="{{ smarttlk 'SKILLS_CATEGORIES' catkey 'name' }}">
{{#each @root.actor.system.skills as |skill key|}}
{{#ife skill.category catkey}}
<option
value="{{skill.value}}"
data-pool="{{skillLevel "dicePool"
skill.value}}"
data-pool="{{skillLevel 'dicePool' skill.value}}"
data-label="{{key}}"
data-reroll="{{skillLevel "reroll" skill.value}}"
data-category="{{skill.category}}"
data-reroll="{{skillLevel 'reroll' skill.value}}"
{{#ife @root.rollType "skill"}}
{{#ife @root.labelKey key}}
selected="true"
{{/ife}}
{{#ife @root.labelKey key}}
selected="true"
{{/ife}}
{{/ife}}
>
<b>{{ smarttlk 'SKILLS' key 'name' }} / </b>
<b>{{ smarttlk 'SKILLS' key 'name' }}</b> /
<i>{{skillLevel "label" skill.value}}</i>
</option>
{{/ife}}
@@ -125,125 +96,120 @@
</optgroup>
{{/each}}
</select>
{{#if availableSpecialties.length}}
<label class="label">{{localize 'VERMINE.specialty'}} (+1D)</label>
<div class="flexrow">
<span data-spec-skill="{{spec.system.skill}}">
<i>aucunes</i>
</div>
</div>
<!-- SPECIALTIES (shown when skill selected) -->
{{#if availableSpecialties.length}}
<details class="specialties-section">
<summary class="flexrow">
<span class="label">{{localize 'VERMINE.specialty'}} (+1D)</span>
<span class="current-specialty">{{localize 'VERMINE.none'}}</span>
</summary>
<div class="flexrow specialty-options">
<label class="flexrow">
<input
type="radio"
data-roll="true"
name="usingSpecialization"
id="usingSpecialization"
value="aucune"
/>
<span>{{localize 'VERMINE.none'}}</span>
</label>
{{#each availableSpecialties as |spec ind|}}
<label class="flexrow">
<input
type="radio"
data-roll="true"
name="usingSpecialization"
id="usingSpecialization"
value="aucune"
>
</span>
{{#each availableSpecialties as |spec ind|}}
value="{{spec.name}}"
data-spec-skill="{{spec.system.skill}}"
{{#if specialty}}checked{{/if}}
/>
<span>{{spec.name}}</span>
</label>
{{/each}}
</div>
</details>
{{/if}}
<span data-spec-skill="{{spec.system.skill}}">
<i>{{spec.name}}</i>
<input
type="radio"
data-roll="true"
name="usingSpecialization"
id="usingSpecialization"
value="{{spec.name}}"
{{#if specialty}}checked{{/if}}
>
</span>
{{/each}}
</div>
{{/if}}
</div>
</h1>
<!--DIFFICULTY HANDICAP-->
<h2 class="flexrow difficulties">
<label class="label">{{localize
'VERMINE.difficulty'}}</label>
<select
class="info-value"
data-roll="tue"
data-dtype="String"
type="number"
name="difficulty"
id="difficulty"
min="3"
max="10"
>
{{#select difficulty }}
<option value="{{ diffLevel 'difficulty' 1}}">{{ diffLevel 'label' 1}} -
{{ diffLevel 'difficulty' 1}}
</option>
<option value="{{ diffLevel 'difficulty' 2}}">{{ diffLevel 'label' 2}} -
{{ diffLevel 'difficulty' 2}}
</option>
<option
value="{{ diffLevel 'difficulty' 3}}"
selected
>{{ diffLevel
'label' 3}} - {{ diffLevel 'difficulty' 3}}</option>
<option value="{{ diffLevel 'difficulty' 4}}">{{ diffLevel 'label' 4}} -
{{ diffLevel 'difficulty' 4}}
</option>
<option value="{{ diffLevel 'difficulty' 5}}">{{ diffLevel 'label' 5}} -
{{ diffLevel 'difficulty' 5}}
</option>
{{/select}}
</select>
<label for="handicap">Handicap</label>
<select
class="info-value"
data-roll="tue"
data-dtype="String"
type="number"
name="handicap"
id="handicap"
min="0"
max="2"
>
{{#select difficulty }}
<option
value="1"
selected
>aucun</option>
<option value="2">(I)</option>
<option value="3">(II)</option>
{{/select}}
</select>
</h2>
<!-- BONUSES -->
<details class="flexcol bonuses">
<!-- DIFFICULTY AND HANDICAP -->
<details class="difficulty-section" open>
<summary class="flexrow">
<h3 class="flexrow align-center">Bonuses ?</h3>
<span class="label">{{localize 'VERMINE.difficulty'}}</span>
<span class="current-values">
<span id="current-difficulty">{{localize 'DIFFICULTY_LEVELS.hard'}} (7)</span>
<span id="current-handicap">{{localize 'VERMINE.none'}}</span>
</span>
</summary>
<div class="grid grid-2col">
<div class="flexrow difficulty-controls">
<div class="flexcol">
<label class="label" for="difficulty">{{localize 'VERMINE.difficulty'}}</label>
<select
class="info-value"
data-roll="true"
data-dtype="String"
type="number"
name="difficulty"
id="difficulty"
min="3"
max="10"
>
{{#select difficulty }}
<option value="{{ diffLevel 'difficulty' 1}}">{{ diffLevel 'label' 1}} ({{ diffLevel 'difficulty' 1}})</option>
<option value="{{ diffLevel 'difficulty' 2}}">{{ diffLevel 'label' 2}} ({{ diffLevel 'difficulty' 2}})</option>
<option value="{{ diffLevel 'difficulty' 3}}" selected>{{ diffLevel 'label' 3}} ({{ diffLevel 'difficulty' 3}})</option>
<option value="{{ diffLevel 'difficulty' 4}}">{{ diffLevel 'label' 4}} ({{ diffLevel 'difficulty' 4}})</option>
<option value="{{ diffLevel 'difficulty' 5}}">{{ diffLevel 'label' 5}} ({{ diffLevel 'difficulty' 5}})</option>
{{/select}}
</select>
</div>
<div class="flexcol">
<label class="label" for="handicap">{{localize 'VERMINE.handicap'}}</label>
<select
class="info-value"
data-roll="true"
data-dtype="String"
type="number"
name="handicap"
id="handicap"
min="0"
max="2"
>
<option value="1" selected>{{localize 'VERMINE.none'}}</option>
<option value="2">(I)</option>
<option value="3">(II)</option>
</select>
</div>
</div>
</details>
<div class="flexrow row smb">
<label class="label">{{localize 'VERMINE.help'}} (+1D)</label>
<!-- BONUSES SECTION -->
<details class="bonuses-section">
<summary class="flexrow">
<span class="label">{{localize 'VERMINE.bonuses'}}</span>
<span class="bonus-count">+<span id="total-bonus">0</span>D</span>
</summary>
<div class="grid grid-2col bonus-grid">
<!-- HELP -->
<div class="flexrow bonus-item">
<input
type="checkbox"
data-roll="true"
name="helped"
id="helped"
value="1"
{{#if
help}}checked{{/if}}
>
{{#if help}}checked{{/if}}
/>
<label class="label" for="helped">{{localize 'VERMINE.help'}} (+1D)</label>
</div>
<div class="flexrow row mdb">
<label class="label">{{localize
'VERMINE.group'}}</label>
<!-- GROUP -->
<div class="flexrow bonus-item">
<label class="label" for="group">{{localize 'VERMINE.group'}}</label>
<input
type="number"
data-roll="true"
@@ -254,13 +220,15 @@
min="0"
max="5"
value="0"
>
/>
<span>D</span>
</div>
<div class="flexrow row mdb">
<label class="label">{{localize
'VERMINE.self_control'}} + <span id="self_control_value">0</span>D
<!-- SELF CONTROL -->
<div class="flexrow bonus-item full-width">
<label class="label" for="self_control">
{{localize 'VERMINE.self_control'}}
<span>(+<span id="self_control_value">0</span>D)</span>
</label>
<input
type="range"
@@ -273,13 +241,11 @@
/>
</div>
<div class="flexcol row mdb">
<!-- TOOLS -->
<div class="flexrow bonus-item full-width">
<label class="label">{{localize 'VERMINE.tooling'}} (+1D)</label>
<div class="item-list grid grid-4col">
<h3>
<i>Auncun</i>
<label>
<input
type="radio"
data-roll="true"
@@ -287,58 +253,112 @@
id="usingTools"
value="0"
checked
>
</h3>
/>
<i>{{localize 'VERMINE.none'}}</i>
</label>
{{#each availableItems as |item ind|}}
<span>
<i>{{item.name}}</i>
<label>
<input
type="radio"
data-roll="true"
name="usingTools"
id="usingTools"
value="{{item.name}}"
>
</span>
/>
<i>{{item.name}}</i>
</label>
{{/each}}
</div>
</div>
<div class="flexcol">
<label class="label">utiliser des dés totems ?
</label>
<div class="flexrow">
<!-- TOTEMS -->
{{#ifgt @root.actor.system.adaptation.totems.human.value 0}}
{{#ifgt @root.actor.system.adaptation.totems.adapted.value 0}}
<div class="flexrow bonus-item full-width totems-section">
<label class="label">{{localize 'VERMINE.totem_dice'}}</label>
<div class="flexrow totem-options">
<label class="totem-option">
<input
type="checkbox"
data-roll="true"
name="human-totem"
id="human-totem"
value="1"
class="totem-checkbox"
/>
<span class="totem-label">{{localize 'TOTEMS.human.name'}}</span>
<small>(+{{@root.actor.system.adaptation.totems.human.value}}D)</small>
</label>
<label class="totem-option">
<input
type="checkbox"
data-roll="true"
name="adapted-totem"
id="adapted-totem"
value="1"
class="totem-checkbox"
/>
<span class="totem-label">{{localize 'TOTEMS.adapted.name'}}</span>
<small>(+{{@root.actor.system.adaptation.totems.adapted.value}}D)</small>
</label>
</div>
<small class="totem-hint">{{localize 'VERMINE.totem_hint'}}</small>
</div>
{{else}}
{{#ifgt @root.actor.system.adaptation.totems.human.value 0}}
<div class="totem-human">
<h4 for="human-totem">totem humain </h4>
<input
type="checkbox"
data-roll="true"
name="human-totem"
id="human-totem"
value="1"
>
<div class="flexrow bonus-item totems-section">
<label class="totem-option">
<input
type="checkbox"
data-roll="true"
name="human-totem"
id="human-totem"
value="1"
/>
<span class="totem-label">{{localize 'TOTEMS.human.name'}}</span>
<small>(+{{@root.actor.system.adaptation.totems.human.value}}D)</small>
</label>
</div>
{{/ifgt}}
{{#ifgt @root.actor.system.adaptation.totems.adapted.value 0}}
<div class="totem-adapted">
<h4 for="human-totem">totem adapté </h4>
{{/ifgt}}
{{else}}
{{#ifgt @root.actor.system.adaptation.totems.adapted.value 0}}
<div class="flexrow bonus-item totems-section">
<label class="totem-option">
<input
type="checkbox"
data-roll="true"
name="adapted-totem"
id="adapted-totem"
value="1"
>
</div>
{{/ifgt}}
</div>
</div>
/>
<span class="totem-label">{{localize 'TOTEMS.adapted.name'}}</span>
<small>(+{{@root.actor.system.adaptation.totems.adapted.value}}D)</small>
</label>
</div>
{{/ifgt}}
{{/ifgt}}
</div>
</details>
<!-- TOTAL DICE POOL -->
<div class="flexrow total-section">
<label class="label">{{localize 'VERMINE.total'}}:</label>
<span id="dice-pool-total" class="total-value">0D</span>
{{#ifgt @root.actor.system.adaptation.totems.human.value 0}}
{{#ifgt @root.actor.system.adaptation.totems.adapted.value 0}}
<span class="totem-selector">
({{localize 'VERMINE.keep_totem'}}
<select id="keep-totem-select" name="keep_totem">
<option value="human">{{localize 'TOTEMS.human.name'}}</option>
<option value="adapted">{{localize 'TOTEMS.adapted.name'}}</option>
</select>)
</span>
{{/ifgt}}
{{/ifgt}}
</div>
</div>
</form>
</form>
+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>
@@ -1,30 +1,30 @@
<h3>dommages</h3>
<div class="damages-row flexrow">
<div class="radios flexrow">
{{#repeat system.damages.max 1 index}}
<div class="hexa
{{#ifgteq system.damages.value @index }}
checked
{{/ifgteq }}">
<input
type="radio"
name="system.damages.value"
value="{{@index}}"
{{#ife system.damages.value @index }}
checked="true"
{{/ife }}
>
</div>
{{/repeat}}
</div>
<div class="damage-pannes">
<h4>pannes : <small>{{getDamagesData system.damages "pannes"}}</small></h4>
</div>
<div class="damage-state">
<h4>état : <small>{{getDamagesData system.damages "state"}}</small> </h4>
</div>
<div class="damage-effect">
<h4> effets : <small>{{getDamagesData system.damages "effect"}}</small> </h4>
</div>
<h3>dommages</h3>
<div class="damages-row flexrow">
<div class="radios flexrow">
{{#repeat system.damages.max 1 index}}
<div class="hexa
{{#ifgteq system.damages.value @index }}
checked
{{/ifgteq }}">
<input
type="radio"
name="system.damages.value"
value="{{@index}}"
{{#ife system.damages.value @index }}
checked="true"
{{/ife }}
>
</div>
{{/repeat}}
</div>
<div class="damage-pannes">
<h4>pannes : <small>{{getDamagesData system.damages "pannes"}}</small></h4>
</div>
<div class="damage-state">
<h4>état : <small>{{getDamagesData system.damages "state"}}</small> </h4>
</div>
<div class="damage-effect">
<h4> effets : <small>{{getDamagesData system.damages "effect"}}</small> </h4>
</div>
</div>
@@ -1,17 +1,17 @@
<div class="traits">
<h3>traits
<span class="traits-selector" data-tooltip="ajouter/supprimer un trait">
<i class="fas fa-cogs"></i>
</span>
</h3>
<h4>
{{#each item.system.traits as | trait index|}}
<span data-tooltip="{{trait.description}}">{{trait.name}}
{{#if trait.value}}
<input type="number" class="hexa" value="{{trait.value}}" name="system.traits.{{index}}.value">
{{/if}}
</span>
{{/each}}
</h4>
</div>
<div class="traits">
<h3>traits
<span class="traits-selector" data-tooltip="ajouter/supprimer un trait">
<i class="fas fa-cogs"></i>
</span>
</h3>
<h4>
{{#each item.system.traits as | trait index|}}
<span data-tooltip="{{trait.description}}">{{trait.name}}
{{#if trait.value}}
<input type="number" class="hexa" value="{{trait.value}}" name="system.traits.{{index}}.value">
{{/if}}
</span>
{{/each}}
</h4>
</div>