[2e] add felszereles penz !!!

!!! breaking api change in sync with backend
This commit is contained in:
2024-05-22 22:07:41 +02:00
parent 423a277e16
commit bd857c7068
4 changed files with 72 additions and 5 deletions
@@ -76,7 +76,7 @@ export function FelszerelesView(props: {felszereles: KarakterFelszereles, change
const osztalyAllowedFegyverek = AllowedFegyverek(osztalyok)
const allowedFegyverek = (selected?: Fegyver) => ([
...osztalyAllowedFegyverek.filter(x => x.Size + viseltSize - (selected?.Size ?? 1 > 1 ? selected!.Size : 1) <= 8),
...osztalyAllowedFegyverek.filter(x => x.Size + viseltSize - ((selected?.Size ?? 1) > 1 ? selected!.Size : 1) <= 8),
...valasztottFegyverek.filter(({idx,fegyver}) => !osztalyAllowedFegyverek.map(f => f.Id).includes(fegyver.Id))
.map(({fegyver}) => fegyver)])
@@ -549,8 +549,59 @@ export function FelszerelesView(props: {felszereles: KarakterFelszereles, change
<div className='row mt-4'>
<h6 className='col align-self-center'>Pénz</h6>
</div>
<div className='row m-2'>
Felszerelés értéke: {FormatCoins(FelszerelesErtekeAranyban(felszereles))}
<div className='row m-2 gx-lg-5 gx-1'>
<div className='col-md-4 col-sm-12'>
<div className="row">
<label className='col col-form-label'>Arany</label>
<div className='col m-2'>
<input
className='form-control'
type='number'
value={felszereles.at}
onChange={e => changeFelszereles({...felszereles, at: Number(e.target.value)})}
data-testid='felszereles-at'
/>
</div>
</div>
</div>
<div className='col-md-4 col-sm-12'>
<div className="row">
<label className='col col-form-label'>Elektrum</label>
<div className='col m-2'>
<input
className='form-control'
type='number'
value={felszereles.el}
onChange={e => changeFelszereles({...felszereles, el: Number(e.target.value)})}
data-testid='felszereles-el'
/>
</div>
</div>
</div>
<div className='col-md-4 col-sm-12'>
<div className="row">
<label className='col col-form-label'>Ezüst</label>
<div className='col m-2'>
<input
className='form-control'
type='number'
value={felszereles.et}
onChange={e => changeFelszereles({...felszereles, et: Number(e.target.value)})}
data-testid='felszereles-et'
/>
</div>
</div>
</div>
</div>
<div className='row m-2 gx-lg-5 gx-1'>
<div className='col'>
<p className='col-form-label'>Felszerelés
értéke: {FormatCoins(FelszerelesErtekeAranyban(felszereles))}</p>
</div>
<div className='col'>
<p className='col-form-label'>Teljes vagyon
értéke: {FormatCoins(FelszerelesErtekeAranyban(felszereles) + felszereles.at + (felszereles.el * 0.5) + (felszereles.et * 0.1))}</p>
</div>
</div>
</>
}
@@ -101,6 +101,9 @@ export interface KarakterFelszereles {
viselt: IdAndCount[]
cipelt: IdAndCount[]
aprosagok: IdAndCount[]
et: number
el: number
at: number
}
export const DefaultFelszereles: KarakterFelszereles = {
@@ -108,6 +111,9 @@ export const DefaultFelszereles: KarakterFelszereles = {
viselt: [],
cipelt: [],
aprosagok: [],
et: 0,
el: 0,
at: 0,
}
export function ViseltSize(felszereles: KarakterFelszereles): number {
@@ -82,7 +82,11 @@ export async function CreatePDF(karakter: KarakterPdfView) {
for (let i = 0; i < karakter.FelszerelesAprosagok.length && i < 8; i++) {
form.getTextField(`aprosagok_${i}`).setText(karakter.FelszerelesAprosagok[i])
}
form.getTextField('arany').setText(karakter.at.toString())
form.getTextField('elektrum').setText(karakter.el.toString())
form.getTextField('ezust').setText(karakter.et.toString())
form.updateFieldAppearances(pdfFont)
const pdfBytes = await pdfDoc.save();
@@ -50,6 +50,9 @@ export interface KarakterPdfView {
FelszerelesViselt: string[],
FelszerelesCipelt: string[],
FelszerelesAprosagok: string[],
et: number
el: number
at: number
}
export function KarakterInputToPdfView(karakter: Karakter2E): KarakterPdfView {
@@ -178,6 +181,9 @@ export function KarakterInputToPdfView(karakter: Karakter2E): KarakterPdfView {
FelszerelesViselt: viseltFelszereles,
FelszerelesCipelt: cipeltFelszereles,
FelszerelesAprosagok: aprosagFelszereles,
et: karakter.felszereles.et,
el: karakter.felszereles.el,
at: karakter.felszereles.at,
}
}
@@ -209,4 +215,4 @@ function mapKepzettsegToPdfView(kepzettseg: Kepzettseg, tulajdonsagok: KarakterT
bonusz: SignedNumberToText(Modifier(tulajdonsagErtek)),
osszes: (szint + Modifier(tulajdonsagErtek)).toString(),
}
}
}