import pancelok from './pancel.json' import pajzsok from './pajzs.json' import fegyverek from './fegyver.json' export type PancelType = 'konnyu' | 'nehez' export const PancelTypes: PancelType[] = ['konnyu', 'nehez'] export interface Pancel { Id: string, Name: string, Type: PancelType VO: number, Price: number, Size: number } export interface Pajzs { Id: string, Name: string, Type: 'pajzs' VO: number, Price: number, Size: number } export interface Fegyver { Id: string, Name: string, Type: 'kozelharci' | 'dobhato' | 'lofegyver', Harcos: boolean, CsakNemHarcos: boolean, Masfelkezes: boolean, Ketkezes: boolean, KetkezesBonusz: boolean, HarciManover: boolean, Alakzat: boolean, Hosszu: boolean, Kabito: boolean, LovasRoham: boolean, PancelToro: boolean, PajzsZuzo: boolean, Rohamtoro: boolean, EroBonusz: boolean, Megterheltseg: boolean, Megjegyzes: string | undefined | null, Price: number, DamageMultiplier: number, DamageDice: number, NumberOfDamageDice: number, DamageBonus: number, CritRangeStart: number, CritMultiplier: number, Range: number, Size: number } export interface KarakterFelszereles { pancelID?: string pajzsID?: string fegyverIDk: string[] } export const DefaultFelszereles: KarakterFelszereles = { fegyverIDk: [], } export function PancelTypeLabel(type: PancelType): string { let result: string switch(type) { case 'konnyu': result = 'Könnyű' break case 'nehez': result = 'Nehéz' break default: result = 'Egyéb páncél' } return result } export function GetPancel(id?: string): Pancel | undefined { if (id == null) { return undefined } const filteredPancel = pancelok['pancel'].filter(p => p.Id === id) as Pancel[] return filteredPancel.length > 0 ? filteredPancel[0] : undefined } export function MaxAbilityVO(p: PancelType) { switch(p){ case 'konnyu': return 9999; case 'nehez': return 1; default: return 9999; } } export function GetPajzs(id?: string): Pajzs | undefined { if (id == null) { return undefined } const filtered = pajzsok['pajzs'].filter(p => p.Id === id) as Pajzs[] return filtered.length > 0 ? filtered[0] : undefined } export function GetFegyver(id: string): Fegyver | undefined { return fegyverek.data.find(f => f.Id === id) as Fegyver | undefined } export function GetFegyverek(ids: string[]): Fegyver[] { return ids.map(GetFegyver).filter(x => x != null).map(x => x as Fegyver) } export const defaultFegyverID = 'okol' export const defaultFegyver = GetFegyver('okol')!