From 423a277e1614552a9c77f720ae41cbd6724e6108 Mon Sep 17 00:00:00 2001 From: morbalint Date: Tue, 21 May 2024 22:48:38 +0200 Subject: [PATCH] add felszereles eretek --- .../second-edition/components/Felszereles.tsx | 34 ++++++++++++------- .../domain-models/felszereles.ts | 13 +++++++ 2 files changed, 34 insertions(+), 13 deletions(-) diff --git a/frontend/src/second-edition/components/Felszereles.tsx b/frontend/src/second-edition/components/Felszereles.tsx index 3f30d2f..85deddd 100644 --- a/frontend/src/second-edition/components/Felszereles.tsx +++ b/frontend/src/second-edition/components/Felszereles.tsx @@ -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 } - ))} - {cipeltSize < cipeltCapacity && (viseltSize + cipeltSize < teherbiras) && ()}} + ))} + {cipeltSize < cipeltCapacity && (viseltSize + cipeltSize < teherbiras) && ()}}
Apróságok
@@ -544,6 +546,12 @@ export function FelszerelesView(props: {felszereles: KarakterFelszereles, change > Apróság hozzáadása )} +
+
Pénz
+
+
+ Felszerelés értéke: {FormatCoins(FelszerelesErtekeAranyban(felszereles))} +
} diff --git a/frontend/src/second-edition/domain-models/felszereles.ts b/frontend/src/second-edition/domain-models/felszereles.ts index b90c923..3d94725 100644 --- a/frontend/src/second-edition/domain-models/felszereles.ts +++ b/frontend/src/second-edition/domain-models/felszereles.ts @@ -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) {