diff --git a/src/components/HarcosFegyverSpecializacio.tsx b/src/components/HarcosFegyverSpecializacio.tsx
index 7f0ecee..14ca12f 100644
--- a/src/components/HarcosFegyverSpecializacio.tsx
+++ b/src/components/HarcosFegyverSpecializacio.tsx
@@ -15,20 +15,22 @@ function HarcosFegyverSpecializacio(props: {
szint
} = props
const fegyver = GetFegyver(specialization)
- const hasError = existingSpecializations.filter(x => x === specialization).length > (szint < 9 ? 1 : 2)
+ const pickableFegyverek = fegyverek.data.filter(f => f.Id === specialization || existingSpecializations.filter(x => x === f.Id).length < (szint < 9 ? 1 : 2))
+ const kozelharciPickable = pickableFegyverek.filter(f => f.Type === 'kozelharci')
+ const tavolsagiPickable = pickableFegyverek.filter(f => f.Type === 'lofegyver')
+
return <>
{fegyver == null && Ismeretlen fegyver: {specialization}}
- {hasError && Már {szint < 9 ? '' : 'kétszer is'} választottad ezt a fegyvert!}
>
}
diff --git a/src/components/KalozKritikus.tsx b/src/components/KalozKritikus.tsx
index bf71d53..8c7bc2d 100644
--- a/src/components/KalozKritikus.tsx
+++ b/src/components/KalozKritikus.tsx
@@ -14,20 +14,19 @@ function KalozKritikus(props: {
changeKrit,
szint
} = props
- const hasError = existingKrits.filter(x => x === kritFegyverId).length > (szint < 9 ? 1 : 2)
- const fegyverek = AllowedFegyver(Osztaly.Kaloz, [])
+ const fegyverek = AllowedFegyver(Osztaly.Kaloz, []).filter(f => f.Id === kritFegyverId || existingKrits.filter(x => x === f.Id).length < (szint < 9 ? 1 : 2))
+
return <>
- {hasError && Már {szint < 9 ? '' : 'kétszer is'} választottad ezt a fegyvert!}
+
+
+
>
}
diff --git a/src/components/LevelUps.tsx b/src/components/LevelUps.tsx
index f13d409..9a2fec7 100644
--- a/src/components/LevelUps.tsx
+++ b/src/components/LevelUps.tsx
@@ -31,7 +31,6 @@ function LevelUp(props: {
const specializationIndex = Math.floor((szint-1) / 2)
const specialization = karakter.harcosSpecializaciok[specializationIndex]
- console.log(specialization)
const kritIndex = kalozKritIndex(szint)
const krit = karakter.kalozKritikus[kritIndex]
diff --git a/src/domain-models/level.ts b/src/domain-models/level.ts
index d6278ed..147faa2 100644
--- a/src/domain-models/level.ts
+++ b/src/domain-models/level.ts
@@ -4,7 +4,12 @@ import {TulajdonsagIDs, TulajdonsagokTotal} from "./tulajdonsag";
import {KarakterInputs} from "./karakter";
import {GetFajDetails} from "./faj";
import {Osztaly} from "./osztaly";
+import fegyverek from "./fegyver.json"
+import {AllowedFegyver} from "./allowed-fegyver";
+export function PickableSpecializationFilter(existingSpecilizations: string[], szint: number) {
+ return (fegyver: {Id: string}) => existingSpecilizations.filter(x => x === fegyver.Id).length < (szint < 9 ? 1 : 2)
+}
export function LevelUp(karakter: KarakterInputs, changeKarakter: (input: KarakterInputs) => void) {
const tulajdonsagokTotal = TulajdonsagokTotal(karakter)
@@ -24,11 +29,13 @@ export function LevelUp(karakter: KarakterInputs, changeKarakter: (input: Karakt
}
let harcosSpecializaciok = karakter.harcosSpecializaciok
if(karakter.osztaly === Osztaly.Harcos && szint % 2 === 1) {
- harcosSpecializaciok = [...harcosSpecializaciok, "csatabard"]
+ const nextPickableFegyverId = fegyverek.data.filter(PickableSpecializationFilter(karakter.harcosSpecializaciok, karakter.szint))[0].Id
+ harcosSpecializaciok = [...harcosSpecializaciok, nextPickableFegyverId]
}
let kalozKritikus = karakter.kalozKritikus
if(karakter.osztaly === Osztaly.Kaloz && szint % 3 === 0) {
- kalozKritikus = [...kalozKritikus, "szablya"]
+ const nextPickableFegyverId = AllowedFegyver(Osztaly.Kaloz, []).filter(PickableSpecializationFilter(karakter.kalozKritikus, szint))[0].Id
+ kalozKritikus = [...kalozKritikus, nextPickableFegyverId]
}
changeKarakter({...karakter, szint, hpRolls, tulajdonsagNovelesek, harcosSpecializaciok, kalozKritikus})
}