Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b771c7f088 | |||
| c103fac27c | |||
| 2e389704ea | |||
| 6f030bd6b5 | |||
| 512d0de4e5 | |||
| ef6cc11bcb | |||
| bb5d29e28e | |||
| d42988e859 |
3
LICENCE.txt
Normal file
3
LICENCE.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
Kopparhavets Hjältar and Hjältarnas Tid is copyright Helmgast.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
22
README.md
22
README.md
@@ -0,0 +1,22 @@
|
||||
# Kopparhavets Hjältar
|
||||
Detta "Game System" till FoundryVTT utvecklas privat och är officiellt godkänt fan-material av Helmgast och personerna bakom Kopparhavets Hjältar and Hjältarnas Tid.
|
||||
|
||||
#### Kopparhavets Hjältar och Hjältarnas Tid är copyright Helmgast och detta är publiceras med deras medgivande.
|
||||
###
|
||||
|
||||
---
|
||||
## Installera Kopparhavet game system
|
||||
|
||||
1. Öppna Foundry VTT
|
||||
2. Gå till "Game Systems" fliken
|
||||
3. Klicka på "Install System" knappen
|
||||
4. Kopiera följande länk och klistra in i "Manifest URL" fältet:
|
||||
https://pi.rikspolisen.se/foundryvtt/kopparhavet/raw/branch/master/system.json
|
||||
5. Klicka Install, efter en kort tid borde systemet vara installerat.
|
||||
|
||||
## Rustning
|
||||
Instruktioner för hur man skapar en rustning hittas i Wikin
|
||||
|
||||
https://pi.rikspolisen.se/foundryvtt/kopparhavet/wiki/Skapa-rustning.
|
||||
|
||||
|
||||
|
||||
30
lang/en.json
30
lang/en.json
@@ -17,11 +17,14 @@
|
||||
"BIO.AGE": "Age",
|
||||
"BIO.KIN": "Kin",
|
||||
"BIO.NAME": "Name",
|
||||
"BIO.NICKNAME": "Nickname",
|
||||
"BIO.PROFESSION": "Profession",
|
||||
"BIO.APPEARANCE": "Appearance",
|
||||
|
||||
"CURRENCY.QUARTER": "Quarter",
|
||||
"CURRENCY.SHEKEL": "Shekel",
|
||||
"CURRENCY.TITLE": "Currency",
|
||||
"CURRENCY.SILVER": "Silver",
|
||||
|
||||
"DICE.ROLL": "Dice roll",
|
||||
|
||||
@@ -33,6 +36,9 @@
|
||||
|
||||
"FEATURES.TITLE": "Features",
|
||||
|
||||
"HT.FEATURES.TITLE": "Features",
|
||||
"HT.RELATIONSHIP.TITLE": "Relationships",
|
||||
|
||||
"ITEM.ARMOR": "Rustning",
|
||||
"ITEM.ATTACK": "Attack",
|
||||
"ITEM.DAMAGE": "Damage",
|
||||
@@ -48,6 +54,8 @@
|
||||
"ITEM.TALENT": "Talent",
|
||||
"ITEM.WEAPON": "Weapon",
|
||||
|
||||
"LEARNING.TITLE": "Learning",
|
||||
|
||||
"MENU.SENTTOCHAT": "Send To Chat",
|
||||
|
||||
"MOD.INIT": "Initiative",
|
||||
@@ -56,6 +64,23 @@
|
||||
|
||||
"ROLL.SUCCESS": "Success",
|
||||
"ROLL.FAILURE": "Failure",
|
||||
"ROLL.TITLE": "Roll dice",
|
||||
"BUTTON.ROLL": "Roll",
|
||||
"BUTTON.CANCEL": "Cancel",
|
||||
"ROLL.CLOSED": "Closed",
|
||||
"ROLL.OPENED": "Opened",
|
||||
"MENU.SHOWROLLDIALOG": "Show diceroller dialog",
|
||||
"ROLL.OPENCLOSE": "Open / Close",
|
||||
"ROLL.EXCEPTIONAL": "Exceptional",
|
||||
|
||||
"SHIP.CARGO": "Cargo capacity",
|
||||
"SHIP.HULL": "Hull",
|
||||
"SHIP.CLASS": "Ship class",
|
||||
"SHIP.OPERATIONSCOST": "Running cost",
|
||||
"SHIP.OPERATIONSSUPPLY": "Supplies",
|
||||
"SHIP.CREW": "Crew",
|
||||
"SHIP.ARMAMENT": "Armament",
|
||||
"SHIP.RAMMINGDMG": "Ramming damage",
|
||||
|
||||
"SKILL.TYPE": "Type",
|
||||
"SKILL.BASE": "Basic",
|
||||
@@ -67,6 +92,9 @@
|
||||
"SPELL.DIFFICULTY": "Difficulty",
|
||||
"SPELL.ROLL": "Roll",
|
||||
"SPELL.COST": "Cost",
|
||||
"SPELL.ATTACKROLL": "Attack roll",
|
||||
"SPELL.OPPOSITE": "Opposite",
|
||||
"SPELL.RITUAL": "Ritual",
|
||||
|
||||
"STATS.HEALTH": "Health",
|
||||
"STATS.MANA": "Mana",
|
||||
@@ -76,10 +104,12 @@
|
||||
"TAB.COMBAT": "Combat",
|
||||
"TAB.DESCRIPTION": "Description",
|
||||
"TAB.GEAR": "Gear",
|
||||
"TAB.MAIN": "Main",
|
||||
"TAB.MODIFICATION": "Modifications",
|
||||
"TAB.NOTE": "Note",
|
||||
"TAB.SKILLS": "Skills",
|
||||
"TAB.TALENTS": "Talents and Spells",
|
||||
"TAB.ARMAMENT": "Armament",
|
||||
|
||||
"WEAPON.CATEGORY": "Category",
|
||||
"WEAPON.MELEE": "Melee",
|
||||
|
||||
34
lang/sv.json
34
lang/sv.json
@@ -17,11 +17,14 @@
|
||||
"BIO.AGE": "Ålder",
|
||||
"BIO.KIN": "Folkslag",
|
||||
"BIO.NAME": "Namn",
|
||||
"BIO.NICKNAME": "Tillnamn",
|
||||
"BIO.PROFESSION": "Värv",
|
||||
"BIO.APPEARANCE": "Utseende",
|
||||
|
||||
"CURRENCY.QUARTER": "Kvarting",
|
||||
"CURRENCY.SHEKEL": "Shekel",
|
||||
"CURRENCY.TITLE": "Mynt",
|
||||
"CURRENCY.SILVER": "Silver",
|
||||
|
||||
"DICE.ROLL": "Tärningsslag",
|
||||
|
||||
@@ -33,6 +36,9 @@
|
||||
|
||||
"FEATURES.TITLE": "Särdrag",
|
||||
|
||||
"HT.FEATURES.TITLE": "Karaktärsdrag",
|
||||
"HT.RELATIONSHIP.TITLE": "Relationer",
|
||||
|
||||
"ITEM.ARMOR": "Rustning",
|
||||
"ITEM.ATTACK": "Anfall",
|
||||
"ITEM.DAMAGE": "Skada",
|
||||
@@ -48,6 +54,8 @@
|
||||
"ITEM.TALENT": "Förmåga",
|
||||
"ITEM.WEAPON": "Vapen",
|
||||
|
||||
"LEARNING.TITLE": "Inlärning",
|
||||
|
||||
"MENU.SENTTOCHAT": "Skicka till chat",
|
||||
|
||||
"MOD.INIT": "Turordning",
|
||||
@@ -57,6 +65,24 @@
|
||||
"ROLL.SUCCESS": "Lyckat",
|
||||
"ROLL.FAILURE": "Misslyckat",
|
||||
|
||||
"ROLL.TITLE": "Slå tärningar",
|
||||
"BUTTON.ROLL": "Slå",
|
||||
"BUTTON.CANCEL": "Avbryt",
|
||||
"ROLL.CLOSED": "Stängd",
|
||||
"ROLL.OPENED": "Öppnad",
|
||||
"MENU.SHOWROLLDIALOG": "Visa tärningsdialog",
|
||||
"ROLL.OPENCLOSE": "Öppna / Stäng",
|
||||
"ROLL.EXCEPTIONAL": "Exceptionellt",
|
||||
|
||||
"SHIP.CARGO": "Lastförmåga",
|
||||
"SHIP.HULL": "Skrov",
|
||||
"SHIP.CLASS": "Klassifiering",
|
||||
"SHIP.OPERATIONSCOST": "Driftkostnad",
|
||||
"SHIP.OPERATIONSSUPPLY": "Förråd",
|
||||
"SHIP.CREW": "Besättning",
|
||||
"SHIP.ARMAMENT": "Bestyckning",
|
||||
"SHIP.RAMMINGDMG": "Ramningsskada",
|
||||
|
||||
"SKILL.TYPE": "Typ",
|
||||
"SKILL.BASE": "Grundfärdigheter",
|
||||
"SKILL.ADVENTURE": "Äventyrsfärdigheter",
|
||||
@@ -65,8 +91,12 @@
|
||||
"SKILL.LANGUAGE": "Språk",
|
||||
|
||||
"SPELL.DIFFICULTY": "Svårighet",
|
||||
"SPELL.ROLL": "Slag",
|
||||
"SPELL.ROLLTITLE": "Slag",
|
||||
"SPELL.COST": "Kostnad",
|
||||
"SPELL.ROLL": "Färdighetsslag",
|
||||
"SPELL.ATTACKROLL": "Anfallsslag",
|
||||
"SPELL.OPPOSITE": "Motsatt",
|
||||
"SPELL.RITUAL": "Ritual",
|
||||
|
||||
"STATS.HEALTH": "Hälsa",
|
||||
"STATS.MANA": "Skuld",
|
||||
@@ -76,10 +106,12 @@
|
||||
"TAB.COMBAT": "Strid",
|
||||
"TAB.DESCRIPTION": "Beskrivning",
|
||||
"TAB.GEAR": "Utrustning",
|
||||
"TAB.MAIN": "Allmänt",
|
||||
"TAB.MODIFICATION": "Modifikationer",
|
||||
"TAB.NOTE": "Anteckning",
|
||||
"TAB.SKILLS": "Färdigheter",
|
||||
"TAB.TALENTS": "Förmågor och Besvärjelser",
|
||||
"TAB.ARMAMENT": "Bestyckning",
|
||||
|
||||
"WEAPON.CATEGORY": "Vapentyp",
|
||||
"WEAPON.MELEE": "Närstrid",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import KHDiceRoller from "../helpers/dice-helper.js"
|
||||
import ActorHelpers from "../helpers/actor-helper.js";
|
||||
|
||||
/**
|
||||
* Extend the basic ActorSheet with some very simple modifications
|
||||
@@ -9,12 +10,23 @@ export class ActorSheetKH extends ActorSheet {
|
||||
|
||||
/** @override */
|
||||
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, {
|
||||
classes: ["kopparhavet", "sheet", "actor"],
|
||||
template: "systems/kopparhavet/templates/actors/character-sheet.html",
|
||||
width: 710,
|
||||
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"],
|
||||
});
|
||||
}
|
||||
@@ -22,7 +34,13 @@ export class ActorSheetKH extends ActorSheet {
|
||||
/** @override */
|
||||
get template() {
|
||||
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`;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@@ -54,6 +72,8 @@ export class ActorSheetKH extends ActorSheet {
|
||||
const gear = [];
|
||||
const spells = [];
|
||||
const attacks = [];
|
||||
const shipweapons = [];
|
||||
const shiptalents = [];
|
||||
|
||||
// Iterate through items, allocating to containers
|
||||
for (let i of sheetData.items) {
|
||||
@@ -78,6 +98,10 @@ export class ActorSheetKH extends ActorSheet {
|
||||
spells.push(i);
|
||||
} else if (i.type === "adversaryAttack") {
|
||||
attacks.push(i);
|
||||
} else if (i.type === "shiptalent") {
|
||||
shiptalents.push(i);
|
||||
} else if (i.type === "shipweapon") {
|
||||
shipweapons.push(i);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -91,8 +115,11 @@ export class ActorSheetKH extends ActorSheet {
|
||||
actorData.gear = gear;
|
||||
actorData.spells = spells;
|
||||
actorData.attacks = attacks;
|
||||
actorData.shiptalents = shiptalents;
|
||||
actorData.shipweapons = shipweapons;
|
||||
}
|
||||
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
/** @override */
|
||||
@@ -121,6 +148,186 @@ export class ActorSheetKH extends ActorSheet {
|
||||
},
|
||||
]);
|
||||
|
||||
new ContextMenu(html, "li.item-weapon", [
|
||||
{
|
||||
name: game.i18n.localize("MENU.SHOWROLLDIALOG"),
|
||||
icon: '<i class="far dice"></i>',
|
||||
callback: (li) => {
|
||||
let itemId = li.data("itemId");
|
||||
let _item = this.actor.items.find((element) => element._id == itemId);
|
||||
|
||||
// Retrieve skill based on name
|
||||
let skill = this.actor.items.find((element) => element.name === _item.data.data.skill.value);
|
||||
|
||||
let skillName = skill.name
|
||||
let skillValue = skill.data.data.value
|
||||
let showValue = false
|
||||
|
||||
if(this.actor.data.type === "character") {
|
||||
showValue = true
|
||||
}
|
||||
|
||||
this.khRoller.rollSkillDialogInChat(skillName, skillValue, showValue, this.actor)
|
||||
},
|
||||
},
|
||||
{
|
||||
name: game.i18n.localize("MENU.SENTTOCHAT"),
|
||||
icon: '<i class="far fa-comment"></i>',
|
||||
callback: (li) => {
|
||||
let itemId = li.data("itemId");
|
||||
this._itemDetailsToChat(itemId);
|
||||
},
|
||||
},
|
||||
]);
|
||||
|
||||
new ContextMenu(html, "li.item-skill", [
|
||||
{
|
||||
name: game.i18n.localize("MENU.SHOWROLLDIALOG"),
|
||||
icon: '<i class="far dice"></i>',
|
||||
callback: (li) => {
|
||||
let itemId = li.data("itemId");
|
||||
let _item = this.actor.items.find((element) => element._id == itemId);
|
||||
|
||||
let skillName = _item.name
|
||||
let skillValue = _item.data.data.value
|
||||
let showValue = false
|
||||
|
||||
if(this.actor.data.type === "character") {
|
||||
showValue = true
|
||||
}
|
||||
|
||||
this.khRoller.rollSkillDialogInChat(skillName, skillValue, showValue, this.actor)
|
||||
},
|
||||
},
|
||||
{
|
||||
name: game.i18n.localize("MENU.SENTTOCHAT"),
|
||||
icon: '<i class="far fa-comment"></i>',
|
||||
callback: (li) => {
|
||||
let itemId = li.data("itemId");
|
||||
this._itemDetailsToChat(itemId);
|
||||
},
|
||||
},
|
||||
]);
|
||||
|
||||
new ContextMenu(html, "li.item-spell", [
|
||||
{
|
||||
name: game.i18n.localize("MENU.SHOWROLLDIALOG"),
|
||||
icon: '<i class="far dice"></i>',
|
||||
callback: (li) => {
|
||||
let itemId = li.data("itemId");
|
||||
let _item = this.actor.items.find((element) => element._id == itemId);
|
||||
|
||||
if (!_item) {
|
||||
_item = game.items.get(itemId);
|
||||
|
||||
if (!_item) {
|
||||
console.log("IMPORT ERROR")
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
let showValue = false
|
||||
let difficulty = 0
|
||||
|
||||
if(this.actor.data.type === "character") {
|
||||
showValue = true
|
||||
}
|
||||
|
||||
switch (_item.data.data.difficulty.value) {
|
||||
case "simple":
|
||||
difficulty = 5
|
||||
break;
|
||||
case "easy":
|
||||
difficulty = 2
|
||||
break;
|
||||
case "hard":
|
||||
difficulty = -2
|
||||
break;
|
||||
case "daunting":
|
||||
difficulty = -5
|
||||
break;
|
||||
}
|
||||
|
||||
if(_item.data.data.roll.value === "roll" || _item.data.data.roll.value === "attackroll") {
|
||||
// Retrieve skill based on name
|
||||
let skill = this.actor.items.find((element) => element.name === _item.data.data.roll.skill);
|
||||
|
||||
let skillName = _item.name
|
||||
let skillValue = skill.data.data.value
|
||||
|
||||
if(this.actor.data.type === "character") {
|
||||
skillName = _item.name + " (" + skill.name + ")"
|
||||
}
|
||||
|
||||
this.khRoller.rollSkillDialogInChat(skillName, skillValue, showValue, this.actor, difficulty)
|
||||
} else if(_item.data.data.roll.value === "opposite") {
|
||||
// Retrieve skill based on name
|
||||
let skill = this.actor.items.find((element) => element.name === _item.data.data.roll.skill);
|
||||
|
||||
let skillName = _item.name
|
||||
let skillValue = skill.data.data.value
|
||||
|
||||
if(this.actor.data.type === "character") {
|
||||
skillName = _item.name + " (" + skill.name + ")"
|
||||
}
|
||||
|
||||
this.khRoller.rollSkillDialogInChat(skillName, skillValue, showValue, this.actor, difficulty)
|
||||
} else if(_item.data.data.roll.value === "ritual") {
|
||||
console.log("Not supported yet")
|
||||
this.khRoller.rollSkillDialogInChat("Ritual", -1, showValue, this.actor, difficulty)
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
name: game.i18n.localize("MENU.SENTTOCHAT"),
|
||||
icon: '<i class="far fa-comment"></i>',
|
||||
callback: (li) => {
|
||||
let itemId = li.data("itemId");
|
||||
this._itemDetailsToChat(itemId);
|
||||
},
|
||||
},
|
||||
]);
|
||||
|
||||
new ContextMenu(html, "li.item-attack", [
|
||||
{
|
||||
name: game.i18n.localize("MENU.SHOWROLLDIALOG"),
|
||||
icon: '<i class="far dice"></i>',
|
||||
callback: (li) => {
|
||||
let skillValue = li.data("ability");
|
||||
let skillName = "ITEM.ATTACK";
|
||||
let showValue = false
|
||||
|
||||
if(this.actor.data.type === "character") {
|
||||
showValue = true
|
||||
}
|
||||
|
||||
this.khRoller.rollSkillDialogInChat(skillName, skillValue, showValue, this.actor)
|
||||
},
|
||||
},
|
||||
{
|
||||
name: game.i18n.localize("MENU.SENTTOCHAT"),
|
||||
icon: '<i class="far fa-comment"></i>',
|
||||
callback: (li) => {
|
||||
let itemId = li.data("itemId");
|
||||
this._itemDetailsToChat(itemId);
|
||||
},
|
||||
},
|
||||
]);
|
||||
|
||||
new ContextMenu(html, "li.item-defence", [
|
||||
{
|
||||
name: game.i18n.localize("MENU.SHOWROLLDIALOG"),
|
||||
icon: '<i class="far dice"></i>',
|
||||
callback: (li) => {
|
||||
const skillValue = li.data("defence");
|
||||
|
||||
let skillName = "ADVERSARY.DEFENCE";
|
||||
|
||||
this.khRoller.rollSkillDialogInChat(skillName, skillValue, false, this.actor)
|
||||
},
|
||||
}
|
||||
]);
|
||||
|
||||
html.find(".feature").click(async (ev) => {
|
||||
const featureName = $(ev.currentTarget).data("feature");
|
||||
const featureValue = this.actor.data.data.feature[featureName].value;
|
||||
@@ -138,7 +345,35 @@ export class ActorSheetKH extends ActorSheet {
|
||||
|
||||
// Delete Inventory Item
|
||||
html.find(".item-delete").click((ev) => {
|
||||
const li = $(ev.currentTarget).parents(".item");
|
||||
let parent = $(ev.currentTarget).data("parent")
|
||||
const li = $(ev.currentTarget).parents(parent);
|
||||
const item = this.actor.getOwnedItem(li.data("itemId"));
|
||||
|
||||
if(item) {
|
||||
if (item.type === "armor") {
|
||||
let initValue = -1
|
||||
|
||||
if (item.data.data.equipable.equipped) {
|
||||
initValue = 4
|
||||
|
||||
this.actor.items.map((i) => {
|
||||
if (i.type === "armor") {
|
||||
if (i._id !== item._id && i.data.data.equipable.equipped && i.data?.data?.modifications) {
|
||||
for (let k of Object.keys(i.data.data.modifications)) {
|
||||
if (i.data.data.modifications[k].modtype === "init") {
|
||||
initValue = i.data.data.modifications[k].value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (initValue > 0) {
|
||||
this.actor.update({["data.combat.init"]: initValue});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.actor.deleteOwnedItem(li.data("itemId"));
|
||||
|
||||
@@ -147,7 +382,8 @@ export class ActorSheetKH extends ActorSheet {
|
||||
|
||||
// Edit Inventory Item
|
||||
html.find(".item-edit").click(async (ev) => {
|
||||
const li = $(ev.currentTarget).parents(".item");
|
||||
let parent = $(ev.currentTarget).data("parent")
|
||||
let li = $(ev.currentTarget).parents(parent);
|
||||
let itemId = li.data("itemId");
|
||||
let item = this.actor.getOwnedItem(itemId);
|
||||
|
||||
@@ -166,7 +402,7 @@ export class ActorSheetKH extends ActorSheet {
|
||||
|
||||
/* Roll spell cost */
|
||||
html.find(".roll-spell-cost").click((ev) => {
|
||||
const li = $(ev.currentTarget).parents(".item");
|
||||
const li = $(ev.currentTarget).parents(".item-spell");
|
||||
let itemId = li.data("itemId");
|
||||
let spell = this.actor.getOwnedItem(itemId);
|
||||
|
||||
@@ -189,9 +425,74 @@ export class ActorSheetKH extends ActorSheet {
|
||||
}
|
||||
});
|
||||
|
||||
html.find(".roll-spell-skill").click((ev) => {
|
||||
const li = $(ev.currentTarget).parents(".item-spell");
|
||||
let itemId = li.data("itemId");
|
||||
let spell = this.actor.getOwnedItem(itemId);
|
||||
|
||||
if (!spell) {
|
||||
spell = game.items.get(itemId);
|
||||
|
||||
if (!spell) {
|
||||
console.log("IMPORT ERROR")
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
let showValue = false
|
||||
let difficulty = 0
|
||||
|
||||
if(this.actor.data.type === "character") {
|
||||
showValue = true
|
||||
}
|
||||
|
||||
switch (spell.data.data.difficulty.value) {
|
||||
case "simple":
|
||||
difficulty = 5
|
||||
break;
|
||||
case "easy":
|
||||
difficulty = 2
|
||||
break;
|
||||
case "hard":
|
||||
difficulty = -2
|
||||
break;
|
||||
case "daunting":
|
||||
difficulty = -5
|
||||
break;
|
||||
}
|
||||
|
||||
if(spell.data.data.roll.value === "roll" || spell.data.data.roll.value === "attackroll") {
|
||||
// Retrieve skill based on name
|
||||
let skill = this.actor.items.find((element) => element.name === spell.data.data.roll.skill);
|
||||
|
||||
let skillName = spell.name
|
||||
let skillValue = skill.data.data.value
|
||||
|
||||
if(this.actor.data.type === "character") {
|
||||
skillName = spell.name + " (" + skill.name + ")"
|
||||
}
|
||||
|
||||
this.khRoller.rollSkillInChat(skillName, skillValue, showValue, this.actor, difficulty)
|
||||
} else if(spell.data.data.roll.value === "opposite") {
|
||||
// Retrieve skill based on name
|
||||
let skill = this.actor.items.find((element) => element.name === spell.data.data.roll.skill);
|
||||
|
||||
let skillName = spell.name
|
||||
let skillValue = skill.data.data.value
|
||||
|
||||
if(this.actor.data.type === "character") {
|
||||
skillName = spell.name + " (" + skill.name + ")"
|
||||
}
|
||||
|
||||
this.khRoller.rollSkillInChat(skillName, skillValue, showValue, this.actor, difficulty)
|
||||
} else if(spell.data.data.roll.value === "ritual") {
|
||||
console.log("Not supported yet")
|
||||
}
|
||||
});
|
||||
|
||||
/* Roll skill */
|
||||
html.find(".roll-skill").click((ev) => {
|
||||
const li = $(ev.currentTarget).parents(".item");
|
||||
const li = $(ev.currentTarget).parents(".item-skill");
|
||||
let itemId = li.data("itemId");
|
||||
let _item = this.actor.items.find((element) => element._id == itemId);
|
||||
|
||||
@@ -208,7 +509,7 @@ export class ActorSheetKH extends ActorSheet {
|
||||
|
||||
/* Roll weapon skill */
|
||||
html.find(".roll-weapon-skill").click((ev) => {
|
||||
const li = $(ev.currentTarget).parents(".item");
|
||||
const li = $(ev.currentTarget).parents(".item-weapon");
|
||||
let itemId = li.data("itemId");
|
||||
let weapon = this.actor.getOwnedItem(itemId);
|
||||
|
||||
@@ -237,7 +538,7 @@ export class ActorSheetKH extends ActorSheet {
|
||||
|
||||
/* Roll weapon damage */
|
||||
html.find(".roll-damage").click((ev) => {
|
||||
const li = $(ev.currentTarget).parents(".item");
|
||||
const li = $(ev.currentTarget).parents(".item-weapon");
|
||||
let itemId = li.data("itemId");
|
||||
let weapon = this.actor.getOwnedItem(itemId);
|
||||
|
||||
@@ -278,15 +579,17 @@ export class ActorSheetKH extends ActorSheet {
|
||||
let defence = armor.data.data.defence.value;
|
||||
let hasHelmet = false;
|
||||
|
||||
this.actor.items.map((i) => {
|
||||
if(i.type === "armor") {
|
||||
if(i.data.data.equipable.equipped && i.data.data.helmet.value) {
|
||||
if(CONFIG.KH.armor_types[i.data.data.type.value]?.ac >= CONFIG.KH.armor_types[armor.data.data.type.value]?.ac) {
|
||||
hasHelmet = true
|
||||
if(game.settings.get("kopparhavet", "gameSystem") === "kopparhavet") {
|
||||
this.actor.items.map((i) => {
|
||||
if (i.type === "armor") {
|
||||
if (i.data.data.equipable.equipped && i.data.data.helmet.value) {
|
||||
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 regexMatch;
|
||||
@@ -298,6 +601,7 @@ export class ActorSheetKH extends ActorSheet {
|
||||
|
||||
/* Toggle item equipped */
|
||||
html.find(".items .item a.toggle-equipped").click(this._toggleEquippedItem.bind(this));
|
||||
html.find(".items .item-weapon a.toggle-equipped").click(this._toggleEquippedItem.bind(this));
|
||||
|
||||
/* Handle increase of items in inventory */
|
||||
html.find(".item-quantity .quantity.increase").click(this._increaseQuantity.bind((this)));
|
||||
@@ -311,16 +615,38 @@ export class ActorSheetKH extends ActorSheet {
|
||||
|
||||
/* Adversary specific */
|
||||
html.find(".roll-adversary-attack").click((ev) => {
|
||||
const li = $(ev.currentTarget).parents(".item");
|
||||
const li = $(ev.currentTarget).parents(".item-attack");
|
||||
let skillValue = li.data("ability");
|
||||
|
||||
console.log(skillValue)
|
||||
|
||||
let skillName = "ITEM.ATTACK";
|
||||
|
||||
this.khRoller.rollSkillInChat(skillName, skillValue, false, this.actor)
|
||||
});
|
||||
|
||||
html.find(".roll-attack-damage").click((ev) => {
|
||||
const li = $(ev.currentTarget).parents(".item-attack");
|
||||
let itemId = li.data("itemId");
|
||||
let weapon = this.actor.getOwnedItem(itemId);
|
||||
|
||||
if (!weapon) {
|
||||
weapon = game.items.get(itemId);
|
||||
|
||||
if (!weapon) {
|
||||
console.log("IMPORT ERROR")
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
let damage = weapon.data.data.damage.value;
|
||||
|
||||
let regex = /([0-9]*)t([0-9]*)/g;
|
||||
let regexMatch;
|
||||
|
||||
while (regexMatch = regex.exec(damage.toLowerCase())) {
|
||||
this.khRoller.rollDamageInChat(regexMatch[1], this.actor)
|
||||
}
|
||||
});
|
||||
|
||||
html.find(".roll-defence").click((ev) => {
|
||||
const skillValue = $(ev.currentTarget).data("defence");
|
||||
|
||||
@@ -357,6 +683,104 @@ export class ActorSheetKH extends ActorSheet {
|
||||
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) {
|
||||
@@ -364,7 +788,7 @@ export class ActorSheetKH extends ActorSheet {
|
||||
const item = this.actor.getOwnedItem(li.data("itemId"));
|
||||
const actor = this.actor;
|
||||
|
||||
if (item) {
|
||||
if(item) {
|
||||
if(item.type === "armor") {
|
||||
let initValue = -1
|
||||
|
||||
@@ -469,6 +893,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.
|
||||
* @private
|
||||
|
||||
@@ -12,7 +12,5 @@ export class ActorKH extends Actor {
|
||||
const data = actorData.data;
|
||||
const flags = actorData.flags;
|
||||
data.type = actorData.type;
|
||||
|
||||
console.log("ACTOR DATA")
|
||||
}
|
||||
}
|
||||
54
module/helpers/actor-helper.js
Normal file
54
module/helpers/actor-helper.js
Normal file
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -14,6 +14,12 @@ export default class KHDiceRoller {
|
||||
|
||||
const html = await renderTemplate("systems/kopparhavet/templates/dice/roll.html", rollData);
|
||||
|
||||
if(game.settings.get("kopparhavet", "applySpellCost")) {
|
||||
let totalCostForActor = speaker.data.data.mana.value + roll.total
|
||||
|
||||
speaker.update({ ["data.mana.value"]: totalCostForActor });
|
||||
}
|
||||
|
||||
await roll.toMessage({
|
||||
create: true,
|
||||
content: html,
|
||||
@@ -84,7 +90,7 @@ export default class KHDiceRoller {
|
||||
});
|
||||
}
|
||||
|
||||
async rollSkillInChat(skillName, skillValue, showValue, speaker) {
|
||||
async rollSkillInChat(skillName, skillValue, showValue, speaker, openclosed) {
|
||||
const roll = new Roll(`1d100`);
|
||||
|
||||
let res = roll.roll();
|
||||
@@ -95,16 +101,43 @@ export default class KHDiceRoller {
|
||||
computedName += " (" + skillValue + ")"
|
||||
}
|
||||
|
||||
if(openclosed === undefined) {
|
||||
openclosed = 0
|
||||
}
|
||||
|
||||
let rollData = {
|
||||
name: computedName,
|
||||
res: res
|
||||
};
|
||||
|
||||
if(skillValue > 0) {
|
||||
if(res.total <= skillValue) {
|
||||
let oneRes = Math.floor((res.total / 1) % 10);
|
||||
let tenRes = Math.floor((res.total / 10) % 10);
|
||||
|
||||
if(openclosed < 0) {
|
||||
rollData.closed = Math.abs(openclosed)
|
||||
}
|
||||
|
||||
if(openclosed > 0) {
|
||||
rollData.opened = Math.abs(openclosed)
|
||||
}
|
||||
|
||||
if(openclosed < 0 && oneRes !== 0 && Math.abs(openclosed) >= oneRes) {
|
||||
// roll is closed
|
||||
rollData.failure = true
|
||||
} else if(openclosed > 0 && oneRes !== 0 && Math.abs(openclosed) >= oneRes){
|
||||
// roll is opened
|
||||
rollData.success = true
|
||||
} else {
|
||||
rollData.failure = true
|
||||
if (res.total <= skillValue) {
|
||||
rollData.success = true
|
||||
} else {
|
||||
rollData.failure = true
|
||||
}
|
||||
}
|
||||
|
||||
if(oneRes === tenRes) {
|
||||
rollData.excetional = true
|
||||
}
|
||||
}
|
||||
|
||||
@@ -121,4 +154,101 @@ export default class KHDiceRoller {
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
async rollSkillDialogInChat(skillName, skillValue, showValue, speaker, startopen) {
|
||||
const id = randomID();
|
||||
|
||||
if(startopen === undefined) {
|
||||
startopen = 0
|
||||
}
|
||||
|
||||
const content = await renderTemplate("systems/kopparhavet/templates/roll-dialog.html", {
|
||||
id,
|
||||
startopen,
|
||||
skillName,
|
||||
skillValue,
|
||||
});
|
||||
|
||||
await new Dialog({
|
||||
title: game.i18n.localize("ROLL.TITLE"),
|
||||
content,
|
||||
buttons: {
|
||||
one: {
|
||||
icon: '<i class="fas fa-check"></i>',
|
||||
label: game.i18n.localize("BUTTON.ROLL"),
|
||||
callback: async () => {
|
||||
const container = document.getElementById(id);
|
||||
let openclosed = container.querySelector('[name="openclosed"]').value
|
||||
|
||||
const roll = new Roll(`1d100`);
|
||||
|
||||
let res = roll.roll();
|
||||
|
||||
let computedName = skillName
|
||||
|
||||
if(showValue) {
|
||||
computedName += " (" + skillValue + ")"
|
||||
}
|
||||
|
||||
let rollData = {
|
||||
name: computedName,
|
||||
res: res
|
||||
};
|
||||
|
||||
// Evaluate result only if we have a positive skillvalue
|
||||
if(skillValue > 0) {
|
||||
let oneRes = Math.floor((res.total / 1) % 10);
|
||||
let tenRes = Math.floor((res.total / 10) % 10);
|
||||
|
||||
if(openclosed < 0) {
|
||||
rollData.closed = Math.abs(openclosed)
|
||||
}
|
||||
|
||||
if(openclosed > 0) {
|
||||
rollData.opened = Math.abs(openclosed)
|
||||
}
|
||||
|
||||
if(openclosed < 0 && oneRes !== 0 && Math.abs(openclosed) >= oneRes) {
|
||||
// roll is closed
|
||||
rollData.failure = true
|
||||
} else if(openclosed > 0 && oneRes !== 0 && Math.abs(openclosed) >= oneRes){
|
||||
// roll is opened
|
||||
rollData.success = true
|
||||
} else {
|
||||
if (res.total <= skillValue) {
|
||||
rollData.success = true
|
||||
} else {
|
||||
rollData.failure = true
|
||||
}
|
||||
}
|
||||
|
||||
if(oneRes === tenRes) {
|
||||
rollData.excetional = true
|
||||
}
|
||||
}
|
||||
|
||||
const html = await renderTemplate("systems/kopparhavet/templates/dice/roll.html", rollData);
|
||||
|
||||
await roll.toMessage({
|
||||
create: true,
|
||||
content: html,
|
||||
user: game.user._id,
|
||||
speaker: {
|
||||
actor: speaker._id,
|
||||
token: speaker.token,
|
||||
alias: speaker.name,
|
||||
},
|
||||
});
|
||||
},
|
||||
},
|
||||
two: {
|
||||
icon: '<i class="fas fa-times"></i>',
|
||||
label: game.i18n.localize("BUTTON.CANCEL"),
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
classes: ["dialog", "kopparhavet"],
|
||||
}).render(true);
|
||||
}
|
||||
}
|
||||
21
module/helpers/migration-helper.js
Normal file
21
module/helpers/migration-helper.js
Normal file
@@ -0,0 +1,21 @@
|
||||
/**
|
||||
* Perform a system migration for the entire World, applying migrations for Actors, Items, and Compendium packs
|
||||
* @return {Promise} A Promise which resolves once the migration is completed
|
||||
*/
|
||||
export const migrateWorld = async function () {
|
||||
ui.notifications.info(
|
||||
`Applying System Migration for version ${game.system.data.version}. Please be patient and do not close your game or shut down your server.`,
|
||||
{permanent: true}
|
||||
);
|
||||
|
||||
// Migrate to v0.0.3 from v0.0.2 and v0.0.1
|
||||
game.items.forEach((item) => {
|
||||
if(item.data.type === "spell") {
|
||||
item.update({"data.roll.label": "SPELL.ROLLTITLE"});
|
||||
}
|
||||
});
|
||||
|
||||
// Set the migration as complete
|
||||
game.settings.set("kopparhavet", "worldSchemaVersion", game.system.data.version);
|
||||
ui.notifications.info(`System Migration to version ${game.system.data.version} completed!`, { permanent: true });
|
||||
};
|
||||
@@ -8,7 +8,7 @@ export class ItemSheetKH extends ItemSheet {
|
||||
/** @override */
|
||||
static get defaultOptions() {
|
||||
return mergeObject(super.defaultOptions, {
|
||||
classes: ["starwarsffg", "sheet", "item"],
|
||||
classes: ["kopparhavet", "sheet", "item"],
|
||||
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "description" }],
|
||||
scrollY: [".sheet-body", ".tab"],
|
||||
});
|
||||
@@ -36,7 +36,13 @@ export class ItemSheetKH extends ItemSheet {
|
||||
switch (this.object.data.type) {
|
||||
case "weapon":
|
||||
// Load Skills Compendium skills
|
||||
let skillList2 = await game.packs.get("kopparhavet.skills").getContent();
|
||||
let skillList2
|
||||
|
||||
if(game.settings.get("kopparhavet", "gameSystem") === "hjaltarnas-tid") {
|
||||
skillList2 = await game.packs.get("kopparhavet.skills-ht").getContent();
|
||||
} else {
|
||||
skillList2 = await game.packs.get("kopparhavet.skills").getContent();
|
||||
}
|
||||
|
||||
for (let item of skillList2) {
|
||||
if(item.data.type === "skill" && item.data.data.type.value === "combat") {
|
||||
@@ -66,6 +72,60 @@ export class ItemSheetKH extends ItemSheet {
|
||||
this.position.width = 405;
|
||||
this.position.height = 570;
|
||||
break;
|
||||
case "spell":
|
||||
// Load Skills Compendium skills
|
||||
let skillList3
|
||||
|
||||
if(game.settings.get("kopparhavet", "gameSystem") === "hjaltarnas-tid") {
|
||||
skillList3 = await game.packs.get("kopparhavet.skills-ht").getContent();
|
||||
} else {
|
||||
skillList3 = await game.packs.get("kopparhavet.skills").getContent();
|
||||
}
|
||||
|
||||
for (let item of skillList3) {
|
||||
if(item.data.type === "skill") {
|
||||
skillList.push(item)
|
||||
}
|
||||
}
|
||||
|
||||
// Retrieve any created skills as well
|
||||
for (let item of game.items.entities) {
|
||||
if(item.data.type === "skill") {
|
||||
skillList.push(item)
|
||||
}
|
||||
}
|
||||
this.position.width = 450;
|
||||
this.position.height = 605;
|
||||
break;
|
||||
case "shipweapon":
|
||||
// Load Skills Compendium skills
|
||||
let skillList4
|
||||
|
||||
if(game.settings.get("kopparhavet", "gameSystem") === "hjaltarnas-tid") {
|
||||
skillList4 = await game.packs.get("kopparhavet.skills-ht").getContent();
|
||||
} else {
|
||||
skillList4 = await game.packs.get("kopparhavet.skills").getContent();
|
||||
}
|
||||
|
||||
for (let item of skillList4) {
|
||||
if(item.data.type === "skill" && item.data.data.type.value === "combat") {
|
||||
skillList.push(item)
|
||||
}
|
||||
}
|
||||
|
||||
// Retrieve any created skills as well
|
||||
for (let item of game.items.entities) {
|
||||
if(item.data.type === "skill" && item.data.data.type.value === "combat") {
|
||||
skillList.push(item)
|
||||
}
|
||||
}
|
||||
this.position.width = 530;
|
||||
this.position.height = 750;
|
||||
break;
|
||||
case "shiptalent":
|
||||
this.position.width = 405;
|
||||
this.position.height = 570;
|
||||
break;
|
||||
default:
|
||||
this.position.width = 450;
|
||||
this.position.height = 605;
|
||||
@@ -139,6 +199,7 @@ export class ItemSheetKH extends ItemSheet {
|
||||
/** @override */
|
||||
_updateObject(event, formData) {
|
||||
const itemUpdate = ItemHelpers.itemUpdate.bind(this);
|
||||
|
||||
itemUpdate(event, formData);
|
||||
}
|
||||
|
||||
|
||||
@@ -21,6 +21,8 @@ export class ItemKH extends Item {
|
||||
itemData.isSpell = itemData.type === "spell";
|
||||
itemData.isTalent = itemData.type === "talent";
|
||||
itemData.isWeapon = itemData.type === "weapon";
|
||||
itemData.isShipWeapon = itemData.type === "shipweapon";
|
||||
itemData.isShipTalent = itemData.type === "shiptalent";
|
||||
|
||||
const html = await renderTemplate("systems/kopparhavet/templates/chat/item-card.html", itemData);
|
||||
|
||||
@@ -56,6 +58,8 @@ export class ItemKH extends Item {
|
||||
itemData.isSpell = itemData.type === "spell";
|
||||
itemData.isTalent = itemData.type === "talent";
|
||||
itemData.isWeapon = itemData.type === "weapon";
|
||||
itemData.isShipWeapon = itemData.type === "shipweapon";
|
||||
itemData.isShipTalent = itemData.type === "shiptalent";
|
||||
|
||||
return itemData
|
||||
}
|
||||
|
||||
@@ -23,4 +23,82 @@ KH.armor_types = {
|
||||
"label": "ARMOR.HEAVY",
|
||||
"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,25 @@
|
||||
export default class KHHooks {
|
||||
static async onCreateActor(actor, options, userId) {
|
||||
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") {
|
||||
// Set currency name
|
||||
actor.update({ "data.currency.shekel.label": "CURRENCY.SILVER" });
|
||||
|
||||
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
|
||||
const existingSkills = actor.items.filter((i) => i.type === ItemType.Skill).map((i) => i.name);
|
||||
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.
|
||||
let _skillsList = skillIndex.filter((i) => skillsToAdd.includes(i.data.name));
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ import KHHooks from "./kh-hooks.js";
|
||||
import { ActorKH } from "./actors/actor.js";
|
||||
import { ActorSheetKH } from "./actors/actor-sheet.js";
|
||||
import { KH } from "./kh-config.js";
|
||||
import * as migrations from "./helpers/migration-helper.js";
|
||||
|
||||
Hooks.once("init", () => {
|
||||
CONFIG.Combat.initiative = { formula: "(@combat.init)d6kh2", decimals: 0 };
|
||||
@@ -14,22 +15,52 @@ Hooks.once("init", () => {
|
||||
// Give global access to FFG config.
|
||||
CONFIG.KH = KH;
|
||||
|
||||
//registerFonts();
|
||||
registerSheets();
|
||||
preloadHandlebarsTemplates();
|
||||
registerHandlebarsHelpers();
|
||||
game.settings.register("kopparhavet", "worldSchemaVersion", {
|
||||
name: "World Version",
|
||||
hint: "Used to automatically upgrade worlds data when the system is upgraded.",
|
||||
scope: "world",
|
||||
config: true,
|
||||
default: 0,
|
||||
type: Number,
|
||||
type: String,
|
||||
});
|
||||
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();
|
||||
},
|
||||
});
|
||||
game.settings.register("kopparhavet", "applySpellCost", {
|
||||
name: "Apply Spell Cost",
|
||||
hint: "Automatically add spell cost to the character when rolled.",
|
||||
scope: "world",
|
||||
config: true,
|
||||
default: false,
|
||||
type: Boolean,
|
||||
});
|
||||
|
||||
//registerFonts();
|
||||
registerSheets();
|
||||
|
||||
if(game.settings.get("kopparhavet", "gameSystem") === "hjaltarnas-tid") {
|
||||
preloadHandlebarsTemplatesHT();
|
||||
} else {
|
||||
preloadHandlebarsTemplates();
|
||||
}
|
||||
|
||||
registerHandlebarsHelpers();
|
||||
});
|
||||
|
||||
Hooks.once("ready", () => {
|
||||
//migrateWorld();
|
||||
migrateWorld();
|
||||
});
|
||||
|
||||
/* POPULATE CHARACTER WITH DEFAULT SKILLS */
|
||||
@@ -37,11 +68,10 @@ Hooks.on("createActor", async (actor, options, userId) => KHHooks.onCreateActor(
|
||||
|
||||
function registerSheets() {
|
||||
// Register sheet application classes
|
||||
console.log("Registerting sheets")
|
||||
|
||||
Actors.unregisterSheet("core", ActorSheet);
|
||||
Actors.registerSheet("kopparhavet", ActorSheetKH, { types: ["character"], makeDefault: true });
|
||||
Actors.registerSheet("kopparhavet", ActorSheetKH, { types: ["adversary"], makeDefault: true });
|
||||
Actors.registerSheet("kopparhavet", ActorSheetKH, { types: ["ship"], makeDefault: true });
|
||||
|
||||
Items.unregisterSheet("core", ItemSheet);
|
||||
Items.registerSheet("kopparhavet", ItemSheetKH, { types: ["weapon"], makeDefault: true });
|
||||
@@ -51,6 +81,8 @@ function registerSheets() {
|
||||
Items.registerSheet("kopparhavet", ItemSheetKH, { types: ["spell"], makeDefault: true });
|
||||
Items.registerSheet("kopparhavet", ItemSheetKH, { types: ["talent"], makeDefault: true });
|
||||
Items.registerSheet("kopparhavet", ItemSheetKH, { types: ["adversaryAttack"], makeDefault: true });
|
||||
Items.registerSheet("kopparhavet", ItemSheetKH, { types: ["shiptalent"], makeDefault: true });
|
||||
Items.registerSheet("kopparhavet", ItemSheetKH, { types: ["shipweapon"], makeDefault: true });
|
||||
}
|
||||
|
||||
function preloadHandlebarsTemplates() {
|
||||
@@ -58,6 +90,7 @@ function preloadHandlebarsTemplates() {
|
||||
"systems/kopparhavet/templates/chat/item-card.html",
|
||||
"systems/kopparhavet/templates/actors/adversary-sheet.html",
|
||||
"systems/kopparhavet/templates/actors/character-sheet.html",
|
||||
"systems/kopparhavet/templates/actors/ship-sheet.html",
|
||||
"systems/kopparhavet/templates/dice/roll.html",
|
||||
"systems/kopparhavet/templates/items/adversaryAttack-sheet.html",
|
||||
"systems/kopparhavet/templates/items/armor-sheet.html",
|
||||
@@ -66,12 +99,45 @@ function preloadHandlebarsTemplates() {
|
||||
"systems/kopparhavet/templates/items/spell-sheet.html",
|
||||
"systems/kopparhavet/templates/items/talent-sheet.html",
|
||||
"systems/kopparhavet/templates/items/weapon-sheet.html",
|
||||
"systems/kopparhavet/templates/items/shipweapon-sheet.html",
|
||||
"systems/kopparhavet/templates/items/shiptalent-sheet.html",
|
||||
"systems/kopparhavet/templates/parts/actor/main.html",
|
||||
"systems/kopparhavet/templates/parts/actor/bio.html",
|
||||
"systems/kopparhavet/templates/parts/actor/combat.html",
|
||||
"systems/kopparhavet/templates/parts/actor/gear.html",
|
||||
"systems/kopparhavet/templates/parts/actor/skills.html",
|
||||
"systems/kopparhavet/templates/parts/actor/talent.html",
|
||||
"systems/kopparhavet/templates/parts/shared/modifications.html",
|
||||
"systems/kopparhavet/templates/parts/actor/ship-main.html",
|
||||
"systems/kopparhavet/templates/parts/actor/ship-combat.html",
|
||||
];
|
||||
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/actors/ht-ship-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/items/shipweapon-sheet.html",
|
||||
"systems/kopparhavet/templates/items/shiptalent-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",
|
||||
"systems/kopparhavet/templates/parts/actor/ship-main.html",
|
||||
"systems/kopparhavet/templates/parts/actor/ship-combat.html",
|
||||
];
|
||||
return loadTemplates(templatePaths);
|
||||
}
|
||||
@@ -124,8 +190,42 @@ function registerHandlebarsHelpers() {
|
||||
}
|
||||
});
|
||||
|
||||
Handlebars.registerHelper("spellRoll", function (roll) {
|
||||
roll = normalize(roll, "roll");
|
||||
switch (roll) {
|
||||
case "roll":
|
||||
return game.i18n.localize("SPELL.ROLL");
|
||||
case "attackroll":
|
||||
return game.i18n.localize("SPELL.ATTACKROLL");
|
||||
case "opposite":
|
||||
return game.i18n.localize("SPELL.OPPOSITE");
|
||||
case "ritual":
|
||||
return game.i18n.localize("SPELL.RITUAL");
|
||||
}
|
||||
});
|
||||
|
||||
Handlebars.registerHelper('plaintextToHTML', function(value) {
|
||||
// strip tags, add <br/> tags
|
||||
return new Handlebars.SafeString(value.replace(/(<([^>]+)>)/gi, "").replace(/(?:\r\n|\r|\n)/g, '<br/>'));
|
||||
});
|
||||
}
|
||||
|
||||
function migrateWorld() {
|
||||
// Determine whether a system migration is required and feasible
|
||||
const currentVersion = game.settings.get("kopparhavet", "worldSchemaVersion");
|
||||
const NEEDS_MIGRATION_VERSION = "0.0.3";
|
||||
const COMPATIBLE_MIGRATION_VERSION = '0' || isNaN('NaN');
|
||||
let needMigration = currentVersion < NEEDS_MIGRATION_VERSION || currentVersion === null;
|
||||
|
||||
// Perform the migration
|
||||
if (needMigration && game.user.isGM) {
|
||||
if (currentVersion && currentVersion < COMPATIBLE_MIGRATION_VERSION) {
|
||||
ui.notifications.error(
|
||||
`Your system data is from a version that cannot be reliably migrated to the latest version. The process will be attempted, but errors may occur.`,
|
||||
{ permanent: true }
|
||||
);
|
||||
}
|
||||
|
||||
migrations.migrateWorld();
|
||||
}
|
||||
}
|
||||
6
packs/armor-ht.db
Normal file
6
packs/armor-ht.db
Normal file
@@ -0,0 +1,6 @@
|
||||
{"name":"Fjällpansar","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"armor","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"200","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Rustning [Medeltung]:</strong> <span style=\"color: #191813; font-family: 'IM Fell Great Primer', serif;\">Se sida 22 i regleboken eller sida 73 i Hjältarnas Väg.</span></p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{"attr1607038651707":{"modtype":"init","value":2}},"defence":{"value":"2T6","type":"String","label":"ITEM.DEFENCE"},"helmet":{"value":false,"type":"Boolean","label":"ARMOR.HELMET"},"type":{"value":"medium","label":"SKILL.TYPE"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"Od5mE1UIzxseeffr"}
|
||||
{"name":"Läderharnesk","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"armor","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"120","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Rustning [Lätt]:</strong> <span style=\"color: #191813; font-family: 'IM Fell Great Primer', serif;\">Se sida 22 i regleboken eller sida 73 i Hjältarnas Väg.</span></p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{"attr1607038651707":{"modtype":"init","value":3}},"defence":{"value":"1T6","type":"String","label":"ITEM.DEFENCE"},"helmet":{"value":false,"type":"Boolean","label":"ARMOR.HELMET"},"type":{"value":"light","label":"SKILL.TYPE"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"jhWNQy4fuTkq0tsM"}
|
||||
{"name":"Ringbrynja","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"armor","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"300","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Rustning [Medeltung]:</strong> <span style=\"color: #191813; font-family: 'IM Fell Great Primer', serif;\">Se sida 22 i regleboken eller sida 73 i Hjältarnas Väg.</span></p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{"attr1607038651707":{"modtype":"init","value":2}},"defence":{"value":"2T6","type":"String","label":"ITEM.DEFENCE"},"helmet":{"value":false,"type":"Boolean","label":"ARMOR.HELMET"},"type":{"value":"medium","label":"SKILL.TYPE"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"EbEbLRdLTH5Is36b"}
|
||||
{"name":"Vadderad vapenrock","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"armor","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"60","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Rustning [Lätt]:</strong> <span style=\"color: #191813; font-family: 'IM Fell Great Primer', serif;\">Se sida 22 i regleboken eller sida 73 i Hjältarnas Väg.</span></p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{"attr1607038651707":{"modtype":"init","value":3}},"defence":{"value":"1T6","type":"String","label":"ITEM.DEFENCE"},"helmet":{"value":false,"type":"Boolean","label":"ARMOR.HELMET"},"type":{"value":"light","label":"SKILL.TYPE"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"i6ed6nNO3znJSHTe"}
|
||||
{"name":"Plåtrustning","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"armor","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"600","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Rustning [Tung]:</strong> <span style=\"color: #191813; font-family: 'IM Fell Great Primer', serif;\">Se sida 22 i regleboken eller sida 74 i Hjältarnas Väg.</span></p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{"attr1607038651707":{"modtype":"init","value":1}},"defence":{"value":"3T6","type":"String","label":"ITEM.DEFENCE"},"helmet":{"value":false,"type":"Boolean","label":"ARMOR.HELMET"},"type":{"value":"heavy","label":"SKILL.TYPE"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"AURzeAplqk7gbIcm"}
|
||||
{"name":"Plåtharnesk","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"armor","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"600","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Rustning [Medeltung]:</strong> <span style=\"color: #191813; font-family: 'IM Fell Great Primer', serif;\">Se sida 22 i regleboken eller sida 73 i Hjältarnas Väg.</span></p>\n<p><span style=\"color: #191813; font-family: 'IM Fell Great Primer', serif;\"><span style=\"color: #191813; font-family: IM Fell Great Primer, serif;\"><strong>Hård och Stel:</strong> Se </span></span><span style=\"color: #191813; font-family: 'IM Fell Great Primer', serif;\">sida 73 i Hjältarnas Väg.</span></p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{"attr1607038651707":{"modtype":"init","value":2}},"defence":{"value":"2T6","type":"String","label":"ITEM.DEFENCE"},"helmet":{"value":false,"type":"Boolean","label":"ARMOR.HELMET"},"type":{"value":"medium","label":"SKILL.TYPE"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"kOcBH00cNI407S0f"}
|
||||
9
packs/armor.db
Normal file
9
packs/armor.db
Normal file
@@ -0,0 +1,9 @@
|
||||
{"name":"Läderharnesk","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"armor","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"30","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Material:</strong> Läder</p>\n<p><strong>Rustning [Lätt]:</strong> <span style=\"color: #191813; font-family: 'IM Fell Great Primer', serif;\">Se sida 30 i regleboken.</span></p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{"attr1607038651707":{"modtype":"init","value":3}},"defence":{"value":"1T6","type":"String","label":"ITEM.DEFENCE"},"helmet":{"value":false,"type":"Boolean","label":"ARMOR.HELMET"},"type":{"value":"light","label":"SKILL.TYPE"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"AdnDS4MedzMaQ6Rb"}
|
||||
{"name":"Ringbrynja","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"armor","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"100","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Material:</strong> Brynja</p>\n<p><strong>Rustning [Medeltung]:</strong> <span style=\"color: #191813; font-family: 'IM Fell Great Primer', serif;\">Se sida 30 i regleboken.</span></p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{"attr1607038651707":{"modtype":"init","value":2}},"defence":{"value":"2T6","type":"String","label":"ITEM.DEFENCE"},"helmet":{"value":false,"type":"Boolean","label":"ARMOR.HELMET"},"type":{"value":"medium","label":"SKILL.TYPE"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"8gWfC62d3jUUgdJK"}
|
||||
{"name":"Fjällpansar","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"armor","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"180","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Material:</strong> Plåt</p>\n<p><strong>Rustning [Medeltung]:</strong> <span style=\"color: #191813; font-family: 'IM Fell Great Primer', serif;\">Se sida 30 i regleboken.</span></p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{"attr1607038651707":{"modtype":"init","value":2}},"defence":{"value":"2T6","type":"String","label":"ITEM.DEFENCE"},"helmet":{"value":false,"type":"Boolean","label":"ARMOR.HELMET"},"type":{"value":"medium","label":"SKILL.TYPE"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"uEyMrjl8ui65rcBB"}
|
||||
{"name":"Vadderad vapenrock","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"armor","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"13","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Material:</strong> Tyg</p>\n<p><strong>Rustning [Lätt]:</strong> <span style=\"color: #191813; font-family: 'IM Fell Great Primer', serif;\">Se sida 30 i regleboken.</span></p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{"attr1607038651707":{"modtype":"init","value":3}},"defence":{"value":"1T6","type":"String","label":"ITEM.DEFENCE"},"helmet":{"value":false,"type":"Boolean","label":"ARMOR.HELMET"},"type":{"value":"light","label":"SKILL.TYPE"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"JPmwH7OUcca9aCQk"}
|
||||
{"name":"Plåtrustning","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"armor","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"250","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Material:</strong> Plåt</p>\n<p><strong>Rustning [Tung]:</strong> <span style=\"color: #191813; font-family: 'IM Fell Great Primer', serif;\">Se sida 30 i regleboken.</span></p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{"attr1607038651707":{"modtype":"init","value":1}},"defence":{"value":"3T6","type":"String","label":"ITEM.DEFENCE"},"helmet":{"value":false,"type":"Boolean","label":"ARMOR.HELMET"},"type":{"value":"heavy","label":"SKILL.TYPE"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"qnmpIkAppKOsxKuE"}
|
||||
{"name":"Helrustning","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"armor","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"3000","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Material:</strong> Plåt</p>\n<p><strong>Rustning [Tung]:</strong> <span style=\"color: #191813; font-family: 'IM Fell Great Primer', serif;\">Se sida 30 i regleboken.</span></p>\n<p><span style=\"color: #191813; font-family: 'IM Fell Great Primer', serif;\"><span style=\"color: #191813; font-family: IM Fell Great Primer, serif;\"><strong>Anpassad:</strong> Se sida 29 i regelboken.</span></span></p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{"attr1607038651707":{"modtype":"init","value":2}},"defence":{"value":"3T6","type":"String","label":"ITEM.DEFENCE"},"helmet":{"value":false,"type":"Boolean","label":"ARMOR.HELMET"},"type":{"value":"heavy","label":"SKILL.TYPE"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"wROPFie7LmizLEg9"}
|
||||
{"name":"Lätt hjälm","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"armor","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"7","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Hjälm:</strong> Se sida 29 i regleboken.</p>\n<p><strong>Rustning [Lätt]:</strong> Se sida 30 i regelboken.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"defence":{"value":"","type":"String","label":"ITEM.DEFENCE"},"helmet":{"value":true,"type":"Boolean","label":"ARMOR.HELMET"},"type":{"value":"light","label":"SKILL.TYPE"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"jWPFRZ5hvVqrbOkR"}
|
||||
{"name":"Öppen hjälm","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"armor","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"24","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Hjälm:</strong> Se sida 29 i regleboken.</p>\n<p><strong>Rustning [Medeltung]:</strong> Se sida 30 i regelboken.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"defence":{"value":"","type":"String","label":"ITEM.DEFENCE"},"helmet":{"value":true,"type":"Boolean","label":"ARMOR.HELMET"},"type":{"value":"medium","label":"SKILL.TYPE"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"amr0WbIA5dO087dn"}
|
||||
{"name":"Sluten hjälm","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"armor","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"90","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Hjälm:</strong> Se sida 29 i regleboken.</p>\n<p><strong>Begränsad sikt:</strong> Se sida 29 i regelboken.</p>\n<p><strong>Rustning [Tung]:</strong> Se sida 30 i regelboken.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"defence":{"value":"","type":"String","label":"ITEM.DEFENCE"},"helmet":{"value":true,"type":"Boolean","label":"ARMOR.HELMET"},"type":{"value":"heavy","label":"SKILL.TYPE"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"VYlSbiEsKhrKLdSg"}
|
||||
36
packs/skills-ht.db
Normal file
36
packs/skills-ht.db
Normal file
@@ -0,0 +1,36 @@
|
||||
{"name":"Fingerfärdighet","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Fingerfärdighet</em> används för att pilla med finmekaniska saker, som till exempel lås och små fällor, eller att stjäla föremål från folk.</p>","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":"IzCiSGUvv98Akne9"}
|
||||
{"name":"Gömma sig","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Gömma sig</em> används för att inte bli upptäckt, för att smyga och gömma sig och förfölja någon osedd, men även för att kamouflera saker i terrängen.</p>","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":"8atcGOHeJaDKoeH1"}
|
||||
{"name":"Handel","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Handel</em> omfattar inte bara skickligheten i att förhandla om priset, utan även kunskap om sakers värden och handelskontakter.</p>","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":"cFyZX1FEM8l1mOxt"}
|
||||
{"name":"Härkonst","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Härkonst</em> används för att leda kämpar i strid.</p>","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":"iBoUWEqS2EJ23UXH"}
|
||||
{"name":"Jakt","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Jakt</em> används för att jaga med olika metoder, men kan också användas för att förbereda bakhåll eller spåra en person.</p>","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":"Dnm1ojpuimDgVMgS"}
|
||||
{"name":"Kastvapen","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Kastvapen</em> omfattar avståndsstrid med vapen som kastas.</p>","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":"xjeC0tWIweb0Xv3y"}
|
||||
{"name":"Knivkamp","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Knivkamp</em> omfattar närstrid med korta vapen med egg.</p>","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":"gEoqRECdR4YV9Kjj"}
|
||||
{"name":"Lagkunskap","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Lagkunskap</em> handlar om lagen och hur den appliceras och tolkas.</p>","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":"zjkON2FKfORsYZQC"}
|
||||
{"name":"Ledarskap","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Ledarskap</em> handlar om att leda folk så att de samarbetar mot ett gemensamt mål.</p>","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":"NRDB30canJWbAEpH"}
|
||||
{"name":"Leta","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Leta</em> innebär att man använder sinnen och intelligens för att söka efter något på ett systematiskt sätt.</p>","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":"hS7GdiLCU2MX3cLH"}
|
||||
{"name":"Läkekonst","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Läkekonst</em> är konsten att förbinda och sy ihop sår, sköta om skadade och sjuka och bota eller lindra sjukdomar och förgiftningar.</p>","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":"KHGj3Lo7DCc6bQ1d"}
|
||||
{"name":"Lärdom","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Lärdom</em> är kunskapsfärdigheter som kan nedtecknas och läras in utan att övas.</p>","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":"tNcdbjFFmdEjSMGi"}
|
||||
{"name":"Manövrer","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Manövrer</em> går ut på att röra på kroppen, att klättra, hoppa, ducka undan saker som kommer farande mot en eller som man själv far emot, springa, simma et cetera.</p>","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":"CIwFkd9GWlm7y57b"}
|
||||
{"name":"Rida","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Rida</em> omfattar alla former av ritt, oavsett riddjur, samt även hur man kör en dragen vagn.</p>","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":"TVJO5CLS6Cxw9KnI"}
|
||||
{"name":"Sjömannaskap","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Sjömannaskap</em> handlar om att hantera ett skepp, läsa strömmar och vindar, navigera efter sol, måne, stjärnor och landmärken, att känna till hur havet ser ut och uppför sig.</p>","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":"npYrS0HFFwHCKnpR"}
|
||||
{"name":"Skaldekonst","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Skaldekonst</em> är konsten att berätta såväl som att skalda och sjunga, att tala väl, att kunna sånger och berättelser och veta saker om forna skalder och versmått.</p>","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":"UhxsytE8ios0syr2"}
|
||||
{"name":"Skapa","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p>Färdigheten <em>Skapa</em> används för hantverk och konstruktion av allt från enkla lerfigurer till byggnader.</p>","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":"sZXmvDS4lVRY9u8I"}
|
||||
{"name":"Skytte","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Skytte</em> omfattar skytte med båge och armborst, plus skötsel och underhåll av dem.</p>","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":"ZkNVMXIbwDuzyYLf"}
|
||||
{"name":"Sköldkamp","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Sköldkamp</em> omfattar närstrid med sköld.</p>","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":"Z8MYKBmwp9ndR4yG"}
|
||||
{"name":"Slagsmål","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Slagsmål</em> omfattar närstrid utan vapen, med improviserade vapen samt med klubba eller trästav.</p>","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":"dCptQUJuzAdaqrwY"}
|
||||
{"name":"Spana","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Spana</em> innebär att man använder sinnen och intelligens för att söka av en större yta och bilda sig en uppfattning om vad som händer där.</p>","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":"zCVB88wGIgnuRQmk"}
|
||||
{"name":"Spel","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Spel</em> omfattar alla former av turspel och skicklighetsspel som spelas med tärningar och bräde.</p>","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":"Vl95XY1D8f7pddbG"}
|
||||
{"name":"Spelmannaskap","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Spelmannaskap</em> används för att spela på instrument.</p>","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":"MBhorheNBhL35WFy"}
|
||||
{"name":"Spjutkamp","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Spjutkamp</em> omfattar närstrid med spjut.</p>","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":"JS9GPsKfPGXI4OYx"}
|
||||
{"name":"Språk","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Språk</em> används för att förstå andra språk än det egna.</p>","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":"XS0bsKnYGZJH3tQ6"}
|
||||
{"name":"Status","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Status</em> mäter börd, anseende och just status.</p>","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":"J65XPSvOvdQTEfzZ"}
|
||||
{"name":"Stigvana","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Stigvana</em> är vanan att vandra i vildmarken på stigar där ringa eller ingen hjälp finns att få.</p>","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":"igJjHw0pMas76OwT"}
|
||||
{"name":"Styrkeprov","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Styrkeprov</em> handlar om råstyrka och teknik, att lyfta, bryta, dra, trycka, pressa och hiva.</p>","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":"55bhxOTXgNcq9l05"}
|
||||
{"name":"Svärdskamp","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Svärdskamp</em> omfattar närstrid med svärd och huggkniv.</p>","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":"9zh6979BufGdks1h"}
|
||||
{"name":"Trolldom","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Trolldom</em> är kunskap om magi och förmågan att väva besvärjelser.</p>","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":"86IFFuCOT4W6nvlK"}
|
||||
{"name":"Uthållighet","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Uthållighet</em> handlar om att tåla och hålla ut vid framförallt fysiska påfrestningar.</p>","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":"Bx6VdBO4myVx5uBd"}
|
||||
{"name":"Viljestyrka","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Viljestyrka</em> handlar om att tåla och hålla ut vid framförallt mentala påfrestningar.</p>","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":"sYoYD8YHupXeFLcQ"}
|
||||
{"name":"Väderkunskap","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Väderkunskap</em> är konsten att läsa moln och vindar och många andra tecken för att veta hur vädret kommer att te sig, dels under de kommande dagarna men även på det stora hela under längre perioder.</p>","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":"JxJyCojPMILdd8II"}
|
||||
{"name":"Vältalighet","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Vältalighet</em> är konsten att tala väl, tydligt och vackert.</p>","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":"Qzu8YQpvolf8bveV"}
|
||||
{"name":"Wyrd","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Wyrd</em> är förmågan att se och förstå det övernaturliga och se hur det genomsyrar världen.</p>","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":"YtWmlfKFAyjfcbto"}
|
||||
{"name":"Yxkamp","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Yxkamp</em> omfattar närstrid med yxor och hammare.</p>","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":"EB6kznWU87xn3CD4"}
|
||||
@@ -1,36 +1,37 @@
|
||||
{"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"jEoMTkqoxQ9iSaoB"}
|
||||
{"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":"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"}},"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"}},"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"}},"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"}},"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"}},"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"}},"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"}},"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"}},"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"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"5xTZzjUd7x2EgmG2"}
|
||||
{"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":"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"}},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"TEOcwEm0Z9GzJS6h"}
|
||||
{"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":"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":"Fingerfärdighet","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Fingerfärdighet</em> används för att handskas med finmekaniska saker, som till exempel lås och små fällor, eller för att stjäla föremål från folk.</p>","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":"pY8RrSxFnZmoFqr6"}
|
||||
{"name":"Finna dolda ting","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Finna dolda ting</em> låter dig använda dina sinnen och din intelligens för att noggrant och systematiskt söka efter något dolt.</p>","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":"sNl0DX1hmOK9vRP7"}
|
||||
{"name":"Förleda","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p>Färdigheten <em>Förleda</em> handlar om att manipulera, lura och förvirra andra för ens eget syfte.</p>","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":"NYKvh2obVTL4QAy6"}
|
||||
{"name":"Gömma sig","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Gömma sig</em> används för att inte bli upptäckt, för att smyga och gömma sig och förfölja någon osedd, men även för att kamouflera saker i ter­rängen.</p>","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":"n2Lj2GV2As8FAp8P"}
|
||||
{"name":"Handel","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p>Färdigheten <em>Handel</em> omfattar inte bara skicklighe­ten i att förhandla om priset, utan även kunskap om sakers värde och handelskontakter.</p>","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":"0gCOfq9w1cj37TaQ"}
|
||||
{"name":"Hantverk","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p>Färdigheten <em>Hantverk</em> används för att skapa, till­verka och reparera föremål.</p>","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":"ZHqH2oCl6oaZnjIw"}
|
||||
{"name":"Insikt","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p>Färdigheten <em>Insikt</em> låter dig genomskåda vardagens skyddande slöjor.</p>","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":"HUB8mGDpTCrhevut"}
|
||||
{"name":"Jakt","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p>Färdigheten <em>Jakt</em> används för att jaga med olika metoder, men kan också användas för att förbe­reda bakhåll eller spåra en person eller varelse.</p>","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":"DoKmzzVZwlj1Occ5"}
|
||||
{"name":"Kastvapen","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Kastvapen</em> omfattar strid med kastvapen, som spjut, slunga eller kastdolk.</p>","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":"XOEmqkLgITvFTvSy"}
|
||||
{"name":"Knivar","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p>Färdigheten <em>Knivar</em> omfattar närstrid med korta vapen med egg, som dolk, kortsvärd och olika sorters knivar.</p>","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":"pbRFvlv68L1QhKM3"}
|
||||
{"name":"Lagkunskap","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Lagkunskap</em> handlar om lagen och hur den app­liceras och tolkas.</p>","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":"wwtgv7U3XZ6muIF0"}
|
||||
{"name":"Legender","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p>Färdigheten <em>Legender</em> är kunskap om historia, legender, myter och hjälteberättelser.</p>","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":"EAMspWLTddJVpurB"}
|
||||
{"name":"Läkekonst","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Läkekonst</em> är konsten att förbinda och sy ihop sår, sköta om skadade och sjuka och bota eller lindra sjukdomar och förgiftningar.</p>","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":"cmTNraDnVFiQ1Gbo"}
|
||||
{"name":"Lärdom","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Lärdom</em> omfattar nedskriven kunskap. <em>Lärdom</em> är kunskap som måste läras genom att läsas istället för genom övning eller träning.</p>","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":"WXkOfQtpfI4v72pG"}
|
||||
{"name":"Musik","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p>Färdigheten <em>Musik</em> används för att sjunga och spela instrument, samt för att komponera egna stycken eller känna till och framföra befintliga sånger.</p>","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":"iivxum3DGLhca5A5"}
|
||||
{"name":"Rida","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p>Färdigheten <em>Rida</em> omfattar alla former av ritt, oavsett riddjur, samt även hur man kör en dragen vagn.</p>","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":"inZWAkquXUBcc33O"}
|
||||
{"name":"Sjömanskap","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Sjömanskap</em> handlar om att hantera ett skepp, läsa strömmar, vågor och vindar och att navigera efter stjärnor, sjökort och landmärken.</p>","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":"zj4TxhUrTeSP7Q2B"}
|
||||
{"name":"Skytte","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p>Färdigheten <em>Skytte</em> omfattar avståndsstrid med båge, armborst, hakebössa, skeppshake och kanon, samt hur man handskas med krut och handhar större pjäser.</p>","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":"4GayTL8wiV9AJy42"}
|
||||
{"name":"Sköldar","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p>Färdigheten <em>Sköldar</em> omfattar närstrid med sköld.</p>","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":"50p8ZeT5jqHVj6m4"}
|
||||
{"name":"Slagsmål","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p>Färdigheten <em>Slagsmål</em> omfattar närstrid utan vapen, med improviserade vapen samt med klubba eller trästav.</p>","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":"vkWMm9qx0JGwnIhp"}
|
||||
{"name":"Smidighet","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Smidighet</em> är förmågan att klättra, hoppa, ducka, springa, simma och liknande.</p>","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":"eRFBzncHQ6LpR2V6"}
|
||||
{"name":"Spana","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p>Färdigheten <em>Spana</em> används för att uppfatta vad som sker över ett större område.</p>","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":"9K5flThkeBgGoadW"}
|
||||
{"name":"Spel","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p>Färdigheten <em>Spel</em> omfattar alla former av turspel och skicklighetsspel som spelas med tärningar och bräde.</p>","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":"StwGwPBaENrIBsOQ"}
|
||||
{"name":"Spjut","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p>Färdigheten <em>Spjut</em> omfattar närstrid med spjut och andra stångvapen.</p>","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":"QthNkBeJCUZXtTaj"}
|
||||
{"name":"Språk","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Språk</em> används för att uttrycka sig på sitt moders­mål och förstå andra språk än det egna.</p>","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":"t8Ao9HhcuKGK2msl"}
|
||||
{"name":"Status","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p>Färdigheten <em>Status</em> mäter ryktbarhet, anseende och ställning.</p>","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":"CLF6NVJGhyfJLUgS"}
|
||||
{"name":"Stigvana","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Stigvana</em> används för att överleva i vildmarken.</p>","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":"dl0uhfypLwSRfFaw"}
|
||||
{"name":"Styrka","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Styrka</em> handlar om råstyrka och teknik, att lyfta, bryta, dra, trycka, pressa och hiva.</p>","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":"LqWf8Wk2P5spvih9"}
|
||||
{"name":"Svärd","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p>Färdigheten <em>Svärd</em> omfattar närstrid med olika typer av svärd och långkniv.</p>","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":"EiYjyUQMqNpLjr0X"}
|
||||
{"name":"Taktik","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Taktik</em> används för utföra manövrar, lister och förflyttningar med trupp i strid.</p>","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":"lYBetUkbbvIXk83m"}
|
||||
{"name":"Trolldom","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Trolldom</em> är kunskap om magi och om hur man kastar besvärjelser.</p>","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":"dY92ymYw7e6jRM9j"}
|
||||
{"name":"Uthållighet","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Uthållighet</em> handlar framförallt om ihållighet och tåga.</p>","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":"eWbOrTpibvRc7beT"}
|
||||
{"name":"Utstrålning","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Utstrålning</em> är din personliga karisma, vältalighet och förmåga att inspirera och influera.</p>","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":"CZdnGk0r0oUzWHZJ"}
|
||||
{"name":"Viljestyrka","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Viljestyrka</em> handlar om att uthärda mentala påfrestningar.</p>","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":"UDyBaOnM36TPFjPj"}
|
||||
{"name":"Väderkunskap","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p><em>Väderkunskap</em> är konsten att läsa moln, vindar och andra tecken för att veta hur vädret kommer att te sig, dels under de kommande dagarna dels på det stora hela under längre perioder.</p>","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":"2OvHsZsXAKiOikEf"}
|
||||
{"name":"Yxor","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p>Färdigheten <em>Yxor</em> omfattar närstrid med yxor, hammare och klubbor.</p>","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":"1qTwWOJDT9GiyKu9"}
|
||||
{"_id":"NYKvh2obVTL4QAy6","name":"Förleda","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"skill","data":{"description":{"value":"<p>Färdigheten <em>Förleda</em> handlar om att manipulera, lura och förvirra andra för ens eget syfte.</p>","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":[]}
|
||||
|
||||
30
packs/weapons-ht.db
Normal file
30
packs/weapons-ht.db
Normal file
@@ -0,0 +1,30 @@
|
||||
{"name":"Dolk","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"40","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Vådlig:</strong> Se sida 22 i regleboken eller sida 74 i Hjältarnas Väg.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Knivkamp","type":"String","label":"ITEM.SKILL"},"damage":{"value":"3T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"AAl4s3ZknQRYP1si"}
|
||||
{"name":"Kniv","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"36","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Vådlig:</strong> Se sida 22 i regleboken eller sida 74 i Hjältarnas Väg.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Knivkamp","type":"String","label":"ITEM.SKILL"},"damage":{"value":"3T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"S3IBvfFoG4nQnuaq"}
|
||||
{"name":"Stridshammare","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"75","type":"Number","label":"ITEM.PRICE"},"description":{"value":null,"type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Yxkamp","type":"String","label":"ITEM.SKILL"},"damage":{"value":"4T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"e6HX1v8mD5l3UWWd"}
|
||||
{"name":"Huggkniv","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"55","type":"Number","label":"ITEM.PRICE"},"description":{"value":null,"type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Knivkamp","type":"String","label":"ITEM.SKILL"},"damage":{"value":"4T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"3lehrquzdVUGqD92"}
|
||||
{"name":"Kortsvärd","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"65","type":"Number","label":"ITEM.PRICE"},"description":{"value":null,"type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Svärdskamp","type":"String","label":"ITEM.SKILL"},"damage":{"value":"4T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"t0JERPT5TiMFOJtr"}
|
||||
{"name":"Improviserat","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"0","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Bräcklig:</strong> Se sida 20 i regleboken eller sida 73 i Hjältarnas Väg.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Slagsmål","type":"String","label":"ITEM.SKILL"},"damage":{"value":"4T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"kvXYCfHwVbgM3w6I"}
|
||||
{"name":"Kort påk","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"2","type":"Number","label":"ITEM.PRICE"},"description":{"value":null,"type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Slagsmål","type":"String","label":"ITEM.SKILL"},"damage":{"value":"3T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"Zu3Yp2Fh4OqszoG7"}
|
||||
{"name":"klubba","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"2","type":"Number","label":"ITEM.PRICE"},"description":{"value":null,"type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Slagsmål","type":"String","label":"ITEM.SKILL"},"damage":{"value":"3T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"tjKVRUHZndb3pCJG"}
|
||||
{"name":"Lång trästav","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"3","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Fällande:</strong> Se sida 20 i regleboken eller sida 73 i Hjältarnas Väg. </p>\n<p><strong>Bräcklig:</strong> Se sida 20 i regleboken eller sida 73 i Hjältarnas Väg.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Slagsmål","type":"String","label":"ITEM.SKILL"},"damage":{"value":"4T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"ouQQ5djydZKAJxmq"}
|
||||
{"name":"Obeväpnad","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"0","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Ursinne:</strong> Se sida 22 i regleboken eller sida 74 i Hjältarnas Väg. </p>\n<p><strong>Icke-dödlig:</strong> Se sida 73 i Hjältarnas Väg.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Slagsmål","type":"String","label":"ITEM.SKILL"},"damage":{"value":"2T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"ZTVo2pWvkePS79em"}
|
||||
{"name":"Pålyxa","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"55","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Bräcklig:</strong> Se sida 20 i regleboken eller sida 73 i Hjältarnas Väg.</p>\n<p><strong>Tvåhandsvapen:</strong> Se sida 22 i regleboken eller sida 74 i Hjältarnas Väg.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Yxkamp","type":"String","label":"ITEM.SKILL"},"damage":{"value":"6T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"e3c5rOUtApumBd1p"}
|
||||
{"name":"Slagsvärd","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"125","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Otymplig:</strong> Se sida 20 i regleboken eller sida 73 i Hjältarnas Väg.</p>\n<p><strong>Tvåhandsvapen:</strong> Se sida 22 i regleboken eller sida 74 i Hjältarnas Väg.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Svärdskamp","type":"String","label":"ITEM.SKILL"},"damage":{"value":"6T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"nGwB6zsa24duSmKf"}
|
||||
{"name":"Sköld","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"30","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Avståndsskydd:</strong> Se sida 20 i regleboken eller sida 73 i Hjältarnas Väg.</p>\n<p><strong>Skyddande:</strong> Se sida 22 i regleboken eller sida 74 i Hjältarnas Väg.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Sköldkamp","type":"String","label":"ITEM.SKILL"},"damage":{"value":"3T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"gDPRPYFzwwBdmvSw"}
|
||||
{"name":"Spjut","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"55","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Bräcklig:</strong> Se sida 20 i regleboken eller sida 73 i Hjältarnas Väg.</p>\n<p><strong>Långt:</strong> Se sida 20 i regleboken eller sida 73 i Hjältarnas Väg.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Spjutkamp","type":"String","label":"ITEM.SKILL"},"damage":{"value":"5T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"YoKfXR8uihhRijxy"}
|
||||
{"name":"Svärd","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"80","type":"Number","label":"ITEM.PRICE"},"description":{"value":null,"type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Svärdskamp","type":"String","label":"ITEM.SKILL"},"damage":{"value":"5T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"HgxU3WxqSeT9AHM0"}
|
||||
{"name":"Yxa","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"40","type":"Number","label":"ITEM.PRICE"},"description":{"value":null,"type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Yxkamp","type":"String","label":"ITEM.SKILL"},"damage":{"value":"5T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"KBH9rQK5EAhvdSRU"}
|
||||
{"name":"Blydagg","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"4","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Icke-dödlig:</strong> Se sida 73 i Hjältarnas Väg.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Slagsmål","type":"String","label":"ITEM.SKILL"},"damage":{"value":"3T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"7gNmP7ntqdo5VmNX"}
|
||||
{"name":"Hillebard","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"80","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Tvåhandsvapen:</strong> Se sida 22 i regleboken eller sida 74 i Hjältarnas Väg.</p>\n<p><strong>Otymplig:</strong> Se sida 20 i regleboken eller sida 73 i Hjältarnas Väg.</p>\n<p><strong>Fällande:</strong> Se sida 20 i regleboken eller sida 73 i Hjältarnas Väg.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Yxkamp","type":"String","label":"ITEM.SKILL"},"damage":{"value":"5T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"c1oiXjjR5ylXSe1T"}
|
||||
{"name":"Klor","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"0","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p>För folkslagsförmågan Klor</p>\n<p> </p>\n<p><strong>Ursinne:</strong> Se sida 22 i regleboken eller sida 74 i Hjältarnas Väg. </p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Slagsmål","type":"String","label":"ITEM.SKILL"},"damage":{"value":"2T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"rVlNXdkHsxudccYo"}
|
||||
{"name":"Armborst","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"100","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Otymplig:</strong> Se sida 20 i regleboken eller sida 73 i Hjältarnas Väg.</p>\n<p><strong>Tvåhandsvapen:</strong> Se sida 22 i regleboken eller sida 74 i Hjältarnas Väg.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Skytte","type":"String","label":"ITEM.SKILL"},"damage":{"value":"5T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"ranged","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"HWBbwlIbq5riJmtN"}
|
||||
{"name":"Flintlåsmusköt","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"600","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Högljudd:</strong> Se sida 73 i Hjältarnas Väg.</p>\n<p><strong>Svårladdad:</strong> Se sida 74 i Hjältarnas Väg.</p>\n<p><strong>Tvåhandsvapen:</strong> Se sida 22 i regleboken eller sida 74 i Hjältarnas Väg.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Skytte","type":"String","label":"ITEM.SKILL"},"damage":{"value":"7T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"ranged","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"wQxfqxs0r2dFdR4q"}
|
||||
{"name":"Flintlåspistol","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"350","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Högljudd:</strong> Se sida 73 i Hjältarnas Väg.</p>\n<p><strong>Svårladdad:</strong> Se sida 74 i Hjältarnas Väg.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Skytte","type":"String","label":"ITEM.SKILL"},"damage":{"value":"6T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"ranged","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"1jRliKiuCLooks4u"}
|
||||
{"name":"Kastkniv","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"40","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Vådlig:</strong> Se sida 22 i regleboken eller sida 74 i Hjältarnas Väg.</p>\n<p><strong>Kort avstånd:</strong> Se sida 73 i Hjältarnas Väg.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Kastvapen","type":"String","label":"ITEM.SKILL"},"damage":{"value":"3T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"ranged","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"U83PGBnRSwW6vIlL"}
|
||||
{"name":"Kastspjut","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"55","type":"Number","label":"ITEM.PRICE"},"description":{"value":null,"type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Kastvapen","type":"String","label":"ITEM.SKILL"},"damage":{"value":"4T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"ranged","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"StW1iAQej38nUw60"}
|
||||
{"name":"Kastyxa","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"45","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Kort avstånd:</strong> Se sida 73 i Hjältarnas Väg.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Kastvapen","type":"String","label":"ITEM.SKILL"},"damage":{"value":"5T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"ranged","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"ZmUBWdsRuo3CciCj"}
|
||||
{"name":"Krigsbåge","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"60","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Otymplig:</strong> Se sida 20 i regleboken eller sida 73 i Hjältarnas Väg.</p>\n<p><strong>Tvåhandsvapen:</strong> Se sida 22 i regleboken eller sida 74 i Hjältarnas Väg.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Skytte","type":"String","label":"ITEM.SKILL"},"damage":{"value":"5T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"ranged","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"sA7k0ybMDV5lVL7u"}
|
||||
{"name":"Pilbåge","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"50","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Tvåhandsvapen:</strong> Se sida 22 i regleboken eller sida 74 i Hjältarnas Väg.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Skytte","type":"String","label":"ITEM.SKILL"},"damage":{"value":"4T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"ranged","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"KpW2ar18ZUYzlWeu"}
|
||||
{"name":"Slunga","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"1","type":"Number","label":"ITEM.PRICE"},"description":{"value":null,"type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Kastvapen","type":"String","label":"ITEM.SKILL"},"damage":{"value":"4T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"ranged","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"mlnmxU0kiNVnUdO9"}
|
||||
{"name":"Spjutslunga","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"10","type":"Number","label":"ITEM.PRICE"},"description":{"value":null,"type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Kastvapen","type":"String","label":"ITEM.SKILL"},"damage":{"value":"4T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"ranged","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"NBxaaAj89aZujzbe"}
|
||||
{"name":"Tungt armborst","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"250","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Svårladdad:</strong> Se sida 74 i Hjältarnas Väg.</p>\n<p><strong>Tvåhandsvapen:</strong> Se sida 22 i regleboken eller sida 74 i Hjältarnas Väg.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Skytte","type":"String","label":"ITEM.SKILL"},"damage":{"value":"6T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"ranged","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"ktgtwoYLDAZvJcix"}
|
||||
31
packs/weapons.db
Normal file
31
packs/weapons.db
Normal file
@@ -0,0 +1,31 @@
|
||||
{"name":"Dolk","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"5","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Diskret:</strong> Se sida 29 i regleboken.</p>\n<p><strong>Vådlig:</strong> Se sida 30 i regleboken.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Knivar","type":"String","label":"ITEM.SKILL"},"damage":{"value":"3T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"Y9o0Ew1Q7tGwb2c1"}
|
||||
{"name":"Klubba","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"0.5","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Diskret:</strong> Se sida 29 i regleboken.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Slagsmål","type":"String","label":"ITEM.SKILL"},"damage":{"value":"3T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"7lX58hq7L89JGa1m"}
|
||||
{"name":"Kniv","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"2","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Diskret:</strong> Se sida 29 i regleboken.</p>\n<p><strong>Vådlig:</strong> Se sida 30 i regleboken.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Knivar","type":"String","label":"ITEM.SKILL"},"damage":{"value":"3T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"JvSrT1SG7wo3gjjC"}
|
||||
{"name":"Kort påk","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"0.5","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Diskret:</strong> Se sida 29 i regleboken.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Slagsmål","type":"String","label":"ITEM.SKILL"},"damage":{"value":"3T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"vEjgX42AT7eohLui"}
|
||||
{"name":"Sköld","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"30","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Avståndsskydd:</strong> Se sida 29 i regleboken.</p>\n<p><strong>Skyddande:</strong> Se sida 30 i regleboken.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Sköldar","type":"String","label":"ITEM.SKILL"},"damage":{"value":"3T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"xDyDCkEC3m0FWzDU"}
|
||||
{"name":"Tillhygge","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"0","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Bräcklig:</strong> Se sida 29 i regleboken.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Slagsmål","type":"String","label":"ITEM.SKILL"},"damage":{"value":"3T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"gslfZ1zsQyQmPRlQ"}
|
||||
{"name":"Lång trästav","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"1","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Fällande:</strong> Se sida 29 i regelboken.</p>\n<p><strong>Bräcklig:</strong> Se sida 29 i regleboken.</p>\n<p><strong>Tvåhandsvapen:</strong> Se sida 30 i regelboken.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Slagsmål","type":"String","label":"ITEM.SKILL"},"damage":{"value":"4T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"WbvUXyFGfUXLDyfX"}
|
||||
{"name":"Hesapiskt björnspjut","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"15","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p>Ett hesapiskt björnspjut är ett jaktvapen med hullingförsedda springblad.</p>\n<p> </p>\n<p><strong>Hullingar:</strong> Se sida 29 i regelboken.</p>\n<p><strong>Långt:</strong> Se sida 29 i regleboken.</p>\n<p><strong>Tvåhandsvapen:</strong> Se sida 30 i regelboken.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Spjut","type":"String","label":"ITEM.SKILL"},"damage":{"value":"5T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"yqRTvZoC5iQEjZCj"}
|
||||
{"name":"Spjut","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"7","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Bräcklig:</strong> Se sida 29 i regleboken.</p>\n<p><strong>Långt:</strong> Se sida 29 i regelboken.</p>\n<p><strong>Genomslag [Brynja]:</strong> Se sida 29 i regelboken.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Spjut","type":"String","label":"ITEM.SKILL"},"damage":{"value":"5T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"akIvCs0ntJI4yFPx"}
|
||||
{"name":"Långkniv","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"25","type":"Number","label":"ITEM.PRICE"},"description":{"value":null,"type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Knivar","type":"String","label":"ITEM.SKILL"},"damage":{"value":"4T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"N5jH2LLoykp2CHtr"}
|
||||
{"name":"Kortsvärd","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"25","type":"Number","label":"ITEM.PRICE"},"description":{"value":null,"type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Svärd","type":"String","label":"ITEM.SKILL"},"damage":{"value":"4T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"FQd0pvGZ7DpRf1Bv"}
|
||||
{"name":"Huggare","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"40","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Ryttarvapen:</strong> Se sida 30 i regelboken.</p>\n<p><strong>Genomslag[Tyg]:</strong> Se sida 29 i regelboken.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Svärd","type":"String","label":"ITEM.SKILL"},"damage":{"value":"5T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"IhFL7jwqOwzaOf1x"}
|
||||
{"name":"Kroksabel","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"40","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Ryttarvapen:</strong> Se sida 30 i regelboken.</p>\n<p><strong>Genomslag[Tyg]:</strong> Se sida 29 i regelboken.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Svärd","type":"String","label":"ITEM.SKILL"},"damage":{"value":"5T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"30QiSQXkENJbB5HU"}
|
||||
{"name":"Pata","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"100","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p>En Pata är ett duellsvärd som hålls i en hylsa över handen.</p>\n<p> </p>\n<p><strong>Balanserat:</strong> Se sida 29 i regelboken.</p>\n<p><strong>Vådligt:</strong> Se sida 30 i regelboken.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Svärd","type":"String","label":"ITEM.SKILL"},"damage":{"value":"4T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"QzzVfLCm9F0HZHhN"}
|
||||
{"name":"Svärd","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"100","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Balanserat:</strong> Se sida 29 i regelboken.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Svärd","type":"String","label":"ITEM.SKILL"},"damage":{"value":"5T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"Is5oBrtttdCV0WqR"}
|
||||
{"name":"Slagsvärd","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"125","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Balanserat:</strong> Se sida 29 i regelboken.</p>\n<p><strong>Tvåhandsvapen:</strong> Se sida 30 i reglboken.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Svärd","type":"String","label":"ITEM.SKILL"},"damage":{"value":"6T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"h7wQYPemB7f3RLJf"}
|
||||
{"name":"Stridshammare","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"45","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Genomslag[Plåt]:</strong> Se sida 29 i regelboken.</p>\n<p><strong>Ryttarvapen:</strong> Se sida 30 i regleboken.</p>\n<p><strong>Vådlig:</strong> Se sida 30 i regelboken.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Yxor","type":"String","label":"ITEM.SKILL"},"damage":{"value":"4T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"omVZC2dwkT54J5Vh"}
|
||||
{"name":"Morgon stjärna","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"45","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Genomslag[Plåt]:</strong> Se sida 29 i regelboken.</p>\n<p><strong>Ryttarvapen:</strong> Se sida 30 i regleboken.</p>\n<p><strong>Vådlig:</strong> Se sida 30 i regelboken.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Yxor","type":"String","label":"ITEM.SKILL"},"damage":{"value":"4T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"zpVGquSPk35BDa5F"}
|
||||
{"name":"Yxa","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"17","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Genomslag[Låder]:</strong> Se sida 29 i regelboken.</p>\n<p><strong>Genomslag[Tyg]</strong><strong>:</strong> Se sida 29 i regleboken.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Yxor","type":"String","label":"ITEM.SKILL"},"damage":{"value":"4T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"NSIqlSR4njWmEwc1"}
|
||||
{"name":"Hillebard","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"40","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Fällande:</strong> Se sida 29 i regleboken.</p>\n<p><strong>Långt:</strong> Se sida 29 i regelboken.</p>\n<p><strong>Tvåhandsvapen:</strong> Se sida 30 i regelboken.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Spjut","type":"String","label":"ITEM.SKILL"},"damage":{"value":"5T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"nogG33vF48DVSrAZ"}
|
||||
{"name":"Pålyxa","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"40","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Genomslag[Plåt]:</strong> Se sida 29 i regleboken.</p>\n<p><strong>Tvåhandsvapen:</strong> Se sida 30 i regelboken.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Yxor","type":"String","label":"ITEM.SKILL"},"damage":{"value":"6T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"melee","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"Ox1iQxJvDbqaXXNU"}
|
||||
{"name":"Kastkniv","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"2","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Kort räckvidd:</strong> Se sida 29 i regleboken.</p>\n<p><strong>Vådlig:</strong> Se sida 30 i regleboken.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Kastvapen","type":"String","label":"ITEM.SKILL"},"damage":{"value":"3T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"ranged","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"cbQvzmFtT6T7KmGH"}
|
||||
{"name":"Kastspjut","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"5","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Kort räckvidd:</strong> Se sida 29 i regleboken.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Kastvapen","type":"String","label":"ITEM.SKILL"},"damage":{"value":"4T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"ranged","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"NWORxxFoXvc9iun5"}
|
||||
{"name":"Slunga","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"0.25","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Diskret:</strong> Se sida 29 i regleboken.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Kastvapen","type":"String","label":"ITEM.SKILL"},"damage":{"value":"3T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"ranged","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"qeCADOQoVIAIylOI"}
|
||||
{"name":"Spjutslunga","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"1","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p>Använder kastspjut som ammunition.</p>\n<p> </p>\n<p><strong>Tvåhandsvapen:</strong> Se sida 30 i regleboken.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Kastvapen","type":"String","label":"ITEM.SKILL"},"damage":{"value":"4T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"ranged","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"PdtJKdIFKoqBFkOM"}
|
||||
{"name":"Långbåge","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"10","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Otymplig:</strong> Se sida 29 i regleboken.</p>\n<p><strong>Tvåhandsvapen:</strong> Se sida 30 i regelboken.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Skytte","type":"String","label":"ITEM.SKILL"},"damage":{"value":"5T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"ranged","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"amTSgp79h3gdTJ0P"}
|
||||
{"name":"Pilbåge","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"6","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Tvåhandsvapen:</strong> Se sida 30 i regelboken.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Skytte","type":"String","label":"ITEM.SKILL"},"damage":{"value":"4T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"ranged","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"SRDHKrvNHlY5wbdJ"}
|
||||
{"name":"Armborst","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"40","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Otymplig:</strong> Se sida 29 i regleboken.</p>\n<p><strong>Tvåhandsvapen:</strong> Se sida 30 i regelboken.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Skytte","type":"String","label":"ITEM.SKILL"},"damage":{"value":"5T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"ranged","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"VmYFhEkhs8Ceo3tT"}
|
||||
{"name":"Tungt arbalest","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"60","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Lätt bestyckning:</strong> Se sida 29 i regleboken.</p>\n<p><strong>Svårladdad:</strong> Se sida 30 i regleboken.</p>\n<p><strong>Tvåhandsvapen:</strong> Se sida 30 i regelboken.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Skytte","type":"String","label":"ITEM.SKILL"},"damage":{"value":"6T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"ranged","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"PvE4gm1AuVgwna4x"}
|
||||
{"name":"Hakebössa","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"80","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p>Hakebössa är ett enkelt krutvapen med trästock och järnpipa.</p>\n<p> </p>\n<p><strong>Lunta:</strong> Se sida 29 i regleboken.</p>\n<p><strong>Högljudd:</strong> Se sida 29 i regleboken.</p>\n<p><strong>Svårladdad:</strong> Se sida 30 i regleboken.</p>\n<p><strong>Tvåhandsvapen:</strong> Se sida 30 i regelboken.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Skytte","type":"String","label":"ITEM.SKILL"},"damage":{"value":"6T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"ranged","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"ZMPuulNnTKfqm7Pw"}
|
||||
{"name":"Skeppshake","permission":{"default":0,"7VGRGHFuCmzQn7Od":3},"type":"weapon","data":{"quantity":{"value":1,"type":"Number","label":"ITEM.QUANTITY"},"price":{"value":"100","type":"Number","label":"ITEM.PRICE"},"description":{"value":"<p><strong>Lunta:</strong> Se sida 29 i regleboken.</p>\n<p><strong>Högljudd:</strong> Se sida 29 i regleboken.</p>\n<p><strong>Svårladdad:</strong> Se sida 30 i regleboken.</p>\n<p><strong>Lätt bestyckning:</strong> Se sida 29 i regelboken.</p>\n<p><strong>Tvåhandsvapen:</strong> Se sida 30 i regelboken.</p>","type":"String","label":"ITEM.DESCRIPTION"},"equipable":{"value":true,"type":"Boolean","equipped":false,"label":"ITEM.EQUIPABLE"},"modifications":{},"skill":{"value":"Skytte","type":"String","label":"ITEM.SKILL"},"damage":{"value":"8T6","type":"String","label":"ITEM.DAMAGE"},"category":{"value":"ranged","type":"String","label":"WEAPON.CATEGORY"}},"flags":{"loaded":false},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"qxxTKpHsitTUCvO3"}
|
||||
@@ -188,4 +188,20 @@
|
||||
}
|
||||
|
||||
.sheet-tabs {
|
||||
min-height: 36px;
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
@@ -97,17 +97,25 @@
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
.items .items-list .item {
|
||||
.items .items-list .item,
|
||||
.items .items-list .item-spell,
|
||||
.items .items-list .item-weapon,
|
||||
.items .items-list .item-skill,
|
||||
.items .items-list .item-nor,
|
||||
.items .items-list .item-defence,
|
||||
.items .items-list .item-attack {
|
||||
line-height: 24px;
|
||||
padding: 3px 0;
|
||||
border-bottom: 1px solid #bbb;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.items .items-list .item .toggle-equipped {
|
||||
.items .items-list .item .toggle-equipped,
|
||||
.items .items-list .item-weapon .toggle-equipped {
|
||||
color: #888;
|
||||
}
|
||||
|
||||
.items .items-list .item .toggle-equipped.active {
|
||||
.items .items-list .item .toggle-equipped.active,
|
||||
.items .items-list .item-weapon .toggle-equipped.active{
|
||||
color: #191813;
|
||||
}
|
||||
}
|
||||
|
||||
47
system.json
47
system.json
@@ -2,10 +2,10 @@
|
||||
"name": "kopparhavet",
|
||||
"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.",
|
||||
"version": "0.0.1",
|
||||
"version": "0.0.4",
|
||||
"minimumCoreVersion": "0.7.5",
|
||||
"compatibleCoreVersion": "0.7.7",
|
||||
"templateVersion": 3,
|
||||
"compatibleCoreVersion": "0.7.8",
|
||||
"templateVersion": 4,
|
||||
"author": "Erebus",
|
||||
"scripts": [],
|
||||
"esmodules": [
|
||||
@@ -21,10 +21,45 @@
|
||||
"packs": [
|
||||
{
|
||||
"name": "skills",
|
||||
"label": "Skills",
|
||||
"label": "Kopparhavets Hjältar Färdigheter",
|
||||
"system": "kopparhavet",
|
||||
"path": "./packs/skills.db",
|
||||
"entity": "Item"
|
||||
},
|
||||
{
|
||||
"name": "skills-ht",
|
||||
"label": "Hjältarnas Tid Färdigheter",
|
||||
"system": "kopparhavet",
|
||||
"path": "./packs/skills-ht.db",
|
||||
"entity": "Item"
|
||||
},
|
||||
{
|
||||
"name": "armor",
|
||||
"label": "Kopparhavets Hjältar Rustningar",
|
||||
"system": "kopparhavet",
|
||||
"path": "./packs/armor.db",
|
||||
"entity": "Item"
|
||||
},
|
||||
{
|
||||
"name": "armor-ht",
|
||||
"label": "Hjältarnas Tid Rustningar",
|
||||
"system": "kopparhavet",
|
||||
"path": "./packs/armor-ht.db",
|
||||
"entity": "Item"
|
||||
},
|
||||
{
|
||||
"name": "weapons",
|
||||
"label": "Kopparhavets Hjältar Vapen",
|
||||
"system": "kopparhavet",
|
||||
"path": "./packs/weapons.db",
|
||||
"entity": "Item"
|
||||
},
|
||||
{
|
||||
"name": "weapons-ht",
|
||||
"label": "Hjältarnas Tid Vapen",
|
||||
"system": "kopparhavet",
|
||||
"path": "./packs/weapons-ht.db",
|
||||
"entity": "Item"
|
||||
}
|
||||
],
|
||||
"languages": [
|
||||
@@ -46,6 +81,6 @@
|
||||
"url": "https://pi.rikspolisen.se/foundryvtt/kopparhavet",
|
||||
"socket": true,
|
||||
"manifest": "https://pi.rikspolisen.se/foundryvtt/kopparhavet/raw/branch/master/system.json",
|
||||
"download": "https://pi.rikspolisen.se/foundryvtt/kopparhavet/archive/v0.0.1.zip",
|
||||
"license": ""
|
||||
"download": "https://pi.rikspolisen.se/foundryvtt/kopparhavet/archive/v0.0.4.zip",
|
||||
"license": "LICENCE.txt"
|
||||
}
|
||||
|
||||
126
template.json
126
template.json
@@ -2,7 +2,8 @@
|
||||
"Actor": {
|
||||
"types": [
|
||||
"character",
|
||||
"adversary"
|
||||
"adversary",
|
||||
"ship"
|
||||
],
|
||||
"templates": {
|
||||
"core": {
|
||||
@@ -41,44 +42,6 @@
|
||||
"stats",
|
||||
"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": {
|
||||
"kin": {
|
||||
"label": "BIO.KIN",
|
||||
@@ -88,9 +51,17 @@
|
||||
"label": "BIO.PROFESSION",
|
||||
"value": ""
|
||||
},
|
||||
"nickname": {
|
||||
"label": "BIO.NICKNAME",
|
||||
"value": ""
|
||||
},
|
||||
"age": {
|
||||
"label": "BIO.AGE",
|
||||
"value": ""
|
||||
},
|
||||
"appearance": {
|
||||
"label": "BIO.APPEARANCE",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
"background": {
|
||||
@@ -142,7 +113,8 @@
|
||||
"label": "CURRENCY.QUARTER",
|
||||
"value": 0
|
||||
}
|
||||
}
|
||||
},
|
||||
"relationships": {}
|
||||
},
|
||||
"adversary": {
|
||||
"templates": [
|
||||
@@ -150,6 +122,46 @@
|
||||
"stats",
|
||||
"combat"
|
||||
]
|
||||
},
|
||||
"ship": {
|
||||
"templates": [
|
||||
"core"
|
||||
],
|
||||
"crew": {
|
||||
"label": "SHIP.CREW",
|
||||
"value": ""
|
||||
},
|
||||
"class": {
|
||||
"label": "SHIP.CLASS",
|
||||
"value": ""
|
||||
},
|
||||
"hull": {
|
||||
"label": "SHIP.HULL",
|
||||
"value": 0,
|
||||
"max": 15
|
||||
},
|
||||
"rammingdmg": {
|
||||
"label": "SHIP.RAMMINGDMG",
|
||||
"value": ""
|
||||
},
|
||||
"operationscost": {
|
||||
"label": "SHIP.OPERATIONSCOST",
|
||||
"value": ""
|
||||
},
|
||||
"operationssupply": {
|
||||
"label": "SHIP.OPERATIONSSUPPLY",
|
||||
"value": ""
|
||||
},
|
||||
"cargo": {
|
||||
"label": "SHIP.CARGO",
|
||||
"value": 0,
|
||||
"max": 10
|
||||
},
|
||||
"price": {
|
||||
"value": 0,
|
||||
"type": "Number",
|
||||
"label": "ITEM.PRICE"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Item": {
|
||||
@@ -160,7 +172,9 @@
|
||||
"skill",
|
||||
"spell",
|
||||
"talent",
|
||||
"weapon"
|
||||
"weapon",
|
||||
"shiptalent",
|
||||
"shipweapon"
|
||||
],
|
||||
"templates": {
|
||||
"core": {
|
||||
@@ -259,9 +273,12 @@
|
||||
"core"
|
||||
],
|
||||
"roll": {
|
||||
"value": "",
|
||||
"value": "roll",
|
||||
"type": "String",
|
||||
"label": "SPELL.ROLL"
|
||||
"label": "SPELL.ROLLTITLE",
|
||||
"skill": "Trolldom",
|
||||
"oppositeskill": "",
|
||||
"ritual": {}
|
||||
},
|
||||
"cost": {
|
||||
"value": "",
|
||||
@@ -302,6 +319,29 @@
|
||||
"type": "String",
|
||||
"label": "WEAPON.CATEGORY"
|
||||
}
|
||||
},
|
||||
"shiptalent": {
|
||||
"templates": [
|
||||
"core",
|
||||
"modifications"
|
||||
]
|
||||
},
|
||||
"shipweapon": {
|
||||
"templates": [
|
||||
"basic",
|
||||
"core",
|
||||
"modifications"
|
||||
],
|
||||
"skill": {
|
||||
"value": "Skytte",
|
||||
"type": "String",
|
||||
"label": "ITEM.SKILL"
|
||||
},
|
||||
"damage": {
|
||||
"value": "",
|
||||
"type": "String",
|
||||
"label": "ITEM.DAMAGE"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
<form class="{{cssClass}}" autocomplete="off">
|
||||
<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;">
|
||||
<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/5;"><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}}" />
|
||||
<h1 class="charname" style="margin-bottom: 0;grid-column: 3/6;"><input name="name" type="text" value="{{actor.name}}" placeholder="{{localize "BIO.NAME"}}" /></h1>
|
||||
|
||||
<label style="margin: auto;">{{localize data.bio.kin.label}}:</label>
|
||||
<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" />
|
||||
@@ -34,35 +34,11 @@
|
||||
<span> / </span>
|
||||
<input class="center-text" type="text" name="data.mana.max" value="{{data.mana.max}}" data-dtype="Number" />
|
||||
</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 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="combat">{{localize "TAB.COMBAT"}}</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="bio">{{localize "TAB.BIO"}}</b>
|
||||
@@ -70,14 +46,12 @@
|
||||
</div>
|
||||
|
||||
<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">
|
||||
{{> systems/kopparhavet/templates/parts/actor/skills.html}}
|
||||
</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">
|
||||
{{> systems/kopparhavet/templates/parts/actor/talent.html}}
|
||||
</div>
|
||||
|
||||
51
templates/actors/ht-adversary-sheet.html
Normal file
51
templates/actors/ht-adversary-sheet.html
Normal file
@@ -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>
|
||||
68
templates/actors/ht-character-sheet.html
Normal file
68
templates/actors/ht-character-sheet.html
Normal file
@@ -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>
|
||||
3
templates/actors/ht-ship-sheet.html
Normal file
3
templates/actors/ht-ship-sheet.html
Normal file
@@ -0,0 +1,3 @@
|
||||
<form class="{{cssClass}}" autocomplete="off">
|
||||
<center><h1>Endast tillgängligt till Kopparhavets Hjältar för närvarande</h1></center>
|
||||
</form>
|
||||
53
templates/actors/ship-sheet.html
Normal file
53
templates/actors/ship-sheet.html
Normal file
@@ -0,0 +1,53 @@
|
||||
<form class="{{cssClass}}" autocomplete="off">
|
||||
<div class="adversary">
|
||||
<div class="header grid-container" style="">
|
||||
<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-top: auto; margin-bottom: auto;">{{localize "BIO.NAME"}}:</label>
|
||||
<h1 class="charname" style="margin-bottom: 0;grid-column: 3/6;"><input name="name" type="text" value="{{actor.name}}" placeholder="{{localize "BIO.NAME"}}" /></h1>
|
||||
|
||||
<label style="margin-top: auto; margin-bottom: auto;">{{localize data.class.label}}:</label>
|
||||
<span class="charname" style="margin-bottom: 0;grid-column: 3/6;"><input name="data.class.value" type="text" value="{{data.class.value}}" placeholder="{{localize data.class.label}}" /></span>
|
||||
|
||||
<label style="margin: auto;">{{localize data.operationscost.label}}:</label>
|
||||
<input class="center-text" type="text" name="data.operationscost.value" value="{{data.operationscost.value}}" data-dtype="Number" />
|
||||
|
||||
<label style="margin: auto;">{{localize data.operationssupply.label}}:</label>
|
||||
<input class="center-text" type="text" name="data.operationssupply.value" value="{{data.operationssupply.value}}" data-dtype="Number" />
|
||||
|
||||
<label style="margin: auto;">{{localize data.hull.label}}:</label>
|
||||
<div class="grid-container" style="grid-template-columns: auto 1fr auto;">
|
||||
<input class="center-text" type="text" name="data.hull.value" value="{{data.hull.value}}" data-dtype="Number" />
|
||||
<span style="margin-bottom: auto; margin-top: auto;"> / </span>
|
||||
<input class="center-text" type="text" name="data.hull.max" value="{{data.hull.max}}" data-dtype="Number" />
|
||||
</div>
|
||||
|
||||
<label style="margin: auto;">{{localize data.cargo.label}}:</label>
|
||||
<div class="grid-container" style="grid-template-columns: auto 1fr auto;">
|
||||
<input class="center-text" type="text" name="data.cargo.value" value="{{data.cargo.value}}" data-dtype="Number" />
|
||||
<span style="margin-bottom: auto; margin-top: auto;"> / </span>
|
||||
<input class="center-text" type="text" name="data.cargo.max" value="{{data.cargo.max}}" data-dtype="Number" />
|
||||
</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="combat">{{localize "TAB.ARMAMENT"}}</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/ship-main.html}}
|
||||
</div>
|
||||
<div class="tab" data-group="primary" data-tab="combat">
|
||||
{{> systems/kopparhavet/templates/parts/actor/ship-combat.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>
|
||||
@@ -74,8 +74,7 @@
|
||||
<strong>{{localize data.cost.label}}:</strong> {{data.cost.value}}
|
||||
<strong>{{localize data.difficulty.label}}:</strong> {{rollDifficulty data.difficulty.value}}
|
||||
<div style="grid-column-start: 1; grid-column-end: 5;">
|
||||
<strong>{{localize data.roll.label}}</strong>
|
||||
{{data.roll.value}}
|
||||
<strong>{{localize data.roll.label}}:</strong> {{spellRoll data.roll.value}}
|
||||
</div>
|
||||
</div>
|
||||
{{#if data.description}}
|
||||
|
||||
@@ -4,6 +4,16 @@
|
||||
|
||||
<div class="roll">
|
||||
<div class="dice-roll">
|
||||
{{#if closed}}
|
||||
<div style="text-align: center; margin-bottom: 0.5rem;">
|
||||
{{localize "ROLL.CLOSED"}}: {{closed}}
|
||||
</div>
|
||||
{{/if}}
|
||||
{{#if opened}}
|
||||
<div style="text-align: center; margin-bottom: 0.5rem;">
|
||||
{{localize "ROLL.OPENED"}}: {{opened}}
|
||||
</div>
|
||||
{{/if}}
|
||||
<div class="dice-result">
|
||||
{{#if showFormula}}
|
||||
<div class="dice-formula-kh">{{res.formula}}</div>
|
||||
@@ -13,14 +23,14 @@
|
||||
</div>
|
||||
</div>
|
||||
{{#if success}}
|
||||
<div style="text-align: center; width: 100%; font-weight: bold; color: limegreen;">
|
||||
{{localize "ROLL.SUCCESS"}}
|
||||
</div>
|
||||
<h2 style="border: none; text-align: center; width: 100%; font-weight: bold; color: limegreen;">
|
||||
{{#if excetional}}{{localize "ROLL.EXCEPTIONAL"}}{{/if}} {{localize "ROLL.SUCCESS"}}
|
||||
</h2>
|
||||
{{/if}}
|
||||
{{#if failure}}
|
||||
<div style="text-align: center; width: 100%; font-weight: bold; color: darkred;">
|
||||
{{localize "ROLL.FAILURE"}}
|
||||
</div>
|
||||
<h2 style="border: none; text-align: center; width: 100%; font-weight: bold; color: darkred;">
|
||||
{{#if excetional}}{{localize "ROLL.EXCEPTIONAL"}}{{/if}} {{localize "ROLL.FAILURE"}}
|
||||
</h2>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
20
templates/items/shiptalent-sheet.html
Normal file
20
templates/items/shiptalent-sheet.html
Normal file
@@ -0,0 +1,20 @@
|
||||
<form class="{{cssClass}} item-sheet-talent" autocomplete="off">
|
||||
<div class="header">
|
||||
<div class="avatar flex-group-center" style="grid-row: 1/3;">
|
||||
<img class="item-avatar-img" src="{{item.img}}" data-edit="img" title="{{item.name}}" />
|
||||
</div>
|
||||
<div class="container flex-group-center item-name">
|
||||
<h1><input name="name" type="text" value="{{item.name}}" placeholder="{{localize "SHIP.TALENT"}}" /></h1>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<div class="talent-description">
|
||||
<h2>{{localize data.description.label}}</h2>
|
||||
<div class="info-mid">
|
||||
<div class="description">
|
||||
{{editor content=data.description.value target="data.description.value" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
40
templates/items/shipweapon-sheet.html
Normal file
40
templates/items/shipweapon-sheet.html
Normal file
@@ -0,0 +1,40 @@
|
||||
<form class="{{cssClass}}" autocomplete="off">
|
||||
<div class="header">
|
||||
<div class="avatar flex-group-center" style="grid-row: 1/3;">
|
||||
<img class="item-avatar-img" src="{{item.img}}" data-edit="img" title="{{item.name}}" />
|
||||
</div>
|
||||
<div class="container flex-group-center item-name">
|
||||
<h1><input name="name" type="text" value="{{item.name}}" placeholder="{{localize "ITEM.WEAPON"}}" /></h1>
|
||||
</div>
|
||||
</div>
|
||||
<div class="grid-container" style="grid-template-columns: 1fr 1fr;">
|
||||
<div class="cost">
|
||||
<label>{{localize data.price.label}}</label>
|
||||
<input name="data.price.value" type="text" value="{{data.price.value}}" />
|
||||
</div>
|
||||
<div class="rating">
|
||||
<label>{{localize data.damage.label}}</label>
|
||||
<input name="data.damage.value" type="text" value="{{data.damage.value}}" />
|
||||
</div>
|
||||
<div>
|
||||
<label>{{localize "ITEM.SKILL"}}</label>
|
||||
<select class="item-weapon-skill-select" name="data.skill.value">
|
||||
{{#select data.skill.value}}
|
||||
{{#each this.khskills as |t|}}
|
||||
<option value="{{t.name}}">{{t.name}}</option>
|
||||
{{/each}}
|
||||
{{/select}}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<div class="description">
|
||||
<h2>{{localize data.description.label}}</h2>
|
||||
<div class="info">
|
||||
<div class="description">
|
||||
{{editor content=data.description.value target="data.description.value" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
@@ -26,7 +26,24 @@
|
||||
</div>
|
||||
<div style="grid-column-start: 1; grid-column-end: 3;">
|
||||
<label>{{localize data.roll.label}}</label>
|
||||
<input name="data.roll.value" type="text" value="{{data.roll.value}}" />
|
||||
<select class="item-weapon-cat-select" name="data.roll.value">
|
||||
{{#select data.roll.value}}
|
||||
<option value="roll">{{localize "SPELL.ROLL"}}</option>
|
||||
<option value="attackroll">{{localize "SPELL.ATTACKROLL"}}</option>
|
||||
<option value="opposite">{{localize "SPELL.OPPOSITE"}}</option>
|
||||
<option value="ritual">{{localize "SPELL.RITUAL"}}</option>
|
||||
{{/select}}
|
||||
</select>
|
||||
</div>
|
||||
<div style="grid-column-start: 1; grid-column-end: 3;">
|
||||
<label>{{localize "ITEM.SKILL"}}</label>
|
||||
<select class="item-weapon-skill-select" name="data.roll.skill">
|
||||
{{#select data.roll.skill}}
|
||||
{{#each this.khskills as |t|}}
|
||||
<option value="{{t.name}}">{{t.name}}</option>
|
||||
{{/each}}
|
||||
{{/select}}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
@@ -39,4 +56,4 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</form>
|
||||
@@ -2,16 +2,16 @@
|
||||
<div class="combat border">
|
||||
<ul class="items">
|
||||
<ul class="items-list">
|
||||
<li class="item flexrow">
|
||||
<li class="item-nor 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">
|
||||
<li class="item-defence flexrow" data-defence="{{data.combat.defence}}">
|
||||
<div class="item-name roll-defence rollable" data-defence="{{data.combat.defence}}" style="flex-grow: 8;">{{localize "ADVERSARY.DEFENCE"}}</div>
|
||||
<div class="item-value" style="flex: none;"><input name="data.combat.defence" class="skill-value" type="text" value="{{data.combat.defence}}" /></div>
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<li class="item-nor flexrow">
|
||||
<div class="item-name" style="flex-grow: 8;">{{localize "ADVERSARY.HASHELMET"}}</div>
|
||||
<div style="align-self: flex-end">
|
||||
<a style="margin: auto;" class="adversary-helmet-click {{#if data.combat.helmet}}active{{/if}}">
|
||||
@@ -20,7 +20,7 @@
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="item flexrow">
|
||||
<li class="item-nor flexrow">
|
||||
<div class="item-name roll-adversary-armor rollable" data-armor="{{data.combat.armor}}" style="flex-grow: 8;">{{localize "ITEM.DEFENCE"}}</div>
|
||||
<div class="item-value" style="flex: none;"><input name="data.combat.armor" class="skill-value" type="text" value="{{data.combat.armor}}" /></div>
|
||||
</li>
|
||||
@@ -33,9 +33,12 @@
|
||||
<ul class="items">
|
||||
<ul class="items-list">
|
||||
{{#each actor.skills as |skill key|}}
|
||||
<li class="item flexrow" data-item-id="{{skill._id}}">
|
||||
<li class="item-skill flexrow" data-item-id="{{skill._id}}">
|
||||
<div class="item-name roll-skill rollable" style="flex-grow: 8;">{{skill.name}}</div>
|
||||
<div class="item-value" style="flex: none;"><input class="skill-value" type="number" value="{{skill.data.value}}" min="0" data-item-id="{{skill._id}}" data-dtype="Number" /></div>
|
||||
<div class="item-controls">
|
||||
<a class="item-control item-delete" data-parent=".item-skill" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
@@ -52,7 +55,7 @@
|
||||
|
||||
<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}}">
|
||||
<li class="item-attack 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">
|
||||
@@ -61,12 +64,12 @@
|
||||
</div>
|
||||
<div class="skill-roll">
|
||||
<div class="roll-button">
|
||||
<div class="roll-damage rollable">{{item.data.damage.value}}</div>
|
||||
<div class="roll-attack-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>
|
||||
<a class="item-control item-edit" data-parent=".item-attack" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-delete" data-parent=".item-attack" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
</li>
|
||||
<ul class="items-list">
|
||||
{{#each actor.weapons as |item id|}}
|
||||
<li class="item flexrow" data-item-id="{{item._id}}" data-ability="{{item.data.skill.value}}">
|
||||
<li class="item-weapon flexrow" data-item-id="{{item._id}}" data-ability="{{item.data.skill.value}}">
|
||||
<div class="item-name">{{item.name}}</div>
|
||||
<div>
|
||||
{{#if item.data.equipable.equipped}}
|
||||
@@ -40,8 +40,8 @@
|
||||
</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>
|
||||
<a class="item-control item-edit" data-parent=".item-weapon" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-delete" data-parent=".item-weapon" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
@@ -79,8 +79,8 @@
|
||||
</div>
|
||||
{{/if}}
|
||||
<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>
|
||||
<a class="item-control item-edit" data-parent=".item" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-delete" data-parent=".item" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
@@ -105,8 +105,8 @@
|
||||
<div class="quantity decrease"><i class="far fa-minus-square"></i></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>
|
||||
<a class="item-control item-edit" data-parent=".item" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-delete" data-parent=".item" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
|
||||
71
templates/parts/actor/ht-combat.html
Normal file
71
templates/parts/actor/ht-combat.html
Normal file
@@ -0,0 +1,71 @@
|
||||
<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-nor 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-defence flexrow" data-defence="{{data.combat.defence}}">
|
||||
<div class="item-name roll-defence rollable" data-defence="{{data.combat.defence}}" style="flex-grow: 8;">{{localize "ADVERSARY.DEFENCE"}}</div>
|
||||
<div class="item-value" style="flex: none;"><input name="data.combat.defence" class="skill-value" type="text" value="{{data.combat.defence}}" /></div>
|
||||
</li>
|
||||
|
||||
<li class="item-nor flexrow">
|
||||
<div class="item-name roll-adversary-armor rollable" data-armor="{{data.combat.armor}}" style="flex-grow: 8;">{{localize "ITEM.DEFENCE"}}</div>
|
||||
<div class="item-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-skill 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>
|
||||
<div class="item-controls">
|
||||
<a class="item-control item-delete" data-parent=".item-skill" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</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-attack 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-attack-damage rollable">{{item.data.damage.value}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-controls">
|
||||
<a class="item-control item-edit" data-parent=".item-attack" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-delete" data-parent=".item-attack" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
99
templates/parts/actor/ht-main.html
Normal file
99
templates/parts/actor/ht-main.html
Normal file
@@ -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>
|
||||
46
templates/parts/actor/ht-skills.html
Normal file
46
templates/parts/actor/ht-skills.html
Normal file
@@ -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-skill 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>
|
||||
<div style="align-self: flex-end; margin-top: auto; margin-bottom: auto;">
|
||||
<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-skill 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>
|
||||
<div style="align-self: flex-end; margin-top: auto; margin-bottom: auto;">
|
||||
<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>
|
||||
78
templates/parts/actor/main.html
Normal file
78
templates/parts/actor/main.html
Normal file
@@ -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>
|
||||
37
templates/parts/actor/ship-combat.html
Normal file
37
templates/parts/actor/ship-combat.html
Normal file
@@ -0,0 +1,37 @@
|
||||
WEAPONS
|
||||
|
||||
<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="grid-column-gap: 5px; grid-template-columns: auto 1fr; max-height: 163px; height: fit-content;">
|
||||
<label style="margin-top: auto; margin-bottom: auto;">{{localize data.rammingdmg.label}}:</label>
|
||||
<input style="text-align: center;" name="data.rammingdmg.value" type="text" value="{{data.rammingdmg.value}}" placeholder="{{localize data.rammingdmg.label}}" />
|
||||
</div>
|
||||
|
||||
|
||||
<div class="spells border">
|
||||
<ul class="items">
|
||||
<li class="items-header flexrow">
|
||||
<div class="header-name">{{localize "SHIP.ARMAMENT"}}</div>
|
||||
<div>{{localize "ITEM.DAMAGE"}}</div>
|
||||
<div></div>
|
||||
</li>
|
||||
<ul class="items-list">
|
||||
{{#each actor.shipweapons as |item id|}}
|
||||
<li class="item-weapon 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-damage rollable">{{item.data.damage.value}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-controls">
|
||||
<a class="item-control item-edit" data-parent=".item-weapon" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-delete" data-parent=".item-weapon" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
34
templates/parts/actor/ship-main.html
Normal file
34
templates/parts/actor/ship-main.html
Normal file
@@ -0,0 +1,34 @@
|
||||
<div class="bio-tab border scroll-y" style="height: 100%; border-top: none;">
|
||||
<div class="grid-container" style="height: fit-content; border-top: none; grid-template-rows: auto auto; grid-template-columns: 1fr 1fr;">
|
||||
<div class="border grid-container" style="height: 100%; grid-row: 1/4; grid-template-rows: auto 1fr; height: fit-content; min-height: 200px;">
|
||||
<h2 style="margin-bottom: 0;">{{localize data.description.label}}</h2>
|
||||
<div class="description">
|
||||
{{editor content=data.description.value target="data.description.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; height: fit-content;">
|
||||
<label style="margin-top: auto; margin-bottom: auto;">{{localize data.crew.label}}:</label>
|
||||
<input name="data.crew.value" style="text-align: center;" type="text" value="{{data.crew.value}}" placeholder="{{localize data.crew.label}}" />
|
||||
</div>
|
||||
|
||||
<div class="spells border">
|
||||
<h1 class="item-list-header">{{localize "ITEM.TALENT"}}</h1>
|
||||
|
||||
<div class="scroll-y" style="height: calc(100% - 20px);">
|
||||
<ul class="items">
|
||||
<ul class="items-list">
|
||||
{{#each actor.shiptalents as |talent key|}}
|
||||
<li class="item flexrow" data-item-id="{{talent._id}}">
|
||||
<div class="item-name">{{talent.name}}</div>
|
||||
<div class="item-controls">
|
||||
<a class="item-control item-edit" data-parent=".item" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-delete" data-parent=".item" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -5,10 +5,10 @@
|
||||
<ul class="items-list">
|
||||
{{#each actor.skills as |skill key|}}
|
||||
{{#if skill.hasBase}}
|
||||
<li class="item flexrow" data-item-id="{{skill._id}}">
|
||||
<div class="item-name roll-skill" style="flex-grow: 8;">{{skill.name}}</div>
|
||||
<li class="item-skill flexrow" data-item-id="{{skill._id}}">
|
||||
<div class="item-name roll-skill rollable" style="flex-grow: 8;">{{skill.name}}</div>
|
||||
<div class="item-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">
|
||||
<div style="align-self: flex-end; margin-top: auto; margin-bottom: auto;">
|
||||
<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>
|
||||
@@ -25,10 +25,10 @@
|
||||
<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>
|
||||
<li class="item-skill flexrow" data-item-id="{{skill._id}}">
|
||||
<div class="item-name roll-skill rollable" style="flex-grow: 8;">{{skill.name}}</div>
|
||||
<div class="item-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">
|
||||
<div style="align-self: flex-end; margin-top: auto; margin-bottom: auto;">
|
||||
<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>
|
||||
@@ -45,10 +45,10 @@
|
||||
<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>
|
||||
<li class="item-skill flexrow" data-item-id="{{skill._id}}">
|
||||
<div class="item-name roll-skill rollable" style="flex-grow: 8;">{{skill.name}}</div>
|
||||
<div class="item-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">
|
||||
<div style="align-self: flex-end; margin-top: auto; margin-bottom: auto;">
|
||||
<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>
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
<li class="item flexrow" data-item-id="{{talent._id}}">
|
||||
<div class="item-name">{{talent.name}}</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>
|
||||
<a class="item-control item-edit" data-parent=".item" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-delete" data-parent=".item" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
@@ -25,13 +25,13 @@
|
||||
<ul class="items">
|
||||
<ul class="items-list">
|
||||
{{#each actor.spells as |spell key|}}
|
||||
<li class="item flexrow" data-item-id="{{spell._id}}">
|
||||
<div class="item-name">{{spell.name}}</div>
|
||||
<li class="item-spell flexrow" data-item-id="{{spell._id}}">
|
||||
<div class="item-name roll-spell-skill rollable" style="margin-top: auto; margin-bottom: auto;">{{spell.name}}</div>
|
||||
<div class="cost roll-spell-cost rollable">{{spell.data.cost.value}}</div>
|
||||
<div class="difficulty">{{rollDifficulty spell.data.difficulty.value}}</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>
|
||||
<a class="item-control item-edit" data-parent=".item-spell" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-delete" data-parent=".item-spell" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
|
||||
55
templates/roll-dialog.html
Normal file
55
templates/roll-dialog.html
Normal file
@@ -0,0 +1,55 @@
|
||||
<div id="{{id}}" class="roll-dialog">
|
||||
<h1 style="text-align: center;">{{localize skillName}} ({{skillValue}})</h1>
|
||||
<div class="flexrow" style="margin-bottom: 10px;">
|
||||
<label style="margin: auto;">{{localize "ROLL.OPENCLOSE"}}</label>
|
||||
<input type="button" name="openclosed" min="0" value="{{startopen}}" style="min-height: 30px; min-width: 45px;" />
|
||||
<label name="notopenedorclosed" style="margin: auto; display: inline-block;"> </label>
|
||||
<label name="closed" style="margin: auto; display: none; text-align: center;">{{localize "ROLL.CLOSED"}}</label>
|
||||
<label name="opened" style="margin: auto; display: none; text-align: center;">{{localize "ROLL.OPENED"}}</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
(function() {
|
||||
const scope = document.getElementById("{{{id}}}");
|
||||
const input = scope.querySelector(`[name="openclosed"`);
|
||||
const closed = scope.querySelector(`[name="closed"`);
|
||||
const opened = scope.querySelector(`[name="opened"`);
|
||||
const none = scope.querySelector(`[name="notopenedorclosed"`);
|
||||
|
||||
input.addEventListener("click", (event) => {
|
||||
event.target.value++;
|
||||
|
||||
if(event.target.value > 0) {
|
||||
closed.style.display = "none"
|
||||
none.style.display = "none"
|
||||
opened.style.display = "inline-block"
|
||||
} else if(event.target.value < 0) {
|
||||
opened.style.display = "none"
|
||||
none.style.display = "none"
|
||||
closed.style.display = "inline-block"
|
||||
} else {
|
||||
opened.style.display = "none"
|
||||
closed.style.display = "none"
|
||||
none.style.display = "inline-block"
|
||||
}
|
||||
});
|
||||
input.addEventListener("contextmenu", (event) => {
|
||||
event.target.value--;
|
||||
|
||||
if(event.target.value > 0) {
|
||||
closed.style.display = "none"
|
||||
none.style.display = "none"
|
||||
opened.style.display = "inline-block"
|
||||
} else if(event.target.value < 0) {
|
||||
opened.style.display = "none"
|
||||
none.style.display = "none"
|
||||
closed.style.display = "inline-block"
|
||||
} else {
|
||||
opened.style.display = "none"
|
||||
closed.style.display = "none"
|
||||
none.style.display = "inline-block"
|
||||
}
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
Reference in New Issue
Block a user