Files
kemkas-frontend/Kemkas.Web/frontend/src/first-edition/domain-models/allowed-fegyver.ts
T

25 lines
1.3 KiB
TypeScript

import {Fegyver, GetFegyver} from "./felszereles";
import fegyverDB from "./fegyver.json";
import {Osztaly} from "./osztaly";
export function AllowedFegyver(o: Osztaly, harcosSpec: string[]): Fegyver[] {
const fegyverek = fegyverDB.data.map(x => x as Fegyver)
const nemEgzotikus = fegyverek.filter(f => !f.Egzotikus)
const varazslo = fegyverek.filter(f => ['okol', 'bot', 'bunko', 'tor', 'parittya', 'dobotu'].includes(f.Id))
const tolvaj = fegyverek.filter(f => ['okol', 'tor', 'parittya', 'rovid_ij', 'dobotu', 'konnyu_szamszerij', 'nehez_szamszerij', 'szablya', 'hosszu_kard', 'rovid_kard' ].includes(f.Id))
switch (o) {
case Osztaly.Harcos:
const harcosSpecFegyverek = harcosSpec.map(GetFegyver).filter(x => x != null && x.Egzotikus).map(x => x as Fegyver)
return [...nemEgzotikus, ...harcosSpecFegyverek]
case Osztaly.Amazon:
case Osztaly.Barbar:
case Osztaly.Kaloz: return nemEgzotikus;
case Osztaly.Ijasz: return [...nemEgzotikus, fegyverDB.data.find(f => f.Id === 'visszacsapo_ij') as Fegyver]
// Note: Isteni fegyver barmi lehet istentol foggoen
case Osztaly.Pap: return fegyverek;
case Osztaly.Tolvaj: return tolvaj;
case Osztaly.Illuzionista:
case Osztaly.Varazslo: return varazslo;
}
}