import React, {useState} from 'react'; import './CreateCharacter.css' import {Faj} from "../domain-models/faj"; import {Osztaly} from "../domain-models/osztaly" import FajSelector from "../components/FajSelector"; import Tulajdonsagok from "../components/Tulajdonsagok"; import OsztalySelector from "../components/OsztalySelector"; import KarakterKepzettsegek from "../components/KarakterKepzettsegek"; import { KarakterTulajdonsagok, Tulajdonsag, TulajdonsagIDs, TulajdonsagokFajjal, TulajdonsagokTotal } from "../domain-models/tulajdonsag"; import MasodlagosErtekek from "../components/MasodlagosErtekek"; import { AvailableKezpettsegList, GetKepzettsegListaN, GetNumberOfKepzettsegek, KepzettsegId, SetDefaultKepzettsegek, SetDefaultTolvajKepzettsegek, } from "../domain-models/kepzettsegek"; import {CreatePDF} from "../pdf/character.pdf"; import {KarakterDefaults} from "../domain-models/karakter"; import BasicNewLevel from "../components/BasicNewLevel"; import {dAny} from "../domain-models/kockak"; import {BaseHP, CalculateMasodlagosErtekek} from "../domain-models/masodlagos_ertekek"; import {KarakterInputToPdfView} from "../pdf/karakter_pdf_view"; import {arraySetN} from "../util"; import TulajdonsagNoveles from "../components/TulajdonsagNoveles"; import JellemSelector from "../components/JellemSelector"; function CreateCharacterPage() { let [karakter, changeKarakter] = useState(KarakterDefaults) const tulajdonsagokFajjal = TulajdonsagokFajjal(karakter.tulajdonsagok, karakter.faj) const tulajdonsagokTotal = TulajdonsagokTotal(karakter) const changeKepzettseg = (k: KepzettsegId[]) => changeKarakter({...karakter, kepzettsegek: k}) const changeTolvajKepzettseg = (tk?: KepzettsegId[]) => changeKarakter({...karakter, tolvajKepzettsegek: tk}) SetDefaultTolvajKepzettsegek(karakter, changeTolvajKepzettseg) SetDefaultKepzettsegek({...karakter, tulajdonsagok: tulajdonsagokFajjal}, changeKepzettseg) const availableKepzettsegList = AvailableKezpettsegList(karakter.osztaly) function levelUp() { const szint = karakter.szint + 1 const dice = BaseHP(karakter.osztaly) const roll = dAny(dice) const hpRolls = [...karakter.hpRolls, roll] console.log(`Level ${szint} HP roll on d${dice} is: ${roll}`) let tulajdonsagNovelesek = karakter.tulajdonsagNovelesek if (szint % 4 === 0) { for (const tulajdonsag of TulajdonsagIDs) { if (tulajdonsagokTotal[tulajdonsag] < 18) { tulajdonsagNovelesek = [...tulajdonsagNovelesek, tulajdonsag] break; } } } changeKarakter({...karakter, szint, hpRolls, tulajdonsagNovelesek}) } function levelDown() { let tulajdonsagNovelesek = karakter.tulajdonsagNovelesek if (karakter.szint % 4 === 0) { tulajdonsagNovelesek = tulajdonsagNovelesek.slice(0, -1) } const szint = karakter.szint - 1 const hpRolls = karakter.hpRolls.slice(0, -1) changeKarakter({...karakter, szint, hpRolls, tulajdonsagNovelesek}) } const changeHProllAtSzint = (szint: number) => (newHProll: number) => { changeKarakter({...karakter, hpRolls: arraySetN(karakter.hpRolls, szint-2, newHProll)}) console.log(karakter) } return (