parent
512d0de4e5
commit
6f030bd6b5
|
@ -17,6 +17,7 @@
|
||||||
"BIO.AGE": "Age",
|
"BIO.AGE": "Age",
|
||||||
"BIO.KIN": "Kin",
|
"BIO.KIN": "Kin",
|
||||||
"BIO.NAME": "Name",
|
"BIO.NAME": "Name",
|
||||||
|
"BIO.NICKNAME": "Nickname",
|
||||||
"BIO.PROFESSION": "Profession",
|
"BIO.PROFESSION": "Profession",
|
||||||
|
|
||||||
"CURRENCY.QUARTER": "Quarter",
|
"CURRENCY.QUARTER": "Quarter",
|
||||||
|
@ -33,6 +34,9 @@
|
||||||
|
|
||||||
"FEATURES.TITLE": "Features",
|
"FEATURES.TITLE": "Features",
|
||||||
|
|
||||||
|
"HT.FEATURES.TITLE": "Features",
|
||||||
|
"HT.RELATIONSHIP.TITLE": "Relationships",
|
||||||
|
|
||||||
"ITEM.ARMOR": "Rustning",
|
"ITEM.ARMOR": "Rustning",
|
||||||
"ITEM.ATTACK": "Attack",
|
"ITEM.ATTACK": "Attack",
|
||||||
"ITEM.DAMAGE": "Damage",
|
"ITEM.DAMAGE": "Damage",
|
||||||
|
@ -48,6 +52,8 @@
|
||||||
"ITEM.TALENT": "Talent",
|
"ITEM.TALENT": "Talent",
|
||||||
"ITEM.WEAPON": "Weapon",
|
"ITEM.WEAPON": "Weapon",
|
||||||
|
|
||||||
|
"LEARNING.TITLE": "Learning",
|
||||||
|
|
||||||
"MENU.SENTTOCHAT": "Send To Chat",
|
"MENU.SENTTOCHAT": "Send To Chat",
|
||||||
|
|
||||||
"MOD.INIT": "Initiative",
|
"MOD.INIT": "Initiative",
|
||||||
|
@ -76,6 +82,7 @@
|
||||||
"TAB.COMBAT": "Combat",
|
"TAB.COMBAT": "Combat",
|
||||||
"TAB.DESCRIPTION": "Description",
|
"TAB.DESCRIPTION": "Description",
|
||||||
"TAB.GEAR": "Gear",
|
"TAB.GEAR": "Gear",
|
||||||
|
"TAB.MAIN": "Main",
|
||||||
"TAB.MODIFICATION": "Modifications",
|
"TAB.MODIFICATION": "Modifications",
|
||||||
"TAB.NOTE": "Note",
|
"TAB.NOTE": "Note",
|
||||||
"TAB.SKILLS": "Skills",
|
"TAB.SKILLS": "Skills",
|
||||||
|
|
|
@ -17,7 +17,9 @@
|
||||||
"BIO.AGE": "Ålder",
|
"BIO.AGE": "Ålder",
|
||||||
"BIO.KIN": "Folkslag",
|
"BIO.KIN": "Folkslag",
|
||||||
"BIO.NAME": "Namn",
|
"BIO.NAME": "Namn",
|
||||||
|
"BIO.NICKNAME": "Tillnamn",
|
||||||
"BIO.PROFESSION": "Värv",
|
"BIO.PROFESSION": "Värv",
|
||||||
|
"BIO.APPEARANCE": "Utseende",
|
||||||
|
|
||||||
"CURRENCY.QUARTER": "Kvarting",
|
"CURRENCY.QUARTER": "Kvarting",
|
||||||
"CURRENCY.SHEKEL": "Shekel",
|
"CURRENCY.SHEKEL": "Shekel",
|
||||||
|
@ -33,6 +35,9 @@
|
||||||
|
|
||||||
"FEATURES.TITLE": "Särdrag",
|
"FEATURES.TITLE": "Särdrag",
|
||||||
|
|
||||||
|
"HT.FEATURES.TITLE": "Karaktärsdrag",
|
||||||
|
"HT.RELATIONSHIP.TITLE": "Relationer",
|
||||||
|
|
||||||
"ITEM.ARMOR": "Rustning",
|
"ITEM.ARMOR": "Rustning",
|
||||||
"ITEM.ATTACK": "Anfall",
|
"ITEM.ATTACK": "Anfall",
|
||||||
"ITEM.DAMAGE": "Skada",
|
"ITEM.DAMAGE": "Skada",
|
||||||
|
@ -48,6 +53,8 @@
|
||||||
"ITEM.TALENT": "Förmåga",
|
"ITEM.TALENT": "Förmåga",
|
||||||
"ITEM.WEAPON": "Vapen",
|
"ITEM.WEAPON": "Vapen",
|
||||||
|
|
||||||
|
"LEARNING.TITLE": "Inlärning",
|
||||||
|
|
||||||
"MENU.SENTTOCHAT": "Skicka till chat",
|
"MENU.SENTTOCHAT": "Skicka till chat",
|
||||||
|
|
||||||
"MOD.INIT": "Turordning",
|
"MOD.INIT": "Turordning",
|
||||||
|
@ -76,6 +83,7 @@
|
||||||
"TAB.COMBAT": "Strid",
|
"TAB.COMBAT": "Strid",
|
||||||
"TAB.DESCRIPTION": "Beskrivning",
|
"TAB.DESCRIPTION": "Beskrivning",
|
||||||
"TAB.GEAR": "Utrustning",
|
"TAB.GEAR": "Utrustning",
|
||||||
|
"TAB.MAIN": "Allmänt",
|
||||||
"TAB.MODIFICATION": "Modifikationer",
|
"TAB.MODIFICATION": "Modifikationer",
|
||||||
"TAB.NOTE": "Anteckning",
|
"TAB.NOTE": "Anteckning",
|
||||||
"TAB.SKILLS": "Färdigheter",
|
"TAB.SKILLS": "Färdigheter",
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import KHDiceRoller from "../helpers/dice-helper.js"
|
import KHDiceRoller from "../helpers/dice-helper.js"
|
||||||
|
import ActorHelpers from "../helpers/actor-helper.js";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Extend the basic ActorSheet with some very simple modifications
|
* Extend the basic ActorSheet with some very simple modifications
|
||||||
|
@ -9,12 +10,23 @@ export class ActorSheetKH extends ActorSheet {
|
||||||
|
|
||||||
/** @override */
|
/** @override */
|
||||||
static get defaultOptions() {
|
static get defaultOptions() {
|
||||||
|
if(game.settings.get("kopparhavet", "gameSystem") === "hjaltarnas-tid") {
|
||||||
|
return mergeObject(super.defaultOptions, {
|
||||||
|
classes: ["kopparhavet", "sheet", "actor"],
|
||||||
|
template: "systems/kopparhavet/templates/actors/ht-character-sheet.html",
|
||||||
|
width: 710,
|
||||||
|
height: 650,
|
||||||
|
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "main" }],
|
||||||
|
scrollY: [".skills-tab .skills", ".talent-tab .items"],
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
return mergeObject(super.defaultOptions, {
|
return mergeObject(super.defaultOptions, {
|
||||||
classes: ["kopparhavet", "sheet", "actor"],
|
classes: ["kopparhavet", "sheet", "actor"],
|
||||||
template: "systems/kopparhavet/templates/actors/character-sheet.html",
|
template: "systems/kopparhavet/templates/actors/character-sheet.html",
|
||||||
width: 710,
|
width: 710,
|
||||||
height: 650,
|
height: 650,
|
||||||
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "skills" }],
|
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "main" }],
|
||||||
scrollY: [".skills-tab .skills", ".talent-tab .items"],
|
scrollY: [".skills-tab .skills", ".talent-tab .items"],
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -22,7 +34,13 @@ export class ActorSheetKH extends ActorSheet {
|
||||||
/** @override */
|
/** @override */
|
||||||
get template() {
|
get template() {
|
||||||
const path = "systems/kopparhavet/templates/actors";
|
const path = "systems/kopparhavet/templates/actors";
|
||||||
return `${path}/${this.actor.data.type}-sheet.html`;
|
let prefix = "";
|
||||||
|
|
||||||
|
if(game.settings.get("kopparhavet", "gameSystem") === "hjaltarnas-tid") {
|
||||||
|
prefix = "ht-";
|
||||||
|
}
|
||||||
|
|
||||||
|
return `${path}/${prefix}${this.actor.data.type}-sheet.html`;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
|
@ -278,15 +296,17 @@ export class ActorSheetKH extends ActorSheet {
|
||||||
let defence = armor.data.data.defence.value;
|
let defence = armor.data.data.defence.value;
|
||||||
let hasHelmet = false;
|
let hasHelmet = false;
|
||||||
|
|
||||||
this.actor.items.map((i) => {
|
if(game.settings.get("kopparhavet", "gameSystem") === "kopparhavet") {
|
||||||
if(i.type === "armor") {
|
this.actor.items.map((i) => {
|
||||||
if(i.data.data.equipable.equipped && i.data.data.helmet.value) {
|
if (i.type === "armor") {
|
||||||
if(CONFIG.KH.armor_types[i.data.data.type.value]?.ac >= CONFIG.KH.armor_types[armor.data.data.type.value]?.ac) {
|
if (i.data.data.equipable.equipped && i.data.data.helmet.value) {
|
||||||
hasHelmet = true
|
if (CONFIG.KH.armor_types[i.data.data.type.value]?.ac >= CONFIG.KH.armor_types[armor.data.data.type.value]?.ac) {
|
||||||
|
hasHelmet = true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
});
|
}
|
||||||
|
|
||||||
let regex = /([0-9]*)t([0-9]*)/g;
|
let regex = /([0-9]*)t([0-9]*)/g;
|
||||||
let regexMatch;
|
let regexMatch;
|
||||||
|
@ -314,8 +334,6 @@ export class ActorSheetKH extends ActorSheet {
|
||||||
const li = $(ev.currentTarget).parents(".item");
|
const li = $(ev.currentTarget).parents(".item");
|
||||||
let skillValue = li.data("ability");
|
let skillValue = li.data("ability");
|
||||||
|
|
||||||
console.log(skillValue)
|
|
||||||
|
|
||||||
let skillName = "ITEM.ATTACK";
|
let skillName = "ITEM.ATTACK";
|
||||||
|
|
||||||
this.khRoller.rollSkillInChat(skillName, skillValue, false, this.actor)
|
this.khRoller.rollSkillInChat(skillName, skillValue, false, this.actor)
|
||||||
|
@ -357,6 +375,104 @@ export class ActorSheetKH extends ActorSheet {
|
||||||
this.khRoller.rollArmorInChat(regexMatch[1], hasHelmet, this.actor)
|
this.khRoller.rollArmorInChat(regexMatch[1], hasHelmet, this.actor)
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Add or Remove relationship
|
||||||
|
html.find(".learning-control").click(this._onClickLearningControl.bind(this));
|
||||||
|
html.find(".learning-click").click(this._onClickLearingLearned.bind(this));
|
||||||
|
|
||||||
|
/* Hjältarnas Tid specefic */
|
||||||
|
if(game.settings.get("kopparhavet", "gameSystem") === "hjaltarnas-tid") {
|
||||||
|
// Add or Remove relationship
|
||||||
|
html.find(".relation-control").click(this._onClickRelationshipControl.bind(this));
|
||||||
|
html.find(".relation-click").click(this._onClickRelationshipUsed.bind(this));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async _onClickLearingLearned(event) {
|
||||||
|
event.stopPropagation();
|
||||||
|
const li1 = $(event.currentTarget);
|
||||||
|
const li2 = $(event.currentTarget).parents(".learning");
|
||||||
|
let box = li1.data("num")
|
||||||
|
let learingKey = li2.data("attribute");
|
||||||
|
|
||||||
|
const clickedValue = (this.actor.data.data.learning[learingKey][box] == undefined ? false : this.actor.data.data.learning[learingKey][box]);
|
||||||
|
let dataName = "data.learning." + learingKey + "." + box
|
||||||
|
let tempData = {}
|
||||||
|
|
||||||
|
tempData[dataName] = !clickedValue
|
||||||
|
|
||||||
|
this.actor.update(tempData);
|
||||||
|
|
||||||
|
this._render();
|
||||||
|
}
|
||||||
|
|
||||||
|
async _onClickLearningControl(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
const a = event.currentTarget;
|
||||||
|
const action = a.dataset.action;
|
||||||
|
const attrs = this.object.data.data.learning;
|
||||||
|
const form = this.form;
|
||||||
|
|
||||||
|
// Add new modification
|
||||||
|
if (action === "create") {
|
||||||
|
const nk = new Date().getTime();
|
||||||
|
let newKey = document.createElement("div");
|
||||||
|
|
||||||
|
newKey.innerHTML = `<input class="learning-key" type="text" name="data.learning.attr${nk}.key" value="attr${nk}" style="display: none;" /><input class="learning-key" type="text" name="data.learning.attr${nk}.value" value="" style="display: none;" />`;
|
||||||
|
|
||||||
|
form.appendChild(newKey);
|
||||||
|
await this._onSubmit(event);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Remove existing modification
|
||||||
|
else if (action === "delete") {
|
||||||
|
const li = a.closest(".learning");
|
||||||
|
li.parentElement.removeChild(li);
|
||||||
|
await this._onSubmit(event);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async _onClickRelationshipControl(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
const a = event.currentTarget;
|
||||||
|
const action = a.dataset.action;
|
||||||
|
const attrs = this.object.data.data.relationships;
|
||||||
|
const form = this.form;
|
||||||
|
|
||||||
|
// Add new modification
|
||||||
|
if (action === "create") {
|
||||||
|
const nk = new Date().getTime();
|
||||||
|
let newKey = document.createElement("div");
|
||||||
|
|
||||||
|
newKey.innerHTML = `<input class="relation-key" type="text" name="data.relationships.attr${nk}.key" value="attr${nk}" style="display: none;" /><input class="relation-key" type="text" name="data.relationships.attr${nk}.value" value="" style="display: none;" />`;
|
||||||
|
|
||||||
|
form.appendChild(newKey);
|
||||||
|
await this._onSubmit(event);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Remove existing modification
|
||||||
|
else if (action === "delete") {
|
||||||
|
const li = a.closest(".relation");
|
||||||
|
li.parentElement.removeChild(li);
|
||||||
|
await this._onSubmit(event);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async _onClickRelationshipUsed(event) {
|
||||||
|
event.stopPropagation();
|
||||||
|
|
||||||
|
const li = $(event.currentTarget).parents(".relation");
|
||||||
|
let relationshipKey = li.data("attribute");
|
||||||
|
|
||||||
|
const clickedValue = (this.actor.data.data.relationships[relationshipKey].check == undefined ? false : this.actor.data.data.relationships[relationshipKey].check);
|
||||||
|
let dataName = "data.relationships." + relationshipKey + ".check"
|
||||||
|
let tempData = {}
|
||||||
|
|
||||||
|
tempData[dataName] = !clickedValue
|
||||||
|
|
||||||
|
this.actor.update(tempData);
|
||||||
|
|
||||||
|
this._render();
|
||||||
}
|
}
|
||||||
|
|
||||||
async _toggleEquippedItem(event) {
|
async _toggleEquippedItem(event) {
|
||||||
|
@ -469,6 +585,13 @@ export class ActorSheetKH extends ActorSheet {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @override */
|
||||||
|
_updateObject(event, formData) {
|
||||||
|
const actorUpdate = ActorHelpers.actorUpdate.bind(this);
|
||||||
|
|
||||||
|
actorUpdate(event, formData);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Send details of an item to chat.
|
* Send details of an item to chat.
|
||||||
* @private
|
* @private
|
||||||
|
|
|
@ -0,0 +1,54 @@
|
||||||
|
export default class ActorHelpers {
|
||||||
|
static async actorUpdate(event, formData) {
|
||||||
|
formData = expandObject(formData);
|
||||||
|
|
||||||
|
// Handle the free-form relationship list
|
||||||
|
const formAttrs = expandObject(formData)?.data?.relationships || {};
|
||||||
|
|
||||||
|
const relationships = Object.values(formAttrs).reduce((obj, v) => {
|
||||||
|
let k = v["key"].trim();
|
||||||
|
delete v["key"];
|
||||||
|
obj[k] = v;
|
||||||
|
return obj;
|
||||||
|
}, {});
|
||||||
|
|
||||||
|
// Remove modifications which are no longer used
|
||||||
|
if (this.object.data?.data?.relationships) {
|
||||||
|
for (let k of Object.keys(this.object.data.data.relationships)) {
|
||||||
|
if (!relationships.hasOwnProperty(k)) relationships[`-=${k}`] = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// recombine modifications to formData
|
||||||
|
if (Object.keys(relationships).length > 0) {
|
||||||
|
setProperty(formData, `data.relationships`, relationships);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Handle the free-form learnign list
|
||||||
|
const formAttrsLearning = expandObject(formData)?.data?.learning || {};
|
||||||
|
|
||||||
|
const learning = Object.values(formAttrsLearning).reduce((obj, v) => {
|
||||||
|
let k = v["key"].trim();
|
||||||
|
delete v["key"];
|
||||||
|
obj[k] = v;
|
||||||
|
return obj;
|
||||||
|
}, {});
|
||||||
|
|
||||||
|
// Remove modifications which are no longer used
|
||||||
|
if (this.object.data?.data?.learning) {
|
||||||
|
for (let k of Object.keys(this.object.data.data.learning)) {
|
||||||
|
if (!learning.hasOwnProperty(k)) learning[`-=${k}`] = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// recombine modifications to formData
|
||||||
|
if (Object.keys(learning).length > 0) {
|
||||||
|
setProperty(formData, `data.learning`, learning);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update the Item
|
||||||
|
this.actor.data.flags.loaded = false;
|
||||||
|
this.object.update(formData);
|
||||||
|
}
|
||||||
|
}
|
|
@ -8,7 +8,7 @@ export class ItemSheetKH extends ItemSheet {
|
||||||
/** @override */
|
/** @override */
|
||||||
static get defaultOptions() {
|
static get defaultOptions() {
|
||||||
return mergeObject(super.defaultOptions, {
|
return mergeObject(super.defaultOptions, {
|
||||||
classes: ["starwarsffg", "sheet", "item"],
|
classes: ["kopparhavet", "sheet", "item"],
|
||||||
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "description" }],
|
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "description" }],
|
||||||
scrollY: [".sheet-body", ".tab"],
|
scrollY: [".sheet-body", ".tab"],
|
||||||
});
|
});
|
||||||
|
@ -139,6 +139,7 @@ export class ItemSheetKH extends ItemSheet {
|
||||||
/** @override */
|
/** @override */
|
||||||
_updateObject(event, formData) {
|
_updateObject(event, formData) {
|
||||||
const itemUpdate = ItemHelpers.itemUpdate.bind(this);
|
const itemUpdate = ItemHelpers.itemUpdate.bind(this);
|
||||||
|
|
||||||
itemUpdate(event, formData);
|
itemUpdate(event, formData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,3 +24,81 @@ KH.armor_types = {
|
||||||
"ac": 30,
|
"ac": 30,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
KH.baseSkills = [
|
||||||
|
"Smidighet",
|
||||||
|
"Trolldom",
|
||||||
|
"Fingerfärdighet",
|
||||||
|
"Finna dolda ting",
|
||||||
|
"Förleda",
|
||||||
|
"Gömma sig",
|
||||||
|
"Handel",
|
||||||
|
"Hantverk",
|
||||||
|
"Insikt",
|
||||||
|
"Jakt",
|
||||||
|
"Kastvapen",
|
||||||
|
"Knivar",
|
||||||
|
"Lagkunskap",
|
||||||
|
"Legender",
|
||||||
|
"Läkekonst",
|
||||||
|
"Lärdom",
|
||||||
|
"Musik",
|
||||||
|
"Rida",
|
||||||
|
"Sjömanskap",
|
||||||
|
"Skytte",
|
||||||
|
"Sköldar",
|
||||||
|
"Slagsmål",
|
||||||
|
"Spana",
|
||||||
|
"Spel",
|
||||||
|
"Spjut",
|
||||||
|
"Språk",
|
||||||
|
"Status",
|
||||||
|
"Stigvana",
|
||||||
|
"Styrka",
|
||||||
|
"Svärd",
|
||||||
|
"Taktik",
|
||||||
|
"Uthållighet",
|
||||||
|
"Utstrålning",
|
||||||
|
"Viljestyrka",
|
||||||
|
"Väderkunskap",
|
||||||
|
"Yxor"
|
||||||
|
]
|
||||||
|
|
||||||
|
KH.baseSkillsHT = [
|
||||||
|
"Fingerfärdighet",
|
||||||
|
"Gömma sig",
|
||||||
|
"Handel",
|
||||||
|
"Härkonst",
|
||||||
|
"Jakt",
|
||||||
|
"Lagkunskap",
|
||||||
|
"Ledarskap",
|
||||||
|
"Leta",
|
||||||
|
"Läkekonst",
|
||||||
|
"Lärdom",
|
||||||
|
"Manövrer",
|
||||||
|
"Rida",
|
||||||
|
"Sjömannaskap",
|
||||||
|
"Skaldekonst",
|
||||||
|
"Skapa",
|
||||||
|
"Spana",
|
||||||
|
"Spel",
|
||||||
|
"Spelmannaskap",
|
||||||
|
"Språk",
|
||||||
|
"Status",
|
||||||
|
"Stigvana",
|
||||||
|
"Styrkeprov",
|
||||||
|
"Trolldom",
|
||||||
|
"Uthållighet",
|
||||||
|
"Viljestyrka",
|
||||||
|
"Väderkunskap",
|
||||||
|
"Vältalighet",
|
||||||
|
"Wyrd",
|
||||||
|
"Kastvapen",
|
||||||
|
"Knivkamp",
|
||||||
|
"Skytte",
|
||||||
|
"Sköldkamp",
|
||||||
|
"Slagsmål",
|
||||||
|
"Spjutkamp",
|
||||||
|
"Svärdskamp",
|
||||||
|
"Yxkamp"
|
||||||
|
]
|
|
@ -1,15 +1,22 @@
|
||||||
export default class KHHooks {
|
export default class KHHooks {
|
||||||
static async onCreateActor(actor, options, userId) {
|
static async onCreateActor(actor, options, userId) {
|
||||||
if (actor.data.type == "character") {
|
if (actor.data.type == "character") {
|
||||||
const actorbaseSkills = actor.data.data.baseSkills;
|
// Load Skills Compendium skills
|
||||||
|
let skillIndex;
|
||||||
|
let actorbaseSkills;
|
||||||
|
|
||||||
|
if(game.settings.get("kopparhavet", "gameSystem") === "hjaltarnas-tid") {
|
||||||
|
actorbaseSkills = CONFIG.KH.baseSkillsHT
|
||||||
|
skillIndex = await game.packs.get("kopparhavet.skills-ht").getContent();
|
||||||
|
} else {
|
||||||
|
actorbaseSkills = CONFIG.KH.baseSkills;
|
||||||
|
skillIndex = await game.packs.get("kopparhavet.skills").getContent();
|
||||||
|
}
|
||||||
|
|
||||||
// Check if skill already exists by some chance
|
// Check if skill already exists by some chance
|
||||||
const existingSkills = actor.items.filter((i) => i.type === ItemType.Skill).map((i) => i.name);
|
const existingSkills = actor.items.filter((i) => i.type === ItemType.Skill).map((i) => i.name);
|
||||||
const skillsToAdd = actorbaseSkills.filter((s) => !existingSkills.includes(s));
|
const skillsToAdd = actorbaseSkills.filter((s) => !existingSkills.includes(s));
|
||||||
|
|
||||||
// Load Skills Compendium skills
|
|
||||||
const skillIndex = await game.packs.get("kopparhavet.skills").getContent();
|
|
||||||
|
|
||||||
// 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));
|
||||||
|
|
||||||
|
|
|
@ -14,10 +14,6 @@ Hooks.once("init", () => {
|
||||||
// Give global access to FFG config.
|
// Give global access to FFG config.
|
||||||
CONFIG.KH = KH;
|
CONFIG.KH = KH;
|
||||||
|
|
||||||
//registerFonts();
|
|
||||||
registerSheets();
|
|
||||||
preloadHandlebarsTemplates();
|
|
||||||
registerHandlebarsHelpers();
|
|
||||||
game.settings.register("kopparhavet", "worldSchemaVersion", {
|
game.settings.register("kopparhavet", "worldSchemaVersion", {
|
||||||
name: "World Version",
|
name: "World Version",
|
||||||
hint: "Used to automatically upgrade worlds data when the system is upgraded.",
|
hint: "Used to automatically upgrade worlds data when the system is upgraded.",
|
||||||
|
@ -26,10 +22,36 @@ Hooks.once("init", () => {
|
||||||
default: 0,
|
default: 0,
|
||||||
type: Number,
|
type: Number,
|
||||||
});
|
});
|
||||||
|
game.settings.register("kopparhavet", "gameSystem", {
|
||||||
|
name: "Game System",
|
||||||
|
hint: "Select what game system is being used..",
|
||||||
|
scope: "world",
|
||||||
|
config: true,
|
||||||
|
default: "kopparhavet",
|
||||||
|
choices: {
|
||||||
|
"kopparhavet": "Kopparhavets Hjältar",
|
||||||
|
"hjaltarnas-tid": "Hjältarnas Tid"
|
||||||
|
},
|
||||||
|
type: String,
|
||||||
|
onChange: (rule) => {
|
||||||
|
window.location.reload();
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
//registerFonts();
|
||||||
|
registerSheets();
|
||||||
|
|
||||||
|
if(game.settings.get("kopparhavet", "gameSystem") === "hjaltarnas-tid") {
|
||||||
|
preloadHandlebarsTemplatesHT();
|
||||||
|
} else {
|
||||||
|
preloadHandlebarsTemplates();
|
||||||
|
}
|
||||||
|
|
||||||
|
registerHandlebarsHelpers();
|
||||||
});
|
});
|
||||||
|
|
||||||
Hooks.once("ready", () => {
|
Hooks.once("ready", () => {
|
||||||
//migrateWorld();
|
migrateWorld();
|
||||||
});
|
});
|
||||||
|
|
||||||
/* POPULATE CHARACTER WITH DEFAULT SKILLS */
|
/* POPULATE CHARACTER WITH DEFAULT SKILLS */
|
||||||
|
@ -66,6 +88,7 @@ function preloadHandlebarsTemplates() {
|
||||||
"systems/kopparhavet/templates/items/spell-sheet.html",
|
"systems/kopparhavet/templates/items/spell-sheet.html",
|
||||||
"systems/kopparhavet/templates/items/talent-sheet.html",
|
"systems/kopparhavet/templates/items/talent-sheet.html",
|
||||||
"systems/kopparhavet/templates/items/weapon-sheet.html",
|
"systems/kopparhavet/templates/items/weapon-sheet.html",
|
||||||
|
"systems/kopparhavet/templates/parts/actor/main.html",
|
||||||
"systems/kopparhavet/templates/parts/actor/bio.html",
|
"systems/kopparhavet/templates/parts/actor/bio.html",
|
||||||
"systems/kopparhavet/templates/parts/actor/combat.html",
|
"systems/kopparhavet/templates/parts/actor/combat.html",
|
||||||
"systems/kopparhavet/templates/parts/actor/gear.html",
|
"systems/kopparhavet/templates/parts/actor/gear.html",
|
||||||
|
@ -76,6 +99,29 @@ function preloadHandlebarsTemplates() {
|
||||||
return loadTemplates(templatePaths);
|
return loadTemplates(templatePaths);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function preloadHandlebarsTemplatesHT() {
|
||||||
|
const templatePaths = [
|
||||||
|
"systems/kopparhavet/templates/chat/item-card.html",
|
||||||
|
"systems/kopparhavet/templates/actors/ht-adversary-sheet.html",
|
||||||
|
"systems/kopparhavet/templates/actors/ht-character-sheet.html",
|
||||||
|
"systems/kopparhavet/templates/dice/roll.html",
|
||||||
|
"systems/kopparhavet/templates/items/adversaryAttack-sheet.html",
|
||||||
|
"systems/kopparhavet/templates/items/armor-sheet.html",
|
||||||
|
"systems/kopparhavet/templates/items/gear-sheet.html",
|
||||||
|
"systems/kopparhavet/templates/items/skill-sheet.html",
|
||||||
|
"systems/kopparhavet/templates/items/spell-sheet.html",
|
||||||
|
"systems/kopparhavet/templates/items/talent-sheet.html",
|
||||||
|
"systems/kopparhavet/templates/items/weapon-sheet.html",
|
||||||
|
"systems/kopparhavet/templates/parts/actor/ht-main.html",
|
||||||
|
"systems/kopparhavet/templates/parts/actor/ht-combat.html",
|
||||||
|
"systems/kopparhavet/templates/parts/actor/gear.html",
|
||||||
|
"systems/kopparhavet/templates/parts/actor/ht-skills.html",
|
||||||
|
"systems/kopparhavet/templates/parts/actor/talent.html",
|
||||||
|
"systems/kopparhavet/templates/parts/shared/modifications.html",
|
||||||
|
];
|
||||||
|
return loadTemplates(templatePaths);
|
||||||
|
}
|
||||||
|
|
||||||
function normalize(data, defaultValue) {
|
function normalize(data, defaultValue) {
|
||||||
if (data) {
|
if (data) {
|
||||||
return data.toLowerCase();
|
return data.toLowerCase();
|
||||||
|
@ -129,3 +175,14 @@ function registerHandlebarsHelpers() {
|
||||||
return new Handlebars.SafeString(value.replace(/(<([^>]+)>)/gi, "").replace(/(?:\r\n|\r|\n)/g, '<br/>'));
|
return new Handlebars.SafeString(value.replace(/(<([^>]+)>)/gi, "").replace(/(?:\r\n|\r|\n)/g, '<br/>'));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function migrateWorld() {
|
||||||
|
game.actors.forEach((actor) => {
|
||||||
|
// Migrate to v0.0.2 from v0.0.1
|
||||||
|
if(actor.data.type === "character") {
|
||||||
|
if(!actor.data?.data?.bio?.appearance) {
|
||||||
|
actor.update({"data.bio.appearance.label": "BIO.APPEARANCE", "data.bio.appearance.value": ""});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
|
@ -0,0 +1,37 @@
|
||||||
|
{"name":"Fingerfärdighet","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.tmNI5YIYYjGuZK5i"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"AY9pFa3b9qB65CVM"}
|
||||||
|
{"name":"Gömma sig","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.Ewo6mu7WdoOcF6DD"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"LsEwsYN90mrMAwJC"}
|
||||||
|
{"name":"Handel","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.syxeJlio8vIrx0Lr"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"JjXlb1GNQEmgXut1"}
|
||||||
|
{"name":"Härkonst","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.Yvy3Ej3tDNhp0VVA"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"a1AxdXijThSi6VNG"}
|
||||||
|
{"name":"Jakt","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.orNrL49vWUePhLaU"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"tPSscak2iUxVNKyP"}
|
||||||
|
{"name":"Kastvapen","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"combat","label":"SKILL.TYPE"},"value":"30","used":false},"flags":{"core":{"sourceId":"Item.YpheXmaKsX9omtBA"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"BN9Y5YRwBk8rbWba"}
|
||||||
|
{"name":"Knivkamp","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"combat","label":"SKILL.TYPE"},"value":"30","used":false},"flags":{"core":{"sourceId":"Item.uctwxo07FCKCk2K4"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"TVRH99cyiGmAkUNY"}
|
||||||
|
{"name":"Lagkunskap","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.b9U8BXjNvI4LwlRX"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"fJQm2snkj0C6GcGG"}
|
||||||
|
{"name":"Läkekonst","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.bVEJBtXhXOkqIBek"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"RHcwYXp1WfnPDcTT"}
|
||||||
|
{"name":"Lärdom","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.5wz37ypKMn6tgtTr"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"2G92IWn9BCGtmqHv"}
|
||||||
|
{"name":"Ledarskap","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.DDZkgceLisZOYHEi"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"tHF9QafgX9sqfpAW"}
|
||||||
|
{"name":"Leta","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.0m5bA14oR16bB2Gt"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"sWHSbMOOBlhShKrP"}
|
||||||
|
{"name":"Manövrer","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.XF2eNRo6uMhDs5Uv"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"N4nreeMOFTOCmJWa"}
|
||||||
|
{"name":"Rida","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.boR4AGF8LD12ykoc"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"kEi1G8CoDO8R2Yqw"}
|
||||||
|
{"name":"Sjömannaskap","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.8org0OaWuKO6rCqm"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"12sCrhriIkvlBhZR"}
|
||||||
|
{"name":"Skaldekonst","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.dYcVgFgx6WmBWCeZ"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"Lgp89BnjQQ0QbWFG"}
|
||||||
|
{"name":"Skapa","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.DSWruhUT6DT9kY7Z"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"58gGOTfVYLJaYly0"}
|
||||||
|
{"name":"Sköldkamp","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"combat","label":"SKILL.TYPE"},"value":"30","used":false},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"Qg4PmjVCFSylYlHM"}
|
||||||
|
|
||||||
|
{"name":"Skytte","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"combat","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.KJLF5fDrZaA1DKg1"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"izHncfq2g44vxrOj"}
|
||||||
|
{"name":"Slagsmål","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"combat","label":"SKILL.TYPE"},"value":"30","used":false},"flags":{"core":{"sourceId":"Item.UkwUABDT8NB8y1mQ"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"LK3tbOXHrBpWxALq"}
|
||||||
|
{"name":"Spana","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.5oQCvQNiDSeIe8vI"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"YuPS88e7mNq0Ixm1"}
|
||||||
|
{"name":"Spel","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.bcRVOx8M3Ue6tgGz"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"bwfnRUbXSNEluqgP"}
|
||||||
|
{"name":"Spelmannaskap","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.eFeMJtv30eImpUMn"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"kpmj729kiYYHe8kS"}
|
||||||
|
{"name":"Spjutkamp","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"combat","label":"SKILL.TYPE"},"value":"30","used":false},"flags":{"core":{"sourceId":"Item.GxkoQ2KdPh9ogGuJ"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"MCw0iaS0jicX4EhH"}
|
||||||
|
{"name":"Språk","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.BkCe8HPX1wVYlsmV"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"082XSYN2gkCu7eiw"}
|
||||||
|
{"name":"Status","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.5NCkdBZ4lWwLzGwk"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"Hgpw4KoUqsE69Tgm"}
|
||||||
|
{"name":"Stigvana","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.NBRV1tzrIV9AmGka"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"DKSzGZr7iKavSq7A"}
|
||||||
|
{"name":"Styrkeprov","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.IC2RGKp9cEYzyIln"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"ULy4VKzv7TpbjBdK"}
|
||||||
|
{"name":"Svärdskamp","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"combat","label":"SKILL.TYPE"},"value":"30","used":false},"flags":{"core":{"sourceId":"Item.b9no6ZeE5KyG9AfT"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"tibPHZGChVumrm2B"}
|
||||||
|
{"name":"Trolldom","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.EVCN4lxeferZYP0P"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"WvUs3O5F7aksjM6D"}
|
||||||
|
{"name":"Uthållighet","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.Uc9XLdzkI7mGMTLL"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"bazsFyBhvZMOWKxh"}
|
||||||
|
{"name":"Väderkunskap","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.elGMSOQROaYXCEPA"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"AvQobAh7dQ3coziY"}
|
||||||
|
{"name":"Vältalighet","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.F5lkuwhO3WGl5yWk"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"qijUm0Gz9zSIr55P"}
|
||||||
|
{"name":"Viljestyrka","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.qbi9SN1V4bPT3T3Y"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"sqInbChYhQ1VhVUv"}
|
||||||
|
{"name":"Wyrd","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.TjVsmOs0PqbAzNUf"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"MD7Gz5QJYw1C98NM"}
|
||||||
|
{"name":"Yxkamp","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"combat","label":"SKILL.TYPE"},"value":"30","used":false},"flags":{"core":{"sourceId":"Item.VWaRRqiUlMw1nPUn"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"UJhsMDi2VNNFN9st"}
|
|
@ -1,36 +1,36 @@
|
||||||
{"name":"Smidighet","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"base","label":"SKILL.TYPE"},"value":"25","used":false},"flags":{"core":{"sourceId":"Item.tmNI5YIYYjGuZK5i"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"INlHwwv9wG4VA13D"}
|
{"name":"Fingerfärdighet","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.syxeJlio8vIrx0Lr"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"IVuFDobCZTw5sEOw"}
|
||||||
{"name":"Trolldom","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.Ewo6mu7WdoOcF6DD"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"kIu2AL79urDjZV8z"}
|
{"name":"Finna dolda ting","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.Yvy3Ej3tDNhp0VVA"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"Jp0pc8PlQ08uIQ81"}
|
||||||
{"name":"Fingerfärdighet","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.syxeJlio8vIrx0Lr"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"9gkb0ONyCuBcWwoB"}
|
{"name":"Förleda","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.orNrL49vWUePhLaU"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"4WYeODaMqXG2Urxb"}
|
||||||
{"name":"Finna dolda ting","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.Yvy3Ej3tDNhp0VVA"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"PaieUawcyfKhfSCv"}
|
{"name":"Gömma sig","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.b9U8BXjNvI4LwlRX"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"fUAmqrS5m3rlBqu3"}
|
||||||
{"name":"Förleda","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.orNrL49vWUePhLaU"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"JN1b5A5QHoinB5Gd"}
|
{"name":"Handel","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.DDZkgceLisZOYHEi"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"Mw5OL5irndqEV0Cf"}
|
||||||
{"name":"Gömma sig","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.b9U8BXjNvI4LwlRX"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"A8DBqRLBJ0yU3Ebp"}
|
{"name":"Hantverk","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.0m5bA14oR16bB2Gt"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"4XKApBWTI9agpijF"}
|
||||||
{"name":"Handel","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.DDZkgceLisZOYHEi"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"GS4NknpWIKYWceky"}
|
{"name":"Insikt","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.bVEJBtXhXOkqIBek"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"DnixLDN5YqDmQ3w7"}
|
||||||
{"name":"Hantverk","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.0m5bA14oR16bB2Gt"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"imcYcYl21T4xewNa"}
|
{"name":"Jakt","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.5wz37ypKMn6tgtTr"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"dhjKxKklgTKDQ6LI"}
|
||||||
{"name":"Insikt","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.bVEJBtXhXOkqIBek"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"NXJMfsrhYeCCEFP2"}
|
{"name":"Kastvapen","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"combat","label":"SKILL.TYPE"},"value":"30","used":false},"flags":{"core":{"sourceId":"Item.XF2eNRo6uMhDs5Uv"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"MTwMDLf5SyNPpPaM"}
|
||||||
{"name":"Jakt","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.5wz37ypKMn6tgtTr"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"3EuThKpVWrtV1Myy"}
|
{"name":"Knivar","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"combat","label":"SKILL.TYPE"},"value":"30","used":false},"flags":{"core":{"sourceId":"Item.boR4AGF8LD12ykoc"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"4Qz1KWm2vzYSviGo"}
|
||||||
{"name":"Kastvapen","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"combat","label":"SKILL.TYPE"},"value":"30","used":false},"flags":{"core":{"sourceId":"Item.XF2eNRo6uMhDs5Uv"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"33aM81M73ZyO1NNT"}
|
{"name":"Lagkunskap","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.8org0OaWuKO6rCqm"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"OZZNcLo8kJEl5bxz"}
|
||||||
{"name":"Knivar","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"combat","label":"SKILL.TYPE"},"value":"30","used":false},"flags":{"core":{"sourceId":"Item.boR4AGF8LD12ykoc"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"dGpYfI8CLwxKSzas"}
|
{"name":"Läkekonst","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.DSWruhUT6DT9kY7Z"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"39W3RKp0OYJ6ODHc"}
|
||||||
{"name":"Lagkunskap","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.8org0OaWuKO6rCqm"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"SYa97JM5u0aCNJMA"}
|
{"name":"Lärdom","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.5oQCvQNiDSeIe8vI"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"3SIpCpZrFJ0Wo1yG"}
|
||||||
{"name":"Legender","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.dYcVgFgx6WmBWCeZ"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"JcmDWE2GxJ9HKIuT"}
|
{"name":"Legender","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.dYcVgFgx6WmBWCeZ"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"9U3LFDwN8maRuB4O"}
|
||||||
{"name":"Läkekonst","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.DSWruhUT6DT9kY7Z"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"DqnFfN91ovo86QOn"}
|
{"name":"Musik","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.bcRVOx8M3Ue6tgGz"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"07lF8ECXawymH6sJ"}
|
||||||
{"name":"Lärdom","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.5oQCvQNiDSeIe8vI"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"Y6kDWokNA81POqvG"}
|
{"name":"Rida","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.eFeMJtv30eImpUMn"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"KwypnNBcjbpJHgNw"}
|
||||||
{"name":"Musik","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.bcRVOx8M3Ue6tgGz"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"5nMScpCnMbb77QfD"}
|
{"name":"Sjömanskap","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.BkCe8HPX1wVYlsmV"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"dGFnaEQAwsbMe06A"}
|
||||||
{"name":"Rida","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.eFeMJtv30eImpUMn"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"lqRRrd1Qdmbv5Nay"}
|
{"name":"Sköldar","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"combat","label":"SKILL.TYPE"},"value":"30","used":false},"flags":{"core":{"sourceId":"Item.NBRV1tzrIV9AmGka"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"h0t1HszSchtAU4CD"}
|
||||||
{"name":"Sjömanskap","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.BkCe8HPX1wVYlsmV"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"JIEl6a3sIkH2V5wX"}
|
{"name":"Skytte","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"combat","label":"SKILL.TYPE"},"value":"30","used":false},"flags":{"core":{"sourceId":"Item.5NCkdBZ4lWwLzGwk"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"IuE45fz0yTGXeAeg"}
|
||||||
{"name":"Skytte","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"combat","label":"SKILL.TYPE"},"value":"30","used":false},"flags":{"core":{"sourceId":"Item.5NCkdBZ4lWwLzGwk"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"jEoMTkqoxQ9iSaoB"}
|
{"name":"Slagsmål","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"combat","label":"SKILL.TYPE"},"value":"30","used":false},"flags":{"core":{"sourceId":"Item.IC2RGKp9cEYzyIln"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"93J8eMq8Ruii7HGQ"}
|
||||||
{"name":"Sköldar","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"combat","label":"SKILL.TYPE"},"value":"30","used":false},"flags":{"core":{"sourceId":"Item.NBRV1tzrIV9AmGka"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"OkDh0xCD26hUrthN"}
|
{"name":"Smidighet","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"base","label":"SKILL.TYPE"},"value":"25","used":false},"flags":{"core":{"sourceId":"Item.tmNI5YIYYjGuZK5i"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"bj1YnS866BInFyBC"}
|
||||||
{"name":"Slagsmål","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"combat","label":"SKILL.TYPE"},"value":"30","used":false},"flags":{"core":{"sourceId":"Item.IC2RGKp9cEYzyIln"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"afCvHSTrmDWNkj31"}
|
{"name":"Spana","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.EVCN4lxeferZYP0P"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"9thUjlghPlpJCeVu"}
|
||||||
{"name":"Spana","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.EVCN4lxeferZYP0P"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"Z0pWniEH3MBU69g6"}
|
{"name":"Spel","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.Uc9XLdzkI7mGMTLL"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"kPJ2fnAXyQJYn9r7"}
|
||||||
{"name":"Spel","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.Uc9XLdzkI7mGMTLL"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"HigGBE4oUC9yYMYw"}
|
{"name":"Spjut","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"combat","label":"SKILL.TYPE"},"value":"30","used":false},"flags":{"core":{"sourceId":"Item.qbi9SN1V4bPT3T3Y"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"yFBhPZrfG35GZlJ6"}
|
||||||
{"name":"Spjut","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"combat","label":"SKILL.TYPE"},"value":"30","used":false},"flags":{"core":{"sourceId":"Item.qbi9SN1V4bPT3T3Y"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"Ab22ZgWUiHl83kLQ"}
|
{"name":"Språk","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.elGMSOQROaYXCEPA"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"YjhRgpl5EKPuLfqd"}
|
||||||
{"name":"Språk","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.elGMSOQROaYXCEPA"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"VZx4zxd72g4tKvAd"}
|
{"name":"Status","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.F5lkuwhO3WGl5yWk"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"B9l1Gg5jDycSRvmN"}
|
||||||
{"name":"Status","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.F5lkuwhO3WGl5yWk"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"eaooVeqja7pzzC1X"}
|
{"name":"Stigvana","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.TjVsmOs0PqbAzNUf"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"nBfDHdCERZngNS3o"}
|
||||||
{"name":"Stigvana","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.TjVsmOs0PqbAzNUf"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"dR4UbIXYyCovTGzA"}
|
{"name":"Styrka","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"base","label":"SKILL.TYPE"},"value":"25","used":false},"flags":{"core":{"sourceId":"Item.YpheXmaKsX9omtBA"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"K47Rdtaomx6ixCj6"}
|
||||||
{"name":"Styrka","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"base","label":"SKILL.TYPE"},"value":"25","used":false},"flags":{"core":{"sourceId":"Item.YpheXmaKsX9omtBA"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"anObCIyX3DdSjNPY"}
|
{"name":"Svärd","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"combat","label":"SKILL.TYPE"},"value":"30","used":false},"flags":{"core":{"sourceId":"Item.uctwxo07FCKCk2K4"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"BLw8iWU04QAVCwI1"}
|
||||||
{"name":"Svärd","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"combat","label":"SKILL.TYPE"},"value":"30","used":false},"flags":{"core":{"sourceId":"Item.uctwxo07FCKCk2K4"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"IketG7YFZuGHnihF"}
|
{"name":"Taktik","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.KJLF5fDrZaA1DKg1"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"my0qR3hj3MW6q0pW"}
|
||||||
{"name":"Taktik","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.KJLF5fDrZaA1DKg1"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"5xTZzjUd7x2EgmG2"}
|
{"name":"Trolldom","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.Ewo6mu7WdoOcF6DD"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"LUq6INKpJDcNtG20"}
|
||||||
{"name":"Uthållighet","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"base","label":"SKILL.TYPE"},"value":"25","used":false},"flags":{"core":{"sourceId":"Item.VWaRRqiUlMw1nPUn"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"4yFL38tdvBenZKBQ"}
|
{"name":"Utstrålning","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"base","label":"SKILL.TYPE"},"value":"25","used":false},"flags":{"core":{"sourceId":"Item.VWaRRqiUlMw1nPUn"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"7Bu4TQh7TvH01Kld"}
|
||||||
{"name":"Viljestyrka","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"base","label":"SKILL.TYPE"},"value":"25","used":false},"flags":{"core":{"sourceId":"Item.UkwUABDT8NB8y1mQ"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"vyW9DUMDPYqBSCtz"}
|
{"name":"Väderkunskap","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.GxkoQ2KdPh9ogGuJ"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"BkBOOXT7r5D1O2dd"}
|
||||||
{"name":"Väderkunskap","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"adventure","label":"SKILL.TYPE"},"value":"15","used":false},"flags":{"core":{"sourceId":"Item.GxkoQ2KdPh9ogGuJ"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"TEOcwEm0Z9GzJS6h"}
|
{"name":"Viljestyrka","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"base","label":"SKILL.TYPE"},"value":"25","used":false},"flags":{"core":{"sourceId":"Item.UkwUABDT8NB8y1mQ"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"f3hTLYs6zBhLfpTE"}
|
||||||
{"name":"Yxor","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"combat","label":"SKILL.TYPE"},"value":"30","used":false},"flags":{"core":{"sourceId":"Item.b9no6ZeE5KyG9AfT"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"BKu4BwEspAMQ5Yn3"}
|
{"name":"Yxor","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"combat","label":"SKILL.TYPE"},"value":"30","used":false},"flags":{"core":{"sourceId":"Item.b9no6ZeE5KyG9AfT"},"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"cn51JP1hsyEz8u56"}
|
||||||
{"name":"Utstrålning","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"base","label":"SKILL.TYPE"},"value":"25","used":false},"flags":{"core":{"sourceId":"Item.VWaRRqiUlMw1nPUn"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"4yFL38tdvBenZKBQ"}
|
{"name":"Uthållighet","permission":{"default":0,"tSnD115pP1EPBAXK":3},"type":"skill","data":{"description":{"value":"","type":"String","label":"ITEM.DESCRIPTION"},"type":{"value":"base","label":"SKILL.TYPE"},"value":"25","used":false},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"MnkH6ttZ29JN1vI6"}
|
||||||
|
|
|
@ -189,3 +189,18 @@
|
||||||
|
|
||||||
.sheet-tabs {
|
.sheet-tabs {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.relation-list li:not(:last-child) {
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.learning-list li:not(:last-child) {
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.learning-list .learning,
|
||||||
|
.relation-list .relation {
|
||||||
|
padding: 0 0 5px;
|
||||||
|
border-bottom: 1px solid #bbb;
|
||||||
|
text-align: center;
|
||||||
|
}
|
13
system.json
13
system.json
|
@ -2,7 +2,7 @@
|
||||||
"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.1",
|
"version": "0.0.2",
|
||||||
"minimumCoreVersion": "0.7.5",
|
"minimumCoreVersion": "0.7.5",
|
||||||
"compatibleCoreVersion": "0.7.7",
|
"compatibleCoreVersion": "0.7.7",
|
||||||
"templateVersion": 3,
|
"templateVersion": 3,
|
||||||
|
@ -21,10 +21,17 @@
|
||||||
"packs": [
|
"packs": [
|
||||||
{
|
{
|
||||||
"name": "skills",
|
"name": "skills",
|
||||||
"label": "Skills",
|
"label": "Kopparhavets Hjältar Färdigheter",
|
||||||
"system": "kopparhavet",
|
"system": "kopparhavet",
|
||||||
"path": "./packs/skills.db",
|
"path": "./packs/skills.db",
|
||||||
"entity": "Item"
|
"entity": "Item"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "skills-ht",
|
||||||
|
"label": "Hjältarnas Tid Färdigheter",
|
||||||
|
"system": "kopparhavet",
|
||||||
|
"path": "./packs/skills-ht.db",
|
||||||
|
"entity": "Item"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"languages": [
|
"languages": [
|
||||||
|
@ -46,6 +53,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.1.zip",
|
"download": "https://pi.rikspolisen.se/foundryvtt/kopparhavet/archive/v0.0.2.zip",
|
||||||
"license": ""
|
"license": ""
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,44 +41,6 @@
|
||||||
"stats",
|
"stats",
|
||||||
"combat"
|
"combat"
|
||||||
],
|
],
|
||||||
"baseSkills": [
|
|
||||||
"Smidighet",
|
|
||||||
"Trolldom",
|
|
||||||
"Fingerfärdighet",
|
|
||||||
"Finna dolda ting",
|
|
||||||
"Förleda",
|
|
||||||
"Gömma sig",
|
|
||||||
"Handel",
|
|
||||||
"Hantverk",
|
|
||||||
"Insikt",
|
|
||||||
"Jakt",
|
|
||||||
"Kastvapen",
|
|
||||||
"Knivar",
|
|
||||||
"Lagkunskap",
|
|
||||||
"Legender",
|
|
||||||
"Läkekonst",
|
|
||||||
"Lärdom",
|
|
||||||
"Musik",
|
|
||||||
"Rida",
|
|
||||||
"Sjömanskap",
|
|
||||||
"Skytte",
|
|
||||||
"Sköldar",
|
|
||||||
"Slagsmål",
|
|
||||||
"Spana",
|
|
||||||
"Spel",
|
|
||||||
"Spjut",
|
|
||||||
"Språk",
|
|
||||||
"Status",
|
|
||||||
"Stigvana",
|
|
||||||
"Styrka",
|
|
||||||
"Svärd",
|
|
||||||
"Taktik",
|
|
||||||
"Uthållighet",
|
|
||||||
"Utstrålning",
|
|
||||||
"Viljestyrka",
|
|
||||||
"Väderkunskap",
|
|
||||||
"Yxor"
|
|
||||||
],
|
|
||||||
"bio": {
|
"bio": {
|
||||||
"kin": {
|
"kin": {
|
||||||
"label": "BIO.KIN",
|
"label": "BIO.KIN",
|
||||||
|
@ -88,9 +50,17 @@
|
||||||
"label": "BIO.PROFESSION",
|
"label": "BIO.PROFESSION",
|
||||||
"value": ""
|
"value": ""
|
||||||
},
|
},
|
||||||
|
"nickname": {
|
||||||
|
"label": "BIO.NICKNAME",
|
||||||
|
"value": ""
|
||||||
|
},
|
||||||
"age": {
|
"age": {
|
||||||
"label": "BIO.AGE",
|
"label": "BIO.AGE",
|
||||||
"value": ""
|
"value": ""
|
||||||
|
},
|
||||||
|
"appearance": {
|
||||||
|
"label": "BIO.APPEARANCE",
|
||||||
|
"value": ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"background": {
|
"background": {
|
||||||
|
@ -142,7 +112,8 @@
|
||||||
"label": "CURRENCY.QUARTER",
|
"label": "CURRENCY.QUARTER",
|
||||||
"value": 0
|
"value": 0
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
"relationships": {}
|
||||||
},
|
},
|
||||||
"adversary": {
|
"adversary": {
|
||||||
"templates": [
|
"templates": [
|
||||||
|
|
|
@ -1,19 +1,19 @@
|
||||||
<form class="{{cssClass}}" autocomplete="off">
|
<form class="{{cssClass}}" autocomplete="off">
|
||||||
<div class="character">
|
<div class="character">
|
||||||
<div class="header grid-container" style="grid-template-columns: auto auto 1.7fr 2fr;">
|
<div class="header grid-container" style="grid-template-columns: auto auto 1fr auto 1fr; margin-bottom: 10px;">
|
||||||
<div class="avatar flex-group-center" style="grid-row: 1/7;">
|
<div class="avatar flex-group-center" style="grid-row: 1/7;">
|
||||||
<img class="profile-img actor-avatar-img" src="{{actor.img}}" data-edit="img" title="{{actor.name}}" />
|
<img class="profile-img actor-avatar-img" src="{{actor.img}}" data-edit="img" title="{{actor.name}}" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<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/5;"><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.profession.label}}:</label>
|
|
||||||
<input name="data.bio.profession.value" type="text" value="{{data.bio.profession.value}}" placeholder="{{localize data.bio.profession.label}}" />
|
|
||||||
|
|
||||||
<label style="margin: auto;">{{localize data.bio.kin.label}}:</label>
|
<label style="margin: auto;">{{localize 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.bio.kin.value}}" placeholder="{{localize data.bio.kin.label}}" />
|
||||||
|
|
||||||
|
<label style="margin: auto;">{{localize data.bio.profession.label}}:</label>
|
||||||
|
<input name="data.bio.profession.value" type="text" value="{{data.bio.profession.value}}" placeholder="{{localize data.bio.profession.label}}" />
|
||||||
|
|
||||||
<label style="margin: auto;">{{localize data.health.label}}:</label>
|
<label style="margin: auto;">{{localize 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.health.value}}" data-dtype="Number" />
|
||||||
|
@ -34,35 +34,11 @@
|
||||||
<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.mana.max}}" data-dtype="Number" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="border grid-container" style="grid-column-gap: 5px; grid-column: 4; grid-row: 2/7; grid-template-columns: 1fr auto;">
|
|
||||||
<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}}" />
|
|
||||||
<a style="margin: auto;" class="feature {{#if 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>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<input name="data.feature.two.label" class="roll-feature" type="text" value="{{data.feature.two.label}}" />
|
|
||||||
<a style="margin: auto;" class="feature {{#if 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>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<input name="data.feature.three.label" class="roll-feature" type="text" value="{{data.feature.three.label}}" />
|
|
||||||
<a style="margin: auto;" class="feature {{#if 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>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<input name="data.feature.four.label" class="roll-feature" type="text" value="{{data.feature.four.label}}" />
|
|
||||||
<a style="margin: auto;" class="feature {{#if 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>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="sheet-tabs tabs flex row" data-group="primary">
|
<div class="sheet-tabs tabs flex row" data-group="primary">
|
||||||
|
<b class="item" data-tab="main">{{localize "TAB.MAIN"}}</b>
|
||||||
<b class="item" data-tab="skills">{{localize "TAB.SKILLS"}}</b>
|
<b class="item" data-tab="skills">{{localize "TAB.SKILLS"}}</b>
|
||||||
<!-- <b class="item" data-tab="combat">{{localize "TAB.COMBAT"}}</b> -->
|
|
||||||
<b class="item" data-tab="talent">{{localize "TAB.TALENTS"}}</b>
|
<b class="item" data-tab="talent">{{localize "TAB.TALENTS"}}</b>
|
||||||
<b class="item" data-tab="gear">{{localize "TAB.GEAR"}}</b>
|
<b class="item" data-tab="gear">{{localize "TAB.GEAR"}}</b>
|
||||||
<b class="item" data-tab="bio">{{localize "TAB.BIO"}}</b>
|
<b class="item" data-tab="bio">{{localize "TAB.BIO"}}</b>
|
||||||
|
@ -70,14 +46,12 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="sheet-body">
|
<div class="sheet-body">
|
||||||
|
<div class="tab" data-group="primary" data-tab="main">
|
||||||
|
{{> systems/kopparhavet/templates/parts/actor/main.html}}
|
||||||
|
</div>
|
||||||
<div class="tab" data-group="primary" data-tab="skills">
|
<div class="tab" data-group="primary" data-tab="skills">
|
||||||
{{> systems/kopparhavet/templates/parts/actor/skills.html}}
|
{{> systems/kopparhavet/templates/parts/actor/skills.html}}
|
||||||
</div>
|
</div>
|
||||||
<!--
|
|
||||||
<div class="tab" data-group="primary" data-tab="combat">
|
|
||||||
{{> systems/kopparhavet/templates/parts/actor/combat.html}}
|
|
||||||
</div>
|
|
||||||
-->
|
|
||||||
<div class="tab" data-group="primary" data-tab="talent">
|
<div class="tab" data-group="primary" data-tab="talent">
|
||||||
{{> systems/kopparhavet/templates/parts/actor/talent.html}}
|
{{> systems/kopparhavet/templates/parts/actor/talent.html}}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -0,0 +1,51 @@
|
||||||
|
<form class="{{cssClass}}" autocomplete="off">
|
||||||
|
<div class="adversary">
|
||||||
|
<div class="header grid-container" style="grid-template-columns: auto 1fr auto 1fr auto;margin-bottom: 5px">
|
||||||
|
<div class="avatar flex-group-center" style="grid-row: 1/7;">
|
||||||
|
<img class="profile-img actor-avatar-img" src="{{actor.img}}" data-edit="img" title="{{actor.name}}" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<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>
|
||||||
|
|
||||||
|
<label style="margin: auto;">{{localize data.health.label}}:</label>
|
||||||
|
<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" />
|
||||||
|
<span> / </span>
|
||||||
|
<input class="center-text" type="text" name="data.health.max" value="{{data.health.max}}" data-dtype="Number" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<label style="margin: auto;">{{localize data.stamina.label}}:</label>
|
||||||
|
<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" />
|
||||||
|
<span> / </span>
|
||||||
|
<input class="center-text" type="text" name="data.stamina.max" value="{{data.stamina.max}}" data-dtype="Number" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<label style="margin: auto;">{{localize data.mana.label}}:</label>
|
||||||
|
<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" />
|
||||||
|
<span> / </span>
|
||||||
|
<input class="center-text" type="text" name="data.mana.max" value="{{data.mana.max}}" data-dtype="Number" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="sheet-tabs tabs flex row" data-group="primary">
|
||||||
|
<b class="item" data-tab="combat">{{localize "TAB.COMBAT"}}</b>
|
||||||
|
<b class="item" data-tab="talent">{{localize "TAB.TALENTS"}}</b>
|
||||||
|
<b class="item" data-tab="note">{{localize "TAB.NOTE"}}</b>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="sheet-body">
|
||||||
|
<div class="tab" data-group="primary" data-tab="combat">
|
||||||
|
{{> systems/kopparhavet/templates/parts/actor/ht-combat.html}}
|
||||||
|
</div>
|
||||||
|
<div class="tab" data-group="primary" data-tab="talent">
|
||||||
|
{{> systems/kopparhavet/templates/parts/actor/talent.html}}
|
||||||
|
</div>
|
||||||
|
<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}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
|
@ -0,0 +1,68 @@
|
||||||
|
<form class="{{cssClass}}" autocomplete="off">
|
||||||
|
<div class="character">
|
||||||
|
<div class="header grid-container" style="grid-template-columns: auto auto 1fr auto 1fr; margin-bottom: 10px;">
|
||||||
|
<div class="avatar flex-group-center" style="grid-row: 1/8;">
|
||||||
|
<img class="profile-img actor-avatar-img" src="{{actor.img}}" data-edit="img" title="{{actor.name}}" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<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>
|
||||||
|
|
||||||
|
<label style="margin: auto;">{{localize 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}}" />
|
||||||
|
|
||||||
|
<label style="margin: auto;">{{localize data.bio.kin.label}}:</label>
|
||||||
|
<input name="data.bio.kin.value" type="text" value="{{data.bio.kin.value}}" placeholder="{{localize data.bio.kin.label}}" />
|
||||||
|
|
||||||
|
<label style="margin: auto;">{{localize data.bio.profession.label}}:</label>
|
||||||
|
<input name="data.bio.profession.value" type="text" value="{{data.bio.profession.value}}" placeholder="{{localize data.bio.profession.label}}" />
|
||||||
|
|
||||||
|
<label style="margin: auto;">{{localize data.health.label}}:</label>
|
||||||
|
<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" />
|
||||||
|
<span> / </span>
|
||||||
|
<input class="center-text" type="text" name="data.health.max" value="{{data.health.max}}" data-dtype="Number" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<label style="margin: auto;">{{localize data.stamina.label}}:</label>
|
||||||
|
<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" />
|
||||||
|
<span> / </span>
|
||||||
|
<input class="center-text" type="text" name="data.stamina.max" value="{{data.stamina.max}}" data-dtype="Number" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<label style="margin: auto;">{{localize data.mana.label}}:</label>
|
||||||
|
<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" />
|
||||||
|
<span> / </span>
|
||||||
|
<input class="center-text" type="text" name="data.mana.max" value="{{data.mana.max}}" data-dtype="Number" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="sheet-tabs tabs flex row" data-group="primary">
|
||||||
|
<b class="item" data-tab="main">{{localize "TAB.MAIN"}}</b>
|
||||||
|
<b class="item" data-tab="skills">{{localize "TAB.SKILLS"}}</b>
|
||||||
|
<b class="item" data-tab="talent">{{localize "TAB.TALENTS"}}</b>
|
||||||
|
<b class="item" data-tab="gear">{{localize "TAB.GEAR"}}</b>
|
||||||
|
<b class="item" data-tab="note">{{localize "TAB.NOTE"}}</b>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="sheet-body">
|
||||||
|
<div class="tab" data-group="primary" data-tab="main">
|
||||||
|
{{> systems/kopparhavet/templates/parts/actor/ht-main.html}}
|
||||||
|
</div>
|
||||||
|
<div class="tab" data-group="primary" data-tab="skills">
|
||||||
|
{{> systems/kopparhavet/templates/parts/actor/ht-skills.html}}
|
||||||
|
</div>
|
||||||
|
<div class="tab" data-group="primary" data-tab="talent">
|
||||||
|
{{> systems/kopparhavet/templates/parts/actor/talent.html}}
|
||||||
|
</div>
|
||||||
|
<div class="tab" data-group="primary" data-tab="gear">
|
||||||
|
{{> systems/kopparhavet/templates/parts/actor/gear.html}}
|
||||||
|
</div>
|
||||||
|
<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}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
|
@ -0,0 +1,68 @@
|
||||||
|
<div class="border grid-container" style="height: 100%; border-top: none; grid-template-columns: 1fr 1fr; grid-template-rows: auto 1fr;">
|
||||||
|
<div class="combat border">
|
||||||
|
<ul class="items">
|
||||||
|
<ul class="items-list">
|
||||||
|
<li class="item flexrow">
|
||||||
|
<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>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="item flexrow">
|
||||||
|
<div class="item-name roll-defence rollable" data-defence="{{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>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="item 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-value" style="flex: none;"><input name="data.combat.armor" class="skill-value" type="text" value="{{data.combat.armor}}" /></div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="talents border" style="grid-row: 1/3; grid-column-start: 2;">
|
||||||
|
<h1 style="margin-bottom: 0; grid-column: 1/4;">{{localize "TAB.SKILLS"}}</h1>
|
||||||
|
<ul class="items">
|
||||||
|
<ul class="items-list">
|
||||||
|
{{#each actor.skills as |skill key|}}
|
||||||
|
<li class="item flexrow" data-item-id="{{skill._id}}">
|
||||||
|
<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>
|
||||||
|
</li>
|
||||||
|
{{/each}}
|
||||||
|
</ul>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="attacks border">
|
||||||
|
<ul class="items">
|
||||||
|
<li class="items-header flexrow">
|
||||||
|
<div class="header-name">{{localize "ITEM.ATTACK"}}</div>
|
||||||
|
<div class="">{{localize "ITEM.SKILL"}}</div>
|
||||||
|
<div>{{localize "ITEM.DAMAGE"}}</div>
|
||||||
|
<div></div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<ul class="items-list">
|
||||||
|
{{#each actor.attacks as |item key|}}
|
||||||
|
<li class="item flexrow" data-item-id="{{item._id}}" data-ability="{{item.data.skill.value}}">
|
||||||
|
<div class="item-name">{{item.name}}</div>
|
||||||
|
<div class="skill-roll">
|
||||||
|
<div class="roll-button">
|
||||||
|
<div class="roll-adversary-attack rollable">{{item.data.skill.value}}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="skill-roll">
|
||||||
|
<div class="roll-button">
|
||||||
|
<div class="roll-damage rollable">{{item.data.damage.value}}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="item-controls">
|
||||||
|
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||||
|
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
{{/each}}
|
||||||
|
</ul>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -0,0 +1,99 @@
|
||||||
|
<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="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>
|
||||||
|
<div class="description">
|
||||||
|
{{editor content=data.bio.appearance.value target="data.bio.appearance.value" button=true owner=owner editable=editable}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<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>
|
||||||
|
|
||||||
|
<input name="data.feature.one.label" class="roll-feature" type="text" value="{{data.feature.one.label}}" />
|
||||||
|
<a style="margin: auto;" class="feature {{#if 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>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<input name="data.feature.two.label" class="roll-feature" type="text" value="{{data.feature.two.label}}" />
|
||||||
|
<a style="margin: auto;" class="feature {{#if 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>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<input name="data.feature.three.label" class="roll-feature" type="text" value="{{data.feature.three.label}}" />
|
||||||
|
<a style="margin: auto;" class="feature {{#if 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>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<input name="data.feature.four.label" class="roll-feature" type="text" value="{{data.feature.four.label}}" />
|
||||||
|
<a style="margin: auto;" class="feature {{#if 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>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="border">
|
||||||
|
<header class="relation-header" >
|
||||||
|
<h2 class="grid-container" style="margin-bottom: 0; grid-template-columns: 2fr 1fr auto;">
|
||||||
|
{{localize "HT.RELATIONSHIP.TITLE"}}
|
||||||
|
<div></div>
|
||||||
|
<a class="relation-control" data-action="create"><i class="fas fa-plus"></i></a>
|
||||||
|
</h2>
|
||||||
|
</header>
|
||||||
|
<ol class="relation-list" style="padding: 0;">
|
||||||
|
{{#each data.relationships as |attr 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-value" type="text" name="data.relationships.{{key}}.value" value="{{attr.value}}" />
|
||||||
|
<a style="margin: auto 10px;" class="relation-click {{#if attr.check}}active{{/if}}">
|
||||||
|
<i class="far {{#if attr.check}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
||||||
|
</a>
|
||||||
|
<a style="margin: auto;" class="relation-control" data-action="delete"><i class="fas fa-trash"></i></a>
|
||||||
|
</li>
|
||||||
|
{{/each}}
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
<div class="border">
|
||||||
|
<header class="learning-header" >
|
||||||
|
<h2 class="grid-container" style="margin-bottom: 0; grid-template-columns: 2fr 1fr auto;">
|
||||||
|
{{localize "LEARNING.TITLE"}}
|
||||||
|
<div></div>
|
||||||
|
<a class="learning-control" data-action="create"><i class="fas fa-plus"></i></a>
|
||||||
|
</h2>
|
||||||
|
</header>
|
||||||
|
<ol class="learning-list" style="padding: 0;">
|
||||||
|
{{#each data.learning as |attr 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 style="margin-top: auto; margin-bottom: auto;" class="learning-value" type="text" name="data.learning.{{key}}.value" value="{{attr.value}}" />
|
||||||
|
<div class="grid-container" style="margin: auto 10px; grid-template-rows: auto auto; grid-template-columns: auto auto auto auto;">
|
||||||
|
<a data-num="one" class="learning-click {{#if attr.one}}active{{/if}}">
|
||||||
|
<i class="far {{#if attr.one}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
||||||
|
</a>
|
||||||
|
<a data-num="two" class="learning-click {{#if attr.two}}active{{/if}}">
|
||||||
|
<i class="far {{#if attr.two}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
||||||
|
</a>
|
||||||
|
<a data-num="three" class="learning-click {{#if attr.three}}active{{/if}}">
|
||||||
|
<i class="far {{#if attr.three}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
||||||
|
</a>
|
||||||
|
<a data-num="four" class="learning-click {{#if attr.four}}active{{/if}}">
|
||||||
|
<i class="far {{#if attr.four}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
||||||
|
</a>
|
||||||
|
<a data-num="five" class="learning-click {{#if attr.five}}active{{/if}}">
|
||||||
|
<i class="far {{#if attr.five}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
||||||
|
</a>
|
||||||
|
<a data-num="six" class="learning-click {{#if attr.six}}active{{/if}}">
|
||||||
|
<i class="far {{#if attr.six}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
||||||
|
</a>
|
||||||
|
<a data-num="seven" class="learning-click {{#if attr.seven}}active{{/if}}">
|
||||||
|
<i class="far {{#if attr.seven}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
||||||
|
</a>
|
||||||
|
<a data-num="eight" class="learning-click {{#if attr.eight}}active{{/if}}">
|
||||||
|
<i class="far {{#if attr.eight}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<a style="margin: auto;" class="learning-control" data-action="delete"><i class="fas fa-trash"></i></a>
|
||||||
|
</li>
|
||||||
|
{{/each}}
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -0,0 +1,46 @@
|
||||||
|
<div class="skills-tab border scroll-y grid-container" style="grid-template-columns: 1fr 1fr; border-top: none;">
|
||||||
|
<div class="skills border" style="grid-column: 2; grid-row: 1/5;">
|
||||||
|
<h1 style="margin-bottom: 0; grid-column: 1/4;">{{localize "SKILL.ADVENTURE"}}</h1>
|
||||||
|
<ul class="items">
|
||||||
|
<ul class="items-list">
|
||||||
|
{{#each actor.skills as |skill key|}}
|
||||||
|
{{#if skill.hasAdventure}}
|
||||||
|
<li class="item flexrow" data-item-id="{{skill._id}}">
|
||||||
|
<div class="item-name roll-skill" 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 style="align-self: flex-end">
|
||||||
|
<a style="margin: auto;" class="click-skill {{#if skill.data.used}}active{{/if}}" data-item-id="{{skill._id}}">
|
||||||
|
<i class="far {{#if skill.data.used}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
{{/if}}
|
||||||
|
{{/each}}
|
||||||
|
</ul>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="skills border">
|
||||||
|
<h1 style="margin-bottom: 0; grid-column: 1/4;">{{localize "SKILL.COMBAT"}}</h1>
|
||||||
|
<ul class="items">
|
||||||
|
<ul class="items-list">
|
||||||
|
{{#each actor.skills as |skill key|}}
|
||||||
|
{{#if skill.hasCombat}}
|
||||||
|
<li class="item flexrow" data-item-id="{{skill._id}}">
|
||||||
|
<div class="item-name roll-skill" 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 style="align-self: flex-end">
|
||||||
|
<a style="margin: auto;" class="click-skill {{#if skill.data.used}}active{{/if}}" data-item-id="{{skill._id}}">
|
||||||
|
<i class="far {{#if skill.data.used}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
{{/if}}
|
||||||
|
{{/each}}
|
||||||
|
</ul>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<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>
|
||||||
|
<input name="data.languages.value" type="text" value="{{data.languages.value}}" />
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -0,0 +1,78 @@
|
||||||
|
<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="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>
|
||||||
|
<div class="description">
|
||||||
|
{{editor content=data.bio.appearance.value target="data.bio.appearance.value" button=true owner=owner editable=editable}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<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>
|
||||||
|
|
||||||
|
<input name="data.feature.one.label" class="roll-feature" type="text" value="{{data.feature.one.label}}" />
|
||||||
|
<a style="margin: auto;" class="feature {{#if 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>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<input name="data.feature.two.label" class="roll-feature" type="text" value="{{data.feature.two.label}}" />
|
||||||
|
<a style="margin: auto;" class="feature {{#if 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>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<input name="data.feature.three.label" class="roll-feature" type="text" value="{{data.feature.three.label}}" />
|
||||||
|
<a style="margin: auto;" class="feature {{#if 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>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<input name="data.feature.four.label" class="roll-feature" type="text" value="{{data.feature.four.label}}" />
|
||||||
|
<a style="margin: auto;" class="feature {{#if 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>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="border">
|
||||||
|
<header class="learning-header" >
|
||||||
|
<h2 class="grid-container" style="margin-bottom: 0; grid-template-columns: 2fr 1fr auto;">
|
||||||
|
{{localize "LEARNING.TITLE"}}
|
||||||
|
<div></div>
|
||||||
|
<a class="learning-control" data-action="create"><i class="fas fa-plus"></i></a>
|
||||||
|
</h2>
|
||||||
|
</header>
|
||||||
|
<ol class="learning-list" style="padding: 0;">
|
||||||
|
{{#each data.learning as |attr 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 style="margin-top: auto; margin-bottom: auto;" class="learning-value" type="text" name="data.learning.{{key}}.value" value="{{attr.value}}" />
|
||||||
|
<div class="grid-container" style="margin: auto 10px; grid-template-rows: auto auto; grid-template-columns: auto auto auto auto;">
|
||||||
|
<a data-num="one" class="learning-click {{#if attr.one}}active{{/if}}">
|
||||||
|
<i class="far {{#if attr.one}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
||||||
|
</a>
|
||||||
|
<a data-num="two" class="learning-click {{#if attr.two}}active{{/if}}">
|
||||||
|
<i class="far {{#if attr.two}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
||||||
|
</a>
|
||||||
|
<a data-num="three" class="learning-click {{#if attr.three}}active{{/if}}">
|
||||||
|
<i class="far {{#if attr.three}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
||||||
|
</a>
|
||||||
|
<a data-num="four" class="learning-click {{#if attr.four}}active{{/if}}">
|
||||||
|
<i class="far {{#if attr.four}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
||||||
|
</a>
|
||||||
|
<a data-num="five" class="learning-click {{#if attr.five}}active{{/if}}">
|
||||||
|
<i class="far {{#if attr.five}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
||||||
|
</a>
|
||||||
|
<a data-num="six" class="learning-click {{#if attr.six}}active{{/if}}">
|
||||||
|
<i class="far {{#if attr.six}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
||||||
|
</a>
|
||||||
|
<a data-num="seven" class="learning-click {{#if attr.seven}}active{{/if}}">
|
||||||
|
<i class="far {{#if attr.seven}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
||||||
|
</a>
|
||||||
|
<a data-num="eight" class="learning-click {{#if attr.eight}}active{{/if}}">
|
||||||
|
<i class="far {{#if attr.eight}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<a style="margin: auto;" class="learning-control" data-action="delete"><i class="fas fa-trash"></i></a>
|
||||||
|
</li>
|
||||||
|
{{/each}}
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
Loading…
Reference in New Issue