[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_ugy").setText(" " + SignedNumberToText(karakter.TulajdonsagModositok.t_ugy))
form.getTextField("tamadas_bonusz_tavolsagi").setText(karakter.CelzoTB.join("/")) 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] const kepzettseg = karakter.Kepzettsegek[i]
form.getTextField(`kepzettseg_${i}_nev`).setText(kepzettseg.nev) form.getTextField(`kepzettseg_${i}_nev`).setText(kepzettseg.nev)
form.getTextField(`kepzettseg_${i}_alap`).setText(kepzettseg.alap) 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('elektrum').setText(karakter.el.toString())
form.getTextField('ezust').setText(karakter.et.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) form.updateFieldAppearances(pdfFont)
const pdfBytes = await pdfDoc.save(); 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 {Mentok, MentoModositok, MultiClassMentokAlap} from "../domain-models/mentok";
import {CalculateMasodlagosErtekek, VOegyeb} from "../domain-models/masodlagos_ertekek"; import {CalculateMasodlagosErtekek, VOegyeb} from "../domain-models/masodlagos_ertekek";
import {FajLabel} from "../domain-models/faj2E"; 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 {CelzoTB, KozelharciTB, MultiClassTamadasBonusz} from "../domain-models/tamadas_bonusz";
import {Karakter2E} from "../domain-models/karakter2E"; import {Karakter2E} from "../domain-models/karakter2E";
import {GetJellem} from "../domain-models/jellem"; import {GetJellem} from "../domain-models/jellem";
@@ -53,6 +53,7 @@ export interface KarakterPdfView {
et: number et: number
el: number el: number
at: number at: number
SpecialisKepessegek: string[],
} }
export function KarakterInputToPdfView(karakter: Karakter2E): KarakterPdfView { export function KarakterInputToPdfView(karakter: Karakter2E): KarakterPdfView {
@@ -132,6 +133,8 @@ export function KarakterInputToPdfView(karakter: Karakter2E): KarakterPdfView {
.map(k => k as KepzettsegId) .map(k => k as KepzettsegId)
.map((k: KepzettsegId) => mapKepzettsegToPdfView(Kepzettsegek[k], tulajdonsagok, classLevels[Osztaly2E.Tolvaj])) .map((k: KepzettsegId) => mapKepzettsegToPdfView(Kepzettsegek[k], tulajdonsagok, classLevels[Osztaly2E.Tolvaj]))
const specialisKepessegek = osztalyok.flatMap(o => OsztalySpecialSkills(o).map(s => s.Name));
return { return {
Faj: FajLabel(karakter.faj).toLowerCase(), Faj: FajLabel(karakter.faj).toLowerCase(),
Isten: karakter.isten || "", Isten: karakter.isten || "",
@@ -165,8 +168,7 @@ export function KarakterInputToPdfView(karakter: Karakter2E): KarakterPdfView {
mapKepzettsegToPdfView(Kepzettsegek[k], tulajdonsagok, karakter.szint)) mapKepzettsegToPdfView(Kepzettsegek[k], tulajdonsagok, karakter.szint))
.concat(karakter.tolvajKepzettsegek?.map((k: KepzettsegId) => .concat(karakter.tolvajKepzettsegek?.map((k: KepzettsegId) =>
mapKepzettsegToPdfView(Kepzettsegek[k], tulajdonsagok, classLevels[Osztaly2E.Tolvaj])) || []) mapKepzettsegToPdfView(Kepzettsegek[k], tulajdonsagok, classLevels[Osztaly2E.Tolvaj])) || [])
.concat(tolvajExtraKepzettsegek) .concat(tolvajExtraKepzettsegek),
.slice(0, 12), // TODO: Ember, Tolvaj, 18 INT, 9 szinten 13 kepzettseget kap
Fegyverek: karakter.felszereles.fegyverek.slice(0, 4).map(fid => { Fegyverek: karakter.felszereles.fegyverek.slice(0, 4).map(fid => {
const fegyver = GetFegyver(fid.id) const fegyver = GetFegyver(fid.id)
@@ -192,6 +194,7 @@ export function KarakterInputToPdfView(karakter: Karakter2E): KarakterPdfView {
et: karakter.felszereles.et, et: karakter.felszereles.et,
el: karakter.felszereles.el, el: karakter.felszereles.el,
at: karakter.felszereles.at, at: karakter.felszereles.at,
SpecialisKepessegek: specialisKepessegek,
} }
} }