diff --git a/lang/de.json b/lang/de.json index 4859009..fe0a7f3 100644 --- a/lang/de.json +++ b/lang/de.json @@ -241,11 +241,12 @@ "midgard5.enduranceBonus": "Ausdauerbonus", "midgard5.lpProtection": "Rüstungsschutz (LP)", "midgard5.apProtection": "Rüstungsschutz (AP)", - "midgard5.deprivation": "Entbehrung", + "midgard5.deprivation": "Zähigkeit", "midgard5.deprivations": "Entbehrungen", "midgard5.deprivationCold": "Zähigkeit Kälte", "midgard5.deprivationHeat": "Zähigkeit Hitze", - "midgard5.deprivationFood": "Zähigkeit Hunger & Durst", + "midgard5.deprivationFood": "Zähigkeit Hunger", + "midgard5.deprivationThirst": "Zähigkeit Durst", "midgard5.new-skill": "Neue Fertigkeit", "midgard5.special": "Spezial", diff --git a/source/module/M5Base.ts b/source/module/M5Base.ts index d1518ca..1a958cb 100644 --- a/source/module/M5Base.ts +++ b/source/module/M5Base.ts @@ -106,6 +106,7 @@ export enum M5Stats { DEPRIVATION_COLD = "cold", DEPRIVATION_HEAT = "heat", DEPRIVATION_FOOD = "food", + DEPRIVATION_THIRST = "thirst", HOARD = "hoard", HOARD_NEXT = "hoardNext", HOARD_MIN = "hoardMin", @@ -198,15 +199,9 @@ export interface M5CharacterCalculatedData { brawlFw: number; poisonResistance: M5ModResult; enduranceBonus: number; - deprivationCold: M5ModResult; - deprivationColdBonus: M5ModResult; - deprivationColdPw: number; - deprivationHeat: M5ModResult; - deprivationHeatBonus: M5ModResult; - deprivationHeatPw: number; - deprivationFood: M5ModResult; - deprivationFoodBonus: M5ModResult; - deprivationFoodPw: number; + deprivationCold: number; + deprivationHeat: number; + deprivationFood: number; hoard: number; hoardNext: number; hoardMin: number; diff --git a/source/module/actors/M5Character.ts b/source/module/actors/M5Character.ts index 5cadd1a..9f32ce1 100644 --- a/source/module/actors/M5Character.ts +++ b/source/module/actors/M5Character.ts @@ -126,15 +126,9 @@ export class M5Character extends Actor { brawlFw: 0, poisonResistance: { value: 0, mods: [] }, enduranceBonus: 0, - deprivationCold: { value: 0, mods: [] }, - deprivationColdBonus: { value: 0, mods: [] }, - deprivationColdPw: 0, - deprivationHeat: { value: 0, mods: [] }, - deprivationHeatBonus: { value: 0, mods: [] }, - deprivationHeatPw: 0, - deprivationFood: { value: 0, mods: [] }, - deprivationFoodBonus: { value: 0, mods: [] }, - deprivationFoodPw: 0, + deprivationCold: 0, + deprivationHeat: 0, + deprivationFood: 0, hoard: 0, encumbrance: 0, load: 0, @@ -210,15 +204,9 @@ export class M5Character extends Actor { ret.stats.brawlFw = ret.stats.brawl.value + ret.stats.attackBonus.value + (data.info.race === "Zwerg" ? 1 : 0); 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); - ret.stats.deprivationCold = this.modResult(Math.floor(ret.attributes.ko.value / 2)); - ret.stats.deprivationColdBonus = this.modResult(0); - ret.stats.deprivationColdPw = Math.min(100, (ret.stats.deprivationCold.value + ret.stats.deprivationColdBonus.value)); - ret.stats.deprivationHeat = this.modResult(Math.floor(ret.attributes.ko.value / 2)); - ret.stats.deprivationHeatBonus = this.modResult(0); - ret.stats.deprivationHeatPw = Math.min(100, (ret.stats.deprivationHeat.value + ret.stats.deprivationHeatBonus.value)); - ret.stats.deprivationFood = this.modResult(Math.floor(40 + (ret.attributes.ko.value / 2))); - ret.stats.deprivationFoodBonus = this.modResult(0); - ret.stats.deprivationFoodPw = Math.min(100, (ret.stats.deprivationFood.value + ret.stats.deprivationFoodBonus.value)); + ret.stats.deprivationCold = (Math.floor(ret.attributes.ko.value / 2)); + ret.stats.deprivationHeat = (Math.floor(ret.attributes.ko.value / 2)); + ret.stats.deprivationFood = (Math.floor(40 + (ret.attributes.ko.value / 2))); ret.stats.hoardMin = M5Character.levelThreshold.at(ret.level - 1) / 2; ret.stats.hoardNext = M5Character.levelThreshold.at(ret.level) / 2; ret.stats.wealth = parseFloat((data.info.gold + data.info.silver / 10 + data.info.copper / 100).toPrecision(3)); @@ -561,17 +549,17 @@ export class M5Character extends Actor { // Adjust stat Kälte based on Überleben (Gebirge) skill if (item.name === "Überleben (Gebirge)") { - ret.stats.deprivationColdBonus.value += Math.floor(item.system.fw * 5); + ret.stats.deprivationCold += Math.floor(item.system.fw * 5); } // Adjust stat Kälte based on Überleben (Steppe) skill if (item.name === "Überleben (Steppe)") { - ret.stats.deprivationHeatBonus.value += Math.floor(item.system.fw * 5); + ret.stats.deprivationHeat += Math.floor(item.system.fw * 5); } // Adjust stat Durst & Hunger based on Robustheit skill if (item.name === "Robustheit") { - ret.stats.deprivationFoodBonus.value += 10; + ret.stats.deprivationFood += 10; } }); } diff --git a/source/module/actors/M5ModAggregate.ts b/source/module/actors/M5ModAggregate.ts index f1eca6b..a5f881a 100644 --- a/source/module/actors/M5ModAggregate.ts +++ b/source/module/actors/M5ModAggregate.ts @@ -41,9 +41,9 @@ export default class M5ModAggregate { this.push({ type: M5ModType.STAT, id: M5Stats.AP, operation: M5ModOperation.SET, value: calc.stats.ap.value }, characterString); this.push({ type: M5ModType.STAT, id: M5Stats.PROTECTION_LP, operation: M5ModOperation.SET, value: calc.stats.lpProtection.value }, characterString); this.push({ type: M5ModType.STAT, id: M5Stats.PROTECTION_AP, operation: M5ModOperation.SET, value: calc.stats.apProtection.value }, characterString); - this.push({ type: M5ModType.STAT, id: M5Stats.DEPRIVATION_COLD, operation: M5ModOperation.SET, value: calc.stats.deprivationCold.value }, characterString); - this.push({ type: M5ModType.STAT, id: M5Stats.DEPRIVATION_HEAT, operation: M5ModOperation.SET, value: calc.stats.deprivationHeat.value }, characterString); - this.push({ type: M5ModType.STAT, id: M5Stats.DEPRIVATION_FOOD, operation: M5ModOperation.SET, value: calc.stats.deprivationFood.value }, characterString); + this.push({ type: M5ModType.STAT, id: M5Stats.DEPRIVATION_COLD, operation: M5ModOperation.SET, value: calc.stats.deprivationCold }, characterString); + this.push({ type: M5ModType.STAT, id: M5Stats.DEPRIVATION_HEAT, operation: M5ModOperation.SET, value: calc.stats.deprivationHeat }, characterString); + this.push({ type: M5ModType.STAT, id: M5Stats.DEPRIVATION_FOOD, operation: M5ModOperation.SET, value: calc.stats.deprivationFood }, characterString); } push(mod: M5ItemMod, source: string) { diff --git a/source/module/rolls/M5Roll.ts b/source/module/rolls/M5Roll.ts index c490667..2bf61d5 100644 --- a/source/module/rolls/M5Roll.ts +++ b/source/module/rolls/M5Roll.ts @@ -199,7 +199,7 @@ export class M5Roll { const rollData = actor.getRollData() as M5RollData; rollData.rolls["0"] = { - formula: "@c.calc.stats.deprivationCold.value + @c.calc.stats.deprivationColdBonus.value -1D100", + formula: "@c.calc.stats.deprivationCold -1D100", enabled: true, label: (game as Game).i18n.localize("midgard5.deprivationCold"), result: "", @@ -216,7 +216,7 @@ export class M5Roll { const rollData = actor.getRollData() as M5RollData; rollData.rolls["0"] = { - formula: "@c.calc.stats.deprivationHeat.value + @c.calc.stats.deprivationHeatBonus.value -1D100", + formula: "@c.calc.stats.deprivationHeat -1D100", enabled: true, label: (game as Game).i18n.localize("midgard5.deprivationHeat"), result: "", @@ -233,7 +233,7 @@ export class M5Roll { const rollData = actor.getRollData() as M5RollData; rollData.rolls["0"] = { - formula: "@c.calc.stats.deprivationFood.value + @c.calc.stats.deprivationFoodBonus.value -1D100", + formula: "@c.calc.stats.deprivationFood -1D100", enabled: true, label: (game as Game).i18n.localize("midgard5.deprivationFood"), result: "", diff --git a/templates/sheets/character/base_values.hbs b/templates/sheets/character/base_values.hbs index e5ab39c..3cd7931 100644 --- a/templates/sheets/character/base_values.hbs +++ b/templates/sheets/character/base_values.hbs @@ -55,50 +55,6 @@ -
-
-
{{localize "midgard5.deprivations"}}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{{localize "midgard5.deprivation"}}{{localize "midgard5.ew"}}{{localize "midgard5.bonus"}}{{localize "midgard5.pw"}}
{{localize "midgard5.deprivationCold"}}{{data.calc.stats.deprivationCold.value}}{{data.calc.stats.deprivationColdBonus.value}}{{add data.calc.stats.deprivationCold.value data.calc.stats.deprivationColdBonus.value}}
{{localize "midgard5.deprivationHeat"}}{{data.calc.stats.deprivationHeat.value}}{{data.calc.stats.deprivationHeatBonus.value}}{{add data.calc.stats.deprivationHeat.value data.calc.stats.deprivationHeatBonus.value}}
{{localize "midgard5.deprivationFood"}}{{data.calc.stats.deprivationFood.value}}{{data.calc.stats.deprivationFoodBonus.value}}{{add data.calc.stats.deprivationFood.value data.calc.stats.deprivationFoodBonus.value}}
-
-
-
{{localize "midgard5.calculated-values"}}
@@ -166,4 +122,31 @@
- \ No newline at end of file + + +
+
+
{{localize "midgard5.deprivations"}} & {{localize "midgard5.deprivation"}}
+ + + + + + + + + + + + + + + + + + + + +
{{localize "midgard5.deprivationThirst"}}{{data.calc.stats.deprivationFood.value}}{{localize "midgard5.deprivationHeat"}}{{ data.calc.stats.deprivationHeat.value}}{{localize "midgard5.deprivationFood"}}{{data.calc.stats.deprivationFood.value}}{{localize "midgard5.deprivationCold"}}{{data.calc.stats.deprivationCold.value}}
+
+
\ No newline at end of file