[2e] add osztaly specialis kepessegek to pdf

This commit is contained in:
2024-06-01 11:53:25 +02:00
parent c291770327
commit 30ca923899
2 changed files with 14 additions and 4 deletions
@@ -62,7 +62,7 @@ export async function CreatePDF(karakter: KarakterPdfView) {
form.getTextField("tamadas_bonusz_ugy").setText(" " + SignedNumberToText(karakter.TulajdonsagModositok.t_ugy))
form.getTextField("tamadas_bonusz_tavolsagi").setText(karakter.CelzoTB.join("/"))
for (let i = 0; i < karakter.Kepzettsegek.length; i++) {
for (let i = 0; i < karakter.Kepzettsegek.length && i < 12; i++) {
const kepzettseg = karakter.Kepzettsegek[i]
form.getTextField(`kepzettseg_${i}_nev`).setText(kepzettseg.nev)
form.getTextField(`kepzettseg_${i}_alap`).setText(kepzettseg.alap)
@@ -87,6 +87,13 @@ export async function CreatePDF(karakter: KarakterPdfView) {
form.getTextField('elektrum').setText(karakter.el.toString())
form.getTextField('ezust').setText(karakter.et.toString())
for (let i = 0; i < karakter.SpecialisKepessegek.length && i < 14; i+=2){
const text = i+1 < karakter.SpecialisKepessegek.length
? `${karakter.SpecialisKepessegek[i]}, ${karakter.SpecialisKepessegek[i+1]}`
: karakter.SpecialisKepessegek[i]
form.getTextField(`specialis_kepessegek_${Math.floor(i/2)}`).setText(text)
}
form.updateFieldAppearances(pdfFont)
const pdfBytes = await pdfDoc.save();
@@ -2,7 +2,7 @@ import {Modifier, TulajdonsagokTotal} from "../domain-models/tulajdonsag2E";
import {Mentok, MentoModositok, MultiClassMentokAlap} from "../domain-models/mentok";
import {CalculateMasodlagosErtekek, VOegyeb} from "../domain-models/masodlagos_ertekek";
import {FajLabel} from "../domain-models/faj2E";
import {Osztaly2E, OsztalyLabel} from "../domain-models/osztaly2E";
import {Osztaly2E, OsztalyLabel, OsztalySpecialSkills} from "../domain-models/osztaly2E";
import {CelzoTB, KozelharciTB, MultiClassTamadasBonusz} from "../domain-models/tamadas_bonusz";
import {Karakter2E} from "../domain-models/karakter2E";
import {GetJellem} from "../domain-models/jellem";
@@ -53,6 +53,7 @@ export interface KarakterPdfView {
et: number
el: number
at: number
SpecialisKepessegek: string[],
}
export function KarakterInputToPdfView(karakter: Karakter2E): KarakterPdfView {
@@ -132,6 +133,8 @@ export function KarakterInputToPdfView(karakter: Karakter2E): KarakterPdfView {
.map(k => k as KepzettsegId)
.map((k: KepzettsegId) => mapKepzettsegToPdfView(Kepzettsegek[k], tulajdonsagok, classLevels[Osztaly2E.Tolvaj]))
const specialisKepessegek = osztalyok.flatMap(o => OsztalySpecialSkills(o).map(s => s.Name));
return {
Faj: FajLabel(karakter.faj).toLowerCase(),
Isten: karakter.isten || "",
@@ -165,8 +168,7 @@ export function KarakterInputToPdfView(karakter: Karakter2E): KarakterPdfView {
mapKepzettsegToPdfView(Kepzettsegek[k], tulajdonsagok, karakter.szint))
.concat(karakter.tolvajKepzettsegek?.map((k: KepzettsegId) =>
mapKepzettsegToPdfView(Kepzettsegek[k], tulajdonsagok, classLevels[Osztaly2E.Tolvaj])) || [])
.concat(tolvajExtraKepzettsegek)
.slice(0, 12), // TODO: Ember, Tolvaj, 18 INT, 9 szinten 13 kepzettseget kap
.concat(tolvajExtraKepzettsegek),
Fegyverek: karakter.felszereles.fegyverek.slice(0, 4).map(fid => {
const fegyver = GetFegyver(fid.id)
@@ -192,6 +194,7 @@ export function KarakterInputToPdfView(karakter: Karakter2E): KarakterPdfView {
et: karakter.felszereles.et,
el: karakter.felszereles.el,
at: karakter.felszereles.at,
SpecialisKepessegek: specialisKepessegek,
}
}