Fix apv2, WIP
This commit is contained in:
@@ -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",
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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
@@ -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 {
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
+12
-3
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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 --}}
|
||||||
|
|||||||
@@ -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}}
|
||||||
|
|||||||
@@ -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) --}}
|
||||||
|
|||||||
@@ -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}}
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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}}
|
||||||
|
|||||||
@@ -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}}
|
||||||
|
|||||||
@@ -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}}
|
||||||
|
|||||||
@@ -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}}
|
||||||
|
|||||||
@@ -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}}
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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>
|
||||||
@@ -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>
|
||||||
|
|||||||
@@ -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">
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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 --}}
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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"}}
|
||||||
|
|||||||
Reference in New Issue
Block a user