Zwergenhort #4

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

View File

@ -94,6 +94,8 @@
"midgard5.currency-gold": "Gold", "midgard5.currency-gold": "Gold",
"midgard5.currency-silver": "Silber", "midgard5.currency-silver": "Silber",
"midgard5.currency-copper": "Kupfer", "midgard5.currency-copper": "Kupfer",
"midgard5.hoard": "Hort",
"midgard5.hoardNext": "Hort für nächsten Grad",
Le-Frique marked this conversation as resolved Outdated

Bitte im Style von den anderen localizations halten (hoard-next)

Bitte im Style von den anderen localizations halten (hoard-next)
"midgard5.exp-overall": "Erfahrungsschatz", "midgard5.exp-overall": "Erfahrungsschatz",
"midgard5.exp-available": "Erfahrungspunkte", "midgard5.exp-available": "Erfahrungspunkte",

View File

@ -86,6 +86,8 @@ export enum M5Stats {
PROTECTION_AP = "apProtection", PROTECTION_AP = "apProtection",
PERCEPTION = "perception", PERCEPTION = "perception",
DRINKING = "drinking", DRINKING = "drinking",
HOARD = "hoard",
HOARD_NEXT = "hoardNext",
} }
export enum M5ModType { export enum M5ModType {
@ -173,6 +175,8 @@ export interface M5CharacterCalculatedData {
perceptionFW: number; perceptionFW: number;
drinking: M5ModResult; drinking: M5ModResult;
drinkingFW: number; drinkingFW: number;
hoard: number;
hoardNext: number;
}; };
skillMods: {}; skillMods: {};
skills: { skills: {

View File

@ -71,6 +71,7 @@ export class M5Character extends Actor {
perceptionFW: 0, perceptionFW: 0,
drinking: { value: 0, mods: [] }, drinking: { value: 0, mods: [] },
drinkingFW: 0, drinkingFW: 0,
hoard: 0,
}, },
skillMods: {}, skillMods: {},
skills: { skills: {
@ -143,7 +144,9 @@ export class M5Character extends Actor {
ret.stats.perceptionFW = 6; ret.stats.perceptionFW = 6;
ret.stats.drinking = this.modResult(0); ret.stats.drinking = this.modResult(0);
ret.stats.drinkingFW = Math.floor(ret.attributes.ko.value / 10); 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) { if (!skip?.mods) {
const aggregate = new M5ModAggregate(data, ret); const aggregate = new M5ModAggregate(data, ret);
@ -371,7 +374,21 @@ export class M5Character extends Actor {
const ret = M5Character.levelThreshold.findIndex((val) => val > exp); 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; 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;
const nextLevelExp = M5Character.levelThreshold[currentLevel];
const hoardNext = (nextLevelExp /2);
return hoardNext;
}
static readonly defenseThreshold: Array<[number, number]> = [ static readonly defenseThreshold: Array<[number, number]> = [
[30, 18], [30, 18],
[25, 17], [25, 17],

View File

@ -66,6 +66,19 @@
font-weight: bold; font-weight: bold;
} }
.hoard {
text-align: center;
color: rgb(255, 255, 0);
font-weight: bold;
font-size: larger;
}
.hoardNext {
text-align: center;
color: rgb(255, 255, 255);
font-weight: bold;
font-size: medium;
}
table { table {
background-color: beige; background-color: beige;
} }

View File

@ -4,14 +4,23 @@
<tr height = 5px></tr> <tr height = 5px></tr>
<tr> <tr>
<td style="text-align: left;" colspan="4" rowspan="2"><img style="border: 0px solid black;" src="/systems/midgard5/assets/icons/logo/midgard.webp" alt="Midgard"></td> <td style="text-align: left;" colspan="4" rowspan="2"><img style="border: 0px solid black;" src="/systems/midgard5/assets/icons/logo/midgard.webp" alt="Midgard"></td>
<td></td>
<td colspan="5" style="font-size: x-large; font-weigh: bold;"><input name="name" type="text" value="{{actor.name}}" data-dtype="String" /></td> <td colspan="5" style="font-size: x-large; font-weigh: bold;"><input name="name" type="text" value="{{actor.name}}" data-dtype="String" /></td>
<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;">{{data.calc.level}}</div></td> <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;">{{data.calc.level}}</div></td>
{{#if (eq data.info.race "Zwerg")}}
Le-Frique marked this conversation as resolved Outdated

Bricht leider den abstand bei den Prüfwürfen, allgemein finde ich das etwas sehr groß.
Ist das vielleicht bei den Berechneten Werten unten besser aufgehoben? Dort steht gerade eh 2 mal Gifttolleranz. Man könnte es dann entweder als:

Hort: x von y --> x der Aktuelle Hort und y der ES/2
Hort: x benötigt für nächsten Grad --> x wäre in dem fall der noch benötigte aka rest von ES/2 - Aktueller Hort
oder
(Gesamt)Hort für nächsten Grad: x --> Einfach nur ES/2

Und oben dann etwas kleiner nur den aktuellen Hort anzeigen

Bricht leider den abstand bei den Prüfwürfen, allgemein finde ich das etwas sehr groß. Ist das vielleicht bei den Berechneten Werten unten besser aufgehoben? Dort steht gerade eh 2 mal Gifttolleranz. Man könnte es dann entweder als: `Hort: x von y` --> x der Aktuelle Hort und y der ES/2 `Hort: x benötigt für nächsten Grad` --> x wäre in dem fall der noch benötigte aka rest von ES/2 - Aktueller Hort oder `(Gesamt)Hort für nächsten Grad: x` --> Einfach nur ES/2 Und oben dann etwas kleiner nur den aktuellen Hort anzeigen

So umgesetzt und Vermögensmanagment aktuellen Hort dort auch platziert, es waren auch Resi doppelt.

So umgesetzt und Vermögensmanagment aktuellen Hort dort auch platziert, es waren auch Resi doppelt.
<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: <br>{{data.calc.stats.hoardNext}} GS</span>
</div>
</td>
{{/if}}
</tr> </tr>
<tr> <tr>
<td></td>
<td colspan="5"><b>Name</b></td> <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}}
</tr> </tr>
<tr height = 10px></tr> <tr height = 10px></tr>
<tr> <tr>