[fe] [2e] add basic szintlepes
This commit is contained in:
@@ -4,6 +4,10 @@ import {Osztaly2E} from "./osztaly2E";
|
||||
import {KepzettsegId} from "./kepzettsegek2E";
|
||||
import {JellemID} from "./jellem";
|
||||
import {DefaultFelszereles, KarakterFelszereles} from "./felszereles";
|
||||
import {Szintlepes} from "./szintlepes";
|
||||
import {AllowedFegyver} from "./allowed-fegyver";
|
||||
import {BaseHP} from "./masodlagos_ertekek";
|
||||
import {dAny} from "../../shared/domain-models/kockak";
|
||||
|
||||
export interface Karakter2E {
|
||||
name: string,
|
||||
@@ -14,13 +18,11 @@ export interface Karakter2E {
|
||||
tulajdonsagok: KarakterTulajdonsagok
|
||||
faj: Faj2E
|
||||
osztaly: Osztaly2E
|
||||
harcosSpecializaciok: string[],
|
||||
kalozKritikus: string[],
|
||||
kepzettsegek: KepzettsegId[]
|
||||
tolvajKepzettsegek?: KepzettsegId[]
|
||||
szint: number,
|
||||
hpRolls: number[]
|
||||
felszereles: KarakterFelszereles,
|
||||
szintlepesek: Szintlepes[]
|
||||
}
|
||||
|
||||
export const DefaultKarakter: Karakter2E = {
|
||||
@@ -30,11 +32,44 @@ export const DefaultKarakter: Karakter2E = {
|
||||
tulajdonsagok: TulajdonsagDefaults,
|
||||
faj: Faj2E.Ember,
|
||||
osztaly: Osztaly2E.Tengeresz,
|
||||
harcosSpecializaciok: [],
|
||||
kalozKritikus: [],
|
||||
kepzettsegek: [],
|
||||
tolvajKepzettsegek: [],
|
||||
szint: 1,
|
||||
hpRolls: [],
|
||||
felszereles: DefaultFelszereles,
|
||||
}
|
||||
szintlepesek: [{
|
||||
osztaly: Osztaly2E.Tengeresz,
|
||||
HProll: 10,
|
||||
}]
|
||||
}
|
||||
|
||||
function setOsztalyForSzintLepes(szintlepes: Szintlepes, osztaly: Osztaly2E, szint: number): Szintlepes {
|
||||
const base : Szintlepes = {
|
||||
...szintlepes,
|
||||
osztaly,
|
||||
harcosFegyver: undefined,
|
||||
kalozKritikus: undefined
|
||||
}
|
||||
|
||||
if (osztaly === Osztaly2E.Harcos && szint % 2 === 1) {
|
||||
base.harcosFegyver = AllowedFegyver(Osztaly2E.Harcos)[szint].Id
|
||||
}
|
||||
if (osztaly === Osztaly2E.Tengeresz && szint % 3 === 0) {
|
||||
base.kalozKritikus = AllowedFegyver(Osztaly2E.Tengeresz)[szint].Id
|
||||
}
|
||||
const HD = BaseHP(osztaly)
|
||||
if (szint === 1) {
|
||||
base.HProll = HD
|
||||
} else {
|
||||
base.HProll = dAny(HD)
|
||||
console.log(`Level ${szint} HP roll on d${HD} is: ${base.HProll} due to class change`)
|
||||
}
|
||||
return base
|
||||
}
|
||||
|
||||
export function ChangeLvl1Osztaly(karakter: Karakter2E, osztaly: Osztaly2E): Karakter2E {
|
||||
return {
|
||||
...karakter,
|
||||
osztaly,
|
||||
szintlepesek: karakter.szintlepesek.map((l, idx) => setOsztalyForSzintLepes(l, osztaly, idx +1))
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user