Files
kemkas-gh-mirror/Kemkas.Web/frontend/src/first-edition/domain-models/tamadas_bonusz.ts
T
morbalint d56d7c9899 WIP 2e
so far: faj2E, osztaly2E, kepzettsegek2E (with some bugs)
2024-01-19 10:00:33 +01:00

42 lines
1.6 KiB
TypeScript

import {Osztaly} from "./osztaly";
import TamadasBonuszTabla from "./tamadas_bonus_tabla.json";
import {KarakterInputs} from "./karakter";
import {Modifier} from "./tulajdonsag";
export function TamadasBonusz(osztaly: Osztaly, szint: number = 1) : number[] {
let base = []
switch (osztaly){
case Osztaly.Barbar:
case Osztaly.Amazon:
case Osztaly.Ijasz:
case Osztaly.Kaloz:
case Osztaly.Harcos:
base = TamadasBonuszTabla['elsodleges'];
break;
case Osztaly.Pap:
case Osztaly.Tolvaj:
base = TamadasBonuszTabla['ketharmados'];
break;
case Osztaly.Varazslo:
case Osztaly.Illuzionista:
base = TamadasBonuszTabla['feles'];
break;
}
return [...base[szint-1]]
}
export function KozelharciTB(karakter : Pick<KarakterInputs, 'szint' | 'tulajdonsagok' | 'osztaly'>): number[] {
const base = TamadasBonusz(karakter.osztaly, karakter.szint);
let modifier = Modifier(karakter.tulajdonsagok.t_ero)
if (karakter.osztaly === Osztaly.Kaloz && karakter.tulajdonsagok.t_ugy > karakter.tulajdonsagok.t_ero) {
modifier = Modifier(karakter.tulajdonsagok.t_ugy)
}
return base.map(v => v + modifier)
}
export function CelzoTB(karakter : Pick<KarakterInputs, 'szint' | 'tulajdonsagok' | 'osztaly'>): number[] {
let base = TamadasBonusz(karakter.osztaly, karakter.szint)
if (karakter.osztaly === Osztaly.Ijasz) {
base = [base[0], ...base]
}
return base.map(v => v + Modifier(karakter.tulajdonsagok.t_ugy))
}