Fertigkeitenboni (#77)

+ Added bonus on Aussehen depending on fw: athletik gem. KOD S. 104
+ Added bonus on Bewegungsweite depending on fw: laufen gem. KOD S. 116
+ Added Skill increase/decrease buttons like on quantity

Reviewed-on: #77
Reviewed-by: oskaloq <os_ka_loq@gmx.de>
Co-authored-by: LeFrique <lefrique@live.de>
Co-committed-by: LeFrique <lefrique@live.de>
This commit was merged in pull request #77.
This commit is contained in:
2024-03-03 18:43:43 +01:00
committed by Byroks
parent 9ff50fbd7d
commit bb9d20f586
7 changed files with 110 additions and 2 deletions
+10
View File
@@ -531,6 +531,16 @@ 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);
}
});
}
+48
View File
@@ -219,6 +219,54 @@ export default class M5CharacterSheet extends ActorSheet {
});
});
html.find(".fw-increase").on("click", async (event) => {
let row = event.target.parentElement;
let itemId = row.dataset["item"];
while (!itemId) {
row = row.parentElement;
if (!row) return;
itemId = row.dataset["item"];
}
const context = this.actor as any;
const item = context.items.get(itemId);
if (!item.system.fw) {
item.system.fw = 0;
}
if (item.system.fw < 18) {
item.update({
data: {
fw: Math.min(item.system.fw + 1, 18),
},
});
}
this.render();
});
html.find(".fw-decrease").on("click", async (event) => {
let row = event.target.parentElement;
let itemId = row.dataset["item"];
while (!itemId) {
row = row.parentElement;
if (!row) return;
itemId = row.dataset["item"];
}
const context = this.actor as any;
const item = context.items.get(itemId);
if (!item.system.fw) {
item.system.fw = 0;
}
if (item.system.fw > 8) {
item.update({
data: {
fw: Math.max(item.system.fw - 1, 8),
},
});
}
this.render();
});
html.find(".roll-weapon-button").on("click", async (event) => {
const row = event.target.parentElement.parentElement;
let itemId = row.dataset["item"];
+11 -1
View File
@@ -233,13 +233,17 @@
"none": "midgard5.spell-process-none",
"beherrschen": "midgard5.spell-process-beherrschen",
"bewegen": "midgard5.spell-process-bewegen",
"blutzauber": "midgard5.spell-process-blutzauber",
"chaoswunder": "midgard5.spell-process-chaoswunder",
"erkennen": "midgard5.spell-process-erkennen",
"erschaffen": "midgard5.spell-process-erschaffen",
"formen": "midgard5.spell-process-formen",
"finstere_magie": "midgard5.spell-process-finstere_magie",
"veraendern": "midgard5.spell-process-veraendern",
"zerstoeren": "midgard5.spell-process-zerstoeren",
"wundertat": "midgard5.spell-process-wundertat",
"dweomer": "midgard5.spell-process-dweomer",
"wilder_dweomer": "midgard5.spell-process-wilder_dweomer",
"zauberlied": "midgard5.spell-process-zauberlied",
"salz": "midgard5.spell-process-salz",
"thaumagraphie": "midgard5.spell-process-thaumagraphie",
@@ -247,7 +251,9 @@
"nekromantie": "midgard5.spell-process-nekromantie",
"thaumatherapie": "midgard5.spell-process-thaumatherapie",
"zaubermittel": "midgard5.spell-process-zaubermittel",
"zauberschutz": "midgard5.spell-process-zauberschutz"
"zauberschutz": "midgard5.spell-process-zauberschutz",
"zauberrunen": "midgard5.spell-process-zauberrunen",
"zaubersiegel": "midgard5.spell-process-siegel"
},
"spellTypeSelection": {
"gedanke": "midgard5.spell-type-gedanke",
@@ -401,12 +407,16 @@
"type": "",
"process": "",
"ap": "",
"lp": "",
"castDuration": "",
"range": "",
"effectTarget": "",
"effectArea": "",
"effectDuration": "",
"origin": "",
"agens": "",
"reagens": "",
"material": "",
"rolls": {
"formulas": {
"0": {