feat: équipement, échanges de coups et améliorations des fiches
- équipement des armes et protections (champ equipped, liste des équipés, toggle) - échanges de coups automatisés (attaque/défense/résolution/blessures dans le chat) - dialogue d'attaque par type (personnage/PNJ/créature), portées et difficultés - conservation du scroll des fiches lors des modifs (option scrollable + classe active) - verrouillage des compétences PNJ en mode jeu - corrections review combat (défenseur, difficulté >10, multi-cibles, permissions)
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
<div class="tab abilities sheet-part" data-group="sheet" data-tab="abilities">
|
||||
<div class="tab abilities sheet-part {{#if @root.tabs.abilities.active}}active{{/if}}" data-group="sheet" data-tab="abilities">
|
||||
{{!-- Character --}}
|
||||
<h3>{{ localize 'VERMINE.abilities' }}</h3>
|
||||
<div class="grid grid-4col">
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<div class="tab combat sheet-part" data-group="sheet" data-tab="combat">
|
||||
<div class="tab combat sheet-part {{#if @root.tabs.combat.active}}active{{/if}}" data-group="sheet" data-tab="combat">
|
||||
<div class="align-center">
|
||||
<div class="shadow">
|
||||
<h4>situation de combat par défaut</h4>
|
||||
@@ -20,6 +20,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{> "systems/vermine2047/templates/actor/parts/actor-equipped-gear.hbs"}}
|
||||
<div class="flexrow">
|
||||
<div class="self-control-container flexcol align-center">
|
||||
<h4 class="align-center">
|
||||
@@ -42,7 +43,6 @@
|
||||
unavailable
|
||||
{{/ifgt}}">
|
||||
{{#iflteq @row @root.system.attributes.self_control.max }}
|
||||
{{#if @root.isEditMode}}
|
||||
<input
|
||||
type="radio"
|
||||
data-dtype="Number"
|
||||
@@ -56,7 +56,6 @@
|
||||
|
||||
"
|
||||
/>
|
||||
{{/if}}
|
||||
{{/iflteq}}
|
||||
|
||||
</div>
|
||||
@@ -88,7 +87,6 @@
|
||||
unavailable
|
||||
{{/ifgt}}">
|
||||
{{#iflteq @row @root.system.attributes.effort.max }}
|
||||
{{#if @root.isEditMode}}
|
||||
<input
|
||||
type="radio"
|
||||
data-dtype="Number"
|
||||
@@ -102,7 +100,6 @@
|
||||
|
||||
"
|
||||
/>
|
||||
{{/if}}
|
||||
{{/iflteq}}
|
||||
|
||||
</div>
|
||||
@@ -124,7 +121,6 @@
|
||||
<div class="hexa ability{{#iflteq @minorwoundmax @root.system.minorWound.value }}
|
||||
checked
|
||||
{{/iflteq}}">
|
||||
{{#if @root.isEditMode}}
|
||||
<input
|
||||
type="radio"
|
||||
data-dtype="Number"
|
||||
@@ -141,7 +137,6 @@
|
||||
checked="true"
|
||||
{{/ife}}
|
||||
/>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/repeat}}
|
||||
</div>
|
||||
@@ -155,7 +150,6 @@
|
||||
<div class="hexa ability{{#iflteq @majourwoundmax @root.system.majorWound.value }}
|
||||
checked
|
||||
{{/iflteq}}">
|
||||
{{#if @root.isEditMode}}
|
||||
<input
|
||||
type="radio"
|
||||
data-dtype="Number"
|
||||
@@ -173,7 +167,6 @@
|
||||
checked="true"
|
||||
{{/ife}}
|
||||
/>
|
||||
{{/if}}
|
||||
|
||||
</div>
|
||||
{{/repeat}}
|
||||
@@ -189,7 +182,6 @@
|
||||
<div class="hexa ability{{#iflteq @deadlywoundmax @root.system.deadlyWound.value }}
|
||||
checked
|
||||
{{/iflteq}}">
|
||||
{{#if @root.isEditMode}}
|
||||
<input
|
||||
type="radio"
|
||||
data-dtype="Number"
|
||||
@@ -206,7 +198,6 @@
|
||||
checked="true"
|
||||
{{/ife}}
|
||||
/>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/repeat}}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<div class="tab equipment sheet-part" data-group="sheet" data-tab="equipment">
|
||||
<div class="tab equipment sheet-part {{#if @root.tabs.equipment.active}}active{{/if}}" data-group="sheet" data-tab="equipment">
|
||||
<div class="weapons">
|
||||
<h4>{{localize 'ITEMS.weapons'}}</h4>
|
||||
{{> "systems/vermine2047/templates/actor/parts/actor-weapons.hbs"}}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<div class="tab stories sheet-part" data-group="sheet" data-tab="stories">
|
||||
<div class="tab stories sheet-part {{#if @root.tabs.stories.active}}active{{/if}}" data-group="sheet" data-tab="stories">
|
||||
<section class="flexrow flex-group-left flex-align-left gap-md">
|
||||
<div>
|
||||
<h4>{{ localize 'IDENTITY.theme'}}</h4>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<div class="tab totem sheet-part" data-group="sheet" data-tab="totem">
|
||||
<div class="tab totem sheet-part {{#if @root.tabs.totem.active}}active{{/if}}" data-group="sheet" data-tab="totem">
|
||||
{{#if system.identity.totem}}
|
||||
<div class="totem-details">
|
||||
<img
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<div class="tab combat sheet-part" data-group="sheet" data-tab="combat">
|
||||
<div class="tab combat sheet-part {{#if @root.tabs.combat.active}}active{{/if}}" data-group="sheet" data-tab="combat">
|
||||
<div class="grid grid-2col">
|
||||
{{!-- Computed Values --}}
|
||||
<div>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<div class="tab effects sheet-part" data-group="sheet" data-tab="effects">
|
||||
<div class="tab effects sheet-part {{#if @root.tabs.effects.active}}active{{/if}}" 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|}}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<div class="tab info sheet-part" data-group="sheet" data-tab="info">
|
||||
<div class="tab info sheet-part {{#if @root.tabs.info.active}}active{{/if}}" data-group="sheet" data-tab="info">
|
||||
<div class="grid grid-2col">
|
||||
<div>
|
||||
<h4>{{ localize 'IDENTITY.profile' }}</h4>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<div class="tab stats sheet-part" data-group="sheet" data-tab="stats">
|
||||
<div class="tab stats sheet-part {{#if @root.tabs.stats.active}}active{{/if}}" data-group="sheet" data-tab="stats">
|
||||
<h3>{{ localize 'VERMINE.base_values' }}</h3>
|
||||
|
||||
{{!-- Total attaque (lancable) --}}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<div class="tab gear sheet-part" data-group="sheet" data-tab="gear">
|
||||
<div class="tab gear sheet-part {{#if @root.tabs.gear.active}}active{{/if}}" data-group="sheet" data-tab="gear">
|
||||
<div class="grid grid-2col">
|
||||
<div>
|
||||
<ol class="items-list">
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<div class="tab info sheet-part" data-group="sheet" data-tab="info">
|
||||
<div class="tab info sheet-part {{#if @root.tabs.info.active}}active{{/if}}" data-group="sheet" data-tab="info">
|
||||
<div class="grid grid-2col">
|
||||
{{!-- Group Identity --}}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<div class="tab reserve sheet-part" data-group="sheet" data-tab="reserve">
|
||||
<div class="tab reserve sheet-part {{#if @root.tabs.reserve.active}}active{{/if}}" data-group="sheet" data-tab="reserve">
|
||||
<div class="grid grid-2col">
|
||||
{{!-- Group Reserve and Morale --}}
|
||||
<div class="grid-span-2">
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<div class="tab road sheet-part" data-group="sheet" data-tab="road">
|
||||
<div class="tab road sheet-part {{#if @root.tabs.road.active}}active{{/if}}" data-group="sheet" data-tab="road">
|
||||
<ol class="items-list">
|
||||
<li class="item flexrow items-header">
|
||||
<div class="item-name" style="flex:4;">{{ localize 'IDENTITY.name'}}</div>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<div class="tab characteristics sheet-part" data-group="sheet" data-tab="characteristics">
|
||||
<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 --}}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<div class="tab combat sheet-part" data-group="sheet" data-tab="combat">
|
||||
<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>
|
||||
@@ -27,6 +27,7 @@
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
{{> "systems/vermine2047/templates/actor/parts/actor-equipped-gear.hbs"}}
|
||||
<h4 class="item-name effect-name flexrow">{{ localize
|
||||
"VERMINE.wounds.name"}}</h4>
|
||||
<ul class="unstyled">
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
<div class="tab equipment sheet-part {{#if @root.tabs.equipment.active}}active{{/if}}" data-group="sheet" data-tab="equipment">
|
||||
<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>
|
||||
@@ -1,4 +1,4 @@
|
||||
<div class="tab notes sheet-part" data-group="sheet" data-tab="notes">
|
||||
<div class="tab notes sheet-part {{#if @root.tabs.notes.active}}active{{/if}}" data-group="sheet" data-tab="notes">
|
||||
<h3>{{ localize 'IDENTITY.notes' }}</h3>
|
||||
<div class="grid grid-1col">
|
||||
<div class="form-group">
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<div class="tab skills sheet-part" data-group="sheet" data-tab="skills">
|
||||
<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 --}}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<div class="tab threat sheet-part" data-group="sheet" data-tab="threat">
|
||||
<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 --}}
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
data-type="defense"
|
||||
data-action="create"
|
||||
><i class="fas fa-plus"></i></a>
|
||||
<a style="visibility:hidden;" aria-hidden="true"><i class="fas fa-circle"></i></a>
|
||||
<a style="visibility:hidden;" aria-hidden="true"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
@@ -42,6 +43,13 @@
|
||||
<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 class="item-controls">
|
||||
<a
|
||||
data-action="toggleEquip"
|
||||
data-item-id="{{item._id}}"
|
||||
title="{{#if item.system.equipped}}{{ localize 'VERMINE.unequip'}}{{else}}{{ localize 'VERMINE.equip'}}{{/if}}"
|
||||
><i
|
||||
class="fas {{#if item.system.equipped}}fa-circle-check{{else}}fa-circle{{/if}}"
|
||||
></i></a>
|
||||
<a
|
||||
data-action="delete"
|
||||
title="Delete Item"
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
{{#if equippedWeapons.length}}
|
||||
<div class="equipped-gear">
|
||||
<h4 class="item-name flexrow">{{ localize 'ITEMS.weapons'}}</h4>
|
||||
<ol class="items-list">
|
||||
{{#each equippedWeapons as |item|}}
|
||||
<li
|
||||
class="item flexrow flex-group-center align-center"
|
||||
data-item-id="{{item._id}}"
|
||||
>
|
||||
<div class="item-name flexrow" style="flex:4;">
|
||||
<div class="item-image">
|
||||
<a data-action="roll"><img
|
||||
src="{{item.img}}"
|
||||
title="{{item.name}}"
|
||||
width="24"
|
||||
height="24"
|
||||
/></a>
|
||||
</div>
|
||||
<a data-action="roll">{{item.name}}</a>
|
||||
</div>
|
||||
<div style="flex:1;"><a data-action="attack" title="{{ localize 'VERMINE.attack' }}"><i class="fas fa-crosshairs"></i></a></div>
|
||||
<div style="flex:2;"><a data-action="edit" title="Edit Item">
|
||||
{{#if item.system.damage.addVigor}}
|
||||
{{localize 'VERMINE.vigor'}}+
|
||||
{{/if}}
|
||||
{{item.system.damage.value}}
|
||||
({{item.system.damage.type}})
|
||||
</a></div>
|
||||
<div style="flex:2;">{{#if item.system.skill}}{{ smarttlk 'SKILLS' item.system.skill 'name' }}{{/if}}</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ol>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if equippedDefenses.length}}
|
||||
<div class="equipped-gear">
|
||||
<h4 class="item-name flexrow">{{ localize 'ITEMS.defenses'}}</h4>
|
||||
<ol class="items-list">
|
||||
{{#each equippedDefenses as |item|}}
|
||||
<li
|
||||
class="item flexrow flex-group-center align-center"
|
||||
data-item-id="{{item._id}}"
|
||||
>
|
||||
<div class="item-name flexrow" style="flex:4;">
|
||||
<div class="item-image">
|
||||
<a data-action="roll"><img
|
||||
src="{{item.img}}"
|
||||
title="{{item.name}}"
|
||||
width="24"
|
||||
height="24"
|
||||
/></a>
|
||||
</div>
|
||||
<a data-action="edit" title="Edit Item">{{item.name}}</a>
|
||||
</div>
|
||||
<div style="flex:2;"><a data-action="edit" title="Edit Item">{{item.system.level}}</a></div>
|
||||
<div style="flex:2;"><a data-action="edit" title="Edit Item">
|
||||
{{#if item.system.isShield}}{{ localize 'ITEMS.shield' }}{{/if}}
|
||||
</a></div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ol>
|
||||
</div>
|
||||
{{/if}}
|
||||
@@ -9,6 +9,7 @@
|
||||
<div class="item-controls">
|
||||
<a class="item-control item-create" title="Create item"
|
||||
data-type="weapon" data-action="create"><i class="fas fa-plus"></i></a>
|
||||
<a style="visibility:hidden;" aria-hidden="true"><i class="fas fa-circle"></i></a>
|
||||
<a style="visibility:hidden;" aria-hidden="true"><i class="fas fa-trash"></i></a>
|
||||
<a style="visibility:hidden;" aria-hidden="true"><i class="fas fa-edit"></i></a>
|
||||
</div>
|
||||
@@ -37,10 +38,15 @@
|
||||
<div style="flex:1;"><a data-action="edit" title="Edit Item">{{item.system.rarity.value}}</a></div>
|
||||
<div style="flex:1;"><a data-action="edit" title="Edit Item">{{item.system.reliability}}</a></div>
|
||||
<div class="item-controls">
|
||||
<a data-action="toggleEquip" data-item-id="{{item._id}}"
|
||||
title="{{#if item.system.equipped}}{{ localize 'VERMINE.unequip'}}{{else}}{{ localize 'VERMINE.equip'}}{{/if}}"><i
|
||||
class="fas {{#if item.system.equipped}}fa-circle-check{{else}}fa-circle{{/if}}"></i></a>
|
||||
<a data-action="delete" title="Delete Item"><i
|
||||
class="fas fa-trash"></i></a>
|
||||
<a data-action="edit" title="Edit Item"><i
|
||||
class="fas fa-edit"></i></a>
|
||||
<a data-action="attack" title="{{ localize 'VERMINE.attack' }}"><i
|
||||
class="fas fa-crosshairs"></i></a>
|
||||
<a data-action="roll" title="Roll Item"><i
|
||||
class="fas fa-dice"></i></a>
|
||||
</div>
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
{{/if}}
|
||||
</label>
|
||||
<div class="skill-control">
|
||||
{{#if @root.isEditMode}}
|
||||
<input
|
||||
type="range"
|
||||
name="system.skills.{{key}}.value"
|
||||
@@ -16,6 +17,7 @@
|
||||
max="{{skill.max}}"
|
||||
data-dtype="Number"
|
||||
/>
|
||||
{{/if}}
|
||||
<span class="skill-value">{{skill.value}}D</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -0,0 +1,234 @@
|
||||
<div class="roll-dialog-content">
|
||||
<!-- HIDDEN DATA -->
|
||||
<input type="hidden" name="ability" id="ability" value="{{ abilityValue }}" />
|
||||
<input type="hidden" name="speakerId" value="{{ actor.id }}" />
|
||||
|
||||
{{#if weapon}}
|
||||
<div class="weapon-block combat-dialog-weapon">
|
||||
<div class="weapon-block-header flexrow">
|
||||
<span class="weapon-icon"><i class="fas fa-crosshairs"></i></span>
|
||||
<span class="weapon-name">{{ weapon.name }}</span>
|
||||
</div>
|
||||
<div class="flexrow flex-wrap weapon-details">
|
||||
<span class="weapon-detail">
|
||||
<strong>{{localize "VERMINE.damages"}}:</strong>
|
||||
{{#if weapon.system.damage.addVigor}}{{localize "VERMINE.vigor"}}+ {{/if}}
|
||||
{{ weapon.system.damage.value }} ({{ weapon.system.damage.type }})
|
||||
</span>
|
||||
<span class="weapon-detail">
|
||||
<strong>{{localize "VERMINE.ranges"}}:</strong>
|
||||
{{ weapon.system.min_range }} / {{ weapon.system.max_range }}
|
||||
</span>
|
||||
<span class="weapon-detail">
|
||||
<strong>{{localize "VERMINE.ammo"}}:</strong>
|
||||
{{ weapon.system.ammo }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<h4 class="combat-mode-label">{{#ife mode "ranged"}}{{localize 'VERMINE.attack_ranged'}}{{else}}{{localize 'VERMINE.attack_contact'}}{{/ife}}</h4>
|
||||
|
||||
<div class="dice-pool">
|
||||
|
||||
<!-- ATTACKER POOL -->
|
||||
<div class="flexrow main-roll-section">
|
||||
<div class="flexcol characteristic-section">
|
||||
<label class="label">{{localize 'VERMINE.ability'}}</label>
|
||||
{{#if isCharacter}}
|
||||
<div class="locked-value">{{ smarttlk 'ABILITIES' abilityKey 'name' }} / {{ abilityValue }}</div>
|
||||
{{else if isNpc}}
|
||||
<div class="locked-value">{{localize 'ADVERSITY.threat'}} / {{ npcThreatPool }}</div>
|
||||
{{else}}
|
||||
<div class="locked-value">{{localize 'ADVERSITY.attack'}} / {{ basePool }}</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="flexcol skill-section">
|
||||
<label class="label">{{localize 'VERMINE.skill_title'}}</label>
|
||||
{{#if isCharacter}}
|
||||
<div class="locked-value">{{ smarttlk 'SKILLS' skillKey 'name' }} / {{ skillValue }}</div>
|
||||
{{else}}
|
||||
<div class="locked-value">{{localize 'VERMINE.pool_total'}}</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- DIFFICULTY -->
|
||||
<details class="difficulty-section" open>
|
||||
<summary class="flexrow">
|
||||
<span class="label">{{localize 'VERMINE.difficulty'}}</span>
|
||||
<span class="current-values"><span id="final-difficulty">{{ defaultDifficulty }}</span></span>
|
||||
</summary>
|
||||
<div class="flexcol difficulty-controls">
|
||||
<div class="flexrow combat-difficulty-options">
|
||||
{{#each difficultyOptions}}
|
||||
<label class="flexrow difficulty-option {{#if this.locked}}locked{{/if}}">
|
||||
<input
|
||||
type="radio"
|
||||
data-roll="true"
|
||||
name="combat-difficulty"
|
||||
value="{{ this.difficulty }}"
|
||||
{{#if this.rangeKey}}data-range-key="{{ this.rangeKey }}"{{/if}}
|
||||
{{#ife @root.defaultDifficulty this.difficulty}}checked{{/ife}}
|
||||
{{#if this.locked}}disabled{{/if}}
|
||||
/>
|
||||
<span>{{#if this.label}}{{ this.label }}{{else}}{{ this.difficulty }}{{/if}} ({{ this.difficulty }})</span>
|
||||
</label>
|
||||
{{/each}}
|
||||
</div>
|
||||
{{#unless isCreature}}
|
||||
{{#unless creatureLocked}}
|
||||
<label class="flexrow bonus-item">
|
||||
<input type="checkbox" data-roll="true" name="second-action" id="second-action" value="1" />
|
||||
<span class="label">{{localize 'VERMINE.second_action'}}</span>
|
||||
</label>
|
||||
{{/unless}}
|
||||
{{/unless}}
|
||||
{{#if hasAmmo}}
|
||||
<label class="flexrow bonus-item">
|
||||
<input type="checkbox" data-roll="true" name="use-ammo" id="use-ammo" value="1" checked />
|
||||
<span class="label">{{localize 'VERMINE.consume_ammo'}}</span>
|
||||
</label>
|
||||
{{/if}}
|
||||
<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>
|
||||
</div>
|
||||
</details>
|
||||
|
||||
<!-- NPC POOLS -->
|
||||
{{#if isNpc}}
|
||||
<div class="flexrow bonus-item full-width">
|
||||
<label class="label" for="pools-spent">{{localize 'VERMINE.npc_pool'}}</label>
|
||||
<input
|
||||
type="number"
|
||||
data-roll="true"
|
||||
class="numeric-entry"
|
||||
style="text-align: center;"
|
||||
name="pools-spent"
|
||||
id="pools-spent"
|
||||
min="0"
|
||||
max="{{ npcPoolMax }}"
|
||||
value="0"
|
||||
/>
|
||||
<span>/ {{ npcPoolMax }}</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<!-- TARGETS -->
|
||||
{{#if targets.length}}
|
||||
<div class="combat-targets">
|
||||
<span class="label">{{localize 'ITEMS.targets'}}:</span>
|
||||
{{#each targets}}
|
||||
<span class="combat-target-tag">{{ this.name }}</span>
|
||||
{{/each}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<!-- 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>
|
||||
|
||||
{{#if isCharacter}}
|
||||
<div class="flexrow bonus-item full-width">
|
||||
<label class="label" for="self_control">
|
||||
{{localize 'VERMINE.self_control'}} <span>(+<span id="self_control_value">0</span>D)</span>
|
||||
</label>
|
||||
<input type="range" id="self_control" data-roll="true" name="self_control" min="0" max="0" value="0" />
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if availableItems.length}}
|
||||
<div class="flexrow bonus-item full-width">
|
||||
<label class="label">{{localize 'VERMINE.tooling'}} (+1D)</label>
|
||||
<div class="item-list grid grid-4col">
|
||||
<label>
|
||||
<input type="radio" data-roll="true" name="usingTools" id="usingTools" value="0" checked />
|
||||
<i>{{localize 'VERMINE.none'}}</i>
|
||||
</label>
|
||||
{{#each availableItems as |item ind|}}
|
||||
<label>
|
||||
<input type="radio" data-roll="true" name="usingTools" id="usingTools" value="{{ item.name }}" />
|
||||
<i>{{ item.name }}</i>
|
||||
</label>
|
||||
{{/each}}
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#ifgt @root.system.adaptation.totems.human.value 0}}
|
||||
<div class="flexrow bonus-item full-width totems-section">
|
||||
<label class="label">{{localize 'VERMINE.totem_dice'}}</label>
|
||||
<div class="flexrow totem-options">
|
||||
<label class="totem-option">
|
||||
<input type="checkbox" data-roll="true" name="human-totem" id="human-totem" value="1" class="totem-checkbox" />
|
||||
<span class="totem-label">{{localize 'TOTEMS.human.name'}}</span>
|
||||
<small>({{@root.system.adaptation.totems.human.value}}D)</small>
|
||||
</label>
|
||||
{{#ifgt @root.system.adaptation.totems.adapted.value 0}}
|
||||
<label class="totem-option">
|
||||
<input type="checkbox" data-roll="true" name="adapted-totem" id="adapted-totem" value="1" class="totem-checkbox" />
|
||||
<span class="totem-label">{{localize 'TOTEMS.adapted.name'}}</span>
|
||||
<small>({{@root.system.adaptation.totems.adapted.value}}D)</small>
|
||||
</label>
|
||||
{{/ifgt}}
|
||||
</div>
|
||||
</div>
|
||||
{{/ifgt}}
|
||||
|
||||
</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>
|
||||
{{#ifgt @root.system.adaptation.totems.human.value 0}}
|
||||
{{#ifgt @root.system.adaptation.totems.adapted.value 0}}
|
||||
<span class="totem-selector">
|
||||
({{localize 'VERMINE.keep_totem'}}
|
||||
<select id="keep-totem-select" name="keep_totem">
|
||||
<option value="human">{{localize 'TOTEMS.human.name'}}</option>
|
||||
<option value="adapted">{{localize 'TOTEMS.adapted.name'}}</option>
|
||||
</select>)
|
||||
</span>
|
||||
{{/ifgt}}
|
||||
{{/ifgt}}
|
||||
<span class="totem-selector">
|
||||
({{localize 'VERMINE.difficulty'}}: <strong id="final-difficulty">{{ defaultDifficulty }}</strong>)
|
||||
</span>
|
||||
</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-crosshairs"></i> {{localize "VERMINE.attack"}}
|
||||
</button>
|
||||
</footer>
|
||||
</div>
|
||||
@@ -15,7 +15,7 @@
|
||||
<option value="">aucune</option>
|
||||
{{#each @root.config.skillCategories as |skillCategory sckey|}}
|
||||
<optgroup label="{{ smarttlk 'SKILLS_CATEGORIES' sckey 'name' }}">
|
||||
{{#each @root.config.skills as |skill key|}}
|
||||
{{#each (sortedSkills @root.config.skills) as |skill key|}}
|
||||
{{#ife skill.category sckey}}
|
||||
<option value="{{key}}" {{#ife key @root.system.needSkill.skill}} selected {{/ife}}>{{ smarttlk 'SKILLS' key 'name' }}</option>
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
>
|
||||
{{#each @root.config.skillCategories as |skillCategory sckey|}}
|
||||
<optgroup label="{{ smarttlk 'SKILLS_CATEGORIES' sckey 'name' }}">
|
||||
{{#each @root.config.skills as |skill key|}}
|
||||
{{#each (sortedSkills @root.config.skills) as |skill key|}}
|
||||
{{#ife skill.category sckey}}
|
||||
<option
|
||||
value="{{key}}"
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
>
|
||||
{{#each @root.config.skillCategories as |skillCategory sckey|}}
|
||||
<optgroup label="{{ smarttlk 'SKILLS_CATEGORIES' sckey 'name' }}">
|
||||
{{#each @root.config.skills as |skill key|}}
|
||||
{{#each (sortedSkills @root.config.skills) as |skill key|}}
|
||||
{{#ife skill.category sckey}}
|
||||
<option
|
||||
value="{{key}}"
|
||||
|
||||
@@ -12,6 +12,53 @@
|
||||
|
||||
<h3>{{param.actor.name}} : {{localize "VERMINE.test_of"}} {{param.rollLabel}}</h3>
|
||||
|
||||
{{#if param.weapon}}
|
||||
<div class="weapon-block">
|
||||
<div class="weapon-block-header flexrow">
|
||||
<span class="weapon-icon"><i class="fas fa-crosshairs"></i></span>
|
||||
<span class="weapon-name">{{param.weapon.name}}</span>
|
||||
{{#if param.targets.length}}
|
||||
<span class="weapon-targets"><i class="fas fa-bullseye"></i> {{param.targets}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="flexrow flex-wrap weapon-details">
|
||||
<span class="weapon-detail">
|
||||
<strong>{{localize "VERMINE.damages"}}:</strong>
|
||||
{{#if param.weapon.system.damage.addVigor}}{{localize "VERMINE.vigor"}}+ {{/if}}
|
||||
{{param.weapon.system.damage.value}} ({{param.weapon.system.damage.type}})
|
||||
</span>
|
||||
<span class="weapon-detail">
|
||||
<strong>{{localize "VERMINE.ranges"}}:</strong>
|
||||
{{param.weapon.system.min_range}} / {{param.weapon.system.max_range}}
|
||||
</span>
|
||||
<span class="weapon-detail">
|
||||
<strong>{{localize "VERMINE.ammo"}}:</strong>
|
||||
{{param.weapon.system.ammo}}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if param.attack}}
|
||||
<div class="exchange-actions" data-exchange-id="{{param.attack.id}}">
|
||||
<div class="exchange-header"><i class="fas fa-exchange-alt"></i> {{localize "VERMINE.exchange"}}</div>
|
||||
{{#each param.attack.targets}}
|
||||
<div class="exchange-target">
|
||||
<span class="exchange-target-name"><i class="fas fa-bullseye"></i> {{this.name}}</span>
|
||||
{{#if this.canDefend}}
|
||||
<button type="button" class="exchange-defend" data-type="esquive" data-target-id="{{this.id}}" data-target-uuid="{{this.uuid}}" title="{{localize 'VERMINE.defense_esquive'}}"><i class="fas fa-running"></i> {{localize "VERMINE.defense_esquive"}}</button>
|
||||
{{#ife @root.param.attack.mode "contact"}}
|
||||
<button type="button" class="exchange-defend" data-type="parade" data-target-id="{{this.id}}" data-target-uuid="{{this.uuid}}" title="{{localize 'VERMINE.defense_parade'}}"><i class="fas fa-shield-alt"></i> {{localize "VERMINE.defense_parade"}}</button>
|
||||
{{/ife}}
|
||||
{{else}}
|
||||
<span class="exchange-passive"><i class="fas fa-shield-virus"></i> {{localize "VERMINE.passive_defense"}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/each}}
|
||||
<button type="button" class="exchange-resolve" data-exchange-id="{{param.attack.id}}"><i class="fas fa-balance-scale"></i> {{localize "VERMINE.resolve"}}</button>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{!-- Context --}}
|
||||
<div class="roll-context flexrow flex-wrap">
|
||||
<div class="context-item">
|
||||
@@ -83,6 +130,12 @@
|
||||
{{#if param.poolBreakdown.group}}
|
||||
<span class="pool-item">{{localize "VERMINE.pool_group"}} +{{param.poolBreakdown.group}}D</span>
|
||||
{{/if}}
|
||||
{{#if param.poolBreakdown.pools}}
|
||||
<span class="pool-item">{{localize "VERMINE.pool_pools"}} +{{param.poolBreakdown.pools}}D</span>
|
||||
{{/if}}
|
||||
{{#if param.poolBreakdown.experience}}
|
||||
<span class="pool-item">{{localize "VERMINE.pool_experience"}} +{{param.poolBreakdown.experience}}D</span>
|
||||
{{/if}}
|
||||
{{#if param.poolBreakdown.selfControl}}
|
||||
<span class="pool-item">{{localize "VERMINE.pool_selfControl"}} +{{param.poolBreakdown.selfControl}}D</span>
|
||||
{{/if}}
|
||||
|
||||
Reference in New Issue
Block a user