feat: fiche PNJ (profil + niveaux) et passage du véhicule en acteur
Release Creation / build (release) Failing after 1m17s
Release Creation / build (release) Failing after 1m17s
This commit is contained in:
@@ -86,6 +86,47 @@
|
||||
{{/each}}
|
||||
</ol>
|
||||
</div>
|
||||
<div class="vehicles">
|
||||
<h4>{{localize 'ITEMS.vehicles'}}</h4>
|
||||
<ol class="items-list">
|
||||
<li class="item flexrow items-header">
|
||||
<div class="item-name" style="flex:4;">{{ localize 'IDENTITY.name'}}</div>
|
||||
<div class="item-mobility">{{ localize 'VERMINE.mobility'}}</div>
|
||||
<div class="item-rarity">{{ localize 'VERMINE.rarity'}}</div>
|
||||
<div class="item-reliability">{{ localize 'VERMINE.reliability'}}</div>
|
||||
<div class="item-controls">
|
||||
{{#if isEditMode}}
|
||||
<a class="item-control item-create" data-action="createVehicle" title="Create vehicle"><i class="fas fa-plus"></i></a>
|
||||
{{/if}}
|
||||
</div>
|
||||
</li>
|
||||
{{#each vehicles as |vehicle|}}
|
||||
<li class="item flexrow flex-group-center" data-vehicle-id="{{vehicle.id}}">
|
||||
<div class="item-name" style="flex:4;">
|
||||
<div class="item-image">
|
||||
<a class="item-control item-edit" data-action="editVehicle" data-vehicle-id="{{vehicle.id}}"><img
|
||||
src="{{vehicle.img}}" title="{{vehicle.name}}" width="24"
|
||||
height="24" /></a>
|
||||
</div>
|
||||
<a class="item-control item-edit" data-action="editVehicle" data-vehicle-id="{{vehicle.id}}" title="Edit Vehicle">{{vehicle.name}}</a>
|
||||
</div>
|
||||
<div><a class="item-control item-edit" data-action="editVehicle" data-vehicle-id="{{vehicle.id}}" title="Edit Vehicle">{{vehicle.system.mobility}}</a></div>
|
||||
<div><a class="item-control item-edit" data-action="editVehicle" data-vehicle-id="{{vehicle.id}}" title="Edit Vehicle">{{vehicle.system.rarity.value}}</a></div>
|
||||
<div><a class="item-control item-edit" data-action="editVehicle" data-vehicle-id="{{vehicle.id}}" title="Edit Vehicle">{{vehicle.system.reliability}}</a></div>
|
||||
<div class="item-controls">
|
||||
{{#if @root.isEditMode}}
|
||||
<a class="item-control item-delete" data-action="deleteVehicle" data-vehicle-id="{{vehicle.id}}" title="Delete Vehicle"><i
|
||||
class="fas fa-trash"></i></a>
|
||||
{{/if}}
|
||||
</div>
|
||||
</li>
|
||||
{{else}}
|
||||
<li class="item flexrow flex-group-center">
|
||||
<span class="empty">{{ localize 'VERMINE.no_vehicles' }}</span>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ol>
|
||||
</div>
|
||||
<div class="equipment-notes">
|
||||
<h4>{{ localize 'IDENTITY.notes'}}</h4>
|
||||
{{formInput systemFields.equipment.fields.description enriched=enrichedEquipmentNotes value=system.equipment.description name="system.equipment.description" toggled=true}}
|
||||
|
||||
@@ -7,31 +7,34 @@
|
||||
<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>
|
||||
<a class="item-control item-create" data-action="createVehicle" title="Create vehicle"><i class="fas fa-plus"></i></a>
|
||||
{{/if}}
|
||||
</div>
|
||||
</li>
|
||||
{{#each vehicles as |item id|}}
|
||||
<li class="item flexrow flex-group-center" data-item-id="{{item._id}}">
|
||||
{{#each vehicles as |vehicle|}}
|
||||
<li class="item flexrow flex-group-center" data-vehicle-id="{{vehicle.id}}">
|
||||
<div class="item-name" style="flex:4;">
|
||||
<div class="item-image">
|
||||
<a class="item-control item-edit" data-action="edit" data-item-id="{{item._id}}" data-roll-type="item"><img
|
||||
src="{{item.img}}" title="{{item.name}}" width="24"
|
||||
<a class="item-control item-edit" data-action="editVehicle" data-vehicle-id="{{vehicle.id}}"><img
|
||||
src="{{vehicle.img}}" title="{{vehicle.name}}" width="24"
|
||||
height="24" /></a>
|
||||
</div>
|
||||
<a class="item-control item-edit" data-action="edit" data-item-id="{{item._id}}" title="Edit Item">{{item.name}}</a>
|
||||
<a class="item-control item-edit" data-action="editVehicle" data-vehicle-id="{{vehicle.id}}" title="Edit Vehicle">{{vehicle.name}}</a>
|
||||
</div>
|
||||
<div><a class="item-control item-edit" data-action="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><a class="item-control item-edit" data-action="editVehicle" data-vehicle-id="{{vehicle.id}}" title="Edit Vehicle">{{vehicle.system.mobility}}</a></div>
|
||||
<div><a class="item-control item-edit" data-action="editVehicle" data-vehicle-id="{{vehicle.id}}" title="Edit Vehicle">{{vehicle.system.rarity.value}}</a></div>
|
||||
<div><a class="item-control item-edit" data-action="editVehicle" data-vehicle-id="{{vehicle.id}}" title="Edit Vehicle">{{vehicle.system.reliability}}</a></div>
|
||||
<div class="item-controls">
|
||||
{{#if @root.isEditMode}}
|
||||
<a class="item-control item-delete" data-action="delete" data-item-id="{{item._id}}" title="Delete Item"><i
|
||||
<a class="item-control item-delete" data-action="deleteVehicle" data-vehicle-id="{{vehicle.id}}" title="Delete Vehicle"><i
|
||||
class="fas fa-trash"></i></a>
|
||||
{{/if}}
|
||||
</div>
|
||||
</li>
|
||||
{{else}}
|
||||
<li class="item flexrow flex-group-center">
|
||||
<span class="empty">{{ localize 'VERMINE.no_vehicles' }}</span>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
@@ -1,116 +0,0 @@
|
||||
<div class="tab characteristics sheet-part {{#if @root.tabs.characteristics.active}}active{{/if}}" 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" class="resource-label rollable" data-type="ability" data-label="vigor">{{ 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" class="resource-label rollable" data-type="ability" data-label="health">{{ 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" class="resource-label rollable" data-type="ability" data-label="precision">{{ 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" class="resource-label rollable" data-type="ability" data-label="reflexes">{{ 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" class="resource-label rollable" data-type="ability" data-label="knowledge">{{ 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" class="resource-label rollable" data-type="ability" data-label="perception">{{ 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" class="resource-label rollable" data-type="ability" data-label="will">{{ 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" class="resource-label rollable" data-type="ability" data-label="empathy">{{ 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>
|
||||
@@ -1,56 +1,43 @@
|
||||
<div class="tab combat sheet-part {{#if @root.tabs.combat.active}}active{{/if}}" 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>
|
||||
{{> "systems/vermine2047/templates/actor/parts/actor-equipped-gear.hbs"}}
|
||||
<h4 class="item-name effect-name flexrow">{{ localize
|
||||
"VERMINE.wounds.name"}}</h4>
|
||||
<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>
|
||||
<div class="flexrow align-center">
|
||||
{{#repeat system.minorWound.max 1 "minorwoundmax"}}
|
||||
<div class="hexa ability{{#iflteq @minorwoundmax @root.system.minorWound.value }} checked{{/iflteq}}">
|
||||
<input type="radio" data-dtype="Number" name="system.minorWound.value"
|
||||
value="{{@minorwoundmax}}" data-action="clickRadio" data-wound="minorWound"
|
||||
class="{{#iflteq @minorwoundmax @root.system.minorWound.value }}checked{{/iflteq}}"
|
||||
{{#ife @minorwoundmax @root.system.minorWound.value }}checked="checked"{{/ife}} />
|
||||
</div>
|
||||
{{/repeat}}
|
||||
</div>
|
||||
</li>
|
||||
<li class="row mdb">{{ localize 'VERMINE.wounds.heavy'}} ({{
|
||||
system.majorWound.threshold }})
|
||||
{{#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}}
|
||||
<div class="flexrow align-center">
|
||||
{{#repeat system.majorWound.max 1 "majorwoundmax"}}
|
||||
<div class="hexa ability{{#iflteq @majorwoundmax @root.system.majorWound.value }} checked{{/iflteq}}">
|
||||
<input type="radio" name="system.majorWound.value" value="{{@majorwoundmax}}" data-action="clickRadio" data-wound="majorWound"
|
||||
class="{{#iflteq @majorwoundmax @root.system.majorWound.value }}checked{{/iflteq}}"
|
||||
{{#ife @majorwoundmax @root.system.majorWound.value }}checked="checked"{{/ife}} />
|
||||
</div>
|
||||
{{/repeat}}
|
||||
</div>
|
||||
</li>
|
||||
<li class="row mdb">{{ localize 'VERMINE.wounds.deadly'}} ({{
|
||||
system.deadlyWound.threshold }})
|
||||
{{#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}}
|
||||
<div class="flexrow align-center">
|
||||
{{#repeat system.deadlyWound.max 1 "deadlywoundmax"}}
|
||||
<div class="hexa ability{{#iflteq @deadlywoundmax @root.system.deadlyWound.value }} checked{{/iflteq}}">
|
||||
<input type="radio" name="system.deadlyWound.value" value="{{@deadlywoundmax}}" data-action="clickRadio" data-wound="deadlyWound"
|
||||
class="{{#iflteq @deadlywoundmax @root.system.deadlyWound.value }}checked{{/iflteq}}"
|
||||
{{#ife @deadlywoundmax @root.system.deadlyWound.value }}checked="checked"{{/ife}} />
|
||||
</div>
|
||||
{{/repeat}}
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<h4 class="item-name effect-name flexrow">{{ localize "UI.effects.name"}}</h4>
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
{{/if}}
|
||||
</h1>
|
||||
|
||||
{{!-- Niveaux de Menace, Experience, Role --}}
|
||||
{{!-- Critères : Menace, Expérience, Rôle --}}
|
||||
<div class="resources grid grid-3col">
|
||||
<div class="resource flex-group-center">
|
||||
<label for="system.threat.value" class="resource-label">{{ localize 'ADVERSITY.threat' }}</label>
|
||||
@@ -29,12 +29,12 @@
|
||||
<select name="system.threat.value" id="system.threat.value" data-dtype="Number">
|
||||
{{#each npcThreatOptions}}
|
||||
<option value="{{@key}}" {{#ife @key @root.system.threat.value}}selected{{/ife}}>
|
||||
{{localize label}} ({{@key}})
|
||||
{{localize label}}
|
||||
</option>
|
||||
{{/each}}
|
||||
</select>
|
||||
{{else}}
|
||||
<span>{{system.threat.value}}</span>
|
||||
<span>{{ system.threat.value }}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
@@ -46,12 +46,12 @@
|
||||
<select name="system.experience.value" id="system.experience.value" data-dtype="Number">
|
||||
{{#each npcExperienceOptions}}
|
||||
<option value="{{@key}}" {{#ife @key @root.system.experience.value}}selected{{/ife}}>
|
||||
{{localize label}} ({{@key}})
|
||||
{{localize label}}
|
||||
</option>
|
||||
{{/each}}
|
||||
</select>
|
||||
{{else}}
|
||||
<span>{{system.experience.value}}</span>
|
||||
<span>{{ system.experience.value }}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
@@ -63,19 +63,39 @@
|
||||
<select name="system.role.value" id="system.role.value" data-dtype="Number">
|
||||
{{#each npcRoleOptions}}
|
||||
<option value="{{@key}}" {{#ife @key @root.system.role.value}}selected{{/ife}}>
|
||||
{{localize label}} ({{@key}})
|
||||
{{localize label}}
|
||||
</option>
|
||||
{{/each}}
|
||||
</select>
|
||||
{{else}}
|
||||
<span>{{system.role.value}}</span>
|
||||
<span>{{ system.role.value }}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{!-- Totem et Origine --}}
|
||||
<div class="resources grid grid-2col">
|
||||
{{!-- Profil : âge, activité, totem, origine --}}
|
||||
<div class="resources grid grid-4col npc-profile-grid">
|
||||
<div class="resource flex-group-center">
|
||||
<label for="system.identity.age" class="resource-label">{{ localize 'IDENTITY.age' }}</label>
|
||||
<div class="resource-content">
|
||||
{{#if isEditMode}}
|
||||
<input type="text" name="system.identity.age" id="system.identity.age" value="{{system.identity.age}}" data-dtype="String"/>
|
||||
{{else}}
|
||||
<span>{{system.identity.age}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="resource flex-group-center">
|
||||
<label for="system.identity.profile" class="resource-label">{{ localize 'IDENTITY.profile' }}</label>
|
||||
<div class="resource-content">
|
||||
{{#if isEditMode}}
|
||||
<input type="text" name="system.identity.profile" id="system.identity.profile" value="{{system.identity.profile}}" data-dtype="String" placeholder="{{ localize 'PROFILE' }}"/>
|
||||
{{else}}
|
||||
<span>{{system.identity.profile}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="resource flex-group-center">
|
||||
<label for="system.identity.totem" class="resource-label">{{ localize 'TOTEM' }}</label>
|
||||
<div class="resource-content">
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
<div class="tab skills sheet-part {{#if @root.tabs.skills.active}}active{{/if}}" 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)
|
||||
skills=@root.system.skills
|
||||
}}
|
||||
{{/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>
|
||||
@@ -1,75 +0,0 @@
|
||||
<div class="tab threat sheet-part {{#if @root.tabs.threat.active}}active{{/if}}" 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>
|
||||
@@ -0,0 +1,86 @@
|
||||
<div class="tab traits sheet-part {{#if @root.tabs.traits.active}}active{{/if}}" data-group="sheet" data-tab="traits">
|
||||
<h3>{{ localize 'VERMINE.traits' }}</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 npc-trait-list">
|
||||
<li>
|
||||
<strong>{{ localize 'ADVERSITY.attack' }}:</strong>
|
||||
<span class="trait-value">{{ system.computed.attack }}D</span>
|
||||
<a class="rollable npc-roll-btn" data-type="attack" title="{{ localize 'VERMINE.roll' }}"><i class="fas fa-dice-d10"></i></a>
|
||||
</li>
|
||||
<li>
|
||||
<strong>{{ localize 'ADVERSITY.vigor' }}:</strong>
|
||||
<span class="trait-value">{{ system.computed.vigor }}D</span>
|
||||
</li>
|
||||
<li class="npc-wounds">
|
||||
<strong>{{ localize 'ADVERSITY.wounds' }}:</strong>
|
||||
<span class="wound-cat"><span class="wound-boxes">{{#repeat system.minorWound.max}}<i class="fas fa-circle"></i>{{/repeat}}</span> {{ system.minorWound.threshold }}</span>
|
||||
<span class="wound-cat"><span class="wound-boxes">{{#repeat system.majorWound.max}}<i class="fas fa-circle"></i>{{/repeat}}</span> {{ system.majorWound.threshold }}</span>
|
||||
<span class="wound-cat"><span class="wound-boxes">{{#repeat system.deadlyWound.max}}<i class="fas fa-circle"></i>{{/repeat}}</span> {{ system.deadlyWound.threshold }}</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{{!-- Expérience --}}
|
||||
<div class="card npc-card">
|
||||
<h4 class="align-center"><i class="fas fa-star"></i> {{ localize 'ADVERSITY.experience' }}</h4>
|
||||
<ul class="unstyled npc-trait-list">
|
||||
<li>
|
||||
<strong>{{ localize 'ADVERSITY.action' }}:</strong>
|
||||
<span class="trait-value">{{ system.computed.action }}D</span>
|
||||
<a class="rollable npc-roll-btn" data-type="action" title="{{ localize 'VERMINE.roll' }}"><i class="fas fa-dice-d10"></i></a>
|
||||
</li>
|
||||
<li>
|
||||
<strong>{{ localize 'ADVERSITY.specialties' }}:</strong>
|
||||
<span class="trait-value">{{ system.computed.specialties }}D</span>
|
||||
<a class="rollable npc-roll-btn" data-type="specialty" title="{{ localize 'VERMINE.roll' }}"><i class="fas fa-dice-d10"></i></a>
|
||||
</li>
|
||||
<li>
|
||||
<strong>{{ localize 'ADVERSITY.rerolls' }}:</strong>
|
||||
<span class="trait-value">{{ system.computed.rerolls }}D</span>
|
||||
</li>
|
||||
<li>
|
||||
<strong>{{ localize 'ADVERSITY.contact' }}:</strong>
|
||||
<span class="trait-value">{{ system.computed.contact }}</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{{!-- Rôle --}}
|
||||
<div class="card npc-card">
|
||||
<h4 class="align-center"><i class="fas fa-users"></i> {{ localize 'ADVERSITY.role' }}</h4>
|
||||
<ul class="unstyled npc-trait-list">
|
||||
<li>
|
||||
<strong>{{ localize 'ADVERSITY.reaction' }}:</strong>
|
||||
<span class="trait-value">{{ system.computed.reaction }}D{{#if system.computed.reactionBonus}} +{{ system.computed.reactionBonus }}{{/if}}</span>
|
||||
<a class="rollable npc-roll-btn" data-type="reaction" title="{{ localize 'VERMINE.roll' }}"><i class="fas fa-dice-d10"></i></a>
|
||||
</li>
|
||||
<li>
|
||||
<strong>{{ localize 'ADVERSITY.pools' }}:</strong>
|
||||
<span class="trait-value">{{ system.computed.pools }}D</span>
|
||||
</li>
|
||||
<li>
|
||||
<strong>{{ localize 'ADVERSITY.gear' }}:</strong>
|
||||
<span class="trait-value">{{ system.computed.gear }}{{#if system.computed.gearHindrance}} ({{ system.computed.gearHindrance }}){{/if}}</span>
|
||||
</li>
|
||||
<li>
|
||||
<strong>{{ localize 'ADVERSITY.protection' }}:</strong>
|
||||
<span class="trait-value">{{ system.computed.protection }}</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{!-- Spécialités (description libre) --}}
|
||||
<div class="form-group npc-free-skills">
|
||||
<label for="system.freeSkills">{{ localize 'ADVERSITY.skills' }}</label>
|
||||
{{#if isEditMode}}
|
||||
<input type="text" name="system.freeSkills" id="system.freeSkills" value="{{system.freeSkills}}" data-dtype="String" placeholder="{{ localize 'ADVERSITY.skills_placeholder' }}"/>
|
||||
{{else}}
|
||||
<span>{{system.freeSkills}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,94 @@
|
||||
<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="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 'VERMINE.vehicle' }}" />
|
||||
{{else}}
|
||||
<span>{{actor.name}}</span>
|
||||
{{/if}}
|
||||
</h1>
|
||||
<div class="resource flex-group-center grid-span-1">
|
||||
<label for="system.kind" class="resource-label">{{ localize 'VERMINE.kind' }}</label>
|
||||
<div class="resource-content">
|
||||
{{#if isEditMode}}
|
||||
<select name="system.kind" id="system.kind" data-dtype="String">
|
||||
<option value="vehicle" {{#ife system.kind "vehicle"}}selected{{/ife}}>{{ localize "VERMINE.kind_vehicle" }}</option>
|
||||
<option value="mount" {{#ife system.kind "mount"}}selected{{/ife}}>{{ localize "VERMINE.kind_mount" }}</option>
|
||||
</select>
|
||||
{{else}}
|
||||
<span>{{#ife system.kind "mount"}}{{ localize "VERMINE.kind_mount" }}{{else}}{{ localize "VERMINE.kind_vehicle" }}{{/ife}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="resource flex-group-center grid-span-1">
|
||||
<label for="system.reliability" class="resource-label">{{ localize 'VERMINE.reliability' }}</label>
|
||||
<div class="resource-content">
|
||||
{{#if isEditMode}}
|
||||
<input type="number" name="system.reliability" id="system.reliability" value="{{system.reliability}}"
|
||||
data-dtype="Number" min="1" max="10" />
|
||||
{{else}}
|
||||
<span>{{system.reliability}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="resources grid grid-4col">
|
||||
<div class="resource flex-group-center grid-span-1">
|
||||
<label for="system.rarity.value" class="resource-label">{{ localize 'VERMINE.rarity' }}</label>
|
||||
<div class="resource-content">
|
||||
{{#if isEditMode}}
|
||||
<input type="number" name="system.rarity.value" id="system.rarity.value" value="{{system.rarity.value}}"
|
||||
data-dtype="Number" min="1" max="10" />
|
||||
{{else}}
|
||||
<span>{{system.rarity.value}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="resource flex-group-center grid-span-1">
|
||||
<label for="system.mobility" class="resource-label">{{ localize 'VERMINE.mobility' }}</label>
|
||||
<div class="resource-content">
|
||||
{{#if isEditMode}}
|
||||
<input type="number" name="system.mobility" id="system.mobility" value="{{system.mobility}}"
|
||||
data-dtype="Number" min="0" />
|
||||
{{else}}
|
||||
<span>{{system.mobility}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="resource flex-group-center grid-span-2">
|
||||
<label for="system.distance" class="resource-label">{{ localize 'VERMINE.distance' }}</label>
|
||||
<div class="resource-content">
|
||||
{{#if isEditMode}}
|
||||
<input type="number" name="system.distance" id="system.distance" value="{{system.distance}}"
|
||||
data-dtype="Number" min="0" />
|
||||
{{else}}
|
||||
<span>{{system.distance}}</span>
|
||||
{{/if}}
|
||||
<span> km</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
{{#if resolvedOwner}}
|
||||
<div class="vehicle-owner">
|
||||
<span class="label">{{ localize 'VERMINE.owner' }}:</span>
|
||||
<span class="value">{{ resolvedOwner.name }}</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
@@ -0,0 +1,83 @@
|
||||
<div class="tab specs sheet-part {{#if @root.tabs.specs.active}}active{{/if}}" data-group="sheet" data-tab="specs">
|
||||
<section class="vehicle-section">
|
||||
<h3>{{ localize 'VERMINE.vehicle_specs' }}</h3>
|
||||
<div class="grid grid-2col">
|
||||
<div class="resource align-center flexcol">
|
||||
<label class="resource-label">{{ localize 'VERMINE.distance' }}</label>
|
||||
<div class="flexrow align-center">
|
||||
<div class="hexa"><input type="number" name="system.distance" value="{{system.distance}}" data-dtype="Number" /></div>
|
||||
<span class="unit">km</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="resource align-center flexcol">
|
||||
<label class="resource-label">{{ localize 'VERMINE.speed' }}</label>
|
||||
<div class="flexrow align-center">
|
||||
<div class="hexa"><input type="number" name="system.speed.cruise" value="{{system.speed.cruise}}" data-dtype="Number" /></div>
|
||||
<span>/</span>
|
||||
<div class="hexa"><input type="number" name="system.speed.top" value="{{system.speed.top}}" data-dtype="Number" /></div>
|
||||
</div>
|
||||
<input type="text" name="system.speed.topDuration" value="{{system.speed.topDuration}}"
|
||||
placeholder="{{ localize 'VERMINE.speed_duration_ph' }}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="grid grid-2col">
|
||||
<div class="resource align-center flexcol">
|
||||
<label class="resource-label">{{ localize 'VERMINE.effort_reserve' }}</label>
|
||||
<div class="flexrow align-center">
|
||||
<div class="hexa"><input type="number" name="system.effortReserve.value" value="{{system.effortReserve.value}}" data-dtype="Number" /></div>
|
||||
<span>/</span>
|
||||
<div class="hexa"><input type="number" name="system.effortReserve.max" value="{{system.effortReserve.max}}" data-dtype="Number" /></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="resource align-center flexcol">
|
||||
<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>
|
||||
<div class="maintenance">
|
||||
<label class="resource-label">{{ localize 'VERMINE.maintenance' }}</label>
|
||||
<div class="flexrow flex-wrap">
|
||||
{{#each maintenanceSkills}}
|
||||
<label class="flexrow align-center">
|
||||
<input type="checkbox" name="system.maintenance" value="{{ this.key }}" {{#if this.checked}}checked{{/if}} />
|
||||
<span>{{ this.label }}</span>
|
||||
</label>
|
||||
{{/each}}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="vehicle-section">
|
||||
<h3>{{ localize 'IDENTITY.profile' }}</h3>
|
||||
<div class="grid grid-2col">
|
||||
<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" />
|
||||
{{else}}
|
||||
<span>{{system.identity.profile}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="system.identity.origin">{{ localize 'IDENTITY.origin' }}</label>
|
||||
{{#if isEditMode}}
|
||||
<input type="text" name="system.identity.origin" value="{{system.identity.origin}}" data-dtype="String" />
|
||||
{{else}}
|
||||
<span>{{system.identity.origin}}</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" />
|
||||
{{else}}
|
||||
<span>{{system.identity.theme}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="system.identity.notes">{{ localize 'IDENTITY.notes' }}</label>
|
||||
{{formInput systemFields.identity.fields.notes enriched=enrichedNotes value=system.identity.notes name="system.identity.notes" toggled=true}}
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
@@ -5,27 +5,34 @@
|
||||
<div class="item-rarity">{{ localize 'VERMINE.rarity'}}</div>
|
||||
<div class="item-reliability">{{ localize 'VERMINE.reliability'}}</div>
|
||||
<div class="item-controls">
|
||||
<a class="item-control item-create" title="Create item"
|
||||
data-type="vehicle" data-action="create"><i class="fas fa-plus"></i></a>
|
||||
{{#if @root.isEditMode}}
|
||||
<a class="item-control item-create" data-action="createVehicle" title="Create vehicle"><i class="fas fa-plus"></i></a>
|
||||
{{/if}}
|
||||
</div>
|
||||
</li>
|
||||
{{#each vehicles as |item id|}}
|
||||
<li class="item flexrow flex-group-center" data-item-id="{{item._id}}">
|
||||
{{#each vehicles as |vehicle|}}
|
||||
<li class="item flexrow flex-group-center" data-vehicle-id="{{vehicle.id}}">
|
||||
<div class="item-name" style="flex:4;">
|
||||
<div class="item-image">
|
||||
<a data-action="edit"><img
|
||||
src="{{item.img}}" title="{{item.name}}" width="24"
|
||||
<a class="item-control item-edit" data-action="editVehicle" data-vehicle-id="{{vehicle.id}}"><img
|
||||
src="{{vehicle.img}}" title="{{vehicle.name}}" width="24"
|
||||
height="24" /></a>
|
||||
</div>
|
||||
<a data-action="edit" title="Edit Item">{{item.name}}</a>
|
||||
<a class="item-control item-edit" data-action="editVehicle" data-vehicle-id="{{vehicle.id}}" title="Edit Vehicle">{{vehicle.name}}</a>
|
||||
</div>
|
||||
<div><a data-action="edit" title="Edit Item">{{item.system.mobility}}</a></div>
|
||||
<div><a data-action="edit" title="Edit Item">{{item.system.rarity.value}}</a></div>
|
||||
<div><a data-action="edit" title="Edit Item">{{item.system.reliability}}</a></div>
|
||||
<div><a class="item-control item-edit" data-action="editVehicle" data-vehicle-id="{{vehicle.id}}" title="Edit Vehicle">{{vehicle.system.mobility}}</a></div>
|
||||
<div><a class="item-control item-edit" data-action="editVehicle" data-vehicle-id="{{vehicle.id}}" title="Edit Vehicle">{{vehicle.system.rarity.value}}</a></div>
|
||||
<div><a class="item-control item-edit" data-action="editVehicle" data-vehicle-id="{{vehicle.id}}" title="Edit Vehicle">{{vehicle.system.reliability}}</a></div>
|
||||
<div class="item-controls">
|
||||
<a data-action="delete" title="Delete Item"><i
|
||||
{{#if @root.isEditMode}}
|
||||
<a class="item-control item-delete" data-action="deleteVehicle" data-vehicle-id="{{vehicle.id}}" title="Delete Vehicle"><i
|
||||
class="fas fa-trash"></i></a>
|
||||
{{/if}}
|
||||
</div>
|
||||
</li>
|
||||
{{else}}
|
||||
<li class="item flexrow flex-group-center">
|
||||
<span class="empty">{{ localize 'VERMINE.no_vehicles' }}</span>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ol>
|
||||
</ol>
|
||||
|
||||
@@ -0,0 +1,105 @@
|
||||
<div class="roll-dialog-content">
|
||||
<!-- HIDDEN DATA -->
|
||||
<input type="hidden" name="speakerId" value="{{ speakerId }}" />
|
||||
|
||||
<h4 class="npc-roll-label">{{ rollLabel }}</h4>
|
||||
|
||||
<div class="npc-roll-pool">
|
||||
<span class="label">{{localize 'VERMINE.dice_pool'}}:</span>
|
||||
<span class="pool-value">{{ pool }}D</span>
|
||||
{{#if freeSuccesses}}
|
||||
<span class="free-successes-badge"><i class="fas fa-star"></i> +{{ freeSuccesses }} {{localize 'VERMINE.auto_successes'}}</span>
|
||||
{{/if}}
|
||||
{{#if rerolls}}
|
||||
<span class="rerolls-badge">{{localize 'ADVERSITY.rerolls'}}: {{ rerolls }}D</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
<div class="dice-pool">
|
||||
|
||||
<!-- DIFFICULTY -->
|
||||
<div class="flexcol difficulty-section">
|
||||
<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"
|
||||
{{#if lockedDifficulty}}disabled{{/if}}
|
||||
>
|
||||
{{#each difficultyOptions}}
|
||||
<option value="{{ this.difficulty }}" {{#ife @root.defaultDifficulty this.difficulty}}selected{{/ife}}>
|
||||
{{ this.label }} ({{ this.difficulty }})
|
||||
</option>
|
||||
{{/each}}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<!-- HANDICAP -->
|
||||
<div class="flexcol handicap-section">
|
||||
<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>
|
||||
|
||||
<!-- BONUSES -->
|
||||
<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">
|
||||
|
||||
<div class="flexrow bonus-item">
|
||||
<input type="checkbox" data-roll="true" name="helped" id="helped" value="1" />
|
||||
<label class="label" for="helped">{{localize 'VERMINE.help'}} (+1D)</label>
|
||||
</div>
|
||||
|
||||
<div class="flexrow bonus-item">
|
||||
<label class="label" for="group">{{localize 'VERMINE.group'}}</label>
|
||||
<input type="number" data-roll="true" class="numeric-entry" style="text-align: center;"
|
||||
name="group" id="group" min="0" max="5" value="0" />
|
||||
<span>D</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</details>
|
||||
|
||||
<!-- TOTAL -->
|
||||
<div class="flexrow total-section">
|
||||
<label class="label">{{localize 'VERMINE.total'}}:</label>
|
||||
<span id="dice-pool-total" class="total-value">0D</span>
|
||||
{{#if freeSuccesses}}
|
||||
<span class="totem-selector">
|
||||
(+<span id="free-successes">{{ freeSuccesses }}</span> {{localize 'VERMINE.auto_successes'}})
|
||||
</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<footer class="sheet-footer flexrow">
|
||||
<button type="button" data-action="cancel">
|
||||
<i class="fas fa-times"></i> {{localize "VERMINE.cancel"}}
|
||||
</button>
|
||||
<button type="button" data-action="roll">
|
||||
<i class="fas fa-dice-d10"></i> {{localize "VERMINE.roll"}}
|
||||
</button>
|
||||
</footer>
|
||||
</div>
|
||||
@@ -1,83 +0,0 @@
|
||||
<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 (lookup ../config.traits key) "name")}}</strong>:
|
||||
{{localize (lookup (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>
|
||||
@@ -1,64 +0,0 @@
|
||||
<div class="{{cssClass}}">
|
||||
{{> "systems/vermine2047/templates/item/partials/header.hbs"}}
|
||||
|
||||
<section class="sheet-body">
|
||||
{{> "systems/vermine2047/templates/item/partials/traits.hbs"}}
|
||||
|
||||
<section class="vehicle-fields">
|
||||
<h3>{{ localize "VERMINE.vehicle_specs" }}</h3>
|
||||
|
||||
<div class="flexrow">
|
||||
<div class="resource align-center flexcol">
|
||||
<label class="resource-label">{{ localize "VERMINE.kind" }}</label>
|
||||
<select name="system.kind" data-dtype="String">
|
||||
<option value="vehicle" {{#ife system.kind "vehicle"}}selected{{/ife}}>{{ localize "VERMINE.kind_vehicle" }}</option>
|
||||
<option value="mount" {{#ife system.kind "mount"}}selected{{/ife}}>{{ localize "VERMINE.kind_mount" }}</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="resource align-center flexcol">
|
||||
<label class="resource-label">{{ localize "VERMINE.distance" }}</label>
|
||||
<div class="hexa"><input type="number" name="system.distance" value="{{system.distance}}" data-dtype="Number" /></div>
|
||||
<span class="unit">km</span>
|
||||
</div>
|
||||
<div class="resource align-center flexcol">
|
||||
<label class="resource-label">{{ localize "VERMINE.speed" }}</label>
|
||||
<div class="flexrow align-center">
|
||||
<input type="number" name="system.speed.cruise" value="{{system.speed.cruise}}" data-dtype="Number" />
|
||||
<span>/</span>
|
||||
<input type="number" name="system.speed.top" value="{{system.speed.top}}" data-dtype="Number" />
|
||||
</div>
|
||||
<input type="text" name="system.speed.topDuration" value="{{system.speed.topDuration}}" placeholder="{{ localize 'VERMINE.speed_duration_ph' }}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flexrow">
|
||||
<div class="resource align-center flexcol">
|
||||
<label class="resource-label">{{ localize "VERMINE.effort_reserve" }}</label>
|
||||
<div class="flexrow align-center">
|
||||
<div class="hexa"><input type="number" name="system.effortReserve.value" value="{{system.effortReserve.value}}" data-dtype="Number" /></div>
|
||||
<span>/</span>
|
||||
<div class="hexa"><input type="number" name="system.effortReserve.max" value="{{system.effortReserve.max}}" data-dtype="Number" /></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="resource align-center flexcol">
|
||||
<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>
|
||||
|
||||
<div class="maintenance">
|
||||
<label class="resource-label">{{ localize "VERMINE.maintenance" }}</label>
|
||||
<div class="flexrow flex-wrap">
|
||||
{{#each maintenanceSkills}}
|
||||
<label class="flexrow align-center">
|
||||
<input type="checkbox" name="system.maintenance" value="{{ this.key }}" {{#if this.checked}}checked{{/if}} />
|
||||
<span>{{ this.label }}</span>
|
||||
</label>
|
||||
{{/each}}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{{> "systems/vermine2047/templates/item/partials/physicalItems.hbs"}}
|
||||
</section>
|
||||
</div>
|
||||
@@ -1,4 +1,4 @@
|
||||
<div class="vermine-roll-message">
|
||||
<div class="vermine-roll-message" data-free-successes="{{verdict.bonusSuccesses}}">
|
||||
{{!-- Verdict --}}
|
||||
<div class="roll-verdict {{#if verdict.success}}success{{else}}failure{{/if}}">
|
||||
{{#if verdict.success}}
|
||||
@@ -75,6 +75,12 @@
|
||||
<span class="context-value">+{{param.handicap}}</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{#if verdict.bonusSuccesses}}
|
||||
<div class="context-item">
|
||||
<span class="context-label">{{localize "VERMINE.auto_successes"}}</span>
|
||||
<span class="context-value">+{{verdict.bonusSuccesses}}</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{#if param.specialtyName}}
|
||||
<div class="context-item">
|
||||
<span class="context-label">{{localize "VERMINE.specialty"}}</span>
|
||||
@@ -208,7 +214,7 @@
|
||||
<div class="roll-total flexrow">
|
||||
<div class="flexcol">
|
||||
<h4>{{localize "VERMINE.success_count"}}:</h4>
|
||||
<span id="total">{{roll._total}}</span>
|
||||
<span id="total">{{verdict.total}}</span>
|
||||
</div>
|
||||
<div class="flexcol">
|
||||
<h4>{{localize "VERMINE.success_required"}}:</h4>
|
||||
|
||||
Reference in New Issue
Block a user