add felszereles eretek
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import React from "react";
|
||||
import {
|
||||
AllFelszereles,
|
||||
Fegyver, FelszerelesDto,
|
||||
Fegyver, FelszerelesDto, FelszerelesErtekeAranyban,
|
||||
GetFegyver, GetFelszereles, GetPajzs, GetPancel,
|
||||
KarakterFelszereles,
|
||||
PancelTypeLabel, Teherbiras, ViseltSize
|
||||
@@ -37,6 +37,12 @@ function FegyverMaxCount(fegyver?: Fegyver): number {
|
||||
return (fegyverSize < 1 && fegyverSize > 0) ? Math.round(1/fegyver!.Size) : 1;
|
||||
}
|
||||
|
||||
function FormatCoins(gold: number): string {
|
||||
const at = Math.floor(gold)
|
||||
const et = Math.round((gold-at) * 10);
|
||||
return `${at} at${et > 0 ? ` ${et} et` : ''}`
|
||||
}
|
||||
|
||||
export function FelszerelesView(props: {felszereles: KarakterFelszereles, changeFelszereles: (felszereles: KarakterFelszereles) => void, osztalyok: Osztaly2E[], teherbiras: number}) {
|
||||
const {felszereles, changeFelszereles, osztalyok, teherbiras} = props;
|
||||
const viseltSize = ViseltSize(felszereles)
|
||||
@@ -245,10 +251,6 @@ export function FelszerelesView(props: {felszereles: KarakterFelszereles, change
|
||||
}).filter(x => x.targy != null);
|
||||
const cipeltSize = cipeltFelszereles.reduce((acc, item) => acc + Math.ceil(item.targy?.size ?? 1), 0)
|
||||
|
||||
console.log('teherbiras: ', teherbiras)
|
||||
console.log('cipelt size: ', cipeltSize)
|
||||
console.log('viselt size: ', viseltSize)
|
||||
|
||||
const allowedCipelt = (selected?: FelszerelesDto) => AllFelszereles.filter(x => x.size > 0
|
||||
&& Math.ceil(x.size) + cipeltSize - Math.ceil(selected?.size ?? 0) <= cipeltCapacity)
|
||||
|
||||
@@ -493,14 +495,14 @@ export function FelszerelesView(props: {felszereles: KarakterFelszereles, change
|
||||
</button>
|
||||
</div>}
|
||||
</div>
|
||||
))}
|
||||
{cipeltSize < cipeltCapacity && (viseltSize + cipeltSize < teherbiras) && (<button
|
||||
className='btn btn-outline-dark btn ms-2'
|
||||
type='button'
|
||||
onClick={addCipelt}
|
||||
>
|
||||
Cipelt felszerelés hozzáadása
|
||||
</button>)}</>}
|
||||
))}
|
||||
{cipeltSize < cipeltCapacity && (viseltSize + cipeltSize < teherbiras) && (<button
|
||||
className='btn btn-outline-dark btn ms-2'
|
||||
type='button'
|
||||
onClick={addCipelt}
|
||||
>
|
||||
Cipelt felszerelés hozzáadása
|
||||
</button>)}</>}
|
||||
<div className='row mt-4'>
|
||||
<h6 className='col align-self-center'>Apróságok</h6>
|
||||
</div>
|
||||
@@ -544,6 +546,12 @@ export function FelszerelesView(props: {felszereles: KarakterFelszereles, change
|
||||
>
|
||||
Apróság hozzáadása
|
||||
</button>)}
|
||||
<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>
|
||||
</>
|
||||
}
|
||||
|
||||
|
||||
@@ -121,6 +121,19 @@ export function ViseltSize(felszereles: KarakterFelszereles): number {
|
||||
return sum;
|
||||
}
|
||||
|
||||
export function FelszerelesErtekeAranyban(felszereles: KarakterFelszereles): number {
|
||||
let sum = 0;
|
||||
sum += GetPajzs(felszereles.pajzsID)?.Price ?? 0;
|
||||
sum += GetPancel(felszereles.pancelID)?.Price ?? 0;
|
||||
|
||||
sum += felszereles.fegyverek.map(({id, count}) => ({fegyver: GetFegyver(id), count})).reduce((acc, {fegyver, count}) => acc + ((fegyver?.Price ?? 0) * count),0)
|
||||
sum += felszereles.viselt.map(({id, count}) => ({targy: GetFelszereles(id), count})).reduce((acc, {targy, count}) => acc + (targy?.price ?? 0) * count,0)
|
||||
sum += felszereles.cipelt.map(({id, count}) => ({targy: GetFelszereles(id), count})).reduce((acc, {targy, count}) => acc + (targy?.price ?? 0) * count,0)
|
||||
sum += felszereles.aprosagok.map(({id, count}) => ({targy: GetFelszereles(id), count})).reduce((acc, {targy, count}) => acc + (targy?.price ?? 0) * count,0)
|
||||
|
||||
return sum;
|
||||
}
|
||||
|
||||
export function PancelTypeLabel(type: PancelType): string {
|
||||
let result: string
|
||||
switch(type) {
|
||||
|
||||
Reference in New Issue
Block a user