[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 osztalyAllowedFegyverek = AllowedFegyverek(osztalyok)
const allowedFegyverek = (selected?: Fegyver) => ([ 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)) ...valasztottFegyverek.filter(({idx,fegyver}) => !osztalyAllowedFegyverek.map(f => f.Id).includes(fegyver.Id))
.map(({fegyver}) => fegyver)]) .map(({fegyver}) => fegyver)])
@@ -549,8 +549,59 @@ export function FelszerelesView(props: {felszereles: KarakterFelszereles, change
<div className='row mt-4'> <div className='row mt-4'>
<h6 className='col align-self-center'>Pénz</h6> <h6 className='col align-self-center'>Pénz</h6>
</div> </div>
<div className='row m-2'> <div className='row m-2 gx-lg-5 gx-1'>
Felszerelés értéke: {FormatCoins(FelszerelesErtekeAranyban(felszereles))} <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> </div>
</> </>
} }
@@ -101,6 +101,9 @@ export interface KarakterFelszereles {
viselt: IdAndCount[] viselt: IdAndCount[]
cipelt: IdAndCount[] cipelt: IdAndCount[]
aprosagok: IdAndCount[] aprosagok: IdAndCount[]
et: number
el: number
at: number
} }
export const DefaultFelszereles: KarakterFelszereles = { export const DefaultFelszereles: KarakterFelszereles = {
@@ -108,6 +111,9 @@ export const DefaultFelszereles: KarakterFelszereles = {
viselt: [], viselt: [],
cipelt: [], cipelt: [],
aprosagok: [], aprosagok: [],
et: 0,
el: 0,
at: 0,
} }
export function ViseltSize(felszereles: KarakterFelszereles): number { export function ViseltSize(felszereles: KarakterFelszereles): number {
@@ -83,6 +83,10 @@ export async function CreatePDF(karakter: KarakterPdfView) {
form.getTextField(`aprosagok_${i}`).setText(karakter.FelszerelesAprosagok[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) form.updateFieldAppearances(pdfFont)
const pdfBytes = await pdfDoc.save(); const pdfBytes = await pdfDoc.save();
@@ -50,6 +50,9 @@ export interface KarakterPdfView {
FelszerelesViselt: string[], FelszerelesViselt: string[],
FelszerelesCipelt: string[], FelszerelesCipelt: string[],
FelszerelesAprosagok: string[], FelszerelesAprosagok: string[],
et: number
el: number
at: number
} }
export function KarakterInputToPdfView(karakter: Karakter2E): KarakterPdfView { export function KarakterInputToPdfView(karakter: Karakter2E): KarakterPdfView {
@@ -178,6 +181,9 @@ export function KarakterInputToPdfView(karakter: Karakter2E): KarakterPdfView {
FelszerelesViselt: viseltFelszereles, FelszerelesViselt: viseltFelszereles,
FelszerelesCipelt: cipeltFelszereles, FelszerelesCipelt: cipeltFelszereles,
FelszerelesAprosagok: aprosagFelszereles, FelszerelesAprosagok: aprosagFelszereles,
et: karakter.felszereles.et,
el: karakter.felszereles.el,
at: karakter.felszereles.at,
} }
} }