Fix apv2, WIP

This commit is contained in:
2026-06-06 22:37:29 +02:00
parent c571e6a209
commit c23de0ea66
37 changed files with 199 additions and 118 deletions
+3
View File
@@ -140,6 +140,9 @@
"level": "Level", "level": "Level",
"experience": "Experience", "experience": "Experience",
"reputation": "Reputation", "reputation": "Reputation",
"sheet": {
"description": "Description"
},
"pool": "Reserve", "pool": "Reserve",
"pools": "Reserves", "pools": "Reserves",
"self_control": "Self-control", "self_control": "Self-control",
+3
View File
@@ -146,6 +146,9 @@
"level": "Niveau", "level": "Niveau",
"experience": "Expérience", "experience": "Expérience",
"reputation": "Réputation", "reputation": "Réputation",
"sheet": {
"description": "Description"
},
"pool": "Réserve", "pool": "Réserve",
"pools": "Réserves", "pools": "Réserves",
"reserves": "Réserves", "reserves": "Réserves",
+7 -3
View File
@@ -207,16 +207,20 @@
.hexa-style(); .hexa-style();
.transition(); .transition();
margin: 0.2rem; margin: 0.2rem;
position: relative;
&:hover { &:hover {
.hexa-style(rgba(255, 255, 255, 0.425), rgba(0, 0, 0, 0.288)); .hexa-style(rgba(255, 255, 255, 0.425), rgba(0, 0, 0, 0.288));
} }
input { input {
opacity: 1; position: absolute;
min-width: 100%; width: 100%;
min-height: 100%; height: 100%;
opacity: 0; opacity: 0;
z-index: 1;
margin: 0;
cursor: pointer;
} }
&.checked { &.checked {
+7 -2
View File
@@ -5,7 +5,7 @@
.sheet-header { .sheet-header {
.background-image(url("@{ui-path}/barre_haut.webp"), no-repeat, 100% 100%, right top); .background-image(url("@{ui-path}/barre_haut.webp"), no-repeat, 100% 100%, right top);
padding: 0.5rem; padding: 0.5rem;
max-height: 110px; max-height: 150px;
} }
.ability-value, .ability-value,
@@ -179,7 +179,12 @@
flex: 1; flex: 1;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: 10px; gap: 4px;
}
.sheet-header .resource {
padding: 4px 8px;
margin-bottom: 0;
} }
.resources { .resources {
+3
View File
@@ -64,6 +64,9 @@
.adapted-dice i { .adapted-dice i {
padding-top: 0.5rem; padding-top: 0.5rem;
color: @totem-human-color; color: @totem-human-color;
position: relative;
z-index: 0;
pointer-events: none;
} }
.adapted-dice { .adapted-dice {
+13 -4
View File
@@ -71,11 +71,11 @@
font-size: 0.875rem; font-size: 0.875rem;
text-align: center; text-align: center;
text-shadow: 0 0 3px rgba(0, 0, 0, 0.9); text-shadow: 0 0 3px rgba(0, 0, 0, 0.9);
}
option { option {
background: #1a1a1a; background: @color-bg-option;
color: @color-text-light-1; color: @color-text-dark-primary;
}
} }
.traits { .traits {
@@ -83,6 +83,15 @@
h3, h4 { margin: 0; } h3, h4 { margin: 0; }
} }
.editor,
.editor-content {
color: @color-text-dark-primary;
background: rgba(255, 255, 255, 0.3);
min-height: 6rem;
p { margin: 0.25rem 0; }
}
} }
ol#chat-log div.item-card header img, ol#chat-log div.item-card header img,
@@ -96,6 +96,10 @@ export default class VermineBaseActorSheet extends HandlebarsApplicationMixin(fo
// ── Contexte commun ───────────────────────────────────────────────── // ── Contexte commun ─────────────────────────────────────────────────
async _prepareContext() { async _prepareContext() {
const enrich = async (path) => {
const val = foundry.utils.getProperty(this.document.system, path);
return val ? await foundry.applications.ux.TextEditor.implementation.enrichHTML(val, { async: true }) : "";
};
return { return {
fields: this.document.schema.fields, fields: this.document.schema.fields,
systemFields: this.document.system.schema.fields, systemFields: this.document.system.schema.fields,
@@ -107,7 +111,10 @@ export default class VermineBaseActorSheet extends HandlebarsApplicationMixin(fo
isGM: game.user.isGM, isGM: game.user.isGM,
isEditMode: this.isEditMode, isEditMode: this.isEditMode,
isPlayMode: this.isPlayMode, isPlayMode: this.isPlayMode,
isEditable: this.isEditable isEditable: this.isEditable,
enrichedNotes: await enrich("identity.notes"),
enrichedBiography: await enrich("identity.biography"),
enrichedRelations: await enrich("identity.relations")
} }
} }
@@ -138,6 +145,19 @@ export default class VermineBaseActorSheet extends HandlebarsApplicationMixin(fo
for (const [group, tab] of Object.entries(this.tabGroups ?? {})) { for (const [group, tab] of Object.entries(this.tabGroups ?? {})) {
this.changeTab(tab, group, {force: true}) this.changeTab(tab, group, {force: true})
} }
// Move toggle from hidden main tab to visible position (only for sheets where
// .tab.main is not already displayed as a permanent sidebar via !important)
const mainTab = this.element.querySelector(".tab.main")
const tabs = this.element.querySelector('nav.tabs[data-application-part="tabs"]')
if ( mainTab && tabs && getComputedStyle(mainTab).display === "none" ) {
const existing = tabs.parentNode.querySelector('.sheet-header-toggle[data-moved]')
if (existing) existing.remove()
const toggle = mainTab.querySelector(".sheet-header-toggle")
if (toggle) {
toggle.dataset.moved = "true"
tabs.parentNode.insertBefore(toggle, tabs)
}
}
this.#dragDrop.forEach(d => d.bind(this.element)) this.#dragDrop.forEach(d => d.bind(this.element))
this.element.querySelectorAll(".rollable").forEach(el => { this.element.querySelectorAll(".rollable").forEach(el => {
el.addEventListener("click", this._onRoll.bind(this)) el.addEventListener("click", this._onRoll.bind(this))
@@ -50,7 +50,12 @@ export default class VermineCreatureSheetV2 extends VermineBaseActorSheet {
async _preparePartContext(partId, context) { async _preparePartContext(partId, context) {
const doc = this.document const doc = this.document
switch (partId) { switch (partId) {
case "main": break case "main":
context.patternOptions = CONFIG.VERMINE.creaturePatternLevels
context.roleOptions = CONFIG.VERMINE.creatureRoleLevels
context.sizeOptions = CONFIG.VERMINE.creatureSizeLevels
context.packOptions = CONFIG.VERMINE.creaturePackLevels
break
case "info": case "info":
context.tab = context.tabs.info context.tab = context.tabs.info
break break
+7 -1
View File
@@ -44,7 +44,13 @@ export default class VermineNpcSheetV2 extends VermineBaseActorSheet {
async _preparePartContext(partId, context) { async _preparePartContext(partId, context) {
const doc = this.document const doc = this.document
switch (partId) { switch (partId) {
case "main": break case "main":
context.npcThreatOptions = CONFIG.VERMINE.npcThreatLevels
context.npcExperienceOptions = CONFIG.VERMINE.npcExperienceLevels
context.npcRoleOptions = CONFIG.VERMINE.npcRoleLevels
context.totemOptions = CONFIG.VERMINE.totems
context.originOptions = CONFIG.VERMINE.origins
break
case "characteristics": case "characteristics":
context.tab = context.tabs.characteristics context.tab = context.tabs.characteristics
break break
+1 -1
View File
@@ -80,7 +80,7 @@ export default class VermineItem extends Item {
rollMode: rollMode, rollMode: rollMode,
flavor: label, flavor: label,
}; };
mess.content = await foundry.applications.handlebars.renderTemplate(`systems/vermine2047/templates/item/chatCards/${this.type}.hbs`, { item: this, message: mess }) ?? null; mess.content = await foundry.applications.handlebars.renderTemplate(`systems/vermine2047/templates/item/chatCards/${this.type}.hbs`, { item: this, message: mess, config: CONFIG.VERMINE }) ?? null;
ChatMessage.create(mess) ChatMessage.create(mess)
} }
+2 -2
View File
@@ -61,8 +61,8 @@ export default class VermineCharacterData extends foundry.abstract.TypeDataModel
instincts: new fields.StringField({ required: true, nullable: false, initial: "" }), instincts: new fields.StringField({ required: true, nullable: false, initial: "" }),
prohibits: new fields.StringField({ required: true, nullable: false, initial: "" }), prohibits: new fields.StringField({ required: true, nullable: false, initial: "" }),
objectives: new fields.StringField({ required: true, nullable: false, initial: "" }), objectives: new fields.StringField({ required: true, nullable: false, initial: "" }),
relations: new fields.StringField({ required: true, nullable: false, initial: "" }), relations: new fields.HTMLField({ required: true, initial: "" }),
biography: new fields.StringField({ required: true, nullable: false, initial: "" }) biography: new fields.HTMLField({ required: true, initial: "" })
}), }),
// Équipement // Équipement
+2 -2
View File
@@ -32,8 +32,8 @@ export default class VermineCreatureData extends foundry.abstract.TypeDataModel
profile: new fields.StringField({ required: true, nullable: false, initial: "" }), profile: new fields.StringField({ required: true, nullable: false, initial: "" }),
origin: new fields.StringField({ required: true, nullable: false, initial: "" }), origin: new fields.StringField({ required: true, nullable: false, initial: "" }),
theme: new fields.StringField({ required: true, nullable: false, initial: "" }), theme: new fields.StringField({ required: true, nullable: false, initial: "" }),
notes: new fields.StringField({ required: true, nullable: false, initial: "" }), notes: new fields.HTMLField({ required: true, initial: "" }),
biography: new fields.StringField({ required: true, nullable: false, initial: "" }) biography: new fields.HTMLField({ required: true, initial: "" })
}), }),
// Compétences (description libre) // Compétences (description libre)
+1 -1
View File
@@ -36,7 +36,7 @@ export default class VermineGroupData extends foundry.abstract.TypeDataModel {
theme: new fields.StringField({ required: true, nullable: false, initial: "" }), theme: new fields.StringField({ required: true, nullable: false, initial: "" }),
instincts: new fields.StringField({ required: true, nullable: false, initial: "" }), instincts: new fields.StringField({ required: true, nullable: false, initial: "" }),
prohibits: new fields.StringField({ required: true, nullable: false, initial: "" }), prohibits: new fields.StringField({ required: true, nullable: false, initial: "" }),
notes: new fields.StringField({ required: true, nullable: false, initial: "" }) notes: new fields.HTMLField({ required: true, initial: "" })
}), }),
// Équipement // Équipement
+1 -1
View File
@@ -55,7 +55,7 @@ export default class VermineNpcData extends foundry.abstract.TypeDataModel {
origin: new fields.StringField({ required: true, nullable: false, initial: "" }), origin: new fields.StringField({ required: true, nullable: false, initial: "" }),
totem: new fields.StringField({ required: true, nullable: false, initial: "" }), totem: new fields.StringField({ required: true, nullable: false, initial: "" }),
theme: new fields.StringField({ required: true, nullable: false, initial: "" }), theme: new fields.StringField({ required: true, nullable: false, initial: "" }),
notes: new fields.StringField({ required: true, nullable: false, initial: "" }) notes: new fields.HTMLField({ required: true, initial: "" })
}), }),
// Attributs (XP, réputation, sang-froid, effort) // Attributs (XP, réputation, sang-froid, effort)
+6 -17
View File
@@ -90,22 +90,9 @@ export const registerHandlebarsHelpers = function () {
return str.toLowerCase(); return str.toLowerCase();
}); });
Handlebars.registerHelper('romanNumber', function (numb) { Handlebars.registerHelper('romanNumber', function (numb) {
switch (numb) { const n = Number(numb);
case 0: if ( !Number.isFinite(n) || n < 0 ) return '';
return ''; return ['', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX', 'X'][n] ?? '';
case 1:
return 'I';
case 2:
return 'II';
case 3:
return 'III';
case 4:
return 'IV';
case 5:
return 'V';
default:
throw new Error('Le handicap rareté doit être comprise entre 0 et 5');
}
}); });
// search translation with variables // search translation with variables
@@ -386,7 +373,9 @@ export const registerHandlebarsHelpers = function () {
Handlebars.registerHelper('repeat', function (times, start, indexLabel, block) { Handlebars.registerHelper('repeat', function (times, start, indexLabel, block) {
var accum = ''; var accum = '';
if (!indexLabel) { indexLabel = "index" } if (!indexLabel) { indexLabel = "index" }
if (!start) { start = 0; } times = Number(times);
start = Number(start ?? 0);
if ( !Number.isFinite(times) || !Number.isFinite(start) || times < 0 ) return '';
for (var i = start; i < times + start; ++i) { for (var i = start; i < times + start; ++i) {
block.data[indexLabel] = i; block.data[indexLabel] = i;
block.data.first = i === start; block.data.first = i === start;
+8 -6
View File
@@ -35,14 +35,16 @@
</section> </section>
<section class="flexcol "> <section class="flexcol ">
<div> <div>
<h4>{{ localize 'IDENTITY.notes'}}</h4> <fieldset>
{{editor system.identity.biography target="system.identity.biography" <legend><h4>{{ localize 'IDENTITY.notes'}}</h4></legend>
button=true owner=owner editable=editable}} {{formInput systemFields.identity.fields.biography enriched=enrichedBiography value=system.identity.biography name="system.identity.biography" toggled=true}}
</fieldset>
</div> </div>
<div> <div>
<h4>{{ localize 'IDENTITY.relations'}}</h4> <fieldset>
{{editor system.identity.relations target="system.identity.relations" <legend><h4>{{ localize 'IDENTITY.relations'}}</h4></legend>
button=true owner=owner editable=editable}} {{formInput systemFields.identity.fields.relations enriched=enrichedRelations value=system.identity.relations name="system.identity.relations" toggled=true}}
</fieldset>
</div> </div>
</section> </section>
</div> </div>
+4 -2
View File
@@ -39,8 +39,10 @@
</div> </div>
<div class="grid-span-2"> <div class="grid-span-2">
<h4>{{ localize 'IDENTITY.notes' }}</h4> <fieldset>
{{editor system.identity.notes target="system.identity.notes" button=true owner=owner editable=editable}} <legend><h4>{{ localize 'IDENTITY.notes' }}</h4></legend>
{{formInput systemFields.identity.fields.notes enriched=enrichedNotes value=system.identity.notes name="system.identity.notes" toggled=true}}
</fieldset>
</div> </div>
{{!-- Modes --}} {{!-- Modes --}}
+10 -10
View File
@@ -25,9 +25,9 @@
<div class="resource-content"> <div class="resource-content">
{{#if isEditMode}} {{#if isEditMode}}
<select name="system.pattern.value" id="system.pattern.value" data-dtype="Number"> <select name="system.pattern.value" id="system.pattern.value" data-dtype="Number">
{{#each ../config.creaturePatternLevels}} {{#each patternOptions}}
<option value="{{@key}}" {{#ife @key ../system.pattern.value}}selected{{/ife}}> <option value="{{@key}}" {{#ife @key @root.system.pattern.value}}selected{{/ife}}>
{{localize this.label}} ({{@key}}) {{localize label}} ({{@key}})
</option> </option>
{{/each}} {{/each}}
</select> </select>
@@ -41,9 +41,9 @@
<div class="resource-content"> <div class="resource-content">
{{#if isEditMode}} {{#if isEditMode}}
<select name="system.role.value" id="system.role.value" data-dtype="Number"> <select name="system.role.value" id="system.role.value" data-dtype="Number">
{{#each ../config.creatureRoleLevels}} {{#each roleOptions}}
<option value="{{@key}}" {{#ife @key ../system.role.value}}selected{{/ife}}> <option value="{{@key}}" {{#ife @key @root.system.role.value}}selected{{/ife}}>
{{localize this.label}} ({{@key}}) {{localize label}} ({{@key}})
</option> </option>
{{/each}} {{/each}}
</select> </select>
@@ -59,8 +59,8 @@
<div class="resource-content"> <div class="resource-content">
{{#if isEditMode}} {{#if isEditMode}}
<select name="system.size.value" id="system.size.value" data-dtype="Number"> <select name="system.size.value" id="system.size.value" data-dtype="Number">
{{#each ../config.creatureSizeLevels}} {{#each sizeOptions}}
<option value="{{@key}}" {{#ife @key ../system.size.value}}selected{{/ife}}> <option value="{{@key}}" {{#ife @key @root.system.size.value}}selected{{/ife}}>
{{@key}} {{@key}}
</option> </option>
{{/each}} {{/each}}
@@ -76,9 +76,9 @@
{{#if isEditMode}} {{#if isEditMode}}
<select name="system.pack.value" id="system.pack.value" data-dtype="Number"> <select name="system.pack.value" id="system.pack.value" data-dtype="Number">
<option value="0">{{localize 'VERMINE.none'}}</option> <option value="0">{{localize 'VERMINE.none'}}</option>
{{#each ../config.creaturePackLevels}} {{#each packOptions}}
{{#if @key}} {{#if @key}}
<option value="{{@key}}" {{#ife @key ../system.pack.value}}selected{{/ife}}> <option value="{{@key}}" {{#ife @key @root.system.pack.value}}selected{{/ife}}>
{{@key}} {{@key}}
</option> </option>
{{/if}} {{/if}}
+4 -2
View File
@@ -28,8 +28,10 @@
{{!-- Group Notes --}} {{!-- Group Notes --}}
<div class="grid-span-2"> <div class="grid-span-2">
<h4>{{ localize 'IDENTITY.notes' }}</h4> <fieldset>
{{editor system.identity.notes target="system.identity.notes" button=true owner=owner editable=editable}} <legend><h4>{{ localize 'IDENTITY.notes' }}</h4></legend>
{{formInput systemFields.identity.fields.notes enriched=enrichedNotes value=system.identity.notes name="system.identity.notes" toggled=true}}
</fieldset>
</div> </div>
{{!-- Group Abilities (from items) --}} {{!-- Group Abilities (from items) --}}
+13 -13
View File
@@ -27,9 +27,9 @@
<div class="resource-content"> <div class="resource-content">
{{#if isEditMode}} {{#if isEditMode}}
<select name="system.threat.value" id="system.threat.value" data-dtype="Number"> <select name="system.threat.value" id="system.threat.value" data-dtype="Number">
{{#each ../config.npcThreatLevels}} {{#each npcThreatOptions}}
<option value="{{@key}}" {{#ife @key ../system.threat.value}}selected{{/ife}}> <option value="{{@key}}" {{#ife @key @root.system.threat.value}}selected{{/ife}}>
{{localize this.label}} ({{@key}}) {{localize label}} ({{@key}})
</option> </option>
{{/each}} {{/each}}
</select> </select>
@@ -44,9 +44,9 @@
<div class="resource-content"> <div class="resource-content">
{{#if isEditMode}} {{#if isEditMode}}
<select name="system.experience.value" id="system.experience.value" data-dtype="Number"> <select name="system.experience.value" id="system.experience.value" data-dtype="Number">
{{#each ../config.npcExperienceLevels}} {{#each npcExperienceOptions}}
<option value="{{@key}}" {{#ife @key ../system.experience.value}}selected{{/ife}}> <option value="{{@key}}" {{#ife @key @root.system.experience.value}}selected{{/ife}}>
{{localize this.label}} ({{@key}}) {{localize label}} ({{@key}})
</option> </option>
{{/each}} {{/each}}
</select> </select>
@@ -61,9 +61,9 @@
<div class="resource-content"> <div class="resource-content">
{{#if isEditMode}} {{#if isEditMode}}
<select name="system.role.value" id="system.role.value" data-dtype="Number"> <select name="system.role.value" id="system.role.value" data-dtype="Number">
{{#each ../config.npcRoleLevels}} {{#each npcRoleOptions}}
<option value="{{@key}}" {{#ife @key ../system.role.value}}selected{{/ife}}> <option value="{{@key}}" {{#ife @key @root.system.role.value}}selected{{/ife}}>
{{localize this.label}} ({{@key}}) {{localize label}} ({{@key}})
</option> </option>
{{/each}} {{/each}}
</select> </select>
@@ -82,8 +82,8 @@
{{#if isEditMode}} {{#if isEditMode}}
<select name="system.identity.totem" id="system.identity.totem" data-dtype="String"> <select name="system.identity.totem" id="system.identity.totem" data-dtype="String">
<option value="">{{ localize 'NONE' }}</option> <option value="">{{ localize 'NONE' }}</option>
{{#each ../config.totems}} {{#each totemOptions}}
<option value="{{@key}}" {{#ife @key ../system.identity.totem}}selected{{/ife}}> <option value="{{@key}}" {{#ife @key @root.system.identity.totem}}selected{{/ife}}>
{{localize this}} {{localize this}}
</option> </option>
{{/each}} {{/each}}
@@ -99,8 +99,8 @@
{{#if isEditMode}} {{#if isEditMode}}
<select name="system.identity.origin" id="system.identity.origin" data-dtype="String"> <select name="system.identity.origin" id="system.identity.origin" data-dtype="String">
<option value="">{{ localize 'NONE' }}</option> <option value="">{{ localize 'NONE' }}</option>
{{#each ../config.origins}} {{#each originOptions}}
<option value="{{@key}}" {{#ife @key ../system.identity.origin}}selected{{/ife}}> <option value="{{@key}}" {{#ife @key @root.system.identity.origin}}selected{{/ife}}>
{{this}} {{this}}
</option> </option>
{{/each}} {{/each}}
+4 -1
View File
@@ -18,5 +18,8 @@
{{/if}} {{/if}}
</div> </div>
</div> </div>
{{editor system.identity.notes target="system.identity.notes" button=true owner=owner editable=editable}} <fieldset>
<legend>{{ localize 'IDENTITY.notes' }}</legend>
{{formInput systemFields.identity.fields.notes enriched=enrichedNotes value=system.identity.notes name="system.identity.notes" toggled=true}}
</fieldset>
</div> </div>
+7 -7
View File
@@ -6,24 +6,24 @@
<div class="item-reliability">{{ localize 'VERMINE.reliability'}}</div> <div class="item-reliability">{{ localize 'VERMINE.reliability'}}</div>
<div class="item-controls"> <div class="item-controls">
<a class="item-control item-create" title="Create item" <a class="item-control item-create" title="Create item"
data-type="vehicle"><i class="fas fa-plus"></i></a> data-type="vehicle" data-action="create"><i class="fas fa-plus"></i></a>
</div> </div>
</li> </li>
{{#each vehicles as |item id|}} {{#each vehicles as |item id|}}
<li class="item flexrow flex-group-center" data-item-id="{{item._id}}"> <li class="item flexrow flex-group-center" data-item-id="{{item._id}}">
<div class="item-name" style="flex:4;"> <div class="item-name" style="flex:4;">
<div class="item-image"> <div class="item-image">
<a class="item-control item-edit" data-roll-type="item"><img <a data-action="edit"><img
src="{{item.img}}" title="{{item.name}}" width="24" src="{{item.img}}" title="{{item.name}}" width="24"
height="24" /></a> height="24" /></a>
</div> </div>
<a class="item-control item-edit" title="Edit Item">{{item.name}}</a> <a data-action="edit" title="Edit Item">{{item.name}}</a>
</div> </div>
<div><a class="item-control item-edit" title="Edit Item">{{item.system.mobility}}</a></div> <div><a data-action="edit" title="Edit Item">{{item.system.mobility}}</a></div>
<div><a class="item-control item-edit" title="Edit Item">{{item.system.rarity.value}}</a></div> <div><a data-action="edit" title="Edit Item">{{item.system.rarity.value}}</a></div>
<div><a class="item-control item-edit" title="Edit Item">{{item.system.reliability}}</a></div> <div><a data-action="edit" title="Edit Item">{{item.system.reliability}}</a></div>
<div class="item-controls"> <div class="item-controls">
<a class="item-control item-delete" title="Delete Item"><i <a data-action="delete" title="Delete Item"><i
class="fas fa-trash"></i></a> class="fas fa-trash"></i></a>
</div> </div>
</li> </li>
+11 -10
View File
@@ -13,6 +13,7 @@
class="item-control item-create" class="item-control item-create"
title="Create item" title="Create item"
data-type="defense" data-type="defense"
data-action="create"
><i class="fas fa-plus"></i></a> ><i class="fas fa-plus"></i></a>
</div> </div>
</li> </li>
@@ -25,28 +26,28 @@
class="item-name" class="item-name"
style="flex:4;" style="flex:4;"
> >
<div class="item-image item-control item-roll"> <div class="item-image">
<a data-roll-type="item"><img <a data-action="roll"><img
src="{{item.img}}" src="{{item.img}}"
title="{{item.name}}" title="{{item.name}}"
width="24" width="24"
height="24" height="24"
/></a> /></a>
</div> </div>
<a title="Edit Item">{{item.name}}</a> <a data-action="edit" title="Edit Item">{{item.name}}</a>
</div> </div>
<div><a class="item-control item-edit" title="Edit Item">{{item.system.level}}</a></div> <div><a data-action="edit" title="Edit Item">{{item.system.level}}</a></div>
<div><a class="item-control item-edit" title="Edit Item">{{item.system.mobility}}</a></div> <div><a data-action="edit" title="Edit Item">{{item.system.mobility}}</a></div>
<div><a class="item-control item-edit" title="Edit Item">{{item.system.rarity.value}}</a></div> <div><a data-action="edit" title="Edit Item">{{item.system.rarity.value}}</a></div>
<div><a class="item-control item-edit" title="Edit Item">{{item.system.reliability}}</a></div> <div><a data-action="edit" title="Edit Item">{{item.system.reliability}}</a></div>
<div class="item-controls"> <div class="item-controls">
<a <a
class="item-control item-delete" data-action="delete"
title="Delete Item" title="Delete Item"
><i class="fas fa-trash"></i></a> ><i class="fas fa-trash"></i></a>
<a <a
class="item-control item-edit" data-action="edit"
title="Delete Item" title="Edit Item"
><i class="fas fa-edit"></i></a> ><i class="fas fa-edit"></i></a>
</div> </div>
</li> </li>
+11 -12
View File
@@ -8,7 +8,7 @@
<div class="item-reliability">{{ localize 'VERMINE.reliability_sm'}}</div> <div class="item-reliability">{{ localize 'VERMINE.reliability_sm'}}</div>
<div class="item-controls"> <div class="item-controls">
<a class="item-control item-create" title="Create item" <a class="item-control item-create" title="Create item"
data-type="weapon"><i class="fas fa-plus"></i></a> data-type="weapon" data-action="create"><i class="fas fa-plus"></i></a>
</div> </div>
</li> </li>
{{#each weapons as |item id|}} {{#each weapons as |item id|}}
@@ -16,32 +16,31 @@
data-item-id="{{item._id}}"> data-item-id="{{item._id}}">
<div class="item-name flexrow" style="flex:4;"> <div class="item-name flexrow" style="flex:4;">
<div class="item-image"> <div class="item-image">
<a class="item-control" data-roll-type="item"><img <a data-action="roll"><img
src="{{item.img}}" title="{{item.name}}" width="24" src="{{item.img}}" title="{{item.name}}" width="24"
height="24" /></a> height="24" /></a>
</div> </div>
<a class="item-control item-roll">{{item.name}}</a> <a data-action="roll">{{item.name}}</a>
</div> </div>
<div><a class="item-control item-edit" title="Edit Item">{{item.system.min_range}} / <div><a data-action="edit" title="Edit Item">{{item.system.min_range}} /
{{item.system.max_range}}</a></div> {{item.system.max_range}}</a></div>
<div><a class="item-control item-edit" title="Edit Item"> <div><a data-action="edit" title="Edit Item">
{{#if item.system.damage.addVigor}} {{#if item.system.damage.addVigor}}
vigueur+ vigueur+
{{/if}} {{/if}}
{{item.system.damage.value}} {{item.system.damage.value}}
({{item.system.damage.type}}) ({{item.system.damage.type}})
</a></div> </a></div>
<div><a class="item-control item-edit" title="Edit Item">{{item.system.ammo}}</a></div> <div><a data-action="edit" title="Edit Item">{{item.system.ammo}}</a></div>
<div><a class="item-control item-edit" title="Edit Item">{{item.system.rarity}}</a></div> <div><a data-action="edit" title="Edit Item">{{item.system.rarity.value}}</a></div>
<div><a class="item-control item-edit" title="Edit Item">{{item.system.reliability}}</a></div> <div><a data-action="edit" title="Edit Item">{{item.system.reliability}}</a></div>
<div class="item-controls"> <div class="item-controls">
<a class="item-control item-delete" title="Delete Item"><i <a data-action="delete" title="Delete Item"><i
class="fas fa-trash"></i></a> class="fas fa-trash"></i></a>
<a class="item-control item-edit" title="Edit Item"><i <a data-action="edit" title="Edit Item"><i
class="fas fa-edit"></i></a> class="fas fa-edit"></i></a>
<a class="item-control item-roll" title="Roll Item"><i <a data-action="roll" title="Roll Item"><i
class="fas fa-dice"></i></a> class="fas fa-dice"></i></a>
</div> </div>
</li> </li>
{{/each}} {{/each}}
+2 -2
View File
@@ -70,8 +70,8 @@
{{#each item.system.traits as |trait key|}} {{#each item.system.traits as |trait key|}}
{{#if trait}} {{#if trait}}
<li> <li>
<strong>{{localize (lookup ../config.traits key).name}}</strong>: <strong>{{localize (lookup (lookup ../config.traits key) "name")}}</strong>:
{{localize (lookup ../config.traits key).description}} {{localize (lookup (lookup ../config.traits key) "description")}}
</li> </li>
{{/if}} {{/if}}
{{/each}} {{/each}}
+2 -2
View File
@@ -17,8 +17,8 @@
{{#each item.system.traits as |trait key|}} {{#each item.system.traits as |trait key|}}
{{#if trait}} {{#if trait}}
<li> <li>
<strong>{{localize (lookup ../config.traits key).name}}</strong>: <strong>{{localize (lookup (lookup ../config.traits key) "name")}}</strong>:
{{localize (lookup ../config.traits key).description}} {{localize (lookup (lookup ../config.traits key) "description")}}
</li> </li>
{{/if}} {{/if}}
{{/each}} {{/each}}
+2 -2
View File
@@ -64,8 +64,8 @@
{{#each item.system.traits as |trait key|}} {{#each item.system.traits as |trait key|}}
{{#if trait}} {{#if trait}}
<li> <li>
<strong>{{localize (lookup ../config.traits key).name}}</strong>: <strong>{{localize (lookup (lookup ../config.traits key) "name")}}</strong>:
{{localize (lookup ../config.traits key).description}} {{localize (lookup (lookup ../config.traits key) "description")}}
</li> </li>
{{/if}} {{/if}}
{{/each}} {{/each}}
+2 -2
View File
@@ -72,8 +72,8 @@
{{#each item.system.traits as |trait key|}} {{#each item.system.traits as |trait key|}}
{{#if trait}} {{#if trait}}
<li> <li>
<strong>{{localize (lookup ../config.traits key).name}}</strong>: <strong>{{localize (lookup (lookup ../config.traits key) "name")}}</strong>:
{{localize (lookup ../config.traits key).description}} {{localize (lookup (lookup ../config.traits key) "description")}}
</li> </li>
{{/if}} {{/if}}
{{/each}} {{/each}}
+4 -1
View File
@@ -38,6 +38,9 @@
</span> </span>
</h4> </h4>
<h4>description</h4> <h4>description</h4>
{{editor system.description target="system.description" rollData=rollData button=true owner=owner editable=editable}} <fieldset>
<legend>{{localize "VERMINE.sheet.description"}}</legend>
{{formInput systemFields.description enriched=enrichedDescription value=system.description name="system.description" toggled=true}}
</fieldset>
</section> </section>
</div> </div>
+4 -1
View File
@@ -31,7 +31,10 @@
</span> </span>
</h4> </h4>
<h4>description</h4> <h4>description</h4>
{{editor system.description target="system.description" rollData=rollData button=true owner=owner editable=editable}} <fieldset>
<legend>{{localize "VERMINE.sheet.description"}}</legend>
{{formInput systemFields.description enriched=enrichedDescription value=system.description name="system.description" toggled=true}}
</fieldset>
</section> </section>
</div> </div>
+4 -1
View File
@@ -15,6 +15,9 @@
</h4> </h4>
<h2>description</h2> <h2>description</h2>
{{editor system.description target="system.description" rollData=rollData button=true owner=owner editable=editable}} <fieldset>
<legend>{{localize "VERMINE.sheet.description"}}</legend>
{{formInput systemFields.description enriched=enrichedDescription value=system.description name="system.description" toggled=true}}
</fieldset>
</section> </section>
</div> </div>
+4 -1
View File
@@ -20,7 +20,10 @@
</aside> </aside>
<main style="flex:10"> <main style="flex:10">
<div class="editor-wrapper"> <div class="editor-wrapper">
{{editor system.description target="system.description" button=true owner=owner editable=editable}} <fieldset>
<legend>{{localize "VERMINE.sheet.description"}}</legend>
{{formInput systemFields.description enriched=enrichedDescription value=system.description name="system.description" toggled=true}}
</fieldset>
</div> </div>
</main> </main>
<div class="grid"> <div class="grid">
+4 -1
View File
@@ -5,7 +5,10 @@
{{!-- Sheet Body --}} {{!-- Sheet Body --}}
<section class="sheet-body"> <section class="sheet-body">
{{editor system.description target="system.description" rollData=rollData button=true owner=owner editable=editable}} <fieldset>
<legend>{{localize "VERMINE.sheet.description"}}</legend>
{{formInput systemFields.description enriched=enrichedDescription value=system.description name="system.description" toggled=true}}
</fieldset>
</section> </section>
</div> </div>
+4 -1
View File
@@ -19,7 +19,10 @@
{{!-- Description Tab --}} {{!-- Description Tab --}}
<div class="tab" data-group="primary" data-tab="description"> <div class="tab" data-group="primary" data-tab="description">
{{editor system.description target="system.description" rollData=rollData button=true owner=owner editable=editable}} <fieldset>
<legend>{{localize "VERMINE.sheet.description"}}</legend>
{{formInput systemFields.description enriched=enrichedDescription value=system.description name="system.description" toggled=true}}
</fieldset>
</div> </div>
{{!-- Attributes Tab --}} {{!-- Attributes Tab --}}
+4 -1
View File
@@ -5,7 +5,10 @@
{{!-- Sheet Body --}} {{!-- Sheet Body --}}
<section class="sheet-body"> <section class="sheet-body">
{{editor system.description target="system.description" rollData=rollData button=true owner=owner editable=editable}} <fieldset>
<legend>{{localize "VERMINE.sheet.description"}}</legend>
{{formInput systemFields.description enriched=enrichedDescription value=system.description name="system.description" toggled=true}}
</fieldset>
</section> </section>
</div> </div>
+4 -2
View File
@@ -15,8 +15,10 @@
</select> </select>
</h4> </h4>
<h2>description</h2> <h2>description</h2>
{{editor system.description target="system.description" rollData=rollData <fieldset>
button=true owner=owner editable=editable}} <legend>{{localize "VERMINE.sheet.description"}}</legend>
{{formInput systemFields.description enriched=enrichedDescription value=system.description name="system.description" toggled=true}}
</fieldset>
</div> </div>
</section> </section>
+4 -2
View File
@@ -39,6 +39,8 @@
</h4> </h4>
<h2>description</h2> <h2>description</h2>
{{editor system.description target="system.description" rollData=rollData <fieldset>
button=true owner=owner editable=editable}} <legend>{{localize "VERMINE.sheet.description"}}</legend>
{{formInput systemFields.description enriched=enrichedDescription value=system.description name="system.description" toggled=true}}
</fieldset>
{{> "systems/vermine2047/templates/item/partials/damages.hbs"}} {{> "systems/vermine2047/templates/item/partials/damages.hbs"}}