diff --git a/src/components/OsztalySelector.tsx b/src/components/OsztalySelector.tsx index bbce2ba..9b35164 100644 --- a/src/components/OsztalySelector.tsx +++ b/src/components/OsztalySelector.tsx @@ -43,28 +43,45 @@ function OsztalySelector(props: {currentFaj: () => Faj, currentOsztaly: () => Os -

- {OsztalySpecialSkills(currentOsztaly()).map(skill => ( - - ))} -

- {OsztalySpecialSkills(currentOsztaly()).map(skill => ( -
-
+
+ {OsztalySpecialSkills(currentOsztaly()).map(skill => +

+ + {skill.Name} + + {' '} {skill.Description} -

-
- ))} + {skill.ExtendedDescription && ( + + )} +

+ )} +
+ {/*

*/} + {/* {OsztalySpecialSkills(currentOsztaly()).map(skill => (*/} + {/*

*/} + {/*{OsztalySpecialSkills(currentOsztaly()).map(skill => (*/} + {/*
*/} + {/*
*/} + {/* {skill.Description}*/} + {/*
*/} + {/*
*/} + {/*))}*/} diff --git a/src/domain-models/kepzettsegek.ts b/src/domain-models/kepzettsegek.ts new file mode 100644 index 0000000..3da2a49 --- /dev/null +++ b/src/domain-models/kepzettsegek.ts @@ -0,0 +1,208 @@ +import {Tulajdonsag} from "./tulajdonsag"; +import {Osztaly} from "./osztaly"; + +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_jelek_olvasasa' | 'k_koncentracio' | 'k_lovaglas' | 'k_maszas' | 'k_megfigyeles' | 'k_meregkeveres' | 'k_mesterseg' | 'k_nyomkereses' | 'k_osonas' | 'k_rejtozes' | 'k_szabadulomuveszet' | 'k_tudas' | 'k_ugras' | 'k_uszas' | 'k_varazslatismeret' | 'k_zarnyitas' | 'k_zsebmetszes' + +export interface Kepzettseg { + Id: KepzettsegId, + Name: string, + Description: string, + Tulajdonsag: Tulajdonsag[], + Osztalyok?: Osztaly[], +} + +const kepzettsegLista: Kepzettseg[] = [ + { + Id: 'k_alkimia', + Name: 'Alkímia', + Description: 'különféle különleges anyagok, pl. savak, görögtűz, stb. kikeverésére szolgál. Használatához gyakran jól felszerelt laboratórium szükséges. Az Alkímia képzettséggel a karakter képes beazonosítani a különféle vegyi anyagokat és mérgeket, bizonyos esetekben varázsitalokat is.', + Tulajdonsag: [Tulajdonsag.Intelligencia], + Osztalyok: [Osztaly.Varazslo, Osztaly.Illuzionista], + }, + { + Id: 'k_alcazas', + Name: 'Álcázás', + Description: 'álöltözetek készítése és effektív használata. Próbadobást akkor kell dobni, ha az álca hitelességét valaki kétségbe vonhatja (általában titkos dobás; az eredményt csak a mesélő ismeri).', + Tulajdonsag: [Tulajdonsag.Karizma], + Osztalyok: [Osztaly.Tolvaj], + }, + { + Id: 'k_allatidomitas', + Name: 'Álcázás', + Description: 'álöltözetek készítése és effektív használata. Próbadobást akkor kell dobni, ha az álca hitelességét valaki kétségbe vonhatja (általában titkos dobás; az eredményt csak a mesélő ismeri).', + Tulajdonsag: [Tulajdonsag.Karizma], + Osztalyok: [Osztaly.Tolvaj], + }, + { + Id: 'k_csapdak', + Name: 'Csapdák állítása/eltávolítása', + Description: 'a karakter a rendelkezésre álló idő és alapanyagok függvényében készíthet szimpla vagy komplex csapdákat. Ha egy csapda eltávolítására tett próba sikertelen, az bizonyos eséllyel kisülhet és veszélybe sodorhatja az óvatlan próbálkozót.', + Tulajdonsag: [Tulajdonsag.Ugyesseg], + Osztalyok: [Osztaly.Tolvaj], + }, + { + Id: 'k_csillagjoslas', + Name: 'Csillagjóslás', + Description: 'a karakter a képzettséggel egyrészt képes meghatározni a karakterek hozzávetőleges pozícióját a térképen, másrészt egyszerűbb jóslatokat készíthet.', + Tulajdonsag: [Tulajdonsag.Bolcsesseg], + Osztalyok: [Osztaly.Varazslo, Osztaly.Illuzionista], + }, + { + Id: 'k_egyensulyozas', + Name: 'Egyensúlyozás', + Description: 'omlatag talajon vagy keskeny járófelületen való átjutáshoz szükséges képzettség. Ha a próba sikertelen, a karakter lezuhan.', + Tulajdonsag: [Tulajdonsag.Ugyesseg], + Osztalyok: [Osztaly.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: [Tulajdonsag.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 kiszúrja a hamisítványokat.', + Tulajdonsag: [Tulajdonsag.Intelligencia], + }, + { + Id: 'k_gyogyitas', + Name: 'Gyógyítás', + Description: 'a sebek ellátásának, mérgek és betegségek semlegesítésének vagy enyhítésének tudománya. Ha a képzettséget sikeresen alkalmazzák közvetlenül harc után, a bekötözött karakter visszanyer 1d4 elvesztett Hp-t.', + Tulajdonsag: [Tulajdonsag.Bolcsesseg], + }, + { + Id: 'k_hajozas', + Name: 'Hajózás', + Description: 'a karakter ismeri a hajózás trükkjeit, tehát elkormányoz kisebb vitorlásokat vagy gályákat, tudja hogyan kell elkerülni a zátonyokat, képes javításokat végezni, stb.', + Tulajdonsag: [Tulajdonsag.Ugyesseg], + }, + { + Id: 'k_hallgatozas', + Name: 'Hallgatózás', + Description: 'alig hallható zajok, beszéd meghallása.', + Tulajdonsag: [Tulajdonsag.Bolcsesseg], + }, + { + Id: 'k_hamisitas', + Name: 'Hamisítás', + Description: 'a képzettséggel hamis pénz, iratok, pecsétek és értéktárgyak készíthetők. Próbadobást akkor kell dobni, ha a hamisítvány hitelességét valaki kétségbe vonhatja.', + Tulajdonsag: [Tulajdonsag.Intelligencia], + Osztalyok: [Osztaly.Tolvaj], + }, + { + 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: [Tulajdonsag.Intelligencia], + Osztalyok: [Osztaly.Tolvaj, Osztaly.Varazslo, Osztaly.Illuzionista], + }, + { + Id: 'k_koncentracio', + Name: 'Koncentráció', + Description: 'ez a képesség arra teszi alkalmassá a varázshasználót, hogy nehéz körülmények között – sebesülten, vágtató lovon, hánykolódó hajón, stb. – is alkalmazhassa varázslatait.', + Tulajdonsag: [Tulajdonsag.Bolcsesseg], + Osztalyok: [Osztaly.Varazslo, Osztaly.Illuzionista], + }, + { + 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: [Tulajdonsag.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: [Tulajdonsag.Ero], + }, + { + Id: 'k_megfigyeles', + Name: 'Megfigyelés', + Description: 'ez a képzettség olyan érzékelési képességet jelent, ami meghaladja az átlagemberét. Így olyan részletek vehetők észre, amelye szabad szemmel láthatóak, de csak az avatott megfigyelő számára.', + Tulajdonsag: [Tulajdonsag.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, vagy a méregkeverő veszélybe sodorja önmagát.', + Tulajdonsag: [Tulajdonsag.Intelligencia], + Osztalyok: [Osztaly.Tolvaj], + }, + { + Id: 'k_mesterseg', + Name: 'Mesterség', + Description: 'a karakter járatos egy kiválasztott mesterségben – pl. kovácsolás, gyertyaöntés, adószedés, ötvösség. A kézügyességet igénylő mesterségekhez Ügyesség, a szellemi foglalkozásokhoz Intelligencia szükséges.', + Tulajdonsag: [Tulajdonsag.Intelligencia, Tulajdonsag.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: [Tulajdonsag.Bolcsesseg], + }, + { + Id: 'k_osonas', + Name: 'Osonás', + Description: 'csöndes és általában viszonylag gyors mozgás.', + Tulajdonsag: [Tulajdonsag.Ugyesseg], + }, + { + Id: 'k_rejtozes', + Name: 'Rejtőzés', + Description: 'a képzettséget ismerő karakter olyan helyeken is elrejtőzhet, ahol más nem volna képes – például sötétebb sarkokban, árnyékokban.', + Tulajdonsag: [Tulajdonsag.Ugyesseg], + }, + { + Id: 'k_szabadulomuveszet', + Name: 'Szabadulóművészet', + Description: 'a karakter képes kiszabadulni kötelékeiből és láncaiból.', + Tulajdonsag: [Tulajdonsag.Ugyesseg], + Osztalyok: [Osztaly.Tolvaj], + }, + { + Id: 'k_tudas', + Name: 'Tudás', + Description: 'a karakter járatos egy bizonyos tudományterületen. Számos példa lehetséges, a leggyakoribbak a Történelemismeret, Országismeret, Mágiaismeret (csak varázshasználók sajátíthatják el), Teológia, Vadonismeret és a Növényismeret.', + Tulajdonsag: [Tulajdonsag.Intelligencia], + }, + { + 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. Ha a próba sikertelen, a karakter leesik.', + Tulajdonsag: [Tulajdonsag.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: [Tulajdonsag.Ero], + }, + { + Id: 'k_varazslatismeret', + Name: 'Varázslatismeret', + Description: 'a Mágiaismerettel ellentétben ez a képzettség nem a mágia elméletében, hanem a konkrét varázslatokban való ismereteket méri. Sikeres próbával a karakter azonosíthatja az elmondás alatt álló varázslatokat (NF= a mentődobás nehézsége), bizonyos mágikus effektusokat, csapdákat, stb.', + Tulajdonsag: [Tulajdonsag.Intelligencia], + Osztalyok: [Osztaly.Illuzionista, Osztaly.Varazslo], + }, + { + 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: [Tulajdonsag.Ugyesseg], + Osztalyok: [Osztaly.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.', + Tulajdonsag: [Tulajdonsag.Ugyesseg], + Osztalyok: [Osztaly.Tolvaj], + }, +] + +export const Kepzettsegek: Record = + kepzettsegLista.reduce( + (acc: Record, k) => { acc[k.Id] = k; return acc; }, + {} as Record); \ No newline at end of file