Entbehrungen #89

Merged
Byroks merged 10 commits from entbehrungen into develop 2024-03-24 20:02:26 +01:00
6 changed files with 50 additions and 83 deletions
Showing only changes of commit e5ace68557 - Show all commits

View File

@ -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",

View File

@ -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;

Muss das in 3 geteilt sein? Das mod Array von ColdBonus wird zb. garnicht verwendet sondern nur die Value beschrieben, der PW wert ist auch einfach nur die Summe von beiden werten.

Bitte das einmal zusammenfassen, am besten wird bei Skills dann ein Versteckter Aktiver Effekt hinzugefügt der den Mod beinhaltet.

Muss das in 3 geteilt sein? Das mod Array von ColdBonus wird zb. garnicht verwendet sondern nur die Value beschrieben, der PW wert ist auch einfach nur die Summe von beiden werten. Bitte das einmal zusammenfassen, am besten wird bei Skills dann ein Versteckter Aktiver Effekt hinzugefügt der den Mod beinhaltet.
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;

View File

@ -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;
}
});
}

View File

@ -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) {

View File

@ -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: "",

View File

@ -55,50 +55,6 @@
</div>
</div>
<div class="flexcolumn-2">
<div class="flexpart">
<div class="flexpart-header"><img src="icons/skills/wounds/injury-body-pain-gray.webp" class="flexpart-icon">{{localize "midgard5.deprivations"}}</div>
<table>
<thead>
<tr>
<th class="title"><img src="/icons/svg/eye.svg" class="table-icon"></th>
<th class="title">{{localize "midgard5.deprivation"}}</th>
<th class="title">{{localize "midgard5.ew"}}</th>
<th class="title">{{localize "midgard5.bonus"}}</th>
<th class="title">{{localize "midgard5.pw"}}</th>
<th class="title"><img src="/icons/svg/d20.svg" class="table-icon"></th>
</tr>
</thead>
<tbody class="items-list">
<tr data-item-id="{{itemId}}">
<td class="flexpart-img"><img src="/icons/magic/water/snowflake-ice-blue.webp" class="flexpart-icon"></td>
<td class="padding edit-item">{{localize "midgard5.deprivationCold"}}</td>
<td class="fixed-value">{{data.calc.stats.deprivationCold.value}}</td>
<td class="fixed-value">{{data.calc.stats.deprivationColdBonus.value}}</td>
<td class="fixed-value">{{add data.calc.stats.deprivationCold.value data.calc.stats.deprivationColdBonus.value}}</td>
<td><button class="roll-button roll-deprivationCold-button"></button></td>
</tr>
<tr data-item-id="{{itemId}}">
<td class="flexpart-img"><img src="/icons/magic/fire/orb-lightning-sun.webp" class="flexpart-icon"></td>
<td class="padding edit-item">{{localize "midgard5.deprivationHeat"}}</td>
<td class="fixed-value">{{data.calc.stats.deprivationHeat.value}}</td>
<td class="fixed-value">{{data.calc.stats.deprivationHeatBonus.value}}</td>
<td class="fixed-value">{{add data.calc.stats.deprivationHeat.value data.calc.stats.deprivationHeatBonus.value}}</td>
<td><button class="roll-button roll-deprivationHeat-button"></button></td>
</tr>
<tr data-item-id="{{itemId}}">
<td class="flexpart-img"><img src="/icons/consumables/food/plate-fish-bowl-bones-brown.webp" class="flexpart-icon"></td>
<td class="padding edit-item">{{localize "midgard5.deprivationFood"}}</td>
<td class="fixed-value">{{data.calc.stats.deprivationFood.value}}</td>
<td class="fixed-value">{{data.calc.stats.deprivationFoodBonus.value}}</td>
<td class="fixed-value">{{add data.calc.stats.deprivationFood.value data.calc.stats.deprivationFoodBonus.value}}</td>
<td><button class="roll-button roll-deprivationFood-button"></button></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="flexcolumn-2">
<div class="flexpart">
<div class="flexpart-header"><img src="icons/magic/time/arrows-circling-pink.webp" class="flexpart-icon">{{localize "midgard5.calculated-values"}}</div>
@ -167,3 +123,30 @@
</div>
</div>
</div>
<div class="flexcolumn-1">
<div class="flexpart">
<div class="flexpart-header"><img src="icons/skills/wounds/injury-body-pain-gray.webp" class="flexpart-icon">{{localize "midgard5.deprivations"}} & {{localize "midgard5.deprivation"}}</div>
<table>
<tr height = 10px></tr>
<tr>
<td class="flexpart-img"><img src="/icons/sundries/survival/waterskin-leather-brown.webp" class="flexpart-icon"></td>
<td bgcolor="#eaead7" class="padding edit-item highlight" >{{localize "midgard5.deprivationThirst"}}</td>
<td bgcolor="#eaead7" class="center">{{data.calc.stats.deprivationFood.value}}</td>
<td bgcolor="#eaead7" class="fixed-value" style="border-right: 1px solid black;"><button class="roll-button roll-deprivationFood-button" /></td>
<td class="flexpart-img"><img src="/icons/magic/fire/orb-lightning-sun.webp" class="flexpart-icon"></td>
<td class="padding edit-item highlight">{{localize "midgard5.deprivationHeat"}}</td>
<td class="center">{{ data.calc.stats.deprivationHeat.value}}</td>
<td class="fixed-value" style="border-right: 1px solid black;"><button class="roll-button roll-deprivationHeat-button"></button></td>
<td class="flexpart-img"><img src="/icons/consumables/food/plate-fish-bowl-bones-brown.webp" class="flexpart-icon"></td>
<td bgcolor="#eaead7" class="padding edit-item highlight">{{localize "midgard5.deprivationFood"}}</td>
<td bgcolor="#eaead7" class="center">{{data.calc.stats.deprivationFood.value}}</td>
<td bgcolor="#eaead7" class="fixed-value" style="border-right: 1px solid black;"><button class="roll-button roll-deprivationFood-button"></button></td>
<td class="flexpart-img"><img src="/icons/magic/water/snowflake-ice-blue.webp" class="flexpart-icon"></td>
<td class="padding edit-item highlight">{{localize "midgard5.deprivationCold"}}</td>
<td class="center">{{data.calc.stats.deprivationCold.value}}</td>
<td class="fixed-value"><button class="roll-button roll-deprivationCold-button"></button></td>
</tr>
</table>
</div>
</div>