mirror of
https://github.com/morbalint/kemkas.git
synced 2026-07-17 19:03:46 +00:00
fix kaloz kritIndex & refactor all Id
This commit is contained in:
@@ -19,12 +19,12 @@ function Felszereles(props: {felszereles: KarakterFelszereles, changeFelszereles
|
||||
const { felszereles, changeFelszereles, osztaly } = 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}))
|
||||
.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 = OsztalyAllowedFegyver(osztaly)
|
||||
const allowedFegyverek = [...osztalyAllowedFegyverek, ...valasztottFegyverek.filter(({idx, fegyver}) => !osztalyAllowedFegyverek.map(f => f.ID).includes(fegyver.ID)).map(({fegyver}) => fegyver)]
|
||||
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)
|
||||
const found = fegyverek.data.find(x => x.Id === newID)
|
||||
if (!found) {
|
||||
console.log('Nem létező fegyver ID: ', newID)
|
||||
return
|
||||
@@ -40,7 +40,7 @@ function Felszereles(props: {felszereles: KarakterFelszereles, changeFelszereles
|
||||
{
|
||||
allowedPancelTypes.map(pancelType => (
|
||||
<optgroup key={pancelType} label={PancelTypeLabel(pancelType)}>
|
||||
{pancelok['pancel'].filter(p => p.Type === pancelType).map(p => <option key={p.ID} value={p.ID}>{`${p.Name} (+${p.VO} VO) - ${p.Price} at`}</option>)}
|
||||
{pancelok['pancel'].filter(p => p.Type === pancelType).map(p => <option key={p.Id} value={p.Id}>{`${p.Name} (+${p.VO} VO) - ${p.Price} at`}</option>)}
|
||||
</optgroup>
|
||||
))
|
||||
}
|
||||
@@ -50,18 +50,18 @@ function Felszereles(props: {felszereles: KarakterFelszereles, changeFelszereles
|
||||
<label className='col-md-2 col-sm-3 col-form-label'>Hordott pajzs</label>
|
||||
<select className='col form-select' value={felszereles.pajzsID} onChange={e => changeFelszereles({...felszereles, pajzsID: e.target.value === 'nincs' ? undefined : e.target.value})}>
|
||||
<option key={'nincs'} value={'nincs'}>Nincs</option>
|
||||
{allowedPancelTypes.length > 0 && (pajzsok['pajzs'].map(p => <option key={p.ID} value={p.ID}>{`${p.Name} (+${p.VO} VO) - ${p.Price} at`}</option>))}
|
||||
{allowedPancelTypes.length > 0 && (pajzsok['pajzs'].map(p => <option key={p.Id} value={p.Id}>{`${p.Name} (+${p.VO} VO) - ${p.Price} at`}</option>))}
|
||||
</select>
|
||||
</div>
|
||||
{valasztottFegyverek.map(({idx, fegyver}) => (
|
||||
<div key={`fegyver-${idx}`} className='row m-2'>
|
||||
<label className='col-md-2 col-sm-3 col-form-label'>Fegyver</label>
|
||||
<select className='col form-select' value={fegyver.ID} onChange={e => changeFegyver(idx, e.target.value)}>
|
||||
<select className='col form-select' value={fegyver.Id} onChange={e => changeFegyver(idx, e.target.value)}>
|
||||
<optgroup label="Közelharci">
|
||||
{allowedFegyverek.filter(f => f.Type === 'kozelharci').map(f => <option key={f.ID} value={f.ID}>{FegyverLabel(f)}</option>)}
|
||||
{allowedFegyverek.filter(f => f.Type === 'kozelharci').map(f => <option key={f.Id} value={f.Id}>{FegyverLabel(f)}</option>)}
|
||||
</optgroup>
|
||||
<optgroup label="Távolsági">
|
||||
{allowedFegyverek.filter(f => f.Type === 'lofegyver').map(f => <option key={f.ID} value={f.ID}>{FegyverLabel(f)}</option>)}
|
||||
{allowedFegyverek.filter(f => f.Type === 'lofegyver').map(f => <option key={f.Id} value={f.Id}>{FegyverLabel(f)}</option>)}
|
||||
</optgroup>
|
||||
</select>
|
||||
<button className='col-md-2 col-sm-3 btn btn-outline-dark btn-lg ms-2' type='button' onClick={() => changeFelszereles({...felszereles, fegyverIDk: [...felszereles.fegyverIDk.slice(0, idx), ...felszereles.fegyverIDk.slice(idx+1)]})}>Elvesz</button>
|
||||
|
||||
@@ -19,12 +19,12 @@ function HarcosFegyverSpecializacio(props: {
|
||||
return <>
|
||||
<div className='row m-2'>
|
||||
<label className='col-md-2 col-sm-3 col-form-label' >Fegyver specializáció</label>
|
||||
<select className='col form-select' value={fegyver?.ID || defaultFegyverID} onChange={e => changeSpecialization(e.target.value)}>
|
||||
<select className='col form-select' value={fegyver?.Id || defaultFegyverID} onChange={e => changeSpecialization(e.target.value)}>
|
||||
<optgroup label="Közelharci">
|
||||
{fegyverek.data.filter(f => f.Type === 'kozelharci').map(f => <option key={f.ID} value={f.ID}>{f.Name}</option>)}
|
||||
{fegyverek.data.filter(f => f.Type === 'kozelharci').map(f => <option key={f.Id} value={f.Id}>{f.Name}</option>)}
|
||||
</optgroup>
|
||||
<optgroup label="Távolsági">
|
||||
{fegyverek.data.filter(f => f.Type === 'lofegyver').map(f => <option key={f.ID} value={f.ID}>{f.Name}</option>)}
|
||||
{fegyverek.data.filter(f => f.Type === 'lofegyver').map(f => <option key={f.Id} value={f.Id}>{f.Name}</option>)}
|
||||
</optgroup>
|
||||
</select>
|
||||
{fegyver == null && <span className='form-field-error'>Ismeretlen fegyver: {specialization}</span>}
|
||||
|
||||
@@ -1,28 +1,29 @@
|
||||
import React from "react";
|
||||
import fegyverek from "../domain-models/fegyver.json"
|
||||
import {Osztaly, OsztalyAllowedFegyver} from "../domain-models/osztaly";
|
||||
|
||||
function KalozKritikus(props: {
|
||||
krit: string,
|
||||
kritFegyverId: string,
|
||||
existingKrits: string[],
|
||||
changeKrit: (krit: string) => void,
|
||||
szint: number
|
||||
}) {
|
||||
const {
|
||||
krit,
|
||||
kritFegyverId,
|
||||
existingKrits,
|
||||
changeKrit,
|
||||
szint
|
||||
} = props
|
||||
const hasError = existingKrits.filter(x => x === krit).length > (szint < 9 ? 1 : 2)
|
||||
const hasError = existingKrits.filter(x => x === kritFegyverId).length > (szint < 9 ? 1 : 2)
|
||||
const fegyverek = OsztalyAllowedFegyver(Osztaly.Kaloz)
|
||||
return <>
|
||||
<div className='row m-2'>
|
||||
<label className='col-md-2 col-sm-3 col-form-label'>Kritikus</label>
|
||||
<select className='col form-select' value={krit} onChange={e => changeKrit(e.target.value)}>
|
||||
<select className='col form-select' value={kritFegyverId} onChange={e => changeKrit(e.target.value)}>
|
||||
<optgroup label="Közelharci">
|
||||
{fegyverek.data.filter(f => f.Type === 'kozelharci').map(f => <option key={f.ID} value={f.ID}>{f.Name}</option>)}
|
||||
{fegyverek.filter(f => f.Type === 'kozelharci').map(f => <option key={f.Id} value={f.Id}>{f.Name}</option>)}
|
||||
</optgroup>
|
||||
<optgroup label="Távolsági">
|
||||
{fegyverek.data.filter(f => f.Type === 'lofegyver').map(f => <option key={f.ID} value={f.ID}>{f.Name}</option>)}
|
||||
{fegyverek.filter(f => f.Type === 'lofegyver').map(f => <option key={f.Id} value={f.Id}>{f.Name}</option>)}
|
||||
</optgroup>
|
||||
</select>
|
||||
{hasError && <span className='form-field-error'>Már {szint < 9 ? '' : 'kétszer is'} választottad ezt a fegyvert!</span>}
|
||||
|
||||
@@ -8,6 +8,10 @@ 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,
|
||||
@@ -26,12 +30,10 @@ function LevelUp(props: {
|
||||
} = props
|
||||
|
||||
const specializationIndex = Math.floor((szint-1) / 2)
|
||||
console.log('Specialization index: ' + specializationIndex.toString())
|
||||
const specialization = karakter.harcosSpecializaciok[specializationIndex]
|
||||
console.log(specialization)
|
||||
const kritIndex = Math.floor(szint/3)-1
|
||||
const kritIndex = kalozKritIndex(szint)
|
||||
const krit = karakter.kalozKritikus[kritIndex]
|
||||
console.log(`kaloz krit @${szint}: ${krit}`)
|
||||
|
||||
return <div key={`level-up-${szint}`}>
|
||||
<div className='row mt-3'>
|
||||
@@ -58,7 +60,7 @@ function LevelUp(props: {
|
||||
}
|
||||
{karakter.osztaly === Osztaly.Kaloz && szint % 3 === 0 && !!krit &&
|
||||
<KalozKritikus
|
||||
krit={krit}
|
||||
kritFegyverId={krit}
|
||||
existingKrits={karakter.kalozKritikus}
|
||||
changeKrit={changeKalozKritikus}
|
||||
szint={szint}
|
||||
@@ -82,8 +84,8 @@ export function LevelUps(props: {karakter: KarakterInputs, changeKarakter: (inpu
|
||||
changeKarakter({...karakter, harcosSpecializaciok: arraySetN(karakter.harcosSpecializaciok, Math.floor((szint-1) / 2), spec)})
|
||||
}
|
||||
|
||||
const changeKalozKritikusAtSzint = (szint: number) => (spec: string) => {
|
||||
changeKarakter({...karakter, kalozKritikus: arraySetN(karakter.kalozKritikus, Math.floor(szint / 3), spec)})
|
||||
const changeKalozKritikusAtSzint = (szint: number) => (krit: string) => {
|
||||
changeKarakter({...karakter, kalozKritikus: arraySetN(karakter.kalozKritikus, kalozKritIndex(szint), krit)})
|
||||
}
|
||||
|
||||
return <>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"data": [
|
||||
{
|
||||
"ID": "alabard",
|
||||
"Id": "alabard",
|
||||
"Name": "Alabárd és más szálfegyverek",
|
||||
"Type": "kozelharci",
|
||||
"Ketkezes": true,
|
||||
@@ -15,7 +15,7 @@
|
||||
"Range": 0
|
||||
},
|
||||
{
|
||||
"ID": "bot",
|
||||
"Id": "bot",
|
||||
"Name": "Bot",
|
||||
"Type": "kozelharci",
|
||||
"Ketkezes": false,
|
||||
@@ -29,7 +29,7 @@
|
||||
"Range": 0
|
||||
},
|
||||
{
|
||||
"ID": "bunko",
|
||||
"Id": "bunko",
|
||||
"Name": "Bunkó",
|
||||
"Type": "kozelharci",
|
||||
"Ketkezes": false,
|
||||
@@ -43,7 +43,7 @@
|
||||
"Range": 0
|
||||
},
|
||||
{
|
||||
"ID": "buzogany",
|
||||
"Id": "buzogany",
|
||||
"Name": "Buzogány és láncos buzogány",
|
||||
"Type": "kozelharci",
|
||||
"Ketkezes": false,
|
||||
@@ -57,7 +57,7 @@
|
||||
"Range": 0
|
||||
},
|
||||
{
|
||||
"ID": "csatabard",
|
||||
"Id": "csatabard",
|
||||
"Name": "Csatabárd",
|
||||
"Type": "kozelharci",
|
||||
"Ketkezes": false,
|
||||
@@ -71,7 +71,7 @@
|
||||
"Range": 0
|
||||
},
|
||||
{
|
||||
"ID": "csatabard_2",
|
||||
"Id": "csatabard_2",
|
||||
"Name": "Kétkezes csatabárd",
|
||||
"Type": "kozelharci",
|
||||
"Ketkezes": true,
|
||||
@@ -85,7 +85,7 @@
|
||||
"Range": 0
|
||||
},
|
||||
{
|
||||
"ID": "csakany",
|
||||
"Id": "csakany",
|
||||
"Name": "Csákány",
|
||||
"Type": "kozelharci",
|
||||
"Ketkezes": true,
|
||||
@@ -99,7 +99,7 @@
|
||||
"Range": 0
|
||||
},
|
||||
{
|
||||
"ID": "darda",
|
||||
"Id": "darda",
|
||||
"Name": "Dárda",
|
||||
"Type": "kozelharci",
|
||||
"Ketkezes": true,
|
||||
@@ -113,7 +113,7 @@
|
||||
"Range": 0
|
||||
},
|
||||
{
|
||||
"ID": "fejsze",
|
||||
"Id": "fejsze",
|
||||
"Name": "Fejsze",
|
||||
"Type": "kozelharci",
|
||||
"Ketkezes": false,
|
||||
@@ -127,7 +127,7 @@
|
||||
"Range": 10
|
||||
},
|
||||
{
|
||||
"ID": "torpe_fejsze",
|
||||
"Id": "torpe_fejsze",
|
||||
"Name": "Törpe fejsze",
|
||||
"Type": "kozelharci",
|
||||
"Ketkezes": false,
|
||||
@@ -141,7 +141,7 @@
|
||||
"Range": 0
|
||||
},
|
||||
{
|
||||
"ID": "handzsar",
|
||||
"Id": "handzsar",
|
||||
"Name": "Handzsár",
|
||||
"Type": "kozelharci",
|
||||
"Ketkezes": true,
|
||||
@@ -155,7 +155,7 @@
|
||||
"Range": 0
|
||||
},
|
||||
{
|
||||
"ID": "harci_kalapacs",
|
||||
"Id": "harci_kalapacs",
|
||||
"Name": "Harci kalapács",
|
||||
"Type": "kozelharci",
|
||||
"Ketkezes": false,
|
||||
@@ -169,7 +169,7 @@
|
||||
"Range": 0
|
||||
},
|
||||
{
|
||||
"ID": "harci_kalapacs_2",
|
||||
"Id": "harci_kalapacs_2",
|
||||
"Name": "Kétkezes harci kalapács",
|
||||
"Type": "kozelharci",
|
||||
"Ketkezes": true,
|
||||
@@ -183,7 +183,7 @@
|
||||
"Range": 0
|
||||
},
|
||||
{
|
||||
"ID": "fattyu_kard",
|
||||
"Id": "fattyu_kard",
|
||||
"Name": "Fattyú kard",
|
||||
"Type": "kozelharci",
|
||||
"Ketkezes": false,
|
||||
@@ -197,7 +197,7 @@
|
||||
"Range": 0
|
||||
},
|
||||
{
|
||||
"ID": "rovid_kard",
|
||||
"Id": "rovid_kard",
|
||||
"Name": "Rövid kard",
|
||||
"Type": "kozelharci",
|
||||
"Ketkezes": false,
|
||||
@@ -211,7 +211,7 @@
|
||||
"Range": 0
|
||||
},
|
||||
{
|
||||
"ID": "hosszu_kard",
|
||||
"Id": "hosszu_kard",
|
||||
"Name": "Hosszú kard",
|
||||
"Type": "kozelharci",
|
||||
"Ketkezes": false,
|
||||
@@ -225,7 +225,7 @@
|
||||
"Range": 0
|
||||
},
|
||||
{
|
||||
"ID": "kard_2",
|
||||
"Id": "kard_2",
|
||||
"Name": "Kétkezes kard",
|
||||
"Type": "kozelharci",
|
||||
"Ketkezes": true,
|
||||
@@ -239,7 +239,7 @@
|
||||
"Range": 0
|
||||
},
|
||||
{
|
||||
"ID": "kasza",
|
||||
"Id": "kasza",
|
||||
"Name": "Kasza",
|
||||
"Type": "kozelharci",
|
||||
"Ketkezes": true,
|
||||
@@ -253,7 +253,7 @@
|
||||
"Range": 0
|
||||
},
|
||||
{
|
||||
"ID": "landzsa",
|
||||
"Id": "landzsa",
|
||||
"Name": "Lándzsa",
|
||||
"Type": "kozelharci",
|
||||
"Ketkezes": false,
|
||||
@@ -267,7 +267,7 @@
|
||||
"Range": 20
|
||||
},
|
||||
{
|
||||
"ID": "sarlo",
|
||||
"Id": "sarlo",
|
||||
"Name": "Sarló",
|
||||
"Type": "kozelharci",
|
||||
"Ketkezes": false,
|
||||
@@ -281,7 +281,7 @@
|
||||
"Range": 0
|
||||
},
|
||||
{
|
||||
"ID": "szablya",
|
||||
"Id": "szablya",
|
||||
"Name": "Szablya",
|
||||
"Type": "kozelharci",
|
||||
"Ketkezes": false,
|
||||
@@ -295,7 +295,7 @@
|
||||
"Range": 0
|
||||
},
|
||||
{
|
||||
"ID": "szigony",
|
||||
"Id": "szigony",
|
||||
"Name": "Háromágú szigony",
|
||||
"Type": "kozelharci",
|
||||
"Ketkezes": false,
|
||||
@@ -309,7 +309,7 @@
|
||||
"Range": 10
|
||||
},
|
||||
{
|
||||
"ID": "tor",
|
||||
"Id": "tor",
|
||||
"Name": "Tőr",
|
||||
"Type": "kozelharci",
|
||||
"Ketkezes": false,
|
||||
@@ -323,7 +323,7 @@
|
||||
"Range": 10
|
||||
},
|
||||
{
|
||||
"ID": "ostor",
|
||||
"Id": "ostor",
|
||||
"Name": "Ostor",
|
||||
"Type": "kozelharci",
|
||||
"Ketkezes": false,
|
||||
@@ -337,7 +337,7 @@
|
||||
"Range": 0
|
||||
},
|
||||
{
|
||||
"ID": "okol",
|
||||
"Id": "okol",
|
||||
"Name": "Ököl",
|
||||
"Type": "kozelharci",
|
||||
"Ketkezes": false,
|
||||
@@ -352,7 +352,7 @@
|
||||
},
|
||||
|
||||
{
|
||||
"ID": "dobodarda",
|
||||
"Id": "dobodarda",
|
||||
"Name": "Dobódárda",
|
||||
"Type": "lofegyver",
|
||||
"Ketkezes": false,
|
||||
@@ -366,7 +366,7 @@
|
||||
"Range": 30
|
||||
},
|
||||
{
|
||||
"ID": "dobotu",
|
||||
"Id": "dobotu",
|
||||
"Name": "Dobótű",
|
||||
"Type": "lofegyver",
|
||||
"Ketkezes": false,
|
||||
@@ -380,7 +380,7 @@
|
||||
"Range": 20
|
||||
},
|
||||
{
|
||||
"ID": "rovid_ij",
|
||||
"Id": "rovid_ij",
|
||||
"Name": "Rövid íj",
|
||||
"Type": "lofegyver",
|
||||
"Ketkezes": true,
|
||||
@@ -394,7 +394,7 @@
|
||||
"Range": 60
|
||||
},
|
||||
{
|
||||
"ID": "hosszu_ij",
|
||||
"Id": "hosszu_ij",
|
||||
"Name": "Hosszú íj",
|
||||
"Type": "lofegyver",
|
||||
"Ketkezes": true,
|
||||
@@ -408,7 +408,7 @@
|
||||
"Range": 70
|
||||
},
|
||||
{
|
||||
"ID": "visszacsapo_ij",
|
||||
"Id": "visszacsapo_ij",
|
||||
"Name": "Visszacsapó íj",
|
||||
"Type": "lofegyver",
|
||||
"Ketkezes": true,
|
||||
@@ -422,7 +422,7 @@
|
||||
"Range": 110
|
||||
},
|
||||
{
|
||||
"ID": "parittya",
|
||||
"Id": "parittya",
|
||||
"Name": "Parittya",
|
||||
"Type": "lofegyver",
|
||||
"Ketkezes": true,
|
||||
@@ -436,7 +436,7 @@
|
||||
"Range": 50
|
||||
},
|
||||
{
|
||||
"ID": "konnyu_szamszerij",
|
||||
"Id": "konnyu_szamszerij",
|
||||
"Name": "Könnyű számszeríj",
|
||||
"Type": "lofegyver",
|
||||
"Ketkezes": true,
|
||||
@@ -450,7 +450,7 @@
|
||||
"Range": 80
|
||||
},
|
||||
{
|
||||
"ID": "nehez_szamszerij",
|
||||
"Id": "nehez_szamszerij",
|
||||
"Name": "Nehéz számszeríj",
|
||||
"Type": "lofegyver",
|
||||
"Ketkezes": true,
|
||||
|
||||
@@ -7,7 +7,7 @@ export type PancelType = 'konnyu' | 'kozepes' | 'nehez'
|
||||
export const PancelTypes: PancelType[] = ['konnyu', 'kozepes', 'nehez']
|
||||
|
||||
export interface Pancel {
|
||||
ID: string,
|
||||
Id: string,
|
||||
Name: string,
|
||||
Type: PancelType
|
||||
VO: number,
|
||||
@@ -15,7 +15,7 @@ export interface Pancel {
|
||||
}
|
||||
|
||||
export interface Pajzs {
|
||||
ID: string,
|
||||
Id: string,
|
||||
Name: string,
|
||||
Type: 'pajzs'
|
||||
VO: number,
|
||||
@@ -23,7 +23,7 @@ export interface Pajzs {
|
||||
}
|
||||
|
||||
export interface Fegyver {
|
||||
ID: string,
|
||||
Id: string,
|
||||
Name: string,
|
||||
Type: 'kozelharci' | 'lofegyver'
|
||||
Ketkezes: boolean,
|
||||
@@ -69,7 +69,7 @@ export function GetPancel(id?: string): Pancel | undefined {
|
||||
if (id == null) {
|
||||
return undefined
|
||||
}
|
||||
const filteredPancel = pancelok['pancel'].filter(p => p.ID === id) as Pancel[]
|
||||
const filteredPancel = pancelok['pancel'].filter(p => p.Id === id) as Pancel[]
|
||||
return filteredPancel.length > 0 ? filteredPancel[0] : undefined
|
||||
}
|
||||
|
||||
@@ -86,12 +86,12 @@ export function GetPajzs(id?: string): Pajzs | undefined {
|
||||
if (id == null) {
|
||||
return undefined
|
||||
}
|
||||
const filtered = pajzsok['pajzs'].filter(p => p.ID === id) as Pajzs[]
|
||||
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
|
||||
return fegyverek.data.find(f => f.Id === id) as Fegyver | undefined
|
||||
}
|
||||
|
||||
export function GetFegyverek(ids: string[]): Fegyver[] {
|
||||
|
||||
@@ -17,14 +17,14 @@ export enum Osztaly {
|
||||
export function OsztalyAllowedFegyver(o: Osztaly): 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))
|
||||
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.Amazon:
|
||||
case Osztaly.Harcos:
|
||||
case Osztaly.Barbar:
|
||||
case Osztaly.Kaloz: return nemEgzotikus;
|
||||
case Osztaly.Ijasz: return [...nemEgzotikus, fegyverDB.data.find(f => f.ID === 'visszacsapo_ij') as Fegyver]
|
||||
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;
|
||||
@@ -210,7 +210,7 @@ export function OsztalySpecialSkills(osztaly: Osztaly) : Skill[] {
|
||||
{
|
||||
Id: 's_harcos_kaloz_kritikus',
|
||||
Name: 'Kritikus',
|
||||
Description: 'Minden harmadik szinten kiválaszthatnak egy fegyvert, amivel könnyebben okoznak kritikus sebesülést, tehát pl. csatabárddal 20 helyett 19-20-on, hoszszúkarddal 19-20 helyett 18-20-on, szablyával 18-20 helyett 17-20-on, stb. Ez a képesség 9. szintig fegyverenként csak egyszer választható.'
|
||||
Description: 'Minden harmadik szinten kiválaszthatnak egy fegyvert, amivel könnyebben okoznak kritikus sebesülést, tehát pl. csatabárddal 20 helyett 19-20-on, hosszúkarddal 19-20 helyett 18-20-on, szablyával 18-20 helyett 17-20-on, stb. Ez a képesség 9. szintig fegyverenként csak egyszer választható.'
|
||||
}]
|
||||
case Osztaly.Barbar: return [
|
||||
{
|
||||
@@ -339,7 +339,7 @@ export function OsztalySkillsTordelt(osztaly: Osztaly) : Skill[] {
|
||||
Id: 's_harcos_kaloz_kritikus',
|
||||
Name: 'Kritikus',
|
||||
Description: 'Minden harmadik szinten kiválaszthatnak egy fegyvert, amivel könnyebben okoznak\n' +
|
||||
'kritikus sebesülést, tehát pl. csatabárddal 20 helyett 19-20-on, hoszszúkarddal 19-20\n' +
|
||||
'kritikus sebesülést, tehát pl. csatabárddal 20 helyett 19-20-on, hosszúkarddal 19-20\n' +
|
||||
'helyett 18-20-on, szablyával 18-20 helyett 17-20-on, stb. Ez a képesség 9. szintig\n' +
|
||||
'fegyverenként csak egyszer választható.'
|
||||
}]
|
||||
|
||||
@@ -1,28 +1,28 @@
|
||||
{
|
||||
"pajzs": [
|
||||
{
|
||||
"ID": "kis_fa",
|
||||
"Id": "kis_fa",
|
||||
"Name": "Kis fapajzs ",
|
||||
"Type": "pajzs",
|
||||
"VO": 1,
|
||||
"Price": 3
|
||||
},
|
||||
{
|
||||
"ID": "kis_fem",
|
||||
"Id": "kis_fem",
|
||||
"Name": "Kis fémpajzs ",
|
||||
"Type": "pajzs",
|
||||
"VO": 1,
|
||||
"Price": 9
|
||||
},
|
||||
{
|
||||
"ID": "nagy_fa",
|
||||
"Id": "nagy_fa",
|
||||
"Name": "Nagy fapajzs ",
|
||||
"Type": "pajzs",
|
||||
"VO": 2,
|
||||
"Price": 7
|
||||
},
|
||||
{
|
||||
"ID": "nagy_fem",
|
||||
"Id": "nagy_fem",
|
||||
"Name": "Nagy fémpajzs ",
|
||||
"Type": "pajzs",
|
||||
"VO": 2,
|
||||
|
||||
@@ -1,84 +1,84 @@
|
||||
{
|
||||
"pancel": [
|
||||
{
|
||||
"ID": "tomott",
|
||||
"Id": "tomott",
|
||||
"Name": "Tömött páncél",
|
||||
"Type": "konnyu",
|
||||
"VO": 1,
|
||||
"Price": 4
|
||||
},
|
||||
{
|
||||
"ID": "bor",
|
||||
"Id": "bor",
|
||||
"Name": "Bőrvért",
|
||||
"Type": "konnyu",
|
||||
"VO": 2,
|
||||
"Price": 5
|
||||
},
|
||||
{
|
||||
"ID": "kivert_bor",
|
||||
"Id": "kivert_bor",
|
||||
"Name": "Kivert bőrvért",
|
||||
"Type": "konnyu",
|
||||
"VO": 3,
|
||||
"Price": 15
|
||||
},
|
||||
{
|
||||
"ID": "gyuruvert",
|
||||
"Id": "gyuruvert",
|
||||
"Name": "Gyűrűvért",
|
||||
"Type": "konnyu",
|
||||
"VO": 3,
|
||||
"Price": 20
|
||||
},
|
||||
{
|
||||
"ID": "lancing",
|
||||
"Id": "lancing",
|
||||
"Name": "Láncing",
|
||||
"Type": "konnyu",
|
||||
"VO": 4,
|
||||
"Price": 50
|
||||
},
|
||||
{
|
||||
"ID": "pikkelyvert",
|
||||
"Id": "pikkelyvert",
|
||||
"Name": "Pikkelyvért",
|
||||
"Type": "kozepes",
|
||||
"VO": 4,
|
||||
"Price": 30
|
||||
},
|
||||
{
|
||||
"ID": "lancvert",
|
||||
"Id": "lancvert",
|
||||
"Name": "Láncvért",
|
||||
"Type": "kozepes",
|
||||
"VO": 5,
|
||||
"Price": 75
|
||||
},
|
||||
{
|
||||
"ID": "mellvert",
|
||||
"Id": "mellvert",
|
||||
"Name": "Mellvért",
|
||||
"Type": "kozepes",
|
||||
"VO": 5,
|
||||
"Price": 100
|
||||
},
|
||||
{
|
||||
"ID": "racsvert",
|
||||
"Id": "racsvert",
|
||||
"Name": "Rácsvért",
|
||||
"Type": "nehez",
|
||||
"VO": 6,
|
||||
"Price": 200
|
||||
},
|
||||
{
|
||||
"ID": "szalagvert",
|
||||
"Id": "szalagvert",
|
||||
"Name": "Szalagvért",
|
||||
"Type": "nehez",
|
||||
"VO": 6,
|
||||
"Price": 250
|
||||
},
|
||||
{
|
||||
"ID": "lemezvert",
|
||||
"Id": "lemezvert",
|
||||
"Name": "Lemezvért",
|
||||
"Type": "nehez",
|
||||
"VO": 7,
|
||||
"Price": 400
|
||||
},
|
||||
{
|
||||
"ID": "teljes_lemezvert",
|
||||
"Id": "teljes_lemezvert",
|
||||
"Name": "Teljes lemezvért",
|
||||
"Type": "nehez",
|
||||
"VO": 8,
|
||||
|
||||
@@ -71,7 +71,7 @@ export function KarakterInputToPdfView(karakter: KarakterInputs): KarakterPdfVie
|
||||
const VarazslatMentokNF = CalculateVarazslatMentokNF(karakter)
|
||||
const fegyverek = GetFegyverek(karakter.felszereles.fegyverIDk)
|
||||
|
||||
const felszereles = [ pancel?.Name, pajzs?.Name, ...fegyverek.filter(f => f.ID !== 'okol').map(f => f.Name.includes('és') ? f.Name.split(' ')[0] : f.Name) ].filter(x => !!x) as string[]
|
||||
const felszereles = [ pancel?.Name, pajzs?.Name, ...fegyverek.filter(f => f.Id !== 'okol').map(f => f.Name.includes('és') ? f.Name.split(' ')[0] : f.Name) ].filter(x => !!x) as string[]
|
||||
|
||||
return {
|
||||
Faj: FajLabel(karakter.faj),
|
||||
|
||||
Reference in New Issue
Block a user