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 (

Karakter létrehozása

event.preventDefault() }>
Származás
changeKarakter({...karakter, name: e.target.value})}/> {!karakter.name && A karaktered nem mászkálhat névtelenül a világban!}
changeKarakter({...karakter, nem: e.target.value})}/>
changeKarakter({...karakter, kor: Number(e.target.value)})}/>
changeKarakter({...karakter, jellem: val})} />
changeKarakter({...karakter, isten: e.target.value})}/>
changeKarakter({...karakter, faj: faj})} faj={karakter.faj} />
changeKarakter({...karakter, tulajdonsagok: tul})} />
Tanult
changeKarakter({...karakter, osztaly: o})} />
{karakter.hpRolls.map((_, i) => i+2).map(szint => <> {szint % 4 === 0 && { changeKarakter({...karakter, tulajdonsagNovelesek: arraySetN(karakter.tulajdonsagNovelesek, Math.floor((szint / 4)-1), t)}) }} />} )}
{karakter.szint < 10 && } {karakter.szint > 1 && }
); } export default CreateCharacterPage;