refactor kepzettsegek files

This commit is contained in:
2024-05-17 19:56:51 +02:00
parent 0ea7853437
commit a7c692c0ba
10 changed files with 231 additions and 219 deletions
@@ -3,10 +3,12 @@ import KepzettsegSelector from "../display-components/KepzettsegSelector2E";
import {
GetKepzettsegListaN,
GetNumberOfKepzettsegek, GetTolvajKepzettsegListaN,
} from "../domain-models/kepzettsegek2E";
import {
Kepzettseg,
Kepzettsegek,
KepzettsegId,
} from "../domain-models/kepzettsegek2E";
} from "../domain-models/kepzettsegek2E.data"
import {arraySetN} from "../../util";
import {useDispatch, useSelector} from "react-redux";
import {AppDispatch, RootState} from "../../store";
@@ -11,7 +11,8 @@ import HarcosFegyverSpecializacio from "./HarcosFegyverSpec";
import MultiClassOsztalySelector2E from "./MultiClassOsztalySelector2E";
import {getClassLevels} from "../domain-models/szintlepes";
import KepzettsegSelector from "../display-components/KepzettsegSelector2E";
import {GetAvailableKepzettsegek, Kepzettsegek, KepzettsegId} from "../domain-models/kepzettsegek2E";
import {GetAvailableKepzettsegek} from "../domain-models/kepzettsegek2E";
import { Kepzettsegek, KepzettsegId } from "../domain-models/kepzettsegek2E.data"
function LevelUp(props: {
szint: number,
@@ -1,5 +1,5 @@
import React from "react";
import {Kepzettseg, KepzettsegId} from "../domain-models/kepzettsegek2E";
import {Kepzettseg, KepzettsegId} from "../domain-models/kepzettsegek2E.data";
import {TulajdonsagLabel} from "../domain-models/tulajdonsag2E";
import {OsztalyLabel} from "../domain-models/osztaly2E";
@@ -7,9 +7,11 @@ import {Osztaly2E} from "./osztaly2E";
import {arraySetN} from "../../util";
import {
AdjustKepzettsegek,
KepzettsegId,
SetDefaultTolvajKepzettsegek
} from "./kepzettsegek2E";
import {
KepzettsegId,
} from "./kepzettsegek2E.data"
import {BaseHP} from "./masodlagos_ertekek";
import {KarakterFelszereles} from "./felszereles";
@@ -1,7 +1,7 @@
import {KarakterTulajdonsagok, TulajdonsagDefaults} from "./tulajdonsag2E";
import {Faj2E} from "./faj2E";
import {Osztaly2E} from "./osztaly2E";
import {KepzettsegId} from "./kepzettsegek2E";
import {KepzettsegId} from "./kepzettsegek2E.data";
import {JellemID} from "./jellem";
import {DefaultFelszereles, KarakterFelszereles} from "./felszereles";
import {Szintlepes} from "./szintlepes";
@@ -0,0 +1,208 @@
import {Tulajdonsag2E} from "./tulajdonsag2E";
import {Osztaly2E} from "./osztaly2E";
export type KepzettsegId = 'k_alkimia' | 'k_alcazas' | 'k_allatidomitas' | 'k_csapdak' | 'k_csillagjoslas' | 'k_egyensulyozas' | 'k_eloadas' | 'k_ertekbecsles' | 'k_gyogyitas' | 'k_hajozas' | 'k_hallgatozas' | 'k_hamisitas' | 'k_herbalizmus' | 'k_historia' | 'k_jelek_olvasasa' | 'k_lovaglas' | 'k_maszas' | 'k_megfigyeles' | 'k_meregkeveres' | 'k_mesterseg' | 'k_nyomkereses' | 'k_okkultizmus' | 'k_osonas' | 'k_szabadulomuveszet' | 'k_ugras' | 'k_uszas' | 'k_vadonjaras' | 'k_zarnyitas' | 'k_zsebmetszes'
export interface Kepzettseg {
Id: KepzettsegId,
Name: string,
Description: string,
Tulajdonsag: Tulajdonsag2E[],
Osztalyok?: Osztaly2E[],
}
export const KepzettsegLista: Kepzettseg[] = [
{
Id: 'k_alkimia',
Name: 'Alkímia',
Description: 'Különféle különleges anyagok, pl. savak, görögtűz,és különböző varázskomponensek kikeverésére szolgál. Használatához gyakran jól felszerelt laboratórium szükséges. A képzettséggel a karakter képes beazonosítani a különféle vegyi anyagokat és mérgeket, Nehéz próbával a varázsitalokat is',
Tulajdonsag: [Tulajdonsag2E.Intelligencia],
Osztalyok: [Osztaly2E.Druida, Osztaly2E.Illuzionista, Osztaly2E.Pap, Osztaly2E.Varazslo, Osztaly2E.Vandor]
},
{
Id: 'k_alcazas',
Name: 'Álcázás',
Description: 'Álöltözetek készítése és használata. Próbadobást akkor kell dobni, ha az álca hitelességét valaki kétségbe vonhatja (általában ellenpróbaként; az eredményt gyakran csak a mesélő ismerheti)',
Tulajdonsag: [Tulajdonsag2E.Karizma],
Osztalyok: [Osztaly2E.Tolvaj],
},
{
Id: 'k_allatidomitas',
Name: 'Állatidomítás',
Description: 'Állatok megszelídítésére és betanítására szolgál. A járatos karakter próbát tehet arra is, hogy a különféle vadállatok ne tekintsék ellenségüknek vagy prédájuknak',
Tulajdonsag: [Tulajdonsag2E.Karizma],
},
{
Id: 'k_csapdak',
Name: 'Csapdák',
Description: 'A karakter a rendelkezésre álló idő és alapanyagok függvényében szimpla vagy komplex csapdákat készíthet. A képzettség arra is jó, hogy hatástalanítsa, tönkretegye, vagy elkerülje ezeket a szerkezeteket. Ha egy csapda eltávolítására tett próba sikertelen, az kisülhet és veszélybe sodorhatja az óvatlan próbálkozót.',
Tulajdonsag: [Tulajdonsag2E.Ugyesseg],
Osztalyok: [Osztaly2E.Tolvaj],
},
{
Id: 'k_csillagjoslas',
Name: 'Csillagjóslás',
Description: 'A karakter a képzettséggel egyrészt képes meghatározni a csapat hozzávetőleges pozícióját a térképen (hexek vagy tájegység szerint), másrészt egyszerűbb jóslatokat készíthet. A jóslat sikertelen próbánál értelmezhetetlen, Közepes nehézségnél homályos, Nehéz próbánál többértelmű, Hősies próbánál pedig világos és jól értelmezhető. Egyetlen jóslat sem tárja fel a pontos jövőt, csak segítséget vagy jelet ad annak értelmezéséhez. A képzettséget csak tiszta, csillagos égbolt alatt vagy ritka asztrológiai térképek birtokában lehet használni (ezek ára 2000 at vagy több, és így is -2 jár a próbára).',
Tulajdonsag: [Tulajdonsag2E.Bolcsesseg],
Osztalyok: [Osztaly2E.Druida, Osztaly2E.Illuzionista, Osztaly2E.Pap, Osztaly2E.Varazslo, Osztaly2E.Vandor]
},
{
Id: 'k_egyensulyozas',
Name: 'Egyensúlyozás',
Description: 'Omlatag talajon, kötélen vagy keskeny párkányon való átjutáshoz szükséges képzettség. Ha a próba sikertelen, a karakter lezuhan.',
Tulajdonsag: [Tulajdonsag2E.Ugyesseg],
Osztalyok: [Osztaly2E.Tolvaj],
},
{
Id: 'k_eloadas',
Name: 'Előadás',
Description: 'A képzettséggel rendelkező karakter járatos a hangszerek használatában, éneklésben, eposzmondásban, stb.',
Tulajdonsag: [Tulajdonsag2E.Karizma],
},
{
Id: 'k_ertekbecsles',
Name: 'Értékbecslés',
Description: 'Sikeres próba esetén a karakter hozzávetőlegesen felméri egy tárgy pénzbeli értékét, és Nehéz vagy jobb próbán kiszúrja a hamisítványokat.',
Tulajdonsag: [Tulajdonsag2E.Intelligencia],
},
{
Id: 'k_gyogyitas',
Name: 'Gyógyítás',
Description: 'A sebek bekötözésének, mérgek és betegségek semlegesítésének vagy enyhítésének tudománya. Harc vagy más sérülés után alkalmazva a bekötözött karakter siker esetén visszanyer 1d4 elvesztett Hp-t, Nehéz próba megdobása esetén 1d4+2-t, Hősies esetén pedig 1d4+4-et. 1-es dobáson 1d4 pontot veszít. A képzettség hatékony alkalmazásához egy adag gyógyfű vagy egy orvosló készlet szükséges; nélkülük legfeljebb 1d4 Hp adható vissza.',
Tulajdonsag: [Tulajdonsag2E.Bolcsesseg],
},
{
Id: 'k_hajozas',
Name: 'Hajózás',
Description: 'A karakter ismeri a hajózás fogásait, tehát elkormányoz kisebb vitorlásokat vagy gályákat, tudja hogyan kell elkerülni a zátonyokat és épen kikerülni egy viharból, képes javításokat végezni stb.',
Tulajdonsag: [Tulajdonsag2E.Ugyesseg],
},
{
Id: 'k_hallgatozas',
Name: 'Hallgatózás',
Description: 'Nehezen hallható zajok, beszéd meghallása és kihallgatása.',
Tulajdonsag: [Tulajdonsag2E.Bolcsesseg],
},
{
Id: 'k_hamisitas',
Name: 'Hamisítás',
Description: 'A képzettséggel néhány óra vagy nap munkájával hamis pénz, iratok, pecsétek és értéktárgyak készíthetők. Ellenpróbát akkor kell dobni, ha a hamisítvány hitelességét valaki kétségbe vonná.',
Tulajdonsag: [Tulajdonsag2E.Intelligencia],
Osztalyok: [Osztaly2E.Tolvaj],
},
{
Id: 'k_herbalizmus',
Name: 'Herbalizmus',
Description: 'A képzettség sikeres alkalmazásával (Közepes, Nehéz és Hősies eredménnyel) 1d3 / 1d3+1 / 1d3+2 adag, a Gyógyítás vagy Méregkeverés képzettséghez hasznos fű gyűjthető össze, az utóbbinál -2, terméketlen vidékeken -3 módosítóval. Utazás közben naponta egy, táborozva két próba dobható.',
Tulajdonsag: [Tulajdonsag2E.Bolcsesseg],
},
{
Id: 'k_historia',
Name: 'História',
Description: 'A karakter ismeri a történetírók munkáit vagy a szóhagyományt. Az ismeretek mértékét és pontosságát a képzettségpróba eredménye mutatja. Természetesen gyakran vannak olyan helyezetek, amikor a képzettség nem ad használható ismeretet.',
Tulajdonsag: [Tulajdonsag2E.Intelligencia],
},
{
Id: 'k_jelek_olvasasa',
Name: 'Jelek Olvasása',
Description: 'A képzettséggel a karakter el tud olvasni más nyelven írt írásokat és feliratokat.',
Tulajdonsag: [Tulajdonsag2E.Intelligencia],
Osztalyok: [Osztaly2E.Druida, Osztaly2E.Illuzionista, Osztaly2E.Pap, Osztaly2E.Varazslo, Osztaly2E.Vandor, Osztaly2E.Tolvaj]
},
{
Id: 'k_lovaglas',
Name: 'Lovaglás',
Description: 'A karakter kiemelkedően jól ért a lovagláshoz; harcban és nehéz helyzetekben is csodákra képes sarkallni hátasát.',
Tulajdonsag: [Tulajdonsag2E.Ugyesseg],
},
{
Id: 'k_maszas',
Name: 'Mászás',
Description: 'A képzettség olyan falakra való felmászásra alkalmas, ami egy átlagembernek komol gondot jelentene. Sikertelen próba esetén a karakter lezuhan, vagy a feladat meghaladja a képességeit.',
Tulajdonsag: [Tulajdonsag2E.Ero],
},
{
Id: 'k_megfigyeles',
Name: 'Megfigyelés',
Description: 'A karakter észreveszi a szabad szemmel látható veszélyforrásokat, a rá leselkedő támadókat, és a csak az avatott megfigyelő számára látható részleteket. (A szobák átkutatásához vagy pl. titkosajtók megtalálásához azonban nem szükséges ez a képzettség.)',
Tulajdonsag: [Tulajdonsag2E.Bolcsesseg],
},
{
Id: 'k_meregkeveres',
Name: 'Méregkeverés',
Description: 'A megfelelő eszközök és alapanyagok birtokában különféle mérgek készíthetők. Sikertelen próbadobás esetén a keverék hatástalan, és a méregkeverő 1:6 eséllyel veszélybe sodorja önmagát.',
Tulajdonsag: [Tulajdonsag2E.Intelligencia],
Osztalyok: [Osztaly2E.Tolvaj],
},
{
Id: 'k_mesterseg',
Name: 'Mesterség',
Description: 'A karakter járatos egy kiválasztott mesterségben pl. kovácsolás, adószedés vagy építészet. A kézügyességet igénylő mesterségekhez Ügyesség, a szellemi foglalkozásokhoz Intelligencia szükséges.',
Tulajdonsag: [Tulajdonsag2E.Intelligencia, Tulajdonsag2E.Ugyesseg],
},
{
Id: 'k_nyomkereses',
Name: 'Nyomkeresés',
Description: 'A karakter képes a nyomok követésére és hozzávetőleges azonosítására, vagyis megtudhatja, milyen régiek, miféle szerzet hagyta őket, milyen gyorsan haladt a nyomokat hagyó stb.',
Tulajdonsag: [Tulajdonsag2E.Bolcsesseg],
},
{
Id: 'k_okkultizmus',
Name: 'Okkultizmus',
Description: 'A képzettség a mágikus tanok elméleti és gyakorlati ismeretét jelenti. Számos hasznán belül a karakter Közepes próbával azonosíthatja az elmondás alatt álló varázslatokat, Nehéz próbával pedig a mágikus effektusokat és csapdákat.',
Tulajdonsag: [Tulajdonsag2E.Intelligencia],
Osztalyok: [Osztaly2E.Druida, Osztaly2E.Illuzionista, Osztaly2E.Pap, Osztaly2E.Varazslo, Osztaly2E.Vandor]
},
{
Id: 'k_osonas',
Name: 'Osonás',
Description: 'Csöndes és gyors mozgást tesz lehetővé, s azt, hogy a karakter elrejtőzzön a figyelmes tekintetek elől nagy szakértelemmel akár sötét sarkokban vagy árnyékokban is. Nehéz próba megdobásával az aktívan nem figyelő ellenfelek nem is dobhatnak ellenpróbát a felfedésére, Hősies próba esetén a karakter gyakorlatilag „mintha ott sem lenne”.',
Tulajdonsag: [Tulajdonsag2E.Ugyesseg],
},
{
Id: 'k_szabadulomuveszet',
Name: 'Szabadulóművészet',
Description: 'A karakter képes kiszabadulni kötelékeiből és láncaiból, és ami még fontosabb, ellenségei gyűrűjéből (lásd harcrendszer).',
Tulajdonsag: [Tulajdonsag2E.Ugyesseg],
Osztalyok: [Osztaly2E.Tolvaj],
},
{
Id: 'k_ugras',
Name: 'Ugrás',
Description: 'A karakter képes átugrani szélesebb vagy magasabb akadályokat is, és tompíthatja az esésből származó sebesüléseket (sikeres próbával egy kocka, Nehéz próbával kettő, Hősiessel három). Ha a próba sikertelen, a karakter lezuhan.',
Tulajdonsag: [Tulajdonsag2E.Ero],
},
{
Id: 'k_uszas',
Name: 'Úszás',
Description: 'A karakter jól tud úszni, akár nehéz körülmények között (zajló vízben, megterhelten stb.) is képes a felszínen maradni.',
Tulajdonsag: [Tulajdonsag2E.Ero],
},
{
Id: 'k_vadonjaras',
Name: 'Vadonjárás',
Description: 'A képzettség segít a vadonbeli megélhetésben, tájékozódásban és túlélésben. Sikeres képzettségpróbával (Közepes, Nehéz és Hősies nehézség megdobása esetén) 1d3 / 1d3+2 / 1d3+4 adag élelmet eredményez, terméketlen vidékeken az utóbbi dobásra -3 módosítóval. Utazás közben naponta egy, táborozva két próba dobható. A képzettség segít abban is, hogy a csapat ne tévedjen el a sűrű erdőkben, kietlen sivatagokban vagy zegzugos szurdokvölgyekben. Végül a képzettségpróba sikere befolyásolja, hogy milyen táborhelyet sikerül találni a vadonban: ha a mesélő máshogy nem határoz, sikeres próbával kettőre, Nehéz próbával egyre csökkenti, Hősies próbával teljesen elkerüli az éjszakai találkozási esélyeket.',
Tulajdonsag: [Tulajdonsag2E.Bolcsesseg],
},
{
Id: 'k_zarnyitas',
Name: 'Zárnyitás',
Description: 'Tolvajszerszámok segítségével a karakter felnyithatja a különféle mechanikus zárakat. Sikertelen próba esetén nem képes az adott zár felnyitására egészen addig, amíg új tapasztalatokat nem szerez (vagyis a következő szintlépéséig).',
Tulajdonsag: [Tulajdonsag2E.Ugyesseg],
Osztalyok: [Osztaly2E.Tolvaj],
},
{
Id: 'k_zsebmetszes',
Name: 'Zsebmetszés',
Description: 'Őrizetlenül hagyott vagy övön, zsebben található kisebb tárgyak észrevétlen eltulajdonítása. Ha a próba sikertelen, a karaktert észreveszik vagy legalábbis gyanút kelt. Másféle, kézügyességet igénylő fogásokra is alkalmas.',
Tulajdonsag: [Tulajdonsag2E.Ugyesseg],
Osztalyok: [Osztaly2E.Tolvaj],
},
]
export const TolvajKepzettsegList = KepzettsegLista.filter(x => x.Osztalyok?.includes(Osztaly2E.Tolvaj))
export const Kepzettsegek: Record<KepzettsegId, Kepzettseg> =
KepzettsegLista.reduce(
(acc: Record<KepzettsegId, Kepzettseg>, k) => { acc[k.Id] = k; return acc; },
{} as Record<KepzettsegId, Kepzettseg>);
@@ -1,4 +1,5 @@
import {GetAvailableKepzettsegek, GetNumberOfKepzettsegek, Kepzettsegek, KepzettsegLista} from "./kepzettsegek2E";
import {GetAvailableKepzettsegek, GetNumberOfKepzettsegek} from "./kepzettsegek2E";
import { Kepzettsegek, KepzettsegLista } from './kepzettsegek2E.data'
import {Faj2E} from "./faj2E";
import {DefaultKarakter} from "./karakter2E";
import {Osztaly2E} from "./osztaly2E";
@@ -1,213 +1,8 @@
import {Osztaly2E} from "./osztaly2E";
import {Faj2E} from "./faj2E";
import {Karakter2E} from "./karakter2E";
import {Modifier, Tulajdonsag2E, TulajdonsagokTotal} from "./tulajdonsag2E";
export type KepzettsegId = 'k_alkimia' | 'k_alcazas' | 'k_allatidomitas' | 'k_csapdak' | 'k_csillagjoslas' | 'k_egyensulyozas' | 'k_eloadas' | 'k_ertekbecsles' | 'k_gyogyitas' | 'k_hajozas' | 'k_hallgatozas' | 'k_hamisitas' | 'k_herbalizmus' | 'k_historia' | 'k_jelek_olvasasa' | 'k_lovaglas' | 'k_maszas' | 'k_megfigyeles' | 'k_meregkeveres' | 'k_mesterseg' | 'k_nyomkereses' | 'k_okkultizmus' | 'k_osonas' | 'k_szabadulomuveszet' | 'k_ugras' | 'k_uszas' | 'k_vadonjaras' | 'k_zarnyitas' | 'k_zsebmetszes'
export interface Kepzettseg {
Id: KepzettsegId,
Name: string,
Description: string,
Tulajdonsag: Tulajdonsag2E[],
Osztalyok?: Osztaly2E[],
}
export const KepzettsegLista: Kepzettseg[] = [
{
Id: 'k_alkimia',
Name: 'Alkímia',
Description: 'Különféle különleges anyagok, pl. savak, görögtűz,és különböző varázskomponensek kikeverésére szolgál. Használatához gyakran jól felszerelt laboratórium szükséges. A képzettséggel a karakter képes beazonosítani a különféle vegyi anyagokat és mérgeket, Nehéz próbával a varázsitalokat is',
Tulajdonsag: [Tulajdonsag2E.Intelligencia],
Osztalyok: [Osztaly2E.Druida, Osztaly2E.Illuzionista, Osztaly2E.Pap, Osztaly2E.Varazslo, Osztaly2E.Vandor]
},
{
Id: 'k_alcazas',
Name: 'Álcázás',
Description: 'Álöltözetek készítése és használata. Próbadobást akkor kell dobni, ha az álca hitelességét valaki kétségbe vonhatja (általában ellenpróbaként; az eredményt gyakran csak a mesélő ismerheti)',
Tulajdonsag: [Tulajdonsag2E.Karizma],
Osztalyok: [Osztaly2E.Tolvaj],
},
{
Id: 'k_allatidomitas',
Name: 'Állatidomítás',
Description: 'Állatok megszelídítésére és betanítására szolgál. A járatos karakter próbát tehet arra is, hogy a különféle vadállatok ne tekintsék ellenségüknek vagy prédájuknak',
Tulajdonsag: [Tulajdonsag2E.Karizma],
},
{
Id: 'k_csapdak',
Name: 'Csapdák',
Description: 'A karakter a rendelkezésre álló idő és alapanyagok függvényében szimpla vagy komplex csapdákat készíthet. A képzettség arra is jó, hogy hatástalanítsa, tönkretegye, vagy elkerülje ezeket a szerkezeteket. Ha egy csapda eltávolítására tett próba sikertelen, az kisülhet és veszélybe sodorhatja az óvatlan próbálkozót.',
Tulajdonsag: [Tulajdonsag2E.Ugyesseg],
Osztalyok: [Osztaly2E.Tolvaj],
},
{
Id: 'k_csillagjoslas',
Name: 'Csillagjóslás',
Description: 'A karakter a képzettséggel egyrészt képes meghatározni a csapat hozzávetőleges pozícióját a térképen (hexek vagy tájegység szerint), másrészt egyszerűbb jóslatokat készíthet. A jóslat sikertelen próbánál értelmezhetetlen, Közepes nehézségnél homályos, Nehéz próbánál többértelmű, Hősies próbánál pedig világos és jól értelmezhető. Egyetlen jóslat sem tárja fel a pontos jövőt, csak segítséget vagy jelet ad annak értelmezéséhez. A képzettséget csak tiszta, csillagos égbolt alatt vagy ritka asztrológiai térképek birtokában lehet használni (ezek ára 2000 at vagy több, és így is -2 jár a próbára).',
Tulajdonsag: [Tulajdonsag2E.Bolcsesseg],
Osztalyok: [Osztaly2E.Druida, Osztaly2E.Illuzionista, Osztaly2E.Pap, Osztaly2E.Varazslo, Osztaly2E.Vandor]
},
{
Id: 'k_egyensulyozas',
Name: 'Egyensúlyozás',
Description: 'Omlatag talajon, kötélen vagy keskeny párkányon való átjutáshoz szükséges képzettség. Ha a próba sikertelen, a karakter lezuhan.',
Tulajdonsag: [Tulajdonsag2E.Ugyesseg],
Osztalyok: [Osztaly2E.Tolvaj],
},
{
Id: 'k_eloadas',
Name: 'Előadás',
Description: 'A képzettséggel rendelkező karakter járatos a hangszerek használatában, éneklésben, eposzmondásban, stb.',
Tulajdonsag: [Tulajdonsag2E.Karizma],
},
{
Id: 'k_ertekbecsles',
Name: 'Értékbecslés',
Description: 'Sikeres próba esetén a karakter hozzávetőlegesen felméri egy tárgy pénzbeli értékét, és Nehéz vagy jobb próbán kiszúrja a hamisítványokat.',
Tulajdonsag: [Tulajdonsag2E.Intelligencia],
},
{
Id: 'k_gyogyitas',
Name: 'Gyógyítás',
Description: 'A sebek bekötözésének, mérgek és betegségek semlegesítésének vagy enyhítésének tudománya. Harc vagy más sérülés után alkalmazva a bekötözött karakter siker esetén visszanyer 1d4 elvesztett Hp-t, Nehéz próba megdobása esetén 1d4+2-t, Hősies esetén pedig 1d4+4-et. 1-es dobáson 1d4 pontot veszít. A képzettség hatékony alkalmazásához egy adag gyógyfű vagy egy orvosló készlet szükséges; nélkülük legfeljebb 1d4 Hp adható vissza.',
Tulajdonsag: [Tulajdonsag2E.Bolcsesseg],
},
{
Id: 'k_hajozas',
Name: 'Hajózás',
Description: 'A karakter ismeri a hajózás fogásait, tehát elkormányoz kisebb vitorlásokat vagy gályákat, tudja hogyan kell elkerülni a zátonyokat és épen kikerülni egy viharból, képes javításokat végezni stb.',
Tulajdonsag: [Tulajdonsag2E.Ugyesseg],
},
{
Id: 'k_hallgatozas',
Name: 'Hallgatózás',
Description: 'Nehezen hallható zajok, beszéd meghallása és kihallgatása.',
Tulajdonsag: [Tulajdonsag2E.Bolcsesseg],
},
{
Id: 'k_hamisitas',
Name: 'Hamisítás',
Description: 'A képzettséggel néhány óra vagy nap munkájával hamis pénz, iratok, pecsétek és értéktárgyak készíthetők. Ellenpróbát akkor kell dobni, ha a hamisítvány hitelességét valaki kétségbe vonná.',
Tulajdonsag: [Tulajdonsag2E.Intelligencia],
Osztalyok: [Osztaly2E.Tolvaj],
},
{
Id: 'k_herbalizmus',
Name: 'Herbalizmus',
Description: 'A képzettség sikeres alkalmazásával (Közepes, Nehéz és Hősies eredménnyel) 1d3 / 1d3+1 / 1d3+2 adag, a Gyógyítás vagy Méregkeverés képzettséghez hasznos fű gyűjthető össze, az utóbbinál -2, terméketlen vidékeken -3 módosítóval. Utazás közben naponta egy, táborozva két próba dobható.',
Tulajdonsag: [Tulajdonsag2E.Bolcsesseg],
},
{
Id: 'k_historia',
Name: 'História',
Description: 'A karakter ismeri a történetírók munkáit vagy a szóhagyományt. Az ismeretek mértékét és pontosságát a képzettségpróba eredménye mutatja. Természetesen gyakran vannak olyan helyezetek, amikor a képzettség nem ad használható ismeretet.',
Tulajdonsag: [Tulajdonsag2E.Intelligencia],
},
{
Id: 'k_jelek_olvasasa',
Name: 'Jelek Olvasása',
Description: 'A képzettséggel a karakter el tud olvasni más nyelven írt írásokat és feliratokat.',
Tulajdonsag: [Tulajdonsag2E.Intelligencia],
Osztalyok: [Osztaly2E.Druida, Osztaly2E.Illuzionista, Osztaly2E.Pap, Osztaly2E.Varazslo, Osztaly2E.Vandor, Osztaly2E.Tolvaj]
},
{
Id: 'k_lovaglas',
Name: 'Lovaglás',
Description: 'A karakter kiemelkedően jól ért a lovagláshoz; harcban és nehéz helyzetekben is csodákra képes sarkallni hátasát.',
Tulajdonsag: [Tulajdonsag2E.Ugyesseg],
},
{
Id: 'k_maszas',
Name: 'Mászás',
Description: 'A képzettség olyan falakra való felmászásra alkalmas, ami egy átlagembernek komol gondot jelentene. Sikertelen próba esetén a karakter lezuhan, vagy a feladat meghaladja a képességeit.',
Tulajdonsag: [Tulajdonsag2E.Ero],
},
{
Id: 'k_megfigyeles',
Name: 'Megfigyelés',
Description: 'A karakter észreveszi a szabad szemmel látható veszélyforrásokat, a rá leselkedő támadókat, és a csak az avatott megfigyelő számára látható részleteket. (A szobák átkutatásához vagy pl. titkosajtók megtalálásához azonban nem szükséges ez a képzettség.)',
Tulajdonsag: [Tulajdonsag2E.Bolcsesseg],
},
{
Id: 'k_meregkeveres',
Name: 'Méregkeverés',
Description: 'A megfelelő eszközök és alapanyagok birtokában különféle mérgek készíthetők. Sikertelen próbadobás esetén a keverék hatástalan, és a méregkeverő 1:6 eséllyel veszélybe sodorja önmagát.',
Tulajdonsag: [Tulajdonsag2E.Intelligencia],
Osztalyok: [Osztaly2E.Tolvaj],
},
{
Id: 'k_mesterseg',
Name: 'Mesterség',
Description: 'A karakter járatos egy kiválasztott mesterségben pl. kovácsolás, adószedés vagy építészet. A kézügyességet igénylő mesterségekhez Ügyesség, a szellemi foglalkozásokhoz Intelligencia szükséges.',
Tulajdonsag: [Tulajdonsag2E.Intelligencia, Tulajdonsag2E.Ugyesseg],
},
{
Id: 'k_nyomkereses',
Name: 'Nyomkeresés',
Description: 'A karakter képes a nyomok követésére és hozzávetőleges azonosítására, vagyis megtudhatja, milyen régiek, miféle szerzet hagyta őket, milyen gyorsan haladt a nyomokat hagyó stb.',
Tulajdonsag: [Tulajdonsag2E.Bolcsesseg],
},
{
Id: 'k_okkultizmus',
Name: 'Okkultizmus',
Description: 'A képzettség a mágikus tanok elméleti és gyakorlati ismeretét jelenti. Számos hasznán belül a karakter Közepes próbával azonosíthatja az elmondás alatt álló varázslatokat, Nehéz próbával pedig a mágikus effektusokat és csapdákat.',
Tulajdonsag: [Tulajdonsag2E.Intelligencia],
Osztalyok: [Osztaly2E.Druida, Osztaly2E.Illuzionista, Osztaly2E.Pap, Osztaly2E.Varazslo, Osztaly2E.Vandor]
},
{
Id: 'k_osonas',
Name: 'Osonás',
Description: 'Csöndes és gyors mozgást tesz lehetővé, s azt, hogy a karakter elrejtőzzön a figyelmes tekintetek elől nagy szakértelemmel akár sötét sarkokban vagy árnyékokban is. Nehéz próba megdobásával az aktívan nem figyelő ellenfelek nem is dobhatnak ellenpróbát a felfedésére, Hősies próba esetén a karakter gyakorlatilag „mintha ott sem lenne”.',
Tulajdonsag: [Tulajdonsag2E.Ugyesseg],
},
{
Id: 'k_szabadulomuveszet',
Name: 'Szabadulóművészet',
Description: 'A karakter képes kiszabadulni kötelékeiből és láncaiból, és ami még fontosabb, ellenségei gyűrűjéből (lásd harcrendszer).',
Tulajdonsag: [Tulajdonsag2E.Ugyesseg],
Osztalyok: [Osztaly2E.Tolvaj],
},
{
Id: 'k_ugras',
Name: 'Ugrás',
Description: 'A karakter képes átugrani szélesebb vagy magasabb akadályokat is, és tompíthatja az esésből származó sebesüléseket (sikeres próbával egy kocka, Nehéz próbával kettő, Hősiessel három). Ha a próba sikertelen, a karakter lezuhan.',
Tulajdonsag: [Tulajdonsag2E.Ero],
},
{
Id: 'k_uszas',
Name: 'Úszás',
Description: 'A karakter jól tud úszni, akár nehéz körülmények között (zajló vízben, megterhelten stb.) is képes a felszínen maradni.',
Tulajdonsag: [Tulajdonsag2E.Ero],
},
{
Id: 'k_vadonjaras',
Name: 'Vadonjárás',
Description: 'A képzettség segít a vadonbeli megélhetésben, tájékozódásban és túlélésben. Sikeres képzettségpróbával (Közepes, Nehéz és Hősies nehézség megdobása esetén) 1d3 / 1d3+2 / 1d3+4 adag élelmet eredményez, terméketlen vidékeken az utóbbi dobásra -3 módosítóval. Utazás közben naponta egy, táborozva két próba dobható. A képzettség segít abban is, hogy a csapat ne tévedjen el a sűrű erdőkben, kietlen sivatagokban vagy zegzugos szurdokvölgyekben. Végül a képzettségpróba sikere befolyásolja, hogy milyen táborhelyet sikerül találni a vadonban: ha a mesélő máshogy nem határoz, sikeres próbával kettőre, Nehéz próbával egyre csökkenti, Hősies próbával teljesen elkerüli az éjszakai találkozási esélyeket.',
Tulajdonsag: [Tulajdonsag2E.Bolcsesseg],
},
{
Id: 'k_zarnyitas',
Name: 'Zárnyitás',
Description: 'Tolvajszerszámok segítségével a karakter felnyithatja a különféle mechanikus zárakat. Sikertelen próba esetén nem képes az adott zár felnyitására egészen addig, amíg új tapasztalatokat nem szerez (vagyis a következő szintlépéséig).',
Tulajdonsag: [Tulajdonsag2E.Ugyesseg],
Osztalyok: [Osztaly2E.Tolvaj],
},
{
Id: 'k_zsebmetszes',
Name: 'Zsebmetszés',
Description: 'Őrizetlenül hagyott vagy övön, zsebben található kisebb tárgyak észrevétlen eltulajdonítása. Ha a próba sikertelen, a karaktert észreveszik vagy legalábbis gyanút kelt. Másféle, kézügyességet igénylő fogásokra is alkalmas.',
Tulajdonsag: [Tulajdonsag2E.Ugyesseg],
Osztalyok: [Osztaly2E.Tolvaj],
},
]
export const TolvajKepzettsegList = KepzettsegLista.filter(x => x.Osztalyok?.includes(Osztaly2E.Tolvaj))
export const Kepzettsegek: Record<KepzettsegId, Kepzettseg> =
KepzettsegLista.reduce(
(acc: Record<KepzettsegId, Kepzettseg>, k) => { acc[k.Id] = k; return acc; },
{} as Record<KepzettsegId, Kepzettseg>);
import {Modifier, TulajdonsagokTotal} from "./tulajdonsag2E";
import {Kepzettseg, Kepzettsegek, KepzettsegId, KepzettsegLista, TolvajKepzettsegList} from "./kepzettsegek2E.data";
function availableKezpettsegListFajjal(faj: Faj2E, ...osztalyok: Osztaly2E[]): Kepzettseg[] {
const birodalmiKepzettsegek : KepzettsegId[] = ["k_alkimia", "k_meregkeveres", "k_okkultizmus"]
@@ -261,7 +56,8 @@ export function SetDefaultTolvajKepzettsegek(karakter: Pick<Karakter2E, 'szintle
export function GetKepzettsegListaN(karakter: Pick<Karakter2E, 'szintlepesek' | 'faj' | 'kepzettsegek' | 'tolvajKepzettsegek'>) {
return (n: number): Kepzettseg[] => {
if (karakter.kepzettsegek.length > n){
return [Kepzettsegek[karakter.kepzettsegek[n]], ...GetAvailableKepzettsegek(karakter)]
const kepzettsegIndexN: KepzettsegId = karakter.kepzettsegek[n];
return [Kepzettsegek[kepzettsegIndexN], ...GetAvailableKepzettsegek(karakter)]
}
else {
return GetAvailableKepzettsegek(karakter);
@@ -272,7 +68,8 @@ export function GetKepzettsegListaN(karakter: Pick<Karakter2E, 'szintlepesek' |
export function GetTolvajKepzettsegListaN(karakter: Pick<Karakter2E, 'szintlepesek' | 'faj' | 'kepzettsegek' | 'tolvajKepzettsegek'>) {
return (n: number): Kepzettseg[] => {
if (karakter.tolvajKepzettsegek != null && karakter.tolvajKepzettsegek.length > n){
return [Kepzettsegek[karakter.tolvajKepzettsegek[n]], ...GetAvailableKepzettsegek(karakter)]
const kepzettsegIndexN: KepzettsegId = karakter.tolvajKepzettsegek[n];
return [Kepzettsegek[kepzettsegIndexN], ...GetAvailableKepzettsegek(karakter)]
}
else {
return GetAvailableKepzettsegek(karakter);
@@ -1,10 +1,11 @@
import {Tulajdonsag2E, TulajdonsagIDs, TulajdonsagokTotal} from "./tulajdonsag2E";
import {GetAvailableKepzettsegek, KepzettsegId} from "./kepzettsegek2E";
import {GetAvailableKepzettsegek} from "./kepzettsegek2E";
import {Osztaly2E} from "./osztaly2E";
import {Karakter2E} from "./karakter2E";
import {BaseHP} from "./masodlagos_ertekek";
import {dAny} from "../../shared/domain-models/kockak";
import {AllowedFegyver} from "./allowed-fegyver";
import {KepzettsegId} from "./kepzettsegek2E.data";
export interface Szintlepes {
osztaly: Osztaly2E;
@@ -12,7 +12,7 @@ import {
TulajdonsagModosito
} from "../domain-models/tulajdonsag2E";
import {SignedNumberToText} from "../../shared/components/Helpers";
import {Kepzettseg, Kepzettsegek} from "../domain-models/kepzettsegek2E";
import {Kepzettseg, KepzettsegId, Kepzettsegek} from "../domain-models/kepzettsegek2E.data";
import {getClassLevels} from "../domain-models/szintlepes";
import {FegyverFlags} from "../domain-models/fegyver";
@@ -118,9 +118,9 @@ export function KarakterInputToPdfView(karakter: Karakter2E): KarakterPdfView {
EgyebVO: SignedNumberToText(VOegyeb(karakter)),
Kepzettsegek:
karakter.kepzettsegek.map(k =>
karakter.kepzettsegek.map((k : KepzettsegId) =>
mapKepzettsegToPdfView(Kepzettsegek[k], tulajdonsagok, karakter.szint))
.concat(karakter.tolvajKepzettsegek?.map(k =>
.concat(karakter.tolvajKepzettsegek?.map((k: KepzettsegId) =>
mapKepzettsegToPdfView(Kepzettsegek[k], tulajdonsagok, classLevels[Osztaly2E.Tolvaj])) || []),
Fegyverek: karakter.felszereles.fegyverIDk.slice(0, 4).map(fid => {