Entbehrungen (#89)
Ich habe die Entbehrungswerte für Zähigkeit unter den Grundwerten abgelegt und werde die Tage noch Entbehrungseffekte und ein Macro in der Extension dafür anlegen. Die Boni für die Klassen wie zB Barbar +10 könnten wir dann da direkt mit in der jeweilige Klasse berücksichtigen. Grundsätzlich kann man das aber jetzt schonmal nutzen und der Grundwertebogen war mir zu leer ;)  Co-authored-by: Byroks <byroks@gmail.com> Reviewed-on: #89 Co-authored-by: LeFrique <lefrique@live.de> Co-committed-by: LeFrique <lefrique@live.de>
This commit was merged in pull request #89.
This commit is contained in:
@@ -114,10 +114,9 @@ export class M5Character extends Actor {
|
||||
brawlFw: 0,
|
||||
poisonResistance: { value: 0, mods: [] },
|
||||
enduranceBonus: 0,
|
||||
perception: { value: 0, mods: [] },
|
||||
perceptionFW: 0,
|
||||
drinking: { value: 0, mods: [] },
|
||||
drinkingFW: 0,
|
||||
deprivationCold: { value: 0, mods: [] },
|
||||
deprivationHeat: { value: 0, mods: [] },
|
||||
deprivationFood: { value: 0, mods: [] },
|
||||
hoard: 0,
|
||||
encumbrance: 0,
|
||||
load: 0,
|
||||
@@ -189,10 +188,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.perception = this.modResult(0);
|
||||
ret.stats.perceptionFW = 6;
|
||||
ret.stats.drinking = this.modResult(0);
|
||||
ret.stats.drinkingFW = Math.floor(ret.attributes.ko.value / 10);
|
||||
ret.stats.deprivationCold = this.modResult(Math.floor(ret.attributes.ko.value / 2));
|
||||
ret.stats.deprivationHeat = this.modResult(Math.floor(ret.attributes.ko.value / 2));
|
||||
ret.stats.deprivationFood = this.modResult(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));
|
||||
@@ -207,7 +205,10 @@ export class M5Character extends Actor {
|
||||
const aggregate = new M5ModAggregate(data, ret);
|
||||
|
||||
context.items
|
||||
?.filter((item) => (item.type === "item" || item.type === "effect" || item.type === "armor" || item.type === "container" || item.type === "class") && item.system.equipped)
|
||||
?.filter(
|
||||
(item) =>
|
||||
(item.type === "item" || item.type === "skill" || item.type === "effect" || item.type === "armor" || item.type === "container" || item.type === "class") && item.system.equipped
|
||||
)
|
||||
.forEach((item) => {
|
||||
const mods = item.system.mods;
|
||||
//console.log("Actor item mods", mods)
|
||||
@@ -250,6 +251,7 @@ export class M5Character extends Actor {
|
||||
calc: item.system.calc,
|
||||
equipped: item.system?.equipped,
|
||||
weight: item.system.weight || 0,
|
||||
capacity: item.system.capacity || 0,
|
||||
value: item.system.value || 0,
|
||||
currency: item.system.currency || "",
|
||||
quantity: item.system.quantity || 0,
|
||||
@@ -447,41 +449,7 @@ export class M5Character extends Actor {
|
||||
containerId: item.system.containerId || "",
|
||||
};
|
||||
});
|
||||
|
||||
//if (!skip?.encumbrance) {
|
||||
//const item = context.items.filter((x) => x.name === "Belastung");
|
||||
//if (item.length === 0) {
|
||||
// this.createEffect("Belastung", [
|
||||
// { id: "movement", operation: M5ModOperation.DIVISION, type: M5ModType.STAT, value: 2 },
|
||||
// { id: "attackBonus", operation: M5ModOperation.SUBTRACT, type: M5ModType.STAT, value: 4 },
|
||||
// { id: "defenseBonus", operation: M5ModOperation.SUBTRACT, type: M5ModType.STAT, value: 4 }
|
||||
// ]);
|
||||
//} else if (item.length === 2) {
|
||||
// item[1]?.delete();
|
||||
//}
|
||||
//
|
||||
//if (item.length === 1) {
|
||||
// item[0]?.update({
|
||||
// img: "icons/containers/bags/sack-simple-leather-orange.webp" });
|
||||
// }
|
||||
//
|
||||
//if (ret.stats.encumbrance <= ret.stats.heavyLoad) {
|
||||
// item[0]?.update({
|
||||
// data: {
|
||||
// equipped: false,
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
//
|
||||
//if (ret.stats.encumbrance > ret.stats.heavyLoad) {
|
||||
// item[0].update({
|
||||
// data: {
|
||||
// equipped: true,
|
||||
// },
|
||||
// });
|
||||
// }
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
||||
if (!skip?.class) {
|
||||
context.items
|
||||
@@ -540,16 +508,6 @@ export class M5Character extends Actor {
|
||||
pp: item.system.pp,
|
||||
calc: item.system.calc,
|
||||
} as M5SkillCalculated;
|
||||
|
||||
// Adjust attribute Aussehen based on Athletik skill
|
||||
if (item.name === "Athletik") {
|
||||
ret.attributes.au.value += Math.floor(item.system.fw / 3);
|
||||
}
|
||||
|
||||
// Adjust stat Bewegungsweite based on Laufen skill
|
||||
if (item.name === "Laufen") {
|
||||
ret.stats.movement.value += Math.floor(item.system.fw / 3);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -41,8 +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.PERCEPTION, operation: M5ModOperation.SET, value: calc.stats.perception.value }, characterString);
|
||||
this.push({ type: M5ModType.STAT, id: M5Stats.DRINKING, operation: M5ModOperation.SET, value: calc.stats.drinking.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);
|
||||
}
|
||||
|
||||
push(mod: M5ItemMod, source: string) {
|
||||
|
||||
Reference in New Issue
Block a user