diff --git a/TODO.md b/TODO.md
index ce32521..acea19a 100644
--- a/TODO.md
+++ b/TODO.md
@@ -2,19 +2,16 @@
## Fixes
- Kötelező képezettségek - Birodalmi tolvaj
-- PDF pretty: Tamadas bonuszok +10/+5
-
-## Level up
-- Kalóz kritikus fegyver választás szintlépéskor (free text)
+- PDF pretty: Tamadas bonuszok +10/+5
- Tolvaj 9.ik szinttől tiltott képzettségek
-- multiclass characters
-## PDF
+## Features
- specialis kepessegek 2ik oldalra nyomtatasa
+- multiclass characters
## Epics
- Backend
- Varazslatok
- Felszerelés
+- KéM 2.0-ra felkészülés
- Klikkelésre dobás
-- KéM 2.0-ra felkészülés
\ No newline at end of file
diff --git a/src/components/HarcosFegyverSpecializacio.tsx b/src/components/HarcosFegyverSpecializacio.tsx
index 4e929ac..b92de64 100644
--- a/src/components/HarcosFegyverSpecializacio.tsx
+++ b/src/components/HarcosFegyverSpecializacio.tsx
@@ -1,15 +1,25 @@
import React from "react";
-function HarcosFegyverSpecializacio(props: {specialization: string, existingSpecializations: string[], changeSpecialization: (specialization: string) => void }) {
- const {specialization, existingSpecializations, changeSpecialization} = props
- const hasError = existingSpecializations.filter(x => x === specialization).length > 1
+function HarcosFegyverSpecializacio(props: {
+ specialization: string,
+ existingSpecializations: string[],
+ changeSpecialization: (specialization: string) => void
+ szint: number
+}) {
+ const {
+ specialization,
+ existingSpecializations,
+ changeSpecialization,
+ szint
+ } = props
+ const hasError = existingSpecializations.filter(x => x === specialization).length > (szint < 9 ? 1 : 2)
return <>
@@ -31,7 +47,21 @@ function LevelUp(props: {szint: number, karakter: KarakterInputs, changeTulajdon
changeRolledHP={changeRolledHP}
/>
{karakter.osztaly === Osztaly.Harcos && szint % 2 === 1 &&
- }
+
+ }
+ {karakter.osztaly === Osztaly.Kaloz && szint % 3 === 0 &&
+
+ }
}
@@ -50,6 +80,10 @@ export function LevelUps(props: {karakter: KarakterInputs, changeKarakter: (inpu
changeKarakter({...karakter, harcosSpecializaciok: arraySetN(karakter.harcosSpecializaciok, Math.floor((szint-1) / 2), spec)})
}
+ const changeKalozKritikusAtSzint = (szint: number) => (spec: string) => {
+ changeKarakter({...karakter, kalozKritikus: arraySetN(karakter.kalozKritikus, Math.floor(szint / 3), spec)})
+ }
+
return <>
{karakter.hpRolls.map((_, i) => i+2).map(szint => <>
>
)}
diff --git a/src/domain-models/karakter.ts b/src/domain-models/karakter.ts
index 1c51d47..8eb7186 100644
--- a/src/domain-models/karakter.ts
+++ b/src/domain-models/karakter.ts
@@ -28,11 +28,11 @@ export const KarakterDefaults: KarakterInputs = {
kor: 20,
jellem: 'S',
tulajdonsagok: TulajdonsagDefaults,
- osztaly: Osztaly.Harcos,
+ osztaly: Osztaly.Kaloz,
kepzettsegek: [],
szint: 1,
hpRolls: [],
tulajdonsagNovelesek: [],
- harcosSpecializaciok: ['szablya'],
- kalozKritikus: [],
+ harcosSpecializaciok: [],
+ kalozKritikus: ['szablya'],
}
diff --git a/src/domain-models/level.ts b/src/domain-models/level.ts
index 4689c93..6327158 100644
--- a/src/domain-models/level.ts
+++ b/src/domain-models/level.ts
@@ -24,9 +24,13 @@ export function LevelUp(karakter: KarakterInputs, changeKarakter: (input: Karakt
}
let harcosSpecializaciok = karakter.harcosSpecializaciok
if(karakter.osztaly === Osztaly.Harcos && szint % 2 === 1) {
- harcosSpecializaciok = [...harcosSpecializaciok, "szablya"]
+ harcosSpecializaciok = [...harcosSpecializaciok, "Csatabárd"]
}
- changeKarakter({...karakter, szint, hpRolls, tulajdonsagNovelesek, harcosSpecializaciok})
+ let kalozKritikus = karakter.kalozKritikus
+ if(karakter.osztaly === Osztaly.Kaloz && szint % 3 === 0) {
+ kalozKritikus = [...kalozKritikus, "Szablya"]
+ }
+ changeKarakter({...karakter, szint, hpRolls, tulajdonsagNovelesek, harcosSpecializaciok, kalozKritikus})
}
export function LevelDown(karakter: KarakterInputs, changeKarakter: (input: KarakterInputs) => void) {
diff --git a/src/pages/CreateCharacter.tsx b/src/pages/CreateCharacter.tsx
index 3c1a228..6a827a7 100644
--- a/src/pages/CreateCharacter.tsx
+++ b/src/pages/CreateCharacter.tsx
@@ -97,7 +97,13 @@ function CreateCharacterPage() {
changeKarakter({...karakter, osztaly: o, harcosSpecializaciok: o === Osztaly.Harcos ? ['szablya'] : []})}
+ changeOsztaly={(o: Osztaly) =>
+ changeKarakter({
+ ...karakter,
+ osztaly: o,
+ harcosSpecializaciok: o === Osztaly.Harcos ? ['kard'] : [],
+ kalozKritikus: o === Osztaly.Kaloz ? ['szablya'] : [],
+ })}
/>
{karakter.osztaly === Osztaly.Harcos &&
@@ -105,6 +111,7 @@ function CreateCharacterPage() {
specialization={karakter.harcosSpecializaciok[0]}
existingSpecializations={karakter.harcosSpecializaciok}
changeSpecialization={(spec: string) => changeKarakter({...karakter, harcosSpecializaciok: [spec, ...karakter.harcosSpecializaciok.slice(1)]})}
+ szint={1}
/>
}