mirror of
https://github.com/morbalint/kemkas.git
synced 2026-07-17 19:03:46 +00:00
add felszereles eretek
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import {
|
import {
|
||||||
AllFelszereles,
|
AllFelszereles,
|
||||||
Fegyver, FelszerelesDto,
|
Fegyver, FelszerelesDto, FelszerelesErtekeAranyban,
|
||||||
GetFegyver, GetFelszereles, GetPajzs, GetPancel,
|
GetFegyver, GetFelszereles, GetPajzs, GetPancel,
|
||||||
KarakterFelszereles,
|
KarakterFelszereles,
|
||||||
PancelTypeLabel, Teherbiras, ViseltSize
|
PancelTypeLabel, Teherbiras, ViseltSize
|
||||||
@@ -37,6 +37,12 @@ function FegyverMaxCount(fegyver?: Fegyver): number {
|
|||||||
return (fegyverSize < 1 && fegyverSize > 0) ? Math.round(1/fegyver!.Size) : 1;
|
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}) {
|
export function FelszerelesView(props: {felszereles: KarakterFelszereles, changeFelszereles: (felszereles: KarakterFelszereles) => void, osztalyok: Osztaly2E[], teherbiras: number}) {
|
||||||
const {felszereles, changeFelszereles, osztalyok, teherbiras} = props;
|
const {felszereles, changeFelszereles, osztalyok, teherbiras} = props;
|
||||||
const viseltSize = ViseltSize(felszereles)
|
const viseltSize = ViseltSize(felszereles)
|
||||||
@@ -245,10 +251,6 @@ export function FelszerelesView(props: {felszereles: KarakterFelszereles, change
|
|||||||
}).filter(x => x.targy != null);
|
}).filter(x => x.targy != null);
|
||||||
const cipeltSize = cipeltFelszereles.reduce((acc, item) => acc + Math.ceil(item.targy?.size ?? 1), 0)
|
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
|
const allowedCipelt = (selected?: FelszerelesDto) => AllFelszereles.filter(x => x.size > 0
|
||||||
&& Math.ceil(x.size) + cipeltSize - Math.ceil(selected?.size ?? 0) <= cipeltCapacity)
|
&& Math.ceil(x.size) + cipeltSize - Math.ceil(selected?.size ?? 0) <= cipeltCapacity)
|
||||||
|
|
||||||
@@ -544,6 +546,12 @@ export function FelszerelesView(props: {felszereles: KarakterFelszereles, change
|
|||||||
>
|
>
|
||||||
Apróság hozzáadása
|
Apróság hozzáadása
|
||||||
</button>)}
|
</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;
|
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 {
|
export function PancelTypeLabel(type: PancelType): string {
|
||||||
let result: string
|
let result: string
|
||||||
switch(type) {
|
switch(type) {
|
||||||
|
|||||||
Reference in New Issue
Block a user