#70-classes-as-items #92
|
|
@ -1,18 +1,5 @@
|
||||||
import { M5Item } from "../items/M5Item";
|
import { M5Item } from "../items/M5Item";
|
||||||
import {
|
import { M5Attribute, M5CharacterCalculatedData, M5ItemMod, M5ItemType, M5ModOperation, M5ModResult, M5RollData, M5Skill, M5SkillCalculated } from "../M5Base";
|
||||||
M5Attribute,
|
|
||||||
M5CharacterCalculatedData,
|
|
||||||
M5ItemMod,
|
|
||||||
M5ItemType,
|
|
||||||
M5ModOperation,
|
|
||||||
M5ModResult,
|
|
||||||
M5ModType,
|
|
||||||
M5RollData,
|
|
||||||
M5Skill,
|
|
||||||
M5SkillCalculated,
|
|
||||||
M5SkillLearned,
|
|
||||||
M5SkillType,
|
|
||||||
} from "../M5Base";
|
|
||||||
import M5ModAggregate from "./M5ModAggregate";
|
import M5ModAggregate from "./M5ModAggregate";
|
||||||
export class M5Character extends Actor {
|
export class M5Character extends Actor {
|
||||||
// constructor(
|
// constructor(
|
||||||
|
|
@ -94,6 +81,7 @@ export class M5Character extends Actor {
|
||||||
containers?: boolean;
|
containers?: boolean;
|
||||||
kampfkuenste?: boolean;
|
kampfkuenste?: boolean;
|
||||||
encumbrance?: boolean;
|
encumbrance?: boolean;
|
||||||
|
class?: boolean;
|
||||||
} = {}
|
} = {}
|
||||||
): M5CharacterCalculatedData {
|
): M5CharacterCalculatedData {
|
||||||
let ret: M5CharacterCalculatedData = {
|
let ret: M5CharacterCalculatedData = {
|
||||||
|
|
@ -194,12 +182,8 @@ export class M5Character extends Actor {
|
||||||
ret.stats.attackBonus = this.modResult(ret.attributes.gs.bonus);
|
ret.stats.attackBonus = this.modResult(ret.attributes.gs.bonus);
|
||||||
ret.stats.defenseBonus = this.modResult(ret.attributes.gw.bonus);
|
ret.stats.defenseBonus = this.modResult(ret.attributes.gw.bonus);
|
||||||
ret.stats.movement = this.modResult(data.movement);
|
ret.stats.movement = this.modResult(data.movement);
|
||||||
ret.stats.resistanceMind = this.modResult(
|
ret.stats.resistanceMind = this.modResult(ret.stats.defense.value + (data.info.race === "Mensch" ? ret.attributes.in.bonus : this.raceBonus(data.info.race)));
|
||||||
(data.info.magicUsing ? 2 : 0) + ret.stats.defense.value + (data.info.race === "Mensch" ? ret.attributes.in.bonus : this.raceBonus(data.info.race))
|
ret.stats.resistanceBody = this.modResult(ret.stats.defense.value + (data.info.race === "Mensch" ? ret.attributes.ko.bonus : this.raceBonus(data.info.race)));
|
||||||
);
|
|
||||||
ret.stats.resistanceBody = this.modResult(
|
|
||||||
(data.info.magicUsing ? 2 : 1) + ret.stats.defense.value + (data.info.race === "Mensch" ? ret.attributes.ko.bonus : this.raceBonus(data.info.race))
|
|
||||||
);
|
|
||||||
ret.stats.spellCasting = this.modResult((data.info.magicUsing ? M5Character.spellCastingFromLevel(ret.level) : 3) + ret.attributes.zt.bonus);
|
ret.stats.spellCasting = this.modResult((data.info.magicUsing ? M5Character.spellCastingFromLevel(ret.level) : 3) + ret.attributes.zt.bonus);
|
||||||
ret.stats.brawl = this.modResult(Math.floor((ret.attributes.st.value + ret.attributes.gw.value) / 20));
|
ret.stats.brawl = this.modResult(Math.floor((ret.attributes.st.value + ret.attributes.gw.value) / 20));
|
||||||
ret.stats.brawlFw = ret.stats.brawl.value + ret.stats.attackBonus.value + (data.info.race === "Zwerg" ? 1 : 0);
|
ret.stats.brawlFw = ret.stats.brawl.value + ret.stats.attackBonus.value + (data.info.race === "Zwerg" ? 1 : 0);
|
||||||
|
|
@ -223,7 +207,7 @@ export class M5Character extends Actor {
|
||||||
const aggregate = new M5ModAggregate(data, ret);
|
const aggregate = new M5ModAggregate(data, ret);
|
||||||
|
|
||||||
context.items
|
context.items
|
||||||
?.filter((item) => (item.type === "item" || item.type === "effect" || item.type === "armor" || item.type === "container") && item.system.equipped)
|
?.filter((item) => (item.type === "item" || item.type === "effect" || item.type === "armor" || item.type === "container" || item.type === "klasse") && item.system.equipped)
|
||||||
.forEach((item) => {
|
.forEach((item) => {
|
||||||
const mods = item.system.mods;
|
const mods = item.system.mods;
|
||||||
//console.log("Actor item mods", mods)
|
//console.log("Actor item mods", mods)
|
||||||
|
|
@ -512,6 +496,14 @@ export class M5Character extends Actor {
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!skip?.class) {
|
||||||
|
const item = context.items?.find((item) => item.type === "class");
|
||||||
|
if (item) {
|
||||||
|
data.info.class = item.name;
|
||||||
|
data.info.magicUsing = item.system.magicUsing;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (!skip?.effects) {
|
if (!skip?.effects) {
|
||||||
context.items
|
context.items
|
||||||
?.filter((item) => item.type === "effect")
|
?.filter((item) => item.type === "effect")
|
||||||
|
|
@ -575,7 +567,7 @@ export class M5Character extends Actor {
|
||||||
type: item.system.type,
|
type: item.system.type,
|
||||||
castDuration: item.system.castDuration || 0,
|
castDuration: item.system.castDuration || 0,
|
||||||
ap: item.system.ap || 0,
|
ap: item.system.ap || 0,
|
||||||
range: item.system.range|| 0,
|
range: item.system.range || 0,
|
||||||
effectTarget: item.system.effectTarget,
|
effectTarget: item.system.effectTarget,
|
||||||
effectArea: item.system.effectArea,
|
effectArea: item.system.effectArea,
|
||||||
effectDuration: item.system.effectDuration || 0,
|
effectDuration: item.system.effectDuration || 0,
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ export class M5Item extends Item {
|
||||||
calc.containers = null;
|
calc.containers = null;
|
||||||
|
|
||||||
if (actor) {
|
if (actor) {
|
||||||
const actorCalc = actor.derivedData({ containers: false, items: true, spells: true, effects: true, kampfkuenste: true, encumbrance: true });
|
const actorCalc = actor.derivedData({ containers: false, items: true, spells: true, effects: true, kampfkuenste: true, encumbrance: true, class: true });
|
||||||
if (actorCalc) {
|
if (actorCalc) {
|
||||||
calc.containers = actorCalc.gear.containers;
|
calc.containers = actorCalc.gear.containers;
|
||||||
}
|
}
|
||||||
|
|
@ -47,12 +47,14 @@ export class M5Item extends Item {
|
||||||
|
|
||||||
if (character) {
|
if (character) {
|
||||||
const actorCalc = character.derivedData({
|
const actorCalc = character.derivedData({
|
||||||
|
containers: true,
|
||||||
skills: true,
|
skills: true,
|
||||||
items: true,
|
items: true,
|
||||||
spells: true,
|
spells: true,
|
||||||
effects: true,
|
effects: true,
|
||||||
kampfkuenste: true,
|
kampfkuenste: true,
|
||||||
encumbrance: true,
|
encumbrance: true,
|
||||||
|
class: true,
|
||||||
});
|
});
|
||||||
if (actorCalc?.skillMods && Object.keys(actorCalc.skillMods).indexOf(itemId) !== -1) {
|
if (actorCalc?.skillMods && Object.keys(actorCalc.skillMods).indexOf(itemId) !== -1) {
|
||||||
pairs = pairs.concat(actorCalc.skillMods[itemId]);
|
pairs = pairs.concat(actorCalc.skillMods[itemId]);
|
||||||
|
|
@ -89,7 +91,7 @@ export class M5Item extends Item {
|
||||||
calc.containers = null;
|
calc.containers = null;
|
||||||
|
|
||||||
if (actor) {
|
if (actor) {
|
||||||
const actorCalc = character.derivedData({ items: true, spells: true, effects: true, kampfkuenste: true, encumbrance: true });
|
const actorCalc = character.derivedData({ items: true, spells: true, effects: true, kampfkuenste: true, encumbrance: true, class: true });
|
||||||
if (actorCalc) {
|
if (actorCalc) {
|
||||||
calc.ew += actorCalc.stats.attackBonus.value;
|
calc.ew += actorCalc.stats.attackBonus.value;
|
||||||
calc.combatSkills = actorCalc.skills.combat;
|
calc.combatSkills = actorCalc.skills.combat;
|
||||||
|
|
@ -124,7 +126,7 @@ export class M5Item extends Item {
|
||||||
calc.containers = null;
|
calc.containers = null;
|
||||||
|
|
||||||
if (actor) {
|
if (actor) {
|
||||||
const actorCalc = character.derivedData({ items: true, spells: true, effects: true, kampfkuenste: true, encumbrance: true });
|
const actorCalc = character.derivedData({ items: true, spells: true, effects: true, kampfkuenste: true, encumbrance: true, class: true });
|
||||||
if (actorCalc) {
|
if (actorCalc) {
|
||||||
calc.ew += actorCalc.stats.defense.value + actorCalc.stats.defenseBonus.value;
|
calc.ew += actorCalc.stats.defense.value + actorCalc.stats.defenseBonus.value;
|
||||||
calc.combatSkills = actorCalc.skills.combat;
|
calc.combatSkills = actorCalc.skills.combat;
|
||||||
|
|
@ -157,7 +159,7 @@ export class M5Item extends Item {
|
||||||
itemData.mods[5] = { type: "stat", id: "apProtection", operation: "set", value: itemData.apProtection };
|
itemData.mods[5] = { type: "stat", id: "apProtection", operation: "set", value: itemData.apProtection };
|
||||||
calc.containers = null;
|
calc.containers = null;
|
||||||
if (actor) {
|
if (actor) {
|
||||||
const actorCalc = actor.derivedData({ items: true, spells: true, effects: true, kampfkuenste: true, encumbrance: true });
|
const actorCalc = actor.derivedData({ items: true, spells: true, effects: true, kampfkuenste: true, encumbrance: true, class: true });
|
||||||
if (actorCalc) {
|
if (actorCalc) {
|
||||||
calc.containers = actorCalc.gear.containers;
|
calc.containers = actorCalc.gear.containers;
|
||||||
}
|
}
|
||||||
|
|
@ -171,7 +173,7 @@ export class M5Item extends Item {
|
||||||
} else if (itemType === "spell") {
|
} else if (itemType === "spell") {
|
||||||
calc.fw = 0;
|
calc.fw = 0;
|
||||||
if (actor) {
|
if (actor) {
|
||||||
const actorCalc = character.derivedData({ items: true, spells: true, effects: true, kampfkuenste: true, encumbrance: true });
|
const actorCalc = character.derivedData({ containers: true, items: true, spells: true, effects: true, kampfkuenste: true, encumbrance: true, class: true });
|
||||||
if (actorCalc) {
|
if (actorCalc) {
|
||||||
calc.ew = actorCalc.stats.spellCasting.value;
|
calc.ew = actorCalc.stats.spellCasting.value;
|
||||||
}
|
}
|
||||||
|
|
@ -183,7 +185,7 @@ export class M5Item extends Item {
|
||||||
calc.generalSkills = null;
|
calc.generalSkills = null;
|
||||||
|
|
||||||
if (actor) {
|
if (actor) {
|
||||||
const actorCalc = character.derivedData({ items: true, spells: true, effects: true, kampfkuenste: true, encumbrance: true });
|
const actorCalc = character.derivedData({ containers: true, items: true, spells: true, effects: true, kampfkuenste: true, encumbrance: true, class: true });
|
||||||
if (actorCalc) {
|
if (actorCalc) {
|
||||||
calc.generalSkills = actorCalc.skills.general;
|
calc.generalSkills = actorCalc.skills.general;
|
||||||
}
|
}
|
||||||
|
|
@ -197,6 +199,9 @@ export class M5Item extends Item {
|
||||||
itemData.rolls.formulas[0].label = skill.name;
|
itemData.rolls.formulas[0].label = skill.name;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else if (itemType === "class") {
|
||||||
|
itemData.mods[0] = { type: "stat", id: "resistanceBody", operation: "add", value: itemData.resistanceBody };
|
||||||
|
itemData.mods[1] = { type: "stat", id: "resistanceMind", operation: "add", value: itemData.resistanceMind };
|
||||||
}
|
}
|
||||||
if (itemData?.mods) {
|
if (itemData?.mods) {
|
||||||
calc.mods = {};
|
calc.mods = {};
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,13 @@ export class M5ItemSheet extends ItemSheet {
|
||||||
width: 640,
|
width: 640,
|
||||||
height: 480,
|
height: 480,
|
||||||
classes: ["midgard5", "sheet", "item"],
|
classes: ["midgard5", "sheet", "item"],
|
||||||
|
tabs: [
|
||||||
|
{
|
||||||
|
navSelector: ".sheet-navigation",
|
||||||
|
contentSelector: ".sheet-content",
|
||||||
|
initial: "base_values",
|
||||||
|
},
|
||||||
|
],
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,8 @@
|
||||||
width: 64px;
|
width: 64px;
|
||||||
}
|
}
|
||||||
|
|
||||||
td, th {
|
td,
|
||||||
|
th {
|
||||||
padding: 0 0.5rem 0 0.5rem;
|
padding: 0 0.5rem 0 0.5rem;
|
||||||
|
|
||||||
&.center {
|
&.center {
|
||||||
|
|
|
||||||
|
|
@ -144,8 +144,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"gear": {
|
"gear": {
|
||||||
"gear": {
|
"gear": {}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"character": {
|
"character": {
|
||||||
|
|
@ -154,7 +153,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Item": {
|
"Item": {
|
||||||
"types": ["skill", "weapon", "defensiveWeapon", "armor", "spell", "kampfkunst", "item", "effect", "container"],
|
"types": ["skill", "weapon", "defensiveWeapon", "armor", "spell", "kampfkunst", "item", "effect", "container", "class"],
|
||||||
"templates": {
|
"templates": {
|
||||||
"itemDescription": {
|
"itemDescription": {
|
||||||
"description": ""
|
"description": ""
|
||||||
|
|
@ -289,7 +288,7 @@
|
||||||
"fechten": "midgard5.kampfkunst-variante-fechten",
|
"fechten": "midgard5.kampfkunst-variante-fechten",
|
||||||
"schusstechnik": "midgard5.kampfkunst-variante-schusstechnik",
|
"schusstechnik": "midgard5.kampfkunst-variante-schusstechnik",
|
||||||
"finten": "midgard5.kampfkunst-variante-finten",
|
"finten": "midgard5.kampfkunst-variante-finten",
|
||||||
"geistestechnik": "midgard5.kampfkunst-variante-geistestechnik",
|
"geistestechnik": "midgard5.kampfkunst-variante-geistestechnik",
|
||||||
"verteidigung": "midgard5.kampfkunst-variante-verteidigung"
|
"verteidigung": "midgard5.kampfkunst-variante-verteidigung"
|
||||||
},
|
},
|
||||||
"kidoVarianteSelection": {
|
"kidoVarianteSelection": {
|
||||||
|
|
@ -325,7 +324,7 @@
|
||||||
"calc": {}
|
"calc": {}
|
||||||
},
|
},
|
||||||
"item": {
|
"item": {
|
||||||
"templates": ["itemDescription", "equippable", "physical","valuable","hoarded"],
|
"templates": ["itemDescription", "equippable", "physical", "valuable", "hoarded"],
|
||||||
"rolls": {
|
"rolls": {
|
||||||
"formulas": {},
|
"formulas": {},
|
||||||
"output": ""
|
"output": ""
|
||||||
|
|
@ -352,7 +351,7 @@
|
||||||
"calc": {}
|
"calc": {}
|
||||||
},
|
},
|
||||||
"weapon": {
|
"weapon": {
|
||||||
"templates": ["itemDescription", "stats", "equippable", "physical","valuable","hoarded"],
|
"templates": ["itemDescription", "stats", "equippable", "physical", "valuable", "hoarded"],
|
||||||
"special": false,
|
"special": false,
|
||||||
"ranged": false,
|
"ranged": false,
|
||||||
"valuable": false,
|
"valuable": false,
|
||||||
|
|
@ -377,7 +376,7 @@
|
||||||
"calc": {}
|
"calc": {}
|
||||||
},
|
},
|
||||||
"defensiveWeapon": {
|
"defensiveWeapon": {
|
||||||
"templates": ["itemDescription", "stats", "equippable", "physical","valuable","hoarded"],
|
"templates": ["itemDescription", "stats", "equippable", "physical", "valuable", "hoarded"],
|
||||||
"special": false,
|
"special": false,
|
||||||
"valuable": false,
|
"valuable": false,
|
||||||
"hoarded": false,
|
"hoarded": false,
|
||||||
|
|
@ -395,7 +394,7 @@
|
||||||
"calc": {}
|
"calc": {}
|
||||||
},
|
},
|
||||||
"armor": {
|
"armor": {
|
||||||
"templates": ["itemDescription", "stats", "equippable", "attributeMod", "physical","valuable","hoarded"],
|
"templates": ["itemDescription", "stats", "equippable", "attributeMod", "physical", "valuable", "hoarded"],
|
||||||
"lpProtection": 0,
|
"lpProtection": 0,
|
||||||
"apProtection": 0,
|
"apProtection": 0,
|
||||||
"valuable": false,
|
"valuable": false,
|
||||||
|
|
@ -459,6 +458,37 @@
|
||||||
"output": ""
|
"output": ""
|
||||||
},
|
},
|
||||||
"calc": {}
|
"calc": {}
|
||||||
|
},
|
||||||
|
"class": {
|
||||||
|
"templates": ["itemDescription", "stats"],
|
||||||
|
"magicUsing": false,
|
||||||
|
"equipped": true,
|
||||||
|
"resistanceBody": 1,
|
||||||
|
"resistanceMind": 0,
|
||||||
|
"calc": {},
|
||||||
|
"mods": {},
|
||||||
|
"lernKostenAllgemein": {
|
||||||
|
"alltag": 20,
|
||||||
|
"freiland": 20,
|
||||||
|
"halbwelt": 20,
|
||||||
|
"kampf": 20,
|
||||||
|
"koerper": 20,
|
||||||
|
"sozial": 20,
|
||||||
|
"unterwelt": 20,
|
||||||
|
"waffen": 20
|
||||||
|
},
|
||||||
|
"lernKostenZauber": {
|
||||||
|
"beherrschen": {
|
||||||
|
"kosten": 0,
|
||||||
|
"pp": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"lernKostenKamptechnik": {
|
||||||
|
"kampfkunst": 90,
|
||||||
|
"fechten": 90,
|
||||||
|
"schiesskunst": 90,
|
||||||
|
"kido": 90
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@
|
||||||
<tr height = 10px></tr>
|
<tr height = 10px></tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{localize "midgard5.magicUsing"}}</td>
|
<td>{{localize "midgard5.magicUsing"}}</td>
|
||||||
<td><input id="data.info.magicUsing" type="checkbox" name="data.info.magicUsing" {{checked data.info.magicUsing}}></td>
|
<td><input id="data.info.magicUsing" type="checkbox" disabled="true" name="data.info.magicUsing" {{checked data.info.magicUsing}}></td>
|
||||||
<td>{{localize "midgard5.movementRange"}}</td>
|
<td>{{localize "midgard5.movementRange"}}</td>
|
||||||
<td><input name="data.movement" type="text" value="{{data.movement}}" data-dtype="Number" /></td>
|
<td><input name="data.movement" type="text" value="{{data.movement}}" data-dtype="Number" /></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td >{{localize "midgard5.class"}}</td>
|
<td >{{localize "midgard5.class"}}</td>
|
||||||
<td><input name="data.info.class" type="text" value="{{data.info.class}}" data-dtype="String" /></td>
|
<td><input name="data.info.class" type="text" disabled="true" value="{{data.info.class}}" data-dtype="String" /></td>
|
||||||
<td >{{localize "midgard5.level"}}</td>
|
<td >{{localize "midgard5.level"}}</td>
|
||||||
<td>{{data.calc.level}}</td>
|
<td>{{data.calc.level}}</td>
|
||||||
</table>
|
</table>
|
||||||
|
|
@ -132,26 +132,26 @@
|
||||||
{{> "systems/midgard5/templates/sheets/character/base_values.hbs"}}
|
{{> "systems/midgard5/templates/sheets/character/base_values.hbs"}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="tab base_values flexcol" data-group="primary" data-tab="skills">
|
<div class="tab skills flexcol" data-group="primary" data-tab="skills">
|
||||||
{{> "systems/midgard5/templates/sheets/character/skills.hbs"}}
|
{{> "systems/midgard5/templates/sheets/character/skills.hbs"}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="tab base_values flexcol" data-group="primary" data-tab="gear">
|
<div class="tab gear flexcol" data-group="primary" data-tab="gear">
|
||||||
{{> "systems/midgard5/templates/sheets/character/gear.hbs"}}
|
{{> "systems/midgard5/templates/sheets/character/gear.hbs"}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="tab base_values flexcol" data-group="primary" data-tab="combat">
|
<div class="tab combat flexcol" data-group="primary" data-tab="combat">
|
||||||
{{> "systems/midgard5/templates/sheets/character/combat.hbs"}}
|
{{> "systems/midgard5/templates/sheets/character/combat.hbs"}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="tab base_values flexcol" data-group="primary" data-tab="spells">
|
<div class="tab spells flexcol" data-group="primary" data-tab="spells">
|
||||||
{{> "systems/midgard5/templates/sheets/character/spells.hbs"}}
|
{{> "systems/midgard5/templates/sheets/character/spells.hbs"}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="tab base_values flexcol" data-group="primary" data-tab="effects">
|
<div class="tab effects flexcol" data-group="primary" data-tab="effects">
|
||||||
{{> "systems/midgard5/templates/sheets/character/effects.hbs"}}
|
{{> "systems/midgard5/templates/sheets/character/effects.hbs"}}
|
||||||
</div>
|
</div>
|
||||||
<div class="tab base_values flexcol" data-group="primary" data-tab="description">
|
<div class="tab description flexcol" data-group="primary" data-tab="description">
|
||||||
{{> "systems/midgard5/templates/sheets/character/description.hbs"}}
|
{{> "systems/midgard5/templates/sheets/character/description.hbs"}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,109 @@
|
||||||
|
<form class="" autocomplete="off">
|
||||||
|
<header class="sheet-header">
|
||||||
|
<img class="item-img" src="{{item.img}}" data-edit="img" title="{{item.name}}" />
|
||||||
|
<h1><input name="name" type="text" value="{{item.name}}" placeholder="Name" /></h1>
|
||||||
|
</header>
|
||||||
|
<nav class="sheet-navigation tabs" data-group="primary">
|
||||||
|
<a class="item active" data-tab="base_values">{{localize "midgard5.base_values"}}</a>
|
||||||
|
<a class="item" data-tab="skills">{{localize "midgard5.skills"}}</a>
|
||||||
|
<a class="item" data-tab="combat">{{localize "midgard5.combat"}}</a>
|
||||||
|
{{#if data.magicUsing}}
|
||||||
|
<a class="item" data-tab="spells">{{localize "midgard5.spells"}}</a>
|
||||||
|
{{/if}}
|
||||||
|
<a class="item" data-tab="description">{{localize "midgard5.description"}}</a>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<section class="sheet-content">
|
||||||
|
|
||||||
|
<div class="tab base_values flexcol" data-group="primary" data-tab="base_values">
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td colspan="4">
|
||||||
|
<div class="flexrow">
|
||||||
|
<span>
|
||||||
|
<input id="data.magicUsing" type="checkbox" name="data.magicUsing" {{checked data.magicUsing}} />
|
||||||
|
<label for="data.magicUsing">{{localize "midgard5.magicUsing"}}</label>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.resistanceMind"}}</td>
|
||||||
|
<td><input style="width:35px" name="data.resistanceMind" type="number" value="{{data.resistanceMind}}" data-dtype="Number" /></td>
|
||||||
|
|
||||||
|
<td>{{localize "midgard5.resistanceBody"}}</td>
|
||||||
|
<td><input style="width:35px" name="data.resistanceBody" type="number" value="{{data.resistanceBody}}" data-dtype="Number" /></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="tab skills flexcol" data-group="primary" data-tab="skills">
|
||||||
|
<table>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td colspan="4">
|
||||||
|
<div class="flexrow">
|
||||||
|
{{#each data.lernKostenAllgemein as |wert name|}}
|
||||||
|
<span style="flex: 1 0 26%">
|
||||||
|
<label for="data.lernKostenAllgemein.{{name}}">{{localize (m5concat "midgard5." name)}}</label>
|
||||||
|
<input style="width:35px" name="data.lernKostenAllgemein.{{name}}" type="number" value={{wert}} data-dtype="Number" />
|
||||||
|
</span>
|
||||||
|
{{/each}}
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="tab combat flexcol" data-group="primary" data-tab="combat">
|
||||||
|
<table>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td colspan="4">
|
||||||
|
<div class="flexrow">
|
||||||
|
{{#each data.lernKostenKamptechnik as |wert name|}}
|
||||||
|
<span style="flex: 1 0 26%">
|
||||||
|
<label for="data.lernKostenKamptechnik.{{name}}">{{localize (m5concat "midgard5." name)}}</label>
|
||||||
|
<input style="width:35px" name="data.lernKostenKamptechnik.{{name}}" type="number" value={{wert}} data-dtype="Number" />
|
||||||
|
</span>
|
||||||
|
{{/each}}
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="tab spells flexcol" data-group="primary" data-tab="spells">
|
||||||
|
<table>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td colspan="4">
|
||||||
|
<div class="flexrow">
|
||||||
|
|
||||||
|
{{#each data.lernKostenZauber as |wert name|}}
|
||||||
|
<span style="flex: 1 0 26%">
|
||||||
|
<label for="data.lernKostenZauber.{{name}}">{{localize (m5concat "midgard5." name)}}</label>
|
||||||
|
<input style="width:35px" name="data.lernKostenZauber.{{name}}" type="number" value={{wert.kosten}} data-dtype="Number" />
|
||||||
|
</span>
|
||||||
|
{{/each}}
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="tab description flexcol" data-group="primary" data-tab="description">
|
||||||
|
{{editor content=data.description target="data.description" button=true owner=owner editable=editable}}
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
</form>
|
||||||
Loading…
Reference in New Issue