mirror of
https://github.com/morbalint/kemkas.git
synced 2026-07-17 19:03:46 +00:00
90 lines
2.0 KiB
TypeScript
90 lines
2.0 KiB
TypeScript
import pancelok from './pancel.json'
|
|
import pajzsok from './pajzs.json'
|
|
|
|
export type PancelType = 'konnyu' | 'kozepes' | 'nehez'
|
|
|
|
export const PancelTypes: PancelType[] = ['konnyu', 'kozepes', 'nehez']
|
|
|
|
export interface Pancel {
|
|
ID: string,
|
|
Name: string,
|
|
Type: PancelType
|
|
VO: number,
|
|
Price: number,
|
|
}
|
|
|
|
export interface Pajzs {
|
|
ID: string,
|
|
Name: string,
|
|
Type: 'pajzs'
|
|
VO: number,
|
|
Price: number,
|
|
}
|
|
|
|
export interface Fegyver {
|
|
ID: string,
|
|
Name: string,
|
|
Type: 'kozelharci' | 'lofegyver'
|
|
Ketkezes: boolean,
|
|
Egzotikus: boolean,
|
|
Rohamfelfogo: boolean,
|
|
Price: number,
|
|
DamageDice: number,
|
|
NumberOfDamageDice: number,
|
|
CritRangeStart: number,
|
|
CritMultiplier: number,
|
|
Range: 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 'kozepes':
|
|
result = 'Közepes'
|
|
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 3;
|
|
case 'kozepes': return 2;
|
|
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
|
|
} |