WIP
This commit is contained in:
parent
abcd9d6049
commit
6ba2d7cec0
29
lang/de.json
29
lang/de.json
|
|
@ -240,6 +240,35 @@
|
||||||
"midgard5.spell-effectDuration": "Wirkungsdauer",
|
"midgard5.spell-effectDuration": "Wirkungsdauer",
|
||||||
"midgard5.spell-origin": "Ursprung",
|
"midgard5.spell-origin": "Ursprung",
|
||||||
|
|
||||||
|
"midgard5.kampfkunst-type": "Kampfkunst Art",
|
||||||
|
"midgard5.kampfkunst-variante": "Kampfkunst Variante",
|
||||||
|
"midgard5.kido-type": "Kido Art",
|
||||||
|
"midgard5.kido-variante": "Kido Variante",
|
||||||
|
|
||||||
|
"midgard5.kampfkunst-type-angriff": "Angriffstechnik",
|
||||||
|
"midgard5.kampfkunst-type-verteidigung": "Verteidigungstechnik",
|
||||||
|
"midgard5.kampfkunst-type-finten": "Finten",
|
||||||
|
"midgard5.kampfkunst-type-geist": "Geistestechnik",
|
||||||
|
"midgard5.kampfkunst-type-schießkunst": "Schießkunst",
|
||||||
|
"midgard5.kampfkunst-type-fechten": "Fechtkunst",
|
||||||
|
"midgard5.kido-type-angriff": "Kido Angriffstechnik",
|
||||||
|
"midgard5.kido-type-verteidigung": "Kido Verteidigungstechnik",
|
||||||
|
"midgard5.kido-type-finten": "Kido Finten",
|
||||||
|
"midgard5.kido-type-leib": "Kido Leibestechnik",
|
||||||
|
|
||||||
|
"midgard5.kampfkunst-variante-anstuermen": "Anstürmen",
|
||||||
|
"midgard5.kampfkunst-variante-attackieren": "Attackieren",
|
||||||
|
"midgard5.kampfkunst-variante-entwaffnen": "Entwaffnen",
|
||||||
|
|
||||||
|
"midgard5.kido-variante-anspringen": "Anspringen",
|
||||||
|
"midgard5.kido-variante-attackieren": "Attackieren",
|
||||||
|
"midgard5.kido-variante-entwaffnen": "Entwaffnen",
|
||||||
|
"midgard5.kido-variante-werfen": "Werfen",
|
||||||
|
"midgard5.kido-variante-ausweichen": "Ausweichen",
|
||||||
|
"midgard5.kido-variante-blockieren": "Blockieren",
|
||||||
|
"midgard5.kido-variante-bewegen": "Bewegen",
|
||||||
|
"midgard5.kido-variante-kontrollieren": "Kontrollieren",
|
||||||
|
|
||||||
"midgard5.mod-operation-add100": "Addieren (max 100)",
|
"midgard5.mod-operation-add100": "Addieren (max 100)",
|
||||||
"midgard5.mod-operation-add": "Addieren",
|
"midgard5.mod-operation-add": "Addieren",
|
||||||
"midgard5.mod-operation-set": "Basiswert",
|
"midgard5.mod-operation-set": "Basiswert",
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"name": "Kampfkünste",
|
"name": "Kampfkunst",
|
||||||
"type": "kampfkunst",
|
"type": "kampfkunst",
|
||||||
"img": "icons/svg/item-bag.svg",
|
"img": "icons/svg/item-bag.svg",
|
||||||
"data": {
|
"data": {
|
||||||
|
|
@ -11,11 +11,13 @@
|
||||||
"finten": "midgard5.kampfkunst-type-finten",
|
"finten": "midgard5.kampfkunst-type-finten",
|
||||||
"geist": "midgard5.kampfkunst-type-geist",
|
"geist": "midgard5.kampfkunst-type-geist",
|
||||||
"schießkunst": "midgard5.kampfkunst-type-schießkunst",
|
"schießkunst": "midgard5.kampfkunst-type-schießkunst",
|
||||||
"fechten": "midgard5.kampfkunst-type-fechten",
|
"fechten": "midgard5.kampfkunst-type-fechten"
|
||||||
"kidoAngriff": "midgard5.kido-type-angriff",
|
},
|
||||||
"kidoVerteidigung": "midgard5.kido-type-verteidigung",
|
"kidoTypeSelection": {
|
||||||
"kidoFinten": "midgard5.kido-type-finten",
|
"angriff": "midgard5.kido-type-angriff",
|
||||||
"kidoLeib": "midgard5.kido-type-leub"
|
"verteidigung": "midgard5.kido-type-verteidigung",
|
||||||
|
"finten": "midgard5.kido-type-finten",
|
||||||
|
"leib": "midgard5.kido-type-leib"
|
||||||
},
|
},
|
||||||
"kampfkunstVarianteSelection": {
|
"kampfkunstVarianteSelection": {
|
||||||
"none": "midgard5.spell-process-none",
|
"none": "midgard5.spell-process-none",
|
||||||
|
|
@ -23,9 +25,21 @@
|
||||||
"attackieren": "midgard5.kampfkunst-variante-attackieren",
|
"attackieren": "midgard5.kampfkunst-variante-attackieren",
|
||||||
"entwaffnen": "midgard5.kampfkunst-variante-entwaffnen"
|
"entwaffnen": "midgard5.kampfkunst-variante-entwaffnen"
|
||||||
},
|
},
|
||||||
|
"kidoVarianteSelection": {
|
||||||
|
"none": "midgard5.spell-process-none",
|
||||||
|
"anspringen": "midgard5.kido-variante-anspringen",
|
||||||
|
"attackieren": "midgard5.kido-variante-attackieren",
|
||||||
|
"entwaffnen": "midgard5.kido-variante-entwaffnen",
|
||||||
|
"werfen": "midgard5.kido-variante-werfen",
|
||||||
|
"ausweichen": "midgard5.kido-variante-ausweichen",
|
||||||
|
"blockieren": "midgard5.kido-variante-blockieren",
|
||||||
|
"bewegen": "midgard5.kido-variante-bewegen",
|
||||||
|
"kontrollieren": "midgard5.kido-variante-kontrollieren"
|
||||||
|
},
|
||||||
"bonus": 0,
|
"bonus": 0,
|
||||||
"type": "angriff",
|
"type": "angriff",
|
||||||
"variante": "none",
|
"variante": "none",
|
||||||
|
"isKido": false,
|
||||||
"skillId": "",
|
"skillId": "",
|
||||||
"ap": 0,
|
"ap": 0,
|
||||||
"rolls": {
|
"rolls": {
|
||||||
|
|
@ -46,6 +60,5 @@
|
||||||
"permission": {
|
"permission": {
|
||||||
"default": 0,
|
"default": 0,
|
||||||
"XD0IpWT6bN4AJiYQ": 3
|
"XD0IpWT6bN4AJiYQ": 3
|
||||||
},
|
}
|
||||||
"_id": "HQ469FvZkwKfzFff"
|
|
||||||
}
|
}
|
||||||
|
|
@ -11,6 +11,7 @@ const preloadTemplates = async (): Promise<Handlebars.TemplateDelegate<any>[]> =
|
||||||
"sheets/character/skills.hbs",
|
"sheets/character/skills.hbs",
|
||||||
"sheets/character/gear.hbs",
|
"sheets/character/gear.hbs",
|
||||||
"sheets/character/spells.hbs",
|
"sheets/character/spells.hbs",
|
||||||
|
"sheets/character/kampfkuenste.hbs",
|
||||||
"sheets/character/effects.hbs",
|
"sheets/character/effects.hbs",
|
||||||
"sheets/item/rolls.hbs",
|
"sheets/item/rolls.hbs",
|
||||||
"chat/roll-m5.hbs",
|
"chat/roll-m5.hbs",
|
||||||
|
|
|
||||||
|
|
@ -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,17 +163,16 @@ export interface M5CharacterCalculatedData {
|
||||||
custom: {};
|
custom: {};
|
||||||
};
|
};
|
||||||
gear: {
|
gear: {
|
||||||
weapons: {};;
|
weapons: {};
|
||||||
defensiveWeapons: {};;
|
defensiveWeapons: {};
|
||||||
armor: {};;
|
armor: {};
|
||||||
items: {};
|
items: {};
|
||||||
effects: {};;
|
effects: {};
|
||||||
};;
|
};
|
||||||
spells: {};;
|
spells: {};
|
||||||
kampfkuenste: {};
|
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[];
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -293,7 +293,9 @@ export class M5Character extends Actor {
|
||||||
|
|
||||||
ret.kampfkuenste[item.id] = {
|
ret.kampfkuenste[item.id] = {
|
||||||
label: item.name,
|
label: item.name,
|
||||||
process: "midgard5.kampfkunst-type-" + item.system.type,
|
isKido: item.system.isKido,
|
||||||
|
type: item.system.type,
|
||||||
|
variante: item.system.variante,
|
||||||
calc: item.system.calc,
|
calc: item.system.calc,
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -116,7 +116,7 @@ export class M5Item extends Item {
|
||||||
} else if (itemType === "kampfkunst") {
|
} else if (itemType === "kampfkunst") {
|
||||||
calc.fw = 0;
|
calc.fw = 0;
|
||||||
if (actor) {
|
if (actor) {
|
||||||
const actorCalc = character.derivedData({ weapons: true, defensiveWeapons: true, armor: true, items: true, spells: true, kampfkuenste: 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.spellCasting.value;
|
calc.ew = actorCalc.stats.spellCasting.value;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -205,7 +205,7 @@ export default class M5CharacterSheet extends ActorSheet {
|
||||||
const item = this.actor.items.get(li.dataset.itemId);
|
const item = this.actor.items.get(li.dataset.itemId);
|
||||||
|
|
||||||
// limit transfer on personal weapons/armour/gear
|
// limit transfer on personal weapons/armour/gear
|
||||||
if (["skill", "item", "weapon", "defensiveWeapon", "armor", "spell", "effect"].includes(item.type)) {
|
if (["skill", "item", "weapon", "defensiveWeapon", "armor", "spell", "effect", "kampfkunst"].includes(item.type)) {
|
||||||
const dragData = {
|
const dragData = {
|
||||||
type: "Transfer",
|
type: "Transfer",
|
||||||
actorId: this.actor.id,
|
actorId: this.actor.id,
|
||||||
|
|
|
||||||
|
|
@ -241,22 +241,30 @@
|
||||||
"finten": "midgard5.kampfkunst-type-finten",
|
"finten": "midgard5.kampfkunst-type-finten",
|
||||||
"geist": "midgard5.kampfkunst-type-geist",
|
"geist": "midgard5.kampfkunst-type-geist",
|
||||||
"schießkunst": "midgard5.kampfkunst-type-schießkunst",
|
"schießkunst": "midgard5.kampfkunst-type-schießkunst",
|
||||||
"fechten": "midgard5.kampfkunst-type-fechten",
|
"fechten": "midgard5.kampfkunst-type-fechten"
|
||||||
"kidoAngriff": "midgard5.kido-type-angriff",
|
},
|
||||||
"kidoVerteidigung": "midgard5.kido-type-verteidigung",
|
"kidoTypeSelection": {
|
||||||
"kidoFinten": "midgard5.kido-type-finten",
|
"angriff": "midgard5.kido-type-angriff",
|
||||||
"kidoLeib": "midgard5.kido-type-leub"
|
"verteidigung": "midgard5.kido-type-verteidigung",
|
||||||
|
"finten": "midgard5.kido-type-finten",
|
||||||
|
"leib": "midgard5.kido-type-leib"
|
||||||
},
|
},
|
||||||
"kampfkunstVarianteSelection": {
|
"kampfkunstVarianteSelection": {
|
||||||
"none": "midgard5.spell-process-none",
|
"none": "midgard5.spell-process-none",
|
||||||
"anstuermen": "midgard5.kampfkunst-variant-anstuermen",
|
"anstuermen": "midgard5.kampfkunst-variante-anstuermen",
|
||||||
"attackieren": "midgard5.kampfkunst-variant-attackieren",
|
"attackieren": "midgard5.kampfkunst-variante-attackieren",
|
||||||
"entwaffnen": "midgard5.kampfkunst-variant-entwaffnen"
|
"entwaffnen": "midgard5.kampfkunst-variante-entwaffnen"
|
||||||
},
|
},
|
||||||
"spellTargetSelection": {
|
"kidoVarianteSelection": {
|
||||||
"umgebung": "midgard5.spell-target-umgebung",
|
"none": "midgard5.spell-process-none",
|
||||||
"geist": "midgard5.spell-target-geist",
|
"anspringen": "midgard5.kido-variante-anspringen",
|
||||||
"koerper": "midgard5.spell-target-koerper"
|
"attackieren": "midgard5.kido-variante-attackieren",
|
||||||
|
"entwaffnen": "midgard5.kido-variante-entwaffnen",
|
||||||
|
"werfen": "midgard5.kido-variante-werfen",
|
||||||
|
"ausweichen": "midgard5.kido-variante-ausweichen",
|
||||||
|
"blockieren": "midgard5.kido-variante-blockieren",
|
||||||
|
"bewegen": "midgard5.kido-variante-bewegen",
|
||||||
|
"kontrollieren": "midgard5.kido-variante-kontrollieren"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -375,11 +383,8 @@
|
||||||
"bonus": 0,
|
"bonus": 0,
|
||||||
"type": "",
|
"type": "",
|
||||||
"variante": "",
|
"variante": "",
|
||||||
|
"isKido": false,
|
||||||
"ap": "",
|
"ap": "",
|
||||||
"effectTarget": "",
|
|
||||||
"effectArea": "",
|
|
||||||
"effectDuration": "",
|
|
||||||
"origin": "",
|
|
||||||
"rolls": {
|
"rolls": {
|
||||||
"formulas": {
|
"formulas": {
|
||||||
"0": {
|
"0": {
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,15 @@
|
||||||
<tr data-item="{{itemId}}">
|
<tr data-item="{{itemId}}">
|
||||||
<td class="padding edit-item">
|
<td class="padding edit-item">
|
||||||
<span>{{item.label}}</span>
|
<span>{{item.label}}</span>
|
||||||
<span class="spell-process">{{localize item.process}}</span>
|
{{#if item.isKido}}
|
||||||
|
<span class="spell-process">{{localize item.type}}</span>
|
||||||
|
|
||||||
|
<span class="spell-process">({{localize item.variante}})</span>
|
||||||
|
{{else if (eq item.type "midgard5.kampfkunst-type-angriff")}}
|
||||||
|
<span class="spell-process">{{localize item.kidoType}}</span>
|
||||||
|
|
||||||
|
<span class="spell-process">({{localize item.kidoVariante}})</span>
|
||||||
|
{{/if}}
|
||||||
</td>
|
</td>
|
||||||
<td class="fixed-value">{{item.calc.ew}}</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"><button class="roll-button roll-weapon-button" /></td>
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,16 @@
|
||||||
<div class="sheet-content">
|
<div class="sheet-content">
|
||||||
<table>
|
<table>
|
||||||
<tbody>
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td colspan=4>
|
||||||
|
<div class="flexrow">
|
||||||
|
<span>
|
||||||
|
<input id="data.isKido" type="checkbox" name="data.isKido" {{checked data.isKido}}>
|
||||||
|
<label for="data.isKido">{{localize "midgard5.kido"}}</label>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{localize "midgard5.bonus"}}</td>
|
<td>{{localize "midgard5.bonus"}}</td>
|
||||||
<td><input name="data.bonus" type="text" value="{{data.bonus}}" data-dtype="Number" /></td>
|
<td><input name="data.bonus" type="text" value="{{data.bonus}}" data-dtype="Number" /></td>
|
||||||
|
|
@ -13,21 +23,8 @@
|
||||||
<td><input name="data.ap" type="text" value="{{data.ap}}" data-dtype="String" /></td>
|
<td><input name="data.ap" type="text" value="{{data.ap}}" data-dtype="String" /></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{localize "midgard5.spell-effectTarget"}}</td>
|
{{#unless item.system.isKido}}
|
||||||
<td>
|
<td>{{localize "midgard5.kampfkunst-type"}}</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>
|
<td>
|
||||||
<select class="select-type" name="data.type" data-type="String">
|
<select class="select-type" name="data.type" data-type="String">
|
||||||
{{#select data.type}}
|
{{#select data.type}}
|
||||||
|
|
@ -37,8 +34,21 @@
|
||||||
{{/select}}
|
{{/select}}
|
||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
|
{{else}}
|
||||||
|
<td>{{localize "midgard5.kido-type"}}</td>
|
||||||
|
<td>
|
||||||
|
<select class="select-type" name="data.type" data-type="String">
|
||||||
|
{{#select data.type}}
|
||||||
|
{{#each data.kidoTypeSelection as |label key|}}
|
||||||
|
<option value="{{key}}">{{localize label}}</option>
|
||||||
|
{{/each}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
{{/unless}}
|
||||||
|
{{#unless item.system.isKido}}
|
||||||
{{#if (eq item.system.type "angriff")}}
|
{{#if (eq item.system.type "angriff")}}
|
||||||
<td>{{localize "midgard5.spell-process"}}</td>
|
<td>{{localize "midgard5.kampfkunst-variante"}}</td>
|
||||||
<td>
|
<td>
|
||||||
<select class="select-variante" name="data.variante" data-type="String">
|
<select class="select-variante" name="data.variante" data-type="String">
|
||||||
{{#select data.variante}}
|
{{#select data.variante}}
|
||||||
|
|
@ -49,10 +59,24 @@
|
||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</tr>
|
{{else}}
|
||||||
<td>{{localize "midgard5.weapon-skill"}}</td>
|
{{#unless (eq item.system.type "finten")}}
|
||||||
|
<td>{{localize "midgard5.kido-variante"}}</td>
|
||||||
<td>
|
<td>
|
||||||
{{#if data.calc.skills.general}}
|
<select class="select-variante" name="data.variante" data-type="String">
|
||||||
|
{{#select data.Variante}}
|
||||||
|
{{#each data.varianteSelection as |label key|}}
|
||||||
|
<option value="{{key}}">{{localize label}}</option>
|
||||||
|
{{/each}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
{{/unless}}
|
||||||
|
{{/unless}}
|
||||||
|
</tr>
|
||||||
|
<td>{{localize "midgard5.skill"}}</td>
|
||||||
|
<td>
|
||||||
|
{{!-- {{#if data.calc.skills.general}} --}}
|
||||||
<select class="select-skill" name="data.skillId" data-type="String">
|
<select class="select-skill" name="data.skillId" data-type="String">
|
||||||
{{#select data.skillId}}
|
{{#select data.skillId}}
|
||||||
<option value="">{{localize "midgard5.no-skill"}}</option>
|
<option value="">{{localize "midgard5.no-skill"}}</option>
|
||||||
|
|
@ -61,9 +85,9 @@
|
||||||
{{/each}}
|
{{/each}}
|
||||||
{{/select}}
|
{{/select}}
|
||||||
</select>
|
</select>
|
||||||
{{else}}
|
{{!-- {{else}}
|
||||||
<span>{{localize "midgard5.assignItemToCharacter"}}</span>
|
<span>{{localize "midgard5.assignItemToCharacter"}}</span>
|
||||||
{{/if}}
|
{{/if}} --}}
|
||||||
</td>
|
</td>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue