6 Commits

Author SHA1 Message Date
6962d6fc04 Merge branch 'master' of ssh://pi.rikspolisen.se:2222/foundryvtt/kopparhavet 2021-07-28 13:10:53 +02:00
3f044c0b97 fixed missing link 2021-07-28 13:10:40 +02:00
cace9cc899 0.0.7 (#7)
finishing for version 0.0.7
Co-Authored-By: erebus <erebus@rikspolisen.se>
Co-Committed-By: erebus <erebus@rikspolisen.se>
2021-07-28 13:08:19 +02:00
0c1729a4b4 Uppdatera 'system.json' 2021-03-19 04:28:46 +00:00
77806b38c4 v0.0.6
Version 0.0.6
Fixed rolling of rituals
Fixed skill dialog for rituals
Fixed chat message for rituals
Fixed chat message for opposed spell rolls
Co-Authored-By: erebus <erebus@rikspolisen.se>
Co-Committed-By: erebus <erebus@rikspolisen.se>
2021-03-19 04:22:29 +00:00
3fd49d32bc 0.0.5 (#5)
finishing for version 0.0.5

Added spells packs

v0.0.4 fixes

Added weapons packs, ship sheet

added armor pack, updated skills pack, initial work on ship sheet, minor fixes, added options for spell cost to be drawn on roll

Finishing v0.0.3

layout fixes

layout fixes

Added support for rolling skill on spells

Fixed typo

Fixed migration

Fixed migration, Spell Skill

Cleaned up the code

Fixed Hjältarnas Tid skill error, updated layout, fixed buttons not working

Fixed right click menu for weapons

Added roll dialog and exceptional rolls

Updated skills styling

Co-authored-by: Erebus <erebus@rikspolisen.se>
Reviewed-on: #5
Co-Authored-By: erebus <erebus@rikspolisen.se>
Co-Committed-By: erebus <erebus@rikspolisen.se>
2021-03-03 18:16:38 +00:00
34 changed files with 324 additions and 294 deletions

View File

@@ -154,7 +154,7 @@ export class ActorSheetKH extends ActorSheet {
icon: '<i class="far dice"></i>', icon: '<i class="far dice"></i>',
callback: (li) => { callback: (li) => {
let itemId = li.data("itemId"); let itemId = li.data("itemId");
let _item = this.actor.items.find((element) => element._id == itemId); let _item = this.actor.items.find((element) => element.id == itemId);
// Retrieve skill based on name // Retrieve skill based on name
let skill = this.actor.items.find((element) => element.name === _item.data.data.skill.value); let skill = this.actor.items.find((element) => element.name === _item.data.data.skill.value);
@@ -186,7 +186,7 @@ export class ActorSheetKH extends ActorSheet {
icon: '<i class="far dice"></i>', icon: '<i class="far dice"></i>',
callback: (li) => { callback: (li) => {
let itemId = li.data("itemId"); let itemId = li.data("itemId");
let _item = this.actor.items.find((element) => element._id == itemId); let _item = this.actor.items.find((element) => element.id == itemId);
let skillName = _item.name let skillName = _item.name
let skillValue = _item.data.data.value let skillValue = _item.data.data.value
@@ -214,14 +214,14 @@ export class ActorSheetKH extends ActorSheet {
name: game.i18n.localize("MENU.SHOWROLLDIALOG"), name: game.i18n.localize("MENU.SHOWROLLDIALOG"),
icon: '<i class="far dice"></i>', icon: '<i class="far dice"></i>',
callback: (li) => { callback: (li) => {
let itemId = li.data("itemId"); let itemId = li.data("item-id");
let _item = this.actor.items.find((element) => element._id == itemId); let _item = this.actor.items.find((element) => element.id == itemId);
if (!_item) { if (!_item) {
_item = game.items.get(itemId); _item = game.items.get(itemId);
if (!_item) { if (!_item) {
console.log("IMPORT ERROR") console.log("IMPORT ERROR 1")
return return
} }
} }
@@ -406,7 +406,7 @@ export class ActorSheetKH extends ActorSheet {
html.find(".item-delete").click((ev) => { html.find(".item-delete").click((ev) => {
let parent = $(ev.currentTarget).data("parent") let parent = $(ev.currentTarget).data("parent")
const li = $(ev.currentTarget).parents(parent); const li = $(ev.currentTarget).parents(parent);
const item = this.actor.getOwnedItem(li.data("itemId")); const item = this.actor.items.get(li.data("itemId"));
if(item) { if(item) {
if (item.type === "armor") { if (item.type === "armor") {
@@ -417,7 +417,7 @@ export class ActorSheetKH extends ActorSheet {
this.actor.items.map((i) => { this.actor.items.map((i) => {
if (i.type === "armor") { if (i.type === "armor") {
if (i._id !== item._id && i.data.data.equipable.equipped && i.data?.data?.modifications) { if (i.id !== item.id && i.data.data.equipable.equipped && i.data?.data?.modifications) {
for (let k of Object.keys(i.data.data.modifications)) { for (let k of Object.keys(i.data.data.modifications)) {
if (i.data.data.modifications[k].modtype === "init") { if (i.data.data.modifications[k].modtype === "init") {
initValue = i.data.data.modifications[k].value; initValue = i.data.data.modifications[k].value;
@@ -444,13 +444,13 @@ export class ActorSheetKH extends ActorSheet {
let parent = $(ev.currentTarget).data("parent") let parent = $(ev.currentTarget).data("parent")
let li = $(ev.currentTarget).parents(parent); let li = $(ev.currentTarget).parents(parent);
let itemId = li.data("itemId"); let itemId = li.data("itemId");
let item = this.actor.getOwnedItem(itemId); let item = this.actor.items.get(itemId);
if (!item) { if (!item) {
item = game.items.get(itemId); item = game.items.get(itemId);
if (!item) { if (!item) {
console.log("IMPORT ERROR") console.log("IMPORT ERROR 2")
} }
} }
@@ -463,13 +463,13 @@ export class ActorSheetKH extends ActorSheet {
html.find(".roll-spell-cost").click((ev) => { html.find(".roll-spell-cost").click((ev) => {
const li = $(ev.currentTarget).parents(".item-spell"); const li = $(ev.currentTarget).parents(".item-spell");
let itemId = li.data("itemId"); let itemId = li.data("itemId");
let spell = this.actor.getOwnedItem(itemId); let spell = this.actor.items.get(itemId);
if (!spell) { if (!spell) {
spell = game.items.get(itemId); spell = game.items.get(itemId);
if (!spell) { if (!spell) {
console.log("IMPORT ERROR") console.log("IMPORT ERROR 3")
return return
} }
} }
@@ -486,14 +486,14 @@ export class ActorSheetKH extends ActorSheet {
html.find(".roll-spell-skill").click((ev) => { html.find(".roll-spell-skill").click((ev) => {
const li = $(ev.currentTarget).parents(".item-spell"); const li = $(ev.currentTarget).parents(".item-spell");
let itemId = li.data("itemId"); let itemId = li.data("item-id");
let spell = this.actor.getOwnedItem(itemId); let spell = this.actor.items.get(itemId);
if (!spell) { if (!spell) {
spell = game.items.get(itemId); spell = game.items.get(itemId);
if (!spell) { if (!spell) {
console.log("IMPORT ERROR") console.log("IMPORT ERROR 4")
return return
} }
} }
@@ -614,8 +614,13 @@ export class ActorSheetKH extends ActorSheet {
/* Roll skill */ /* Roll skill */
html.find(".roll-skill").click((ev) => { html.find(".roll-skill").click((ev) => {
const li = $(ev.currentTarget).parents(".item-skill"); const li = $(ev.currentTarget).parents(".item-skill");
let itemId = li.data("itemId"); let itemId = li.data("item-id");
let _item = this.actor.items.find((element) => element._id == itemId); let _item = this.actor.items.find((element) => element.id === itemId);
console.log(li)
console.log(li.data)
console.log(itemId)
console.log(_item)
let skillName = _item.name let skillName = _item.name
let skillValue = _item.data.data.value let skillValue = _item.data.data.value
@@ -632,13 +637,13 @@ export class ActorSheetKH extends ActorSheet {
html.find(".roll-weapon-skill").click((ev) => { html.find(".roll-weapon-skill").click((ev) => {
const li = $(ev.currentTarget).parents(".item-weapon"); const li = $(ev.currentTarget).parents(".item-weapon");
let itemId = li.data("itemId"); let itemId = li.data("itemId");
let weapon = this.actor.getOwnedItem(itemId); let weapon = this.actor.items.get(itemId);
if (!weapon) { if (!weapon) {
weapon = game.items.get(itemId); weapon = game.items.get(itemId);
if (!weapon) { if (!weapon) {
console.log("IMPORT ERROR") console.log("IMPORT ERROR 5")
return return
} }
} }
@@ -661,13 +666,13 @@ export class ActorSheetKH extends ActorSheet {
html.find(".roll-damage").click((ev) => { html.find(".roll-damage").click((ev) => {
const li = $(ev.currentTarget).parents(".item-weapon"); const li = $(ev.currentTarget).parents(".item-weapon");
let itemId = li.data("itemId"); let itemId = li.data("itemId");
let weapon = this.actor.getOwnedItem(itemId); let weapon = this.actor.items.get(itemId);
if (!weapon) { if (!weapon) {
weapon = game.items.get(itemId); weapon = game.items.get(itemId);
if (!weapon) { if (!weapon) {
console.log("IMPORT ERROR") console.log("IMPORT ERROR 6")
return return
} }
} }
@@ -686,13 +691,13 @@ export class ActorSheetKH extends ActorSheet {
html.find(".roll-armor").click((ev) => { html.find(".roll-armor").click((ev) => {
const li = $(ev.currentTarget).parents(".item"); const li = $(ev.currentTarget).parents(".item");
let itemId = li.data("itemId"); let itemId = li.data("itemId");
let armor = this.actor.getOwnedItem(itemId); let armor = this.actor.items.get(itemId);
if (!armor) { if (!armor) {
armor = game.items.get(itemId); armor = game.items.get(itemId);
if (!armor) { if (!armor) {
console.log("IMPORT ERROR") console.log("IMPORT ERROR 7")
return return
} }
} }
@@ -747,13 +752,13 @@ export class ActorSheetKH extends ActorSheet {
html.find(".roll-attack-damage").click((ev) => { html.find(".roll-attack-damage").click((ev) => {
const li = $(ev.currentTarget).parents(".item-attack"); const li = $(ev.currentTarget).parents(".item-attack");
let itemId = li.data("itemId"); let itemId = li.data("itemId");
let weapon = this.actor.getOwnedItem(itemId); let weapon = this.actor.items.get(itemId);
if (!weapon) { if (!weapon) {
weapon = game.items.get(itemId); weapon = game.items.get(itemId);
if (!weapon) { if (!weapon) {
console.log("IMPORT ERROR") console.log("IMPORT ERROR 8")
return return
} }
} }
@@ -906,7 +911,7 @@ export class ActorSheetKH extends ActorSheet {
async _toggleEquippedItem(event) { async _toggleEquippedItem(event) {
const li = $(event.currentTarget); const li = $(event.currentTarget);
const item = this.actor.getOwnedItem(li.data("itemId")); const item = this.actor.items.get(li.data("itemId"));
const actor = this.actor; const actor = this.actor;
if(item) { if(item) {
@@ -918,7 +923,7 @@ export class ActorSheetKH extends ActorSheet {
actor.items.map((i) => { actor.items.map((i) => {
if(i.type === "armor") { if(i.type === "armor") {
if(i._id !== item._id && i.data.data.equipable.equipped && i.data?.data?.modifications) { if(i.id !== item.id && i.data.data.equipable.equipped && i.data?.data?.modifications) {
for(let k of Object.keys(i.data.data.modifications)) { for(let k of Object.keys(i.data.data.modifications)) {
if(i.data.data.modifications[k].modtype === "init") { if(i.data.data.modifications[k].modtype === "init") {
initValue = i.data.data.modifications[k].value; initValue = i.data.data.modifications[k].value;
@@ -953,10 +958,10 @@ export class ActorSheetKH extends ActorSheet {
const li = $(event.currentTarget).parents(".item"); const li = $(event.currentTarget).parents(".item");
let itemId = li.data("itemId"); let itemId = li.data("itemId");
let item = this.actor.getOwnedItem(itemId); let item = this.actor.items.get(itemId);
if (!item) { if (!item) {
console.log("IMPORT ERROR") console.log("IMPORT ERROR 9")
} }
item.update({ ["data.quantity.value"]: item.data.data.quantity.value + 1 }); item.update({ ["data.quantity.value"]: item.data.data.quantity.value + 1 });
@@ -967,10 +972,10 @@ export class ActorSheetKH extends ActorSheet {
const li = $(event.currentTarget).parents(".item"); const li = $(event.currentTarget).parents(".item");
let itemId = li.data("itemId"); let itemId = li.data("itemId");
let item = this.actor.getOwnedItem(itemId); let item = this.actor.items.get(itemId);
if (!item) { if (!item) {
console.log("IMPORT ERROR") console.log("IMPORT ERROR 10")
} }
let count = item.data.data.quantity.value - 1 > 0 ? item.data.data.quantity.value - 1 : 0; let count = item.data.data.quantity.value - 1 > 0 ? item.data.data.quantity.value - 1 : 0;
@@ -982,14 +987,14 @@ export class ActorSheetKH extends ActorSheet {
event.preventDefault(); event.preventDefault();
const itemId = $(event.currentTarget).data("item-id"); const itemId = $(event.currentTarget).data("item-id");
let _item = this.actor.items.find((element) => element._id == itemId); let _item = this.actor.items.find((element) => element.id == itemId);
if (_item) { if (_item) {
let update = { let update = {
_id: _item._id, _id: _item.id,
data: { value: $(event.currentTarget).val() }, data: { value: $(event.currentTarget).val() },
}; };
await this.actor.updateEmbeddedEntity("OwnedItem", update); await this.actor.updateEmbeddedEntity("Item", [update]);
} }
} }
@@ -997,20 +1002,23 @@ export class ActorSheetKH extends ActorSheet {
event.preventDefault(); event.preventDefault();
const itemId = $(event.currentTarget).data("item-id"); const itemId = $(event.currentTarget).data("item-id");
let _item = this.actor.items.find((element) => element._id == itemId); let _item = this.actor.items.find((element) => element.id == itemId);
console.log(_item)
console.log(itemId)
if (_item) { if (_item) {
let newVal = true; let newVal = true;
if(_item.data.data.used !== undefined) { if(_item.data.used !== undefined) {
newVal = !_item.data.data.used; newVal = !_item.data.used;
} }
let update = { let update = {
_id: _item._id, _id: _item.id,
data: { used: newVal }, data: { used: newVal },
}; };
await this.actor.updateEmbeddedEntity("OwnedItem", update); await this.actor.updateEmbeddedEntity("Item", [update]);
} }
} }
@@ -1026,14 +1034,14 @@ export class ActorSheetKH extends ActorSheet {
* @private * @private
*/ */
async _itemDetailsToChat(itemId) { async _itemDetailsToChat(itemId) {
let item = this.actor.getOwnedItem(itemId); let item = this.actor.items.get(itemId);
if (!item) { if (!item) {
item = game.items.get(itemId); item = game.items.get(itemId);
} }
if (!item) { if (!item) {
console.log("IMPORT ERROR") console.log("IMPORT ERROR 11")
return return
} }
@@ -1041,11 +1049,11 @@ export class ActorSheetKH extends ActorSheet {
const html = await renderTemplate("systems/kopparhavet/templates/chat/item-card.html", itemDetails); const html = await renderTemplate("systems/kopparhavet/templates/chat/item-card.html", itemDetails);
const messageData = { const messageData = {
user: game.user._id, user: game.user.id,
type: CONST.CHAT_MESSAGE_TYPES.OTHER, type: CONST.CHAT_MESSAGE_TYPES.OTHER,
content: html, content: html,
speaker: { speaker: {
actor: this.actor._id, actor: this.actor.id,
token: this.actor.token, token: this.actor.token,
alias: this.actor.name, alias: this.actor.name,
}, },

View File

@@ -23,9 +23,9 @@ export default class KHDiceRoller {
await roll.toMessage({ await roll.toMessage({
create: true, create: true,
content: html, content: html,
user: game.user._id, user: game.user.id,
speaker: { speaker: {
actor: speaker._id, actor: speaker.id,
token: speaker.token, token: speaker.token,
alias: speaker.name, alias: speaker.name,
}, },
@@ -50,9 +50,9 @@ export default class KHDiceRoller {
await roll.toMessage({ await roll.toMessage({
create: true, create: true,
content: html, content: html,
user: game.user._id, user: game.user.id,
speaker: { speaker: {
actor: speaker._id, actor: speaker.id,
token: speaker.token, token: speaker.token,
alias: speaker.name, alias: speaker.name,
}, },
@@ -81,9 +81,9 @@ export default class KHDiceRoller {
await roll.toMessage({ await roll.toMessage({
create: true, create: true,
content: html, content: html,
user: game.user._id, user: game.user.id,
speaker: { speaker: {
actor: speaker._id, actor: speaker.id,
token: speaker.token, token: speaker.token,
alias: speaker.name, alias: speaker.name,
}, },
@@ -160,9 +160,9 @@ export default class KHDiceRoller {
await roll.toMessage({ await roll.toMessage({
create: true, create: true,
content: html, content: html,
user: game.user._id, user: game.user.id,
speaker: { speaker: {
actor: speaker._id, actor: speaker.id,
token: speaker.token, token: speaker.token,
alias: speaker.name, alias: speaker.name,
}, },
@@ -354,9 +354,9 @@ export default class KHDiceRoller {
await roll.toMessage({ await roll.toMessage({
create: true, create: true,
content: html, content: html,
user: game.user._id, user: game.user.id,
speaker: { speaker: {
actor: speaker._id, actor: speaker.id,
token: speaker.token, token: speaker.token,
alias: speaker.name, alias: speaker.name,
}, },
@@ -427,9 +427,9 @@ export default class KHDiceRoller {
await ChatMessage.create({ await ChatMessage.create({
create: true, create: true,
content: html, content: html,
user: game.user._id, user: game.user.id,
speaker: { speaker: {
actor: speaker._id, actor: speaker.id,
token: speaker.token, token: speaker.token,
alias: speaker.name, alias: speaker.name,
}, },

View File

@@ -39,23 +39,24 @@ export class ItemSheetKH extends ItemSheet {
let skillList2 let skillList2
if(game.settings.get("kopparhavet", "gameSystem") === "hjaltarnas-tid") { if(game.settings.get("kopparhavet", "gameSystem") === "hjaltarnas-tid") {
skillList2 = await game.packs.get("kopparhavet.skills-ht").getContent(); skillList2 = await game.packs.get("kopparhavet.skills-ht").getDocuments();
} else { } else {
skillList2 = await game.packs.get("kopparhavet.skills").getContent(); skillList2 = await game.packs.get("kopparhavet.skills").getDocuments();
} }
for (let item of skillList2) { for (let item of skillList2) {
if(item.data.type === "skill" && item.data.data.type.value === "combat") { if(item.data.type === "skill" && item.data.data.type.value === "combat") {
skillList.push(item) skillList.push(item.data)
} }
} }
// Retrieve any created skills as well // Retrieve any created skills as well
for (let item of game.items.entities) { for (let item of game.items.entities) {
if(item.data.type === "skill" && item.data.data.type.value === "combat") { if(item.data.type === "skill" && item.data.data.type.value === "combat") {
skillList.push(item) skillList.push(item.data)
} }
} }
this.position.width = 530; this.position.width = 530;
this.position.height = 750; this.position.height = 750;
break; break;
@@ -77,23 +78,24 @@ export class ItemSheetKH extends ItemSheet {
let skillList3 let skillList3
if(game.settings.get("kopparhavet", "gameSystem") === "hjaltarnas-tid") { if(game.settings.get("kopparhavet", "gameSystem") === "hjaltarnas-tid") {
skillList3 = await game.packs.get("kopparhavet.skills-ht").getContent(); skillList3 = await game.packs.get("kopparhavet.skills-ht").getDocuments();
} else { } else {
skillList3 = await game.packs.get("kopparhavet.skills").getContent(); skillList3 = await game.packs.get("kopparhavet.skills").getDocuments();
} }
for (let item of skillList3) { for (let item of skillList3) {
if(item.data.type === "skill") { if(item.data.type === "skill") {
skillList.push(item) skillList.push(item.data)
} }
} }
// Retrieve any created skills as well // Retrieve any created skills as well
for (let item of game.items.entities) { for (let item of game.items.entities) {
if(item.data.type === "skill") { if(item.data.data.type === "skill") {
skillList.push(item) skillList.push(item.data)
} }
} }
this.position.width = 450; this.position.width = 450;
this.position.height = 605; this.position.height = 605;
break; break;
@@ -102,21 +104,21 @@ export class ItemSheetKH extends ItemSheet {
let skillList4 let skillList4
if(game.settings.get("kopparhavet", "gameSystem") === "hjaltarnas-tid") { if(game.settings.get("kopparhavet", "gameSystem") === "hjaltarnas-tid") {
skillList4 = await game.packs.get("kopparhavet.skills-ht").getContent(); skillList4 = await game.packs.get("kopparhavet.skills-ht").getDocuments();
} else { } else {
skillList4 = await game.packs.get("kopparhavet.skills").getContent(); skillList4 = await game.packs.get("kopparhavet.skills").getDocuments();
} }
for (let item of skillList4) { for (let item of skillList4) {
if(item.data.type === "skill" && item.data.data.type.value === "combat") { if(item.data.type === "skill" && item.data.data.type.value === "combat") {
skillList.push(item) skillList.push(item.data)
} }
} }
// Retrieve any created skills as well // Retrieve any created skills as well
for (let item of game.items.entities) { for (let item of game.items.entities) {
if(item.data.type === "skill" && item.data.data.type.value === "combat") { if(item.data.type === "skill" && item.data.data.type.value === "combat") {
skillList.push(item) skillList.push(item.data)
} }
} }
this.position.width = 530; this.position.width = 530;

View File

@@ -27,7 +27,7 @@ export class ItemKH extends Item {
const html = await renderTemplate("systems/kopparhavet/templates/chat/item-card.html", itemData); const html = await renderTemplate("systems/kopparhavet/templates/chat/item-card.html", itemData);
const chatData = { const chatData = {
user: game.user._id, user: game.user.id,
rollMode: game.settings.get("core", "rollMode"), rollMode: game.settings.get("core", "rollMode"),
content: html, content: html,
}; };

View File

@@ -57,7 +57,7 @@ class KHDice {
const html2 = await renderTemplate("systems/kopparhavet/templates/dice/roll.html", rollData); const html2 = await renderTemplate("systems/kopparhavet/templates/dice/roll.html", rollData);
await r.toMessage({ await r.toMessage({
user: game.user._id, user: game.user.id,
create: true, create: true,
content: html2 content: html2
}); });

View File

@@ -10,10 +10,10 @@ export default class KHHooks {
actor.update({ "data.currency.shekel.label": "CURRENCY.SILVER" }); actor.update({ "data.currency.shekel.label": "CURRENCY.SILVER" });
actorbaseSkills = CONFIG.KH.baseSkillsHT actorbaseSkills = CONFIG.KH.baseSkillsHT
skillIndex = await game.packs.get("kopparhavet.skills-ht").getContent(); skillIndex = await game.packs.get("kopparhavet.skills-ht").getDocuments();
} else { } else {
actorbaseSkills = CONFIG.KH.baseSkills; actorbaseSkills = CONFIG.KH.baseSkills;
skillIndex = await game.packs.get("kopparhavet.skills").getContent(); skillIndex = await game.packs.get("kopparhavet.skills").getDocuments();
} }
// Check if skill already exists by some chance // Check if skill already exists by some chance
@@ -23,7 +23,15 @@ export default class KHHooks {
// Filter skillIndex array to include only skills for Actor Type. // Filter skillIndex array to include only skills for Actor Type.
let _skillsList = skillIndex.filter((i) => skillsToAdd.includes(i.data.name)); let _skillsList = skillIndex.filter((i) => skillsToAdd.includes(i.data.name));
await actor.createEmbeddedEntity("OwnedItem", _skillsList); let _sl = [];
_skillsList.forEach((s) => {
//s.data._source.data["creatureType"] = actor.data.type;
//s.data._source.data["coreSkill"] = true;
_sl.push(s.data);
});
await actor.createEmbeddedDocuments("Item", _sl);
//await actor.createEmbeddedDocuments("Item", [_skillsList.toObject()]);
} else { } else {
setTimeout(async function () { setTimeout(async function () {
await actor.sheet.render(true); await actor.sheet.render(true);

View File

@@ -9,8 +9,8 @@ import * as migrations from "./helpers/migration-helper.js";
Hooks.once("init", () => { Hooks.once("init", () => {
CONFIG.Combat.initiative = { formula: "(@combat.init)d6kh2", decimals: 0 }; CONFIG.Combat.initiative = { formula: "(@combat.init)d6kh2", decimals: 0 };
CONFIG.Actor.entityClass = ActorKH; CONFIG.Actor.documentClass = ActorKH;
CONFIG.Item.entityClass = ItemKH; CONFIG.Item.documentClass = ItemKH;
// Give global access to FFG config. // Give global access to FFG config.
CONFIG.KH = KH; CONFIG.KH = KH;

View File

@@ -2,9 +2,9 @@
"name": "kopparhavet", "name": "kopparhavet",
"title": "Kopparhavets Hjältar", "title": "Kopparhavets Hjältar",
"description": "The Molten Sea is a dangerous but exciting place, where pirates, sorcerers and secretive orders of knighthood struggle for power, wealth and ancient lore.", "description": "The Molten Sea is a dangerous but exciting place, where pirates, sorcerers and secretive orders of knighthood struggle for power, wealth and ancient lore.",
"version": "0.0.6", "version": "0.0.7",
"minimumCoreVersion": "0.7.5", "minimumCoreVersion": "0.8.6",
"compatibleCoreVersion": "0.7.9", "compatibleCoreVersion": "0.8.8",
"templateVersion": 4, "templateVersion": 4,
"author": "Erebus", "author": "Erebus",
"scripts": [], "scripts": [],
@@ -95,6 +95,6 @@
"url": "https://pi.rikspolisen.se/foundryvtt/kopparhavet", "url": "https://pi.rikspolisen.se/foundryvtt/kopparhavet",
"socket": true, "socket": true,
"manifest": "https://pi.rikspolisen.se/foundryvtt/kopparhavet/raw/branch/master/system.json", "manifest": "https://pi.rikspolisen.se/foundryvtt/kopparhavet/raw/branch/master/system.json",
"download": "https://pi.rikspolisen.se/foundryvtt/kopparhavet/archive/v0.0.5.zip", "download": "https://pi.rikspolisen.se/foundryvtt/kopparhavet/archive/v0.0.7.zip",
"license": "LICENCE.txt" "license": "LICENCE.txt"
} }

View File

@@ -8,25 +8,25 @@
<label style="margin: auto;">{{localize "BIO.NAME"}}:</label> <label style="margin: auto;">{{localize "BIO.NAME"}}:</label>
<h1 class="charname" style="margin-bottom: 0;grid-column: 3/6;"><input name="name" type="text" value="{{actor.name}}" placeholder="{{localize "BIO.NAME"}}" /></h1> <h1 class="charname" style="margin-bottom: 0;grid-column: 3/6;"><input name="name" type="text" value="{{actor.name}}" placeholder="{{localize "BIO.NAME"}}" /></h1>
<label style="margin: auto;">{{localize data.health.label}}:</label> <label style="margin: auto;">{{localize data.data.health.label}}:</label>
<div class="grid-container" style="grid-template-columns: auto 1fr auto;"> <div class="grid-container" style="grid-template-columns: auto 1fr auto;">
<input class="center-text" type="text" name="data.health.value" value="{{data.health.value}}" data-dtype="Number" /> <input class="center-text" type="text" name="data.health.value" value="{{data.data.health.value}}" data-dtype="Number" />
<span> / </span> <span> / </span>
<input class="center-text" type="text" name="data.health.max" value="{{data.health.max}}" data-dtype="Number" /> <input class="center-text" type="text" name="data.health.max" value="{{data.data.health.max}}" data-dtype="Number" />
</div> </div>
<label style="margin: auto;">{{localize data.stamina.label}}:</label> <label style="margin: auto;">{{localize data.data.stamina.label}}:</label>
<div class="grid-container" style="grid-template-columns: auto 1fr auto;"> <div class="grid-container" style="grid-template-columns: auto 1fr auto;">
<input class="center-text" type="text" name="data.stamina.value" value="{{data.stamina.value}}" data-dtype="Number" /> <input class="center-text" type="text" name="data.stamina.value" value="{{data.data.stamina.value}}" data-dtype="Number" />
<span> / </span> <span> / </span>
<input class="center-text" type="text" name="data.stamina.max" value="{{data.stamina.max}}" data-dtype="Number" /> <input class="center-text" type="text" name="data.stamina.max" value="{{data.data.stamina.max}}" data-dtype="Number" />
</div> </div>
<label style="margin: auto;">{{localize data.mana.label}}:</label> <label style="margin: auto;">{{localize data.data.mana.label}}:</label>
<div class="grid-container" style="grid-template-columns: auto 1fr auto;"> <div class="grid-container" style="grid-template-columns: auto 1fr auto;">
<input class="center-text" type="text" name="data.mana.value" value="{{data.mana.value}}" data-dtype="Number" /> <input class="center-text" type="text" name="data.mana.value" value="{{data.data.mana.value}}" data-dtype="Number" />
<span> / </span> <span> / </span>
<input class="center-text" type="text" name="data.mana.max" value="{{data.mana.max}}" data-dtype="Number" /> <input class="center-text" type="text" name="data.mana.max" value="{{data.data.mana.max}}" data-dtype="Number" />
</div> </div>
</div> </div>
@@ -44,7 +44,7 @@
{{> systems/kopparhavet/templates/parts/actor/talent.html}} {{> systems/kopparhavet/templates/parts/actor/talent.html}}
</div> </div>
<div class="tab border note" data-group="primary" data-tab="note" style="height: 100%; border-top: none;"> <div class="tab border note" data-group="primary" data-tab="note" style="height: 100%; border-top: none;">
{{editor content=data.bio.note.value target="data.bio.note.value" button=true owner=owner editable=editable}} {{editor content=data.data.bio.note.value target="data.bio.note.value" button=true owner=owner editable=editable}}
</div> </div>
</div> </div>
</div> </div>

View File

@@ -8,31 +8,31 @@
<label style="margin: auto;">{{localize "BIO.NAME"}}:</label> <label style="margin: auto;">{{localize "BIO.NAME"}}:</label>
<h1 class="charname" style="margin-bottom: 0;grid-column: 3/6;"><input name="name" type="text" value="{{actor.name}}" placeholder="{{localize "BIO.NAME"}}" /></h1> <h1 class="charname" style="margin-bottom: 0;grid-column: 3/6;"><input name="name" type="text" value="{{actor.name}}" placeholder="{{localize "BIO.NAME"}}" /></h1>
<label style="margin: auto;">{{localize data.bio.kin.label}}:</label> <label style="margin: auto;">{{localize data.data.bio.kin.label}}:</label>
<input name="data.bio.kin.value" type="text" value="{{data.bio.kin.value}}" placeholder="{{localize data.bio.kin.label}}" /> <input name="data.bio.kin.value" type="text" value="{{data.data.bio.kin.value}}" placeholder="{{localize data.data.bio.kin.label}}" />
<label style="margin: auto;">{{localize data.bio.profession.label}}:</label> <label style="margin: auto;">{{localize data.data.bio.profession.label}}:</label>
<input name="data.bio.profession.value" type="text" value="{{data.bio.profession.value}}" placeholder="{{localize data.bio.profession.label}}" /> <input name="data.bio.profession.value" type="text" value="{{data.data.bio.profession.value}}" placeholder="{{localize data.data.bio.profession.label}}" />
<label style="margin: auto;">{{localize data.health.label}}:</label> <label style="margin: auto;">{{localize data.data.health.label}}:</label>
<div class="grid-container" style="grid-template-columns: auto 1fr auto;"> <div class="grid-container" style="grid-template-columns: auto 1fr auto;">
<input class="center-text" type="text" name="data.health.value" value="{{data.health.value}}" data-dtype="Number" /> <input class="center-text" type="text" name="data.health.value" value="{{data.data.health.value}}" data-dtype="Number" />
<span> / </span> <span> / </span>
<input class="center-text" type="text" name="data.health.max" value="{{data.health.max}}" data-dtype="Number" /> <input class="center-text" type="text" name="data.health.max" value="{{data.data.health.max}}" data-dtype="Number" />
</div> </div>
<label style="margin: auto;">{{localize data.stamina.label}}:</label> <label style="margin: auto;">{{localize data.data.stamina.label}}:</label>
<div class="grid-container" style="grid-template-columns: auto 1fr auto;"> <div class="grid-container" style="grid-template-columns: auto 1fr auto;">
<input class="center-text" type="text" name="data.stamina.value" value="{{data.stamina.value}}" data-dtype="Number" /> <input class="center-text" type="text" name="data.stamina.value" value="{{data.data.stamina.value}}" data-dtype="Number" />
<span> / </span> <span> / </span>
<input class="center-text" type="text" name="data.stamina.max" value="{{data.stamina.max}}" data-dtype="Number" /> <input class="center-text" type="text" name="data.stamina.max" value="{{data.data.stamina.max}}" data-dtype="Number" />
</div> </div>
<label style="margin: auto;">{{localize data.mana.label}}:</label> <label style="margin: auto;">{{localize data.data.mana.label}}:</label>
<div class="grid-container" style="grid-template-columns: auto 1fr auto;"> <div class="grid-container" style="grid-template-columns: auto 1fr auto;">
<input class="center-text" type="text" name="data.mana.value" value="{{data.mana.value}}" data-dtype="Number" /> <input class="center-text" type="text" name="data.mana.value" value="{{data.data.mana.value}}" data-dtype="Number" />
<span> / </span> <span> / </span>
<input class="center-text" type="text" name="data.mana.max" value="{{data.mana.max}}" data-dtype="Number" /> <input class="center-text" type="text" name="data.mana.max" value="{{data.data.mana.max}}" data-dtype="Number" />
</div> </div>
</div> </div>
@@ -62,7 +62,7 @@
{{> systems/kopparhavet/templates/parts/actor/bio.html}} {{> systems/kopparhavet/templates/parts/actor/bio.html}}
</div> </div>
<div class="tab note border" data-group="primary" data-tab="note" style="border-top: none;"> <div class="tab note border" data-group="primary" data-tab="note" style="border-top: none;">
{{editor content=data.bio.note.value target="data.bio.note.value" button=true owner=owner editable=editable}} {{editor content=data.data.bio.note.value target="data.bio.note.value" button=true owner=owner editable=editable}}
</div> </div>
</div> </div>
</div> </div>

View File

@@ -8,25 +8,25 @@
<label style="margin: auto;">{{localize "BIO.NAME"}}:</label> <label style="margin: auto;">{{localize "BIO.NAME"}}:</label>
<h1 class="charname" style="margin-bottom: 0;grid-column: 3/6;"><input name="name" type="text" value="{{actor.name}}" placeholder="{{localize "BIO.NAME"}}" /></h1> <h1 class="charname" style="margin-bottom: 0;grid-column: 3/6;"><input name="name" type="text" value="{{actor.name}}" placeholder="{{localize "BIO.NAME"}}" /></h1>
<label style="margin: auto;">{{localize data.health.label}}:</label> <label style="margin: auto;">{{localize data.data.health.label}}:</label>
<div class="grid-container" style="grid-template-columns: auto 1fr auto;"> <div class="grid-container" style="grid-template-columns: auto 1fr auto;">
<input class="center-text" type="text" name="data.health.value" value="{{data.health.value}}" data-dtype="Number" /> <input class="center-text" type="text" name="data.health.value" value="{{data.data.health.value}}" data-dtype="Number" />
<span> / </span> <span> / </span>
<input class="center-text" type="text" name="data.health.max" value="{{data.health.max}}" data-dtype="Number" /> <input class="center-text" type="text" name="data.health.max" value="{{data.data.health.max}}" data-dtype="Number" />
</div> </div>
<label style="margin: auto;">{{localize data.stamina.label}}:</label> <label style="margin: auto;">{{localize data.data.stamina.label}}:</label>
<div class="grid-container" style="grid-template-columns: auto 1fr auto;"> <div class="grid-container" style="grid-template-columns: auto 1fr auto;">
<input class="center-text" type="text" name="data.stamina.value" value="{{data.stamina.value}}" data-dtype="Number" /> <input class="center-text" type="text" name="data.stamina.value" value="{{data.data.stamina.value}}" data-dtype="Number" />
<span> / </span> <span> / </span>
<input class="center-text" type="text" name="data.stamina.max" value="{{data.stamina.max}}" data-dtype="Number" /> <input class="center-text" type="text" name="data.stamina.max" value="{{data.data.stamina.max}}" data-dtype="Number" />
</div> </div>
<label style="margin: auto;">{{localize data.mana.label}}:</label> <label style="margin: auto;">{{localize data.data.mana.label}}:</label>
<div class="grid-container" style="grid-template-columns: auto 1fr auto;"> <div class="grid-container" style="grid-template-columns: auto 1fr auto;">
<input class="center-text" type="text" name="data.mana.value" value="{{data.mana.value}}" data-dtype="Number" /> <input class="center-text" type="text" name="data.mana.value" value="{{data.data.mana.value}}" data-dtype="Number" />
<span> / </span> <span> / </span>
<input class="center-text" type="text" name="data.mana.max" value="{{data.mana.max}}" data-dtype="Number" /> <input class="center-text" type="text" name="data.mana.max" value="{{data.data.mana.max}}" data-dtype="Number" />
</div> </div>
</div> </div>
@@ -44,7 +44,7 @@
{{> systems/kopparhavet/templates/parts/actor/talent.html}} {{> systems/kopparhavet/templates/parts/actor/talent.html}}
</div> </div>
<div class="tab border note" data-group="primary" data-tab="note" style="height: 100%; border-top: none;"> <div class="tab border note" data-group="primary" data-tab="note" style="height: 100%; border-top: none;">
{{editor content=data.bio.note.value target="data.bio.note.value" button=true owner=owner editable=editable}} {{editor content=data.data.bio.note.value target="data.bio.note.value" button=true owner=owner editable=editable}}
</div> </div>
</div> </div>
</div> </div>

View File

@@ -8,34 +8,34 @@
<label style="margin: auto;">{{localize "BIO.NAME"}}:</label> <label style="margin: auto;">{{localize "BIO.NAME"}}:</label>
<h1 class="charname" style="margin-bottom: 0; grid-column: 3/6;"><input name="name" type="text" value="{{actor.name}}" placeholder="{{localize "BIO.NAME"}}" /></h1> <h1 class="charname" style="margin-bottom: 0; grid-column: 3/6;"><input name="name" type="text" value="{{actor.name}}" placeholder="{{localize "BIO.NAME"}}" /></h1>
<label style="margin: auto;">{{localize data.bio.nickname.label}}:</label> <label style="margin: auto;">{{localize data.data.bio.nickname.label}}:</label>
<input name="data.bio.nickname.value" style="grid-column: 3/6;" type="text" value="{{data.bio.nickname.value}}" placeholder="{{localize data.bio.nickname.label}}" /> <input name="data.bio.nickname.value" style="grid-column: 3/6;" type="text" value="{{data.data.bio.nickname.value}}" placeholder="{{localize data.data.bio.nickname.label}}" />
<label style="margin: auto;">{{localize data.bio.kin.label}}:</label> <label style="margin: auto;">{{localize data.data.bio.kin.label}}:</label>
<input name="data.bio.kin.value" type="text" value="{{data.bio.kin.value}}" placeholder="{{localize data.bio.kin.label}}" /> <input name="data.bio.kin.value" type="text" value="{{data.data.bio.kin.value}}" placeholder="{{localize data.data.bio.kin.label}}" />
<label style="margin: auto;">{{localize data.bio.profession.label}}:</label> <label style="margin: auto;">{{localize data.data.bio.profession.label}}:</label>
<input name="data.bio.profession.value" type="text" value="{{data.bio.profession.value}}" placeholder="{{localize data.bio.profession.label}}" /> <input name="data.bio.profession.value" type="text" value="{{data.data.bio.profession.value}}" placeholder="{{localize data.data.bio.profession.label}}" />
<label style="margin: auto;">{{localize data.health.label}}:</label> <label style="margin: auto;">{{localize data.data.health.label}}:</label>
<div class="grid-container" style="grid-template-columns: auto 1fr auto;"> <div class="grid-container" style="grid-template-columns: auto 1fr auto;">
<input class="center-text" type="text" name="data.health.value" value="{{data.health.value}}" data-dtype="Number" /> <input class="center-text" type="text" name="data.health.value" value="{{data.data.health.value}}" data-dtype="Number" />
<span> / </span> <span> / </span>
<input class="center-text" type="text" name="data.health.max" value="{{data.health.max}}" data-dtype="Number" /> <input class="center-text" type="text" name="data.health.max" value="{{data.data.health.max}}" data-dtype="Number" />
</div> </div>
<label style="margin: auto;">{{localize data.stamina.label}}:</label> <label style="margin: auto;">{{localize data.data.stamina.label}}:</label>
<div class="grid-container" style="grid-template-columns: auto 1fr auto;"> <div class="grid-container" style="grid-template-columns: auto 1fr auto;">
<input class="center-text" type="text" name="data.stamina.value" value="{{data.stamina.value}}" data-dtype="Number" /> <input class="center-text" type="text" name="data.stamina.value" value="{{data.data.stamina.value}}" data-dtype="Number" />
<span> / </span> <span> / </span>
<input class="center-text" type="text" name="data.stamina.max" value="{{data.stamina.max}}" data-dtype="Number" /> <input class="center-text" type="text" name="data.stamina.max" value="{{data.data.stamina.max}}" data-dtype="Number" />
</div> </div>
<label style="margin: auto;">{{localize data.mana.label}}:</label> <label style="margin: auto;">{{localize data.data.mana.label}}:</label>
<div class="grid-container" style="grid-template-columns: auto 1fr auto;"> <div class="grid-container" style="grid-template-columns: auto 1fr auto;">
<input class="center-text" type="text" name="data.mana.value" value="{{data.mana.value}}" data-dtype="Number" /> <input class="center-text" type="text" name="data.mana.value" value="{{data.data.mana.value}}" data-dtype="Number" />
<span> / </span> <span> / </span>
<input class="center-text" type="text" name="data.mana.max" value="{{data.mana.max}}" data-dtype="Number" /> <input class="center-text" type="text" name="data.mana.max" value="{{data.data.mana.max}}" data-dtype="Number" />
</div> </div>
</div> </div>
@@ -61,7 +61,7 @@
{{> systems/kopparhavet/templates/parts/actor/gear.html}} {{> systems/kopparhavet/templates/parts/actor/gear.html}}
</div> </div>
<div class="tab note border" data-group="primary" data-tab="note" style="border-top: none;"> <div class="tab note border" data-group="primary" data-tab="note" style="border-top: none;">
{{editor content=data.bio.note.value target="data.bio.note.value" button=true owner=owner editable=editable}} {{editor content=data.data.bio.note.value target="data.bio.note.value" button=true owner=owner editable=editable}}
</div> </div>
</div> </div>
</div> </div>

View File

@@ -8,27 +8,27 @@
<label style="margin-top: auto; margin-bottom: auto;">{{localize "BIO.NAME"}}:</label> <label style="margin-top: auto; margin-bottom: auto;">{{localize "BIO.NAME"}}:</label>
<h1 class="charname" style="margin-bottom: 0;grid-column: 3/6;"><input name="name" type="text" value="{{actor.name}}" placeholder="{{localize "BIO.NAME"}}" /></h1> <h1 class="charname" style="margin-bottom: 0;grid-column: 3/6;"><input name="name" type="text" value="{{actor.name}}" placeholder="{{localize "BIO.NAME"}}" /></h1>
<label style="margin-top: auto; margin-bottom: auto;">{{localize data.class.label}}:</label> <label style="margin-top: auto; margin-bottom: auto;">{{localize data.data.class.label}}:</label>
<span class="charname" style="margin-bottom: 0;grid-column: 3/6;"><input name="data.class.value" type="text" value="{{data.class.value}}" placeholder="{{localize data.class.label}}" /></span> <span class="charname" style="margin-bottom: 0;grid-column: 3/6;"><input name="data.class.value" type="text" value="{{data.data.class.value}}" placeholder="{{localize data.data.class.label}}" /></span>
<label style="margin: auto;">{{localize data.operationscost.label}}:</label> <label style="margin: auto;">{{localize data.data.operationscost.label}}:</label>
<input class="center-text" type="text" name="data.operationscost.value" value="{{data.operationscost.value}}" data-dtype="Number" /> <input class="center-text" type="text" name="data.operationscost.value" value="{{data.data.operationscost.value}}" data-dtype="Number" />
<label style="margin: auto;">{{localize data.operationssupply.label}}:</label> <label style="margin: auto;">{{localize data.data.operationssupply.label}}:</label>
<input class="center-text" type="text" name="data.operationssupply.value" value="{{data.operationssupply.value}}" data-dtype="Number" /> <input class="center-text" type="text" name="data.operationssupply.value" value="{{data.data.operationssupply.value}}" data-dtype="Number" />
<label style="margin: auto;">{{localize data.hull.label}}:</label> <label style="margin: auto;">{{localize data.data.hull.label}}:</label>
<div class="grid-container" style="grid-template-columns: auto 1fr auto;"> <div class="grid-container" style="grid-template-columns: auto 1fr auto;">
<input class="center-text" type="text" name="data.hull.value" value="{{data.hull.value}}" data-dtype="Number" /> <input class="center-text" type="text" name="data.hull.value" value="{{data.data.hull.value}}" data-dtype="Number" />
<span style="margin-bottom: auto; margin-top: auto;"> / </span> <span style="margin-bottom: auto; margin-top: auto;"> / </span>
<input class="center-text" type="text" name="data.hull.max" value="{{data.hull.max}}" data-dtype="Number" /> <input class="center-text" type="text" name="data.hull.max" value="{{data.data.hull.max}}" data-dtype="Number" />
</div> </div>
<label style="margin: auto;">{{localize data.cargo.label}}:</label> <label style="margin: auto;">{{localize data.data.cargo.label}}:</label>
<div class="grid-container" style="grid-template-columns: auto 1fr auto;"> <div class="grid-container" style="grid-template-columns: auto 1fr auto;">
<input class="center-text" type="text" name="data.cargo.value" value="{{data.cargo.value}}" data-dtype="Number" /> <input class="center-text" type="text" name="data.cargo.value" value="{{data.data.cargo.value}}" data-dtype="Number" />
<span style="margin-bottom: auto; margin-top: auto;"> / </span> <span style="margin-bottom: auto; margin-top: auto;"> / </span>
<input class="center-text" type="text" name="data.cargo.max" value="{{data.cargo.max}}" data-dtype="Number" /> <input class="center-text" type="text" name="data.cargo.max" value="{{data.data.cargo.max}}" data-dtype="Number" />
</div> </div>
</div> </div>
@@ -46,7 +46,7 @@
{{> systems/kopparhavet/templates/parts/actor/ship-combat.html}} {{> systems/kopparhavet/templates/parts/actor/ship-combat.html}}
</div> </div>
<div class="tab border note" data-group="primary" data-tab="note" style="height: 100%; border-top: none;"> <div class="tab border note" data-group="primary" data-tab="note" style="height: 100%; border-top: none;">
{{editor content=data.bio.note.value target="data.bio.note.value" button=true owner=owner editable=editable}} {{editor content=data.data.bio.note.value target="data.bio.note.value" button=true owner=owner editable=editable}}
</div> </div>
</div> </div>
</div> </div>

View File

@@ -100,5 +100,19 @@
{{{data.description.value}}} {{{data.description.value}}}
{{/if}} {{/if}}
{{/if}} {{/if}}
{{#if isShipWeapon}}
{{#if data.description}}
<h5>{{localize data.description.label}}</h5>
{{{data.description.value}}}
{{/if}}
{{/if}}
{{#if isShipTalent}}
{{#if data.description}}
<h5>{{localize data.description.label}}</h5>
{{{data.description.value}}}
{{/if}}
{{/if}}
</div> </div>
</div> </div>

View File

@@ -9,17 +9,17 @@
</div> </div>
<div class="grid-container" style="grid-template-columns: 1fr 1fr;"> <div class="grid-container" style="grid-template-columns: 1fr 1fr;">
<div class="rating"> <div class="rating">
<label>{{localize data.damage.label}}</label> <label>{{localize data.data.damage.label}}</label>
<input name="data.damage.value" type="text" value="{{data.damage.value}}" /> <input name="data.damage.value" type="text" value="{{data.data.damage.value}}" />
</div> </div>
<div class="rating"> <div class="rating">
<label>{{localize data.skill.label}}</label> <label>{{localize data.data.skill.label}}</label>
<input name="data.skill.value" type="text" value="{{data.skill.value}}" /> <input name="data.skill.value" type="text" value="{{data.data.skill.value}}" />
</div> </div>
<div> <div>
<label>{{localize data.category.label}}</label> <label>{{localize data.data.category.label}}</label>
<select class="item-weapon-cat-select" name="data.category.value"> <select class="item-weapon-cat-select" name="data.category.value">
{{#select data.category.value}} {{#select data.data.category.value}}
<option value="melee">{{localize "WEAPON.MELEE"}}</option> <option value="melee">{{localize "WEAPON.MELEE"}}</option>
<option value="ranged">{{localize "WEAPON.RANGED"}}</option> <option value="ranged">{{localize "WEAPON.RANGED"}}</option>
{{/select}} {{/select}}
@@ -28,10 +28,10 @@
</div> </div>
<div class="item"> <div class="item">
<div class="description"> <div class="description">
<h2>{{localize data.description.label}}</h2> <h2>{{localize data.data.description.label}}</h2>
<div class="info"> <div class="info">
<div class="description"> <div class="description">
{{editor content=data.description.value target="data.description.value" button=true owner=owner editable=editable}} {{editor content=data.data.description.value target="data.description.value" button=true owner=owner editable=editable}}
</div> </div>
</div> </div>
</div> </div>

View File

@@ -10,22 +10,22 @@
<div class="grid-container" style="grid-template-columns: 1fr 1fr;"> <div class="grid-container" style="grid-template-columns: 1fr 1fr;">
<!-- <!--
<div class="supply"> <div class="supply">
<label>{{localize data.quantity.label}}</label> <label>{{localize data.data.quantity.label}}</label>
<input name="data.quantity.value" type="number" value="{{data.quantity.value}}" /> <input name="data.quantity.value" type="number" value="{{data.data.quantity.value}}" />
</div> </div>
--> -->
<div class="cost"> <div class="cost">
<label>{{localize data.price.label}}</label> <label>{{localize data.data.price.label}}</label>
<input name="data.price.value" type="text" value="{{data.price.value}}" /> <input name="data.price.value" type="text" value="{{data.data.price.value}}" />
</div> </div>
<div class="rating"> <div class="rating">
<label>{{localize data.defence.label}}</label> <label>{{localize data.data.defence.label}}</label>
<input name="data.defence.value" type="text" value="{{data.defence.value}}" /> <input name="data.defence.value" type="text" value="{{data.data.defence.value}}" />
</div> </div>
<div> <div>
<label>{{localize data.type.label}}</label> <label>{{localize data.data.type.label}}</label>
<select class="item-weapon-cat-select" name="data.type.value"> <select class="item-weapon-cat-select" name="data.type.value">
{{#select data.type.value}} {{#select data.data.type.value}}
{{#each this.KH.armor_types as |t|}} {{#each this.KH.armor_types as |t|}}
<option value="{{t.value}}">{{localize t.label}}</option> <option value="{{t.value}}">{{localize t.label}}</option>
{{/each}} {{/each}}
@@ -34,14 +34,14 @@
</div> </div>
<div class="grid-container" style="grid-template-columns: 1fr auto;"> <div class="grid-container" style="grid-template-columns: 1fr auto;">
<!-- <!--
<label>{{localize data.equipable.label}}</label> <label>{{localize data.data.equipable.label}}</label>
<a class="item-bool-click {{#if data.equipable.value}}active{{/if}}" data-name="equipable" title="equipable"> <a class="item-bool-click {{#if data.data.equipable.value}}active{{/if}}" data-name="equipable" title="equipable">
<i class="far {{#if data.equipable.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i> <i class="far {{#if data.data.equipable.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
</a> </a>
--> -->
<label>{{localize data.helmet.label}}</label> <label>{{localize data.data.helmet.label}}</label>
<a class="item-bool-click {{#if data.helmet.value}}active{{/if}}" data-name="helmet" title="helmet"> <a class="item-bool-click {{#if data.data.helmet.value}}active{{/if}}" data-name="helmet" title="helmet">
<i class="far {{#if data.helmet.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i> <i class="far {{#if data.data.helmet.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
</a> </a>
</div> </div>
</div> </div>
@@ -55,10 +55,10 @@
<div class="tab scroll-y" data-group="primary" data-tab="description"> <div class="tab scroll-y" data-group="primary" data-tab="description">
<div class="item"> <div class="item">
<div class="description"> <div class="description">
<h2>{{localize data.description.label}}</h2> <h2>{{localize data.data.description.label}}</h2>
<div class="info"> <div class="info">
<div class="description"> <div class="description">
{{editor content=data.description.value target="data.description.value" button=true owner=owner editable=editable}} {{editor content=data.data.description.value target="data.description.value" button=true owner=owner editable=editable}}
</div> </div>
</div> </div>
</div> </div>

View File

@@ -8,21 +8,21 @@
</div> </div>
<div class="grid-container" style="grid-template-columns: 1fr 1fr;"> <div class="grid-container" style="grid-template-columns: 1fr 1fr;">
<div class="supply"> <div class="supply">
<label>{{localize data.quantity.label}}</label> <label>{{localize data.data.quantity.label}}</label>
<input name="data.quantity.value" type="number" value="{{data.quantity.value}}" /> <input name="data.quantity.value" type="number" value="{{data.data.quantity.value}}" />
</div> </div>
<div class="cost"> <div class="cost">
<label>{{localize data.price.label}}</label> <label>{{localize data.data.price.label}}</label>
<input name="data.price.value" type="text" value="{{data.price.value}}" /> <input name="data.price.value" type="text" value="{{data.data.price.value}}" />
</div> </div>
</div> </div>
</div> </div>
<div class="item"> <div class="item">
<div class="description"> <div class="description">
<h2>{{localize data.description.label}}</h2> <h2>{{localize data.data.description.label}}</h2>
<div class="info-mid"> <div class="info-mid">
<div class="description"> <div class="description">
{{editor content=data.description.value target="data.description.value" button=true owner=owner editable=editable}} {{editor content=data.data.description.value target="data.description.value" button=true owner=owner editable=editable}}
</div> </div>
</div> </div>
</div> </div>

View File

@@ -9,10 +9,10 @@
</div> </div>
<div class="item"> <div class="item">
<div class="talent-description"> <div class="talent-description">
<h2>{{localize data.description.label}}</h2> <h2>{{localize data.data.description.label}}</h2>
<div class="info-mid"> <div class="info-mid">
<div class="description"> <div class="description">
{{editor content=data.description.value target="data.description.value" button=true owner=owner editable=editable}} {{editor content=data.data.description.value target="data.description.value" button=true owner=owner editable=editable}}
</div> </div>
</div> </div>
</div> </div>

View File

@@ -9,17 +9,17 @@
</div> </div>
<div class="grid-container" style="grid-template-columns: 1fr 1fr;"> <div class="grid-container" style="grid-template-columns: 1fr 1fr;">
<div class="cost"> <div class="cost">
<label>{{localize data.price.label}}</label> <label>{{localize data.data.price.label}}</label>
<input name="data.price.value" type="text" value="{{data.price.value}}" /> <input name="data.price.value" type="text" value="{{data.data.price.value}}" />
</div> </div>
<div class="rating"> <div class="rating">
<label>{{localize data.damage.label}}</label> <label>{{localize data.data.damage.label}}</label>
<input name="data.damage.value" type="text" value="{{data.damage.value}}" /> <input name="data.damage.value" type="text" value="{{data.data.damage.value}}" />
</div> </div>
<div> <div>
<label>{{localize "ITEM.SKILL"}}</label> <label>{{localize "ITEM.SKILL"}}</label>
<select class="item-weapon-skill-select" name="data.skill.value"> <select class="item-weapon-skill-select" name="data.skill.value">
{{#select data.skill.value}} {{#select data.data.skill.value}}
{{#each this.khskills as |t|}} {{#each this.khskills as |t|}}
<option value="{{t.name}}">{{t.name}}</option> <option value="{{t.name}}">{{t.name}}</option>
{{/each}} {{/each}}
@@ -29,10 +29,10 @@
</div> </div>
<div class="item"> <div class="item">
<div class="description"> <div class="description">
<h2>{{localize data.description.label}}</h2> <h2>{{localize data.data.description.label}}</h2>
<div class="info"> <div class="info">
<div class="description"> <div class="description">
{{editor content=data.description.value target="data.description.value" button=true owner=owner editable=editable}} {{editor content=data.data.description.value target="data.description.value" button=true owner=owner editable=editable}}
</div> </div>
</div> </div>
</div> </div>

View File

@@ -9,9 +9,9 @@
</div> </div>
<div class="grid-container" style="grid-template-columns: 1fr 1fr;"> <div class="grid-container" style="grid-template-columns: 1fr 1fr;">
<div> <div>
<label>{{localize data.type.label}}</label> <label>{{localize data.data.type.label}}</label>
<select class="item-weapon-cat-select" name="data.type.value"> <select class="item-weapon-cat-select" name="data.type.value">
{{#select data.type.value}} {{#select data.data.type.value}}
<option value="base">{{localize "SKILL.BASE"}}</option> <option value="base">{{localize "SKILL.BASE"}}</option>
<option value="adventure">{{localize "SKILL.ADVENTURE"}}</option> <option value="adventure">{{localize "SKILL.ADVENTURE"}}</option>
<option value="combat">{{localize "SKILL.COMBAT"}}</option> <option value="combat">{{localize "SKILL.COMBAT"}}</option>
@@ -20,15 +20,15 @@
</div> </div>
<div> <div>
<label>{{localize "SKILL.STARTVALUE"}}</label> <label>{{localize "SKILL.STARTVALUE"}}</label>
<input name="data.value" type="text" value="{{data.value}}" /> <input name="data.value" type="text" value="{{data.data.value}}" />
</div> </div>
</div> </div>
<div class="item"> <div class="item">
<div class="description"> <div class="description">
<h2>{{localize data.description.label}}</h2> <h2>{{localize data.data.description.label}}</h2>
<div class="info-mid"> <div class="info-mid">
<div class="description"> <div class="description">
{{editor content=data.description.value target="data.description.value" button=true owner=owner editable=editable}} {{editor content=data.data.description.value target="data.description.value" button=true owner=owner editable=editable}}
</div> </div>
</div> </div>
</div> </div>

View File

@@ -9,13 +9,13 @@
</div> </div>
<div class="grid-container" style="grid-template-columns: 1fr 1fr;"> <div class="grid-container" style="grid-template-columns: 1fr 1fr;">
<div class="cost"> <div class="cost">
<label>{{localize data.cost.label}}</label> <label>{{localize data.data.cost.label}}</label>
<input name="data.cost.value" type="text" value="{{data.cost.value}}" /> <input name="data.cost.value" type="text" value="{{data.data.cost.value}}" />
</div> </div>
<div> <div>
<label>{{localize data.difficulty.label}}</label> <label>{{localize data.data.difficulty.label}}</label>
<select class="item-weapon-cat-select" name="data.difficulty.value"> <select class="item-weapon-cat-select" name="data.data.difficulty.value">
{{#select data.difficulty.value}} {{#select data.data.difficulty.value}}
<option value="simple">{{localize "DIFFICULTY.SIMPLE"}}</option> <option value="simple">{{localize "DIFFICULTY.SIMPLE"}}</option>
<option value="easy">{{localize "DIFFICULTY.EASY"}}</option> <option value="easy">{{localize "DIFFICULTY.EASY"}}</option>
<option value="average">{{localize "DIFFICULTY.AVERAGE"}}</option> <option value="average">{{localize "DIFFICULTY.AVERAGE"}}</option>
@@ -25,9 +25,9 @@
</select> </select>
</div> </div>
<div style="grid-column-start: 1; grid-column-end: 3;"> <div style="grid-column-start: 1; grid-column-end: 3;">
<label>{{localize data.roll.label}}</label> <label>{{localize data.data.roll.label}}</label>
<select class="item-weapon-cat-select" name="data.roll.value"> <select class="item-weapon-cat-select" name="data.roll.value">
{{#select data.roll.value}} {{#select data.data.roll.value}}
<option value="roll">{{localize "SPELL.ROLL"}}</option> <option value="roll">{{localize "SPELL.ROLL"}}</option>
<option value="attackroll">{{localize "SPELL.ATTACKROLL"}}</option> <option value="attackroll">{{localize "SPELL.ATTACKROLL"}}</option>
<option value="opposite">{{localize "SPELL.OPPOSITE"}}</option> <option value="opposite">{{localize "SPELL.OPPOSITE"}}</option>
@@ -35,11 +35,11 @@
{{/select}} {{/select}}
</select> </select>
</div> </div>
{{#iff data.roll.value '==' "opposite" }} {{#iff data.data.roll.value '==' "opposite" }}
<div> <div>
<label>{{localize "ITEM.SKILL"}}</label> <label>{{localize "ITEM.SKILL"}}</label>
<select class="item-weapon-skill-select" name="data.roll.skill"> <select class="item-weapon-skill-select" name="data.roll.skill">
{{#select data.roll.skill}} {{#select data.data.roll.skill}}
{{#each this.khskills as |t|}} {{#each this.khskills as |t|}}
<option value="{{t.name}}">{{t.name}}</option> <option value="{{t.name}}">{{t.name}}</option>
{{/each}} {{/each}}
@@ -49,7 +49,7 @@
<div> <div>
<label>{{localize "ITEM.SKILL"}}</label> <label>{{localize "ITEM.SKILL"}}</label>
<select class="item-weapon-skill-select" name="data.roll.oppositeskill"> <select class="item-weapon-skill-select" name="data.roll.oppositeskill">
{{#select data.roll.oppositeskill}} {{#select data.data.roll.oppositeskill}}
{{#each this.khskills as |t|}} {{#each this.khskills as |t|}}
<option value="{{t.name}}">{{t.name}}</option> <option value="{{t.name}}">{{t.name}}</option>
{{/each}} {{/each}}
@@ -60,7 +60,7 @@
<div> <div>
<label>{{localize "ITEM.SKILL"}}</label> <label>{{localize "ITEM.SKILL"}}</label>
<select class="item-weapon-skill-select" name="data.roll.oppositeskilltwo"> <select class="item-weapon-skill-select" name="data.roll.oppositeskilltwo">
{{#select data.roll.oppositeskilltwo}} {{#select data.data.roll.oppositeskilltwo}}
<option value="">{{localize "SKILL.NONE"}}</option> <option value="">{{localize "SKILL.NONE"}}</option>
{{#each this.khskills as |t|}} {{#each this.khskills as |t|}}
<option value="{{t.name}}">{{t.name}}</option> <option value="{{t.name}}">{{t.name}}</option>
@@ -68,11 +68,11 @@
{{/select}} {{/select}}
</select> </select>
</div> </div>
{{else iff data.roll.value '==' "ritual" }} {{else iff data.data.roll.value '==' "ritual" }}
<div> <div>
<label>{{localize "ITEM.SKILL"}}</label> <label>{{localize "ITEM.SKILL"}}</label>
<select class="item-weapon-skill-select" name="data.roll.ritual.skillone"> <select class="item-weapon-skill-select" name="data.roll.ritual.skillone">
{{#select data.roll.ritual.skillone}} {{#select data.data.roll.ritual.skillone}}
<option value="">{{localize "SKILL.NONE"}}</option> <option value="">{{localize "SKILL.NONE"}}</option>
{{#each this.khskills as |t|}} {{#each this.khskills as |t|}}
<option value="{{t.name}}">{{t.name}}</option> <option value="{{t.name}}">{{t.name}}</option>
@@ -83,7 +83,7 @@
<div> <div>
<label>{{localize "ITEM.SKILL"}}</label> <label>{{localize "ITEM.SKILL"}}</label>
<select class="item-weapon-skill-select" name="data.roll.ritual.skilltwo"> <select class="item-weapon-skill-select" name="data.roll.ritual.skilltwo">
{{#select data.roll.ritual.skilltwo}} {{#select data.data.roll.ritual.skilltwo}}
<option value="">{{localize "SKILL.NONE"}}</option> <option value="">{{localize "SKILL.NONE"}}</option>
{{#each this.khskills as |t|}} {{#each this.khskills as |t|}}
<option value="{{t.name}}">{{t.name}}</option> <option value="{{t.name}}">{{t.name}}</option>
@@ -94,7 +94,7 @@
<div> <div>
<label>{{localize "ITEM.SKILL"}}</label> <label>{{localize "ITEM.SKILL"}}</label>
<select class="item-weapon-skill-select" name="data.roll.ritual.skillthree"> <select class="item-weapon-skill-select" name="data.roll.ritual.skillthree">
{{#select data.roll.ritual.skillthree}} {{#select data.data.roll.ritual.skillthree}}
<option value="">{{localize "SKILL.NONE"}}</option> <option value="">{{localize "SKILL.NONE"}}</option>
{{#each this.khskills as |t|}} {{#each this.khskills as |t|}}
<option value="{{t.name}}">{{t.name}}</option> <option value="{{t.name}}">{{t.name}}</option>
@@ -105,7 +105,7 @@
<div> <div>
<label>{{localize "ITEM.SKILL"}}</label> <label>{{localize "ITEM.SKILL"}}</label>
<select class="item-weapon-skill-select" name="data.roll.ritual.skillfour"> <select class="item-weapon-skill-select" name="data.roll.ritual.skillfour">
{{#select data.roll.ritual.skillfour}} {{#select data.data.roll.ritual.skillfour}}
<option value="">{{localize "SKILL.NONE"}}</option> <option value="">{{localize "SKILL.NONE"}}</option>
{{#each this.khskills as |t|}} {{#each this.khskills as |t|}}
<option value="{{t.name}}">{{t.name}}</option> <option value="{{t.name}}">{{t.name}}</option>
@@ -116,7 +116,7 @@
<div> <div>
<label>{{localize "ITEM.SKILL"}}</label> <label>{{localize "ITEM.SKILL"}}</label>
<select class="item-weapon-skill-select" name="data.roll.ritual.skillfive"> <select class="item-weapon-skill-select" name="data.roll.ritual.skillfive">
{{#select data.roll.ritual.skillfive}} {{#select data.data.roll.ritual.skillfive}}
<option value="">{{localize "SKILL.NONE"}}</option> <option value="">{{localize "SKILL.NONE"}}</option>
{{#each this.khskills as |t|}} {{#each this.khskills as |t|}}
<option value="{{t.name}}">{{t.name}}</option> <option value="{{t.name}}">{{t.name}}</option>
@@ -128,7 +128,7 @@
<div style="grid-column-start: 1; grid-column-end: 3;"> <div style="grid-column-start: 1; grid-column-end: 3;">
<label>{{localize "ITEM.SKILL"}}</label> <label>{{localize "ITEM.SKILL"}}</label>
<select class="item-weapon-skill-select" name="data.roll.skill"> <select class="item-weapon-skill-select" name="data.roll.skill">
{{#select data.roll.skill}} {{#select data.data.roll.skill}}
{{#each this.khskills as |t|}} {{#each this.khskills as |t|}}
<option value="{{t.name}}">{{t.name}}</option> <option value="{{t.name}}">{{t.name}}</option>
{{/each}} {{/each}}
@@ -139,10 +139,10 @@
</div> </div>
<div class="item"> <div class="item">
<div class="description"> <div class="description">
<h2>{{localize data.description.label}}</h2> <h2>{{localize data.data.description.label}}</h2>
<div class="info"> <div class="info">
<div class="description"> <div class="description">
{{editor content=data.description.value target="data.description.value" button=true owner=owner editable=editable}} {{editor content=data.data.description.value target="data.description.value" button=true owner=owner editable=editable}}
</div> </div>
</div> </div>
</div> </div>

View File

@@ -9,10 +9,10 @@
</div> </div>
<div class="item"> <div class="item">
<div class="talent-description"> <div class="talent-description">
<h2>{{localize data.description.label}}</h2> <h2>{{localize data.data.description.label}}</h2>
<div class="info-mid"> <div class="info-mid">
<div class="description"> <div class="description">
{{editor content=data.description.value target="data.description.value" button=true owner=owner editable=editable}} {{editor content=data.data.description.value target="data.description.value" button=true owner=owner editable=editable}}
</div> </div>
</div> </div>
</div> </div>

View File

@@ -10,22 +10,22 @@
<div class="grid-container" style="grid-template-columns: 1fr 1fr;"> <div class="grid-container" style="grid-template-columns: 1fr 1fr;">
<!-- <!--
<div class="supply"> <div class="supply">
<label>{{localize data.quantity.label}}</label> <label>{{localize data.data.quantity.label}}</label>
<input name="data.quantity.value" type="number" value="{{data.quantity.value}}" /> <input name="data.quantity.value" type="number" value="{{data.data.quantity.value}}" />
</div> </div>
--> -->
<div class="cost"> <div class="cost">
<label>{{localize data.price.label}}</label> <label>{{localize data.data.price.label}}</label>
<input name="data.price.value" type="text" value="{{data.price.value}}" /> <input name="data.price.value" type="text" value="{{data.data.price.value}}" />
</div> </div>
<div class="rating"> <div class="rating">
<label>{{localize data.damage.label}}</label> <label>{{localize data.data.damage.label}}</label>
<input name="data.damage.value" type="text" value="{{data.damage.value}}" /> <input name="data.damage.value" type="text" value="{{data.data.damage.value}}" />
</div> </div>
<div> <div>
<label>{{localize data.category.label}}</label> <label>{{localize data.data.category.label}}</label>
<select class="item-weapon-cat-select" name="data.category.value"> <select class="item-weapon-cat-select" name="data.category.value">
{{#select data.category.value}} {{#select data.data.category.value}}
<option value="melee">{{localize "WEAPON.MELEE"}}</option> <option value="melee">{{localize "WEAPON.MELEE"}}</option>
<option value="ranged">{{localize "WEAPON.RANGED"}}</option> <option value="ranged">{{localize "WEAPON.RANGED"}}</option>
{{/select}} {{/select}}
@@ -34,7 +34,7 @@
<div> <div>
<label>{{localize "ITEM.SKILL"}}</label> <label>{{localize "ITEM.SKILL"}}</label>
<select class="item-weapon-skill-select" name="data.skill.value"> <select class="item-weapon-skill-select" name="data.skill.value">
{{#select data.skill.value}} {{#select data.data.skill.value}}
{{#each this.khskills as |t|}} {{#each this.khskills as |t|}}
<option value="{{t.name}}">{{t.name}}</option> <option value="{{t.name}}">{{t.name}}</option>
{{/each}} {{/each}}
@@ -43,19 +43,19 @@
</div> </div>
<!-- <!--
<div class="grid-container" style="grid-template-columns: 1fr auto;"> <div class="grid-container" style="grid-template-columns: 1fr auto;">
<label>{{localize data.equipable.label}}</label> <label>{{localize data.data.equipable.label}}</label>
<a class="item-bool-click {{#if data.equipable.value}}active{{/if}}" data-name="equipable" title="equipable"> <a class="item-bool-click {{#if data.data.equipable.value}}active{{/if}}" data-name="equipable" title="equipable">
<i class="far {{#if data.equipable.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i> <i class="far {{#if data.data.equipable.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
</a> </a>
</div> </div>
--> -->
</div> </div>
<div class="item"> <div class="item">
<div class="description"> <div class="description">
<h2>{{localize data.description.label}}</h2> <h2>{{localize data.data.description.label}}</h2>
<div class="info"> <div class="info">
<div class="description"> <div class="description">
{{editor content=data.description.value target="data.description.value" button=true owner=owner editable=editable}} {{editor content=data.data.description.value target="data.description.value" button=true owner=owner editable=editable}}
</div> </div>
</div> </div>
</div> </div>

View File

@@ -2,30 +2,30 @@
<div class="bio-background grid-container" style="height: 100%; grid-column-gap: 5px; grid-template-rows: auto auto auto 1fr; grid-template-columns: auto 1fr auto 1fr;"> <div class="bio-background grid-container" style="height: 100%; grid-column-gap: 5px; grid-template-rows: auto auto auto 1fr; grid-template-columns: auto 1fr auto 1fr;">
<h1>{{localize "BACKGROUND.TITLE"}}</h1> <h1>{{localize "BACKGROUND.TITLE"}}</h1>
<div class="name">{{localize data.bio.age.label}}:</div> <div class="name">{{localize data.data.bio.age.label}}:</div>
<input name="data.bio.age.value" type="text" value="{{data.bio.age.value}}" /> <input name="data.bio.age.value" type="text" value="{{data.data.bio.age.value}}" />
<div class="name">{{localize data.background.birthplace.label}}</div> <div class="name">{{localize data.data.background.birthplace.label}}</div>
<input name="data.background.birthplace.value" type="text" value="{{data.background.birthplace.value}}" /> <input name="data.background.birthplace.value" type="text" value="{{data.data.background.birthplace.value}}" />
<div class="name">{{localize data.background.social.label}}</div> <div class="name">{{localize data.data.background.social.label}}</div>
<input name="data.background.social.value" type="text" value="{{data.background.social.value}}" /> <input name="data.background.social.value" type="text" value="{{data.data.background.social.value}}" />
<div></div> <div></div>
<div></div> <div></div>
<div class="name-top">{{localize data.background.events.label}}</div> <div class="name-top">{{localize data.data.background.events.label}}</div>
<div class="info-bio border-thin" style="/*grid-row: 4/6; grid-column: 2;*/"> <div class="info-bio border-thin" style="/*grid-row: 4/6; grid-column: 2;*/">
<div class="description"> <div class="description">
{{editor content=data.background.events.value target="data.background.events.value" button=true owner=owner editable=editable}} {{editor content=data.data.background.events.value target="data.background.events.value" button=true owner=owner editable=editable}}
</div> </div>
</div> </div>
<div class="name-top">{{localize data.background.contacts.label}}</div> <div class="name-top">{{localize data.data.background.contacts.label}}</div>
<div class="info-bio border-thin" style="/*grid-row: 4/6; grid-column: 4;*/"> <div class="info-bio border-thin" style="/*grid-row: 4/6; grid-column: 4;*/">
<div class="description"> <div class="description">
{{editor content=data.background.contacts.value target="data.background.contacts.value" button=true owner=owner editable=editable}} {{editor content=data.data.background.contacts.value target="data.background.contacts.value" button=true owner=owner editable=editable}}
</div> </div>
</div> </div>
</div> </div>

View File

@@ -4,25 +4,25 @@
<ul class="items-list"> <ul class="items-list">
<li class="item-nor flexrow"> <li class="item-nor flexrow">
<div class="item-name" style="flex-grow: 8;">{{localize "MOD.INIT"}}</div> <div class="item-name" style="flex-grow: 8;">{{localize "MOD.INIT"}}</div>
<div class="item-value" style="flex: none;"><input name="data.combat.init" class="skill-value" type="number" value="{{data.combat.init}}" data-dtype="Number" /></div> <div class="item-value" style="flex: none;"><input name="data.combat.init" class="skill-value" type="number" value="{{data.data.combat.init}}" data-dtype="Number" /></div>
</li> </li>
<li class="item-defence flexrow" data-defence="{{data.combat.defence}}"> <li class="item-defence flexrow" data-defence="{{data.data.combat.defence}}">
<div class="item-name roll-defence rollable" data-defence="{{data.combat.defence}}" style="flex-grow: 8;">{{localize "ADVERSARY.DEFENCE"}}</div> <div class="item-name roll-defence rollable" data-defence="{{data.data.combat.defence}}" style="flex-grow: 8;">{{localize "ADVERSARY.DEFENCE"}}</div>
<div class="item-value" style="flex: none;"><input name="data.combat.defence" class="skill-value" type="text" value="{{data.combat.defence}}" /></div> <div class="item-value" style="flex: none;"><input name="data.combat.defence" class="skill-value" type="text" value="{{data.data.combat.defence}}" /></div>
</li> </li>
<li class="item-nor flexrow"> <li class="item-nor flexrow">
<div class="item-name" style="flex-grow: 8;">{{localize "ADVERSARY.HASHELMET"}}</div> <div class="item-name" style="flex-grow: 8;">{{localize "ADVERSARY.HASHELMET"}}</div>
<div style="align-self: flex-end"> <div style="align-self: flex-end">
<a style="margin: auto;" class="adversary-helmet-click {{#if data.combat.helmet}}active{{/if}}"> <a style="margin: auto;" class="adversary-helmet-click {{#if data.data.combat.helmet}}active{{/if}}">
<i class="far {{#if data.combat.helmet}}fa-times-circle{{else}}fa-circle{{/if}}"></i> <i class="far {{#if data.data.combat.helmet}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
</a> </a>
</div> </div>
</li> </li>
<li class="item-nor flexrow"> <li class="item-nor flexrow">
<div class="item-name roll-adversary-armor rollable" data-armor="{{data.combat.armor}}" style="flex-grow: 8;">{{localize "ITEM.DEFENCE"}}</div> <div class="item-name roll-adversary-armor rollable" data-armor="{{data.data.combat.armor}}" style="flex-grow: 8;">{{localize "ITEM.DEFENCE"}}</div>
<div class="item-value" style="flex: none;"><input name="data.combat.armor" class="skill-value" type="text" value="{{data.combat.armor}}" /></div> <div class="item-value" style="flex: none;"><input name="data.combat.armor" class="skill-value" type="text" value="{{data.data.combat.armor}}" /></div>
</li> </li>
</ul> </ul>
</ul> </ul>
@@ -35,7 +35,7 @@
{{#each actor.skills as |skill key|}} {{#each actor.skills as |skill key|}}
<li class="item-skill flexrow" data-item-id="{{skill._id}}"> <li class="item-skill flexrow" data-item-id="{{skill._id}}">
<div class="item-name roll-skill rollable" style="flex-grow: 8;">{{skill.name}}</div> <div class="item-name roll-skill rollable" style="flex-grow: 8;">{{skill.name}}</div>
<div class="item-value" style="flex: none;"><input class="skill-value" type="number" value="{{skill.data.value}}" min="0" data-item-id="{{skill._id}}" data-dtype="Number" /></div> <div class="item-value" style="flex: none;"><input class="skill-value" type="number" value="{{skill.data.value}}" min="0" data-item-id="{{skill.id}}" data-dtype="Number" /></div>
<div class="item-controls"> <div class="item-controls">
<a class="item-control item-delete" data-parent=".item-skill" title="Delete Item"><i class="fas fa-trash"></i></a> <a class="item-control item-delete" data-parent=".item-skill" title="Delete Item"><i class="fas fa-trash"></i></a>
</div> </div>

View File

@@ -2,10 +2,10 @@
<div class="currencies border"> <div class="currencies border">
<div class="header grid-container" style="grid-template-columns: auto 1fr auto 1fr;"> <div class="header grid-container" style="grid-template-columns: auto 1fr auto 1fr;">
<h1 style="margin-bottom: 0; grid-column: 1/5;">{{localize "CURRENCY.TITLE"}}</h1> <h1 style="margin-bottom: 0; grid-column: 1/5;">{{localize "CURRENCY.TITLE"}}</h1>
<label style="margin: auto;">{{localize data.currency.shekel.label}}:</label> <label style="margin: auto;">{{localize data.data.currency.shekel.label}}:</label>
<input class="center-text" name="data.currency.shekel.value" type="number" value="{{data.currency.shekel.value}}" /> <input class="center-text" name="data.currency.shekel.value" type="number" value="{{data.data.currency.shekel.value}}" />
<label style="margin: auto;">{{localize data.currency.quarter.label}}:</label> <label style="margin: auto;">{{localize data.data.currency.quarter.label}}:</label>
<input class="center-text" name="data.currency.quarter.value" type="number" value="{{data.currency.quarter.value}}" /> <input class="center-text" name="data.currency.quarter.value" type="number" value="{{data.data.currency.quarter.value}}" />
</div> </div>
</div> </div>
<div class="gear border scroll-y"> <div class="gear border scroll-y">

View File

@@ -4,17 +4,17 @@
<ul class="items-list"> <ul class="items-list">
<li class="item-nor flexrow"> <li class="item-nor flexrow">
<div class="item-name" style="flex-grow: 8;">{{localize "MOD.INIT"}}</div> <div class="item-name" style="flex-grow: 8;">{{localize "MOD.INIT"}}</div>
<div class="item-value" style="flex: none;"><input name="data.combat.init" class="skill-value" type="number" value="{{data.combat.init}}" data-dtype="Number" /></div> <div class="item-value" style="flex: none;"><input name="data.combat.init" class="skill-value" type="number" value="{{data.data.combat.init}}" data-dtype="Number" /></div>
</li> </li>
<li class="item-defence flexrow" data-defence="{{data.combat.defence}}"> <li class="item-defence flexrow" data-defence="{{data.data.combat.defence}}">
<div class="item-name roll-defence rollable" data-defence="{{data.combat.defence}}" style="flex-grow: 8;">{{localize "ADVERSARY.DEFENCE"}}</div> <div class="item-name roll-defence rollable" data-defence="{{data.data.combat.defence}}" style="flex-grow: 8;">{{localize "ADVERSARY.DEFENCE"}}</div>
<div class="item-value" style="flex: none;"><input name="data.combat.defence" class="skill-value" type="text" value="{{data.combat.defence}}" /></div> <div class="item-value" style="flex: none;"><input name="data.combat.defence" class="skill-value" type="text" value="{{data.data.combat.defence}}" /></div>
</li> </li>
<li class="item-nor flexrow"> <li class="item-nor flexrow">
<div class="item-name roll-adversary-armor rollable" data-armor="{{data.combat.armor}}" style="flex-grow: 8;">{{localize "ITEM.DEFENCE"}}</div> <div class="item-name roll-adversary-armor rollable" data-armor="{{data.data.combat.armor}}" style="flex-grow: 8;">{{localize "ITEM.DEFENCE"}}</div>
<div class="item-value" style="flex: none;"><input name="data.combat.armor" class="skill-value" type="text" value="{{data.combat.armor}}" /></div> <div class="item-value" style="flex: none;"><input name="data.combat.armor" class="skill-value" type="text" value="{{data.data.combat.armor}}" /></div>
</li> </li>
</ul> </ul>
</ul> </ul>

View File

@@ -1,32 +1,32 @@
<div class="bio-tab border scroll-y" style="height: 100%; border-top: none;"> <div class="bio-tab border scroll-y" style="height: 100%; border-top: none;">
<div class="grid-container" style="height: fit-content; border-top: none; grid-template-rows: 1fr auto auto; grid-template-columns: 1fr 1fr;"> <div class="grid-container" style="height: fit-content; border-top: none; grid-template-rows: 1fr auto auto; grid-template-columns: 1fr 1fr;">
<div class="border grid-container" style="height: 100%; grid-row: 1/4; grid-template-rows: auto 1fr; height: fit-content; min-height: 200px;"> <div class="border grid-container" style="height: 100%; grid-row: 1/4; grid-template-rows: auto 1fr; height: fit-content; min-height: 200px;">
<h2 style="margin-bottom: 0;">{{localize data.bio.appearance.label}}</h2> <h2 style="margin-bottom: 0;">{{localize data.data.bio.appearance.label}}</h2>
<div class="description"> <div class="description">
{{editor content=data.bio.appearance.value target="data.bio.appearance.value" button=true owner=owner editable=editable}} {{editor content=data.data.bio.appearance.value target="data.bio.appearance.value" button=true owner=owner editable=editable}}
</div> </div>
</div> </div>
<div class="border grid-container" style="grid-column-gap: 5px; grid-template-columns: 1fr auto; max-height: 163px;"> <div class="border grid-container" style="grid-column-gap: 5px; grid-template-columns: 1fr auto; max-height: 163px;">
<h2 style="margin-bottom: 0; grid-column: 1/3;">{{localize "HT.FEATURES.TITLE"}}</h2> <h2 style="margin-bottom: 0; grid-column: 1/3;">{{localize "HT.FEATURES.TITLE"}}</h2>
<input name="data.feature.one.label" class="roll-feature" type="text" value="{{data.feature.one.label}}" /> <input name="data.feature.one.label" class="roll-feature" type="text" value="{{data.data.feature.one.label}}" />
<a style="margin: auto;" class="feature {{#if data.feature.one.value}}active{{/if}}" data-feature="one"> <a style="margin: auto;" class="feature {{#if data.data.feature.one.value}}active{{/if}}" data-feature="one">
<i class="far {{#if data.feature.one.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i> <i class="far {{#if data.data.feature.one.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
</a> </a>
<input name="data.feature.two.label" class="roll-feature" type="text" value="{{data.feature.two.label}}" /> <input name="data.feature.two.label" class="roll-feature" type="text" value="{{data.data.feature.two.label}}" />
<a style="margin: auto;" class="feature {{#if data.feature.two.value}}active{{/if}}" data-feature="two"> <a style="margin: auto;" class="feature {{#if data.data.feature.two.value}}active{{/if}}" data-feature="two">
<i class="far {{#if data.feature.two.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i> <i class="far {{#if data.data.feature.two.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
</a> </a>
<input name="data.feature.three.label" class="roll-feature" type="text" value="{{data.feature.three.label}}" /> <input name="data.feature.three.label" class="roll-feature" type="text" value="{{data.data.feature.three.label}}" />
<a style="margin: auto;" class="feature {{#if data.feature.three.value}}active{{/if}}" data-feature="three"> <a style="margin: auto;" class="feature {{#if data.data.feature.three.value}}active{{/if}}" data-feature="three">
<i class="far {{#if data.feature.three.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i> <i class="far {{#if data.data.feature.three.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
</a> </a>
<input name="data.feature.four.label" class="roll-feature" type="text" value="{{data.feature.four.label}}" /> <input name="data.feature.four.label" class="roll-feature" type="text" value="{{data.data.feature.four.label}}" />
<a style="margin: auto;" class="feature {{#if data.feature.four.value}}active{{/if}}" data-feature="four"> <a style="margin: auto;" class="feature {{#if data.data.feature.four.value}}active{{/if}}" data-feature="four">
<i class="far {{#if data.feature.four.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i> <i class="far {{#if data.data.feature.four.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
</a> </a>
</div> </div>
<div class="border"> <div class="border">
@@ -38,7 +38,7 @@
</h2> </h2>
</header> </header>
<ol class="relation-list" style="padding: 0;"> <ol class="relation-list" style="padding: 0;">
{{#each data.relationships as |attr key|}} {{#each data.data.relationships as |attr key|}}
<li class="relation grid-container" style="grid-template-columns: 2fr auto auto;" data-attribute="{{key}}"> <li class="relation grid-container" style="grid-template-columns: 2fr auto auto;" data-attribute="{{key}}">
<input class="relation-key" type="text" name="data.relationships.{{key}}.key" value="{{key}}" style="display: none;" /> <input class="relation-key" type="text" name="data.relationships.{{key}}.key" value="{{key}}" style="display: none;" />
<input class="relation-value" type="text" name="data.relationships.{{key}}.value" value="{{attr.value}}" /> <input class="relation-value" type="text" name="data.relationships.{{key}}.value" value="{{attr.value}}" />
@@ -59,7 +59,7 @@
</h2> </h2>
</header> </header>
<ol class="learning-list" style="padding: 0;"> <ol class="learning-list" style="padding: 0;">
{{#each data.learning as |attr key|}} {{#each data.data.learning as |attr key|}}
<li class="learning grid-container" style="grid-template-columns: 2fr auto auto;" data-attribute="{{key}}"> <li class="learning grid-container" style="grid-template-columns: 2fr auto auto;" data-attribute="{{key}}">
<input class="learning-key" type="text" name="data.learning.{{key}}.key" value="{{key}}" style="display: none;" /> <input class="learning-key" type="text" name="data.learning.{{key}}.key" value="{{key}}" style="display: none;" />
<input style="margin-top: auto; margin-bottom: auto;" class="learning-value" type="text" name="data.learning.{{key}}.value" value="{{attr.value}}" /> <input style="margin-top: auto; margin-bottom: auto;" class="learning-value" type="text" name="data.learning.{{key}}.value" value="{{attr.value}}" />

View File

@@ -40,7 +40,7 @@
</ul> </ul>
</div> </div>
<div class="skills border grid-container" style="grid-column-gap: 5px; grid-template-columns: 1fr;"> <div class="skills border grid-container" style="grid-column-gap: 5px; grid-template-columns: 1fr;">
<h1 style="grid-column: unset;">{{localize data.languages.label}}</h1> <h1 style="grid-column: unset;">{{localize data.data.languages.label}}</h1>
<input name="data.languages.value" type="text" value="{{data.languages.value}}" /> <input name="data.languages.value" type="text" value="{{data.data.languages.value}}" />
</div> </div>
</div> </div>

View File

@@ -1,32 +1,32 @@
<div class="bio-tab border scroll-y" style="height: 100%; border-top: none;"> <div class="bio-tab border scroll-y" style="height: 100%; border-top: none;">
<div class="grid-container" style="height: fit-content; border-top: none; grid-template-rows: 1fr auto; grid-template-columns: 1fr 1fr;"> <div class="grid-container" style="height: fit-content; border-top: none; grid-template-rows: 1fr auto; grid-template-columns: 1fr 1fr;">
<div class="border grid-container" style="height: 100%; grid-row: 1/4; grid-template-rows: auto 1fr; height: fit-content; min-height: 200px;"> <div class="border grid-container" style="height: 100%; grid-row: 1/4; grid-template-rows: auto 1fr; height: fit-content; min-height: 200px;">
<h2 style="margin-bottom: 0;">{{localize data.bio.appearance.label}}</h2> <h2 style="margin-bottom: 0;">{{localize data.data.bio.appearance.label}}</h2>
<div class="description"> <div class="description">
{{editor content=data.bio.appearance.value target="data.bio.appearance.value" button=true owner=owner editable=editable}} {{editor content=data.data.bio.appearance.value target="data.bio.appearance.value" button=true owner=owner editable=editable}}
</div> </div>
</div> </div>
<div class="border grid-container" style="grid-column-gap: 5px; grid-template-columns: 1fr auto; max-height: 163px;"> <div class="border grid-container" style="grid-column-gap: 5px; grid-template-columns: 1fr auto; max-height: 163px;">
<h2 style="margin-bottom: 0; grid-column: 1/3;">{{localize "FEATURES.TITLE"}}</h2> <h2 style="margin-bottom: 0; grid-column: 1/3;">{{localize "FEATURES.TITLE"}}</h2>
<input name="data.feature.one.label" class="roll-feature" type="text" value="{{data.feature.one.label}}" /> <input name="data.feature.one.label" class="roll-feature" type="text" value="{{data.data.feature.one.label}}" />
<a style="margin: auto;" class="feature {{#if data.feature.one.value}}active{{/if}}" data-feature="one"> <a style="margin: auto;" class="feature {{#if data.data.feature.one.value}}active{{/if}}" data-feature="one">
<i class="far {{#if data.feature.one.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i> <i class="far {{#if data.data.feature.one.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
</a> </a>
<input name="data.feature.two.label" class="roll-feature" type="text" value="{{data.feature.two.label}}" /> <input name="data.feature.two.label" class="roll-feature" type="text" value="{{data.data.feature.two.label}}" />
<a style="margin: auto;" class="feature {{#if data.feature.two.value}}active{{/if}}" data-feature="two"> <a style="margin: auto;" class="feature {{#if data.data.feature.two.value}}active{{/if}}" data-feature="two">
<i class="far {{#if data.feature.two.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i> <i class="far {{#if data.data.feature.two.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
</a> </a>
<input name="data.feature.three.label" class="roll-feature" type="text" value="{{data.feature.three.label}}" /> <input name="data.feature.three.label" class="roll-feature" type="text" value="{{data.data.feature.three.label}}" />
<a style="margin: auto;" class="feature {{#if data.feature.three.value}}active{{/if}}" data-feature="three"> <a style="margin: auto;" class="feature {{#if data.data.feature.three.value}}active{{/if}}" data-feature="three">
<i class="far {{#if data.feature.three.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i> <i class="far {{#if data.data.feature.three.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
</a> </a>
<input name="data.feature.four.label" class="roll-feature" type="text" value="{{data.feature.four.label}}" /> <input name="data.feature.four.label" class="roll-feature" type="text" value="{{data.data.feature.four.label}}" />
<a style="margin: auto;" class="feature {{#if data.feature.four.value}}active{{/if}}" data-feature="four"> <a style="margin: auto;" class="feature {{#if data.data.feature.four.value}}active{{/if}}" data-feature="four">
<i class="far {{#if data.feature.four.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i> <i class="far {{#if data.data.feature.four.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
</a> </a>
</div> </div>
<div class="border"> <div class="border">
@@ -38,7 +38,7 @@
</h2> </h2>
</header> </header>
<ol class="learning-list" style="padding: 0;"> <ol class="learning-list" style="padding: 0;">
{{#each data.learning as |attr key|}} {{#each data.data.learning as |attr key|}}
<li class="learning grid-container" style="grid-template-columns: 2fr auto auto;" data-attribute="{{key}}"> <li class="learning grid-container" style="grid-template-columns: 2fr auto auto;" data-attribute="{{key}}">
<input class="learning-key" type="text" name="data.learning.{{key}}.key" value="{{key}}" style="display: none;" /> <input class="learning-key" type="text" name="data.learning.{{key}}.key" value="{{key}}" style="display: none;" />
<input style="margin-top: auto; margin-bottom: auto;" class="learning-value" type="text" name="data.learning.{{key}}.value" value="{{attr.value}}" /> <input style="margin-top: auto; margin-bottom: auto;" class="learning-value" type="text" name="data.learning.{{key}}.value" value="{{attr.value}}" />

View File

@@ -1,10 +1,8 @@
WEAPONS
<div class="bio-tab border scroll-y" style="height: 100%; border-top: none;"> <div class="bio-tab border scroll-y" style="height: 100%; border-top: none;">
<div class="grid-container" style="height: fit-content; border-top: none; grid-template-rows: 1fr auto; grid-template-columns: 1fr 1fr;"> <div class="grid-container" style="height: fit-content; border-top: none; grid-template-rows: 1fr auto; grid-template-columns: 1fr 1fr;">
<div class="border grid-container" style="grid-column-gap: 5px; grid-template-columns: auto 1fr; max-height: 163px; height: fit-content;"> <div class="border grid-container" style="grid-column-gap: 5px; grid-template-columns: auto 1fr; max-height: 163px; height: fit-content;">
<label style="margin-top: auto; margin-bottom: auto;">{{localize data.rammingdmg.label}}:</label> <label style="margin-top: auto; margin-bottom: auto;">{{localize data.data.rammingdmg.label}}:</label>
<input style="text-align: center;" name="data.rammingdmg.value" type="text" value="{{data.rammingdmg.value}}" placeholder="{{localize data.rammingdmg.label}}" /> <input style="text-align: center;" name="data.rammingdmg.value" type="text" value="{{data.data.rammingdmg.value}}" placeholder="{{localize data.data.rammingdmg.label}}" />
</div> </div>

View File

@@ -1,14 +1,14 @@
<div class="bio-tab border scroll-y" style="height: 100%; border-top: none;"> <div class="bio-tab border scroll-y" style="height: 100%; border-top: none;">
<div class="grid-container" style="height: fit-content; border-top: none; grid-template-rows: auto auto; grid-template-columns: 1fr 1fr;"> <div class="grid-container" style="height: fit-content; border-top: none; grid-template-rows: auto auto; grid-template-columns: 1fr 1fr;">
<div class="border grid-container" style="height: 100%; grid-row: 1/4; grid-template-rows: auto 1fr; height: fit-content; min-height: 200px;"> <div class="border grid-container" style="height: 100%; grid-row: 1/4; grid-template-rows: auto 1fr; height: fit-content; min-height: 200px;">
<h2 style="margin-bottom: 0;">{{localize data.description.label}}</h2> <h2 style="margin-bottom: 0;">{{localize data.data.description.label}}</h2>
<div class="description"> <div class="description">
{{editor content=data.description.value target="data.description.value" button=true owner=owner editable=editable}} {{editor content=data.data.description.value target="data.description.value" button=true owner=owner editable=editable}}
</div> </div>
</div> </div>
<div class="border grid-container" style="grid-column-gap: 5px; grid-template-columns: 1fr auto; max-height: 163px; height: fit-content;"> <div class="border grid-container" style="grid-column-gap: 5px; grid-template-columns: 1fr auto; max-height: 163px; height: fit-content;">
<label style="margin-top: auto; margin-bottom: auto;">{{localize data.crew.label}}:</label> <label style="margin-top: auto; margin-bottom: auto;">{{localize data.data.crew.label}}:</label>
<input name="data.crew.value" style="text-align: center;" type="text" value="{{data.crew.value}}" placeholder="{{localize data.crew.label}}" /> <input name="data.crew.value" style="text-align: center;" type="text" value="{{data.data.crew.value}}" placeholder="{{localize data.data.crew.label}}" />
</div> </div>
<div class="spells border"> <div class="spells border">

View File

@@ -60,7 +60,7 @@
</ul> </ul>
</div> </div>
<div class="skills border grid-container" style="grid-column-gap: 5px; grid-template-columns: 1fr;"> <div class="skills border grid-container" style="grid-column-gap: 5px; grid-template-columns: 1fr;">
<h1 style="grid-column: unset;">{{localize data.languages.label}}</h1> <h1 style="grid-column: unset;">{{localize data.data.languages.label}}</h1>
<input name="data.languages.value" type="text" value="{{data.languages.value}}" /> <input name="data.languages.value" type="text" value="{{data.data.languages.value}}" />
</div> </div>
</div> </div>

View File

@@ -4,7 +4,7 @@
<a class="modification-control" data-action="create"><i class="fas fa-plus"></i></a> <a class="modification-control" data-action="create"><i class="fas fa-plus"></i></a>
</header> </header>
<ol class="modifications-list" style="padding: 0;"> <ol class="modifications-list" style="padding: 0;">
{{#each data.modifications as |attr key|}} {{#each data.data.modifications as |attr key|}}
<li class="modification grid-container" style="grid-template-columns: 2fr 1fr auto;" data-attribute="{{key}}"> <li class="modification grid-container" style="grid-template-columns: 2fr 1fr auto;" data-attribute="{{key}}">
<input class="modification-key" type="text" name="data.modifications.{{key}}.key" value="{{key}}" style="display: none;" /> <input class="modification-key" type="text" name="data.modifications.{{key}}.key" value="{{key}}" style="display: none;" />
<select class="modification-modtype" name="data.modifications.{{key}}.modtype"> <select class="modification-modtype" name="data.modifications.{{key}}.modtype">