diff --git a/lang/de.json b/lang/de.json index ea40665..f5d6679 100644 --- a/lang/de.json +++ b/lang/de.json @@ -43,6 +43,7 @@ "midgard5.item-onbody": "Am Körper", "midgard5.item-ismagic": "Ist Magisch", "midgard5.item-wealth": "Vermögenswert", + "midgard5.item-weight": "Gewicht", "midgard5.actor-lp": "Lebenspunkte", "midgard5.actor-lp-short": "LP", @@ -112,6 +113,7 @@ "midgard5.heavy-load": "Schwere Last", "midgard5.thrust-load": "Schublast", "midgard5.load-max": "Höchstlast", + "midgard5.load-capacity": "Tragkraft", "midgard5.exp-overall": "Erfahrungsschatz", "midgard5.exp-available": "Erfahrungspunkte", diff --git a/source/module/actors/M5Character.ts b/source/module/actors/M5Character.ts index 6259882..d0d6520 100644 --- a/source/module/actors/M5Character.ts +++ b/source/module/actors/M5Character.ts @@ -184,7 +184,7 @@ export class M5Character extends Actor { ret.stats.damageBonus = this.modResult(Math.floor(ret.attributes.st.value / 20) + Math.floor(ret.attributes.gs.value / 30) - 3); ret.stats.attackBonus = this.modResult(ret.attributes.gs.bonus); ret.stats.defenseBonus = this.modResult(ret.attributes.gw.bonus); - ret.stats.movement = this.modResult(data.movement); + ret.stats.movement = this.modResult(data.info.encumbrance > data.info.heavyLoad ? data.movement / 2 : data.movement); ret.stats.resistanceMind = this.modResult( (data.info.magicUsing ? 2 : 0) + ret.stats.defense.value + (data.info.race === "Mensch" ? ret.attributes.in.bonus : this.raceBonus(data.info.race)) ); @@ -209,8 +209,8 @@ export class M5Character extends Actor { ret.stats.loadMax = M5Character.maxLoadValue(data.attributes.st); ret.stats.thrustLoad = M5Character.thrustLoadValue(data.attributes.st); ret.stats.encumbrance = 0; - + if (!skip?.mods) { const aggregate = new M5ModAggregate(data, ret); @@ -243,6 +243,9 @@ export class M5Character extends Actor { }; if (item.system.hoarded) { ret.stats.hoard += item.system.value || 0; + }; + if (item.system.equipped) { + ret.stats.encumbrance += item.system.weight || 0; } let icon = item.img; @@ -372,6 +375,9 @@ export class M5Character extends Actor { }; if (item.system.hoarded) { ret.stats.hoard += item.system.value || 0; + }; + if (item.system.equipped) { + ret.stats.encumbrance += item.system.weight || 0; } ret.gear.weapons[item.id] = { @@ -401,6 +407,9 @@ export class M5Character extends Actor { }; if (item.system.hoarded) { ret.stats.hoard += item.system.value || 0; + }; + if (item.system.equipped) { + ret.stats.encumbrance += item.system.weight || 0; } ret.gear.defensiveWeapons[item.id] = { diff --git a/templates/sheets/character/gear.hbs b/templates/sheets/character/gear.hbs index a7d2ae7..629d9a6 100644 --- a/templates/sheets/character/gear.hbs +++ b/templates/sheets/character/gear.hbs @@ -39,6 +39,7 @@