Inclued Kampfkuenste as items
Changes: + add kampfkuenste template + add kampfkuenste tab + make kampfkuenste rollable
This commit is contained in:
parent
7bf0fd90b0
commit
abcd9d6049
|
|
@ -9,6 +9,7 @@
|
||||||
"TYPES.Item.armor": "Rüstung",
|
"TYPES.Item.armor": "Rüstung",
|
||||||
"TYPES.Item.spell": "Zauber",
|
"TYPES.Item.spell": "Zauber",
|
||||||
"TYPES.Item.effect": "Aktive Effekte",
|
"TYPES.Item.effect": "Aktive Effekte",
|
||||||
|
"ITEM.TypeKampfkunst": "Kampfkünste",
|
||||||
|
|
||||||
"midgard5.doRoll": "Würfeln",
|
"midgard5.doRoll": "Würfeln",
|
||||||
"midgard5.learn": "Lernen",
|
"midgard5.learn": "Lernen",
|
||||||
|
|
@ -64,6 +65,7 @@
|
||||||
"midgard5.gear": "Ausrüstung",
|
"midgard5.gear": "Ausrüstung",
|
||||||
"midgard5.spells": "Zauber",
|
"midgard5.spells": "Zauber",
|
||||||
"midgard5.effects": "Aktive Effekte",
|
"midgard5.effects": "Aktive Effekte",
|
||||||
|
"midgard5.kampfkuenste": "Kampfkünste",
|
||||||
|
|
||||||
"midgard5.class": "Klasse",
|
"midgard5.class": "Klasse",
|
||||||
"midgard5.race": "Rasse",
|
"midgard5.race": "Rasse",
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
{
|
||||||
|
"name": "Kampfkünste",
|
||||||
|
"type": "kampfkunst",
|
||||||
|
"img": "icons/svg/item-bag.svg",
|
||||||
|
"data": {
|
||||||
|
"description": "",
|
||||||
|
"kampfkunstTypeSelection": {
|
||||||
|
"none": "midgard5.spell-process-none",
|
||||||
|
"angriff": "midgard5.kampfkunst-type-angriff",
|
||||||
|
"verteidigung": "midgard5.kampfkunst-type-verteidigung",
|
||||||
|
"finten": "midgard5.kampfkunst-type-finten",
|
||||||
|
"geist": "midgard5.kampfkunst-type-geist",
|
||||||
|
"schießkunst": "midgard5.kampfkunst-type-schießkunst",
|
||||||
|
"fechten": "midgard5.kampfkunst-type-fechten",
|
||||||
|
"kidoAngriff": "midgard5.kido-type-angriff",
|
||||||
|
"kidoVerteidigung": "midgard5.kido-type-verteidigung",
|
||||||
|
"kidoFinten": "midgard5.kido-type-finten",
|
||||||
|
"kidoLeib": "midgard5.kido-type-leub"
|
||||||
|
},
|
||||||
|
"kampfkunstVarianteSelection": {
|
||||||
|
"none": "midgard5.spell-process-none",
|
||||||
|
"anstuermen": "midgard5.kampfkunst-variante-anstuermen",
|
||||||
|
"attackieren": "midgard5.kampfkunst-variante-attackieren",
|
||||||
|
"entwaffnen": "midgard5.kampfkunst-variante-entwaffnen"
|
||||||
|
},
|
||||||
|
"bonus": 0,
|
||||||
|
"type": "angriff",
|
||||||
|
"variante": "none",
|
||||||
|
"skillId": "",
|
||||||
|
"ap": 0,
|
||||||
|
"rolls": {
|
||||||
|
"formulas": {
|
||||||
|
"0": {
|
||||||
|
"formula": "1d20 + @c.calc.stats.spellCasting.value + @i.bonus",
|
||||||
|
"enabled": true,
|
||||||
|
"label": "Zaubern"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"output": ""
|
||||||
|
},
|
||||||
|
"calc": {}
|
||||||
|
},
|
||||||
|
"effects": [],
|
||||||
|
"folder": null,
|
||||||
|
"sort": 0,
|
||||||
|
"permission": {
|
||||||
|
"default": 0,
|
||||||
|
"XD0IpWT6bN4AJiYQ": 3
|
||||||
|
},
|
||||||
|
"_id": "HQ469FvZkwKfzFff"
|
||||||
|
}
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import { BooleanField } from "@league-of-foundry-developers/foundry-vtt-types/src/foundry/common/data/fields.mjs";
|
import { BooleanField } from "@league-of-foundry-developers/foundry-vtt-types/src/foundry/common/data/fields.mjs";;
|
||||||
|
|
||||||
export interface M5Skill {
|
export interface M5Skill {
|
||||||
fw: number;
|
fw: number;
|
||||||
|
|
@ -163,15 +163,17 @@ export interface M5CharacterCalculatedData {
|
||||||
custom: {};
|
custom: {};
|
||||||
};
|
};
|
||||||
gear: {
|
gear: {
|
||||||
weapons: {};
|
weapons: {};;
|
||||||
defensiveWeapons: {};
|
defensiveWeapons: {};;
|
||||||
armor: {};
|
armor: {};;
|
||||||
items: {};
|
items: {};
|
||||||
effects: {};
|
effects: {};;
|
||||||
};
|
};;
|
||||||
spells: {};
|
spells: {};;
|
||||||
|
kampfkuenste: {};
|
||||||
}
|
}
|
||||||
|
|
||||||
export function enumKeys<O extends object, K extends keyof O = keyof O>(obj: O): K[] {
|
export function enumKeys<O extends object, K extends keyof O = keyof O>(obj: O): K[] {
|
||||||
return Object.keys(obj).filter((k) => Number.isNaN(+k)) as K[];
|
return Object.keys(obj).filter((k) => Number.isNaN(+k)) as K[];
|
||||||
|
return Object.keys(obj).filter((k) => Number.isNaN(+k)) as K[];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,17 @@ export class M5Character extends Actor {
|
||||||
}
|
}
|
||||||
|
|
||||||
derivedData(
|
derivedData(
|
||||||
skip: { mods?: boolean; skills?: boolean; weapons?: boolean; defensiveWeapons?: boolean; armor?: boolean; items?: boolean; spells?: boolean; effects?: boolean } = {}
|
skip: {
|
||||||
|
mods?: boolean;
|
||||||
|
skills?: boolean;
|
||||||
|
weapons?: boolean;
|
||||||
|
defensiveWeapons?: boolean;
|
||||||
|
armor?: boolean;
|
||||||
|
items?: boolean;
|
||||||
|
spells?: boolean;
|
||||||
|
effects?: boolean;
|
||||||
|
kampfkuenste?: boolean;
|
||||||
|
} = {}
|
||||||
): M5CharacterCalculatedData {
|
): M5CharacterCalculatedData {
|
||||||
let ret: M5CharacterCalculatedData = {
|
let ret: M5CharacterCalculatedData = {
|
||||||
level: 0,
|
level: 0,
|
||||||
|
|
@ -73,6 +83,7 @@ export class M5Character extends Actor {
|
||||||
effects: {},
|
effects: {},
|
||||||
},
|
},
|
||||||
spells: {},
|
spells: {},
|
||||||
|
kampfkuenste: {},
|
||||||
} as M5CharacterCalculatedData;
|
} as M5CharacterCalculatedData;
|
||||||
|
|
||||||
const context = this as any;
|
const context = this as any;
|
||||||
|
|
@ -274,6 +285,20 @@ export class M5Character extends Actor {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!skip?.kampfkuenste) {
|
||||||
|
context.items
|
||||||
|
?.filter((item) => item.type === "kampfkunst")
|
||||||
|
.forEach((item) => {
|
||||||
|
item.prepareDerivedData();
|
||||||
|
|
||||||
|
ret.kampfkuenste[item.id] = {
|
||||||
|
label: item.name,
|
||||||
|
process: "midgard5.kampfkunst-type-" + item.system.type,
|
||||||
|
calc: item.system.calc,
|
||||||
|
};
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ export class M5Item extends Item {
|
||||||
];
|
];
|
||||||
|
|
||||||
if (character) {
|
if (character) {
|
||||||
const actorCalc = character.derivedData({ skills: true, weapons: true, defensiveWeapons: true, armor: true, items: true, spells: true, effects: true });
|
const actorCalc = character.derivedData({ skills: true, weapons: true, defensiveWeapons: true, armor: true, items: true, spells: true, effects: true, kampfkuenste: 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]);
|
||||||
}
|
}
|
||||||
|
|
@ -65,7 +65,7 @@ export class M5Item extends Item {
|
||||||
calc.combatSkills = null;
|
calc.combatSkills = null;
|
||||||
|
|
||||||
if (actor) {
|
if (actor) {
|
||||||
const actorCalc = character.derivedData({ weapons: true, defensiveWeapons: true, armor: true, items: true, spells: true, effects: true });
|
const actorCalc = character.derivedData({ weapons: true, defensiveWeapons: true, armor: true, items: true, spells: true, effects: true, kampfkuenste: 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;
|
||||||
|
|
@ -89,7 +89,7 @@ export class M5Item extends Item {
|
||||||
calc.combatSkills = null;
|
calc.combatSkills = null;
|
||||||
|
|
||||||
if (actor) {
|
if (actor) {
|
||||||
const actorCalc = character.derivedData({ weapons: true, defensiveWeapons: true, armor: true, items: true, spells: true, effects: true });
|
const actorCalc = character.derivedData({ weapons: true, defensiveWeapons: true, armor: true, items: true, spells: true, effects: true, kampfkuenste: 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;
|
||||||
|
|
@ -108,7 +108,15 @@ 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({ weapons: true, defensiveWeapons: true, armor: true, items: true, spells: true, effects: true });
|
const actorCalc = character.derivedData({ weapons: true, defensiveWeapons: true, armor: true, items: true, spells: true, effects: true, kampfkuenste: true });
|
||||||
|
if (actorCalc) {
|
||||||
|
calc.ew = actorCalc.stats.spellCasting.value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (itemType === "kampfkunst") {
|
||||||
|
calc.fw = 0;
|
||||||
|
if (actor) {
|
||||||
|
const actorCalc = character.derivedData({ weapons: true, defensiveWeapons: true, armor: true, items: true, spells: true, kampfkuenste: true });
|
||||||
if (actorCalc) {
|
if (actorCalc) {
|
||||||
calc.ew = actorCalc.stats.spellCasting.value;
|
calc.ew = actorCalc.stats.spellCasting.value;
|
||||||
}
|
}
|
||||||
|
|
@ -135,7 +143,7 @@ export class M5Item extends Item {
|
||||||
}
|
}
|
||||||
case M5ModType.SKILL: {
|
case M5ModType.SKILL: {
|
||||||
if (character) {
|
if (character) {
|
||||||
const actorCalc = character.derivedData({ weapons: true, defensiveWeapons: true, armor: true, items: true, spells: true, effects: true });
|
const actorCalc = character.derivedData({ weapons: true, defensiveWeapons: true, armor: true, items: true, spells: true, effects: true, kampfkuenste: true });
|
||||||
if (actorCalc) {
|
if (actorCalc) {
|
||||||
let category = (game as Game).i18n.localize("midgard5.skill");
|
let category = (game as Game).i18n.localize("midgard5.skill");
|
||||||
Object.keys(actorCalc.skills.general).forEach((skillId) => {
|
Object.keys(actorCalc.skills.general).forEach((skillId) => {
|
||||||
|
|
|
||||||
|
|
@ -245,6 +245,27 @@ export class M5Roll {
|
||||||
return new M5Roll(rollData, actor, (game as Game).i18n.localize("midgard5.resistanceMind"));
|
return new M5Roll(rollData, actor, (game as Game).i18n.localize("midgard5.resistanceMind"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static async initativeRoll(actor: any) {
|
||||||
|
let newInitiative; // the initiative value for the combatant
|
||||||
|
|
||||||
|
// ...
|
||||||
|
// The intnitiative value is calculated here
|
||||||
|
// ...
|
||||||
|
|
||||||
|
let combatant = game["combat"].getCombatantByActor(actor._id);
|
||||||
|
if (!combatant) {
|
||||||
|
await game["combat"].createEmbeddedDocuments("Combatant", [{ actorId: actor._id }]);
|
||||||
|
combatant = game["combat"].getCombatantByActor(actor._id);
|
||||||
|
}
|
||||||
|
|
||||||
|
const initiatives = {
|
||||||
|
_id: combatant._id,
|
||||||
|
initiative: actor.system.calc.attributes.gw.value,
|
||||||
|
};
|
||||||
|
|
||||||
|
await game["combat"].updateEmbeddedDocuments("Combatant", [initiatives]);
|
||||||
|
}
|
||||||
|
|
||||||
static resistanceBody(actor: any) {
|
static resistanceBody(actor: any) {
|
||||||
const rollData = actor.getRollData() as M5RollData;
|
const rollData = actor.getRollData() as M5RollData;
|
||||||
rollData.i = {
|
rollData.i = {
|
||||||
|
|
|
||||||
|
|
@ -145,7 +145,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Item": {
|
"Item": {
|
||||||
"types": ["skill", "weapon", "defensiveWeapon", "armor", "spell", "item", "effect"],
|
"types": ["skill", "weapon", "defensiveWeapon", "armor", "spell", "kampfkunst", "item", "effect"],
|
||||||
"templates": {
|
"templates": {
|
||||||
"itemDescription": {
|
"itemDescription": {
|
||||||
"description": ""
|
"description": ""
|
||||||
|
|
@ -232,6 +232,32 @@
|
||||||
"geist": "midgard5.spell-target-geist",
|
"geist": "midgard5.spell-target-geist",
|
||||||
"koerper": "midgard5.spell-target-koerper"
|
"koerper": "midgard5.spell-target-koerper"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"kampfkunstSelection": {
|
||||||
|
"kampfkunstTypeSelection": {
|
||||||
|
"none": "midgard5.spell-process-none",
|
||||||
|
"angriff": "midgard5.kampfkunst-type-angriff",
|
||||||
|
"verteidigung": "midgard5.kampfkunst-type-verteidigung",
|
||||||
|
"finten": "midgard5.kampfkunst-type-finten",
|
||||||
|
"geist": "midgard5.kampfkunst-type-geist",
|
||||||
|
"schießkunst": "midgard5.kampfkunst-type-schießkunst",
|
||||||
|
"fechten": "midgard5.kampfkunst-type-fechten",
|
||||||
|
"kidoAngriff": "midgard5.kido-type-angriff",
|
||||||
|
"kidoVerteidigung": "midgard5.kido-type-verteidigung",
|
||||||
|
"kidoFinten": "midgard5.kido-type-finten",
|
||||||
|
"kidoLeib": "midgard5.kido-type-leub"
|
||||||
|
},
|
||||||
|
"kampfkunstVarianteSelection": {
|
||||||
|
"none": "midgard5.spell-process-none",
|
||||||
|
"anstuermen": "midgard5.kampfkunst-variant-anstuermen",
|
||||||
|
"attackieren": "midgard5.kampfkunst-variant-attackieren",
|
||||||
|
"entwaffnen": "midgard5.kampfkunst-variant-entwaffnen"
|
||||||
|
},
|
||||||
|
"spellTargetSelection": {
|
||||||
|
"umgebung": "midgard5.spell-target-umgebung",
|
||||||
|
"geist": "midgard5.spell-target-geist",
|
||||||
|
"koerper": "midgard5.spell-target-koerper"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"skill": {
|
"skill": {
|
||||||
|
|
@ -343,6 +369,28 @@
|
||||||
"output": ""
|
"output": ""
|
||||||
},
|
},
|
||||||
"calc": {}
|
"calc": {}
|
||||||
|
},
|
||||||
|
"kampfkunst": {
|
||||||
|
"templates": ["itemDescription", "kampfkunstSelection"],
|
||||||
|
"bonus": 0,
|
||||||
|
"type": "",
|
||||||
|
"variante": "",
|
||||||
|
"ap": "",
|
||||||
|
"effectTarget": "",
|
||||||
|
"effectArea": "",
|
||||||
|
"effectDuration": "",
|
||||||
|
"origin": "",
|
||||||
|
"rolls": {
|
||||||
|
"formulas": {
|
||||||
|
"0": {
|
||||||
|
"formula": "1d20 + @c.calc.stats.spellCasting.value + @i.bonus",
|
||||||
|
"label": "Zaubern",
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"output": ""
|
||||||
|
},
|
||||||
|
"calc": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -43,6 +43,23 @@
|
||||||
</tr>
|
</tr>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
|
{{#if (eq iType "kampfkunst")}}
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.actor-ap"}}</td>
|
||||||
|
<td class="roll-spell-details">{{i.ap}}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.kampfkunst-type"}}</td>
|
||||||
|
<td class="roll-spell-details">{{localize (m5concat "midgard5.kampfkunst-type-" i.type)}}</td>
|
||||||
|
</tr>
|
||||||
|
{{#if (eq i.type "angriff")}}
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.kampfkunst-variante"}}</td>
|
||||||
|
<td class="roll-spell-details">{{localize (m5concat "midgard5.kampfkunst-variante-" i.variante)}}</td>
|
||||||
|
</tr>
|
||||||
|
{{/if}}
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
{{#each rolls as |roll index|}}
|
{{#each rolls as |roll index|}}
|
||||||
{{#if roll.enabled}}
|
{{#if roll.enabled}}
|
||||||
<tr class="roll-row {{roll.css}}">
|
<tr class="roll-row {{roll.css}}">
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>{{localize "ITEM.TypeKampfkunst"}}</th>
|
||||||
|
<th>{{localize "midgard5.ew"}}</th>
|
||||||
|
<th></th>
|
||||||
|
<th></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{{#each data.calc.kampfkuenste as |item itemId|}}
|
||||||
|
<tr data-item="{{itemId}}">
|
||||||
|
<td class="padding edit-item">
|
||||||
|
<span>{{item.label}}</span>
|
||||||
|
<span class="spell-process">{{localize item.process}}</span>
|
||||||
|
</td>
|
||||||
|
<td class="fixed-value">{{item.calc.ew}}</td>
|
||||||
|
<td class="fixed-value"><button class="roll-button roll-weapon-button" /></td>
|
||||||
|
<td class="fixed-value"><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
|
||||||
|
</tr>
|
||||||
|
{{/each}}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
@ -9,7 +9,10 @@
|
||||||
<a class="item active" data-tab="base_values">{{ localize "midgard5.base_values" }}</a>
|
<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="skills">{{ localize "midgard5.skills" }}</a>
|
||||||
<a class="item" data-tab="gear">{{ localize "midgard5.gear" }}</a>
|
<a class="item" data-tab="gear">{{ localize "midgard5.gear" }}</a>
|
||||||
|
{{#if actor.system.info.magicUsing }}
|
||||||
<a class="item" data-tab="spells">{{ localize "midgard5.spells" }}</a>
|
<a class="item" data-tab="spells">{{ localize "midgard5.spells" }}</a>
|
||||||
|
{{/if}}
|
||||||
|
<a class="item" data-tab="kampfkuenste">{{ localize "midgard5.kampfkuenste" }}</a>
|
||||||
<a class="item" data-tab="effects">{{ localize "midgard5.effects" }}</a>
|
<a class="item" data-tab="effects">{{ localize "midgard5.effects" }}</a>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
|
|
@ -31,9 +34,12 @@
|
||||||
{{> "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="kampfkuenste">
|
||||||
|
{{> "systems/midgard5/templates/sheets/character/kampfkuenste.hbs"}}
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="tab base_values flexcol" data-group="primary" data-tab="effects">
|
<div class="tab base_values flexcol" data-group="primary" data-tab="effects">
|
||||||
{{> "systems/midgard5/templates/sheets/character/effects.hbs"}}
|
{{> "systems/midgard5/templates/sheets/character/effects.hbs"}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
</form>
|
</form>
|
||||||
|
|
@ -0,0 +1,75 @@
|
||||||
|
<form class="item-sheet {{cssClass}}" 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>
|
||||||
|
<div class="sheet-content">
|
||||||
|
<table>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.bonus"}}</td>
|
||||||
|
<td><input name="data.bonus" type="text" value="{{data.bonus}}" data-dtype="Number" /></td>
|
||||||
|
<td>{{localize "midgard5.actor-ap"}}</td>
|
||||||
|
<td><input name="data.ap" type="text" value="{{data.ap}}" data-dtype="String" /></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.spell-effectTarget"}}</td>
|
||||||
|
<td>
|
||||||
|
<select class="select-effectTarget" name="data.effectTarget" data-type="String">
|
||||||
|
{{#select data.effectTarget}}
|
||||||
|
{{#each data.spellTargetSelection as |label key|}}
|
||||||
|
<option value="{{key}}">{{localize label}}</option>
|
||||||
|
{{/each}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
<td>{{localize "midgard5.spell-effectArea"}}</td>
|
||||||
|
<td><input name="data.effectArea" type="text" value="{{data.effectArea}}" data-dtype="String" /></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{localize "midgard5.spell-type"}}</td>
|
||||||
|
<td>
|
||||||
|
<select class="select-type" name="data.type" data-type="String">
|
||||||
|
{{#select data.type}}
|
||||||
|
{{#each data.kampfkunstTypeSelection as |label key|}}
|
||||||
|
<option value="{{key}}">{{localize label}}</option>
|
||||||
|
{{/each}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
{{#if (eq item.system.type "angriff")}}
|
||||||
|
<td>{{localize "midgard5.spell-process"}}</td>
|
||||||
|
<td>
|
||||||
|
<select class="select-variante" name="data.variante" data-type="String">
|
||||||
|
{{#select data.variante}}
|
||||||
|
{{#each data.kampfkunstVarianteSelection as |label key|}}
|
||||||
|
<option value="{{key}}">{{localize label}}</option>
|
||||||
|
{{/each}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
{{/if}}
|
||||||
|
</tr>
|
||||||
|
<td>{{localize "midgard5.weapon-skill"}}</td>
|
||||||
|
<td>
|
||||||
|
{{#if data.calc.skills.general}}
|
||||||
|
<select class="select-skill" name="data.skillId" data-type="String">
|
||||||
|
{{#select data.skillId}}
|
||||||
|
<option value="">{{localize "midgard5.no-skill"}}</option>
|
||||||
|
{{#each data.calc.skills.general as |skill key|}}
|
||||||
|
<option value="{{key}}">{{skill.label}}</option>
|
||||||
|
{{/each}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
{{else}}
|
||||||
|
<span>{{localize "midgard5.assignItemToCharacter"}}</span>
|
||||||
|
{{/if}}
|
||||||
|
</td>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
{{> "systems/midgard5/templates/sheets/item/rolls.hbs"}}
|
||||||
|
|
||||||
|
{{editor content=data.description target="data.description" button=true owner=owner editable=editable}}
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
Loading…
Reference in New Issue