Fix apv2, WIP

This commit is contained in:
2026-06-06 10:21:24 +02:00
parent 6cec1da910
commit 9b77a0c552
130 changed files with 12850 additions and 2830 deletions
+4 -39
View File
@@ -186,18 +186,10 @@
<h4 class="ability-category-header">{{ localize 'VERMINE.reserves' }}</h4>
<div class="grid grid-2col">
<div class="ability-item">
<label for="system.attributes.effort.value">{{ localize 'VERMINE.effort' }}</label>
<div class="ability-control">
<input type="range" name="system.attributes.effort.value" value="{{system.attributes.effort.value}}" min="{{system.attributes.effort.min}}" max="{{system.attributes.effort.max}}" data-dtype="Number"/>
<span class="ability-value">{{system.attributes.effort.value}}/{{system.attributes.effort.max}}D</span>
</div>
<span>{{ localize 'VERMINE.effort' }} : {{system.attributes.effort.value}}/{{system.attributes.effort.max}}D</span>
</div>
<div class="ability-item">
<label for="system.attributes.self_control.value">{{ localize 'VERMINE.self_control' }}</label>
<div class="ability-control">
<input type="range" name="system.attributes.self_control.value" value="{{system.attributes.self_control.value}}" min="{{system.attributes.self_control.min}}" max="{{system.attributes.self_control.max}}" data-dtype="Number"/>
<span class="ability-value">{{system.attributes.self_control.value}}/{{system.attributes.self_control.max}}D</span>
</div>
<span>{{ localize 'VERMINE.self_control' }} : {{system.attributes.self_control.value}}/{{system.attributes.self_control.max}}D</span>
</div>
</div>
</div>
@@ -265,8 +257,8 @@
<h4 class="align-center"><i class="fas fa-star"></i> {{ localize 'ADVERSITY.experience' }}</h4>
<ul class="unstyled">
<li>
<label for="system.skills">{{ localize 'ADVERSITY.skills' }}</label>
<input type="text" name="system.skills" value="{{system.skills}}" data-dtype="String" placeholder="{{ localize 'ADVERSITY.skills_placeholder' }}"/>
<label for="system.freeSkills">{{ localize 'ADVERSITY.skills' }}</label>
<input type="text" name="system.freeSkills" value="{{system.freeSkills}}" data-dtype="String" placeholder="{{ localize 'ADVERSITY.skills_placeholder' }}"/>
</li>
<li>
<strong>{{ localize 'ADVERSITY.action' }}:</strong>
@@ -315,33 +307,6 @@
</div>
</div>
{{!-- Blessures --}}
<div class="card npc-card wounds-card">
<h4 class="align-center"><i class="fas fa-heart-broken"></i> {{ localize 'VERMINE.wounds' }}</h4>
<div class="grid grid-3col">
<div class="wound-item">
<label>{{ localize 'VERMINE.minorWound' }}</label>
<div class="wound-control">
<input type="range" name="system.minorWound.value" value="{{system.minorWound.value}}" min="{{system.minorWound.min}}" max="{{system.minorWound.max}}" data-dtype="Number"/>
<span>{{system.minorWound.value}}/{{system.minorWound.max}}</span>
</div>
</div>
<div class="wound-item">
<label>{{ localize 'VERMINE.majorWound' }}</label>
<div class="wound-control">
<input type="range" name="system.majorWound.value" value="{{system.majorWound.value}}" min="{{system.majorWound.min}}" max="{{system.majorWound.max}}" data-dtype="Number"/>
<span>{{system.majorWound.value}}/{{system.majorWound.max}}</span>
</div>
</div>
<div class="wound-item">
<label>{{ localize 'VERMINE.deadlyWound' }}</label>
<div class="wound-control">
<input type="range" name="system.deadlyWound.value" value="{{system.deadlyWound.value}}" min="{{system.deadlyWound.min}}" max="{{system.deadlyWound.max}}" data-dtype="Number"/>
<span>{{system.deadlyWound.value}}/{{system.deadlyWound.max}}</span>
</div>
</div>
</div>
</div>
</div>
{{!-- Equipment Tab --}}
@@ -0,0 +1,125 @@
<div class="tab abilities sheet-part" data-group="sheet" data-tab="abilities">
{{> "systems/vermine2047/templates/actor/appv2/character-header.hbs"}}
{{!-- Character --}}
<h3>{{ localize 'VERMINE.abilities' }}</h3>
<div class="grid grid-4col">
{{#each config.abilityCategories as |abilityCategory ackey|}}
<div class="characteristics">
<h4 class="align-center">{{ smarttl "ABILITY_CATEGORIES" ackey }}</h4>
{{#each @root.system.abilities as |ability key|}}
{{#if (eq ability.category ackey) }}
<div class="ability flexrow flex-group-center items-center">
<label
for="system.abilities.{{key}}.value"
class="resource-label rollable flexlarge align-left"
data-type="ability"
data-label="{{ key }}"
>{{ smarttl "ABILITIES" key }}</label>
{{#if @root.isEditMode}}
<input
type="number"
class="hexa"
name="system.abilities.{{key}}.value"
value="{{ability.value}}"
data-dtype="Number"
min="1"
max="5"
/>
{{else}}
<span class="hexa">{{ability.value}}</span>
{{/if}}
</div>
{{/if}}
{{/each}}
</div>
{{/each}}
</div>
<h3>{{ localize 'VERMINE.skills' }}</h3>
<div class="grid grid-2col">
{{#each system.skill_categories as |skillCategory sckey|}}
{{#if skillCategory.label}}
<div class="col skill-category
{{#ife sckey @root.system.skill_categories.preferred}}
preferred
{{/ife}}">
<h4>{{ smarttl "SKILLS_CATEGORIES" sckey }}
{{#if @root.isEditMode}}
<input
type="radio"
data-tooltip="domaine de prédilection ?"
name="system.skill_categories.preferred"
value="{{sckey}}"
{{#ife sckey @root.system.skill_categories.preferred}}
checked
{{/ife}}
>
{{/if}}
</h4>
{{#each @root.system.skills as |skill skey|}}
{{#if (eq skill.category sckey) }}
<div class="ability flexrow ">
<label
for="system.skills.{{skey}}.value"
class="resource-label rollable flexlarge align-left"
data-type="skill"
data-label="{{ skey }}"
>
{{ smarttl "SKILLS" skey }}
{{#if (eq skill.rarity 1)}}<sup>(I)</sup>{{/if}}
{{#if (eq skill.rarity 2)}}<sup>(II)</sup>{{/if}}
</label>
{{#if @root.isEditMode}}
<div class="specialties">
{{#ifgt skill.value 1}}
<i
class="fas fa-add add-specialty"
data-tooltip="ajout de spécialité"
data-action="addSpecialty"
></i>
{{/ifgt}}
{{#each skill.specialties as |spe ind|}}
{{#ife spe.system.skill skey}}
<i
class="specialty"
data-tooltip="spécialité utilisable"
>{{spe.name}}</i>
{{/ife}}
{{/each}}
</div>
<select
name="system.skills.{{skey}}.value"
class="skill-select"
>
{{selectOptions @root.config.SkillLevels selected=value
localize=true}}
</select>
{{/if}}
<span class="hexa">{{skill.value}}</span>
<div class="skill-dots flexrow">
{{#repeat (skillLevel "dicePool" skill.value) 0 "dicepool"}}
<div
class="dice-pool-dot"
data-tooltip="{{localize "VERMINE.pool"}}"
></div>
{{/repeat}}
{{#repeat (skillLevel "reroll" skill.value) 0 "dicereroll"}}
<div
class="dice-reroll-dot"
data-tooltip="{{localize "VERMINE.reroll"}}"
>X</div>
{{/repeat}}
</div>
</div>
{{/if}}
{{/each}}
</div>
{{/if}}
{{/each}}
</div>
</div>
+295
View File
@@ -0,0 +1,295 @@
<div class="tab combat sheet-part" data-group="sheet" data-tab="combat">
{{> "systems/vermine2047/templates/actor/appv2/character-header.hbs"}}
<div class="align-center">
<div class="shadow">
<h4>situation de combat par défaut</h4>
<div class="flexrow align-center combat-status">
{{#each config.combatStatus as |dif label|}}
<div>
<label for="combat-status-{{diff}}">{{label}}</label>
<input
id="combat-status-{{diff}}"
type="radio"
name="system.combatStatus.difficulty"
value="{{dif}}"
data-action="clickRadio"
{{#ife @root.system.combatStatus.difficulty dif}}checked
{{/ife}}
>
</div>
{{/each}}
</div>
</div>
</div>
<div class="flexrow">
<div class="self-control-container flexcol align-center">
<h4 class="align-center">
{{ localize "VERMINE.self_control"}} :
{{@root.system.attributes.self_control.value}}/
{{@root.system.attributes.self_control.max}}
</h4>
{{setVar "SCIndex" 1}}
<div class="reserve-grid">
{{#repeat 4 1 "row"}}
<div class="flexrow">
{{#repeat @row @root.SCIndex "case"}}
<div class="hexa
{{#iflteq @case @root.system.attributes.self_control.value }}
checked
{{/iflteq}}
{{#ifgt @case @root.system.attributes.self_control.max }}
unavailable
{{/ifgt}}">
{{#iflteq @row @root.system.attributes.self_control.max }}
{{#if @root.isEditMode}}
<input
type="radio"
data-dtype="Number"
name="system.attributes.self_control.value"
value="{{@case}}"
data-action="clickRadio"
class="
{{#iflteq @case @root.system.attributes.self_control.max }}
checked
{{/iflteq}}
"
/>
{{/if}}
{{/iflteq}}
</div>
{{setVar "SCIndex" (math_add @root.SCIndex 1)}}
{{/repeat}}
</div>
{{/repeat}}
</div>
</div>
<div class="effort-container flexcol align-center">
<h4 class="align-center">
{{ localize "VERMINE.effort"}} :
{{@root.system.attributes.effort.value}}/
{{@root.system.attributes.effort.max}}
</h4>
{{setVar "EffIndex" 1}}
<div class="reserve-grid">
{{#repeat 4 1 "row"}}
<div class="flexrow">
{{#repeat @row @root.EffIndex "case"}}
<div class="hexa
{{#iflteq @case @root.system.attributes.effort.value }}
checked
{{/iflteq}}
{{#ifgt @case @root.system.attributes.effort.max }}
unavailable
{{/ifgt}}">
{{#iflteq @row @root.system.attributes.effort.max }}
{{#if @root.isEditMode}}
<input
type="radio"
data-dtype="Number"
name="system.attributes.effort.value"
value="{{@case}}"
data-action="clickRadio"
class="
{{#iflteq @case @root.system.attributes.effort.max }}
checked
{{/iflteq}}
"
/>
{{/if}}
{{/iflteq}}
</div>
{{setVar "EffIndex" (math_add @root.EffIndex 1)}}
{{/repeat}}
</div>
{{/repeat}}
</div>
</div>
<div class="blessure-container flexlarge flexcol align-center">
<h4 class="item-name flexrow">{{ localize
"VERMINE.wounds.name"}}</h4>
<ul class="unstyled">
<li class="row mdb align-center">{{ localize
'VERMINE.wounds.light'}} <span data-tooltip="seuil">({{
system.minorWound.threshold }})</span>
<div class="flexrow align-center">
{{#repeat system.minorWound.max 1 "minorwoundmax"}}
<div class="hexa ability{{#iflteq @minorwoundmax @root.system.minorWound.value }}
checked
{{/iflteq}}">
{{#if @root.isEditMode}}
<input
type="radio"
data-dtype="Number"
name="system.minorWound.value"
value="{{@minorwoundmax}}"
data-wound="minorWound"
data-action="clickRadio"
class="
{{#iflteq @minorwoundmax @root.system.minorWound.value }}
checked
{{/iflteq}}
"
{{#ife @minorwoundmax @root.system.minorWound.value }}
checked="true"
{{/ife}}
/>
{{/if}}
</div>
{{/repeat}}
</div>
</li>
<li class="row mdb align-center">{{ localize
'VERMINE.wounds.heavy'}}
<span>({{
system.majorWound.threshold }})</span>
<div class="flexrow align-center">
{{#repeat system.majorWound.max 1 "majourwoundmax"}}
<div class="hexa ability{{#iflteq @majourwoundmax @root.system.majorWound.value }}
checked
{{/iflteq}}">
{{#if @root.isEditMode}}
<input
type="radio"
data-dtype="Number"
name="system.majorWound.value"
value="{{@majourwoundmax}}"
data-wound="majorWound"
data-action="clickRadio"
class="
{{#iflteq @majourwoundmax @root.system.majorWound.value }}
checked
{{/iflteq}}
"
{{#ife @majourwoundmax @root.system.majorWound.value }}
checked="true"
{{/ife}}
/>
{{/if}}
</div>
{{/repeat}}
</div>
</li>
<li class="row mdb align-center">{{ localize
'VERMINE.wounds.deadly'}}
<span>({{
system.deadlyWound.threshold }})</span>
<div class="flexrow align-center">
{{#repeat system.deadlyWound.max 1 "deadlywoundmax"}}
<div class="hexa ability{{#iflteq @deadlywoundmax @root.system.deadlyWound.value }}
checked
{{/iflteq}}">
{{#if @root.isEditMode}}
<input
type="radio"
data-dtype="Number"
name="system.deadlyWound.value"
value="{{@deadlywoundmax}}"
data-wound="deadlyWound"
data-action="clickRadio"
class=" {{#iflteq @deadlywoundmax @root.system.deadlyWound.value }}
checked
{{/iflteq}}
"
{{#ife @deadlywoundmax @root.system.deadlyWound.value }}
checked="true"
{{/ife}}
/>
{{/if}}
</div>
{{/repeat}}
</div>
</li>
</ul>
</div>
</div>
<h4 class="item-name effect-name flexrow">{{ localize "UI.effects.name"}}</h4>
<ol class="items-list effects-list">
{{#each effects as |section sid|}}
<li
class="items-header flexrow"
data-effect-type="{{section.type}}"
>
<p class="item-name effect-name flexrow">{{#if (eq section.type
'temporary')}}
{{localize "UI.effects.temporary" }}
{{else if (eq section.type 'passive')}}
{{localize "UI.effects.passive" }}
{{else if (eq section.type 'inactive')}}
{{localize "UI.effects.inactive" }}
{{/if}}
</p>
<div class="effect-source">{{localize 'UI.source'}}</div>
<div class="effect-source">{{localize 'UI.duration'}}</div>
<div class="item-controls effect-controls flexrow">
{{#if @root.isEditMode}}
<a
class="effect-control"
data-action="create"
title="{{localize 'UI.effect_create'}}"
>
<i class="fas fa-plus"></i> {{localize "UI.add"}}
</a>
{{/if}}
</div>
</li>
<ol class="item-list">
{{#each section.effects as |effect|}}
<li
class="item effect flexrow"
data-effect-id="{{effect.id}}"
>
<div class="item-name effect-name">
<a
class="effect-control flexrow flex-group-center items-center"
class="effect-control" data-effect-op="edit"
title="{{localize 'UI.effect_edit'}}"
>
<img
class="item-image"
src="{{effect.icon}}"
/>
<span>{{effect.label}}</span>
</a>
</div>
<div class="effect-source">{{effect.sourceName}}</div>
<div class="effect-duration">{{effect.duration.label}}</div>
<div class="item-controls effect-controls flexrow">
{{#if @root.isEditMode}}
<a
class="effect-control"
class="effect-control" data-effect-op="toggle"
title="{{localize 'UI.effect_toggle'}}"
>
<i class="fas {{#if effect.disabled}}fa-check{{else}}fa-times{{/if}}"></i>
</a>
<a
class="effect-control"
class="effect-control" data-effect-op="delete"
title="{{localize 'UI.effect_delete'}}"
>
<i class="fas fa-trash"></i>
</a>
{{/if}}
</div>
</li>
{{/each}}
</ol>
{{/each}}
</ol>
</div>
@@ -0,0 +1,100 @@
<div class="tab equipment sheet-part" data-group="sheet" data-tab="equipment">
{{> "systems/vermine2047/templates/actor/appv2/character-header.hbs"}}
<div class="grid grid-2col">
<div>
<ol class="items-list">
<li class="item flexrow items-header">
<div
class="item-name"
style="flex:4;"
>{{ localize
'IDENTITY.name'}}</div>
<div class="item-quantity">{{ localize 'VERMINE.qty'}}</div>
<div class="item-weight">{{ localize 'VERMINE.weight'}}</div>
<div class="item-controls">
{{#if isEditMode}}
<a
class="item-control item-create"
title="Create item"
data-action="create"
data-type="item"
><i class="fas fa-plus"></i></a>
{{/if}}
</div>
</li>
{{#each gear as |item id|}}
<li
class="item flexrow flex-group-center"
data-item-id="{{item._id}}"
>
<div
class="item-name"
style="flex:4;"
>
<div class="item-image">
<a
class="item-control item-edit"
data-action="edit"
data-item-id="{{item._id}}"
data-roll-type="item"
><img
src="{{item.img}}"
title="{{item.name}}"
width="24"
height="24"
/></a>
</div>
<a
class="item-control item-edit"
data-action="edit"
data-item-id="{{item._id}}"
data-tooltip="Edit Item"
>{{item.name}} </a>
{{#if item.system.damages.value}}
/
<span data-tooltip="{{item.damagedLabel}}">{{{item.damagedIcon}}}</span>
{{/if}}
</div>
<div>
<a class="item-control item-edit" data-action="edit" data-item-id="{{item._id}}" title="Edit Item">
{{item.system.quantity}}
</a>
</div>
<div>
<a class="item-control item-edit" data-action="edit" data-item-id="{{item._id}}" title="Edit Item">
{{item.system.weight}}
</a>
</div>
<div class="item-controls">
{{#if @root.isEditMode}}
<a
class="item-control item-delete"
data-action="delete"
data-item-id="{{item._id}}"
title="Delete Item"
><i class="fas fa-trash"></i></a>
{{/if}}
</div>
</li>
{{/each}}
</ol>
</div>
<div>
<h4>{{ localize 'IDENTITY.notes'}}</h4>
{{editor system.equipment.description target="system.equipment.description"
button=true owner=owner editable=editable}}
</div>
</div>
<div class="grid grid-2col">
<div class="weapons">
<h4>{{localize 'ITEMS.weapons'}}</h4>
{{> "systems/vermine2047/templates/actor/parts/actor-weapons.hbs"}}
</div>
<div class="protections">
<h4>{{localize 'ITEMS.defenses'}}</h4>
{{> "systems/vermine2047/templates/actor/parts/actor-defenses.hbs"}}
</div>
</div>
</div>
@@ -0,0 +1,62 @@
{{!-- HEADER --}}
<header class="char-header grid grid-2col">
<section class="char-details">
<h1 class="char-name flexrow flex-group-left w-full">
<label>{{ localize 'IDENTITY.name' }}</label>
{{#if isEditMode}}
<input name="name" type="text" value="{{actor.name}}"
placeholder="{{localize "VERMINE.CharacterNamePlaceholder"}}" />
{{else}}
<span class="char-name-value">{{actor.name}}</span>
{{/if}}
</h1>
<div class="profile flexrow flex-group-center">
<label>{{ localize 'IDENTITY.profile' }}</label>
{{#if isEditMode}}
<input name="system.identity.profile" type="text"
value="{{system.identity.profile }}" data-dtype="String" />
{{else}}
<span>{{system.identity.profile}}</span>
{{/if}}
</div>
<div class="flexrow flex-group-center">
<label for="system.identity.age">{{ localize 'IDENTITY.age' }}</label>
<div class="flexrow row">
{{#if isEditMode}}
<input type="text" name="system.identity.age"
value="{{ system.identity.age }}" />
{{else}}
<span>{{ system.identity.age }}</span>
{{/if}}
<span id="ageType">({{ ageType "name" system.identity.ageType }})</span>
</div>
</div>
</section>
<section class="char-level">
<h1 class="char-vermine2047 flexrow flex-group-left w-full">
<label for="system.identity.totem">{{ localize 'IDENTITY.totem' }}</label>
{{#if (eq system.identity.totem "")}}
<a data-action="chooseTotem" class="chooseTotem">Choisissez votre totem</a>
{{ else }}
<a data-action="chooseTotem" class="chooseTotem">{{ smarttl "TOTEMS" system.identity.totem }}</a>
{{/if}}
</h1>
<div class="reputation flexrow flex-group-center">
<label>{{ localize 'VERMINE.reputation' }}</label>
{{#if isEditMode}}
<input name="system.attributes.reputation.value" type="number" min="0"
value="{{#if (or (not system.attributes.reputation.value) (eq system.attributes.reputation.value 0))}}0{{else}}{{system.attributes.reputation.value}}{{/if}}" />
{{else}}
<span>{{system.attributes.reputation.value}}</span>
{{/if}}
<label>{{ localize 'VERMINE.experience' }}</label>
{{#if isEditMode}}
<input name="system.attributes.xp.value" type="number" min="0"
value="{{#if (or (not system.attributes.xp.value) (eq system.attributes.xp.value 0))}}0{{else}}{{system.attributes.xp.value}}{{/if}}" />
{{else}}
<span>{{system.attributes.xp.value}}</span>
{{/if}}
</div>
</section>
</header>
+140
View File
@@ -0,0 +1,140 @@
<div class="tab main sheet-part" data-group="sheet" data-tab="main">
{{!-- Toggle Edit/Play --}}
<div class="sheet-header-toggle">
{{#if isEditMode}}
<button type="button" data-action="toggleSheet">{{localize "VERMINE.playMode"}}</button>
{{else}}
<button type="button" data-action="toggleSheet">{{localize "VERMINE.editMode"}}</button>
{{/if}}
</div>
{{!-- Logo --}}
<img class="logo mx-auto" src="systems/vermine2047/assets/images/ui/logo.webp"
width="200" alt="logo Vermine" />
{{!-- Sidebar: Profile Image + Totem Dice --}}
<div class="image-wrapper">
<img class="profile-img" src="{{actor.img}}" data-action="editImage" data-edit="img"
title="{{actor.name}}" height="100" width="100" />
</div>
<div class="minor-totems">
{{!-- Totem Evolution --}}
<h3>{{localize "ITEMS.evolution"}}</h3>
<h5 class="human
{{#ifgt system.adaptation.totems.human.value system.adaptation.totems.adapted.value}}
major
{{/ifgt}}
">{{localize "TOTEMS.human.name"}}
<img class="img-totem"
src="/systems/vermine2047/assets/images/ui/totems/human.webp" />
</h5>
<h5 class="adapted
{{#ifgt system.adaptation.totems.adapted.value system.adaptation.totems.human.value}}
major
{{/ifgt}}">{{localize "TOTEMS.adapted.name"}}
<img class="img-totem"
src="/systems/vermine2047/assets/images/ui/totems/adapted.webp" />
</h5>
<div class="totem-dice flexrow flex-group-center">
<div class="human-dice flexrow">
{{#repeat system.adaptation.totems.human.max 1 "humantotem"}}
<div class="hexa{{#ifgteq system.adaptation.totems.human.value @humantotem}} checked{{/ifgteq}}"
data-totem-name="human" data-totem-value="{{@humantotem}}">
{{#if @root.isEditMode}}
<input type="radio" data-dtype="Number"
name="system.adaptation.totems.human.value" value="{{@humantotem}}"
data-action="clickRadio" />
{{/if}}
{{#ifgteq system.adaptation.totems.human.value @humantotem}}
<div class="human-die"><i class="fas fa-dice-d10"></i></div>
{{/ifgteq}}
</div>
{{/repeat}}
</div>
<div class="adapted-dice flexrow">
{{#repeat system.adaptation.totems.adapted.max 1 "adaptedtotem"}}
<div class="hexa{{#ifgteq system.adaptation.totems.adapted.value @adaptedtotem}} checked{{/ifgteq}}"
data-totem-name="adapted" data-totem-value="{{@adaptedtotem}}">
{{#if @root.isEditMode}}
<input type="radio" data-dtype="Number"
name="system.adaptation.totems.adapted.value" value="{{@adaptedtotem}}"
data-action="clickRadio" />
{{/if}}
{{#ifgteq system.adaptation.totems.adapted.value @adaptedtotem}}
<div class="adapted-die"><i class="fas fa-dice-d10"></i></div>
{{/ifgteq}}
</div>
{{/repeat}}
</div>
</div>
</div>
<ul class="padding-with-frieze unstyled paper">
{{#if system.identity.totem }}
<li class="row lgb major-totem">
<div class="flexcol flex-group-center items-center w-full">
<h4>{{ smarttl 'TOTEMS' system.identity.totem 'name' }}</h4>
<img
class="img-totem"
src="/systems/vermine2047/assets/images/ui/totems/{{ system.identity.totem }}.webp"
alt="{{ smarttl 'TOTEMS' system.identity.totem 'name' }}" width="80"
height="80" />
</div>
</li>
{{/if}}
{{#if system.identity.theme}}
<li>
<div class="flexcol flex-group-center items-center w-full">
<label for="system.identity.theme"
class="resource-label flexlarge align-left"><h4>{{ localize
"IDENTITY.theme"}}</h4></label>
<p>{{{ system.identity.theme }}}</p>
</div>
</li>
{{/if}}
{{#if system.identity.instincts}}
<li>
<div class="flexcol flex-group-center items-center w-full">
<label for="system.identity.instincts"
class="resource-label flexlarge align-left"><h4>{{ localize
"IDENTITY.instincts"}}</h4></label>
<p>{{{ system.identity.instincts }}}</p>
</div>
</li>
{{/if}}
{{#if system.identity.prohibits}}
<li>
<div class="flexcol flex-group-center items-center w-full">
<label for="system.identity.prohibits"
class="resource-label flexlarge align-left"><h4>{{ localize
"IDENTITY.prohibits"}}</h4></label>
<p>{{{ system.identity.prohibits }}}</p>
</div>
</li>
{{/if}}
{{#if system.identity.objectives}}
<li>
<div class="flexcol flex-group-center items-center w-full">
<label for="system.identity.objectives"
class="resource-label flexlarge align-left"><h4>{{ localize
"IDENTITY.objectives"}}</h4></label>
<p>{{{ system.identity.objectives }}}</p>
</div>
</li>
{{/if}}
{{#if system.identity.relations}}
<li>
<div class="flexcol flex-group-center items-center w-full">
<label for="system.identity.relations"
class="resource-label flexlarge align-left"><h4>{{ localize
"IDENTITY.relations"}}</h4></label>
{{{ system.identity.relations }}}
</div>
</li>
{{/if}}
</ul>
</div>
@@ -0,0 +1,49 @@
<div class="tab stories sheet-part" data-group="sheet" data-tab="stories">
{{> "systems/vermine2047/templates/actor/appv2/character-header.hbs"}}
<section class="flexrow flex-group-left flex-align-left gap-md">
<div>
<h4>{{ localize 'IDENTITY.theme'}}</h4>
{{#if isEditMode}}
<textarea
name="system.identity.theme">{{ system.identity.theme }}</textarea>
{{else}}
<p>{{{ system.identity.theme }}}</p>
{{/if}}
<h4>{{ localize 'IDENTITY.objectives'}}</h4>
{{#if isEditMode}}
<textarea
name="system.identity.objectives">{{ system.identity.objectives }}</textarea>
{{else}}
<p>{{{ system.identity.objectives }}}</p>
{{/if}}
</div>
<div>
<h4>{{ localize 'IDENTITY.instincts'}}</h4>
{{#if isEditMode}}
<textarea
name="system.identity.instincts">{{ system.identity.instincts }}</textarea>
{{else}}
<p>{{{ system.identity.instincts }}}</p>
{{/if}}
<h4>{{ localize 'IDENTITY.prohibits'}}</h4>
{{#if isEditMode}}
<textarea
name="system.identity.prohibits">{{ system.identity.prohibits }}</textarea>
{{else}}
<p>{{{ system.identity.prohibits }}}</p>
{{/if}}
</div>
</section>
<section class="flexcol ">
<div>
<h4>{{ localize 'IDENTITY.notes'}}</h4>
{{editor system.identity.biography target="system.identity.biography"
button=true owner=owner editable=editable}}
</div>
<div>
<h4>{{ localize 'IDENTITY.relations'}}</h4>
{{editor system.identity.relations target="system.identity.relations"
button=true owner=owner editable=editable}}
</div>
</section>
</div>
+222
View File
@@ -0,0 +1,222 @@
<div class="tab totem sheet-part" data-group="sheet" data-tab="totem">
{{> "systems/vermine2047/templates/actor/appv2/character-header.hbs"}}
{{#if system.identity.totem}}
<div class="totem-details">
<img
class="img-totem"
src="/systems/vermine2047/assets/images/ui/totems/{{system.identity.totem}}.webp"
alt="{{smarttl 'TOTEMS' system.identity.totem 'name'}}"
width="80"
height="80" />
<h4 class="align-center">
{{smarttl "TOTEMS" system.identity.totem "name"}}
</h4>
<p style="font-size:80%;">{{smarttl "TOTEMS" system.identity.totem "description"}}</p>
<div class="grid grid-2col">
<div class>
<div class="item-name"><strong>Principes</strong><br />{{smarttl "TOTEMS" system.identity.totem "instincts"}}</div>
</div>
<div class>
<div class="item-name"><strong>Interdits</strong><br />{{smarttl "TOTEMS" system.identity.totem "bans"}}</div>
</div>
</div>
</div>
<hr />
{{else}}
<h3>choisissez un totem</h3>
{{/if}}
{{!-- Abstract Items --}}
<div class="grid grid-2col">
<div>
<h4>
<span>{{localize "ITEMS.abilities"}}</span>
{{#if isEditMode}}
<a
class="item-control item-create"
title="Create item"
data-action="create"
data-type="ability"><i class="fas fa-plus"></i></a>
{{/if}}
</h4>
<ol class="list-item">
{{#each abilities as |item id|}}
<li class="item flexrow" data-item-id="{{item._id}}">
<div class="item-name flexrow" style="flex:4;">
<a
class="item-control item-edit"
data-action="edit"
data-item-id="{{item._id}}"
data-tooltip="edit">{{item.name}}</a>
<span class="hexa"
data-tooltip="niveau">{{item.system.level.value}}</span>
<span
data-tooltip="apprentissage">
{{item.system.learn.threshold}}/{{item.system.learn.hindrance}}
</span>
</div>
<div class="item-controls flexrow">
{{#if item.system.description}}
<i
class="fas fa-circle-question"
data-tooltip="{{item.system.description}}"></i>
{{/if}}
{{#if @root.isEditMode}}
<a class="item-control item-delete" data-action="delete" data-item-id="{{item._id}}" title="Delete Item"><i
class="fas fa-trash"></i></a>
{{/if}}
</div>
</li>
{{/each}}
</ol>
</div>
<div>
<h4>
<span>{{localize "ITEMS.specialties"}}</span>
{{#if isEditMode}}
<a
class="item-control item-create"
title="Create item"
data-action="create"
data-type="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="Edit Item">{{item.name}}</a>
<span data-tooltip="Compétence">{{item.system.skill}}</span>
</div>
<div class="item-controls flexrow">
{{#if item.system.description}}
<i
class="fas fa-circle-question"
data-tooltip="{{item.system.description}}"></i>
{{/if}}
{{#if @root.isEditMode}}
<a class="item-control item-delete" data-action="delete" data-item-id="{{item._id}}" title="Delete Item"><i
class="fas fa-trash"></i></a>
{{/if}}
</div>
</li>
{{/each}}
</ol>
</div>
<div>
<h4>
<span>{{localize "ITEMS.backgrounds"}}</span>
{{#if isEditMode}}
<a
class="item-control item-create"
title="Create item"
data-action="create"
data-type="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="Edit Item">{{item.name}}</a>
</div>
<div class="item-controls flexrow">
{{#if item.system.description}}
<i
class="fas fa-circle-question"
data-tooltip="{{item.system.description}}"></i>
{{/if}}
{{#if @root.isEditMode}}
<a class="item-control item-delete" data-action="delete" data-item-id="{{item._id}}" title="Delete Item"><i
class="fas fa-trash"></i></a>
{{/if}}
</div>
</li>
{{/each}}
</ol>
</div>
<div>
<h4>
<span>{{localize "ITEMS.traumas"}}</span>
{{#if isEditMode}}
<a
class="item-control item-create"
title="Create item"
data-action="create"
data-type="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="Edit Item">{{item.name}}</a>
</div>
<div class="item-controls flexrow">
{{#if item.system.description}}
<i
class="fas fa-circle-question"
data-tooltip="{{item.system.description}}"></i>
{{/if}}
{{#if @root.isEditMode}}
<a class="item-control item-delete" data-action="delete" data-item-id="{{item._id}}" title="Delete Item"><i
class="fas fa-trash"></i></a>
{{/if}}
</div>
</li>
{{/each}}
</ol>
</div>
<div>
<h4>
<span>{{localize "ITEMS.evolutions"}}</span>
{{#if isEditMode}}
<a
class="item-control item-create"
title="Create item"
data-action="create"
data-type="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="Edit Item">{{item.name}}</a>
</div>
<div class="item-controls flexrow">
{{#if item.system.description}}
<i
class="fas fa-circle-question"
data-tooltip="{{item.system.description}}"></i>
{{/if}}
{{#if @root.isEditMode}}
<a class="item-control item-delete" data-action="delete" data-item-id="{{item._id}}" title="Delete Item"><i
class="fas fa-trash"></i></a>
{{/if}}
</div>
</li>
{{/each}}
</ol>
</div>
</div>
</div>
+75
View File
@@ -0,0 +1,75 @@
<div class="tab combat sheet-part" data-group="sheet" data-tab="combat">
<div class="grid grid-2col">
{{!-- Computed Values --}}
<div>
<h4 class="align-center">{{ localize 'VERMINE.computed_values' }}</h4>
<div class="stats-grid">
<div class="stat">
<label>{{ localize 'VERMINE.total_attack' }}:</label>
<span>{{ system.computed.attack }}</span>
</div>
<div class="stat">
<label>{{ localize 'ADVERSITY.damage' }}:</label>
<span>{{ system.computed.damage }}</span>
</div>
<div class="stat">
<label>{{ localize 'ADVERSITY.vigor' }}:</label>
<span>{{ system.computed.vigor }}</span>
</div>
<div class="stat">
<label>{{ localize 'ADVERSITY.reaction' }}:</label>
<span>{{ system.computed.reaction }}</span>
</div>
<div class="stat">
<label>{{ localize 'ADVERSITY.pools' }}:</label>
<span>{{ system.computed.pools }}</span>
</div>
<div class="stat">
<label>{{ localize 'ADVERSITY.protection' }}:</label>
<span>{{ system.computed.protection }}</span>
</div>
</div>
</div>
{{!-- Wounds --}}
<div>
<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 }}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}}
</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}}
</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}}
</li>
</ul>
</div>
</div>
{{!-- Equipment --}}
<div class="grid-span-2">
<h4>{{ localize 'VERMINE.gear' }}</h4>
{{editor system.equipment.description target="system.equipment.description" button=true owner=owner editable=editable}}
</div>
</div>
@@ -0,0 +1,51 @@
<div class="tab effects sheet-part" data-group="sheet" data-tab="effects">
<h4 class="item-name effect-name flexrow">{{ localize "UI.effects.name" }}</h4>
<ol class="items-list effects-list">
{{#each effects as |section sid|}}
<li class="items-header flexrow" data-effect-type="{{section.type}}">
<p class="item-name effect-name flexrow">{{#if (eq section.type 'temporary')}}
{{localize "UI.effects.temporary" }}
{{else if (eq section.type 'passive')}}
{{localize "UI.effects.passive" }}
{{else if (eq section.type 'inactive')}}
{{localize "UI.effects.inactive" }}
{{/if}}
</p>
<div class="effect-source">{{localize 'UI.source'}}</div>
<div class="effect-source">{{localize 'UI.duration'}}</div>
<div class="item-controls effect-controls flexrow">
{{#if @root.isEditMode}}
<a class="effect-control" data-action="create" class="effect-control" title="{{localize 'UI.effect_create'}}">
<i class="fas fa-plus"></i> {{localize "UI.add"}}
</a>
{{/if}}
</div>
</li>
<ol class="item-list">
{{#each section.effects as |effect|}}
<li class="item effect flexrow" data-effect-id="{{effect.id}}">
<div class="item-name effect-name">
<a class="effect-control flexrow flex-group-center items-center" class="effect-control" data-effect-op="edit" title="{{localize 'UI.effect_edit'}}">
<img class="item-image" src="{{effect.icon}}" />
<span>{{effect.label}}</span>
</a>
</div>
<div class="effect-source">{{effect.sourceName}}</div>
<div class="effect-duration">{{effect.duration.label}}</div>
<div class="item-controls effect-controls flexrow">
{{#if @root.isEditMode}}
<a class="effect-control" data-action="create" class="effect-control" data-effect-op="toggle" title="{{localize 'UI.effect_toggle'}}">
<i class="fas {{#if effect.disabled}}fa-check{{else}}fa-times{{/if}}"></i>
</a>
<a class="effect-control" data-action="create" class="effect-control" data-effect-op="delete" title="{{localize 'UI.effect_delete'}}">
<i class="fas fa-trash"></i>
</a>
{{/if}}
</div>
</li>
{{/each}}
</ol>
{{/each}}
</ol>
</div>
+73
View File
@@ -0,0 +1,73 @@
<div class="tab info sheet-part" data-group="sheet" data-tab="info">
<div class="grid grid-2col">
<div>
<h4>{{ localize 'IDENTITY.profile' }}</h4>
{{#if isEditMode}}
<input type="text" name="system.identity.profile" value="{{system.identity.profile}}"
placeholder="Profil..." style="width: 100%;" />
{{else}}
<span>{{system.identity.profile}}</span>
{{/if}}
</div>
<div>
<h4>{{ localize 'IDENTITY.origin' }}</h4>
{{#if isEditMode}}
<input type="text" name="system.identity.origin" value="{{system.identity.origin}}"
placeholder="Origine..." style="width: 100%;" />
{{else}}
<span>{{system.identity.origin}}</span>
{{/if}}
</div>
<div>
<h4>{{ localize 'IDENTITY.theme' }}</h4>
{{#if isEditMode}}
<input type="text" name="system.identity.theme" value="{{system.identity.theme}}"
placeholder="Concept..." style="width: 100%;" />
{{else}}
<span>{{system.identity.theme}}</span>
{{/if}}
</div>
<div>
<h4>{{ localize 'ADVERSITY.skills' }}</h4>
{{#if isEditMode}}
<input type="text" name="system.skills" value="{{system.skills}}"
placeholder="Compétences..." style="width: 100%;" />
{{else}}
<span>{{system.skills}}</span>
{{/if}}
</div>
</div>
<div class="grid-span-2">
<h4>{{ localize 'IDENTITY.notes' }}</h4>
{{editor system.identity.notes target="system.identity.notes" button=true owner=owner editable=editable}}
</div>
{{!-- Modes --}}
<div class="grid-span-2">
<h4>{{ localize 'VERMINE.modes' }}</h4>
<div class="grid grid-3col">
<div>
<label>
<input type="checkbox" name="system.modes.survival"
{{#if system.modes.survival}}checked{{/if}} data-dtype="Boolean" />
{{ localize 'GAME_MODES.survival' }}
</label>
</div>
<div>
<label>
<input type="checkbox" name="system.modes.nightmare"
{{#if system.modes.nightmare}}checked{{/if}} data-dtype="Boolean" />
{{ localize 'GAME_MODES.nightmare' }}
</label>
</div>
<div>
<label>
<input type="checkbox" name="system.modes.apocalypse"
{{#if system.modes.apocalypse}}checked{{/if}} data-dtype="Boolean" />
{{ localize 'GAME_MODES.apocalypse' }}
</label>
</div>
</div>
</div>
</div>
+102
View File
@@ -0,0 +1,102 @@
<div class="tab main sheet-part" data-group="sheet" data-tab="main">
{{!-- Toggle Edit/Play --}}
<div class="sheet-header-toggle">
{{#if isEditMode}}
<button type="button" data-action="toggleSheet">{{localize "VERMINE.playMode"}}</button>
{{else}}
<button type="button" data-action="toggleSheet">{{localize "VERMINE.editMode"}}</button>
{{/if}}
</div>
{{!-- Sheet Header --}}
<header class="sheet-header">
<img class="profile-img" src="{{actor.img}}" data-action="editImage" data-edit="img" title="{{actor.name}}" height="100" width="100"/>
<div class="header-fields">
<div class="resources grid grid-4col">
<h1 class="charname grid-span-2">
{{#if isEditMode}}
<input name="name" type="text" value="{{actor.name}}" placeholder="{{ localize 'IDENTITY.name' }}"/>
{{else}}
<span>{{actor.name}}</span>
{{/if}}
</h1>
<div class="resource flex-group-center grid-span-1">
<label for="system.pattern.value" class="resource-label">{{ localize 'ADVERSITY.pattern' }}</label>
<div class="resource-content">
{{#if isEditMode}}
<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>
{{else}}
<span>{{system.pattern.value}}</span>
{{/if}}
</div>
</div>
<div class="resource flex-group-center grid-span-1">
<label for="system.role.value" class="resource-label">{{ localize 'ADVERSITY.role' }}</label>
<div class="resource-content">
{{#if isEditMode}}
<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>
{{else}}
<span>{{system.role.value}}</span>
{{/if}}
</div>
</div>
</div>
<div class="resources grid grid-4col">
<div class="resource flex-group-center">
<label for="system.size.value" class="resource-label">{{ localize 'ADVERSITY.size' }}</label>
<div class="resource-content">
{{#if isEditMode}}
<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>
{{else}}
<span>{{system.size.value}}</span>
{{/if}}
</div>
</div>
<div class="resource flex-group-center">
<label for="system.pack.value" class="resource-label">{{ localize 'ADVERSITY.pack' }}</label>
<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>
{{#each ../config.creaturePackLevels}}
{{#if @key}}
<option value="{{@key}}" {{#ife @key ../system.pack.value}}selected{{/ife}}>
{{@key}}
</option>
{{/if}}
{{/each}}
</select>
{{else}}
<span>{{system.pack.value}}</span>
{{/if}}
</div>
</div>
<div class="resource flex-group-center grid-span-2">
<label class="resource-label">{{ localize 'VERMINE.computed_values' }}</label>
<div class="resource-content">
<span>{{ localize 'VERMINE.total_attack' }}: {{ system.computed.attack }}</span>
<span style="margin-left: 10px;">{{ localize 'ADVERSITY.damage' }}: {{ system.computed.damage }}</span>
</div>
</div>
</div>
</div>
</header>
</div>
+61
View File
@@ -0,0 +1,61 @@
<div class="tab stats sheet-part" data-group="sheet" data-tab="stats">
<h3>{{ localize 'VERMINE.base_values' }}</h3>
<section class="grid grid-3col gap-md">
<div class="mdb">
<h4 class="align-center">{{ localize 'ADVERSITY.pattern' }}: {{ patternLabel }}</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' }}: {{ sizeLabel }}</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' }}: {{ roleLabel }}</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-2col gap-md">
<div class="mdb">
<h4 class="align-center">{{ localize 'ADVERSITY.pack' }}: {{ packLabel }}</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 'VERMINE.wound_thresholds' }}</h4>
<ul class="unstyled">
<li>{{ localize 'VERMINE.wounds.light' }}: {{ system.minorWound.threshold }}D</li>
<li>{{ localize 'VERMINE.wounds.heavy' }}: {{ system.majorWound.threshold }}D</li>
<li>{{ localize 'VERMINE.wounds.deadly' }}: {{ system.deadlyWound.threshold }}D</li>
</ul>
</div>
</section>
</div>
+45
View File
@@ -0,0 +1,45 @@
<div class="tab gear sheet-part" data-group="sheet" data-tab="gear">
<div class="grid grid-2col">
<div>
<ol class="items-list">
<li class="item flexrow items-header">
<div class="item-name" style="flex:4;">{{ localize 'IDENTITY.name'}}</div>
<div class="item-quantity">{{ localize 'VERMINE.qty'}}</div>
<div class="item-weight">{{ localize 'VERMINE.weight'}}</div>
<div class="item-controls">
{{#if isEditMode}}
<a class="item-control item-create" data-action="create" data-type="item" title="Create item"><i class="fas fa-plus"></i></a>
{{/if}}
</div>
</li>
{{#each gear as |item id|}}
<li class="item flexrow flex-group-center" data-item-id="{{item._id}}">
<div class="item-name" style="flex:4;">
<div class="item-image">
<a class="item-control item-edit" data-action="edit" data-item-id="{{item._id}}" data-roll-type="item"><img src="{{item.img}}" title="{{item.name}}" width="24" height="24"/></a>
</div>
<a class="item-control item-edit" data-action="edit" data-item-id="{{item._id}}" title="Edit Item">{{item.name}}</a>
</div>
<div><a class="item-control item-edit" data-action="edit" data-item-id="{{item._id}}" title="Edit Item">{{item.system.quantity}}</a></div>
<div><a class="item-control item-edit" data-action="edit" data-item-id="{{item._id}}" title="Edit Item">{{item.system.weight}}</a></div>
<div class="item-controls">
{{#if @root.isEditMode}}
<a class="item-control item-delete" data-action="delete" data-item-id="{{item._id}}" title="Delete Item"><i class="fas fa-trash"></i></a>
{{/if}}
</div>
</li>
{{/each}}
</ol>
</div>
<div>
<h4>{{ localize 'IDENTITY.notes'}}</h4>
{{editor system.equipment.description target="system.equipment.description" button=true owner=owner editable=editable}}
</div>
</div>
<h4>{{localize 'ITEMS.weapons'}}</h4>
{{> "systems/vermine2047/templates/actor/parts/actor-weapons.hbs"}}
<h4>{{localize 'ITEMS.defenses'}}</h4>
{{> "systems/vermine2047/templates/actor/parts/actor-defenses.hbs"}}
<h4>{{localize 'ITEMS.vehicles'}}</h4>
{{> "systems/vermine2047/templates/actor/group/group-vehicles.hbs"}}
</div>
+157
View File
@@ -0,0 +1,157 @@
<div class="tab info sheet-part" data-group="sheet" data-tab="info">
<div class="grid grid-2col">
{{!-- Group Identity --}}
<div>
<h4>{{ localize 'IDENTITY.origin' }}</h4>
<div class="flexrow flex-group-center">
{{#if isEditMode}}
<input type="text" name="system.identity.origin" value="{{system.identity.origin}}"
placeholder="Origine..." style="flex: 1;" />
{{else}}
<span>{{system.identity.origin}}</span>
{{/if}}
</div>
</div>
<div>
<h4>{{ localize 'IDENTITY.theme' }}</h4>
<div class="flexrow flex-group-center">
{{#if isEditMode}}
<input type="text" name="system.identity.theme" value="{{system.identity.theme}}"
placeholder="Concept..." style="flex: 1;" />
{{else}}
<span>{{system.identity.theme}}</span>
{{/if}}
</div>
</div>
{{!-- Group Notes --}}
<div class="grid-span-2">
<h4>{{ localize 'IDENTITY.notes' }}</h4>
{{editor system.identity.notes target="system.identity.notes" button=true owner=owner editable=editable}}
</div>
{{!-- Group Abilities (from items) --}}
<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>
{{/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>
{{!-- 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">
{{#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>
</div>
</div>
+68
View File
@@ -0,0 +1,68 @@
<div class="tab main sheet-part" data-group="sheet" data-tab="main">
{{!-- Toggle Edit/Play --}}
<div class="sheet-header-toggle">
{{#if isEditMode}}
<button type="button" data-action="toggleSheet">{{localize "VERMINE.playMode"}}</button>
{{else}}
<button type="button" data-action="toggleSheet">{{localize "VERMINE.editMode"}}</button>
{{/if}}
</div>
{{!-- HEADER --}}
<header class="char-header grid grid-12col w-full" style="max-height: 110px;">
<div class="grid-span-2">
<img class="profile-img" src="{{actor.img}}" data-action="editImage" data-edit="img" width="100"
height="100" title="{{actor.name}}" />
</div>
<section class="char-details grid-span-5">
<h1 class="char-name flexrow flex-group-left w-full">
<label>{{ localize 'IDENTITY.name' }}</label>
{{#if isEditMode}}
<input name="name" type="text" value="{{actor.name}}"
placeholder="Nom du groupe" />
{{else}}
<span>{{actor.name}}</span>
{{/if}}
</h1>
<div class="profile flexrow flex-group-center">
<label>{{ localize 'IDENTITY.profile' }}</label>
{{#if isEditMode}}
<input name="system.identity.profile" type="text"
value="{{system.identity.profile}}" data-dtype="String" />
{{else}}
<span>{{system.identity.profile}}</span>
{{/if}}
</div>
</section>
<section class="char-level grid-span-5">
<h1 class="char-vermine2047 flexrow flex-group-left w-full">
<label for="system.identity.totem">{{ localize 'IDENTITY.totem' }}</label>
{{#if (eq system.identity.totem "")}}
<a data-action="chooseTotem" class="chooseTotem">Choisissez&hellip;</a>
{{ else }}
<a data-action="chooseTotem" class="chooseTotem">{{ smarttl "TOTEMS" system.identity.totem }}</a>
{{/if}}
</h1>
<div class="level flexrow flex-group-center">
<label>{{ localize 'VERMINE.level' }}</label>
{{#if isEditMode}}
<input name="system.level.value" type="number"
value="{{system.level.value}}" data-dtype="Number" min="{{system.level.min}}" max="{{system.level.max}}" />
{{else}}
<span>{{system.level.value}}</span>
{{/if}}
<span>/ {{system.level.max}}</span>
</div>
<div class="reputation flexrow flex-group-center">
<label>{{ localize 'VERMINE.reputation' }}</label>
{{#if isEditMode}}
<input name="system.reputation.value" type="number"
value="{{system.reputation.value}}" data-dtype="Number" min="{{system.reputation.min}}" max="{{system.reputation.max}}" />
{{else}}
<span>{{system.reputation.value}}</span>
{{/if}}
<span>/ {{system.reputation.max}}</span>
</div>
</section>
</header>
</div>
+220
View File
@@ -0,0 +1,220 @@
<div class="tab reserve sheet-part" data-group="sheet" data-tab="reserve">
<div class="grid grid-2col">
{{!-- Group Reserve and Morale --}}
<div class="grid-span-2">
<h4 class="align-center">{{ localize 'VERMINE.reserve' }}</h4>
<div class="reserve-control flexrow flex-group-center">
<label>{{ localize 'VERMINE.pool' }}:</label>
{{#if isEditMode}}
<input type="number" name="system.reserve.value" value="{{system.reserve.value}}"
data-dtype="Number" min="{{system.reserve.min}}" max="{{system.reserve.max}}" />
{{else}}
<span>{{system.reserve.value}}</span>
{{/if}}
<span>/ {{system.reserve.max}}D</span>
</div>
<div class="morale-control flexrow flex-group-center">
<label>{{ localize 'VERMINE.morale' }}:</label>
{{#if isEditMode}}
<select name="system.morale.level">
<option value="high" {{#if (eq system.morale.level "high")}}selected{{/if}}>{{ localize 'VERMINE.morale_high' }}</option>
<option value="normal" {{#if (eq system.morale.level "normal")}}selected{{/if}}>{{ localize 'VERMINE.morale_normal' }}</option>
<option value="low" {{#if (eq system.morale.level "low")}}selected{{/if}}>{{ localize 'VERMINE.morale_low' }}</option>
<option value="crisis" {{#if (eq system.morale.level "crisis")}}selected{{/if}}>{{ localize 'VERMINE.morale_crisis' }}</option>
</select>
{{else}}
<span>{{system.morale.level}}</span>
{{/if}}
{{#if isEditMode}}
<input type="number" name="system.morale.value" value="{{system.morale.value}}"
data-dtype="Number" min="{{system.morale.min}}" max="{{system.morale.max}}" />
{{else}}
<span>{{system.morale.value}}</span>
{{/if}}
<span>/ {{system.morale.max}}D</span>
</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">
{{#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;">
{{#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">
{{#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}}
</div>
</li>
{{/with}}
{{/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>
+37
View File
@@ -0,0 +1,37 @@
<div class="tab road sheet-part" 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="create" title="Create item"
data-type="vehicle"><i class="fas fa-plus"></i></a>
{{/if}}
</div>
</li>
{{#each vehicles as |item id|}}
<li class="item flexrow flex-group-center" data-item-id="{{item._id}}">
<div class="item-name" style="flex:4;">
<div class="item-image">
<a class="item-control item-edit" data-action="edit" data-item-id="{{item._id}}" data-roll-type="item"><img
src="{{item.img}}" title="{{item.name}}" width="24"
height="24" /></a>
</div>
<a class="item-control item-edit" data-action="edit" data-item-id="{{item._id}}" title="Edit Item">{{item.name}}</a>
</div>
<div><a class="item-control item-edit" data-action="edit" data-item-id="{{item._id}}" title="Edit Item">{{item.system.mobility}}</a></div>
<div><a class="item-control item-edit" data-action="edit" data-item-id="{{item._id}}" title="Edit Item">{{item.system.rarity.value}}</a></div>
<div><a class="item-control item-edit" data-action="edit" data-item-id="{{item._id}}" title="Edit Item">{{item.system.reliability}}</a></div>
<div class="item-controls">
{{#if @root.isEditMode}}
<a class="item-control item-delete" data-action="delete" data-item-id="{{item._id}}" title="Delete Item"><i
class="fas fa-trash"></i></a>
{{/if}}
</div>
</li>
{{/each}}
</ol>
</div>
@@ -0,0 +1,116 @@
<div class="tab characteristics sheet-part" data-group="sheet" data-tab="characteristics">
<h3>{{ localize 'VERMINE.abilities' }}</h3>
{{!-- Caracteristiques physiques --}}
<div class="ability-section">
<h4 class="ability-category-header">{{ localize 'VERMINE.ability_category.physical' }}</h4>
<div class="grid grid-2col">
<div class="ability-item">
<label for="system.abilities.vigor.value">{{ localize 'ABILITIES.vigor.name' }}</label>
<div class="ability-control">
{{#if isEditMode}}
<input type="range" name="system.abilities.vigor.value" value="{{system.abilities.vigor.value}}" min="{{system.abilities.vigor.min}}" max="{{system.abilities.vigor.max}}" data-dtype="Number"/>
{{/if}}
<span class="ability-value">{{system.abilities.vigor.value}}D</span>
</div>
</div>
<div class="ability-item">
<label for="system.abilities.health.value">{{ localize 'ABILITIES.health.name' }}</label>
<div class="ability-control">
{{#if isEditMode}}
<input type="range" name="system.abilities.health.value" value="{{system.abilities.health.value}}" min="{{system.abilities.health.min}}" max="{{system.abilities.health.max}}" data-dtype="Number"/>
{{/if}}
<span class="ability-value">{{system.abilities.health.value}}D</span>
</div>
</div>
</div>
</div>
{{!-- Caracteristiques manuelles --}}
<div class="ability-section">
<h4 class="ability-category-header">{{ localize 'VERMINE.ability_category.manual' }}</h4>
<div class="grid grid-2col">
<div class="ability-item">
<label for="system.abilities.precision.value">{{ localize 'ABILITIES.precision.name' }}</label>
<div class="ability-control">
{{#if isEditMode}}
<input type="range" name="system.abilities.precision.value" value="{{system.abilities.precision.value}}" min="{{system.abilities.precision.min}}" max="{{system.abilities.precision.max}}" data-dtype="Number"/>
{{/if}}
<span class="ability-value">{{system.abilities.precision.value}}D</span>
</div>
</div>
<div class="ability-item">
<label for="system.abilities.reflexes.value">{{ localize 'ABILITIES.reflexes.name' }}</label>
<div class="ability-control">
{{#if isEditMode}}
<input type="range" name="system.abilities.reflexes.value" value="{{system.abilities.reflexes.value}}" min="{{system.abilities.reflexes.min}}" max="{{system.abilities.reflexes.max}}" data-dtype="Number"/>
{{/if}}
<span class="ability-value">{{system.abilities.reflexes.value}}D</span>
</div>
</div>
</div>
</div>
{{!-- Caracteristiques mentales --}}
<div class="ability-section">
<h4 class="ability-category-header">{{ localize 'VERMINE.ability_category.mental' }}</h4>
<div class="grid grid-2col">
<div class="ability-item">
<label for="system.abilities.knowledge.value">{{ localize 'ABILITIES.knowledge.name' }}</label>
<div class="ability-control">
{{#if isEditMode}}
<input type="range" name="system.abilities.knowledge.value" value="{{system.abilities.knowledge.value}}" min="{{system.abilities.knowledge.min}}" max="{{system.abilities.knowledge.max}}" data-dtype="Number"/>
{{/if}}
<span class="ability-value">{{system.abilities.knowledge.value}}D</span>
</div>
</div>
<div class="ability-item">
<label for="system.abilities.perception.value">{{ localize 'ABILITIES.perception.name' }}</label>
<div class="ability-control">
{{#if isEditMode}}
<input type="range" name="system.abilities.perception.value" value="{{system.abilities.perception.value}}" min="{{system.abilities.perception.min}}" max="{{system.abilities.perception.max}}" data-dtype="Number"/>
{{/if}}
<span class="ability-value">{{system.abilities.perception.value}}D</span>
</div>
</div>
</div>
</div>
{{!-- Caracteristiques sociales --}}
<div class="ability-section">
<h4 class="ability-category-header">{{ localize 'VERMINE.ability_category.social' }}</h4>
<div class="grid grid-2col">
<div class="ability-item">
<label for="system.abilities.will.value">{{ localize 'ABILITIES.will.name' }}</label>
<div class="ability-control">
{{#if isEditMode}}
<input type="range" name="system.abilities.will.value" value="{{system.abilities.will.value}}" min="{{system.abilities.will.min}}" max="{{system.abilities.will.max}}" data-dtype="Number"/>
{{/if}}
<span class="ability-value">{{system.abilities.will.value}}D</span>
</div>
</div>
<div class="ability-item">
<label for="system.abilities.empathy.value">{{ localize 'ABILITIES.empathy.name' }}</label>
<div class="ability-control">
{{#if isEditMode}}
<input type="range" name="system.abilities.empathy.value" value="{{system.abilities.empathy.value}}" min="{{system.abilities.empathy.min}}" max="{{system.abilities.empathy.max}}" data-dtype="Number"/>
{{/if}}
<span class="ability-value">{{system.abilities.empathy.value}}D</span>
</div>
</div>
</div>
</div>
{{!-- Reserves --}}
<div class="ability-section">
<h4 class="ability-category-header">{{ localize 'VERMINE.reserves' }}</h4>
<div class="grid grid-2col">
<div class="ability-item">
<span>{{ localize 'VERMINE.effort' }} : {{system.attributes.effort.value}}/{{system.attributes.effort.max}}D</span>
</div>
<div class="ability-item">
<span>{{ localize 'VERMINE.self_control' }} : {{system.attributes.self_control.value}}/{{system.attributes.self_control.max}}D</span>
</div>
</div>
</div>
</div>
+110
View File
@@ -0,0 +1,110 @@
<div class="tab combat sheet-part" data-group="sheet" data-tab="combat">
<div class="grid grid-2col">
<div>
<h4 class="align-center">{{ localize "VERMINE.self_control"}}</h4>
<p class="align-center">
{{#if isEditMode}}
<input type="number" name="system.attributes.self_control.value"
value="{{ system.attributes.self_control.value }}" data-dtype="Number"
min="{{ system.attributes.self_control.min }}"
max="{{ system.attributes.self_control.max }}" />
{{/if}}
{{ system.attributes.self_control.value }} / {{
system.attributes.self_control.max }}
</p>
</div>
<div>
<h4 class="align-center">{{ localize "VERMINE.effort"}}</h4>
<p class="align-center">
{{#if isEditMode}}
<input type="number" name="system.attributes.effort.value"
value="{{ system.attributes.effort.value }}" data-dtype="Number"
min="{{ system.attributes.effort.min }}"
max="{{ system.attributes.effort.max }}" />
{{/if}}
{{ system.attributes.effort.value }} / {{
system.attributes.effort.max }}
</p>
</div>
</div>
<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 }})
{{#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}} />
{{/repeat}}</li>
<li class="row mdb">{{ localize 'VERMINE.wounds.heavy'}} ({{
system.majorWound.threshold }})
{{#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}} />
{{/repeat}}
</li>
<li class="row mdb">{{ localize 'VERMINE.wounds.deadly'}} ({{
system.deadlyWound.threshold }})
{{#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}} />
{{/repeat}}
</li>
</ul>
<h4 class="item-name effect-name flexrow">{{ localize "UI.effects.name"}}</h4>
<ol class="items-list effects-list">
{{#each effects as |section sid|}}
<li class="items-header flexrow" data-effect-type="{{section.type}}">
<p class="item-name effect-name flexrow">{{#if (eq section.type
'temporary')}}
{{localize "UI.effects.temporary" }}
{{else if (eq section.type 'passive')}}
{{localize "UI.effects.passive" }}
{{else if (eq section.type 'inactive')}}
{{localize "UI.effects.inactive" }}
{{/if}}
</p>
<div class="effect-source">{{localize 'UI.source'}}</div>
<div class="effect-source">{{localize 'UI.duration'}}</div>
<div class="item-controls effect-controls flexrow">
{{#if @root.isEditMode}}
<a class="effect-control" data-action="create"
title="{{localize 'UI.effect_create'}}">
<i class="fas fa-plus"></i> {{localize "UI.add"}}
</a>
{{/if}}
</div>
</li>
<ol class="item-list">
{{#each section.effects as |effect|}}
<li class="item effect flexrow" data-effect-id="{{effect.id}}">
<div class="item-name effect-name">
<a class="effect-control flexrow flex-group-center items-center"
class="effect-control" data-effect-op="edit" title="{{localize 'UI.effect_edit'}}">
<img class="item-image" src="{{effect.icon}}" />
<span>{{effect.label}}</span>
</a>
</div>
<div class="effect-source">{{effect.sourceName}}</div>
<div class="effect-duration">{{effect.duration.label}}</div>
<div class="item-controls effect-controls flexrow">
{{#if @root.isEditMode}}
<a class="effect-control" data-action="create" class="effect-control" data-effect-op="toggle"
title="{{localize 'UI.effect_toggle'}}">
<i
class="fas {{#if effect.disabled}}fa-check{{else}}fa-times{{/if}}"></i>
</a>
<a class="effect-control" data-action="create" class="effect-control" data-effect-op="delete"
title="{{localize 'UI.effect_delete'}}">
<i class="fas fa-trash"></i>
</a>
{{/if}}
</div>
</li>
{{/each}}
</ol>
{{/each}}
</ol>
</div>
+116
View File
@@ -0,0 +1,116 @@
<div class="tab main sheet-part" data-group="sheet" data-tab="main">
{{!-- Toggle Edit/Play --}}
<div class="sheet-header-toggle">
{{#if isEditMode}}
<button type="button" data-action="toggleSheet">{{localize "VERMINE.playMode"}}</button>
{{else}}
<button type="button" data-action="toggleSheet">{{localize "VERMINE.editMode"}}</button>
{{/if}}
</div>
{{!-- Sheet Header --}}
<header class="sheet-header">
<img class="profile-img" src="{{actor.img}}" data-action="editImage" data-edit="img" title="{{actor.name}}" height="100" width="100"/>
<div class="header-fields">
<h1 class="charname">
{{#if isEditMode}}
<input name="name" type="text" value="{{actor.name}}" placeholder="{{ localize 'NAME' }}"/>
{{else}}
<span>{{actor.name}}</span>
{{/if}}
</h1>
{{!-- Niveaux de Menace, Experience, Role --}}
<div class="resources grid grid-3col">
<div class="resource flex-group-center">
<label for="system.threat.value" class="resource-label">{{ localize 'ADVERSITY.threat' }}</label>
<div class="resource-content">
{{#if isEditMode}}
<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>
{{else}}
<span>{{system.threat.value}}</span>
{{/if}}
</div>
</div>
<div class="resource flex-group-center">
<label for="system.experience.value" class="resource-label">{{ localize 'ADVERSITY.experience' }}</label>
<div class="resource-content">
{{#if isEditMode}}
<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>
{{else}}
<span>{{system.experience.value}}</span>
{{/if}}
</div>
</div>
<div class="resource flex-group-center">
<label for="system.role.value" class="resource-label">{{ localize 'ADVERSITY.role' }}</label>
<div class="resource-content">
{{#if isEditMode}}
<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>
{{else}}
<span>{{system.role.value}}</span>
{{/if}}
</div>
</div>
</div>
{{!-- Totem et Origine --}}
<div class="resources grid grid-2col">
<div class="resource flex-group-center">
<label for="system.identity.totem" class="resource-label">{{ localize 'TOTEM' }}</label>
<div class="resource-content">
{{#if isEditMode}}
<select name="system.identity.totem" id="system.identity.totem" data-dtype="String">
<option value="">{{ localize 'NONE' }}</option>
{{#each ../config.totems}}
<option value="{{@key}}" {{#ife @key ../system.identity.totem}}selected{{/ife}}>
{{localize this}}
</option>
{{/each}}
</select>
{{else}}
<span>{{system.identity.totem}}</span>
{{/if}}
</div>
</div>
<div class="resource flex-group-center">
<label for="system.identity.origin" class="resource-label">{{ localize 'ORIGIN' }}</label>
<div class="resource-content">
{{#if isEditMode}}
<select name="system.identity.origin" id="system.identity.origin" data-dtype="String">
<option value="">{{ localize 'NONE' }}</option>
{{#each ../config.origins}}
<option value="{{@key}}" {{#ife @key ../system.identity.origin}}selected{{/ife}}>
{{this}}
</option>
{{/each}}
</select>
{{else}}
<span>{{system.identity.origin}}</span>
{{/if}}
</div>
</div>
</div>
</div>
</header>
</div>
+22
View File
@@ -0,0 +1,22 @@
<div class="tab notes sheet-part" 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}}
<input type="text" name="system.identity.theme" value="{{system.identity.theme}}" data-dtype="String" placeholder="{{ localize 'THEME' }}"/>
{{else}}
<span>{{system.identity.theme}}</span>
{{/if}}
</div>
</div>
{{editor system.identity.notes target="system.identity.notes" button=true owner=owner editable=editable}}
</div>
+44
View File
@@ -0,0 +1,44 @@
<div class="tab skills sheet-part" data-group="sheet" data-tab="skills">
<h3>{{ localize 'VERMINE.skills' }}</h3>
{{!-- Category Selector --}}
<div class="skill-category-selector">
<label>{{ localize 'VERMINE.preferred_category' }}:</label>
{{#if isEditMode}}
<select name="system.skill_categories.preferred" data-dtype="String">
<option value="">{{ localize 'NONE' }}</option>
{{#each system.skill_categories as |category key|}}
{{#ife key "preferred"}}{{else}}
<option value="{{key}}" {{#ife key ../system.skill_categories.preferred}}selected{{/ife}}>
{{localize category.label}}
</option>
{{/ife}}
{{/each}}
</select>
{{else}}
<span>{{system.skill_categories.preferred}}</span>
{{/if}}
</div>
{{!-- Skills Grid by Category --}}
<div class="skills-container">
{{#each config.skillCategories as |category key|}}
{{#ife key "preferred"}}{{else}}
{{> "systems/vermine2047/templates/actor/parts/npc-skill-category.hbs"
categoryKey=key
categoryLabel=(concat "VERMINE.skill_category." key)
}}
{{/ife}}
{{/each}}
</div>
{{!-- Free Skills text field --}}
<div class="form-group">
<label for="system.freeSkills">{{ localize 'ADVERSITY.skills' }}</label>
{{#if isEditMode}}
<input type="text" name="system.freeSkills" value="{{system.freeSkills}}" data-dtype="String" placeholder="{{ localize 'ADVERSITY.skills_placeholder' }}"/>
{{else}}
<span>{{system.freeSkills}}</span>
{{/if}}
</div>
</div>
+75
View File
@@ -0,0 +1,75 @@
<div class="tab threat sheet-part" data-group="sheet" data-tab="threat">
<h3>{{ localize 'ADVERSITY.threat_details' }}</h3>
<div class="grid grid-3col">
{{!-- Menace --}}
<div class="card npc-card">
<h4 class="align-center"><i class="fas fa-exclamation-triangle"></i> {{ localize 'ADVERSITY.threat' }}</h4>
<ul class="unstyled">
<li>
<strong>{{ localize 'ADVERSITY.attack' }}:</strong>
{{ npcThreatLevel "attack" system.threat.value }}
</li>
<li>
<strong>{{ localize 'ADVERSITY.vigor' }}:</strong>
{{ npcThreatLevel "vigor" system.threat.value }}
</li>
<li>
<strong>{{ localize 'ADVERSITY.wounds' }}:</strong>
{{ npcThreatLevel "minorWound" system.threat.value }} /
{{ npcThreatLevel "majorWound" system.threat.value }} /
{{ npcThreatLevel "deadlyWound" system.threat.value }}
</li>
</ul>
</div>
{{!-- Experience --}}
<div class="card npc-card">
<h4 class="align-center"><i class="fas fa-star"></i> {{ localize 'ADVERSITY.experience' }}</h4>
<ul class="unstyled">
<li>
<strong>{{ localize 'ADVERSITY.action' }}:</strong>
{{ npcExperienceLevel "action" system.experience.value }}D
</li>
<li>
<strong>{{ localize 'ADVERSITY.specialties' }}:</strong>
{{ npcExperienceLevel "specialties" system.experience.value }}
</li>
<li>
<strong>{{ localize 'ADVERSITY.rerolls' }}:</strong>
{{ npcExperienceLevel "rerolls" system.experience.value }}D
</li>
<li>
<strong>{{ localize 'ADVERSITY.contact' }}:</strong>
{{ npcExperienceLevel "contact" system.experience.value }}
</li>
</ul>
</div>
{{!-- Role --}}
<div class="card npc-card">
<h4 class="align-center"><i class="fas fa-users"></i> {{ localize 'ADVERSITY.role' }}</h4>
<ul class="unstyled">
<li>
<strong>{{ localize 'ADVERSITY.reaction' }}:</strong>
{{ npcRoleLevel "reaction" system.role.value }} + {{ npcRoleLevel "reaction_bonus" system.role.value }}
</li>
<li>
<strong>{{ localize 'ADVERSITY.pools' }}:</strong>
{{ npcRoleLevel "pools" system.role.value }}D
</li>
<li>
<strong>{{ localize 'ADVERSITY.gear' }}:</strong>
{{ npcRoleLevel "gear" system.role.value }}
</li>
<li>
<strong>{{ localize 'ADVERSITY.gear_hindrance' }}:</strong>
{{ npcRoleLevel "gear_hindrance" system.role.value }}
</li>
<li>
<strong>{{ localize 'ADVERSITY.protection' }}:</strong>
{{ npcRoleLevel "protection" system.role.value }}
</li>
</ul>
</div>
</div>
</div>
@@ -40,7 +40,7 @@
data-dtype="Number" />
<label>{{ localize 'VERMINE.experience' }}</label>
<input name="system.details.xp.value" type="text"
<input name="system.attributes.xp.value" type="text"
value="{{system.attributes.xp.value}}" data-dtype="Number" />
</div>
</section>
+14 -5
View File
@@ -25,8 +25,12 @@
<div class="totem-dice flexrow flex-group-center">
<div class="human-dice flexrow">
{{#repeat system.adaptation.totems.human.max 1 "humantotem"}}
<div class="hexa" data-totem-name="human"
data-totem-value="{{@humantotem}}">
<div class="hexa{{#ifgteq system.adaptation.totems.human.value @humantotem}} checked{{/ifgteq}}"
data-totem-name="human" data-totem-value="{{@humantotem}}">
{{#if actor.flags.world.editMode}}
<input type="radio" data-dtype="Number"
name="system.adaptation.totems.human.value" value="{{@humantotem}}" />
{{/if}}
{{#ifgteq system.adaptation.totems.human.value @humantotem}}
<div class="human-die"><i class="fas fa-dice-d10"></i></div>
{{/ifgteq}}
@@ -36,11 +40,16 @@
<div class="adapted-dice flexrow">
{{#repeat system.adaptation.totems.adapted.max 1 "adaptedtotem"}}
<div class="hexa" data-totem-name="adapted"
data-totem-value="{{@adaptedtotem}}">
<div class="hexa{{#ifgteq system.adaptation.totems.adapted.value @adaptedtotem}} checked{{/ifgteq}}"
data-totem-name="adapted" data-totem-value="{{@adaptedtotem}}">
{{#if actor.flags.world.editMode}}
<input type="radio" data-dtype="Number"
name="system.adaptation.totems.adapted.value" value="{{@adaptedtotem}}" />
{{/if}}
{{#ifgteq system.adaptation.totems.adapted.value @adaptedtotem}}
<div class="adapted-die"><i class="fas fa-dice-d10"></i></div>
{{/ifgteq}}</div>
{{/ifgteq}}
</div>
{{/repeat}}
</div>
</div>
-26
View File
@@ -1,13 +1,5 @@
<div class="grid grid-2col">
{{!-- Group Identity --}}
<div>
<h4>{{ localize 'IDENTITY.profile' }}</h4>
<div class="flexrow flex-group-center">
<input type="text" name="system.identity.profile" value="{{system.identity.profile}}"
placeholder="Profil du groupe..." style="flex: 1;" />
</div>
</div>
<div>
<h4>{{ localize 'IDENTITY.origin' }}</h4>
@@ -25,24 +17,6 @@
</div>
</div>
<div>
<h4>{{ localize 'VERMINE.level' }}</h4>
<div class="flexrow flex-group-center">
<input type="number" name="system.level.value" value="{{system.level.value}}"
data-dtype="Number" min="{{system.level.min}}" max="{{system.level.max}}" />
<span>/ {{system.level.max}}</span>
</div>
</div>
<div>
<h4>{{ localize 'VERMINE.reputation' }}</h4>
<div class="flexrow flex-group-center">
<input type="number" name="system.reputation.value" value="{{system.reputation.value}}"
data-dtype="Number" min="{{system.reputation.min}}" max="{{system.reputation.max}}" />
<span>/ {{system.reputation.max}}</span>
</div>
</div>
{{!-- Group Notes --}}
<div class="grid-span-2">
<h4>{{ localize 'IDENTITY.notes' }}</h4>