fixes situational bonuses to not apply constantly on attributes and the like

pull/64/head
macniel 2025-10-31 11:54:38 +01:00
parent fcbf6abaf6
commit 0fb82d01e7
10 changed files with 72 additions and 72 deletions

View File

@ -30,28 +30,28 @@ export class Character extends Actor {
const actorData = this;
const systemData = actorData.system;
systemData.attribute.mu.aktuell = systemData.attribute.mu.start + systemData.attribute.mu.mod;
systemData.attribute.kl.aktuell = systemData.attribute.kl.start + systemData.attribute.kl.mod;
systemData.attribute.in.aktuell = systemData.attribute.in.start + systemData.attribute.in.mod;
systemData.attribute.ch.aktuell = systemData.attribute.ch.start + systemData.attribute.ch.mod;
systemData.attribute.mu.aktuell = systemData.attribute.mu.start
systemData.attribute.kl.aktuell = systemData.attribute.kl.start
systemData.attribute.in.aktuell = systemData.attribute.in.start
systemData.attribute.ch.aktuell = systemData.attribute.ch.start
systemData.attribute.ff.aktuell = systemData.attribute.ff.start + systemData.attribute.ff.mod;
systemData.attribute.ge.aktuell = systemData.attribute.ge.start + systemData.attribute.ge.mod;
systemData.attribute.ko.aktuell = systemData.attribute.ko.start + systemData.attribute.ko.mod;
systemData.attribute.kk.aktuell = systemData.attribute.kk.start + systemData.attribute.kk.mod;
systemData.attribute.ff.aktuell = systemData.attribute.ff.start
systemData.attribute.ge.aktuell = systemData.attribute.ge.start
systemData.attribute.ko.aktuell = systemData.attribute.ko.start
systemData.attribute.kk.aktuell = systemData.attribute.kk.start
const mu = systemData.attribute.mu.aktuell;
const kl = systemData.attribute.kl.aktuell;
const _in = systemData.attribute.in.aktuell;
const ch = systemData.attribute.ch.aktuell;
const ff = systemData.attribute.ff.aktuell;
const ge = systemData.attribute.ge.aktuell;
const ko = systemData.attribute.ko.aktuell;
const kk = systemData.attribute.kk.aktuell;
const mu = systemData.attribute.mu.aktuell
const kl = systemData.attribute.kl.aktuell
const _in = systemData.attribute.in.aktuell
const ch = systemData.attribute.ch.aktuell
const ff = systemData.attribute.ff.aktuell
const ge = systemData.attribute.ge.aktuell
const ko = systemData.attribute.ko.aktuell
const kk = systemData.attribute.kk.aktuell
systemData.lep.max = Math.round((ko + ko + kk) / 2) + systemData.lep.mod;
systemData.aup.max = Math.round((mu + ko + ge) / 2) + systemData.aup.mod;
systemData.asp.max = Math.round((mu + _in + ch) / 2) + systemData.asp.mod;
systemData.lep.max = Math.round((ko + ko + kk) / 2)
systemData.aup.max = Math.round((mu + ko + ge) / 2)
systemData.asp.max = Math.round((mu + _in + ch) / 2)
systemData.regeneration = systemData.regeneration ?? {
lep: "1d6",
@ -71,9 +71,9 @@ export class Character extends Actor {
mods: 0
}
systemData.at.basis = Math.round((mu + ge + kk) / 5)
systemData.at.aktuell = systemData.at.basis + (systemData.at.mod ?? 0);
systemData.at.links.aktuell = systemData.at.basis + (systemData.at.links.mod ?? 0);
systemData.at.rechts.aktuell = systemData.at.basis + (systemData.at.rechts.mod ?? 0);
systemData.at.aktuell = systemData.at.basis
systemData.at.links.aktuell = systemData.at.basis
systemData.at.rechts.aktuell = systemData.at.basis
systemData.pa = systemData.pa ?? {links: {}, rechts: {}}
systemData.pa.links = systemData.pa.links ?? {
aktuell: 0,
@ -83,27 +83,27 @@ export class Character extends Actor {
aktuell: 0,
mods: 0
}
systemData.pa.basis = Math.round((_in + ge + kk) / 5);
systemData.pa.aktuell = systemData.pa.basis + (systemData.pa.mod ?? 0);
systemData.pa.links.aktuell = systemData.pa.basis + (systemData.pa.links.mod ?? 0);
systemData.pa.rechts.aktuell = systemData.pa.basis + (systemData.pa.links.mod ?? 0);
systemData.pa.basis = Math.round((_in + ge + kk) / 5)
systemData.pa.aktuell = systemData.pa.basis
systemData.pa.links.aktuell = systemData.pa.basis
systemData.pa.rechts.aktuell = systemData.pa.basis
systemData.fk = systemData.fk ?? {
aktuell: 0,
mods: 0
}
systemData.fk.basis = Math.round((_in + ff + kk) / 5);
systemData.fk.aktuell = systemData.fk.basis + (systemData.fk.mod ?? 0);
systemData.fk.aktuell = systemData.fk.basis
systemData.ini.basis = Math.round((mu + mu + _in + ge) / 5)
systemData.ini.aktuell = systemData.ini.basis + (systemData.ini.mod ?? 0);
systemData.ini.aktuell = systemData.ini.basis
systemData.mr.basis = Math.round((mu + kl + ko) / 5)
systemData.mr.aktuell = systemData.mr.basis + (systemData.mr.mod ?? 0);
systemData.mr.aktuell = systemData.mr.basis
systemData.gs.basis = 6;
systemData.gs.aktuell = systemData.gs.basis + (systemData.gs.mod ?? 0); // TOOD: get GS from spezien
systemData.gs.aktuell = systemData.gs.basis // TOOD: get GS from spezien
systemData.ausweichen = {}
systemData.ausweichen.basis = systemData.pa.basis
systemData.ausweichen.aktuell = systemData.ausweichen.basis + (systemData.ausweichen.mod ?? 0)
systemData.ausweichen.aktuell = systemData.ausweichen.basis
if (game.settings.get("DSA_4-1", "optional_ruestungzonen")) {
@ -141,7 +141,7 @@ export class Character extends Actor {
// map current set to RS and BE
const ausruestung = systemData.heldenausruestung[systemData.setEquipped];
const ausruestung = systemData.heldenausruestung[systemData.setEquipped]
const zonesToCheck = [
"brust",
"bauch",

View File

@ -19,7 +19,7 @@
"value": 7
},
{
"name": "attribute.ge.mod",
"name": "attribute.ge.aktuell",
"value": 5
}
]

View File

@ -11,31 +11,31 @@
"priority": 10
},
{
"key": "system.attribute.at.rechts.mod",
"key": "system.attribute.at.rechts.aktuell",
"mode": 2,
"value": "-2",
"priority": 10
},
{
"key": "system.atribute.pa.mod",
"key": "system.atribute.pa.aktuell",
"mode": 2,
"value": "-2",
"priority": 10
},
{
"key": "system.pa.rechts.mod",
"key": "system.pa.rechts.aktuell",
"mode": 2,
"value": "-2",
"priority": 10
},
{
"key": "system.attribute.kk.mod",
"key": "system.attribute.kk.aktuell",
"mode": 2,
"value": "-2",
"priority": 10
},
{
"key": "system.attribute.ff.mod",
"key": "system.attribute.ff.aktuell",
"mode": 2,
"value": "-2",
"priority": 10

View File

@ -11,31 +11,31 @@
"priority": 10
},
{
"key": "system.pa.mod",
"key": "system.pa.aktuell",
"mode": 2,
"value": "-2",
"priority": 10
},
{
"key": "system.at.links.mod",
"key": "system.at.links.aktuell",
"mode": 2,
"value": "-2",
"priority": 10
},
{
"key": "system.pa.links.mod",
"key": "system.pa.links.aktuell",
"mode": 2,
"value": "-2",
"priority": 10
},
{
"key": "system.attribute.kk.mod",
"key": "system.attribute.kk.aktuell",
"mode": 2,
"value": "-2",
"priority": 10
},
{
"key": "system.attribute.ff.mod",
"key": "system.attribute.ff.aktuell",
"mode": 2,
"value": "-2",
"priority": 10

View File

@ -11,31 +11,31 @@
"priority": 10
},
{
"key": "system.at.mod",
"key": "system.at.aktuell",
"mode": 2,
"value": "-1",
"priority": 10
},
{
"key": "system.pa.mod",
"key": "system.pa.aktuell",
"mode": 2,
"value": "-1",
"priority": 10
},
{
"key": "system.attribute.ko.mod",
"key": "system.attribute.ko.aktuell",
"mode": 2,
"value": "-1",
"priority": 10
},
{
"key": "system.attribute.kk.mod",
"key": "system.attribute.kk.aktuell",
"mode": 2,
"value": "-1",
"priority": 10
},
{
"key": "system.gs.mod",
"key": "system.gs.aktuell",
"mode": 2,
"value": "-1",
"priority": 10

View File

@ -11,31 +11,31 @@
"priority": 10
},
{
"key": "system.at.mod",
"key": "system.at.aktuell",
"mode": 2,
"value": "-2",
"priority": 10
},
{
"key": "system.pa.mod",
"key": "system.pa.aktuell",
"mode": 2,
"value": "-2",
"priority": 10
},
{
"key": "system.attribute.ge.mod",
"key": "system.attribute.ge.aktuell",
"mode": 2,
"value": "-2",
"priority": 10
},
{
"key": "system.ini.mod",
"key": "system.ini.aktuell",
"mode": 2,
"value": "-2",
"priority": 10
},
{
"key": "system.gs.mod",
"key": "system.gs.aktuell",
"mode": 2,
"value": "-1",
"priority": 10

View File

@ -11,31 +11,31 @@
"priority": 10
},
{
"key": "system.at.mod",
"key": "system.at.aktuell",
"mode": 2,
"value": "-2",
"priority": 10
},
{
"key": "system.pa.mod",
"key": "system.pa.aktuell",
"mode": 2,
"value": "-2",
"priority": 10
},
{
"key": "system.attribute.ge.mod",
"key": "system.attribute.ge.aktuell",
"mode": 2,
"value": "-2",
"priority": 10
},
{
"key": "system.ini.mod",
"key": "system.ini.aktuell",
"mode": 2,
"value": "-2",
"priority": 10
},
{
"key": "system.gs.mod",
"key": "system.gs.aktuell",
"mode": 2,
"value": "-1",
"priority": 10

View File

@ -11,25 +11,25 @@
"priority": 10
},
{
"key": "system.attribute.kk.mod",
"key": "system.attribute.kk.aktuell",
"mode": 2,
"value": "-1",
"priority": 10
},
{
"key": "system.attribute.ko.mod",
"key": "system.attribute.ko.aktuell",
"mode": 2,
"value": "-1",
"priority": 10
},
{
"key": "system.at.mod",
"key": "system.at.aktuell",
"mode": 2,
"value": "-1",
"priority": 10
},
{
"key": "system.pa.mod",
"key": "system.pa.aktuell",
"mode": 2,
"value": "-1",
"priority": 10

View File

@ -11,25 +11,25 @@
"priority": 10
},
{
"key": "system.attribute.mu.mod",
"key": "system.attribute.mu.aktuell",
"mode": 2,
"value": "-2",
"priority": 10
},
{
"key": "system.attribute.kl.mod",
"key": "system.attribute.kl.aktuell",
"mode": 2,
"value": "-2",
"priority": 10
},
{
"key": "system.attribute.in.mod",
"key": "system.attribute.in.aktuell",
"mode": 2,
"value": "-2",
"priority": 10
},
{
"key": "system.ini.mod",
"key": "system.ini.aktuell",
"mode": 2,
"value": "-2",
"priority": 10

View File

@ -11,37 +11,37 @@
"priority": 10
},
{
"key": "system.at.mod",
"key": "system.at.aktuell",
"mode": 2,
"value": "-2",
"priority": 10
},
{
"key": "system.pa.mod",
"key": "system.pa.aktuell",
"mode": 2,
"value": "-2",
"priority": 10
},
{
"key": "system.fk.mod",
"key": "system.fk.aktuell",
"mode": 2,
"value": "-2",
"priority": 10
},
{
"key": "system.ini.mod",
"key": "system.ini.aktuell",
"mode": 2,
"value": "-2",
"priority": 10
},
{
"key": "system.attribute.ge.mod",
"key": "system.attribute.ge.aktuell",
"mode": 2,
"value": "-2",
"priority": 10
},
{
"key": "system.gs.mod",
"key": "system.gs.aktuell",
"mode": 2,
"value": "-1",
"priority": 10