import React from "react"; import {Fegyver, KarakterFelszereles, PancelTypeLabel} from "../domain-models/felszereles"; import {Osztaly} from '../domain-models/osztaly' import {AllowedPancelTypes} from '../domain-models/allowed-pancel-types' import pancelok from '../domain-models/pancel.json' import pajzsok from '../domain-models/pajzs.json' import fegyverek from '../domain-models/fegyver.json' import {arraySetN} from "../../util"; import {AllowedFegyver} from "../domain-models/allowed-fegyver"; export function FegyverLabel(fegyver: Fegyver): string { return `${fegyver.Name}${fegyver.Ketkezes ? '+' : ''}${fegyver.Egzotikus ? '(E)' : ''} | ${ fegyver.NumberOfDamageDice}d${fegyver.DamageDice} ${ fegyver.CritRangeStart < 20 ? `${fegyver.CritRangeStart}-20` : ''}x${fegyver.CritMultiplier}${ fegyver.Price > 0 ? ` | ár: ${fegyver.Price} at ` : ''}${ fegyver.Range > 0 ? ` | táv: ${fegyver.Range}` : ''}` } function Felszereles(props: {felszereles: KarakterFelszereles, changeFelszereles: (felszereles: KarakterFelszereles) => void, osztaly: Osztaly, harcosSpec: Fegyver['Id'][]}) { const { felszereles, changeFelszereles, osztaly, harcosSpec } = props; const allowedPancelTypes = AllowedPancelTypes([osztaly]) const valasztottFegyverek = felszereles.fegyverIDk .map((id, idx) => ({idx, fegyver: fegyverek.data.find(f => f.Id === id)})).filter((x) => x.fegyver != null).map(({idx, fegyver}) => ({idx, fegyver: fegyver as Fegyver})) const osztalyAllowedFegyverek = AllowedFegyver(osztaly, harcosSpec) const allowedFegyverek = [...osztalyAllowedFegyverek, ...valasztottFegyverek.filter(({idx, fegyver}) => !osztalyAllowedFegyverek.map(f => f.Id).includes(fegyver.Id)).map(({fegyver}) => fegyver)] const changeFegyver = (idx: number, newID: string) => { const found = fegyverek.data.find(x => x.Id === newID) if (!found) { console.log('Nem létező fegyver ID: ', newID) return } changeFelszereles({...felszereles, fegyverIDk: arraySetN(felszereles.fegyverIDk, idx, newID)}) } return <>
Felszerelés
{valasztottFegyverek.map(({idx, fegyver}) => (
))} } export default Felszereles