parse spells

This commit is contained in:
2024-07-16 21:27:15 +02:00
parent dcc9b16878
commit d8775af371
5 changed files with 7719 additions and 1534 deletions
+1 -1
View File
@@ -8,7 +8,7 @@ services:
POSTGRES_PASSWORD: "kemkas-dev42" POSTGRES_PASSWORD: "kemkas-dev42"
backend: backend:
image: registry.digitalocean.com/kemkas/kemkas-be:ebe5c333 image: registry.digitalocean.com/kemkas/kemkas-be:e0a2e489
ports: ports:
- "8080:8080" - "8080:8080"
environment: environment:
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -8,6 +8,7 @@ import {Szintlepes} from "./szintlepes";
import {AllowedFegyver} from "./allowed-fegyver"; import {AllowedFegyver} from "./allowed-fegyver";
import {BaseHP} from "./masodlagos_ertekek"; import {BaseHP} from "./masodlagos_ertekek";
import {dAny} from "../../shared/domain-models/kockak"; import {dAny} from "../../shared/domain-models/kockak";
import {Varazslat} from "./varazslat";
export interface Karakter2E { export interface Karakter2E {
id?: string, id?: string,
@@ -24,7 +25,9 @@ export interface Karakter2E {
tolvajKepzettsegek?: KepzettsegId[] tolvajKepzettsegek?: KepzettsegId[]
szint: number, szint: number,
felszereles: KarakterFelszereles, felszereles: KarakterFelszereles,
szintlepesek: Szintlepes[] szintlepesek: Szintlepes[],
ismertVarazslatok: Varazslat[],
memorizaltVarazslatok: Varazslat[],
} }
export const DefaultKarakter: Karakter2E = { export const DefaultKarakter: Karakter2E = {
@@ -45,7 +48,9 @@ export const DefaultKarakter: Karakter2E = {
szintlepesek: [{ szintlepesek: [{
osztaly: Osztaly2E.Tengeresz, osztaly: Osztaly2E.Tengeresz,
HProll: 10, HProll: 10,
}] }],
ismertVarazslatok: [],
memorizaltVarazslatok: []
} }
function setOsztalyForSzintLepes(szintlepesek: Szintlepes[], osztaly: Osztaly2E, szint: number): Szintlepes[] { function setOsztalyForSzintLepes(szintlepesek: Szintlepes[], osztaly: Osztaly2E, szint: number): Szintlepes[] {
@@ -0,0 +1,72 @@
import {Osztaly2E} from "./osztaly2E";
import spells from "../data/spells.json";
export interface Cantrip {
szint: 0,
id: string,
nev: string,
leiras: string,
megfordithato: boolean,
variabilis: boolean,
komponens?: string,
opcionalis_komponens?: string,
}
export interface MagasabbSzintuVarazslat {
szint: 1 | 2 | 3 | 4 | 5,
id: string,
d100_start: number,
d100_end: number,
nev: string,
leiras: string,
megfordithato: boolean,
variabilis: boolean,
komponens?: string,
opcionalis_komponens?: string,
}
export type Varazslat = Cantrip | MagasabbSzintuVarazslat;
export interface OsztalyCantrip extends Cantrip {
Osztaly2E: Osztaly2E
}
export interface OsztalySzintVarazslat extends MagasabbSzintuVarazslat {
Osztaly2E: Osztaly2E
}
export type OsztalyVarazslat = OsztalyCantrip | OsztalySzintVarazslat;
export function GetCantrips(osztaly: Osztaly2E): Cantrip[] {
switch (osztaly) {
case Osztaly2E.Pap:
return spells.pap.tomor.filter(x => x.szint === 0).map(x => x as Cantrip)
case Osztaly2E.Dalnok:
return spells.dalnok.tomor.filter(x => x.szint === 0).map(x => x as Cantrip)
case Osztaly2E.Druida:
return spells.druida.tomor.filter(x => x.szint === 0).map(x => x as Cantrip)
case Osztaly2E.Varazslo:
return spells.varazslo.tomor.filter(x => x.szint === 0).map(x => x as Cantrip)
case Osztaly2E.Illuzionista:
return spells.illuzionista.tomor.filter(x => x.szint === 0).map(x => x as Cantrip)
default:
return []
}
}
export function GetLeveledSpells(osztaly: Osztaly2E): MagasabbSzintuVarazslat[] {
switch (osztaly) {
case Osztaly2E.Pap:
return spells.pap.tomor.filter(x => x.szint > 0).map(x => x as MagasabbSzintuVarazslat)
case Osztaly2E.Dalnok:
return spells.dalnok.tomor.filter(x => x.szint > 0).map(x => x as MagasabbSzintuVarazslat)
case Osztaly2E.Druida:
return spells.druida.tomor.filter(x => x.szint > 0).map(x => x as MagasabbSzintuVarazslat)
case Osztaly2E.Varazslo:
return spells.varazslo.tomor.filter(x => x.szint > 0).map(x => x as MagasabbSzintuVarazslat)
case Osztaly2E.Illuzionista:
return spells.illuzionista.tomor.filter(x => x.szint > 0).map(x => x as MagasabbSzintuVarazslat)
default:
return []
}
}