diff --git a/lang/de.json b/lang/de.json index e090a6b..9e7b2ea 100644 --- a/lang/de.json +++ b/lang/de.json @@ -20,6 +20,8 @@ "midgard5.fw": "FW", "midgard5.bonus": "Bonus", "midgard5.ew": "EW", + "midgard5.pp-short": "PP", + "midgard5.pp": "Praxispunkte", "midgard5.item-value": "Wert", "midgard5.item-quantity": "Menge", diff --git a/source/module/M5Base.ts b/source/module/M5Base.ts index 717842b..992dc3c 100644 --- a/source/module/M5Base.ts +++ b/source/module/M5Base.ts @@ -3,6 +3,7 @@ import { BooleanField } from "@league-of-foundry-developers/foundry-vtt-types/sr export interface M5Skill { fw: number attribute: string + pp: number } export interface M5SkillUnlearned extends M5Skill { diff --git a/source/module/actors/M5Character.ts b/source/module/actors/M5Character.ts index 1fe79f6..a07a6c6 100644 --- a/source/module/actors/M5Character.ts +++ b/source/module/actors/M5Character.ts @@ -122,7 +122,7 @@ export class M5Character extends Actor { ret.stats.brawlEw = ret.stats.brawl.value + ret.stats.attackBonus.value ret.stats.poisonResistance = this.modResult(30 + Math.floor(ret.attributes.ko.value / 2)) ret.stats.enduranceBonus = Math.floor(ret.attributes.ko.value/10) + Math.floor(ret.attributes.st.value/20) - + if (!skip?.mods) { const aggregate = new M5ModAggregate(data, ret) @@ -136,7 +136,6 @@ export class M5Character extends Actor { }) ret.skillMods = aggregate.calculate() - // TODO apply attribute and stat calculation to ret. } if (!skip?.items) { @@ -164,6 +163,7 @@ export class M5Character extends Actor { label: item.name, fw: item.system.fw, attribute: item.system.attribute, + pp: item.system.pp, calc: item.system.calc } as M5SkillCalculated }) @@ -244,6 +244,7 @@ export class M5Character extends Actor { } prepareDerivedData() { + console.log("M5Character", "prepareDerivedData") const data = (this as any).system data.calc = this.derivedData({}) } @@ -295,9 +296,8 @@ export class M5Character extends Actor { } skillBonus(skill: M5Skill, skillName?: string) { - const attribute = this.attribute(skill.attribute) - let ret = attribute ? M5Character.attributeBonus(attribute) : 0 - return ret + const data = (this as any).system + return data.calc?.attributes[skill.attribute]?.bonus ?? 0 } skillEw(skill: M5Skill, skillName?: string) { diff --git a/source/module/items/M5Item.ts b/source/module/items/M5Item.ts index d6a6d42..a3e30ae 100644 --- a/source/module/items/M5Item.ts +++ b/source/module/items/M5Item.ts @@ -236,17 +236,17 @@ export class M5Item extends Item { return (this as any).getEmbeddedDocument("Item", itemId) } - override migrateSystemData(): any { - const item = (this as any) - const data = item.system + // migrateSystemData(): any { + // const item = (this as any) + // const data = item.system - if (item.type === "spell") { - if (typeof data.ap !== "string") { - data.ap = Number.isFinite(data.ap) ? "" + data.ap : "" - } - } + // if (item.type === "spell") { + // if (typeof data.ap !== "string") { + // data.ap = Number.isFinite(data.ap) ? "" + data.ap : "" + // } + // } - return super.migrateSystemData() - } + // return super.migrateSystemData() + // } } diff --git a/source/module/sheets/M5ItemSheet.ts b/source/module/sheets/M5ItemSheet.ts index d549789..d930a22 100644 --- a/source/module/sheets/M5ItemSheet.ts +++ b/source/module/sheets/M5ItemSheet.ts @@ -5,8 +5,8 @@ export class M5ItemSheet extends ItemSheet { static get defaultOptions() { return mergeObject(super.defaultOptions, { - width: 420, - height: 240, + width: 640, + height: 480, classes: ["midgard5", "sheet", "item"] }) } diff --git a/templates/sheets/character/skills.hbs b/templates/sheets/character/skills.hbs index 9b6e860..12df549 100644 --- a/templates/sheets/character/skills.hbs +++ b/templates/sheets/character/skills.hbs @@ -5,6 +5,7 @@