import React from "react";
import {KarakterInputs} from "../domain-models/karakter";
import BasicNewLevel from "./BasicNewLevel";
import TulajdonsagNoveles from "./TulajdonsagNoveles";
import {Tulajdonsag, TulajdonsagokTotal} from "../domain-models/tulajdonsag";
import {arraySetN} from "../../util";
import {Osztaly} from "../domain-models/osztaly";
import HarcosFegyverSpecializacio from "./HarcosFegyverSpecializacio";
import KalozKritikus from "./KalozKritikus";
function kalozKritIndex(szint: number) {
return Math.floor(szint/3)-1
}
function LevelUp(props: {
szint: number,
karakter: KarakterInputs,
changeTulajdonsagNoveles: (t: Tulajdonsag) => void,
changeRolledHP: (rolledHP: number) => void,
changeHarcosSpec: (spec: string) => void,
changeKalozKritikus: (krit: string) => void,
}) {
const {
szint,
karakter,
changeTulajdonsagNoveles,
changeRolledHP,
changeHarcosSpec,
changeKalozKritikus,
} = props
const specializationIndex = Math.floor((szint-1) / 2)
const specialization = karakter.harcosSpecializaciok[specializationIndex]
const kritIndex = kalozKritIndex(szint)
const krit = karakter.kalozKritikus[kritIndex]
return
{szint}. Szint
{szint % 4 === 0 &&
}
{karakter.osztaly === Osztaly.Harcos && szint % 2 === 1 &&
}
{karakter.osztaly === Osztaly.Kaloz && szint % 3 === 0 && !!krit &&
}
}
export function LevelUps(props: {karakter: KarakterInputs, changeKarakter: (inputs: KarakterInputs) => void}){
const {karakter, changeKarakter} = props;
const tulajdonsagokAtSzint = (szint: number) => TulajdonsagokTotal({...karakter, tulajdonsagNovelesek: karakter.tulajdonsagNovelesek.slice(0, Math.floor(szint / 4))})
const changeRolledHPAtSzint = (szint: number) => (newHProll: number) => {
changeKarakter({...karakter, hpRolls: arraySetN(karakter.hpRolls, szint-2, newHProll)})
console.log(karakter)
}
const changeTulajdonsagNovelesAtSzint = (szint: number) => (t: Tulajdonsag) => { changeKarakter({...karakter, tulajdonsagNovelesek: arraySetN(karakter.tulajdonsagNovelesek, Math.floor((szint / 4)-1), t)}) }
const changeHarcosSpecializacioAtSzint = (szint: number) => (spec: string) => {
changeKarakter({...karakter, harcosSpecializaciok: arraySetN(karakter.harcosSpecializaciok, Math.floor((szint-1) / 2), spec)})
}
const changeKalozKritikusAtSzint = (szint: number) => (krit: string) => {
changeKarakter({...karakter, kalozKritikus: arraySetN(karakter.kalozKritikus, kalozKritIndex(szint), krit)})
}
const levels = karakter.hpRolls.map((_, i) => i+2);
return <>
{levels.map(szint =>
)}
>
}
export default LevelUps