pdf fixes: 10. szint, kepzettseg modifier

This commit is contained in:
2023-09-29 21:41:27 +02:00
parent f7aa205989
commit 016be20342
3 changed files with 34 additions and 21 deletions
+7 -14
View File
@@ -1,10 +1,9 @@
import {KarakterPdfView} from "./karakter_pdf_view";
import {KarakterPdfView, KepzettsegPdfView} from "./karakter_pdf_view";
import {PDFDocument, PDFFont, PDFPage, rgb} from "pdf-lib";
import fontkit from '@pdf-lib/fontkit'
import {SignedNumberToText} from "../components/Helpers";
import {KarakterTulajdonsagok, Modifier} from "../domain-models/tulajdonsag";
import download from "downloadjs";
import {Kepzettseg} from "../domain-models/kepzettsegek";
function drawTulajdonsagok(page: PDFPage, tulajdonsagok: KarakterTulajdonsagok, fontSizeBase: number, pdfFont: PDFFont) {
page.drawText(tulajdonsagok.t_ero.toString(), {
@@ -167,22 +166,16 @@ function drawBaseInfo(karakter: KarakterPdfView, draw: (text: string, x : number
draw(karakter.Kor.toString(), 454, 690, 1)
draw(karakter.Isten, 454, 670, 1)
draw(karakter.Osztaly, 60, 672, 1)
draw(karakter.Szint.toString(), 264, 682, 3)
draw(karakter.Szint, karakter.Szint.length > 1 ? 252 : 264, 682, 3)
draw(karakter.Faj, 302, 710, 1)
draw(karakter.Jellem, 302, 672, karakter.Jellem.length > 17 ? 11/12 : 1)
}
function DrawKepzettsegek(draw: (text: string, x: number, y: number) => void, kepzettsegek: Kepzettseg[], tulajdonsagok: KarakterTulajdonsagok, szint: number, startFrom: number) {
function DrawKepzettsegek(draw: (text: string, x: number, y: number) => void, kepzettsegek: KepzettsegPdfView[], startFrom: number) {
for (let i = 0; i < kepzettsegek.length; i++) {
let kepzettseg = kepzettsegek[i]
draw(kepzettseg.Name, 60, startFrom - (i * 18))
const tulajdonsagErtek = kepzettseg.Tulajdonsag.reduce((maxTulajdonsagErtek, currentTulajdonsag) =>
(tulajdonsagok[currentTulajdonsag] > maxTulajdonsagErtek)
? tulajdonsagok[kepzettseg.Tulajdonsag[i]]
: maxTulajdonsagErtek,
tulajdonsagok[kepzettseg.Tulajdonsag[0]])
const kepzettsegModifier = SignedNumberToText(Modifier(tulajdonsagErtek) + szint)
draw(kepzettseg.KepzettsegName, 60, startFrom - (i * 18))
const kepzettsegModifier = SignedNumberToText(kepzettseg.KepzettsegModifier)
draw(kepzettsegModifier, kepzettsegModifier.length > 2 ? 172 : 175, startFrom - (i * 18))
}
}
@@ -290,9 +283,9 @@ export async function CreatePDF(karakter: KarakterPdfView) {
drawMentok(page, karakter, fontSizeBase, pdfFont);
DrawKepzettsegek(drawText, karakter.Kepzettsegek, karakter.Tulajdonsagok, karakter.Szint, 337);
DrawKepzettsegek(drawText, karakter.Kepzettsegek, 337);
const nextKepzettsegFrom = 337 - (karakter.Kepzettsegek.length * 18)
DrawKepzettsegek(drawText, karakter.TolvajKepzettsegek, karakter.Tulajdonsagok, karakter.Szint, nextKepzettsegFrom)
DrawKepzettsegek(drawText, karakter.TolvajKepzettsegek, nextKepzettsegFrom)
DrawMagic(page, fontSizeBase, pdfFont, karakter.NapiMemorizalhatoVarazslatok, karakter.VarazslatMentokNF)