From e53e193e7da36775e68099880ca3a7426972598a Mon Sep 17 00:00:00 2001 From: Balint Morasz Date: Sat, 23 Sep 2023 22:43:27 +0200 Subject: [PATCH] level 3 maybe? --- .../{Level2.tsx => BasicNewLevel.tsx} | 38 +++++++++++-------- src/components/KarakterKepzettsegek.tsx | 10 +---- src/components/MasodlagosErtekek.tsx | 3 +- src/components/OsztalySelector.tsx | 4 +- src/domain-models/kepzettsegek.ts | 4 +- src/domain-models/mentok.ts | 3 +- src/pages/CreateCharacter.tsx | 17 +++++---- src/util.ts | 6 +++ 8 files changed, 47 insertions(+), 38 deletions(-) rename src/components/{Level2.tsx => BasicNewLevel.tsx} (72%) create mode 100644 src/util.ts diff --git a/src/components/Level2.tsx b/src/components/BasicNewLevel.tsx similarity index 72% rename from src/components/Level2.tsx rename to src/components/BasicNewLevel.tsx index 3a6e3d4..6aa2464 100644 --- a/src/components/Level2.tsx +++ b/src/components/BasicNewLevel.tsx @@ -27,18 +27,26 @@ function UjMento(props : {tipus: MentoTipus, ujMentok: Mentok, regiMentok: Mento ; } -function Level2(props: { +function BasicNewLevel(props: { karakter: KarakterInputs - rolledHP: number + szint: number changeRolledHP: (hp: number) => void, }) { - const {karakter, changeRolledHP} = props - const regiMentok = MentokTotal({...karakter, szint: karakter.szint - 1}) - const ujMentok = MentokTotal(karakter) + const {karakter, szint, changeRolledHP} = props + const regiMentok = MentokTotal({...karakter, szint: szint - 1}) + const ujMentok = MentokTotal({...karakter, szint: szint}) + + const regiTB = TamadasBonusz(karakter.osztaly, szint-1) + const ujTB = TamadasBonusz(karakter.osztaly, szint) + if (regiTB.length < ujTB.length) { + regiTB.push(0) + } + const TBdiff = ujTB.map((x, i) => x - regiTB[i]) + const isTBincreased = TBdiff.some(x => x > 0) return <>
-
2. Szint
+
{szint}. Szint
@@ -49,16 +57,16 @@ function Level2(props: { className='form-control' maxLength={2} type='number' - value={karakter.HProlls[0]} + value={karakter.HProlls[szint-2] || 1} min={1} max={12} onChange={e => changeRolledHP(Number(e.target.value))} />
-
+ { isTBincreased &&
- +1 -
+ {TBdiff.map(SignedNumberToText).join(" / ")} +
} @@ -66,12 +74,12 @@ function Level2(props: {
- {HP(karakter)} + {HP({...karakter, HProlls: karakter.HProlls.slice(0, szint-1)})}
-
+ {isTBincreased &&
- {TamadasBonusz(karakter.osztaly, karakter.szint).map(SignedNumberToText).join("/")} -
+ {ujTB.map(SignedNumberToText).join(" / ")} +
} @@ -80,4 +88,4 @@ function Level2(props: { } -export default Level2 \ No newline at end of file +export default BasicNewLevel \ No newline at end of file diff --git a/src/components/KarakterKepzettsegek.tsx b/src/components/KarakterKepzettsegek.tsx index 9529cf0..1132f9b 100644 --- a/src/components/KarakterKepzettsegek.tsx +++ b/src/components/KarakterKepzettsegek.tsx @@ -6,13 +6,8 @@ import { KepzettsegId, TolvajKepzettsegList, } from "../domain-models/kepzettsegek"; +import {arraySetN} from "../util"; -function arraySetN(array: T[], n: number, elem: T): T[] { - if (array.length < n || n < 0) { - return array - } - return [...array.slice(0, n), elem, ...array.slice(n+1)] -} function InternalKepzettsegekSelector(props: { title: string, @@ -39,8 +34,6 @@ function InternalKepzettsegekSelector(props: { }) } - console.log(preCalculated) - return <>
@@ -61,7 +54,6 @@ function InternalKepzettsegekSelector(props: { } - function KarakterKepzettsegek (props: { availableKepzettsegList: Kepzettseg[], numberOfKepzettsegek: number diff --git a/src/components/MasodlagosErtekek.tsx b/src/components/MasodlagosErtekek.tsx index bafd558..518a10c 100644 --- a/src/components/MasodlagosErtekek.tsx +++ b/src/components/MasodlagosErtekek.tsx @@ -12,7 +12,8 @@ function MasodlagosErtekek(props: MasodlagosErtekekView) { Hentelési Potenciál ); - //const mentok = karakter.MentokTulajdonsaggal(1) + + console.log(Mentok) return <>
diff --git a/src/components/OsztalySelector.tsx b/src/components/OsztalySelector.tsx index 3dea3fd..f6fc07c 100644 --- a/src/components/OsztalySelector.tsx +++ b/src/components/OsztalySelector.tsx @@ -44,7 +44,7 @@ function OsztalySelector(props: {currentFaj: Faj, currentOsztaly: Osztaly, chang
{OsztalySpecialSkills(currentOsztaly).map(skill => -

+

{skill.Name} @@ -56,7 +56,7 @@ function OsztalySelector(props: {currentFaj: Faj, currentOsztaly: Osztaly, chang (
  • {ext}
  • ))} )} -

    +
    )}
    diff --git a/src/domain-models/kepzettsegek.ts b/src/domain-models/kepzettsegek.ts index 1a3b4cd..a116369 100644 --- a/src/domain-models/kepzettsegek.ts +++ b/src/domain-models/kepzettsegek.ts @@ -216,15 +216,15 @@ export function AvailableKezpettsegList(osztaly: Osztaly): Kepzettseg[] { export function GetNumberOfKepzettsegek(t_int: number, faj: Faj, max: number) { let numberOfKepzettseg = 3 + Modifier(t_int) + (faj === Faj.Ember ? 1 : 0) - console.log('Raw Number of Kepzetsegek = ', numberOfKepzettseg) if (numberOfKepzettseg < 1) { numberOfKepzettseg = 1 + console.log('Adjusted Number of Kepzetsegek = ', numberOfKepzettseg) } if (numberOfKepzettseg > max) { numberOfKepzettseg = max + console.log('Adjusted Number of Kepzetsegek = ', numberOfKepzettseg) } - console.log('Adjusted Number of Kepzetsegek = ', numberOfKepzettseg) return numberOfKepzettseg; } diff --git a/src/domain-models/mentok.ts b/src/domain-models/mentok.ts index c623bf2..49d2ca4 100644 --- a/src/domain-models/mentok.ts +++ b/src/domain-models/mentok.ts @@ -54,6 +54,7 @@ export function ElsodlegesMentok(osztaly: Osztaly) : MentoTipus[] { export function MentokAlap(osztaly: Osztaly, szint: number = 1) { const elsodlegesek = ElsodlegesMentok(osztaly) + console.log(elsodlegesek) return { kitartas: elsodlegesek.includes('kitartas') ? ElsodlegesMento(szint) : MasodlagosMento(szint), reflex: elsodlegesek.includes('reflex') ? ElsodlegesMento(szint) : MasodlagosMento(szint), @@ -74,7 +75,7 @@ export function MentokTotal(karakter: Pick (newHProll: number) => { + changeKarakter({...karakter, HProlls: arraySetN(karakter.HProlls, szint-2, newHProll)}) console.log(karakter) } - const masodlagosErtekek = CalculateMasodlagosErtekek({...karakter, szint: 1, HProlls: []}) - return (
    @@ -116,12 +115,14 @@ function CreateCharacterPage() { />
    - + - {karakter.szint > 1 && } + {karakter.szint > 1 && } + + {karakter.szint > 2 && }
    - {karakter.szint < 2 && } + {karakter.szint < 3 && } {karakter.szint > 1 && }
    diff --git a/src/util.ts b/src/util.ts new file mode 100644 index 0000000..6459fd5 --- /dev/null +++ b/src/util.ts @@ -0,0 +1,6 @@ +export function arraySetN(array: T[], n: number, elem: T): T[] { + if (array.length < n || n < 0) { + return array + } + return [...array.slice(0, n), elem, ...array.slice(n+1)] +}