Compare commits
7 Commits
Author | SHA1 | Date |
---|---|---|
Erebus | a26cc89686 | |
Erebus | 58c3fbcd42 | |
Erebus | 6962d6fc04 | |
Erebus | 3f044c0b97 | |
erebus | cace9cc899 | |
erebus | 0c1729a4b4 | |
erebus | 77806b38c4 |
|
@ -72,6 +72,13 @@
|
||||||
"MENU.SHOWROLLDIALOG": "Show diceroller dialog",
|
"MENU.SHOWROLLDIALOG": "Show diceroller dialog",
|
||||||
"ROLL.OPENCLOSE": "Open / Close",
|
"ROLL.OPENCLOSE": "Open / Close",
|
||||||
"ROLL.EXCEPTIONAL": "Exceptional",
|
"ROLL.EXCEPTIONAL": "Exceptional",
|
||||||
|
"ROLL.SUBPAR": "Subpar result",
|
||||||
|
"ROLL.LOW": "Low result",
|
||||||
|
"ROLL.LIMITED": "Limited result",
|
||||||
|
"ROLL.GOOD": "Good result",
|
||||||
|
"ROLL.SUPERIOR": "Superior result",
|
||||||
|
"ROLL.OR": "or",
|
||||||
|
"ROLL.OPPOSITE": "Resisted by",
|
||||||
|
|
||||||
"SHIP.CARGO": "Cargo capacity",
|
"SHIP.CARGO": "Cargo capacity",
|
||||||
"SHIP.HULL": "Hull",
|
"SHIP.HULL": "Hull",
|
||||||
|
@ -88,6 +95,7 @@
|
||||||
"SKILL.COMBAT": "Combat",
|
"SKILL.COMBAT": "Combat",
|
||||||
"SKILL.STARTVALUE": "Start value",
|
"SKILL.STARTVALUE": "Start value",
|
||||||
"SKILL.LANGUAGE": "Language",
|
"SKILL.LANGUAGE": "Language",
|
||||||
|
"SKILL.NONE": "None",
|
||||||
|
|
||||||
"SPELL.DIFFICULTY": "Difficulty",
|
"SPELL.DIFFICULTY": "Difficulty",
|
||||||
"SPELL.ROLLTITLE": "Roll",
|
"SPELL.ROLLTITLE": "Roll",
|
||||||
|
|
|
@ -73,6 +73,13 @@
|
||||||
"MENU.SHOWROLLDIALOG": "Visa tärningsdialog",
|
"MENU.SHOWROLLDIALOG": "Visa tärningsdialog",
|
||||||
"ROLL.OPENCLOSE": "Öppna / Stäng",
|
"ROLL.OPENCLOSE": "Öppna / Stäng",
|
||||||
"ROLL.EXCEPTIONAL": "Exceptionellt",
|
"ROLL.EXCEPTIONAL": "Exceptionellt",
|
||||||
|
"ROLL.SUBPAR": "Undermålig kvalitet",
|
||||||
|
"ROLL.LOW": "Låg kvalitet",
|
||||||
|
"ROLL.LIMITED": "Begränsad kvalitet",
|
||||||
|
"ROLL.GOOD": "God kvalitet",
|
||||||
|
"ROLL.SUPERIOR": "Överlägsen kvalitet",
|
||||||
|
"ROLL.OR": "eller",
|
||||||
|
"ROLL.OPPOSITE": "Motsatt av",
|
||||||
|
|
||||||
"SHIP.CARGO": "Lastförmåga",
|
"SHIP.CARGO": "Lastförmåga",
|
||||||
"SHIP.HULL": "Skrov",
|
"SHIP.HULL": "Skrov",
|
||||||
|
@ -89,6 +96,7 @@
|
||||||
"SKILL.COMBAT": "Stridsfärdigheter",
|
"SKILL.COMBAT": "Stridsfärdigheter",
|
||||||
"SKILL.STARTVALUE": "Grundvärde",
|
"SKILL.STARTVALUE": "Grundvärde",
|
||||||
"SKILL.LANGUAGE": "Språk",
|
"SKILL.LANGUAGE": "Språk",
|
||||||
|
"SKILL.NONE": "Ingen",
|
||||||
|
|
||||||
"SPELL.DIFFICULTY": "Svårighet",
|
"SPELL.DIFFICULTY": "Svårighet",
|
||||||
"SPELL.ROLLTITLE": "Slag",
|
"SPELL.ROLLTITLE": "Slag",
|
||||||
|
|
|
@ -154,13 +154,13 @@ export class ActorSheetKH extends ActorSheet {
|
||||||
icon: '<i class="far dice"></i>',
|
icon: '<i class="far dice"></i>',
|
||||||
callback: (li) => {
|
callback: (li) => {
|
||||||
let itemId = li.data("itemId");
|
let itemId = li.data("itemId");
|
||||||
let _item = this.actor.items.find((element) => element._id == itemId);
|
let _item = this.actor.items.find((element) => element.id == itemId);
|
||||||
|
|
||||||
// Retrieve skill based on name
|
// Retrieve skill based on name
|
||||||
let skill = this.actor.items.find((element) => element.name === _item.data.data.skill.value);
|
let skill = this.actor.items.find((element) => element.name === _item.data.skill.value);
|
||||||
|
|
||||||
let skillName = skill.name
|
let skillName = skill.name
|
||||||
let skillValue = skill.data.data.value
|
let skillValue = skill.data.value
|
||||||
let showValue = false
|
let showValue = false
|
||||||
|
|
||||||
if(this.actor.data.type === "character") {
|
if(this.actor.data.type === "character") {
|
||||||
|
@ -186,10 +186,10 @@ export class ActorSheetKH extends ActorSheet {
|
||||||
icon: '<i class="far dice"></i>',
|
icon: '<i class="far dice"></i>',
|
||||||
callback: (li) => {
|
callback: (li) => {
|
||||||
let itemId = li.data("itemId");
|
let itemId = li.data("itemId");
|
||||||
let _item = this.actor.items.find((element) => element._id == itemId);
|
let _item = this.actor.items.find((element) => element.id == itemId);
|
||||||
|
|
||||||
let skillName = _item.name
|
let skillName = _item.name
|
||||||
let skillValue = _item.data.data.value
|
let skillValue = _item.data.value
|
||||||
let showValue = false
|
let showValue = false
|
||||||
|
|
||||||
if(this.actor.data.type === "character") {
|
if(this.actor.data.type === "character") {
|
||||||
|
@ -214,14 +214,14 @@ export class ActorSheetKH extends ActorSheet {
|
||||||
name: game.i18n.localize("MENU.SHOWROLLDIALOG"),
|
name: game.i18n.localize("MENU.SHOWROLLDIALOG"),
|
||||||
icon: '<i class="far dice"></i>',
|
icon: '<i class="far dice"></i>',
|
||||||
callback: (li) => {
|
callback: (li) => {
|
||||||
let itemId = li.data("itemId");
|
let itemId = li.data("item-id");
|
||||||
let _item = this.actor.items.find((element) => element._id == itemId);
|
let _item = this.actor.items.find((element) => element.id == itemId);
|
||||||
|
|
||||||
if (!_item) {
|
if (!_item) {
|
||||||
_item = game.items.get(itemId);
|
_item = game.items.get(itemId);
|
||||||
|
|
||||||
if (!_item) {
|
if (!_item) {
|
||||||
console.log("IMPORT ERROR")
|
console.log("IMPORT ERROR 1")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -233,7 +233,7 @@ export class ActorSheetKH extends ActorSheet {
|
||||||
showValue = true
|
showValue = true
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (_item.data.data.difficulty.value) {
|
switch (_item.data.difficulty.value) {
|
||||||
case "simple":
|
case "simple":
|
||||||
difficulty = 5
|
difficulty = 5
|
||||||
break;
|
break;
|
||||||
|
@ -248,33 +248,92 @@ export class ActorSheetKH extends ActorSheet {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(_item.data.data.roll.value === "roll" || _item.data.data.roll.value === "attackroll") {
|
if(_item.data.roll.value === "roll" || _item.data.roll.value === "attackroll") {
|
||||||
// Retrieve skill based on name
|
// Retrieve skill based on name
|
||||||
let skill = this.actor.items.find((element) => element.name === _item.data.data.roll.skill);
|
let skill = this.actor.items.find((element) => element.name === _item.data.roll.skill);
|
||||||
|
|
||||||
let skillName = _item.name
|
let skillName = _item.name
|
||||||
let skillValue = skill.data.data.value
|
let skillValue = skill.data.value
|
||||||
|
|
||||||
if(this.actor.data.type === "character") {
|
if(this.actor.data.type === "character") {
|
||||||
skillName = _item.name + " (" + skill.name + ")"
|
skillName = _item.name + " (" + skill.name + ")"
|
||||||
}
|
}
|
||||||
|
|
||||||
this.khRoller.rollSkillDialogInChat(skillName, skillValue, showValue, this.actor, difficulty)
|
this.khRoller.rollSkillDialogInChat(skillName, skillValue, showValue, this.actor, difficulty)
|
||||||
} else if(_item.data.data.roll.value === "opposite") {
|
} else if(_item.data.roll.value === "opposite") {
|
||||||
// Retrieve skill based on name
|
// Retrieve skill based on name
|
||||||
let skill = this.actor.items.find((element) => element.name === _item.data.data.roll.skill);
|
let skill = this.actor.items.find((element) => element.name === _item.data.roll.skill);
|
||||||
|
|
||||||
let skillName = _item.name
|
let skillName = _item.name
|
||||||
let skillValue = skill.data.data.value
|
let skillValue = skill.data.value
|
||||||
|
|
||||||
if(this.actor.data.type === "character") {
|
if(this.actor.data.type === "character") {
|
||||||
skillName = _item.name + " (" + skill.name + ")"
|
skillName = _item.name + " (" + skill.name + ")"
|
||||||
}
|
}
|
||||||
|
|
||||||
this.khRoller.rollSkillDialogInChat(skillName, skillValue, showValue, this.actor, difficulty)
|
let opposite = []
|
||||||
} else if(_item.data.data.roll.value === "ritual") {
|
// Retrieve skill based on name
|
||||||
console.log("Not supported yet")
|
|
||||||
this.khRoller.rollSkillDialogInChat("Ritual", -1, showValue, this.actor, difficulty)
|
if(_item.data.roll.oppositeskill !== "") {
|
||||||
|
let skill1 = this.actor.items.find((element) => element.name === _item.data.roll.oppositeskill);
|
||||||
|
opposite.push(skill1.name)
|
||||||
|
}
|
||||||
|
|
||||||
|
if(_item.data.roll.oppositeskilltwo !== "") {
|
||||||
|
let skill2 = this.actor.items.find((element) => element.name === _item.data.roll.oppositeskilltwo);
|
||||||
|
opposite.push(skill2.name)
|
||||||
|
}
|
||||||
|
|
||||||
|
this.khRoller.rollSkillDialogInChat(skillName, skillValue, showValue, this.actor, difficulty, opposite)
|
||||||
|
} else if(_item.data.roll.value === "ritual") {
|
||||||
|
let skills = []
|
||||||
|
|
||||||
|
if(_item.data.roll.ritual.skillone !== "") {
|
||||||
|
let skill1 = this.actor.items.find((element) => element.name === _item.data.roll.ritual.skillone);
|
||||||
|
|
||||||
|
skills.push({
|
||||||
|
name: skill1.name,
|
||||||
|
value: skill1.data.value
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if(_item.data.roll.ritual.skilltwo !== "") {
|
||||||
|
let skill2 = this.actor.items.find((element) => element.name === _item.data.roll.ritual.skilltwo);
|
||||||
|
|
||||||
|
skills.push({
|
||||||
|
name: skill2.name,
|
||||||
|
value: skill2.data.value
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if(_item.data.roll.ritual.skillthree !== "") {
|
||||||
|
let skill3 = this.actor.items.find((element) => element.name === _item.data.roll.ritual.skillthree);
|
||||||
|
|
||||||
|
skills.push({
|
||||||
|
name: skill3.name,
|
||||||
|
value: skill3.data.value
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if(_item.data.roll.ritual.skillfour !== "") {
|
||||||
|
let skill4 = this.actor.items.find((element) => element.name === _item.data.roll.ritual.skillfour);
|
||||||
|
|
||||||
|
skills.push({
|
||||||
|
name: skill4.name,
|
||||||
|
value: skill4.data.value
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if(_item.data.roll.ritual.skillfive !== "") {
|
||||||
|
let skill5 = this.actor.items.find((element) => element.name === _item.data.roll.ritual.skillfive);
|
||||||
|
|
||||||
|
skills.push({
|
||||||
|
name: skill5.name,
|
||||||
|
value: skill5.data.value
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
this.khRoller.rollSkillChallangeDialogInChat(_item.name, skills, showValue, this.actor, difficulty)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -329,6 +388,7 @@ export class ActorSheetKH extends ActorSheet {
|
||||||
]);
|
]);
|
||||||
|
|
||||||
html.find(".feature").click(async (ev) => {
|
html.find(".feature").click(async (ev) => {
|
||||||
|
console.log("feature")
|
||||||
const featureName = $(ev.currentTarget).data("feature");
|
const featureName = $(ev.currentTarget).data("feature");
|
||||||
const featureValue = this.actor.data.data.feature[featureName].value;
|
const featureValue = this.actor.data.data.feature[featureName].value;
|
||||||
if (featureName === "one") {
|
if (featureName === "one") {
|
||||||
|
@ -347,7 +407,7 @@ export class ActorSheetKH extends ActorSheet {
|
||||||
html.find(".item-delete").click((ev) => {
|
html.find(".item-delete").click((ev) => {
|
||||||
let parent = $(ev.currentTarget).data("parent")
|
let parent = $(ev.currentTarget).data("parent")
|
||||||
const li = $(ev.currentTarget).parents(parent);
|
const li = $(ev.currentTarget).parents(parent);
|
||||||
const item = this.actor.getOwnedItem(li.data("itemId"));
|
const item = this.actor.items.get(li.data("itemId"));
|
||||||
|
|
||||||
if(item) {
|
if(item) {
|
||||||
if (item.type === "armor") {
|
if (item.type === "armor") {
|
||||||
|
@ -358,10 +418,10 @@ export class ActorSheetKH extends ActorSheet {
|
||||||
|
|
||||||
this.actor.items.map((i) => {
|
this.actor.items.map((i) => {
|
||||||
if (i.type === "armor") {
|
if (i.type === "armor") {
|
||||||
if (i._id !== item._id && i.data.data.equipable.equipped && i.data?.data?.modifications) {
|
if (i.id !== item.id && i.data.equipable.equipped && i.data?.data?.modifications) {
|
||||||
for (let k of Object.keys(i.data.data.modifications)) {
|
for (let k of Object.keys(i.data.modifications)) {
|
||||||
if (i.data.data.modifications[k].modtype === "init") {
|
if (i.data.modifications[k].modtype === "init") {
|
||||||
initValue = i.data.data.modifications[k].value;
|
initValue = i.data.modifications[k].value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -375,23 +435,26 @@ export class ActorSheetKH extends ActorSheet {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.actor.deleteOwnedItem(li.data("itemId"));
|
this.actor.deleteEmbeddedDocuments("Item", [li.data("itemId")]);
|
||||||
|
|
||||||
|
//this.actor.deleteOwnedItem(li.data("itemId"));
|
||||||
|
|
||||||
li.slideUp(200, () => this.render(false));
|
li.slideUp(200, () => this.render(false));
|
||||||
});
|
});
|
||||||
|
|
||||||
// Edit Inventory Item
|
// Edit Inventory Item
|
||||||
html.find(".item-edit").click(async (ev) => {
|
html.find(".item-edit").click(async (ev) => {
|
||||||
|
console.log("item-edit")
|
||||||
let parent = $(ev.currentTarget).data("parent")
|
let parent = $(ev.currentTarget).data("parent")
|
||||||
let li = $(ev.currentTarget).parents(parent);
|
let li = $(ev.currentTarget).parents(parent);
|
||||||
let itemId = li.data("itemId");
|
let itemId = li.data("itemId");
|
||||||
let item = this.actor.getOwnedItem(itemId);
|
let item = this.actor.items.get(itemId);
|
||||||
|
|
||||||
if (!item) {
|
if (!item) {
|
||||||
item = game.items.get(itemId);
|
item = game.items.get(itemId);
|
||||||
|
|
||||||
if (!item) {
|
if (!item) {
|
||||||
console.log("IMPORT ERROR")
|
console.log("IMPORT ERROR 2")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -404,13 +467,13 @@ export class ActorSheetKH extends ActorSheet {
|
||||||
html.find(".roll-spell-cost").click((ev) => {
|
html.find(".roll-spell-cost").click((ev) => {
|
||||||
const li = $(ev.currentTarget).parents(".item-spell");
|
const li = $(ev.currentTarget).parents(".item-spell");
|
||||||
let itemId = li.data("itemId");
|
let itemId = li.data("itemId");
|
||||||
let spell = this.actor.getOwnedItem(itemId);
|
let spell = this.actor.items.get(itemId);
|
||||||
|
|
||||||
if (!spell) {
|
if (!spell) {
|
||||||
spell = game.items.get(itemId);
|
spell = game.items.get(itemId);
|
||||||
|
|
||||||
if (!spell) {
|
if (!spell) {
|
||||||
console.log("IMPORT ERROR")
|
console.log("IMPORT ERROR 3")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -427,14 +490,14 @@ export class ActorSheetKH extends ActorSheet {
|
||||||
|
|
||||||
html.find(".roll-spell-skill").click((ev) => {
|
html.find(".roll-spell-skill").click((ev) => {
|
||||||
const li = $(ev.currentTarget).parents(".item-spell");
|
const li = $(ev.currentTarget).parents(".item-spell");
|
||||||
let itemId = li.data("itemId");
|
let itemId = li.data("item-id");
|
||||||
let spell = this.actor.getOwnedItem(itemId);
|
let spell = this.actor.items.get(itemId);
|
||||||
|
|
||||||
if (!spell) {
|
if (!spell) {
|
||||||
spell = game.items.get(itemId);
|
spell = game.items.get(itemId);
|
||||||
|
|
||||||
if (!spell) {
|
if (!spell) {
|
||||||
console.log("IMPORT ERROR")
|
console.log("IMPORT ERROR 4")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -474,9 +537,20 @@ export class ActorSheetKH extends ActorSheet {
|
||||||
|
|
||||||
this.khRoller.rollSkillInChat(skillName, skillValue, showValue, this.actor, difficulty)
|
this.khRoller.rollSkillInChat(skillName, skillValue, showValue, this.actor, difficulty)
|
||||||
} else if(spell.data.data.roll.value === "opposite") {
|
} else if(spell.data.data.roll.value === "opposite") {
|
||||||
|
let opposite = []
|
||||||
// Retrieve skill based on name
|
// Retrieve skill based on name
|
||||||
let skill = this.actor.items.find((element) => element.name === spell.data.data.roll.skill);
|
let skill = this.actor.items.find((element) => element.name === spell.data.data.roll.skill);
|
||||||
|
|
||||||
|
if(spell.data.data.roll.oppositeskill !== "") {
|
||||||
|
let skill1 = this.actor.items.find((element) => element.name === spell.data.data.roll.oppositeskill);
|
||||||
|
opposite.push(skill1.name)
|
||||||
|
}
|
||||||
|
|
||||||
|
if(spell.data.data.roll.oppositeskilltwo !== "") {
|
||||||
|
let skill2 = this.actor.items.find((element) => element.name === spell.data.data.roll.oppositeskilltwo);
|
||||||
|
opposite.push(skill2.name)
|
||||||
|
}
|
||||||
|
|
||||||
let skillName = spell.name
|
let skillName = spell.name
|
||||||
let skillValue = skill.data.data.value
|
let skillValue = skill.data.data.value
|
||||||
|
|
||||||
|
@ -484,17 +558,68 @@ export class ActorSheetKH extends ActorSheet {
|
||||||
skillName = spell.name + " (" + skill.name + ")"
|
skillName = spell.name + " (" + skill.name + ")"
|
||||||
}
|
}
|
||||||
|
|
||||||
this.khRoller.rollSkillInChat(skillName, skillValue, showValue, this.actor, difficulty)
|
this.khRoller.rollSkillInChat(skillName, skillValue, showValue, this.actor, difficulty, opposite)
|
||||||
} else if(spell.data.data.roll.value === "ritual") {
|
} else if(spell.data.data.roll.value === "ritual") {
|
||||||
console.log("Not supported yet")
|
let skill1, skill2, skill3, skill4, skill5;
|
||||||
|
let skills = []
|
||||||
|
|
||||||
|
// Retrieve skill based on name
|
||||||
|
if(spell.data.data.roll.ritual.skillone !== "") {
|
||||||
|
skill1 = this.actor.items.find((element) => element.name === spell.data.data.roll.ritual.skillone);
|
||||||
|
|
||||||
|
skills.push({
|
||||||
|
name: skill1.name,
|
||||||
|
value: skill1.data.data.value
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if(spell.data.data.roll.ritual.skilltwo !== "") {
|
||||||
|
skill2 = this.actor.items.find((element) => element.name === spell.data.data.roll.ritual.skilltwo);
|
||||||
|
|
||||||
|
skills.push({
|
||||||
|
name: skill2.name,
|
||||||
|
value: skill2.data.data.value
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if(spell.data.data.roll.ritual.skillthree !== "") {
|
||||||
|
skill3 = this.actor.items.find((element) => element.name === spell.data.data.roll.ritual.skillthree);
|
||||||
|
|
||||||
|
skills.push({
|
||||||
|
name: skill3.name,
|
||||||
|
value: skill3.data.data.value
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if(spell.data.data.roll.ritual.skillfour !== "") {
|
||||||
|
skill4 = this.actor.items.find((element) => element.name === spell.data.data.roll.ritual.skillfour);
|
||||||
|
|
||||||
|
skills.push({
|
||||||
|
name: skill4.name,
|
||||||
|
value: skill4.data.data.value
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if(spell.data.data.roll.ritual.skillfive !== "") {
|
||||||
|
skill5 = this.actor.items.find((element) => element.name === spell.data.data.roll.ritual.skillfive);
|
||||||
|
|
||||||
|
skills.push({
|
||||||
|
name: skill5.name,
|
||||||
|
value: skill5.data.data.value
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
let skillName = spell.name
|
||||||
|
|
||||||
|
this.khRoller.rollSkillRitualInChat(skillName, skills, showValue, this.actor, difficulty)
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
/* Roll skill */
|
/* Roll skill */
|
||||||
html.find(".roll-skill").click((ev) => {
|
html.find(".roll-skill").click((ev) => {
|
||||||
const li = $(ev.currentTarget).parents(".item-skill");
|
const li = $(ev.currentTarget).parents(".item-skill");
|
||||||
let itemId = li.data("itemId");
|
let itemId = li.data("item-id");
|
||||||
let _item = this.actor.items.find((element) => element._id == itemId);
|
let _item = this.actor.items.find((element) => element.id === itemId);
|
||||||
|
|
||||||
let skillName = _item.name
|
let skillName = _item.name
|
||||||
let skillValue = _item.data.data.value
|
let skillValue = _item.data.data.value
|
||||||
|
@ -511,13 +636,13 @@ export class ActorSheetKH extends ActorSheet {
|
||||||
html.find(".roll-weapon-skill").click((ev) => {
|
html.find(".roll-weapon-skill").click((ev) => {
|
||||||
const li = $(ev.currentTarget).parents(".item-weapon");
|
const li = $(ev.currentTarget).parents(".item-weapon");
|
||||||
let itemId = li.data("itemId");
|
let itemId = li.data("itemId");
|
||||||
let weapon = this.actor.getOwnedItem(itemId);
|
let weapon = this.actor.items.get(itemId);
|
||||||
|
|
||||||
if (!weapon) {
|
if (!weapon) {
|
||||||
weapon = game.items.get(itemId);
|
weapon = game.items.get(itemId);
|
||||||
|
|
||||||
if (!weapon) {
|
if (!weapon) {
|
||||||
console.log("IMPORT ERROR")
|
console.log("IMPORT ERROR 5")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -540,13 +665,13 @@ export class ActorSheetKH extends ActorSheet {
|
||||||
html.find(".roll-damage").click((ev) => {
|
html.find(".roll-damage").click((ev) => {
|
||||||
const li = $(ev.currentTarget).parents(".item-weapon");
|
const li = $(ev.currentTarget).parents(".item-weapon");
|
||||||
let itemId = li.data("itemId");
|
let itemId = li.data("itemId");
|
||||||
let weapon = this.actor.getOwnedItem(itemId);
|
let weapon = this.actor.items.get(itemId);
|
||||||
|
|
||||||
if (!weapon) {
|
if (!weapon) {
|
||||||
weapon = game.items.get(itemId);
|
weapon = game.items.get(itemId);
|
||||||
|
|
||||||
if (!weapon) {
|
if (!weapon) {
|
||||||
console.log("IMPORT ERROR")
|
console.log("IMPORT ERROR 6")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -565,13 +690,13 @@ export class ActorSheetKH extends ActorSheet {
|
||||||
html.find(".roll-armor").click((ev) => {
|
html.find(".roll-armor").click((ev) => {
|
||||||
const li = $(ev.currentTarget).parents(".item");
|
const li = $(ev.currentTarget).parents(".item");
|
||||||
let itemId = li.data("itemId");
|
let itemId = li.data("itemId");
|
||||||
let armor = this.actor.getOwnedItem(itemId);
|
let armor = this.actor.items.get(itemId);
|
||||||
|
|
||||||
if (!armor) {
|
if (!armor) {
|
||||||
armor = game.items.get(itemId);
|
armor = game.items.get(itemId);
|
||||||
|
|
||||||
if (!armor) {
|
if (!armor) {
|
||||||
console.log("IMPORT ERROR")
|
console.log("IMPORT ERROR 7")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -626,13 +751,13 @@ export class ActorSheetKH extends ActorSheet {
|
||||||
html.find(".roll-attack-damage").click((ev) => {
|
html.find(".roll-attack-damage").click((ev) => {
|
||||||
const li = $(ev.currentTarget).parents(".item-attack");
|
const li = $(ev.currentTarget).parents(".item-attack");
|
||||||
let itemId = li.data("itemId");
|
let itemId = li.data("itemId");
|
||||||
let weapon = this.actor.getOwnedItem(itemId);
|
let weapon = this.actor.items.get(itemId);
|
||||||
|
|
||||||
if (!weapon) {
|
if (!weapon) {
|
||||||
weapon = game.items.get(itemId);
|
weapon = game.items.get(itemId);
|
||||||
|
|
||||||
if (!weapon) {
|
if (!weapon) {
|
||||||
console.log("IMPORT ERROR")
|
console.log("IMPORT ERROR 8")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -686,6 +811,12 @@ export class ActorSheetKH extends ActorSheet {
|
||||||
|
|
||||||
// Add or Remove relationship
|
// Add or Remove relationship
|
||||||
html.find(".learning-control").click(this._onClickLearningControl.bind(this));
|
html.find(".learning-control").click(this._onClickLearningControl.bind(this));
|
||||||
|
html.find(".learning-delete").click(async (event) => {
|
||||||
|
event.preventDefault();
|
||||||
|
const a = event.currentTarget.closest(".learning");
|
||||||
|
const id = a.dataset["attribute"];
|
||||||
|
this.object.update({ "data.learning": { ["-=" + id]: null } });
|
||||||
|
});
|
||||||
html.find(".learning-click").click(this._onClickLearingLearned.bind(this));
|
html.find(".learning-click").click(this._onClickLearingLearned.bind(this));
|
||||||
|
|
||||||
/* Hjältarnas Tid specefic */
|
/* Hjältarnas Tid specefic */
|
||||||
|
@ -697,6 +828,7 @@ export class ActorSheetKH extends ActorSheet {
|
||||||
}
|
}
|
||||||
|
|
||||||
async _onClickLearingLearned(event) {
|
async _onClickLearingLearned(event) {
|
||||||
|
console.log("_onClickLearingLearned")
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
const li1 = $(event.currentTarget);
|
const li1 = $(event.currentTarget);
|
||||||
const li2 = $(event.currentTarget).parents(".learning");
|
const li2 = $(event.currentTarget).parents(".learning");
|
||||||
|
@ -716,13 +848,11 @@ export class ActorSheetKH extends ActorSheet {
|
||||||
|
|
||||||
async _onClickLearningControl(event) {
|
async _onClickLearningControl(event) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
const a = event.currentTarget;
|
const action = event.currentTarget.dataset.action;
|
||||||
const action = a.dataset.action;
|
|
||||||
const attrs = this.object.data.data.learning;
|
|
||||||
const form = this.form;
|
|
||||||
|
|
||||||
// Add new modification
|
// Add new modification
|
||||||
if (action === "create") {
|
if (action === "create") {
|
||||||
|
const form = this.form;
|
||||||
const nk = new Date().getTime();
|
const nk = new Date().getTime();
|
||||||
let newKey = document.createElement("div");
|
let newKey = document.createElement("div");
|
||||||
|
|
||||||
|
@ -732,41 +862,43 @@ export class ActorSheetKH extends ActorSheet {
|
||||||
await this._onSubmit(event);
|
await this._onSubmit(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
// Remove existing modification
|
// Remove existing modification
|
||||||
else if (action === "delete") {
|
else if (action === "delete") {
|
||||||
const li = a.closest(".learning");
|
const a = event.currentTarget.closest(".learning");
|
||||||
li.parentElement.removeChild(li);
|
const id = a.dataset["attribute"];
|
||||||
await this._onSubmit(event);
|
this.object.update({ "data.learning": { ["-=" + id]: null } });
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
async _onClickRelationshipControl(event) {
|
async _onClickRelationshipControl(event) {
|
||||||
|
console.log("_onClickRelationshipControl")
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
const a = event.currentTarget;
|
const action = event.currentTarget.dataset.action;
|
||||||
const action = a.dataset.action;
|
|
||||||
const attrs = this.object.data.data.relationships;
|
|
||||||
const form = this.form;
|
|
||||||
|
|
||||||
// Add new modification
|
// Add new modification
|
||||||
if (action === "create") {
|
if (action === "create") {
|
||||||
|
const form = this.form;
|
||||||
const nk = new Date().getTime();
|
const nk = new Date().getTime();
|
||||||
let newKey = document.createElement("div");
|
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;" />`;
|
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);
|
form.appendChild(newKey);
|
||||||
await this._onSubmit(event);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Remove existing modification
|
// Remove existing modification
|
||||||
else if (action === "delete") {
|
else if (action === "delete") {
|
||||||
const li = a.closest(".relation");
|
const ability = $(event.currentTarget).closest(".relation").data("attribute");
|
||||||
li.parentElement.removeChild(li);
|
await this.object.update({ "data.relationships": { ["-=" + ability]: null } });
|
||||||
await this._onSubmit(event);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
await this._onSubmit(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
async _onClickRelationshipUsed(event) {
|
async _onClickRelationshipUsed(event) {
|
||||||
|
console.log("_onClickRelationshipUsed")
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
|
|
||||||
const li = $(event.currentTarget).parents(".relation");
|
const li = $(event.currentTarget).parents(".relation");
|
||||||
|
@ -784,8 +916,9 @@ export class ActorSheetKH extends ActorSheet {
|
||||||
}
|
}
|
||||||
|
|
||||||
async _toggleEquippedItem(event) {
|
async _toggleEquippedItem(event) {
|
||||||
|
console.log("_toggleEquippedItem")
|
||||||
const li = $(event.currentTarget);
|
const li = $(event.currentTarget);
|
||||||
const item = this.actor.getOwnedItem(li.data("itemId"));
|
const item = this.actor.items.get(li.data("itemId"));
|
||||||
const actor = this.actor;
|
const actor = this.actor;
|
||||||
|
|
||||||
if(item) {
|
if(item) {
|
||||||
|
@ -797,7 +930,7 @@ export class ActorSheetKH extends ActorSheet {
|
||||||
|
|
||||||
actor.items.map((i) => {
|
actor.items.map((i) => {
|
||||||
if(i.type === "armor") {
|
if(i.type === "armor") {
|
||||||
if(i._id !== item._id && i.data.data.equipable.equipped && i.data?.data?.modifications) {
|
if(i.id !== item.id && i.data.data.equipable.equipped && i.data?.data?.modifications) {
|
||||||
for(let k of Object.keys(i.data.data.modifications)) {
|
for(let k of Object.keys(i.data.data.modifications)) {
|
||||||
if(i.data.data.modifications[k].modtype === "init") {
|
if(i.data.data.modifications[k].modtype === "init") {
|
||||||
initValue = i.data.data.modifications[k].value;
|
initValue = i.data.data.modifications[k].value;
|
||||||
|
@ -828,28 +961,30 @@ export class ActorSheetKH extends ActorSheet {
|
||||||
}
|
}
|
||||||
|
|
||||||
async _increaseQuantity(event) {
|
async _increaseQuantity(event) {
|
||||||
|
console.log("_increaseQuantity")
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
|
|
||||||
const li = $(event.currentTarget).parents(".item");
|
const li = $(event.currentTarget).parents(".item");
|
||||||
let itemId = li.data("itemId");
|
let itemId = li.data("itemId");
|
||||||
let item = this.actor.getOwnedItem(itemId);
|
let item = this.actor.items.get(itemId);
|
||||||
|
|
||||||
if (!item) {
|
if (!item) {
|
||||||
console.log("IMPORT ERROR")
|
console.log("IMPORT ERROR 9")
|
||||||
}
|
}
|
||||||
|
|
||||||
item.update({ ["data.quantity.value"]: item.data.data.quantity.value + 1 });
|
item.update({ ["data.quantity.value"]: item.data.data.quantity.value + 1 });
|
||||||
}
|
}
|
||||||
|
|
||||||
async _decreaseQuantity(event) {
|
async _decreaseQuantity(event) {
|
||||||
|
console.log("_decreaseQuantity")
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
|
|
||||||
const li = $(event.currentTarget).parents(".item");
|
const li = $(event.currentTarget).parents(".item");
|
||||||
let itemId = li.data("itemId");
|
let itemId = li.data("itemId");
|
||||||
let item = this.actor.getOwnedItem(itemId);
|
let item = this.actor.items.get(itemId);
|
||||||
|
|
||||||
if (!item) {
|
if (!item) {
|
||||||
console.log("IMPORT ERROR")
|
console.log("IMPORT ERROR 10")
|
||||||
}
|
}
|
||||||
|
|
||||||
let count = item.data.data.quantity.value - 1 > 0 ? item.data.data.quantity.value - 1 : 0;
|
let count = item.data.data.quantity.value - 1 > 0 ? item.data.data.quantity.value - 1 : 0;
|
||||||
|
@ -858,25 +993,27 @@ export class ActorSheetKH extends ActorSheet {
|
||||||
}
|
}
|
||||||
|
|
||||||
async _onChangeSkillValue(event) {
|
async _onChangeSkillValue(event) {
|
||||||
|
console.log("_decreaseQuantity")
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
|
||||||
const itemId = $(event.currentTarget).data("item-id");
|
const itemId = $(event.currentTarget).data("item-id");
|
||||||
let _item = this.actor.items.find((element) => element._id == itemId);
|
let _item = this.actor.items.find((element) => element.id == itemId);
|
||||||
|
|
||||||
if (_item) {
|
if (_item) {
|
||||||
let update = {
|
let update = {
|
||||||
_id: _item._id,
|
_id: _item.id,
|
||||||
data: { value: $(event.currentTarget).val() },
|
data: { value: $(event.currentTarget).val() },
|
||||||
};
|
};
|
||||||
await this.actor.updateEmbeddedEntity("OwnedItem", update);
|
await this.actor.updateEmbeddedDocuments("Item", [update]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async _onClickSkill(event) {
|
async _onClickSkill(event) {
|
||||||
|
console.log("_onClickSkill")
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
|
||||||
const itemId = $(event.currentTarget).data("item-id");
|
const itemId = $(event.currentTarget).data("item-id");
|
||||||
let _item = this.actor.items.find((element) => element._id == itemId);
|
let _item = this.actor.items.find((element) => element.id == itemId);
|
||||||
|
|
||||||
if (_item) {
|
if (_item) {
|
||||||
let newVal = true;
|
let newVal = true;
|
||||||
|
@ -886,10 +1023,10 @@ export class ActorSheetKH extends ActorSheet {
|
||||||
}
|
}
|
||||||
|
|
||||||
let update = {
|
let update = {
|
||||||
_id: _item._id,
|
_id: _item.id,
|
||||||
data: { used: newVal },
|
data: { used: newVal },
|
||||||
};
|
};
|
||||||
await this.actor.updateEmbeddedEntity("OwnedItem", update);
|
await this.actor.updateEmbeddedDocuments("Item", [update]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -905,14 +1042,15 @@ export class ActorSheetKH extends ActorSheet {
|
||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
async _itemDetailsToChat(itemId) {
|
async _itemDetailsToChat(itemId) {
|
||||||
let item = this.actor.getOwnedItem(itemId);
|
console.log("_itemDetailsToChat")
|
||||||
|
let item = this.actor.items.get(itemId);
|
||||||
|
|
||||||
if (!item) {
|
if (!item) {
|
||||||
item = game.items.get(itemId);
|
item = game.items.get(itemId);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!item) {
|
if (!item) {
|
||||||
console.log("IMPORT ERROR")
|
console.log("IMPORT ERROR 11")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -920,11 +1058,11 @@ export class ActorSheetKH extends ActorSheet {
|
||||||
const html = await renderTemplate("systems/kopparhavet/templates/chat/item-card.html", itemDetails);
|
const html = await renderTemplate("systems/kopparhavet/templates/chat/item-card.html", itemDetails);
|
||||||
|
|
||||||
const messageData = {
|
const messageData = {
|
||||||
user: game.user._id,
|
user: game.user.id,
|
||||||
type: CONST.CHAT_MESSAGE_TYPES.OTHER,
|
type: CONST.CHAT_MESSAGE_TYPES.OTHER,
|
||||||
content: html,
|
content: html,
|
||||||
speaker: {
|
speaker: {
|
||||||
actor: this.actor._id,
|
actor: this.actor.id,
|
||||||
token: this.actor.token,
|
token: this.actor.token,
|
||||||
alias: this.actor.name,
|
alias: this.actor.name,
|
||||||
},
|
},
|
||||||
|
|
|
@ -13,8 +13,8 @@ export default class ActorHelpers {
|
||||||
}, {});
|
}, {});
|
||||||
|
|
||||||
// Remove modifications which are no longer used
|
// Remove modifications which are no longer used
|
||||||
if (this.object.data?.data?.relationships) {
|
if (this.object.data?.relationships) {
|
||||||
for (let k of Object.keys(this.object.data.data.relationships)) {
|
for (let k of Object.keys(this.object.data.relationships)) {
|
||||||
if (!relationships.hasOwnProperty(k)) relationships[`-=${k}`] = null;
|
if (!relationships.hasOwnProperty(k)) relationships[`-=${k}`] = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -36,8 +36,8 @@ export default class ActorHelpers {
|
||||||
}, {});
|
}, {});
|
||||||
|
|
||||||
// Remove modifications which are no longer used
|
// Remove modifications which are no longer used
|
||||||
if (this.object.data?.data?.learning) {
|
if (this.object.data?.learning) {
|
||||||
for (let k of Object.keys(this.object.data.data.learning)) {
|
for (let k of Object.keys(this.object.data.learning)) {
|
||||||
if (!learning.hasOwnProperty(k)) learning[`-=${k}`] = null;
|
if (!learning.hasOwnProperty(k)) learning[`-=${k}`] = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,11 +4,11 @@ export default class KHDiceRoller {
|
||||||
|
|
||||||
const roll = new Roll(formula);
|
const roll = new Roll(formula);
|
||||||
|
|
||||||
let res = roll.roll();
|
await roll.evaluate();
|
||||||
|
|
||||||
let rollData = {
|
let rollData = {
|
||||||
name: "SPELL.COST",
|
name: "SPELL.COST",
|
||||||
res: res,
|
res: roll,
|
||||||
showFormula: true
|
showFormula: true
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -23,9 +23,9 @@ export default class KHDiceRoller {
|
||||||
await roll.toMessage({
|
await roll.toMessage({
|
||||||
create: true,
|
create: true,
|
||||||
content: html,
|
content: html,
|
||||||
user: game.user._id,
|
user: game.user.id,
|
||||||
speaker: {
|
speaker: {
|
||||||
actor: speaker._id,
|
actor: speaker.id,
|
||||||
token: speaker.token,
|
token: speaker.token,
|
||||||
alias: speaker.name,
|
alias: speaker.name,
|
||||||
},
|
},
|
||||||
|
@ -37,11 +37,11 @@ export default class KHDiceRoller {
|
||||||
|
|
||||||
const roll = new Roll(formula);
|
const roll = new Roll(formula);
|
||||||
|
|
||||||
let res = roll.roll();
|
await roll.evaluate();
|
||||||
|
|
||||||
let rollData = {
|
let rollData = {
|
||||||
name: "ITEM.DAMAGE",
|
name: "ITEM.DAMAGE",
|
||||||
res: res,
|
res: roll,
|
||||||
showFormula: true
|
showFormula: true
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -50,9 +50,9 @@ export default class KHDiceRoller {
|
||||||
await roll.toMessage({
|
await roll.toMessage({
|
||||||
create: true,
|
create: true,
|
||||||
content: html,
|
content: html,
|
||||||
user: game.user._id,
|
user: game.user.id,
|
||||||
speaker: {
|
speaker: {
|
||||||
actor: speaker._id,
|
actor: speaker.id,
|
||||||
token: speaker.token,
|
token: speaker.token,
|
||||||
alias: speaker.name,
|
alias: speaker.name,
|
||||||
},
|
},
|
||||||
|
@ -68,11 +68,11 @@ export default class KHDiceRoller {
|
||||||
|
|
||||||
const roll = new Roll(formula);
|
const roll = new Roll(formula);
|
||||||
|
|
||||||
let res = roll.roll();
|
await roll.evaluate();
|
||||||
|
|
||||||
let rollData = {
|
let rollData = {
|
||||||
name: "ITEM.DEFENCE",
|
name: "ITEM.DEFENCE",
|
||||||
res: res,
|
res: roll,
|
||||||
showFormula: true
|
showFormula: true
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -81,19 +81,19 @@ export default class KHDiceRoller {
|
||||||
await roll.toMessage({
|
await roll.toMessage({
|
||||||
create: true,
|
create: true,
|
||||||
content: html,
|
content: html,
|
||||||
user: game.user._id,
|
user: game.user.id,
|
||||||
speaker: {
|
speaker: {
|
||||||
actor: speaker._id,
|
actor: speaker.id,
|
||||||
token: speaker.token,
|
token: speaker.token,
|
||||||
alias: speaker.name,
|
alias: speaker.name,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
async rollSkillInChat(skillName, skillValue, showValue, speaker, openclosed) {
|
async rollSkillInChat(skillName, skillValue, showValue, speaker, openclosed, opposite) {
|
||||||
const roll = new Roll(`1d100`);
|
const roll = new Roll(`1d100`);
|
||||||
|
|
||||||
let res = roll.roll();
|
await roll.evaluate();
|
||||||
|
|
||||||
let computedName = skillName
|
let computedName = skillName
|
||||||
|
|
||||||
|
@ -105,14 +105,28 @@ export default class KHDiceRoller {
|
||||||
openclosed = 0
|
openclosed = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(opposite === undefined) {
|
||||||
|
opposite = []
|
||||||
|
}
|
||||||
|
|
||||||
|
let oppositeValue = ""
|
||||||
|
|
||||||
|
opposite.forEach(function(skill) {
|
||||||
|
if(oppositeValue !== "") {
|
||||||
|
oppositeValue = oppositeValue + " " + game.i18n.localize("ROLL.OR") + " "
|
||||||
|
}
|
||||||
|
oppositeValue = oppositeValue + skill
|
||||||
|
})
|
||||||
|
|
||||||
let rollData = {
|
let rollData = {
|
||||||
name: computedName,
|
name: computedName,
|
||||||
res: res
|
res: roll,
|
||||||
|
opposite: oppositeValue
|
||||||
};
|
};
|
||||||
|
|
||||||
if(skillValue > 0) {
|
if(skillValue > 0) {
|
||||||
let oneRes = Math.floor((res.total / 1) % 10);
|
let oneRes = Math.floor((roll.total / 1) % 10);
|
||||||
let tenRes = Math.floor((res.total / 10) % 10);
|
let tenRes = Math.floor((roll.total / 10) % 10);
|
||||||
|
|
||||||
if(openclosed < 0) {
|
if(openclosed < 0) {
|
||||||
rollData.closed = Math.abs(openclosed)
|
rollData.closed = Math.abs(openclosed)
|
||||||
|
@ -129,7 +143,7 @@ export default class KHDiceRoller {
|
||||||
// roll is opened
|
// roll is opened
|
||||||
rollData.success = true
|
rollData.success = true
|
||||||
} else {
|
} else {
|
||||||
if (res.total <= skillValue) {
|
if (roll.total <= skillValue) {
|
||||||
rollData.success = true
|
rollData.success = true
|
||||||
} else {
|
} else {
|
||||||
rollData.failure = true
|
rollData.failure = true
|
||||||
|
@ -146,16 +160,16 @@ export default class KHDiceRoller {
|
||||||
await roll.toMessage({
|
await roll.toMessage({
|
||||||
create: true,
|
create: true,
|
||||||
content: html,
|
content: html,
|
||||||
user: game.user._id,
|
user: game.user.id,
|
||||||
speaker: {
|
speaker: {
|
||||||
actor: speaker._id,
|
actor: speaker.id,
|
||||||
token: speaker.token,
|
token: speaker.token,
|
||||||
alias: speaker.name,
|
alias: speaker.name,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
async rollSkillDialogInChat(skillName, skillValue, showValue, speaker, startopen) {
|
async rollSkillDialogInChat(skillName, skillValue, showValue, speaker, startopen, opposite) {
|
||||||
const id = randomID();
|
const id = randomID();
|
||||||
|
|
||||||
if(startopen === undefined) {
|
if(startopen === undefined) {
|
||||||
|
@ -180,6 +194,9 @@ export default class KHDiceRoller {
|
||||||
const container = document.getElementById(id);
|
const container = document.getElementById(id);
|
||||||
let openclosed = container.querySelector('[name="openclosed"]').value
|
let openclosed = container.querySelector('[name="openclosed"]').value
|
||||||
|
|
||||||
|
await this.rollSkillInChat(skillName, skillValue, showValue, speaker, openclosed, opposite)
|
||||||
|
|
||||||
|
/*
|
||||||
const roll = new Roll(`1d100`);
|
const roll = new Roll(`1d100`);
|
||||||
|
|
||||||
let res = roll.roll();
|
let res = roll.roll();
|
||||||
|
@ -239,6 +256,7 @@ export default class KHDiceRoller {
|
||||||
alias: speaker.name,
|
alias: speaker.name,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
*/
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
two: {
|
two: {
|
||||||
|
@ -251,4 +269,208 @@ export default class KHDiceRoller {
|
||||||
classes: ["dialog", "kopparhavet"],
|
classes: ["dialog", "kopparhavet"],
|
||||||
}).render(true);
|
}).render(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async rollSkillRitualInChat(ritualName, skills, showValue, speaker, openclosed) {
|
||||||
|
let rollData = {
|
||||||
|
name: ritualName,
|
||||||
|
res: []
|
||||||
|
};
|
||||||
|
|
||||||
|
if(openclosed === undefined) {
|
||||||
|
openclosed = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
if(openclosed < 0) {
|
||||||
|
rollData.closed = Math.abs(openclosed)
|
||||||
|
}
|
||||||
|
|
||||||
|
if(openclosed > 0) {
|
||||||
|
rollData.opened = Math.abs(openclosed)
|
||||||
|
}
|
||||||
|
|
||||||
|
let successes = 0
|
||||||
|
let totalrolls = 0
|
||||||
|
|
||||||
|
for (const skill of skills) {
|
||||||
|
totalrolls++
|
||||||
|
const roll = new Roll(`1d100`);
|
||||||
|
|
||||||
|
await roll.evaluate();
|
||||||
|
|
||||||
|
let skillName = skill.name
|
||||||
|
let success = false
|
||||||
|
let failure = false
|
||||||
|
|
||||||
|
if(showValue) {
|
||||||
|
skillName = skillName + " (" + skill.value + ")"
|
||||||
|
}
|
||||||
|
|
||||||
|
let rollData2 = {
|
||||||
|
name: skillName,
|
||||||
|
res: roll,
|
||||||
|
};
|
||||||
|
|
||||||
|
if(openclosed < 0) {
|
||||||
|
rollData2.closed = Math.abs(openclosed)
|
||||||
|
}
|
||||||
|
|
||||||
|
if(openclosed > 0) {
|
||||||
|
rollData2.opened = Math.abs(openclosed)
|
||||||
|
}
|
||||||
|
|
||||||
|
if(skill.value > 0) {
|
||||||
|
let oneRes = Math.floor((roll.total / 1) % 10);
|
||||||
|
//let tenRes = Math.floor((res.total / 10) % 10);
|
||||||
|
|
||||||
|
if(openclosed < 0 && oneRes !== 0 && Math.abs(openclosed) >= oneRes) {
|
||||||
|
// roll is closed
|
||||||
|
failure = true
|
||||||
|
} else if(openclosed > 0 && oneRes !== 0 && Math.abs(openclosed) >= oneRes){
|
||||||
|
// roll is opened
|
||||||
|
success = true
|
||||||
|
successes++
|
||||||
|
} else {
|
||||||
|
if (roll.total <= skill.value) {
|
||||||
|
success = true
|
||||||
|
successes++
|
||||||
|
} else {
|
||||||
|
failure = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
rollData.res.push({
|
||||||
|
name: skillName,
|
||||||
|
failure: failure,
|
||||||
|
success: success,
|
||||||
|
result: roll,
|
||||||
|
})
|
||||||
|
|
||||||
|
rollData2.success = success
|
||||||
|
rollData2.failure = failure
|
||||||
|
|
||||||
|
const html = await renderTemplate("systems/kopparhavet/templates/dice/roll.html", rollData2);
|
||||||
|
|
||||||
|
await roll.toMessage({
|
||||||
|
create: true,
|
||||||
|
content: html,
|
||||||
|
user: game.user.id,
|
||||||
|
speaker: {
|
||||||
|
actor: speaker.id,
|
||||||
|
token: speaker.token,
|
||||||
|
alias: speaker.name,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (totalrolls) {
|
||||||
|
case 0:
|
||||||
|
case 1:
|
||||||
|
case 2:
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
if(successes === 0) {
|
||||||
|
rollData.result = "0"
|
||||||
|
} else if(successes === 1) {
|
||||||
|
rollData.result = "2"
|
||||||
|
} else if(successes === 2) {
|
||||||
|
rollData.result = "3"
|
||||||
|
} else if(successes === 3) {
|
||||||
|
rollData.result = "4"
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
if(successes === 0) {
|
||||||
|
rollData.result = "0"
|
||||||
|
} else if(successes === 1) {
|
||||||
|
rollData.result = "1"
|
||||||
|
} else if(successes === 2) {
|
||||||
|
rollData.result = "2"
|
||||||
|
} else if(successes === 3) {
|
||||||
|
rollData.result = "3"
|
||||||
|
} else if(successes === 4) {
|
||||||
|
rollData.result = "4"
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
if(successes === 0) {
|
||||||
|
rollData.result = "0"
|
||||||
|
} else if(successes === 1) {
|
||||||
|
rollData.result = "1"
|
||||||
|
} else if(successes === 2) {
|
||||||
|
rollData.result = "1"
|
||||||
|
} else if(successes === 3) {
|
||||||
|
rollData.result = "2"
|
||||||
|
} else if(successes === 4) {
|
||||||
|
rollData.result = "3"
|
||||||
|
} else if(successes === 5) {
|
||||||
|
rollData.result = "4"
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
const html = await renderTemplate("systems/kopparhavet/templates/dice/ritual-roll.html", rollData);
|
||||||
|
|
||||||
|
/*
|
||||||
|
await roll.toMessage({
|
||||||
|
create: true,
|
||||||
|
content: html,
|
||||||
|
user: game.user._id,
|
||||||
|
speaker: {
|
||||||
|
actor: speaker._id,
|
||||||
|
token: speaker.token,
|
||||||
|
alias: speaker.name,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
*/
|
||||||
|
|
||||||
|
await ChatMessage.create({
|
||||||
|
create: true,
|
||||||
|
content: html,
|
||||||
|
user: game.user.id,
|
||||||
|
speaker: {
|
||||||
|
actor: speaker.id,
|
||||||
|
token: speaker.token,
|
||||||
|
alias: speaker.name,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
async rollSkillChallangeDialogInChat(name, skills, showValue, speaker, startopen) {
|
||||||
|
const id = randomID();
|
||||||
|
|
||||||
|
if(startopen === undefined) {
|
||||||
|
startopen = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
const content = await renderTemplate("systems/kopparhavet/templates/roll-dialog.html", {
|
||||||
|
id,
|
||||||
|
startopen,
|
||||||
|
name,
|
||||||
|
});
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
await this.rollSkillRitualInChat(name, skills, showValue, speaker, openclosed)
|
||||||
|
},
|
||||||
|
},
|
||||||
|
two: {
|
||||||
|
icon: '<i class="fas fa-times"></i>',
|
||||||
|
label: game.i18n.localize("BUTTON.CANCEL"),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
classes: ["dialog", "kopparhavet"],
|
||||||
|
}).render(true);
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -17,8 +17,8 @@ export default class ItemHelpers {
|
||||||
}, {});
|
}, {});
|
||||||
|
|
||||||
// Remove modifications which are no longer used
|
// Remove modifications which are no longer used
|
||||||
if (this.object.data?.data?.modifications) {
|
if (this.object.data?.modifications) {
|
||||||
for (let k of Object.keys(this.object.data.data.modifications)) {
|
for (let k of Object.keys(this.object.data.modifications)) {
|
||||||
if (!modifications.hasOwnProperty(k)) modifications[`-=${k}`] = null;
|
if (!modifications.hasOwnProperty(k)) modifications[`-=${k}`] = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,7 +28,7 @@ export class ItemSheetKH extends ItemSheet {
|
||||||
data.dtypes = ["String", "Number", "Boolean"];
|
data.dtypes = ["String", "Number", "Boolean"];
|
||||||
|
|
||||||
if (data?.data?.modifications) {
|
if (data?.data?.modifications) {
|
||||||
for (let attr of Object.values(data.data.modifications)) {
|
for (let attr of Object.values(data.modifications)) {
|
||||||
attr.isCheckbox = attr.dtype === "Boolean";
|
attr.isCheckbox = attr.dtype === "Boolean";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -39,23 +39,32 @@ export class ItemSheetKH extends ItemSheet {
|
||||||
let skillList2
|
let skillList2
|
||||||
|
|
||||||
if(game.settings.get("kopparhavet", "gameSystem") === "hjaltarnas-tid") {
|
if(game.settings.get("kopparhavet", "gameSystem") === "hjaltarnas-tid") {
|
||||||
skillList2 = await game.packs.get("kopparhavet.skills-ht").getContent();
|
skillList2 = await game.packs.get("kopparhavet.skills-ht").getDocuments();
|
||||||
} else {
|
} else {
|
||||||
skillList2 = await game.packs.get("kopparhavet.skills").getContent();
|
skillList2 = await game.packs.get("kopparhavet.skills").getDocuments();
|
||||||
}
|
}
|
||||||
|
|
||||||
for (let item of skillList2) {
|
for (let item of skillList2) {
|
||||||
if(item.data.type === "skill" && item.data.data.type.value === "combat") {
|
if(item.data.type === "skill" && item.data.data.type.value === "combat") {
|
||||||
skillList.push(item)
|
skillList.push(item.data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Retrieve any created skills as well
|
// Retrieve any created skills as well
|
||||||
for (let item of game.items.entities) {
|
game.items.forEach((item) => {
|
||||||
if(item.data.type === "skill" && item.data.data.type.value === "combat") {
|
if(item.data.type === "skill" && item.data.data.type.value === "combat") {
|
||||||
skillList.push(item)
|
skillList.push(item.data)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
/*
|
||||||
|
for (let item of game.items.entities) {
|
||||||
|
if(item.data.type === "skill" && item.data.type.value === "combat") {
|
||||||
|
skillList.push(item.data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
this.position.width = 530;
|
this.position.width = 530;
|
||||||
this.position.height = 750;
|
this.position.height = 750;
|
||||||
break;
|
break;
|
||||||
|
@ -77,23 +86,33 @@ export class ItemSheetKH extends ItemSheet {
|
||||||
let skillList3
|
let skillList3
|
||||||
|
|
||||||
if(game.settings.get("kopparhavet", "gameSystem") === "hjaltarnas-tid") {
|
if(game.settings.get("kopparhavet", "gameSystem") === "hjaltarnas-tid") {
|
||||||
skillList3 = await game.packs.get("kopparhavet.skills-ht").getContent();
|
skillList3 = await game.packs.get("kopparhavet.skills-ht").getDocuments();
|
||||||
} else {
|
} else {
|
||||||
skillList3 = await game.packs.get("kopparhavet.skills").getContent();
|
skillList3 = await game.packs.get("kopparhavet.skills").getDocuments();
|
||||||
}
|
}
|
||||||
|
|
||||||
for (let item of skillList3) {
|
for (let item of skillList3) {
|
||||||
if(item.data.type === "skill") {
|
if(item.data.type === "skill") {
|
||||||
skillList.push(item)
|
skillList.push(item.data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Retrieve any created skills as well
|
||||||
|
game.items.forEach((item) => {
|
||||||
|
if(item.data.type === "skill") {
|
||||||
|
skillList.push(item.data)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
/*
|
||||||
// Retrieve any created skills as well
|
// Retrieve any created skills as well
|
||||||
for (let item of game.items.entities) {
|
for (let item of game.items.entities) {
|
||||||
if(item.data.type === "skill") {
|
if(item.data.type === "skill") {
|
||||||
skillList.push(item)
|
skillList.push(item.data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
this.position.width = 450;
|
this.position.width = 450;
|
||||||
this.position.height = 605;
|
this.position.height = 605;
|
||||||
break;
|
break;
|
||||||
|
@ -102,23 +121,32 @@ export class ItemSheetKH extends ItemSheet {
|
||||||
let skillList4
|
let skillList4
|
||||||
|
|
||||||
if(game.settings.get("kopparhavet", "gameSystem") === "hjaltarnas-tid") {
|
if(game.settings.get("kopparhavet", "gameSystem") === "hjaltarnas-tid") {
|
||||||
skillList4 = await game.packs.get("kopparhavet.skills-ht").getContent();
|
skillList4 = await game.packs.get("kopparhavet.skills-ht").getDocuments();
|
||||||
} else {
|
} else {
|
||||||
skillList4 = await game.packs.get("kopparhavet.skills").getContent();
|
skillList4 = await game.packs.get("kopparhavet.skills").getDocuments();
|
||||||
}
|
}
|
||||||
|
|
||||||
for (let item of skillList4) {
|
for (let item of skillList4) {
|
||||||
if(item.data.type === "skill" && item.data.data.type.value === "combat") {
|
if(item.data.type === "skill" && item.data.data.type.value === "combat") {
|
||||||
skillList.push(item)
|
skillList.push(item.data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Retrieve any created skills as well
|
||||||
|
game.items.forEach((item) => {
|
||||||
|
if(item.data.type === "skill" && item.data.data.type.value === "combat") {
|
||||||
|
skillList.push(item.data)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
/*
|
||||||
// Retrieve any created skills as well
|
// Retrieve any created skills as well
|
||||||
for (let item of game.items.entities) {
|
for (let item of game.items.entities) {
|
||||||
if(item.data.type === "skill" && item.data.data.type.value === "combat") {
|
if(item.data.type === "skill" && item.data.data.type.value === "combat") {
|
||||||
skillList.push(item)
|
skillList.push(item.data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
this.position.width = 530;
|
this.position.width = 530;
|
||||||
this.position.height = 750;
|
this.position.height = 750;
|
||||||
break;
|
break;
|
||||||
|
@ -146,11 +174,11 @@ export class ItemSheetKH extends ItemSheet {
|
||||||
const clickedName = $(ev.currentTarget).data("name");
|
const clickedName = $(ev.currentTarget).data("name");
|
||||||
|
|
||||||
if(clickedName === "equipped") {
|
if(clickedName === "equipped") {
|
||||||
const equppiedValue = this.item.data.data.equipable.equipped;
|
const equppiedValue = this.item.data.equipable.equipped;
|
||||||
|
|
||||||
this.item.update({ "data.equipped.equipped": !equppiedValue });
|
this.item.update({ "data.equipped.equipped": !equppiedValue });
|
||||||
} else {
|
} else {
|
||||||
const clickedValue = (this.item.data.data[clickedName].value == undefined ? false : this.item.data.data[clickedName].value);
|
const clickedValue = (this.item.data[clickedName].value == undefined ? false : this.item.data[clickedName].value);
|
||||||
let dataName = "data." + clickedName + ".value"
|
let dataName = "data." + clickedName + ".value"
|
||||||
let tempData = {}
|
let tempData = {}
|
||||||
|
|
||||||
|
@ -174,7 +202,7 @@ export class ItemSheetKH extends ItemSheet {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
const a = event.currentTarget;
|
const a = event.currentTarget;
|
||||||
const action = a.dataset.action;
|
const action = a.dataset.action;
|
||||||
const attrs = this.object.data.data.modifications;
|
const attrs = this.object.data.modifications;
|
||||||
const form = this.form;
|
const form = this.form;
|
||||||
|
|
||||||
// Add new modification
|
// Add new modification
|
||||||
|
|
|
@ -27,7 +27,7 @@ export class ItemKH extends Item {
|
||||||
const html = await renderTemplate("systems/kopparhavet/templates/chat/item-card.html", itemData);
|
const html = await renderTemplate("systems/kopparhavet/templates/chat/item-card.html", itemData);
|
||||||
|
|
||||||
const chatData = {
|
const chatData = {
|
||||||
user: game.user._id,
|
user: game.user.id,
|
||||||
rollMode: game.settings.get("core", "rollMode"),
|
rollMode: game.settings.get("core", "rollMode"),
|
||||||
content: html,
|
content: html,
|
||||||
};
|
};
|
||||||
|
|
|
@ -57,7 +57,7 @@ class KHDice {
|
||||||
const html2 = await renderTemplate("systems/kopparhavet/templates/dice/roll.html", rollData);
|
const html2 = await renderTemplate("systems/kopparhavet/templates/dice/roll.html", rollData);
|
||||||
|
|
||||||
await r.toMessage({
|
await r.toMessage({
|
||||||
user: game.user._id,
|
user: game.user.id,
|
||||||
create: true,
|
create: true,
|
||||||
content: html2
|
content: html2
|
||||||
});
|
});
|
||||||
|
|
|
@ -10,10 +10,10 @@ export default class KHHooks {
|
||||||
actor.update({ "data.currency.shekel.label": "CURRENCY.SILVER" });
|
actor.update({ "data.currency.shekel.label": "CURRENCY.SILVER" });
|
||||||
|
|
||||||
actorbaseSkills = CONFIG.KH.baseSkillsHT
|
actorbaseSkills = CONFIG.KH.baseSkillsHT
|
||||||
skillIndex = await game.packs.get("kopparhavet.skills-ht").getContent();
|
skillIndex = await game.packs.get("kopparhavet.skills-ht").getDocuments();
|
||||||
} else {
|
} else {
|
||||||
actorbaseSkills = CONFIG.KH.baseSkills;
|
actorbaseSkills = CONFIG.KH.baseSkills;
|
||||||
skillIndex = await game.packs.get("kopparhavet.skills").getContent();
|
skillIndex = await game.packs.get("kopparhavet.skills").getDocuments();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if skill already exists by some chance
|
// Check if skill already exists by some chance
|
||||||
|
@ -23,7 +23,15 @@ export default class KHHooks {
|
||||||
// Filter skillIndex array to include only skills for Actor Type.
|
// Filter skillIndex array to include only skills for Actor Type.
|
||||||
let _skillsList = skillIndex.filter((i) => skillsToAdd.includes(i.data.name));
|
let _skillsList = skillIndex.filter((i) => skillsToAdd.includes(i.data.name));
|
||||||
|
|
||||||
await actor.createEmbeddedEntity("OwnedItem", _skillsList);
|
let _sl = [];
|
||||||
|
_skillsList.forEach((s) => {
|
||||||
|
//s.data._source.data["creatureType"] = actor.data.type;
|
||||||
|
//s.data._source.data["coreSkill"] = true;
|
||||||
|
_sl.push(s.data);
|
||||||
|
});
|
||||||
|
|
||||||
|
await actor.createEmbeddedDocuments("Item", _sl);
|
||||||
|
//await actor.createEmbeddedDocuments("Item", [_skillsList.toObject()]);
|
||||||
} else {
|
} else {
|
||||||
setTimeout(async function () {
|
setTimeout(async function () {
|
||||||
await actor.sheet.render(true);
|
await actor.sheet.render(true);
|
||||||
|
|
|
@ -9,8 +9,8 @@ import * as migrations from "./helpers/migration-helper.js";
|
||||||
Hooks.once("init", () => {
|
Hooks.once("init", () => {
|
||||||
CONFIG.Combat.initiative = { formula: "(@combat.init)d6kh2", decimals: 0 };
|
CONFIG.Combat.initiative = { formula: "(@combat.init)d6kh2", decimals: 0 };
|
||||||
|
|
||||||
CONFIG.Actor.entityClass = ActorKH;
|
CONFIG.Actor.documentClass = ActorKH;
|
||||||
CONFIG.Item.entityClass = ItemKH;
|
CONFIG.Item.documentClass = ItemKH;
|
||||||
|
|
||||||
// Give global access to FFG config.
|
// Give global access to FFG config.
|
||||||
CONFIG.KH = KH;
|
CONFIG.KH = KH;
|
||||||
|
@ -204,6 +204,40 @@ function registerHandlebarsHelpers() {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Allows {if X = Y} type syntax in html using handlebars
|
||||||
|
Handlebars.registerHelper("iff", function (a, operator, b, opts) {
|
||||||
|
var bool = false;
|
||||||
|
switch (operator) {
|
||||||
|
case "==":
|
||||||
|
bool = a == b;
|
||||||
|
break;
|
||||||
|
case ">":
|
||||||
|
bool = a > b;
|
||||||
|
break;
|
||||||
|
case "<":
|
||||||
|
bool = a < b;
|
||||||
|
break;
|
||||||
|
case "!=":
|
||||||
|
bool = a != b;
|
||||||
|
break;
|
||||||
|
case "contains":
|
||||||
|
if (a && b) {
|
||||||
|
bool = a.includes(b);
|
||||||
|
} else {
|
||||||
|
bool = false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw "Unknown operator " + operator;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (bool) {
|
||||||
|
return opts.fn(this);
|
||||||
|
} else {
|
||||||
|
return opts.inverse(this);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
Handlebars.registerHelper('plaintextToHTML', function(value) {
|
Handlebars.registerHelper('plaintextToHTML', function(value) {
|
||||||
// strip tags, add <br/> tags
|
// strip tags, add <br/> tags
|
||||||
return new Handlebars.SafeString(value.replace(/(<([^>]+)>)/gi, "").replace(/(?:\r\n|\r|\n)/g, '<br/>'));
|
return new Handlebars.SafeString(value.replace(/(<([^>]+)>)/gi, "").replace(/(?:\r\n|\r|\n)/g, '<br/>'));
|
||||||
|
|
|
@ -1,80 +1,80 @@
|
||||||
{"name":"Sårbarhetssejd","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du förhäxar ett synligt mål högst två zoner bort.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"hard","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"0vbwxrEL8Q6Vd2IC"}
|
{"name":"Fördriva elementvarelse","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du fördriver en eldfågel, intighetsklot, stenträl, stormdrake eller vattenväktare i samma zon.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"Wyrd","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"4T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"hard","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"0WauBuWnuags8CCH"}
|
||||||
{"name":"Fördriva elementvarelse","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du fördriver en eldfågel, intighetsklot, stenträl, stormdrake eller vattenväktare i samma zon.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"4T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"hard","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"17yN07nhOg9XZw8c"}
|
{"name":"Åkalla blodets och stridens ande","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du åkallar ett illasinnat andeväsen.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"4T6 och 1T6 Hälsa","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"3duR1TKM6nFBSfHy"}
|
||||||
{"name":"Osynlighetsslöja","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Rör vid en mantel, kappa, rock eller annat heltäckande plagg.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"2Jo5V4iQQC0kYoFK"}
|
{"name":"Eldvägg","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kallar upp en vägg som spärrar av din zon från en annan eller delar din zon i två.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"42Re03XheCQLRthl"}
|
||||||
{"name":"Sprängsejd","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du förhäxar ett mål upp till en zon bort med kokande blod.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"1T6 + 1T6 per runda","type":"String","label":"SPELL.COST"},"difficulty":{"value":"hard","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"3HFtacWHOkGPVTzP"}
|
{"name":"Häxbarriär","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du formar wyrdväven till en skyddande vägg mellan dig och en annan zon som en försvarshandling eller vanlig handling.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"42c7TrgtfyjdDwIf"}
|
||||||
{"name":"Blixthand","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>En ljusbåge slår ut från dina händer eller från änden på en stav, och slår ner i en närliggande zon.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"hard","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"3VJgB51QcIgMm4pN"}
|
{"name":"Hjältestyrka","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Din beröring ger kraft och styrka åt en person som du nuddar vid så att hon kan utföra fantastiska styrkeprov, till exempel att slå ner dörrar eller kasta upp personer till ett fönster.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"49n1O14m1o0lN5FO"}
|
||||||
{"name":"Kontrollera elementvarelse","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du stjäl en annan magikers eldfågel, intighetsklot, stenträl, stormdrake eller vattenväktare i samma zon.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"4T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"daunting","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"3W5Jl1oVZnlgNL9G"}
|
{"name":"Dimma","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du sveper in grannskapet i en grå kall dimma.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"5MJJ7mRz6Ynp5FHp"}
|
||||||
{"name":"Skenbild","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du skapar en skenbild av något som du någon gång har sett.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"5gbvZbXlgV1ziVKQ"}
|
{"name":"Häxstöt","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du skickar en tryckvåg av kraft mot en valfri punkt som du kan se upp till tre zoner bort.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"Styrkeprov","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"5uFOSRVGEZa0A2ah"}
|
||||||
{"name":"Ingjuta livskraft","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du förstärker en varelses livskraft och gör att alla hans skador, både de han har och de han orsakas, läker dubbelt så snabbt.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"6o71rHqaRwIedi0E"}
|
{"name":"Sprängsejd","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du förhäxar ett mål upp till en zon bort med kokande blod.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"Uthållighet","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"1T6 + 1T6 per runda","type":"String","label":"SPELL.COST"},"difficulty":{"value":"hard","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"7DMZXoFiSPh0v0UX"}
|
||||||
{"name":"Vandrande blick","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du sluter ögonen och låter din blick vandra fritt från den plats du befinner dig och upp till två zoner bort.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"9BRN6neI8H3uGKFf"}
|
{"name":"Dubbelgångare","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kan skapa en illusion som är en exakt kopia av dig själv och uppträder ungefär som du gör.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"7pJ540Wyoj6vwcU9"}
|
||||||
{"name":"Åkalla blodets och stridens ande","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du åkallar ett illasinnat andeväsen.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"4T6 och 1T6 Hälsa","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"9L8kWmStnkL73nKF"}
|
{"name":"Isklinga","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kan sticka ner din hand i en vattensamling och ur den dra upp ett vapen av is.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"8tPkB84rE2JYMyhj"}
|
||||||
{"name":"Stenskrud","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Din hud blir hård som sten och skyddar mot skada.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"9pQ2PQ3RnbuxgE8Q"}
|
{"name":"Skydd mot is och eld","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du skapar en virvlande bubbla runt omkring dig som skyddar dig mot köld och hetta.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"AoejefPiTBrTmCv0"}
|
||||||
{"name":"Djurlänk","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kan skapa en permanent länk till ett djur som är välvilligt inställt till dig.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"4T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"9psa8UX3TuakfOgj"}
|
{"name":"Skugga","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du sveper in en zon i mörker och skugga.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"B4i56WvZBKN3rCmN"}
|
||||||
{"name":"Trollsteg","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du klipper wyrdtrådarna som binder dig till en plats, och fäster dem vid en annan plats i grannskapet.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"A4Gk0KmeBXeLRLsV"}
|
{"name":"Söva minne","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du lägger dina händer på målets huvud och dämpar ett minne i målets sinne.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"Viljestyrka","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"CU5kTdb2U7WOdM4i"}
|
||||||
{"name":"Skuggvandring","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du öppnar ett hål till Andra sidan och faller dit, trots att du inte har tillräckligt hög Skuld.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"Adm3KOH3SixgyFV0"}
|
{"name":"Vintergrepp","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Välj en zon upp till två zoner bort.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"Uthållighet","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"4T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"Ec2bhExzCsZEHYAY"}
|
||||||
{"name":"Avståndshugg","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du förtrollar ett närstridsvapen som du håller i handen, eller dina händer och fötter.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"C762fQfH2BvmJBD9"}
|
{"name":"Fjärrsyn","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Välj en zon i grannskapet som du har varit i.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"EgIxekm0wEjhuTFm"}
|
||||||
{"name":"Fornsyn","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du håller i ett föremål och upplever vad det har varit med om.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"CHgH76Nmu4iPdxGV"}
|
{"name":"Törnevägg","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du reser en vägg av törnen ur marken.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"ErdPlDiV13Wb2Rx0"}
|
||||||
{"name":"Silvertunga","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>En trollkarls röst kan vara förhäxande.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"CN769WMfBlMyso3l"}
|
{"name":"Vandrande blick","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du sluter ögonen och låter din blick vandra fritt från den plats du befinner dig och upp till två zoner bort.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"GOQUMWQjuijKIyeU"}
|
||||||
{"name":"Frammana vattenväktare","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Ur vattnet kallar du fram en virvlande pelare av vatten.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"CYwszyqEUoxhXIUC"}
|
{"name":"Häxblixt","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>En stråle av häxljus slår ut från din hand eller ditt fokus.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"attackroll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"Go3IJrc7E06g01F4"}
|
||||||
{"name":"Fasa","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du samlar skuggor omkring dig och förvrider ljuset så att du verkar större och farligare än du är.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"DCQijV6OzwVLQWHv"}
|
{"name":"Frammana stormdrake","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kallar samman vindar och moln ur luften till en drakliknande skepnad av dimma och blixtar.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"Grm7sG7kdzGzkye6"}
|
||||||
{"name":"Tystnad","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kan fördriva alla ljud från den zonen där du befinner dig eller en angränsande zon, i den förhäxade zonen hörs inga ljud över huvud taget.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"Dy8Eh19jNHrZqWxm"}
|
{"name":"Fjäderfall","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kallar fram en plötsligt uppvind som dämpar fall.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"GtGc8sp6KxR2G8UH"}
|
||||||
{"name":"Häxstöt","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du skickar en tryckvåg av kraft mot en valfri punkt som du kan se upp till tre zoner bort.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"FlDXRhtkUBTlBOAL"}
|
{"name":"Frammana eldfågel","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Från en öppen låga kallar du fram en fågel av eld.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"INvYOe3dZwvbvBkl"}
|
||||||
{"name":"Frammana eldfågel","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Från en öppen låga kallar du fram en fågel av eld.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"FpILG5rlkkdPJlJ7"}
|
{"name":"Sårbarhetssejd","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du förhäxar ett synligt mål högst två zoner bort.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"Viljestyrka","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"hard","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"IOPJ8dmRnO7PN9gY"}
|
||||||
{"name":"Mörkersyn","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kan genom din beröring ge någon förmågan att se i mörker lika väl som en katt under en scen.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"FplzwY0oSaumJSpc"}
|
{"name":"Stridssejd","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du förtrollar ett vapen så att det nästan är som att det anfaller själv mot sina mål.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"KDEUdgcfFfeAzxtz"}
|
||||||
{"name":"Frammana stenträl","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kallar upp lösa stenar stenar ur marken som samlar sig och staplar sig på varandra till en människoliknande form.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"Frb2EfY8LTFTLcR3"}
|
{"name":"Fornsyn","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du håller i ett föremål och upplever vad det har varit med om.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"KGdRgD7P0chJiQXi"}
|
||||||
{"name":"Dra gift","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du drar med din magi ut gift ur kroppen så att det blir svagare.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"GsHmeqOCo1BTYSjX"}
|
{"name":"Kontrollera djur","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du tar kontrollen över ett djur inom din zon eller en närliggande zon.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6 + 1T6 per extra djur","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"MUpNWhMSa4Qtpti4"}
|
||||||
{"name":"Törnevägg","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du reser en vägg av törnen ur marken.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"Hrkk0TlOxGKTZsJa"}
|
{"name":"Häxljus","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du frammanar ett fladdrande häxljus som följer med dig upp till en timme och som lyser upp i mörkret.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"ON4NrGanB0iVRNyZ"}
|
||||||
{"name":"Häxsköld","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du använder din häxkraft för att skydda dig mot andras besvärjelser.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"I1QLxx0Q4FYIXxn5"}
|
{"name":"Slå blind","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du förhäxar ögonen hos ett mål i samma zon.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"Uthållighet","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"PA6VkitfNE02envJ"}
|
||||||
{"name":"Hamnskiftare","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>När du väver besvärjelsen byter du omedelbart hamn till antingen ett valfritt medelstort fyrfota djur som varg, räv eller hund; eller till en valfri normalstor fågel, exempelvis korp, uggla eller örn.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"4T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"KZPKbjxsKBDwXo7i"}
|
{"name":"Stenskrud","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Din hud blir hård som sten och skyddar mot skada.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"PJzFgSXZZadfKU07"}
|
||||||
{"name":"Ansiktsförändring","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kan förändra ditt utseende så att du ser ut som en helt annan person, men kan inte avvika från det som är naturligt förekommande inom ditt folkslag.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"KubWMbkLDdXhLpnw"}
|
{"name":"Dra gift","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du drar med din magi ut gift ur kroppen så att det blir svagare.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"PLSEZASdWrNC0Kiu"}
|
||||||
{"name":"Skyddscirkel","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du ritar en skyddscirkel kring en zon.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"4T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"LUWWJcjbusRcOPDU"}
|
{"name":"Vapenbane","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du snärjer ett vapen i wyrd så att det blir trögare och svårare att använda.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"PN4q48VAA62TIQ4G"}
|
||||||
{"name":"Luftbro","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kan skapa en bro av förtätad luft som är så gott som osynlig men stark nog att bära en grupp ryttare.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"LZa5IV1HQy6t8YUI"}
|
{"name":"Tystnad","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kan fördriva alla ljud från den zonen där du befinner dig eller en angränsande zon, i den förhäxade zonen hörs inga ljud över huvud taget.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"PQcbEd6X9K5XZA7O"}
|
||||||
{"name":"Hjältestyrka","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Din beröring ger kraft och styrka åt en person som du nuddar vid så att hon kan utföra fantastiska styrkeprov, till exempel att slå ner dörrar eller kasta upp personer till ett fönster.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"MseXlik3Rfp3Jq1R"}
|
{"name":"Avståndshugg","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du förtrollar ett närstridsvapen som du håller i handen, eller dina händer och fötter.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"PVtcV3eALUveMEuR"}
|
||||||
{"name":"Dimma","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du sveper in grannskapet i en grå kall dimma.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"NgGWiK2qACtJ8lPj"}
|
{"name":"Frammana intighetsklot","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du frammanar ett klot av intighet ur skuggorna.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"WXkddTWzqHpaLDV5"}
|
||||||
{"name":"Häxbarriär","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du formar wyrdväven till en skyddande vägg mellan dig och en annan zon som en försvarshandling eller vanlig handling.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"OKhnWpG7IzFk2jjK"}
|
{"name":"Slöjspegel","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du öppnar ett fönster genom slöjan till Andra sidan med hjälp av en spegel eller kristall.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"WnrSCv9qSiR8UVtQ"}
|
||||||
{"name":"Förnimmelse","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du väver en besvärjelse som hjälper dig att hitta något du vill finna.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"ORb2zsMikIxCuP1W"}
|
{"name":"Stjäla livskraft","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du stjäl livskraft från en person i samma zon.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"Uthållighet","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"hard","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"XXD5JkmDfLJ9C6Ld"}
|
||||||
{"name":"Binda elementvarelse","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du binder en eldfågel, intighetsklot, stenträl, stormdrake eller vattenväktare som du kontrollerar och är i samma zon som du själv.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"hard","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"Ol5JWt1UvHZAFp2r"}
|
{"name":"Låna ett djurs sinne","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du lånar ett djurs sinne så att du uppfattar det som djuret uppfattar.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"XlCwMK7WeTWeYdtk"}
|
||||||
{"name":"Klor","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kan genom din beröring få någons naglar, även dina egna, att omformas till kraftiga klor.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"QNOtq57478we6u3b"}
|
{"name":"Mörkersyn","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kan genom din beröring ge någon förmågan att se i mörker lika väl som en katt under en scen.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"Viljestyrka","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"YZKgZaQYp7OVBdSB"}
|
||||||
{"name":"Vindstämma","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du flyttar din röst till en annan plats upp till två zoner bort.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"TY08rPL2I4OvZ7oz"}
|
{"name":"Häxlås","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du väver en förslutning på en dörr, en fönsterlucka, en ask, ett brunnslock, en svärdsskida eller något annat som går att stänga.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"Ydrs3Vjz7zfZSywS"}
|
||||||
{"name":"Fjärrsyn","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Välj en zon i grannskapet som du har varit i.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"U1PfIdXuvoWrljGr"}
|
{"name":"Växtsejd","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du besvärjer målet och får det att växa sig större och starkare.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"Styrkeprov","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"4T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"YkqsxYP3HmaMapi8"}
|
||||||
{"name":"Vattenandning","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kan genom din beröring ge någon förmågan att andas under vattnet.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"UuIwtIRQNK2yLEbq"}
|
{"name":"Häxflamma","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>En eldstråle skjuter ut från dina händer eller din stav, med vilken du kan anfalla mål i samma zon som dig.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"attackroll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"Ys5Lh0VHYHBwSsVB"}
|
||||||
{"name":"Stjäla livskraft","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du stjäl livskraft från en person i samma zon.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"hard","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"VugrHbqy8nWV2AcK"}
|
{"name":"Förvränga tid","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du väver en bubbla runt om ett mål som förvrider tiden så att tiden går fortare eller långsammare för denne.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"Wyrd","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"aQJMXW1a6Ylm06pV"}
|
||||||
{"name":"Frammana intighetsklot","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du frammanar ett klot av intighet ur skuggorna.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"WQ1PqbiKPISnBQx9"}
|
{"name":"Skyddsruna","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du ritar en skyddsruna på ett föremål eller en person.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"b7fDC8N6t9cH3Vko"}
|
||||||
{"name":"Söva minne","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du lägger dina händer på målets huvud och dämpar ett minne i målets sinne.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"Y1VzQHOkGOBxyBwn"}
|
{"name":"Kontrollera elementvarelse","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du stjäl en annan magikers eldfågel, intighetsklot, stenträl, stormdrake eller vattenväktare i samma zon.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"Wyrd","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"4T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"daunting","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"bikGBK8hvXfz3wtA"}
|
||||||
{"name":"Dubbelgångare","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kan skapa en illusion som är en exakt kopia av dig själv och uppträder ungefär som du gör.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"Y9obcMVQuQ9gPT9b"}
|
{"name":"Tillkalla djur","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kan kalla till dig ett djur som efter bästa förmåga omedelbart tar sig till den zon där du befinner dig.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"coNhJZkEtktlaqzn"}
|
||||||
{"name":"Läkesejd","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Din beröring får sår att sluta sig och ben att läka.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"YQpw4z540tEhIjU2"}
|
{"name":"Ansiktsförändring","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kan förändra ditt utseende så att du ser ut som en helt annan person, men kan inte avvika från det som är naturligt förekommande inom ditt folkslag.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"dFLr3MLkXdoFP2id"}
|
||||||
{"name":"Vapenbane","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du snärjer ett vapen i wyrd så att det blir trögare och svårare att använda.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"YbkMQm6KhjWEvlKF"}
|
{"name":"Ljusblixt","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kan skapa en stark ljusblixt som bländar en person i samma zon.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"Manövrer","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"hard","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"djBJTsGEI3CnPQuB"}
|
||||||
{"name":"Isklinga","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kan sticka ner din hand i en vattensamling och ur den dra upp ett vapen av is.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"aXHxu9bRQhGDoSn9"}
|
{"name":"Häxsköld","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du använder din häxkraft för att skydda dig mot andras besvärjelser.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"f5C29nSf6q2uJcG5"}
|
||||||
{"name":"Stridssejd","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du förtrollar ett vapen så att det nästan är som att det anfaller själv mot sina mål.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"aezkEHBzhrjO2Vfc"}
|
{"name":"Frammana vattenväktare","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Ur vattnet kallar du fram en virvlande pelare av vatten.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"fTW6pDuaMX0luL5B"}
|
||||||
{"name":"Smedshänder","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kan hålla eller röra vid brinnande föremål och kokheta föremål med dina händer utan att du tar någon skada.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"ah03WVKjELDuJNLW"}
|
{"name":"Den rämnande kölden","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du ingjuter vinterns bitande köld in i sprickor och håligheter i luckor, portar, murar, mindre stenväggar eller klippblock som inte är magiska eller levande.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"Speciell","type":"String","label":"SPELL.COST"},"difficulty":{"value":"hard","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"fsHr8HdXgGW3guZ6"}
|
||||||
{"name":"Låna ett djurs sinne","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du lånar ett djurs sinne så att du uppfattar det som djuret uppfattar.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"bXO606NywgPcHIv3"}
|
{"name":"Smedshänder","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kan hålla eller röra vid brinnande föremål och kokheta föremål med dina händer utan att du tar någon skada.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"gi371R1kA9jkBbEO"}
|
||||||
{"name":"Ljusblixt","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kan skapa en stark ljusblixt som bländar en person i samma zon.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"hard","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"cfWvtWAUkks0VEoU"}
|
{"name":"Svaghetssejd","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du förhäxar en synlig motståndare upp till två zoner bort.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"Viljestyrka","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"h56QrNVQtbcwyaj2"}
|
||||||
{"name":"Den skälvande marken","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du får marken kring dina fötter att skälva som om det vore jordbävning.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"fSsG5vZ7jbZ4SsH6"}
|
{"name":"Luftbro","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kan skapa en bro av förtätad luft som är så gott som osynlig men stark nog att bära en grupp ryttare.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"hvQ5KpkLb1JHWtAz"}
|
||||||
{"name":"Bedövningssejd","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du förhäxar ett synligt mål högst två zoner bort.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"gObIGNq0Peihzldt"}
|
{"name":"Trollsteg","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du klipper wyrdtrådarna som binder dig till en plats, och fäster dem vid en annan plats i grannskapet.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"imeuzkc8mZYvsP1q"}
|
||||||
{"name":"Spårsyn","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Rör vid dina ögon eller en villig persons ögon.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"giOn95ZsdHbnrlgR"}
|
{"name":"Den skälvande marken","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du får marken kring dina fötter att skälva som om det vore jordbävning.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"imf5mk2FUhkWpgpj"}
|
||||||
{"name":"Skugga","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du sveper in en zon i mörker och skugga.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"hdkScjmDCZKcqeur"}
|
{"name":"Ingjuta livskraft","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du förstärker en varelses livskraft och gör att alla hans skador, både de han har och de han orsakas, läker dubbelt så snabbt.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"j5JBTRbRFFgx8xnx"}
|
||||||
{"name":"Skyddsruna","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du ritar en skyddsruna på ett föremål eller en person.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"hwxfruXcygDhQhuE"}
|
{"name":"Fasa","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du samlar skuggor omkring dig och förvrider ljuset så att du verkar större och farligare än du är.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"k7YnASOJNtz8V3IV"}
|
||||||
{"name":"Tillkalla djur","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kan kalla till dig ett djur som efter bästa förmåga omedelbart tar sig till den zon där du befinner dig.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"jXxw6MBh8mvNqbL3"}
|
{"name":"Vattenandning","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kan genom din beröring ge någon förmågan att andas under vattnet.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"Viljestyrka","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"k9ipu82NRXtzxx1M"}
|
||||||
{"name":"Häxlås","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du väver en förslutning på en dörr, en fönsterlucka, en ask, ett brunnslock, en svärdsskida eller något annat som går att stänga.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"jpM6sRc6E12VA6SZ"}
|
{"name":"Frammana stenträl","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kallar upp lösa stenar stenar ur marken som samlar sig och staplar sig på varandra till en människoliknande form.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"kOxqUuIjn2VVyNte"}
|
||||||
{"name":"Söndra väv","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du sliter sönder de wyrdtrådar som binder en annan varelse till den fysiska världen.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"hard","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"jqjzkZj93mcEBbkY"}
|
{"name":"Spårsyn","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Rör vid dina ögon eller en villig persons ögon.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"ksx3W6nGVkHp2Hvt"}
|
||||||
{"name":"Flygande kvast","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Förtrolla en kvast eller stav och använd den för att flyga.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"k0wz1pf5qFTcrZ2J"}
|
{"name":"Klor","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kan genom din beröring få någons naglar, även dina egna, att omformas till kraftiga klor.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"leLbWVz4l8Wga2nn"}
|
||||||
{"name":"Trollviskning","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Sök ögonkontakt med en person.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"k3cp3BL5maJTF3U0"}
|
{"name":"Skenbild","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du skapar en skenbild av något som du någon gång har sett.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"m75po1Iq13JyVxn7"}
|
||||||
{"name":"Den rämnande kölden","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du ingjuter vinterns bitande köld in i sprickor och håligheter i luckor, portar, murar, mindre stenväggar eller klippblock som inte är magiska eller levande.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"Speciell","type":"String","label":"SPELL.COST"},"difficulty":{"value":"hard","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"l8zHe015laxnQ1gB"}
|
{"name":"Flygande kvast","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Förtrolla en kvast eller stav och använd den för att flyga.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"mfOlQ745YzhlIRrn"}
|
||||||
{"name":"Snabbväxt","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kan få en växt att växa lika mycket på ett dygn som den skulle ha gjort under ett år.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"lJV6MXRedW03LOXZ"}
|
{"name":"Vindstämma","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du flyttar din röst till en annan plats upp till två zoner bort.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"mxa9Y8GmFZfuNjcJ"}
|
||||||
{"name":"Vintergrepp","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Välj en zon upp till två zoner bort.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"4T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"mdgenCHu99flECY0"}
|
{"name":"Virvelvind","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du skapar en virvelvind som slungar runt damm, smuts och andra lösa och lätta föremål i omgivningen.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"no2vD8NlfkeJ2IHm"}
|
||||||
{"name":"Fjäderfall","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kallar fram en plötsligt uppvind som dämpar fall.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"oyID4xoFGzidkCwq"}
|
{"name":"Hamnskiftare","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>När du väver besvärjelsen byter du omedelbart hamn till antingen ett valfritt medelstort fyrfota djur som varg, räv eller hund; eller till en valfri normalstor fågel, exempelvis korp, uggla eller örn.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"4T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"o0ngfNZhDIaK8nuu"}
|
||||||
{"name":"Slå blind","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du förhäxar ögonen hos ett mål i samma zon.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"qPXYgqCvMfpIOFV2"}
|
{"name":"Binda elementvarelse","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du binder en eldfågel, intighetsklot, stenträl, stormdrake eller vattenväktare som du kontrollerar och är i samma zon som du själv.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"hard","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"o2pR0Wi37LJzQz3U"}
|
||||||
{"name":"Slöjspegel","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du öppnar ett fönster genom slöjan till Andra sidan med hjälp av en spegel eller kristall.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"qamfrdfg42Aju73z"}
|
{"name":"Skuggflykt","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du river upp wyrdväven så mycket att du hamnar på andra sidan.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"1T6 + special","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"oUXGoyt3TWjWWK7V"}
|
||||||
{"name":"Häxljus","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du frammanar ett fladdrande häxljus som följer med dig upp till en timme och som lyser upp i mörkret.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"r5Rp648rrQ5lTG9M"}
|
{"name":"Läkesejd","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Din beröring får sår att sluta sig och ben att läka.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"pYBdKmJrE1IdxWn7"}
|
||||||
{"name":"Frammana stormdrake","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kallar samman vindar och moln ur luften till en drakliknande skepnad av dimma och blixtar.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"s8b6p7IFy6bvhctn"}
|
{"name":"Djurlänk","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kan skapa en permanent länk till ett djur som är välvilligt inställt till dig.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"4T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"pbybfO7wcljlHAP3"}
|
||||||
{"name":"Stennäve","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du slungar en sten med magisk kraft mot en fiende upp till två zoner bort.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"attackroll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"smpaHa9w3j8C64iV"}
|
{"name":"Skyddscirkel","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du ritar en skyddscirkel kring en zon.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"4T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"pt1Wcj4YvHeba0qS"}
|
||||||
{"name":"Svaghetssejd","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du förhäxar en synlig motståndare upp till två zoner bort.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"tEtjr0L8I5TltwOS"}
|
{"name":"Stennäve","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du slungar en sten med magisk kraft mot en fiende upp till två zoner bort.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"attackroll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"qlyVoVkRPCrQLt5k"}
|
||||||
{"name":"Eldvägg","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kallar upp en vägg som spärrar av din zon från en annan eller delar din zon i två.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"tTinGlRK14T0vPjq"}
|
{"name":"Osynlighetsslöja","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Rör vid en mantel, kappa, rock eller annat heltäckande plagg.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"qp3Kddpj7Nkexv4Q"}
|
||||||
{"name":"Häxblixt","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>En stråle av häxljus slår ut från din hand eller ditt fokus.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"attackroll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"uT2Z9KRBrltlYkn9"}
|
{"name":"Blixthand","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>En ljusbåge slår ut från dina händer eller från änden på en stav, och slår ner i en närliggande zon.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"hard","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"rrjoQEe4L6ZpS9UP"}
|
||||||
{"name":"Kontrollera djur","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du tar kontrollen över ett djur inom din zon eller en närliggande zon.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6 + 1T6 per extra djur","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"vbbmsCuk7YoRdzrJ"}
|
{"name":"Bedövningssejd","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du förhäxar ett synligt mål högst två zoner bort.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"Viljestyrka","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"sOF6TJ1k4cFwimIO"}
|
||||||
{"name":"Förvränga tid","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du väver en bubbla runt om ett mål som förvrider tiden så att tiden går fortare eller långsammare för denne.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"vxRMz1jOF7F8pL3W"}
|
{"name":"Söndra väv","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du sliter sönder de wyrdtrådar som binder en annan varelse till den fysiska världen.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"Viljestyrka","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"hard","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"t0GV8PevaVXpik79"}
|
||||||
{"name":"Virvelvind","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du skapar en virvelvind som slungar runt damm, smuts och andra lösa och lätta föremål i omgivningen.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"wOQVwLwLFI3hX1ev"}
|
{"name":"Silvertunga","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>En trollkarls röst kan vara förhäxande.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"wUa97IO7drguxS0o"}
|
||||||
{"name":"Skydd mot is och eld","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du skapar en virvlande bubbla runt omkring dig som skyddar dig mot köld och hetta.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"yAQGm3myQi4CvFDg"}
|
{"name":"Trollviskning","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Sök ögonkontakt med en person.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"Wyrd","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"xeqDV6OvZx9AFhmn"}
|
||||||
{"name":"Skuggflykt","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du river upp wyrdväven så mycket att du hamnar på andra sidan.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"1T6 + special","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"yTSq8sUVzEtfXLvz"}
|
{"name":"Snabbväxt","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kan få en växt att växa lika mycket på ett dygn som den skulle ha gjort under ett år.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"z7Hvy0ZleizM4pJm"}
|
||||||
{"name":"Växtsejd","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du besvärjer målet och får det att växa sig större och starkare.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"4T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"ysEr06u0uYM86YRb"}
|
{"name":"Skuggvandring","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du öppnar ett hål till Andra sidan och faller dit, trots att du inte har tillräckligt hög Skuld.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"zFwc7IdKGzOzujz7"}
|
||||||
{"name":"Häxflamma","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>En eldstråle skjuter ut från dina händer eller din stav, med vilken du kan anfalla mål i samma zon som dig.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"attackroll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"zesYYnpn11TWo3dK"}
|
{"name":"Förnimmelse","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du väver en besvärjelse som hjälper dig att hitta något du vill finna.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"zly1ApyygoPw4oEq"}
|
||||||
|
|
|
@ -1,34 +1,34 @@
|
||||||
{"name":"Blixt","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>En blixt slår ut från din hand eller din stav.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"attackroll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"uf8sJeeXkXVK8jFJ"}
|
{"name":"Ansiktsförändring","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kan förändra ditt utseende så att du ser ut som en helt annan person, men kan inte avvika från det som är naturligt förekommande inom ditt folkslag.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"Fingerfärdighet","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"iEAR1DYfnZRN6oKx"}
|
||||||
{"name":"Djurlänk","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kan skapa en permanent länk till ett djur som är välvilligt inställt till dig.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"4T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"zTKsZP8qbSnoC1Q6"}
|
{"name":"Blixt","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>En blixt slår ut från din hand eller din stav.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"attackroll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"Jp52HoVZbPBgKpSW"}
|
||||||
{"name":"Flamma","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>En eldstråle skjuter ut från dina händer eller din stav, med vilken du kan anfalla mål i samma zon som dig.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"attackroll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"NRaol7ubn6JBxvVE"}
|
{"name":"Djurlänk","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kan skapa en permanent länk till ett djur som är välvilligt inställt till dig.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"4T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"7WHtngaD6U7mswoZ"}
|
||||||
{"name":"Frammana Salamander","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Från en öppen låga kallar du fram en liten, blygrå och kall ödlevarelse med förmågan att få saker omkring sig att fatta eld.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"ritual","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"hard","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"O7uNYLyspuHcfAud"}
|
{"name":"Dubbelgångare","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kan skapa en illusion som är en exakt kopia av dig själv och uppträder ungefär som du gör.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"CHLcUsSavtuMp0GZ"}
|
||||||
{"name":"Frammana Undin","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Ur havet eller en större samling saltvatten stiger en vagt människoliknande form av vatten.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"ritual","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"hard","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"qAEfjVYmmTGoojTk"}
|
{"name":"Fasa","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du samlar skuggor omkring dig och förvrider ljuset så att du verkar större och farligare än du är.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"FaNKqbGmpkcQA9JZ"}
|
||||||
{"name":"Frammana Åskfågel","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Från ett moln på öppen himmel kallar du ned en stor, kolsvart och korpliknande fågelvarelse.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"ritual","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"hard","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"mzrvXqVipsZ8TIQo"}
|
{"name":"Flamma","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>En eldstråle skjuter ut från dina händer eller din stav, med vilken du kan anfalla mål i samma zon som dig.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"attackroll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"50BCCXTTZqberYtb"}
|
||||||
{"name":"Frammana tjänsteande","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du frammanar en lägre tjänsteande eller små­ demon som kan hjälpa dig med småbestyr.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"ritual","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"M7KMS5P1N4MopwnQ"}
|
{"name":"Frammana Salamander","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Från en öppen låga kallar du fram en liten, blygrå och kall ödlevarelse med förmågan att få saker omkring sig att fatta eld.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"ritual","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"Trolldom","skilltwo":"Lärdom","skillthree":"Insikt","skillfour":"Viljestyrka","skillfive":""}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"hard","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"SPnlI0aRSmZ9G7OM"}
|
||||||
{"name":"Fördriva","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du fördriver en utomvärldslig varelse i samma zon.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"4T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"hard","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"ICZkhlED30UK4ae1"}
|
{"name":"Frammana tjänsteande","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du frammanar en lägre tjänsteande eller små­ demon som kan hjälpa dig med småbestyr.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"ritual","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"Trolldom","skilltwo":"Lärdom","skillthree":"Insikt","skillfour":"Viljestyrka","skillfive":""}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"wMzkRb5q2PlLvdiR"}
|
||||||
{"name":"Hamnskiftare","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du tecknar en magisk cirkel runt dig själv, med en päls eller ett skinn av den varelse du vill byta form till i cirkelns mitt.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"ritual","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"hard","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"fBqnd9fZhC5eZZ0s"}
|
{"name":"Frammana Undin","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Ur havet eller en större samling saltvatten stiger en vagt människoliknande form av vatten.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"ritual","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"Trolldom","skilltwo":"Lärdom","skillthree":"Insikt","skillfour":"Viljestyrka","skillfive":""}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"hard","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"7iXPAvuVdYNXPh1k"}
|
||||||
{"name":"Hela","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Din beröring får sår att sluta sig och ben att läka.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"JGvV6QpAJv6MTz2X"}
|
{"name":"Frammana Åskfågel","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Från ett moln på öppen himmel kallar du ned en stor, kolsvart och korpliknande fågelvarelse.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"ritual","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"Trolldom","skilltwo":"Lärdom","skillthree":"Insikt","skillfour":"Viljestyrka","skillfive":""}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"hard","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"jxLKWEr2svRL8xf4"}
|
||||||
{"name":"Kontrollera djur","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du tar kontrollen över ett djur i din eller en när­ liggande zon.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6 + 1T6 per extra djur","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"tHuEMPdUCQgTq2yU"}
|
{"name":"Fyrljus","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du skapar ett oerhört kraftigt ljussken från en specifik punkt.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"hWrbfEhunY5t1eOc"}
|
||||||
{"name":"Magisk sköld","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du använder din magiska kraft för att skydda dig mot andras besvärjelser.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"JFW5n2nVScYUVYpl"}
|
{"name":"Fördriva","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du fördriver en utomvärldslig varelse i samma zon.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"Viljestyrka","oppositeskilltwo":"Insikt","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"4T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"hard","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"4jlwjnpgS0oikWCO"}
|
||||||
{"name":"Skyddscirkel","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du ritar en skyddande magisk cirkel kring en zon.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"jA8ZEQuOWWhDyMjL"}
|
{"name":"Förvirra","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du förhäxar ett synligt mål högst två zoner bort.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"Viljestyrka","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"XfyPKxoefGAFOAzO"}
|
||||||
{"name":"Stenskrud","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Din hud blir hård som sten och ökar ditt skydd mot skada med 1T6.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"YbtKw9PZ2VLmT5cv"}
|
{"name":"Hamnskiftare","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du tecknar en magisk cirkel runt dig själv, med en päls eller ett skinn av den varelse du vill byta form till i cirkelns mitt.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"ritual","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"Trolldom","skilltwo":"Insikt","skillthree":"Viljestyrka","skillfour":"","skillfive":""}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"hard","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"lBb7IR3o3hPWnB1A"}
|
||||||
{"name":"Stjäla livskraft","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du stjäl livskraft från en person i samma zon.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"hard","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"P5lciWwew1egDeU4"}
|
{"name":"Hela","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Din beröring får sår att sluta sig och ben att läka.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"ZRMT4dTJx8fu4FF9"}
|
||||||
{"name":"Vindstöt","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du frammanar en kortlivad vindande som slungar sig mot en fiende upp till två zoner bort.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"attackroll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"AkmEwgAutdwumY17"}
|
{"name":"Hägring","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du får övriga i samma zon som du att se en hägring vid horisonten.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"Insikt","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"hard","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"vqe4hJ8AHfmONZo2"}
|
||||||
{"name":"Vindviskare","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kan tala med vindarnas andar, och få dem att antingen byta riktning, lugna sin framfart, eller blåsa upp.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"hard","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"EKQ2jOfYl8cxeoOt"}
|
{"name":"Kontrollera djur","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du tar kontrollen över ett djur i din eller en när­ liggande zon.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6 + 1T6 per extra djur","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"wPCChabZXvQUY2GH"}
|
||||||
{"name":"Vågsvall","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du skapar en stor magisk våg.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"WGIXEcjdvZyboDVe"}
|
{"name":"Ljus","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du frammanar ett fladdrande magiskt ljus som följer med dig scenen ut och som lyser upp i mörkret.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"2Oi2ZaLxb4XLvQ2O"}
|
||||||
{"name":"Åkalla beskyddaren [namn]","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Kräver förmågan Magisk Pakt (se sida 46).</p>\n<p>Varje beskyddare har en unik besvärjelse.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"ritual","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"(Ritual) 2T6; (Kontrollera) 2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"XsT8DV4jS4dezP8g"}
|
{"name":"Magisk sköld","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du använder din magiska kraft för att skydda dig mot andras besvärjelser.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"uKpkzE4GEv5Kvviv"}
|
||||||
{"name":"Åkalla demonen Azag","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du åkallar Azag, en monstruös stendemon. Azag har särdraget Blodtörstig.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"ritual","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"(Ritual) 4T6 och 1T6 Hälsa*; (Kontrollera) 3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"nYMfhipFPQmgVlSE"}
|
{"name":"Magisk stämning","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du skapar småeffekter i din zon som bidrar till en förtrollande och förhäxande stämning.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"819ZmsvSGUp7qQrv"}
|
||||||
{"name":"Åskvigg","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Besvärjelsen kan bara kastas om både magikern och målet befinner sig under bar himmel.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"hard","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"6UUPWalCAVaKA9Yr"}
|
{"name":"Omtolka tecken","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Ett tecken kan omtolkas av magikern och få ny innebörd.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"mNp8tq4lrX3dvAi6"}
|
||||||
{"name":"Ansiktsförändring","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kan förändra ditt utseende så att du ser ut som en helt annan person, men kan inte avvika från det som är naturligt förekommande inom ditt folkslag.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"RDiUMCHIqwhMQYMm"}
|
{"name":"Osynlighetsslöja","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Besvärjelsen kastas på en mantel, kappa, rock eller annat heltäckande plagg.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"vZiUoBEA3ZlUVryk"}
|
||||||
{"name":"Dubbelgångare","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kan skapa en illusion som är en exakt kopia av dig själv och uppträder ungefär som du gör.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"FVKZaMvBMBcifw9c"}
|
{"name":"Silvertunga","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Din röst blir övertygande.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"mhtNi55391NTtv20"}
|
||||||
{"name":"Fasa","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du samlar skuggor omkring dig och förvrider ljuset så att du verkar större och farligare än du är.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"E9sHoM5UJtWq0EUq"}
|
{"name":"Skenbild","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du skapar en skenbild av något som du någon gång har sett.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"yLEa6eLHR15vPViT"}
|
||||||
{"name":"Fyrljus","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du skapar ett oerhört kraftigt ljussken från en specifik punkt.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"GE43lem6ZueozjVl"}
|
{"name":"Skyddscirkel","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du ritar en skyddande magisk cirkel kring en zon.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"FKlkahAMWh9MWUjg"}
|
||||||
{"name":"Förvirra","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du förhäxar ett synligt mål högst två zoner bort.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"2mzBNacrVUDmFVUy"}
|
{"name":"Stenskrud","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Din hud blir hård som sten och ökar ditt skydd mot skada med 1T6.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"DXmyY1OsysPL1FgP"}
|
||||||
{"name":"Hägring","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du får övriga i samma zon som du att se en hägring vid horisonten.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"hard","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"KXIdjI15nkSrCkWU"}
|
{"name":"Stjäla livskraft","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du stjäl livskraft från en person i samma zon.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"Uthållighet","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"hard","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"RFYOmR097YwKEdgc"}
|
||||||
{"name":"Ljus","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du frammanar ett fladdrande magiskt ljus som följer med dig scenen ut och som lyser upp i mörkret.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"RbHZ6B6Wv2guyrWR"}
|
{"name":"Villospår","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du skapar falska spår som döljer dina egna och får förföljare att tappa spåret och istället följa dina falska spår.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"Stigvana","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"jw8kWHwu5foUO5vN"}
|
||||||
{"name":"Magisk stämning","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du skapar småeffekter i din zon som bidrar till en förtrollande och förhäxande stämning.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"glk4NNBxL2rVai5X"}
|
{"name":"Vindstöt","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du frammanar en kortlivad vindande som slungar sig mot en fiende upp till två zoner bort.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"attackroll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"rqRpYOtHvUP1xpI4"}
|
||||||
{"name":"Omtolka tecken","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Ett tecken kan omtolkas av magikern och få ny innebörd.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"er401D0m96OhtYZ1"}
|
{"name":"Vindviskare","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du kan tala med vindarnas andar, och få dem att antingen byta riktning, lugna sin framfart, eller blåsa upp.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"hard","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"a5dYS93yPFjjxcCw"}
|
||||||
{"name":"Osynlighetsslöja","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Besvärjelsen kastas på en mantel, kappa, rock eller annat heltäckande plagg.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"bPzJyjGW7XiLqB6M"}
|
{"name":"Vågsvall","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du skapar en stor magisk våg.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"sczrNCK7lCtD4hih"}
|
||||||
{"name":"Silvertunga","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Din röst blir övertygande.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"kwzV1fXDYTkRv23h"}
|
{"name":"Åkalla beskyddaren [namn]","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Kräver förmågan Magisk Pakt (se sida 46).</p>\n<p>Varje beskyddare har en unik besvärjelse.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"ritual","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"Trolldom","skilltwo":"Lärdom","skillthree":"Insikt","skillfour":"Viljestyrka","skillfive":""}},"cost":{"value":"(Ritual) 2T6; (Kontrollera) 2T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"tjoGC2RmIwwRrFpY"}
|
||||||
{"name":"Skenbild","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du skapar en skenbild av något som du någon gång har sett.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"easy","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"ib1d05lzHZoFWDH2"}
|
{"name":"Åkalla demonen Azag","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du åkallar Azag, en monstruös stendemon. Azag har särdraget Blodtörstig.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"ritual","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"Trolldom","skilltwo":"Lärdom","skillthree":"Insikt","skillfour":"Viljestyrka","skillfive":""}},"cost":{"value":"(Ritual) 4T6 och 1T6 Hälsa*; (Kontrollera) 3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"PI0kXTPcq48fcrWd"}
|
||||||
{"name":"Villospår","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Du skapar falska spår som döljer dina egna och får förföljare att tappa spåret och istället följa dina falska spår.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"opposite","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","ritual":{}},"cost":{"value":"1T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"average","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"y2LUeWFVboTCyUHC"}
|
{"name":"Åskvigg","permission":{"default":0,"fJj85fq65UTTN7mU":3},"type":"spell","data":{"description":{"value":"<p>Besvärjelsen kan bara kastas om både magikern och målet befinner sig under bar himmel.</p>","type":"String","label":"ITEM.DESCRIPTION"},"roll":{"value":"roll","type":"String","label":"SPELL.ROLLTITLE","skill":"Trolldom","oppositeskill":"","oppositeskilltwo":"","ritual":{"skillone":"","skilltwo":"","skillthree":"","skillfour":"","skillfive":""}},"cost":{"value":"3T6","type":"String","label":"SPELL.COST"},"difficulty":{"value":"hard","type":"String","label":"SPELL.DIFFICULTY"}},"flags":{},"img":"icons/svg/mystery-man.svg","effects":[],"_id":"ImzNHTJjjCyRkY7A"}
|
||||||
|
|
|
@ -2,9 +2,9 @@
|
||||||
"name": "kopparhavet",
|
"name": "kopparhavet",
|
||||||
"title": "Kopparhavets Hjältar",
|
"title": "Kopparhavets Hjältar",
|
||||||
"description": "The Molten Sea is a dangerous but exciting place, where pirates, sorcerers and secretive orders of knighthood struggle for power, wealth and ancient lore.",
|
"description": "The Molten Sea is a dangerous but exciting place, where pirates, sorcerers and secretive orders of knighthood struggle for power, wealth and ancient lore.",
|
||||||
"version": "0.0.5",
|
"version": "0.1.2",
|
||||||
"minimumCoreVersion": "0.7.5",
|
"minimumCoreVersion": "9",
|
||||||
"compatibleCoreVersion": "0.7.9",
|
"compatibleCoreVersion": "9",
|
||||||
"templateVersion": 4,
|
"templateVersion": 4,
|
||||||
"author": "Erebus",
|
"author": "Erebus",
|
||||||
"scripts": [],
|
"scripts": [],
|
||||||
|
@ -95,6 +95,6 @@
|
||||||
"url": "https://pi.rikspolisen.se/foundryvtt/kopparhavet",
|
"url": "https://pi.rikspolisen.se/foundryvtt/kopparhavet",
|
||||||
"socket": true,
|
"socket": true,
|
||||||
"manifest": "https://pi.rikspolisen.se/foundryvtt/kopparhavet/raw/branch/master/system.json",
|
"manifest": "https://pi.rikspolisen.se/foundryvtt/kopparhavet/raw/branch/master/system.json",
|
||||||
"download": "https://pi.rikspolisen.se/foundryvtt/kopparhavet/archive/v0.0.5.zip",
|
"download": "https://pi.rikspolisen.se/foundryvtt/kopparhavet/archive/v0.1.2.zip",
|
||||||
"license": "LICENCE.txt"
|
"license": "LICENCE.txt"
|
||||||
}
|
}
|
||||||
|
|
|
@ -278,7 +278,14 @@
|
||||||
"label": "SPELL.ROLLTITLE",
|
"label": "SPELL.ROLLTITLE",
|
||||||
"skill": "Trolldom",
|
"skill": "Trolldom",
|
||||||
"oppositeskill": "",
|
"oppositeskill": "",
|
||||||
"ritual": {}
|
"oppositeskilltwo": "",
|
||||||
|
"ritual": {
|
||||||
|
"skillone": "",
|
||||||
|
"skilltwo": "",
|
||||||
|
"skillthree": "",
|
||||||
|
"skillfour": "",
|
||||||
|
"skillfive": ""
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"cost": {
|
"cost": {
|
||||||
"value": "",
|
"value": "",
|
||||||
|
|
|
@ -8,25 +8,25 @@
|
||||||
<label style="margin: auto;">{{localize "BIO.NAME"}}:</label>
|
<label style="margin: auto;">{{localize "BIO.NAME"}}:</label>
|
||||||
<h1 class="charname" style="margin-bottom: 0;grid-column: 3/6;"><input name="name" type="text" value="{{actor.name}}" placeholder="{{localize "BIO.NAME"}}" /></h1>
|
<h1 class="charname" style="margin-bottom: 0;grid-column: 3/6;"><input name="name" type="text" value="{{actor.name}}" placeholder="{{localize "BIO.NAME"}}" /></h1>
|
||||||
|
|
||||||
<label style="margin: auto;">{{localize data.health.label}}:</label>
|
<label style="margin: auto;">{{localize data.data.health.label}}:</label>
|
||||||
<div class="grid-container" style="grid-template-columns: auto 1fr auto;">
|
<div class="grid-container" style="grid-template-columns: auto 1fr auto;">
|
||||||
<input class="center-text" type="text" name="data.health.value" value="{{data.health.value}}" data-dtype="Number" />
|
<input class="center-text" type="text" name="data.health.value" value="{{data.data.health.value}}" data-dtype="Number" />
|
||||||
<span> / </span>
|
<span> / </span>
|
||||||
<input class="center-text" type="text" name="data.health.max" value="{{data.health.max}}" data-dtype="Number" />
|
<input class="center-text" type="text" name="data.health.max" value="{{data.data.health.max}}" data-dtype="Number" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<label style="margin: auto;">{{localize data.stamina.label}}:</label>
|
<label style="margin: auto;">{{localize data.data.stamina.label}}:</label>
|
||||||
<div class="grid-container" style="grid-template-columns: auto 1fr auto;">
|
<div class="grid-container" style="grid-template-columns: auto 1fr auto;">
|
||||||
<input class="center-text" type="text" name="data.stamina.value" value="{{data.stamina.value}}" data-dtype="Number" />
|
<input class="center-text" type="text" name="data.stamina.value" value="{{data.data.stamina.value}}" data-dtype="Number" />
|
||||||
<span> / </span>
|
<span> / </span>
|
||||||
<input class="center-text" type="text" name="data.stamina.max" value="{{data.stamina.max}}" data-dtype="Number" />
|
<input class="center-text" type="text" name="data.stamina.max" value="{{data.data.stamina.max}}" data-dtype="Number" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<label style="margin: auto;">{{localize data.mana.label}}:</label>
|
<label style="margin: auto;">{{localize data.data.mana.label}}:</label>
|
||||||
<div class="grid-container" style="grid-template-columns: auto 1fr auto;">
|
<div class="grid-container" style="grid-template-columns: auto 1fr auto;">
|
||||||
<input class="center-text" type="text" name="data.mana.value" value="{{data.mana.value}}" data-dtype="Number" />
|
<input class="center-text" type="text" name="data.mana.value" value="{{data.data.mana.value}}" data-dtype="Number" />
|
||||||
<span> / </span>
|
<span> / </span>
|
||||||
<input class="center-text" type="text" name="data.mana.max" value="{{data.mana.max}}" data-dtype="Number" />
|
<input class="center-text" type="text" name="data.mana.max" value="{{data.data.mana.max}}" data-dtype="Number" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@
|
||||||
{{> systems/kopparhavet/templates/parts/actor/talent.html}}
|
{{> systems/kopparhavet/templates/parts/actor/talent.html}}
|
||||||
</div>
|
</div>
|
||||||
<div class="tab border note" data-group="primary" data-tab="note" style="height: 100%; border-top: none;">
|
<div class="tab border note" data-group="primary" data-tab="note" style="height: 100%; border-top: none;">
|
||||||
{{editor content=data.bio.note.value target="data.bio.note.value" button=true owner=owner editable=editable}}
|
{{editor content=data.data.bio.note.value target="data.bio.note.value" button=true owner=owner editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -8,31 +8,31 @@
|
||||||
<label style="margin: auto;">{{localize "BIO.NAME"}}:</label>
|
<label style="margin: auto;">{{localize "BIO.NAME"}}:</label>
|
||||||
<h1 class="charname" style="margin-bottom: 0;grid-column: 3/6;"><input name="name" type="text" value="{{actor.name}}" placeholder="{{localize "BIO.NAME"}}" /></h1>
|
<h1 class="charname" style="margin-bottom: 0;grid-column: 3/6;"><input name="name" type="text" value="{{actor.name}}" placeholder="{{localize "BIO.NAME"}}" /></h1>
|
||||||
|
|
||||||
<label style="margin: auto;">{{localize data.bio.kin.label}}:</label>
|
<label style="margin: auto;">{{localize data.data.bio.kin.label}}:</label>
|
||||||
<input name="data.bio.kin.value" type="text" value="{{data.bio.kin.value}}" placeholder="{{localize data.bio.kin.label}}" />
|
<input name="data.bio.kin.value" type="text" value="{{data.data.bio.kin.value}}" placeholder="{{localize data.data.bio.kin.label}}" />
|
||||||
|
|
||||||
<label style="margin: auto;">{{localize data.bio.profession.label}}:</label>
|
<label style="margin: auto;">{{localize data.data.bio.profession.label}}:</label>
|
||||||
<input name="data.bio.profession.value" type="text" value="{{data.bio.profession.value}}" placeholder="{{localize data.bio.profession.label}}" />
|
<input name="data.bio.profession.value" type="text" value="{{data.data.bio.profession.value}}" placeholder="{{localize data.data.bio.profession.label}}" />
|
||||||
|
|
||||||
<label style="margin: auto;">{{localize data.health.label}}:</label>
|
<label style="margin: auto;">{{localize data.data.health.label}}:</label>
|
||||||
<div class="grid-container" style="grid-template-columns: auto 1fr auto;">
|
<div class="grid-container" style="grid-template-columns: auto 1fr auto;">
|
||||||
<input class="center-text" type="text" name="data.health.value" value="{{data.health.value}}" data-dtype="Number" />
|
<input class="center-text" type="text" name="data.health.value" value="{{data.data.health.value}}" data-dtype="Number" />
|
||||||
<span> / </span>
|
<span> / </span>
|
||||||
<input class="center-text" type="text" name="data.health.max" value="{{data.health.max}}" data-dtype="Number" />
|
<input class="center-text" type="text" name="data.health.max" value="{{data.data.health.max}}" data-dtype="Number" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<label style="margin: auto;">{{localize data.stamina.label}}:</label>
|
<label style="margin: auto;">{{localize data.data.stamina.label}}:</label>
|
||||||
<div class="grid-container" style="grid-template-columns: auto 1fr auto;">
|
<div class="grid-container" style="grid-template-columns: auto 1fr auto;">
|
||||||
<input class="center-text" type="text" name="data.stamina.value" value="{{data.stamina.value}}" data-dtype="Number" />
|
<input class="center-text" type="text" name="data.stamina.value" value="{{data.data.stamina.value}}" data-dtype="Number" />
|
||||||
<span> / </span>
|
<span> / </span>
|
||||||
<input class="center-text" type="text" name="data.stamina.max" value="{{data.stamina.max}}" data-dtype="Number" />
|
<input class="center-text" type="text" name="data.stamina.max" value="{{data.data.stamina.max}}" data-dtype="Number" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<label style="margin: auto;">{{localize data.mana.label}}:</label>
|
<label style="margin: auto;">{{localize data.data.mana.label}}:</label>
|
||||||
<div class="grid-container" style="grid-template-columns: auto 1fr auto;">
|
<div class="grid-container" style="grid-template-columns: auto 1fr auto;">
|
||||||
<input class="center-text" type="text" name="data.mana.value" value="{{data.mana.value}}" data-dtype="Number" />
|
<input class="center-text" type="text" name="data.mana.value" value="{{data.data.mana.value}}" data-dtype="Number" />
|
||||||
<span> / </span>
|
<span> / </span>
|
||||||
<input class="center-text" type="text" name="data.mana.max" value="{{data.mana.max}}" data-dtype="Number" />
|
<input class="center-text" type="text" name="data.mana.max" value="{{data.data.mana.max}}" data-dtype="Number" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -62,7 +62,7 @@
|
||||||
{{> systems/kopparhavet/templates/parts/actor/bio.html}}
|
{{> systems/kopparhavet/templates/parts/actor/bio.html}}
|
||||||
</div>
|
</div>
|
||||||
<div class="tab note border" data-group="primary" data-tab="note" style="border-top: none;">
|
<div class="tab note border" data-group="primary" data-tab="note" style="border-top: none;">
|
||||||
{{editor content=data.bio.note.value target="data.bio.note.value" button=true owner=owner editable=editable}}
|
{{editor content=data.data.bio.note.value target="data.bio.note.value" button=true owner=owner editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -8,25 +8,25 @@
|
||||||
<label style="margin: auto;">{{localize "BIO.NAME"}}:</label>
|
<label style="margin: auto;">{{localize "BIO.NAME"}}:</label>
|
||||||
<h1 class="charname" style="margin-bottom: 0;grid-column: 3/6;"><input name="name" type="text" value="{{actor.name}}" placeholder="{{localize "BIO.NAME"}}" /></h1>
|
<h1 class="charname" style="margin-bottom: 0;grid-column: 3/6;"><input name="name" type="text" value="{{actor.name}}" placeholder="{{localize "BIO.NAME"}}" /></h1>
|
||||||
|
|
||||||
<label style="margin: auto;">{{localize data.health.label}}:</label>
|
<label style="margin: auto;">{{localize data.data.health.label}}:</label>
|
||||||
<div class="grid-container" style="grid-template-columns: auto 1fr auto;">
|
<div class="grid-container" style="grid-template-columns: auto 1fr auto;">
|
||||||
<input class="center-text" type="text" name="data.health.value" value="{{data.health.value}}" data-dtype="Number" />
|
<input class="center-text" type="text" name="data.health.value" value="{{data.data.health.value}}" data-dtype="Number" />
|
||||||
<span> / </span>
|
<span> / </span>
|
||||||
<input class="center-text" type="text" name="data.health.max" value="{{data.health.max}}" data-dtype="Number" />
|
<input class="center-text" type="text" name="data.health.max" value="{{data.data.health.max}}" data-dtype="Number" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<label style="margin: auto;">{{localize data.stamina.label}}:</label>
|
<label style="margin: auto;">{{localize data.data.stamina.label}}:</label>
|
||||||
<div class="grid-container" style="grid-template-columns: auto 1fr auto;">
|
<div class="grid-container" style="grid-template-columns: auto 1fr auto;">
|
||||||
<input class="center-text" type="text" name="data.stamina.value" value="{{data.stamina.value}}" data-dtype="Number" />
|
<input class="center-text" type="text" name="data.stamina.value" value="{{data.data.stamina.value}}" data-dtype="Number" />
|
||||||
<span> / </span>
|
<span> / </span>
|
||||||
<input class="center-text" type="text" name="data.stamina.max" value="{{data.stamina.max}}" data-dtype="Number" />
|
<input class="center-text" type="text" name="data.stamina.max" value="{{data.data.stamina.max}}" data-dtype="Number" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<label style="margin: auto;">{{localize data.mana.label}}:</label>
|
<label style="margin: auto;">{{localize data.data.mana.label}}:</label>
|
||||||
<div class="grid-container" style="grid-template-columns: auto 1fr auto;">
|
<div class="grid-container" style="grid-template-columns: auto 1fr auto;">
|
||||||
<input class="center-text" type="text" name="data.mana.value" value="{{data.mana.value}}" data-dtype="Number" />
|
<input class="center-text" type="text" name="data.mana.value" value="{{data.data.mana.value}}" data-dtype="Number" />
|
||||||
<span> / </span>
|
<span> / </span>
|
||||||
<input class="center-text" type="text" name="data.mana.max" value="{{data.mana.max}}" data-dtype="Number" />
|
<input class="center-text" type="text" name="data.mana.max" value="{{data.data.mana.max}}" data-dtype="Number" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@
|
||||||
{{> systems/kopparhavet/templates/parts/actor/talent.html}}
|
{{> systems/kopparhavet/templates/parts/actor/talent.html}}
|
||||||
</div>
|
</div>
|
||||||
<div class="tab border note" data-group="primary" data-tab="note" style="height: 100%; border-top: none;">
|
<div class="tab border note" data-group="primary" data-tab="note" style="height: 100%; border-top: none;">
|
||||||
{{editor content=data.bio.note.value target="data.bio.note.value" button=true owner=owner editable=editable}}
|
{{editor content=data.data.bio.note.value target="data.bio.note.value" button=true owner=owner editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -8,34 +8,34 @@
|
||||||
<label style="margin: auto;">{{localize "BIO.NAME"}}:</label>
|
<label style="margin: auto;">{{localize "BIO.NAME"}}:</label>
|
||||||
<h1 class="charname" style="margin-bottom: 0; grid-column: 3/6;"><input name="name" type="text" value="{{actor.name}}" placeholder="{{localize "BIO.NAME"}}" /></h1>
|
<h1 class="charname" style="margin-bottom: 0; grid-column: 3/6;"><input name="name" type="text" value="{{actor.name}}" placeholder="{{localize "BIO.NAME"}}" /></h1>
|
||||||
|
|
||||||
<label style="margin: auto;">{{localize data.bio.nickname.label}}:</label>
|
<label style="margin: auto;">{{localize data.data.bio.nickname.label}}:</label>
|
||||||
<input name="data.bio.nickname.value" style="grid-column: 3/6;" type="text" value="{{data.bio.nickname.value}}" placeholder="{{localize data.bio.nickname.label}}" />
|
<input name="data.bio.nickname.value" style="grid-column: 3/6;" type="text" value="{{data.data.bio.nickname.value}}" placeholder="{{localize data.data.bio.nickname.label}}" />
|
||||||
|
|
||||||
<label style="margin: auto;">{{localize data.bio.kin.label}}:</label>
|
<label style="margin: auto;">{{localize data.data.bio.kin.label}}:</label>
|
||||||
<input name="data.bio.kin.value" type="text" value="{{data.bio.kin.value}}" placeholder="{{localize data.bio.kin.label}}" />
|
<input name="data.bio.kin.value" type="text" value="{{data.data.bio.kin.value}}" placeholder="{{localize data.data.bio.kin.label}}" />
|
||||||
|
|
||||||
<label style="margin: auto;">{{localize data.bio.profession.label}}:</label>
|
<label style="margin: auto;">{{localize data.data.bio.profession.label}}:</label>
|
||||||
<input name="data.bio.profession.value" type="text" value="{{data.bio.profession.value}}" placeholder="{{localize data.bio.profession.label}}" />
|
<input name="data.bio.profession.value" type="text" value="{{data.data.bio.profession.value}}" placeholder="{{localize data.data.bio.profession.label}}" />
|
||||||
|
|
||||||
<label style="margin: auto;">{{localize data.health.label}}:</label>
|
<label style="margin: auto;">{{localize data.data.health.label}}:</label>
|
||||||
<div class="grid-container" style="grid-template-columns: auto 1fr auto;">
|
<div class="grid-container" style="grid-template-columns: auto 1fr auto;">
|
||||||
<input class="center-text" type="text" name="data.health.value" value="{{data.health.value}}" data-dtype="Number" />
|
<input class="center-text" type="text" name="data.health.value" value="{{data.data.health.value}}" data-dtype="Number" />
|
||||||
<span> / </span>
|
<span> / </span>
|
||||||
<input class="center-text" type="text" name="data.health.max" value="{{data.health.max}}" data-dtype="Number" />
|
<input class="center-text" type="text" name="data.health.max" value="{{data.data.health.max}}" data-dtype="Number" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<label style="margin: auto;">{{localize data.stamina.label}}:</label>
|
<label style="margin: auto;">{{localize data.data.stamina.label}}:</label>
|
||||||
<div class="grid-container" style="grid-template-columns: auto 1fr auto;">
|
<div class="grid-container" style="grid-template-columns: auto 1fr auto;">
|
||||||
<input class="center-text" type="text" name="data.stamina.value" value="{{data.stamina.value}}" data-dtype="Number" />
|
<input class="center-text" type="text" name="data.stamina.value" value="{{data.data.stamina.value}}" data-dtype="Number" />
|
||||||
<span> / </span>
|
<span> / </span>
|
||||||
<input class="center-text" type="text" name="data.stamina.max" value="{{data.stamina.max}}" data-dtype="Number" />
|
<input class="center-text" type="text" name="data.stamina.max" value="{{data.data.stamina.max}}" data-dtype="Number" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<label style="margin: auto;">{{localize data.mana.label}}:</label>
|
<label style="margin: auto;">{{localize data.data.mana.label}}:</label>
|
||||||
<div class="grid-container" style="grid-template-columns: auto 1fr auto;">
|
<div class="grid-container" style="grid-template-columns: auto 1fr auto;">
|
||||||
<input class="center-text" type="text" name="data.mana.value" value="{{data.mana.value}}" data-dtype="Number" />
|
<input class="center-text" type="text" name="data.mana.value" value="{{data.data.mana.value}}" data-dtype="Number" />
|
||||||
<span> / </span>
|
<span> / </span>
|
||||||
<input class="center-text" type="text" name="data.mana.max" value="{{data.mana.max}}" data-dtype="Number" />
|
<input class="center-text" type="text" name="data.mana.max" value="{{data.data.mana.max}}" data-dtype="Number" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -61,7 +61,7 @@
|
||||||
{{> systems/kopparhavet/templates/parts/actor/gear.html}}
|
{{> systems/kopparhavet/templates/parts/actor/gear.html}}
|
||||||
</div>
|
</div>
|
||||||
<div class="tab note border" data-group="primary" data-tab="note" style="border-top: none;">
|
<div class="tab note border" data-group="primary" data-tab="note" style="border-top: none;">
|
||||||
{{editor content=data.bio.note.value target="data.bio.note.value" button=true owner=owner editable=editable}}
|
{{editor content=data.data.bio.note.value target="data.bio.note.value" button=true owner=owner editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -8,27 +8,27 @@
|
||||||
<label style="margin-top: auto; margin-bottom: auto;">{{localize "BIO.NAME"}}:</label>
|
<label style="margin-top: auto; margin-bottom: auto;">{{localize "BIO.NAME"}}:</label>
|
||||||
<h1 class="charname" style="margin-bottom: 0;grid-column: 3/6;"><input name="name" type="text" value="{{actor.name}}" placeholder="{{localize "BIO.NAME"}}" /></h1>
|
<h1 class="charname" style="margin-bottom: 0;grid-column: 3/6;"><input name="name" type="text" value="{{actor.name}}" placeholder="{{localize "BIO.NAME"}}" /></h1>
|
||||||
|
|
||||||
<label style="margin-top: auto; margin-bottom: auto;">{{localize data.class.label}}:</label>
|
<label style="margin-top: auto; margin-bottom: auto;">{{localize data.data.class.label}}:</label>
|
||||||
<span class="charname" style="margin-bottom: 0;grid-column: 3/6;"><input name="data.class.value" type="text" value="{{data.class.value}}" placeholder="{{localize data.class.label}}" /></span>
|
<span class="charname" style="margin-bottom: 0;grid-column: 3/6;"><input name="data.class.value" type="text" value="{{data.data.class.value}}" placeholder="{{localize data.data.class.label}}" /></span>
|
||||||
|
|
||||||
<label style="margin: auto;">{{localize data.operationscost.label}}:</label>
|
<label style="margin: auto;">{{localize data.data.operationscost.label}}:</label>
|
||||||
<input class="center-text" type="text" name="data.operationscost.value" value="{{data.operationscost.value}}" data-dtype="Number" />
|
<input class="center-text" type="text" name="data.operationscost.value" value="{{data.data.operationscost.value}}" data-dtype="Number" />
|
||||||
|
|
||||||
<label style="margin: auto;">{{localize data.operationssupply.label}}:</label>
|
<label style="margin: auto;">{{localize data.data.operationssupply.label}}:</label>
|
||||||
<input class="center-text" type="text" name="data.operationssupply.value" value="{{data.operationssupply.value}}" data-dtype="Number" />
|
<input class="center-text" type="text" name="data.operationssupply.value" value="{{data.data.operationssupply.value}}" data-dtype="Number" />
|
||||||
|
|
||||||
<label style="margin: auto;">{{localize data.hull.label}}:</label>
|
<label style="margin: auto;">{{localize data.data.hull.label}}:</label>
|
||||||
<div class="grid-container" style="grid-template-columns: auto 1fr auto;">
|
<div class="grid-container" style="grid-template-columns: auto 1fr auto;">
|
||||||
<input class="center-text" type="text" name="data.hull.value" value="{{data.hull.value}}" data-dtype="Number" />
|
<input class="center-text" type="text" name="data.hull.value" value="{{data.data.hull.value}}" data-dtype="Number" />
|
||||||
<span style="margin-bottom: auto; margin-top: auto;"> / </span>
|
<span style="margin-bottom: auto; margin-top: auto;"> / </span>
|
||||||
<input class="center-text" type="text" name="data.hull.max" value="{{data.hull.max}}" data-dtype="Number" />
|
<input class="center-text" type="text" name="data.hull.max" value="{{data.data.hull.max}}" data-dtype="Number" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<label style="margin: auto;">{{localize data.cargo.label}}:</label>
|
<label style="margin: auto;">{{localize data.data.cargo.label}}:</label>
|
||||||
<div class="grid-container" style="grid-template-columns: auto 1fr auto;">
|
<div class="grid-container" style="grid-template-columns: auto 1fr auto;">
|
||||||
<input class="center-text" type="text" name="data.cargo.value" value="{{data.cargo.value}}" data-dtype="Number" />
|
<input class="center-text" type="text" name="data.cargo.value" value="{{data.data.cargo.value}}" data-dtype="Number" />
|
||||||
<span style="margin-bottom: auto; margin-top: auto;"> / </span>
|
<span style="margin-bottom: auto; margin-top: auto;"> / </span>
|
||||||
<input class="center-text" type="text" name="data.cargo.max" value="{{data.cargo.max}}" data-dtype="Number" />
|
<input class="center-text" type="text" name="data.cargo.max" value="{{data.data.cargo.max}}" data-dtype="Number" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@
|
||||||
{{> systems/kopparhavet/templates/parts/actor/ship-combat.html}}
|
{{> systems/kopparhavet/templates/parts/actor/ship-combat.html}}
|
||||||
</div>
|
</div>
|
||||||
<div class="tab border note" data-group="primary" data-tab="note" style="height: 100%; border-top: none;">
|
<div class="tab border note" data-group="primary" data-tab="note" style="height: 100%; border-top: none;">
|
||||||
{{editor content=data.bio.note.value target="data.bio.note.value" button=true owner=owner editable=editable}}
|
{{editor content=data.data.bio.note.value target="data.bio.note.value" button=true owner=owner editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -100,5 +100,19 @@
|
||||||
{{{data.description.value}}}
|
{{{data.description.value}}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
|
{{#if isShipWeapon}}
|
||||||
|
{{#if data.description}}
|
||||||
|
<h5>{{localize data.description.label}}</h5>
|
||||||
|
{{{data.description.value}}}
|
||||||
|
{{/if}}
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
{{#if isShipTalent}}
|
||||||
|
{{#if data.description}}
|
||||||
|
<h5>{{localize data.description.label}}</h5>
|
||||||
|
{{{data.description.value}}}
|
||||||
|
{{/if}}
|
||||||
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
|
@ -0,0 +1,47 @@
|
||||||
|
<div class="kopparhavet roll-item">
|
||||||
|
<div class="border">
|
||||||
|
<h3>{{localize name}}</h3>
|
||||||
|
|
||||||
|
{{#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="roll" style="padding-bottom: 10px; border-bottom: 1px solid #782e22; margin-bottom: 5px;">
|
||||||
|
|
||||||
|
{{#each res as |res1 key|}}
|
||||||
|
<div class="dice-roll">
|
||||||
|
<div class="dice-result">
|
||||||
|
{{#if showFormula}}
|
||||||
|
<div class="dice-formula-kh">{{res1.result.formula}}</div>
|
||||||
|
{{/if}}
|
||||||
|
{{#if res1.success}}
|
||||||
|
<div style="border: none; text-align: center; width: 100%; font-weight: bold; color: limegreen;">
|
||||||
|
{{res1.name}}: {{res1.result.total}}
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
||||||
|
{{#if res1.failure}}
|
||||||
|
<div style="border: none; text-align: center; width: 100%; font-weight: bold; color: darkred;">
|
||||||
|
{{res1.name}}: {{res1.result.total}}
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{/each}}
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<h2 style="border: none; text-align: center; width: 100%; font-weight: bold;">
|
||||||
|
{{#iff result '==' "0"}}{{localize "ROLL.SUBPAR"}}{{/iff}}
|
||||||
|
{{#iff result '==' "1"}}{{localize "ROLL.LOW"}}{{/iff}}
|
||||||
|
{{#iff result '==' "2"}}{{localize "ROLL.LIMITED"}}{{/iff}}
|
||||||
|
{{#iff result '==' "3"}}{{localize "ROLL.GOOD"}}{{/iff}}
|
||||||
|
{{#iff result '==' "4"}}{{localize "ROLL.SUPERIOR"}}{{/iff}}
|
||||||
|
</h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -21,6 +21,11 @@
|
||||||
<h2>{{res.total}}</h2>
|
<h2>{{res.total}}</h2>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
{{#if opposite}}
|
||||||
|
<div class="dice-roll" style="text-align: center; margin-bottom: 0.5rem;">
|
||||||
|
{{localize "ROLL.OPPOSITE"}}: {{opposite}}
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
{{#if success}}
|
{{#if success}}
|
||||||
<h2 style="border: none; text-align: center; width: 100%; font-weight: bold; color: limegreen;">
|
<h2 style="border: none; text-align: center; width: 100%; font-weight: bold; color: limegreen;">
|
||||||
|
|
|
@ -9,17 +9,17 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="grid-container" style="grid-template-columns: 1fr 1fr;">
|
<div class="grid-container" style="grid-template-columns: 1fr 1fr;">
|
||||||
<div class="rating">
|
<div class="rating">
|
||||||
<label>{{localize data.damage.label}}</label>
|
<label>{{localize data.data.damage.label}}</label>
|
||||||
<input name="data.damage.value" type="text" value="{{data.damage.value}}" />
|
<input name="data.damage.value" type="text" value="{{data.data.damage.value}}" />
|
||||||
</div>
|
</div>
|
||||||
<div class="rating">
|
<div class="rating">
|
||||||
<label>{{localize data.skill.label}}</label>
|
<label>{{localize data.data.skill.label}}</label>
|
||||||
<input name="data.skill.value" type="text" value="{{data.skill.value}}" />
|
<input name="data.skill.value" type="text" value="{{data.data.skill.value}}" />
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<label>{{localize data.category.label}}</label>
|
<label>{{localize data.data.category.label}}</label>
|
||||||
<select class="item-weapon-cat-select" name="data.category.value">
|
<select class="item-weapon-cat-select" name="data.category.value">
|
||||||
{{#select data.category.value}}
|
{{#select data.data.category.value}}
|
||||||
<option value="melee">{{localize "WEAPON.MELEE"}}</option>
|
<option value="melee">{{localize "WEAPON.MELEE"}}</option>
|
||||||
<option value="ranged">{{localize "WEAPON.RANGED"}}</option>
|
<option value="ranged">{{localize "WEAPON.RANGED"}}</option>
|
||||||
{{/select}}
|
{{/select}}
|
||||||
|
@ -28,10 +28,10 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<div class="description">
|
<div class="description">
|
||||||
<h2>{{localize data.description.label}}</h2>
|
<h2>{{localize data.data.description.label}}</h2>
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div class="description">
|
<div class="description">
|
||||||
{{editor content=data.description.value target="data.description.value" button=true owner=owner editable=editable}}
|
{{editor content=data.data.description.value target="data.description.value" button=true owner=owner editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -10,22 +10,22 @@
|
||||||
<div class="grid-container" style="grid-template-columns: 1fr 1fr;">
|
<div class="grid-container" style="grid-template-columns: 1fr 1fr;">
|
||||||
<!--
|
<!--
|
||||||
<div class="supply">
|
<div class="supply">
|
||||||
<label>{{localize data.quantity.label}}</label>
|
<label>{{localize data.data.quantity.label}}</label>
|
||||||
<input name="data.quantity.value" type="number" value="{{data.quantity.value}}" />
|
<input name="data.quantity.value" type="number" value="{{data.data.quantity.value}}" />
|
||||||
</div>
|
</div>
|
||||||
-->
|
-->
|
||||||
<div class="cost">
|
<div class="cost">
|
||||||
<label>{{localize data.price.label}}</label>
|
<label>{{localize data.data.price.label}}</label>
|
||||||
<input name="data.price.value" type="text" value="{{data.price.value}}" />
|
<input name="data.price.value" type="text" value="{{data.data.price.value}}" />
|
||||||
</div>
|
</div>
|
||||||
<div class="rating">
|
<div class="rating">
|
||||||
<label>{{localize data.defence.label}}</label>
|
<label>{{localize data.data.defence.label}}</label>
|
||||||
<input name="data.defence.value" type="text" value="{{data.defence.value}}" />
|
<input name="data.defence.value" type="text" value="{{data.data.defence.value}}" />
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<label>{{localize data.type.label}}</label>
|
<label>{{localize data.data.type.label}}</label>
|
||||||
<select class="item-weapon-cat-select" name="data.type.value">
|
<select class="item-weapon-cat-select" name="data.type.value">
|
||||||
{{#select data.type.value}}
|
{{#select data.data.type.value}}
|
||||||
{{#each this.KH.armor_types as |t|}}
|
{{#each this.KH.armor_types as |t|}}
|
||||||
<option value="{{t.value}}">{{localize t.label}}</option>
|
<option value="{{t.value}}">{{localize t.label}}</option>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
|
@ -34,14 +34,14 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="grid-container" style="grid-template-columns: 1fr auto;">
|
<div class="grid-container" style="grid-template-columns: 1fr auto;">
|
||||||
<!--
|
<!--
|
||||||
<label>{{localize data.equipable.label}}</label>
|
<label>{{localize data.data.equipable.label}}</label>
|
||||||
<a class="item-bool-click {{#if data.equipable.value}}active{{/if}}" data-name="equipable" title="equipable">
|
<a class="item-bool-click {{#if data.data.equipable.value}}active{{/if}}" data-name="equipable" title="equipable">
|
||||||
<i class="far {{#if data.equipable.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
<i class="far {{#if data.data.equipable.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
||||||
</a>
|
</a>
|
||||||
-->
|
-->
|
||||||
<label>{{localize data.helmet.label}}</label>
|
<label>{{localize data.data.helmet.label}}</label>
|
||||||
<a class="item-bool-click {{#if data.helmet.value}}active{{/if}}" data-name="helmet" title="helmet">
|
<a class="item-bool-click {{#if data.data.helmet.value}}active{{/if}}" data-name="helmet" title="helmet">
|
||||||
<i class="far {{#if data.helmet.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
<i class="far {{#if data.data.helmet.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -55,10 +55,10 @@
|
||||||
<div class="tab scroll-y" data-group="primary" data-tab="description">
|
<div class="tab scroll-y" data-group="primary" data-tab="description">
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<div class="description">
|
<div class="description">
|
||||||
<h2>{{localize data.description.label}}</h2>
|
<h2>{{localize data.data.description.label}}</h2>
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div class="description">
|
<div class="description">
|
||||||
{{editor content=data.description.value target="data.description.value" button=true owner=owner editable=editable}}
|
{{editor content=data.data.description.value target="data.description.value" button=true owner=owner editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -8,21 +8,21 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="grid-container" style="grid-template-columns: 1fr 1fr;">
|
<div class="grid-container" style="grid-template-columns: 1fr 1fr;">
|
||||||
<div class="supply">
|
<div class="supply">
|
||||||
<label>{{localize data.quantity.label}}</label>
|
<label>{{localize data.data.quantity.label}}</label>
|
||||||
<input name="data.quantity.value" type="number" value="{{data.quantity.value}}" />
|
<input name="data.quantity.value" type="number" value="{{data.data.quantity.value}}" />
|
||||||
</div>
|
</div>
|
||||||
<div class="cost">
|
<div class="cost">
|
||||||
<label>{{localize data.price.label}}</label>
|
<label>{{localize data.data.price.label}}</label>
|
||||||
<input name="data.price.value" type="text" value="{{data.price.value}}" />
|
<input name="data.price.value" type="text" value="{{data.data.price.value}}" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<div class="description">
|
<div class="description">
|
||||||
<h2>{{localize data.description.label}}</h2>
|
<h2>{{localize data.data.description.label}}</h2>
|
||||||
<div class="info-mid">
|
<div class="info-mid">
|
||||||
<div class="description">
|
<div class="description">
|
||||||
{{editor content=data.description.value target="data.description.value" button=true owner=owner editable=editable}}
|
{{editor content=data.data.description.value target="data.description.value" button=true owner=owner editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -9,10 +9,10 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<div class="talent-description">
|
<div class="talent-description">
|
||||||
<h2>{{localize data.description.label}}</h2>
|
<h2>{{localize data.data.description.label}}</h2>
|
||||||
<div class="info-mid">
|
<div class="info-mid">
|
||||||
<div class="description">
|
<div class="description">
|
||||||
{{editor content=data.description.value target="data.description.value" button=true owner=owner editable=editable}}
|
{{editor content=data.data.description.value target="data.description.value" button=true owner=owner editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -9,17 +9,17 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="grid-container" style="grid-template-columns: 1fr 1fr;">
|
<div class="grid-container" style="grid-template-columns: 1fr 1fr;">
|
||||||
<div class="cost">
|
<div class="cost">
|
||||||
<label>{{localize data.price.label}}</label>
|
<label>{{localize data.data.price.label}}</label>
|
||||||
<input name="data.price.value" type="text" value="{{data.price.value}}" />
|
<input name="data.price.value" type="text" value="{{data.data.price.value}}" />
|
||||||
</div>
|
</div>
|
||||||
<div class="rating">
|
<div class="rating">
|
||||||
<label>{{localize data.damage.label}}</label>
|
<label>{{localize data.data.damage.label}}</label>
|
||||||
<input name="data.damage.value" type="text" value="{{data.damage.value}}" />
|
<input name="data.damage.value" type="text" value="{{data.data.damage.value}}" />
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<label>{{localize "ITEM.SKILL"}}</label>
|
<label>{{localize "ITEM.SKILL"}}</label>
|
||||||
<select class="item-weapon-skill-select" name="data.skill.value">
|
<select class="item-weapon-skill-select" name="data.skill.value">
|
||||||
{{#select data.skill.value}}
|
{{#select data.data.skill.value}}
|
||||||
{{#each this.khskills as |t|}}
|
{{#each this.khskills as |t|}}
|
||||||
<option value="{{t.name}}">{{t.name}}</option>
|
<option value="{{t.name}}">{{t.name}}</option>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
|
@ -29,10 +29,10 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<div class="description">
|
<div class="description">
|
||||||
<h2>{{localize data.description.label}}</h2>
|
<h2>{{localize data.data.description.label}}</h2>
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div class="description">
|
<div class="description">
|
||||||
{{editor content=data.description.value target="data.description.value" button=true owner=owner editable=editable}}
|
{{editor content=data.data.description.value target="data.description.value" button=true owner=owner editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -9,9 +9,9 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="grid-container" style="grid-template-columns: 1fr 1fr;">
|
<div class="grid-container" style="grid-template-columns: 1fr 1fr;">
|
||||||
<div>
|
<div>
|
||||||
<label>{{localize data.type.label}}</label>
|
<label>{{localize data.data.type.label}}</label>
|
||||||
<select class="item-weapon-cat-select" name="data.type.value">
|
<select class="item-weapon-cat-select" name="data.type.value">
|
||||||
{{#select data.type.value}}
|
{{#select data.data.type.value}}
|
||||||
<option value="base">{{localize "SKILL.BASE"}}</option>
|
<option value="base">{{localize "SKILL.BASE"}}</option>
|
||||||
<option value="adventure">{{localize "SKILL.ADVENTURE"}}</option>
|
<option value="adventure">{{localize "SKILL.ADVENTURE"}}</option>
|
||||||
<option value="combat">{{localize "SKILL.COMBAT"}}</option>
|
<option value="combat">{{localize "SKILL.COMBAT"}}</option>
|
||||||
|
@ -20,15 +20,15 @@
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<label>{{localize "SKILL.STARTVALUE"}}</label>
|
<label>{{localize "SKILL.STARTVALUE"}}</label>
|
||||||
<input name="data.value" type="text" value="{{data.value}}" />
|
<input name="data.value" type="text" value="{{data.data.value}}" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<div class="description">
|
<div class="description">
|
||||||
<h2>{{localize data.description.label}}</h2>
|
<h2>{{localize data.data.description.label}}</h2>
|
||||||
<div class="info-mid">
|
<div class="info-mid">
|
||||||
<div class="description">
|
<div class="description">
|
||||||
{{editor content=data.description.value target="data.description.value" button=true owner=owner editable=editable}}
|
{{editor content=data.data.description.value target="data.description.value" button=true owner=owner editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -9,13 +9,13 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="grid-container" style="grid-template-columns: 1fr 1fr;">
|
<div class="grid-container" style="grid-template-columns: 1fr 1fr;">
|
||||||
<div class="cost">
|
<div class="cost">
|
||||||
<label>{{localize data.cost.label}}</label>
|
<label>{{localize data.data.cost.label}}</label>
|
||||||
<input name="data.cost.value" type="text" value="{{data.cost.value}}" />
|
<input name="data.cost.value" type="text" value="{{data.data.cost.value}}" />
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<label>{{localize data.difficulty.label}}</label>
|
<label>{{localize data.data.difficulty.label}}</label>
|
||||||
<select class="item-weapon-cat-select" name="data.difficulty.value">
|
<select class="item-weapon-cat-select" name="data.data.difficulty.value">
|
||||||
{{#select data.difficulty.value}}
|
{{#select data.data.difficulty.value}}
|
||||||
<option value="simple">{{localize "DIFFICULTY.SIMPLE"}}</option>
|
<option value="simple">{{localize "DIFFICULTY.SIMPLE"}}</option>
|
||||||
<option value="easy">{{localize "DIFFICULTY.EASY"}}</option>
|
<option value="easy">{{localize "DIFFICULTY.EASY"}}</option>
|
||||||
<option value="average">{{localize "DIFFICULTY.AVERAGE"}}</option>
|
<option value="average">{{localize "DIFFICULTY.AVERAGE"}}</option>
|
||||||
|
@ -25,9 +25,9 @@
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div style="grid-column-start: 1; grid-column-end: 3;">
|
<div style="grid-column-start: 1; grid-column-end: 3;">
|
||||||
<label>{{localize data.roll.label}}</label>
|
<label>{{localize data.data.roll.label}}</label>
|
||||||
<select class="item-weapon-cat-select" name="data.roll.value">
|
<select class="item-weapon-cat-select" name="data.roll.value">
|
||||||
{{#select data.roll.value}}
|
{{#select data.data.roll.value}}
|
||||||
<option value="roll">{{localize "SPELL.ROLL"}}</option>
|
<option value="roll">{{localize "SPELL.ROLL"}}</option>
|
||||||
<option value="attackroll">{{localize "SPELL.ATTACKROLL"}}</option>
|
<option value="attackroll">{{localize "SPELL.ATTACKROLL"}}</option>
|
||||||
<option value="opposite">{{localize "SPELL.OPPOSITE"}}</option>
|
<option value="opposite">{{localize "SPELL.OPPOSITE"}}</option>
|
||||||
|
@ -35,23 +35,114 @@
|
||||||
{{/select}}
|
{{/select}}
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div style="grid-column-start: 1; grid-column-end: 3;">
|
{{#iff data.data.roll.value '==' "opposite" }}
|
||||||
<label>{{localize "ITEM.SKILL"}}</label>
|
<div>
|
||||||
<select class="item-weapon-skill-select" name="data.roll.skill">
|
<label>{{localize "ITEM.SKILL"}}</label>
|
||||||
{{#select data.roll.skill}}
|
<select class="item-weapon-skill-select" name="data.roll.skill">
|
||||||
{{#each this.khskills as |t|}}
|
{{#select data.data.roll.skill}}
|
||||||
<option value="{{t.name}}">{{t.name}}</option>
|
{{#each this.khskills as |t|}}
|
||||||
{{/each}}
|
<option value="{{t.name}}">{{t.name}}</option>
|
||||||
{{/select}}
|
{{/each}}
|
||||||
</select>
|
{{/select}}
|
||||||
</div>
|
</select>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<label>{{localize "ITEM.SKILL"}}</label>
|
||||||
|
<select class="item-weapon-skill-select" name="data.roll.oppositeskill">
|
||||||
|
{{#select data.data.roll.oppositeskill}}
|
||||||
|
{{#each this.khskills as |t|}}
|
||||||
|
<option value="{{t.name}}">{{t.name}}</option>
|
||||||
|
{{/each}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div> </div>
|
||||||
|
<div>
|
||||||
|
<label>{{localize "ITEM.SKILL"}}</label>
|
||||||
|
<select class="item-weapon-skill-select" name="data.roll.oppositeskilltwo">
|
||||||
|
{{#select data.data.roll.oppositeskilltwo}}
|
||||||
|
<option value="">{{localize "SKILL.NONE"}}</option>
|
||||||
|
{{#each this.khskills as |t|}}
|
||||||
|
<option value="{{t.name}}">{{t.name}}</option>
|
||||||
|
{{/each}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
{{else iff data.data.roll.value '==' "ritual" }}
|
||||||
|
<div>
|
||||||
|
<label>{{localize "ITEM.SKILL"}}</label>
|
||||||
|
<select class="item-weapon-skill-select" name="data.roll.ritual.skillone">
|
||||||
|
{{#select data.data.roll.ritual.skillone}}
|
||||||
|
<option value="">{{localize "SKILL.NONE"}}</option>
|
||||||
|
{{#each this.khskills as |t|}}
|
||||||
|
<option value="{{t.name}}">{{t.name}}</option>
|
||||||
|
{{/each}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<label>{{localize "ITEM.SKILL"}}</label>
|
||||||
|
<select class="item-weapon-skill-select" name="data.roll.ritual.skilltwo">
|
||||||
|
{{#select data.data.roll.ritual.skilltwo}}
|
||||||
|
<option value="">{{localize "SKILL.NONE"}}</option>
|
||||||
|
{{#each this.khskills as |t|}}
|
||||||
|
<option value="{{t.name}}">{{t.name}}</option>
|
||||||
|
{{/each}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<label>{{localize "ITEM.SKILL"}}</label>
|
||||||
|
<select class="item-weapon-skill-select" name="data.roll.ritual.skillthree">
|
||||||
|
{{#select data.data.roll.ritual.skillthree}}
|
||||||
|
<option value="">{{localize "SKILL.NONE"}}</option>
|
||||||
|
{{#each this.khskills as |t|}}
|
||||||
|
<option value="{{t.name}}">{{t.name}}</option>
|
||||||
|
{{/each}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<label>{{localize "ITEM.SKILL"}}</label>
|
||||||
|
<select class="item-weapon-skill-select" name="data.roll.ritual.skillfour">
|
||||||
|
{{#select data.data.roll.ritual.skillfour}}
|
||||||
|
<option value="">{{localize "SKILL.NONE"}}</option>
|
||||||
|
{{#each this.khskills as |t|}}
|
||||||
|
<option value="{{t.name}}">{{t.name}}</option>
|
||||||
|
{{/each}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<label>{{localize "ITEM.SKILL"}}</label>
|
||||||
|
<select class="item-weapon-skill-select" name="data.roll.ritual.skillfive">
|
||||||
|
{{#select data.data.roll.ritual.skillfive}}
|
||||||
|
<option value="">{{localize "SKILL.NONE"}}</option>
|
||||||
|
{{#each this.khskills as |t|}}
|
||||||
|
<option value="{{t.name}}">{{t.name}}</option>
|
||||||
|
{{/each}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
{{else}}
|
||||||
|
<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.data.roll.skill}}
|
||||||
|
{{#each this.khskills as |t|}}
|
||||||
|
<option value="{{t.name}}">{{t.name}}</option>
|
||||||
|
{{/each}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
{{/iff}}
|
||||||
</div>
|
</div>
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<div class="description">
|
<div class="description">
|
||||||
<h2>{{localize data.description.label}}</h2>
|
<h2>{{localize data.data.description.label}}</h2>
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div class="description">
|
<div class="description">
|
||||||
{{editor content=data.description.value target="data.description.value" button=true owner=owner editable=editable}}
|
{{editor content=data.data.description.value target="data.description.value" button=true owner=owner editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -9,10 +9,10 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<div class="talent-description">
|
<div class="talent-description">
|
||||||
<h2>{{localize data.description.label}}</h2>
|
<h2>{{localize data.data.description.label}}</h2>
|
||||||
<div class="info-mid">
|
<div class="info-mid">
|
||||||
<div class="description">
|
<div class="description">
|
||||||
{{editor content=data.description.value target="data.description.value" button=true owner=owner editable=editable}}
|
{{editor content=data.data.description.value target="data.description.value" button=true owner=owner editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -10,22 +10,22 @@
|
||||||
<div class="grid-container" style="grid-template-columns: 1fr 1fr;">
|
<div class="grid-container" style="grid-template-columns: 1fr 1fr;">
|
||||||
<!--
|
<!--
|
||||||
<div class="supply">
|
<div class="supply">
|
||||||
<label>{{localize data.quantity.label}}</label>
|
<label>{{localize data.data.quantity.label}}</label>
|
||||||
<input name="data.quantity.value" type="number" value="{{data.quantity.value}}" />
|
<input name="data.quantity.value" type="number" value="{{data.data.quantity.value}}" />
|
||||||
</div>
|
</div>
|
||||||
-->
|
-->
|
||||||
<div class="cost">
|
<div class="cost">
|
||||||
<label>{{localize data.price.label}}</label>
|
<label>{{localize data.data.price.label}}</label>
|
||||||
<input name="data.price.value" type="text" value="{{data.price.value}}" />
|
<input name="data.price.value" type="text" value="{{data.data.price.value}}" />
|
||||||
</div>
|
</div>
|
||||||
<div class="rating">
|
<div class="rating">
|
||||||
<label>{{localize data.damage.label}}</label>
|
<label>{{localize data.data.damage.label}}</label>
|
||||||
<input name="data.damage.value" type="text" value="{{data.damage.value}}" />
|
<input name="data.damage.value" type="text" value="{{data.data.damage.value}}" />
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<label>{{localize data.category.label}}</label>
|
<label>{{localize data.data.category.label}}</label>
|
||||||
<select class="item-weapon-cat-select" name="data.category.value">
|
<select class="item-weapon-cat-select" name="data.category.value">
|
||||||
{{#select data.category.value}}
|
{{#select data.data.category.value}}
|
||||||
<option value="melee">{{localize "WEAPON.MELEE"}}</option>
|
<option value="melee">{{localize "WEAPON.MELEE"}}</option>
|
||||||
<option value="ranged">{{localize "WEAPON.RANGED"}}</option>
|
<option value="ranged">{{localize "WEAPON.RANGED"}}</option>
|
||||||
{{/select}}
|
{{/select}}
|
||||||
|
@ -34,7 +34,7 @@
|
||||||
<div>
|
<div>
|
||||||
<label>{{localize "ITEM.SKILL"}}</label>
|
<label>{{localize "ITEM.SKILL"}}</label>
|
||||||
<select class="item-weapon-skill-select" name="data.skill.value">
|
<select class="item-weapon-skill-select" name="data.skill.value">
|
||||||
{{#select data.skill.value}}
|
{{#select data.data.skill.value}}
|
||||||
{{#each this.khskills as |t|}}
|
{{#each this.khskills as |t|}}
|
||||||
<option value="{{t.name}}">{{t.name}}</option>
|
<option value="{{t.name}}">{{t.name}}</option>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
|
@ -43,19 +43,19 @@
|
||||||
</div>
|
</div>
|
||||||
<!--
|
<!--
|
||||||
<div class="grid-container" style="grid-template-columns: 1fr auto;">
|
<div class="grid-container" style="grid-template-columns: 1fr auto;">
|
||||||
<label>{{localize data.equipable.label}}</label>
|
<label>{{localize data.data.equipable.label}}</label>
|
||||||
<a class="item-bool-click {{#if data.equipable.value}}active{{/if}}" data-name="equipable" title="equipable">
|
<a class="item-bool-click {{#if data.data.equipable.value}}active{{/if}}" data-name="equipable" title="equipable">
|
||||||
<i class="far {{#if data.equipable.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
<i class="far {{#if data.data.equipable.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
-->
|
-->
|
||||||
</div>
|
</div>
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<div class="description">
|
<div class="description">
|
||||||
<h2>{{localize data.description.label}}</h2>
|
<h2>{{localize data.data.description.label}}</h2>
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div class="description">
|
<div class="description">
|
||||||
{{editor content=data.description.value target="data.description.value" button=true owner=owner editable=editable}}
|
{{editor content=data.data.description.value target="data.description.value" button=true owner=owner editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -2,30 +2,30 @@
|
||||||
<div class="bio-background grid-container" style="height: 100%; grid-column-gap: 5px; grid-template-rows: auto auto auto 1fr; grid-template-columns: auto 1fr auto 1fr;">
|
<div class="bio-background grid-container" style="height: 100%; grid-column-gap: 5px; grid-template-rows: auto auto auto 1fr; grid-template-columns: auto 1fr auto 1fr;">
|
||||||
<h1>{{localize "BACKGROUND.TITLE"}}</h1>
|
<h1>{{localize "BACKGROUND.TITLE"}}</h1>
|
||||||
|
|
||||||
<div class="name">{{localize data.bio.age.label}}:</div>
|
<div class="name">{{localize data.data.bio.age.label}}:</div>
|
||||||
<input name="data.bio.age.value" type="text" value="{{data.bio.age.value}}" />
|
<input name="data.bio.age.value" type="text" value="{{data.data.bio.age.value}}" />
|
||||||
|
|
||||||
<div class="name">{{localize data.background.birthplace.label}}</div>
|
<div class="name">{{localize data.data.background.birthplace.label}}</div>
|
||||||
<input name="data.background.birthplace.value" type="text" value="{{data.background.birthplace.value}}" />
|
<input name="data.background.birthplace.value" type="text" value="{{data.data.background.birthplace.value}}" />
|
||||||
|
|
||||||
<div class="name">{{localize data.background.social.label}}</div>
|
<div class="name">{{localize data.data.background.social.label}}</div>
|
||||||
<input name="data.background.social.value" type="text" value="{{data.background.social.value}}" />
|
<input name="data.background.social.value" type="text" value="{{data.data.background.social.value}}" />
|
||||||
|
|
||||||
<div></div>
|
<div></div>
|
||||||
<div></div>
|
<div></div>
|
||||||
|
|
||||||
<div class="name-top">{{localize data.background.events.label}}</div>
|
<div class="name-top">{{localize data.data.background.events.label}}</div>
|
||||||
<div class="info-bio border-thin" style="/*grid-row: 4/6; grid-column: 2;*/">
|
<div class="info-bio border-thin" style="/*grid-row: 4/6; grid-column: 2;*/">
|
||||||
<div class="description">
|
<div class="description">
|
||||||
{{editor content=data.background.events.value target="data.background.events.value" button=true owner=owner editable=editable}}
|
{{editor content=data.data.background.events.value target="data.background.events.value" button=true owner=owner editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="name-top">{{localize data.background.contacts.label}}</div>
|
<div class="name-top">{{localize data.data.background.contacts.label}}</div>
|
||||||
<div class="info-bio border-thin" style="/*grid-row: 4/6; grid-column: 4;*/">
|
<div class="info-bio border-thin" style="/*grid-row: 4/6; grid-column: 4;*/">
|
||||||
<div class="description">
|
<div class="description">
|
||||||
{{editor content=data.background.contacts.value target="data.background.contacts.value" button=true owner=owner editable=editable}}
|
{{editor content=data.data.background.contacts.value target="data.background.contacts.value" button=true owner=owner editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -4,25 +4,25 @@
|
||||||
<ul class="items-list">
|
<ul class="items-list">
|
||||||
<li class="item-nor flexrow">
|
<li class="item-nor flexrow">
|
||||||
<div class="item-name" style="flex-grow: 8;">{{localize "MOD.INIT"}}</div>
|
<div class="item-name" style="flex-grow: 8;">{{localize "MOD.INIT"}}</div>
|
||||||
<div class="item-value" style="flex: none;"><input name="data.combat.init" class="skill-value" type="number" value="{{data.combat.init}}" data-dtype="Number" /></div>
|
<div class="item-value" style="flex: none;"><input name="data.combat.init" class="skill-value" type="number" value="{{data.data.combat.init}}" data-dtype="Number" /></div>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li class="item-defence flexrow" data-defence="{{data.combat.defence}}">
|
<li class="item-defence flexrow" data-defence="{{data.data.combat.defence}}">
|
||||||
<div class="item-name roll-defence rollable" data-defence="{{data.combat.defence}}" style="flex-grow: 8;">{{localize "ADVERSARY.DEFENCE"}}</div>
|
<div class="item-name roll-defence rollable" data-defence="{{data.data.combat.defence}}" style="flex-grow: 8;">{{localize "ADVERSARY.DEFENCE"}}</div>
|
||||||
<div class="item-value" style="flex: none;"><input name="data.combat.defence" class="skill-value" type="text" value="{{data.combat.defence}}" /></div>
|
<div class="item-value" style="flex: none;"><input name="data.combat.defence" class="skill-value" type="text" value="{{data.data.combat.defence}}" /></div>
|
||||||
</li>
|
</li>
|
||||||
<li class="item-nor flexrow">
|
<li class="item-nor flexrow">
|
||||||
<div class="item-name" style="flex-grow: 8;">{{localize "ADVERSARY.HASHELMET"}}</div>
|
<div class="item-name" style="flex-grow: 8;">{{localize "ADVERSARY.HASHELMET"}}</div>
|
||||||
<div style="align-self: flex-end">
|
<div style="align-self: flex-end">
|
||||||
<a style="margin: auto;" class="adversary-helmet-click {{#if data.combat.helmet}}active{{/if}}">
|
<a style="margin: auto;" class="adversary-helmet-click {{#if data.data.combat.helmet}}active{{/if}}">
|
||||||
<i class="far {{#if data.combat.helmet}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
<i class="far {{#if data.data.combat.helmet}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li class="item-nor flexrow">
|
<li class="item-nor flexrow">
|
||||||
<div class="item-name roll-adversary-armor rollable" data-armor="{{data.combat.armor}}" style="flex-grow: 8;">{{localize "ITEM.DEFENCE"}}</div>
|
<div class="item-name roll-adversary-armor rollable" data-armor="{{data.data.combat.armor}}" style="flex-grow: 8;">{{localize "ITEM.DEFENCE"}}</div>
|
||||||
<div class="item-value" style="flex: none;"><input name="data.combat.armor" class="skill-value" type="text" value="{{data.combat.armor}}" /></div>
|
<div class="item-value" style="flex: none;"><input name="data.combat.armor" class="skill-value" type="text" value="{{data.data.combat.armor}}" /></div>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -35,7 +35,7 @@
|
||||||
{{#each actor.skills as |skill key|}}
|
{{#each actor.skills as |skill key|}}
|
||||||
<li class="item-skill flexrow" data-item-id="{{skill._id}}">
|
<li class="item-skill flexrow" data-item-id="{{skill._id}}">
|
||||||
<div class="item-name roll-skill rollable" style="flex-grow: 8;">{{skill.name}}</div>
|
<div class="item-name roll-skill rollable" style="flex-grow: 8;">{{skill.name}}</div>
|
||||||
<div class="item-value" style="flex: none;"><input class="skill-value" type="number" value="{{skill.data.value}}" min="0" data-item-id="{{skill._id}}" data-dtype="Number" /></div>
|
<div class="item-value" style="flex: none;"><input class="skill-value" type="number" value="{{skill.data.value}}" min="0" data-item-id="{{skill.id}}" data-dtype="Number" /></div>
|
||||||
<div class="item-controls">
|
<div class="item-controls">
|
||||||
<a class="item-control item-delete" data-parent=".item-skill" title="Delete Item"><i class="fas fa-trash"></i></a>
|
<a class="item-control item-delete" data-parent=".item-skill" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -2,10 +2,10 @@
|
||||||
<div class="currencies border">
|
<div class="currencies border">
|
||||||
<div class="header grid-container" style="grid-template-columns: auto 1fr auto 1fr;">
|
<div class="header grid-container" style="grid-template-columns: auto 1fr auto 1fr;">
|
||||||
<h1 style="margin-bottom: 0; grid-column: 1/5;">{{localize "CURRENCY.TITLE"}}</h1>
|
<h1 style="margin-bottom: 0; grid-column: 1/5;">{{localize "CURRENCY.TITLE"}}</h1>
|
||||||
<label style="margin: auto;">{{localize data.currency.shekel.label}}:</label>
|
<label style="margin: auto;">{{localize data.data.currency.shekel.label}}:</label>
|
||||||
<input class="center-text" name="data.currency.shekel.value" type="number" value="{{data.currency.shekel.value}}" />
|
<input class="center-text" name="data.currency.shekel.value" type="number" value="{{data.data.currency.shekel.value}}" />
|
||||||
<label style="margin: auto;">{{localize data.currency.quarter.label}}:</label>
|
<label style="margin: auto;">{{localize data.data.currency.quarter.label}}:</label>
|
||||||
<input class="center-text" name="data.currency.quarter.value" type="number" value="{{data.currency.quarter.value}}" />
|
<input class="center-text" name="data.currency.quarter.value" type="number" value="{{data.data.currency.quarter.value}}" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="gear border scroll-y">
|
<div class="gear border scroll-y">
|
||||||
|
|
|
@ -4,17 +4,17 @@
|
||||||
<ul class="items-list">
|
<ul class="items-list">
|
||||||
<li class="item-nor flexrow">
|
<li class="item-nor flexrow">
|
||||||
<div class="item-name" style="flex-grow: 8;">{{localize "MOD.INIT"}}</div>
|
<div class="item-name" style="flex-grow: 8;">{{localize "MOD.INIT"}}</div>
|
||||||
<div class="item-value" style="flex: none;"><input name="data.combat.init" class="skill-value" type="number" value="{{data.combat.init}}" data-dtype="Number" /></div>
|
<div class="item-value" style="flex: none;"><input name="data.combat.init" class="skill-value" type="number" value="{{data.data.combat.init}}" data-dtype="Number" /></div>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li class="item-defence flexrow" data-defence="{{data.combat.defence}}">
|
<li class="item-defence flexrow" data-defence="{{data.data.combat.defence}}">
|
||||||
<div class="item-name roll-defence rollable" data-defence="{{data.combat.defence}}" style="flex-grow: 8;">{{localize "ADVERSARY.DEFENCE"}}</div>
|
<div class="item-name roll-defence rollable" data-defence="{{data.data.combat.defence}}" style="flex-grow: 8;">{{localize "ADVERSARY.DEFENCE"}}</div>
|
||||||
<div class="item-value" style="flex: none;"><input name="data.combat.defence" class="skill-value" type="text" value="{{data.combat.defence}}" /></div>
|
<div class="item-value" style="flex: none;"><input name="data.combat.defence" class="skill-value" type="text" value="{{data.data.combat.defence}}" /></div>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li class="item-nor flexrow">
|
<li class="item-nor flexrow">
|
||||||
<div class="item-name roll-adversary-armor rollable" data-armor="{{data.combat.armor}}" style="flex-grow: 8;">{{localize "ITEM.DEFENCE"}}</div>
|
<div class="item-name roll-adversary-armor rollable" data-armor="{{data.data.combat.armor}}" style="flex-grow: 8;">{{localize "ITEM.DEFENCE"}}</div>
|
||||||
<div class="item-value" style="flex: none;"><input name="data.combat.armor" class="skill-value" type="text" value="{{data.combat.armor}}" /></div>
|
<div class="item-value" style="flex: none;"><input name="data.combat.armor" class="skill-value" type="text" value="{{data.data.combat.armor}}" /></div>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
|
@ -1,32 +1,32 @@
|
||||||
<div class="bio-tab border scroll-y" style="height: 100%; border-top: none;">
|
<div class="bio-tab border scroll-y" style="height: 100%; border-top: none;">
|
||||||
<div class="grid-container" style="height: fit-content; border-top: none; grid-template-rows: 1fr auto auto; grid-template-columns: 1fr 1fr;">
|
<div class="grid-container" style="height: fit-content; border-top: none; grid-template-rows: 1fr auto auto; grid-template-columns: 1fr 1fr;">
|
||||||
<div class="border grid-container" style="height: 100%; grid-row: 1/4; grid-template-rows: auto 1fr; height: fit-content; min-height: 200px;">
|
<div class="border grid-container" style="height: 100%; grid-row: 1/4; grid-template-rows: auto 1fr; height: fit-content; min-height: 200px;">
|
||||||
<h2 style="margin-bottom: 0;">{{localize data.bio.appearance.label}}</h2>
|
<h2 style="margin-bottom: 0;">{{localize data.data.bio.appearance.label}}</h2>
|
||||||
<div class="description">
|
<div class="description">
|
||||||
{{editor content=data.bio.appearance.value target="data.bio.appearance.value" button=true owner=owner editable=editable}}
|
{{editor content=data.data.bio.appearance.value target="data.bio.appearance.value" button=true owner=owner editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="border grid-container" style="grid-column-gap: 5px; grid-template-columns: 1fr auto; max-height: 163px;">
|
<div class="border grid-container" style="grid-column-gap: 5px; grid-template-columns: 1fr auto; max-height: 163px;">
|
||||||
<h2 style="margin-bottom: 0; grid-column: 1/3;">{{localize "HT.FEATURES.TITLE"}}</h2>
|
<h2 style="margin-bottom: 0; grid-column: 1/3;">{{localize "HT.FEATURES.TITLE"}}</h2>
|
||||||
|
|
||||||
<input name="data.feature.one.label" class="roll-feature" type="text" value="{{data.feature.one.label}}" />
|
<input name="data.feature.one.label" class="roll-feature" type="text" value="{{data.data.feature.one.label}}" />
|
||||||
<a style="margin: auto;" class="feature {{#if data.feature.one.value}}active{{/if}}" data-feature="one">
|
<a style="margin: auto;" class="feature {{#if data.data.feature.one.value}}active{{/if}}" data-feature="one">
|
||||||
<i class="far {{#if data.feature.one.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
<i class="far {{#if data.data.feature.one.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<input name="data.feature.two.label" class="roll-feature" type="text" value="{{data.feature.two.label}}" />
|
<input name="data.feature.two.label" class="roll-feature" type="text" value="{{data.data.feature.two.label}}" />
|
||||||
<a style="margin: auto;" class="feature {{#if data.feature.two.value}}active{{/if}}" data-feature="two">
|
<a style="margin: auto;" class="feature {{#if data.data.feature.two.value}}active{{/if}}" data-feature="two">
|
||||||
<i class="far {{#if data.feature.two.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
<i class="far {{#if data.data.feature.two.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<input name="data.feature.three.label" class="roll-feature" type="text" value="{{data.feature.three.label}}" />
|
<input name="data.feature.three.label" class="roll-feature" type="text" value="{{data.data.feature.three.label}}" />
|
||||||
<a style="margin: auto;" class="feature {{#if data.feature.three.value}}active{{/if}}" data-feature="three">
|
<a style="margin: auto;" class="feature {{#if data.data.feature.three.value}}active{{/if}}" data-feature="three">
|
||||||
<i class="far {{#if data.feature.three.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
<i class="far {{#if data.data.feature.three.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<input name="data.feature.four.label" class="roll-feature" type="text" value="{{data.feature.four.label}}" />
|
<input name="data.feature.four.label" class="roll-feature" type="text" value="{{data.data.feature.four.label}}" />
|
||||||
<a style="margin: auto;" class="feature {{#if data.feature.four.value}}active{{/if}}" data-feature="four">
|
<a style="margin: auto;" class="feature {{#if data.data.feature.four.value}}active{{/if}}" data-feature="four">
|
||||||
<i class="far {{#if data.feature.four.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
<i class="far {{#if data.data.feature.four.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="border">
|
<div class="border">
|
||||||
|
@ -38,7 +38,7 @@
|
||||||
</h2>
|
</h2>
|
||||||
</header>
|
</header>
|
||||||
<ol class="relation-list" style="padding: 0;">
|
<ol class="relation-list" style="padding: 0;">
|
||||||
{{#each data.relationships as |attr key|}}
|
{{#each data.data.relationships as |attr key|}}
|
||||||
<li class="relation grid-container" style="grid-template-columns: 2fr auto auto;" data-attribute="{{key}}">
|
<li class="relation grid-container" style="grid-template-columns: 2fr auto auto;" data-attribute="{{key}}">
|
||||||
<input class="relation-key" type="text" name="data.relationships.{{key}}.key" value="{{key}}" style="display: none;" />
|
<input class="relation-key" type="text" name="data.relationships.{{key}}.key" value="{{key}}" style="display: none;" />
|
||||||
<input class="relation-value" type="text" name="data.relationships.{{key}}.value" value="{{attr.value}}" />
|
<input class="relation-value" type="text" name="data.relationships.{{key}}.value" value="{{attr.value}}" />
|
||||||
|
@ -59,7 +59,7 @@
|
||||||
</h2>
|
</h2>
|
||||||
</header>
|
</header>
|
||||||
<ol class="learning-list" style="padding: 0;">
|
<ol class="learning-list" style="padding: 0;">
|
||||||
{{#each data.learning as |attr key|}}
|
{{#each data.data.learning as |attr key|}}
|
||||||
<li class="learning grid-container" style="grid-template-columns: 2fr auto auto;" data-attribute="{{key}}">
|
<li class="learning grid-container" style="grid-template-columns: 2fr auto auto;" data-attribute="{{key}}">
|
||||||
<input class="learning-key" type="text" name="data.learning.{{key}}.key" value="{{key}}" style="display: none;" />
|
<input class="learning-key" type="text" name="data.learning.{{key}}.key" value="{{key}}" style="display: none;" />
|
||||||
<input style="margin-top: auto; margin-bottom: auto;" class="learning-value" type="text" name="data.learning.{{key}}.value" value="{{attr.value}}" />
|
<input style="margin-top: auto; margin-bottom: auto;" class="learning-value" type="text" name="data.learning.{{key}}.value" value="{{attr.value}}" />
|
||||||
|
@ -90,7 +90,7 @@
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a style="margin: auto;" class="learning-control" data-action="delete"><i class="fas fa-trash"></i></a>
|
<a style="margin: auto;" class="learning-delete" data-action="delete"><i class="fas fa-trash"></i></a>
|
||||||
</li>
|
</li>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</ol>
|
</ol>
|
||||||
|
|
|
@ -40,7 +40,7 @@
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="skills border grid-container" style="grid-column-gap: 5px; grid-template-columns: 1fr;">
|
<div class="skills border grid-container" style="grid-column-gap: 5px; grid-template-columns: 1fr;">
|
||||||
<h1 style="grid-column: unset;">{{localize data.languages.label}}</h1>
|
<h1 style="grid-column: unset;">{{localize data.data.languages.label}}</h1>
|
||||||
<input name="data.languages.value" type="text" value="{{data.languages.value}}" />
|
<input name="data.languages.value" type="text" value="{{data.data.languages.value}}" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
|
@ -1,32 +1,32 @@
|
||||||
<div class="bio-tab border scroll-y" style="height: 100%; border-top: none;">
|
<div class="bio-tab border scroll-y" style="height: 100%; border-top: none;">
|
||||||
<div class="grid-container" style="height: fit-content; border-top: none; grid-template-rows: 1fr auto; grid-template-columns: 1fr 1fr;">
|
<div class="grid-container" style="height: fit-content; border-top: none; grid-template-rows: 1fr auto; grid-template-columns: 1fr 1fr;">
|
||||||
<div class="border grid-container" style="height: 100%; grid-row: 1/4; grid-template-rows: auto 1fr; height: fit-content; min-height: 200px;">
|
<div class="border grid-container" style="height: 100%; grid-row: 1/4; grid-template-rows: auto 1fr; height: fit-content; min-height: 200px;">
|
||||||
<h2 style="margin-bottom: 0;">{{localize data.bio.appearance.label}}</h2>
|
<h2 style="margin-bottom: 0;">{{localize data.data.bio.appearance.label}}</h2>
|
||||||
<div class="description">
|
<div class="description">
|
||||||
{{editor content=data.bio.appearance.value target="data.bio.appearance.value" button=true owner=owner editable=editable}}
|
{{editor content=data.data.bio.appearance.value target="data.bio.appearance.value" button=true owner=owner editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="border grid-container" style="grid-column-gap: 5px; grid-template-columns: 1fr auto; max-height: 163px;">
|
<div class="border grid-container" style="grid-column-gap: 5px; grid-template-columns: 1fr auto; max-height: 163px;">
|
||||||
<h2 style="margin-bottom: 0; grid-column: 1/3;">{{localize "FEATURES.TITLE"}}</h2>
|
<h2 style="margin-bottom: 0; grid-column: 1/3;">{{localize "FEATURES.TITLE"}}</h2>
|
||||||
|
|
||||||
<input name="data.feature.one.label" class="roll-feature" type="text" value="{{data.feature.one.label}}" />
|
<input name="data.feature.one.label" class="roll-feature" type="text" value="{{data.data.feature.one.label}}" />
|
||||||
<a style="margin: auto;" class="feature {{#if data.feature.one.value}}active{{/if}}" data-feature="one">
|
<a style="margin: auto;" class="feature {{#if data.data.feature.one.value}}active{{/if}}" data-feature="one">
|
||||||
<i class="far {{#if data.feature.one.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
<i class="far {{#if data.data.feature.one.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<input name="data.feature.two.label" class="roll-feature" type="text" value="{{data.feature.two.label}}" />
|
<input name="data.feature.two.label" class="roll-feature" type="text" value="{{data.data.feature.two.label}}" />
|
||||||
<a style="margin: auto;" class="feature {{#if data.feature.two.value}}active{{/if}}" data-feature="two">
|
<a style="margin: auto;" class="feature {{#if data.data.feature.two.value}}active{{/if}}" data-feature="two">
|
||||||
<i class="far {{#if data.feature.two.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
<i class="far {{#if data.data.feature.two.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<input name="data.feature.three.label" class="roll-feature" type="text" value="{{data.feature.three.label}}" />
|
<input name="data.feature.three.label" class="roll-feature" type="text" value="{{data.data.feature.three.label}}" />
|
||||||
<a style="margin: auto;" class="feature {{#if data.feature.three.value}}active{{/if}}" data-feature="three">
|
<a style="margin: auto;" class="feature {{#if data.data.feature.three.value}}active{{/if}}" data-feature="three">
|
||||||
<i class="far {{#if data.feature.three.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
<i class="far {{#if data.data.feature.three.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<input name="data.feature.four.label" class="roll-feature" type="text" value="{{data.feature.four.label}}" />
|
<input name="data.feature.four.label" class="roll-feature" type="text" value="{{data.data.feature.four.label}}" />
|
||||||
<a style="margin: auto;" class="feature {{#if data.feature.four.value}}active{{/if}}" data-feature="four">
|
<a style="margin: auto;" class="feature {{#if data.data.feature.four.value}}active{{/if}}" data-feature="four">
|
||||||
<i class="far {{#if data.feature.four.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
<i class="far {{#if data.data.feature.four.value}}fa-times-circle{{else}}fa-circle{{/if}}"></i>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="border">
|
<div class="border">
|
||||||
|
@ -38,7 +38,7 @@
|
||||||
</h2>
|
</h2>
|
||||||
</header>
|
</header>
|
||||||
<ol class="learning-list" style="padding: 0;">
|
<ol class="learning-list" style="padding: 0;">
|
||||||
{{#each data.learning as |attr key|}}
|
{{#each data.data.learning as |attr key|}}
|
||||||
<li class="learning grid-container" style="grid-template-columns: 2fr auto auto;" data-attribute="{{key}}">
|
<li class="learning grid-container" style="grid-template-columns: 2fr auto auto;" data-attribute="{{key}}">
|
||||||
<input class="learning-key" type="text" name="data.learning.{{key}}.key" value="{{key}}" style="display: none;" />
|
<input class="learning-key" type="text" name="data.learning.{{key}}.key" value="{{key}}" style="display: none;" />
|
||||||
<input style="margin-top: auto; margin-bottom: auto;" class="learning-value" type="text" name="data.learning.{{key}}.value" value="{{attr.value}}" />
|
<input style="margin-top: auto; margin-bottom: auto;" class="learning-value" type="text" name="data.learning.{{key}}.value" value="{{attr.value}}" />
|
||||||
|
@ -69,7 +69,7 @@
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a style="margin: auto;" class="learning-control" data-action="delete"><i class="fas fa-trash"></i></a>
|
<a style="margin: auto;" class="learning-delete" data-action="delete"><i class="fas fa-trash"></i></a>
|
||||||
</li>
|
</li>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</ol>
|
</ol>
|
||||||
|
|
|
@ -1,10 +1,8 @@
|
||||||
WEAPONS
|
|
||||||
|
|
||||||
<div class="bio-tab border scroll-y" style="height: 100%; border-top: none;">
|
<div class="bio-tab border scroll-y" style="height: 100%; border-top: none;">
|
||||||
<div class="grid-container" style="height: fit-content; border-top: none; grid-template-rows: 1fr auto; grid-template-columns: 1fr 1fr;">
|
<div class="grid-container" style="height: fit-content; border-top: none; grid-template-rows: 1fr auto; grid-template-columns: 1fr 1fr;">
|
||||||
<div class="border grid-container" style="grid-column-gap: 5px; grid-template-columns: auto 1fr; max-height: 163px; height: fit-content;">
|
<div class="border grid-container" style="grid-column-gap: 5px; grid-template-columns: auto 1fr; max-height: 163px; height: fit-content;">
|
||||||
<label style="margin-top: auto; margin-bottom: auto;">{{localize data.rammingdmg.label}}:</label>
|
<label style="margin-top: auto; margin-bottom: auto;">{{localize data.data.rammingdmg.label}}:</label>
|
||||||
<input style="text-align: center;" name="data.rammingdmg.value" type="text" value="{{data.rammingdmg.value}}" placeholder="{{localize data.rammingdmg.label}}" />
|
<input style="text-align: center;" name="data.rammingdmg.value" type="text" value="{{data.data.rammingdmg.value}}" placeholder="{{localize data.data.rammingdmg.label}}" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
<div class="bio-tab border scroll-y" style="height: 100%; border-top: none;">
|
<div class="bio-tab border scroll-y" style="height: 100%; border-top: none;">
|
||||||
<div class="grid-container" style="height: fit-content; border-top: none; grid-template-rows: auto auto; grid-template-columns: 1fr 1fr;">
|
<div class="grid-container" style="height: fit-content; border-top: none; grid-template-rows: auto auto; grid-template-columns: 1fr 1fr;">
|
||||||
<div class="border grid-container" style="height: 100%; grid-row: 1/4; grid-template-rows: auto 1fr; height: fit-content; min-height: 200px;">
|
<div class="border grid-container" style="height: 100%; grid-row: 1/4; grid-template-rows: auto 1fr; height: fit-content; min-height: 200px;">
|
||||||
<h2 style="margin-bottom: 0;">{{localize data.description.label}}</h2>
|
<h2 style="margin-bottom: 0;">{{localize data.data.description.label}}</h2>
|
||||||
<div class="description">
|
<div class="description">
|
||||||
{{editor content=data.description.value target="data.description.value" button=true owner=owner editable=editable}}
|
{{editor content=data.data.description.value target="data.description.value" button=true owner=owner editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="border grid-container" style="grid-column-gap: 5px; grid-template-columns: 1fr auto; max-height: 163px; height: fit-content;">
|
<div class="border grid-container" style="grid-column-gap: 5px; grid-template-columns: 1fr auto; max-height: 163px; height: fit-content;">
|
||||||
<label style="margin-top: auto; margin-bottom: auto;">{{localize data.crew.label}}:</label>
|
<label style="margin-top: auto; margin-bottom: auto;">{{localize data.data.crew.label}}:</label>
|
||||||
<input name="data.crew.value" style="text-align: center;" type="text" value="{{data.crew.value}}" placeholder="{{localize data.crew.label}}" />
|
<input name="data.crew.value" style="text-align: center;" type="text" value="{{data.data.crew.value}}" placeholder="{{localize data.data.crew.label}}" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="spells border">
|
<div class="spells border">
|
||||||
|
|
|
@ -60,7 +60,7 @@
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="skills border grid-container" style="grid-column-gap: 5px; grid-template-columns: 1fr;">
|
<div class="skills border grid-container" style="grid-column-gap: 5px; grid-template-columns: 1fr;">
|
||||||
<h1 style="grid-column: unset;">{{localize data.languages.label}}</h1>
|
<h1 style="grid-column: unset;">{{localize data.data.languages.label}}</h1>
|
||||||
<input name="data.languages.value" type="text" value="{{data.languages.value}}" />
|
<input name="data.languages.value" type="text" value="{{data.data.languages.value}}" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
|
@ -4,7 +4,7 @@
|
||||||
<a class="modification-control" data-action="create"><i class="fas fa-plus"></i></a>
|
<a class="modification-control" data-action="create"><i class="fas fa-plus"></i></a>
|
||||||
</header>
|
</header>
|
||||||
<ol class="modifications-list" style="padding: 0;">
|
<ol class="modifications-list" style="padding: 0;">
|
||||||
{{#each data.modifications as |attr key|}}
|
{{#each data.data.modifications as |attr key|}}
|
||||||
<li class="modification grid-container" style="grid-template-columns: 2fr 1fr auto;" data-attribute="{{key}}">
|
<li class="modification grid-container" style="grid-template-columns: 2fr 1fr auto;" data-attribute="{{key}}">
|
||||||
<input class="modification-key" type="text" name="data.modifications.{{key}}.key" value="{{key}}" style="display: none;" />
|
<input class="modification-key" type="text" name="data.modifications.{{key}}.key" value="{{key}}" style="display: none;" />
|
||||||
<select class="modification-modtype" name="data.modifications.{{key}}.modtype">
|
<select class="modification-modtype" name="data.modifications.{{key}}.modtype">
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
<div id="{{id}}" class="roll-dialog">
|
<div id="{{id}}" class="roll-dialog">
|
||||||
|
{{#if skillName}}
|
||||||
<h1 style="text-align: center;">{{localize skillName}} ({{skillValue}})</h1>
|
<h1 style="text-align: center;">{{localize skillName}} ({{skillValue}})</h1>
|
||||||
|
{{else}}
|
||||||
|
<h1 style="text-align: center;">{{name}}</h1>
|
||||||
|
{{/if}}
|
||||||
<div class="flexrow" style="margin-bottom: 10px;">
|
<div class="flexrow" style="margin-bottom: 10px;">
|
||||||
<label style="margin: auto;">{{localize "ROLL.OPENCLOSE"}}</label>
|
<label style="margin: auto;">{{localize "ROLL.OPENCLOSE"}}</label>
|
||||||
<input type="button" name="openclosed" min="0" value="{{startopen}}" style="min-height: 30px; min-width: 45px;" />
|
<input type="button" name="openclosed" min="0" value="{{startopen}}" style="min-height: 30px; min-width: 45px;" />
|
||||||
|
|
Loading…
Reference in New Issue