bugfix: effective faji tulajdonsag modositok

This commit is contained in:
2023-09-24 09:04:12 +02:00
parent df283ed196
commit 5008629d87
6 changed files with 45 additions and 23 deletions
+5 -3
View File
@@ -1,6 +1,6 @@
import {Faj} from "./faj";
import {Osztaly} from "./osztaly";
import {KarakterTulajdonsagok, TulajdonsagDefaults} from "./tulajdonsag";
import {KarakterTulajdonsagok, Tulajdonsag, TulajdonsagDefaults} from "./tulajdonsag";
import {KepzettsegId} from "./kepzettsegek";
export interface KarakterInputs {
@@ -14,7 +14,8 @@ export interface KarakterInputs {
kepzettsegek: KepzettsegId[],
tolvajKepzettsegek?: KepzettsegId[]
szint: number
HProlls: number[],
hpRolls: number[],
tulajdonsagNovekedes: Tulajdonsag[],
}
export const KarakterDefaults: KarakterInputs = {
@@ -25,6 +26,7 @@ export const KarakterDefaults: KarakterInputs = {
osztaly: Osztaly.Harcos,
kepzettsegek: [],
szint: 1,
HProlls: [],
hpRolls: [],
tulajdonsagNovekedes: []
}
+3 -3
View File
@@ -12,7 +12,7 @@ export interface MasodlagosErtekekView {
Mentok: Mentok
}
export type KarakterpickForMasodlagosErtekek = Pick<KarakterInputs, 'osztaly' | 'HProlls' | 'tulajdonsagok' | 'szint'>
export type KarakterpickForMasodlagosErtekek = Pick<KarakterInputs, 'osztaly' | 'hpRolls' | 'tulajdonsagok' | 'szint'>
export function BaseHP(osztaly: Osztaly) {
let base = 4;
@@ -40,9 +40,9 @@ export function BaseHP(osztaly: Osztaly) {
return base
}
export function HP(karakter: Pick<KarakterInputs, 'osztaly' | 'tulajdonsagok' | 'HProlls'>): number {
export function HP(karakter: Pick<KarakterInputs, 'osztaly' | 'tulajdonsagok' | 'hpRolls'>): number {
const egeszsegModifier = Modifier(karakter.tulajdonsagok.t_egs)
return BaseHP(karakter.osztaly) + egeszsegModifier + karakter.HProlls
return BaseHP(karakter.osztaly) + egeszsegModifier + karakter.hpRolls
// https://lfg.hu/forum/topic/15079-kard-es-magia/page/219/#comment-2218333
.map(hp => Math.max(1, hp + egeszsegModifier))
.reduce((sum, val) => sum + val, 0)
+20 -2
View File
@@ -131,6 +131,24 @@ export function TulajdonsagModositokFajokra(tul: Tulajdonsag) {
return (faj: Faj) => tulajdonsagModositokPerFaj(tul, faj);
}
export function FajiTulajdonsagModositok(faj: Faj) {
return (tul: Tulajdonsag) => tulajdonsagModositokPerFaj(tul, faj)
export function FajiTulajdonsagModositok(faj: Faj) : KarakterTulajdonsagok {
return {
[Tulajdonsag.Ero]: tulajdonsagModositokPerFaj(Tulajdonsag.Ero, faj),
[Tulajdonsag.Ugyesseg]: tulajdonsagModositokPerFaj(Tulajdonsag.Ugyesseg, faj),
[Tulajdonsag.Egeszseg]: tulajdonsagModositokPerFaj(Tulajdonsag.Egeszseg, faj),
[Tulajdonsag.Intelligencia]: tulajdonsagModositokPerFaj(Tulajdonsag.Intelligencia, faj),
[Tulajdonsag.Bolcsesseg]: tulajdonsagModositokPerFaj(Tulajdonsag.Bolcsesseg, faj),
[Tulajdonsag.Karizma]: tulajdonsagModositokPerFaj(Tulajdonsag.Karizma, faj),
}
}
export function TulajdonsagokFajjal(tulajdonsagok: KarakterTulajdonsagok, faj: Faj): KarakterTulajdonsagok {
return {
[Tulajdonsag.Ero]: tulajdonsagok.t_ero + tulajdonsagModositokPerFaj(Tulajdonsag.Ero, faj),
[Tulajdonsag.Ugyesseg]: tulajdonsagok.t_ugy + tulajdonsagModositokPerFaj(Tulajdonsag.Ugyesseg, faj),
[Tulajdonsag.Egeszseg]: tulajdonsagok.t_egs + tulajdonsagModositokPerFaj(Tulajdonsag.Egeszseg, faj),
[Tulajdonsag.Intelligencia]: tulajdonsagok.t_int + tulajdonsagModositokPerFaj(Tulajdonsag.Intelligencia, faj),
[Tulajdonsag.Bolcsesseg]: tulajdonsagok.t_bol + tulajdonsagModositokPerFaj(Tulajdonsag.Bolcsesseg, faj),
[Tulajdonsag.Karizma]: tulajdonsagok.t_kar + tulajdonsagModositokPerFaj(Tulajdonsag.Karizma, faj),
}
}