Zwergenhort #4

Merged
Byroks merged 11 commits from lefrique into develop 2024-01-07 14:31:21 +01:00
5 changed files with 37 additions and 18 deletions
Showing only changes of commit 30eca09ae2 - Show all commits

View File

@ -1,4 +1,5 @@
{
"moduleName": "Midgard 5. Edition",
"repository": "https://git.byroks.de/Byroks/foundry-vtt-system-midgard5"
"repository": "https://github.com/Byroks/foundry-vtt-system-midgard5",
"rawURL": "https://raw.githubusercontent.com/Byroks/foundry-vtt-system-midgard5"
}

View File

@ -1,4 +1,3 @@
import { valueInArray } from "@league-of-foundry-developers/foundry-vtt-types/src/foundry/common/data/validators.mjs";
import { M5Item } from "../items/M5Item";
import { M5Attribute, M5CharacterCalculatedData, M5ItemMod, M5ModOperation, M5ModResult, M5RollData, M5Skill, M5SkillCalculated, M5SkillLearned } from "../M5Base";
import M5ModAggregate from "./M5ModAggregate";
@ -100,7 +99,7 @@ export class M5Character extends Actor {
if (!data) return null;
ret.level = M5Character.levelFromExp(data.es);
ret.attributes.st.value = M5Character.attributeMinMax(data.attributes.st); // TODO item effects
ret.attributes.gs.value = M5Character.attributeMinMax(data.attributes.gs);
ret.attributes.gw.value = M5Character.attributeMinMax(data.attributes.gw);
@ -147,7 +146,7 @@ export class M5Character extends Actor {
ret.stats.drinkingFW = Math.floor(ret.attributes.ko.value / 10);
ret.stats.hoard = M5Character.hoardFromExp(data.es);
Le-Frique marked this conversation as resolved Outdated

Das funktioniert so leider nicht ist aber ein guter Anfang. Wir können den wert aber als Eingabe neben den anderen Goldeinträgen hinzufügen um damit die Hortgröße zu bestimmen.

Das funktioniert so leider nicht ist aber ein guter Anfang. Wir können den wert aber als Eingabe neben den anderen Goldeinträgen hinzufügen um damit die Hortgröße zu bestimmen.

Hab ich jetzt so ähnlich gemacht, ziehe aber den Hort aus dem levelTreshold direkt.

Hab ich jetzt so ähnlich gemacht, ziehe aber den Hort aus dem levelTreshold direkt.
ret.stats.hoardNext = M5Character.hoardNextFromExp(data.es);
if (!skip?.mods) {
const aggregate = new M5ModAggregate(data, ret);
@ -375,11 +374,13 @@ export class M5Character extends Actor {
const ret = M5Character.levelThreshold.findIndex((val) => val > exp);
Le-Frique marked this conversation as resolved Outdated

Wir sollten hier überprüfen was geringer ist, EXP oder Hort und entsprechend den Grad bestimmen

Wir sollten hier überprüfen was geringer ist, EXP oder Hort und entsprechend den Grad bestimmen

Komplett verworfen und mit Mindesthort und Hort nächster Grad aus levelTreshold gelöst.

Komplett verworfen und mit Mindesthort und Hort nächster Grad aus levelTreshold gelöst.
return ret === -1 ? M5Character.levelThreshold.length : ret;
}
static hoardFromExp(exp: number): number {
Le-Frique marked this conversation as resolved Outdated

Sollte nicht benötigt werden außer ich verstehe den gewollten nutzen falsch

Sollte nicht benötigt werden außer ich verstehe den gewollten nutzen falsch
const ret = M5Character.levelThreshold.findIndex((val) => val > exp);
const hoard = Math.floor(exp / 2)
return hoard;
}
static hoardNextFromExp(exp: number): number {
const ret = M5Character.levelThreshold.findIndex((val) => val > exp);
const currentLevel = ret === -1 ? M5Character.levelThreshold.length : ret;
@ -387,7 +388,7 @@ export class M5Character extends Actor {
const hoardNext = (nextLevelExp /2);
return hoardNext;
}
static readonly defenseThreshold: Array<[number, number]> = [
[30, 18],
[25, 17],

View File

@ -65,9 +65,10 @@
text-align: right;
font-weight: bold;
}
.hoard {
text-align: center;
color: rgb(255, 230, 0);
color: rgb(255, 255, 0);
font-weight: bold;
font-size: larger;
}

View File

@ -9,7 +9,7 @@
"verified": "11",
"maximum": "11"
},
"authors": [{ "name": "Byroks" }],
"authors": [{"name": "Byroks"}],
"scripts": ["bundle.js"],
"styles": ["bundle.css"],
"packs": [
@ -103,25 +103,41 @@
"name": "Midgard 5",
"sorting": "a",
"color": "#0000FF",
"packs": ["blaupause-spielfiguren", "tabellen-kritische-ereignisse", "makros-kritische-ereignisse", "makros-standardwurfel"],
"packs": [
"blaupause-spielfiguren",
"tabellen-kritische-ereignisse",
"makros-kritische-ereignisse",
"makros-standardwurfel"
],
"folders": [
{
"name": "Ausrüstung",
"sorting": "a",
"color": "#008000",
"packs": ["ausruestung", "ruestkammer", "waffenkammer"]
"packs": [
"ausruestung",
"ruestkammer",
"waffenkammer"
]
},
{
"name": "Effekte",
"sorting": "a",
"color": "#800080",
"packs": ["kampfzustaende", "verletzungen", "zauberwirkungen"]
"packs": [
"kampfzustaende",
"verletzungen",
"zauberwirkungen"
]
},
{
"name": "Fähigkeiten",
"sorting": "a",
"color": "#800000",
"packs": ["fertigkeiten", "kampf"]
"packs": [
"fertigkeiten",
"kampf"
]
}
]
}
@ -137,9 +153,9 @@
"gridUnits": "m",
"primaryTokenAttribute": "lp",
"secondaryTokenAttribute": "ap",
"url": "https://git.byroks.de/Byroks/foundry-vtt-system-midgard5",
"manifest": "https://git.byroks.de/Byroks/foundry-vtt-system-midgard5/releases/download/v2.3.1/system.json",
"download": "https://git.byroks.de/Byroks/foundry-vtt-system-midgard5/releases/download/v2.3.1/midgard5-v2.3.1.zip",
"url": "https://github.com/Byroks/foundry-vtt-system-midgard5",
"manifest": "https://github.com/Byroks/foundry-vtt-system-midgard5/releases/download/v2.3.1/system.json",
"download": "https://github.com/Byroks/foundry-vtt-system-midgard5/releases/download/v2.3.1/midgard5-v2.3.1.zip",
"initiative": "@c.calc.attributes.gw.value",
"license": "LICENSE.txt"
}
}

View File

@ -10,17 +10,17 @@
<td style="font-size: x-large; font-weigh: bold; text-align: center; text-align-vertical: middle;">
<div style="border: 2px solid black; border-radius: 10px; background-color: white; background-image: url('icons/commodities/currency/coins-wheat-stack-copper.webp');background-size: cover; background-position: center;">
<span class="hoard">{{data.calc.stats.hoard}} GS</span><br>
<span class="hoardNext">Hort für nächsten Grad: {{data.calc.stats.hoardNext}} GS</span>
<span class="hoardNext">Hort für nächsten Grad: <br>{{data.calc.stats.hoardNext}} GS</span>
</div>
</td>
{{/if}}
</tr>
<tr>
<td colspan="5"><b>Name</b></td>
<td style="text-align: center;"><b>Grad</b></td>
<td style="text-align: center;"><b>Grad</b></td>
{{#if (eq data.info.race "Zwerg")}}
<td style="text-align: center;"><b>Hort</b></td>
{{/if}}
{{/if}}
</tr>
<tr height = 10px></tr>
<tr>