add more osztaly properties

TODO: replace bootstrap collapse with react code!
This commit is contained in:
2023-07-26 22:55:33 +02:00
parent fbefcc462c
commit a8e7407aba
2 changed files with 150 additions and 26 deletions
+108 -18
View File
@@ -1,7 +1,6 @@
export enum Osztaly { export enum Osztaly {
Harcos = 'o_harcos', Harcos = 'o_harcos',
Ijjasz = 'o_ijjasz', Ijasz = 'o_ijasz',
Amazon = 'o_amazon', Amazon = 'o_amazon',
Kaloz = 'o_kaloz', Kaloz = 'o_kaloz',
Barbar = 'o_barbar', Barbar = 'o_barbar',
@@ -19,26 +18,29 @@ export function OsztalyLabel(osztaly: Osztaly) : string {
case Osztaly.Illuzionista: return 'Illúzionista'; case Osztaly.Illuzionista: return 'Illúzionista';
case Osztaly.Varazslo: return 'Varázsló'; case Osztaly.Varazslo: return 'Varázsló';
case Osztaly.Harcos: return 'Harcos'; case Osztaly.Harcos: return 'Harcos';
case Osztaly.Ijjasz: return 'Íjjász'; case Osztaly.Ijasz: return 'Íjjász';
case Osztaly.Kaloz: return 'Kalóz'; case Osztaly.Kaloz: return 'Kalóz';
case Osztaly.Tolvaj: return 'Tolvaj' case Osztaly.Tolvaj: return 'Tolvaj'
} }
} }
const osztalyDescriptions= { export function OsztalyDescription(osztaly: Osztaly) : string {
o_harcos: 'A harcosok a fegyverhasználat mesterei. Megállják a helyüket a közelharcban és a távolsági összecsapásokban is, s sokkal jobban viselik a sebesüléseket, mint más osztályok képviselői. Ez az osztály mind közül a leggyakoribb, de egyben a legváltozatosabb is öt alosztállyal rendelkezik. A játék elején minden harcos választhat egy tetszőleges harci stílust: A Harcosok az osztály leggyakoribb képviselői. Speciális harci tapasztalatuknak köszönhetően minden páratlan szinten +2-t kapnak egy választott fegyvertípus (pl. csatabárd, hosszúkard, stb.) sebzésére. Ez fegyverenként csak egyszer választható, s arra is fölhasználható, hogy a harcos megtanulja egy egzotikus fegyver használatát, amire később specializálódhat is. 9. szinttől elérhető számukra a kettős specializáció: ezzel sebzésmódosítójukat az adott fegyverre +4-re emelhetik.', switch (osztaly) {
o_ijjasz: 'A harcosok a fegyverhasználat mesterei. Megállják a helyüket a közelharcban és a távolsági összecsapásokban is, s sokkal jobban viselik a sebesüléseket, mint más osztályok képviselői. Ez az osztály mind közül a leggyakoribb, de egyben a legváltozatosabb is öt alosztállyal rendelkezik. A játék elején minden harcos választhat egy tetszőleges harci stílust: Az íjászok a távolsági harc mesterei. Íjak használatakor körönként eggyel többször támadhatnak. Értenek a visszacsapó íjak használatához is. Nem viselhetnek nehéz vérteket.', case Osztaly.Harcos:
o_amazon: 'A harcosok a fegyverhasználat mesterei. Megállják a helyüket a közelharcban és a távolsági összecsapásokban is, s sokkal jobban viselik a sebesüléseket, mint más osztályok képviselői. Ez az osztály mind közül a leggyakoribb, de egyben a legváltozatosabb is öt alosztállyal rendelkezik. A játék elején minden harcos választhat egy tetszőleges harci stílust: Az amazonok barbár népe szépségéről és a karizmatikus jelenlétre építő védekező harcmodoráról ismert. Az amazonok csak láncinget vagy könnyebb vérteket viselhetnek, de VO-juk Szint/2-vel javul, továbbá Karizma- és Ügyességmódosítói közül a kedvezőbbet választhatják. Ha kettő vagy több amazon együttesen harcol, VO-juk további 2 ponttal nő pszionikus képességeik miatt.', case Osztaly.Amazon:
o_kaloz: 'A harcosok a fegyverhasználat mesterei. Megállják a helyüket a közelharcban és a távolsági összecsapásokban is, s sokkal jobban viselik a sebesüléseket, mint más osztályok képviselői. Ez az osztály mind közül a leggyakoribb, de egyben a legváltozatosabb is öt alosztállyal rendelkezik. A játék elején minden harcos választhat egy tetszőleges harci stílust: A tengerészek/kalózok a hajózás mesterei; kereskedők, tengeri rablók és rabszolgavadászok. Ha magasabb, Ügyességbónuszukat adják hozzá közelharci támadásaikhoz. Nem viselhetnek nehéz vértezetet, de VO-juk könnyű vértben Szint/3-al javul. Minden harmadik szinten kiválaszthatnak egy fegyvert, amivel könynyebben okoznak kritikus sebesülést, tehát pl. csatabárddal 20 helyett 19-20-on, hoszszúkarddal 19-20 helyett 18-20-on, szablyával 18-20 helyett 17-20-on, stb. Ez a képesség 9. szintig fegyverenként csak egyszer választható.', case Osztaly.Barbar:
o_barbar: 'A harcosok a fegyverhasználat mesterei. Megállják a helyüket a közelharcban és a távolsági összecsapásokban is, s sokkal jobban viselik a sebesüléseket, mint más osztályok képviselői. Ez az osztály mind közül a leggyakoribb, de egyben a legváltozatosabb is öt alosztállyal rendelkezik. A játék elején minden harcos választhat egy tetszőleges harci stílust: A barbár törzsek köré sorolhatók apusztai és sivatagi nomádok, a déli dzsungelek emberevői és az északi tengermelléki rablók nemzetségei egyaránt. A barbárok 1d12-vel dobják a Hp-jüket, -5 Hp-ig öntudatuknál vannak és +1 bónuszt (10. szinttől +2, 15. szinttől +4) kapnak a mentődobásaikra. Minden barbár írástudatlanul kezdi a játékot, de ha kell, később megtanulhatja a betűvetést.', case Osztaly.Ijasz:
o_pap: 'A papok az istenek militáns varázshasználó szolgái. Hitük parancsait minden körülmények között be kell tartaniuk, s bizonyos rendszerességgel áldozatokat kell bemutatniuk. A papok csak istenükkel azonos vagy attól legfeljebb eggyel különböző jelleműek lehetnek. A papok csak az istenük által kijelölt fegyvereket forgathatják, de szabadon válogathatnak a különféle vértek között.', case Osztaly.Kaloz:
o_tolvaj: 'A tolvajok a becstelen harc és a csöndes gyilkolás mesterei (közülük sokan alkalmaznak mérgeket őket orgyilkosoknak nevezik). Harci képességeik és életerejük viszonylag gyenge, s nehezebb vértezeteket sem használhatnak. Ezért ha módjukban áll, nem szemtől szembe, hanem lesből támadnak áldozataikra, és ha ez nem sikerülne, gyorsan kereket oldanak. Emellett alvilági pályafutásuk során számos hasznos képzettségben válnak járatossá.', return 'A harcosok a fegyverhasználat mesterei. Megállják a helyüket a közelharcban és a távolsági összecsapásokban is, s sokkal jobban viselik a sebesüléseket, mint más osztályok képviselői. Ez az osztály mind közül a leggyakoribb, de egyben a legváltozatosabb is öt alosztállyal rendelkezik. A játék elején minden harcos választhat egy tetszőleges harci stílust.';
o_varazslo: 'A varázslók kiemelkedő szellemi fegyelmezettségük segítségével képesek a magasabb fokú mágikus erőket irányító varázsigék memorizálására és fölhasználására. Tudásukat varázskönyekben rögzítik, s mindent elkövetnek egy ismeretlen formula megszerzéséért. Többségüket a magabiztos önhittség és az alacsonyabb szellemi képeségűek megvetése jellemzi. A varázslók nem képesek _bármiféle_ páncélban varázsolni, és csak kevés fegyvertípus forgatásában járatosak.', case Osztaly.Tolvaj:
o_illuzionista: 'A varázslók kiemelkedő szellemi fegyelmezettségük segítségével képesek a magasabb fokú mágikus erőket irányító varázsigék memorizálására és fölhasználására. Tudásukat varázskönyekben rögzítik, s mindent elkövetnek egy ismeretlen formula megszerzéséért. Többségüket a magabiztos önhittség és az alacsonyabb szellemi képeségűek megvetése jellemzi. Az illuzionisták a mágia egy igen hasonló, de több lényeges területen eltérő fajtáját művelik. Lételemük a káprázat, a megtévesztés és mások elméjének befolyásolása többségük hipnotizőr vagy ügyes manipulátor. Az illuzionista varázslatok csekélyebb pusztító erőt képviselnek, ellenben egy élelmes illuzionista kezében szinte bármire képesek beleértve a közönséges varázslók egyes varázslatainak utánzását. Az illuzionisták nem képesek _bármiféle_ páncélban varázsolni, és csak kevés fegyvertípus forgatásában járatosak.', return 'A tolvajok a becstelen harc és a csöndes gyilkolás mesterei (közülük sokan alkalmaznak mérgeket őket orgyilkosoknak nevezik). Harci képességeik és életerejük viszonylag gyenge, s nehezebb vértezeteket sem használhatnak. Ezért ha módjukban áll, nem szemtől szembe, hanem lesből támadnak áldozataikra, és ha ez nem sikerülne, gyorsan kereket oldanak. Emellett alvilági pályafutásuk során számos hasznos képzettségben válnak járatos.';
} case Osztaly.Pap:
return 'A papok az istenek militáns varázshasználó szolgái. Hitük parancsait minden körülmények között be kell tartaniuk, s bizonyos rendszerességgel áldozatokat kell bemutatniuk. A papok csak istenükkel azonos vagy attól legfeljebb eggyel különböző jelleműek lehetnek. A papok csak az istenük által kijelölt fegyvereket forgathatják, de szabadon válogathatnak a különféle vértek között.';
export function OsztalyDescription(osztaly: Osztaly) { case Osztaly.Varazslo:
return osztalyDescriptions[osztaly] return 'A varázslók kiemelkedő szellemi fegyelmezettségük segítségével képesek a magasabb fokú mágikus erőket irányító varázsigék memorizálására és fölhasználására. Tudásukat varázskönyekben rögzítik, s mindent elkövetnek egy ismeretlen formula megszerzéséért. Többségüket a magabiztos önhittség és az alacsonyabb szellemi képeségűek megvetése jellemzi. A varázslók nem képesek _bármiféle_ páncélban varázsolni, és csak kevés fegyvertípus forgatásában járatosak.';
case Osztaly.Illuzionista:
return 'A varázslók kiemelkedő szellemi fegyelmezettségük segítségével képesek a magasabb fokú mágikus erőket irányító varázsigék memorizálására és fölhasználására. Tudásukat varázskönyekben rögzítik, s mindent elkövetnek egy ismeretlen formula megszerzéséért. Többségüket a magabiztos önhittség és az alacsonyabb szellemi képeségűek megvetése jellemzi. Az illuzionisták a mágia egy igen hasonló, de több lényeges területen eltérő fajtáját művelik. Lételemük a káprázat, a megtévesztés és mások elméjének befolyásolása többségük hipnotizőr vagy ügyes manipulátor. Az illuzionista varázslatok csekélyebb pusztító erőt képviselnek, ellenben egy élelmes illuzionista kezében szinte bármire képesek beleértve a közönséges varázslók egyes varázslatainak utánzását. Az illuzionisták nem képesek _bármiféle_ páncélban varázsolni, és csak kevés fegyvertípus forgatásában járatosak.';
}
} }
export function OsztalyProperties(osztaly: Osztaly) : string[] { export function OsztalyProperties(osztaly: Osztaly) : string[] {
@@ -51,7 +53,7 @@ export function OsztalyProperties(osztaly: Osztaly) : string[] {
'Hp: szintenként 1d10, 9. szint („Nagyúr”) fölött 3/szint', 'Hp: szintenként 1d10, 9. szint („Nagyúr”) fölött 3/szint',
'Képzettségek: 3', 'Képzettségek: 3',
] ]
case Osztaly.Ijjasz: return [ case Osztaly.Ijasz: return [
'Támadásbónusz: Szint x 1', 'Támadásbónusz: Szint x 1',
'Mentődobások: Kitartás az első, Reflex és Akaraterő a második oszlop szerint', 'Mentődobások: Kitartás az első, Reflex és Akaraterő a második oszlop szerint',
'Fegyverhasználat: az egzotikus fegyvereken kívül bármilyen fegyvertípust használhatnak', 'Fegyverhasználat: az egzotikus fegyvereken kívül bármilyen fegyvertípust használhatnak',
@@ -109,4 +111,92 @@ export function OsztalyProperties(osztaly: Osztaly) : string[] {
'Képzettségek: 3' 'Képzettségek: 3'
] ]
} }
}
export interface Skill {
Id: string
Name: string,
Description: string
ExtendedDescription?: string[]
}
export function OsztalySpecialSkills(osztaly: Osztaly) : Skill[] {
switch (osztaly) {
case Osztaly.Harcos: return [{
Id: 's_harcos_harcos',
Name: 'Harcos',
Description: 'Speciális harci tapasztalatuknak köszönhetően minden páratlan szinten +2-t kapnak egy választott fegyvertípus (pl. csatabárd, hosszúkard, stb.) sebzésére. Ez fegyverenként csak egyszer választható, s arra is fölhasználható, hogy a harcos megtanulja egy egzotikus fegyver használatát, amire később specializálódhat is. 9. szinttől elérhető számukra a kettős specializáció: ezzel sebzésmódosítójukat az adott fegyverre +4-re emelhetik.'
}
]
case Osztaly.Ijasz: return [{
Id: 's_harcos_ijasz',
Name: 'Íjász',
Description: 'A távolsági harc mesterei. Íjak használatakor körönként eggyel többször támadhatnak. Értenek a visszacsapó íjak használatához is. Nem viselhetnek nehéz vérteket.'
}]
case Osztaly.Amazon: return [{
Id: 's_harcos_amazon',
Name: 'Amazon',
Description: 'Az amazonok barbár népe szépségéről és a karizmatikus jelenlétre építő védekező harcmodoráról ismert. Az amazonok csak láncinget vagy könnyebb vérteket viselhetnek, de VO-juk Szint/2-vel javul, továbbá Karizma- és Ügyességmódosítói közül a kedvezőbbet választhatják. Ha kettő vagy több amazon együttesen harcol, VO-juk további 2 ponttal nő pszionikus képességeik miatt.'
}]
case Osztaly.Kaloz: return [{
Id: 's_harcos_kaloz',
Name: 'Tengerész/Kalóz',
Description: 'A tengerészek a hajózás mesterei; kereskedők, tengeri rablók és rabszolgavadászok. Ha magasabb, Ügyességbónuszukat adják hozzá közelharci támadásaikhoz. Nem viselhetnek nehéz vértezetet, de VO-juk könnyű vértben Szint/3-al javul. Minden harmadik szinten kiválaszthatnak egy fegyvert, amivel könynyebben okoznak kritikus sebesülést, tehát pl. csatabárddal 20 helyett 19-20-on, hoszszúkarddal 19-20 helyett 18-20-on, szablyával 18-20 helyett 17-20-on, stb. Ez a képesség 9. szintig fegyverenként csak egyszer választható.'
}]
case Osztaly.Barbar: return [{
Id: 's_harcos_barbar',
Name: 'Barbár',
Description: 'A barbár törzsek köré sorolhatók a pusztai és sivatagi nomádok, a déli dzsungelek emberevői és az északi tengermelléki rablók nemzetségei egyaránt. A barbárok 1d12-vel dobják a Hp-jüket, -5 Hp-ig öntudatuknál vannak és +1 bónuszt (10. szinttől +2, 15. szinttől +4) kapnak a mentődobásaikra. Minden barbár írástudatlanul kezdi a játékot, de ha kell, később megtanulhatja a betűvetést.'
}]
case Osztaly.Pap: return [
{
Id: 's_pap_varazslat',
Name: 'Varázslatok',
Description: 'a papi varázslatok általában gyógyításra, mások megsegítésére és vallási feladatok ellátására szolgálnak. Minél magasabb szintűek, egy nap annál több varázslatot tudnak alkalmazni a következő oldalon található táblának megfelelően. Például egy 4. szintű, 17-es Bölcsességgel rendelkező pap öt nulladik szintű, négy első szintű és három második szintű varázslatot tarthat naponta elméjében.'
},
{
Id: 's_pap_gyogyseb',
Name: 'Gyógyítás vagy sebokozás',
Description: 'a pap az aznap már memorizált (megtanult) varázslatokat gyógyításra vagy sebek okozására is fölhasználhatja. Érintésével a varázslat minden szintjéért 1d8 Hp-t gyógyít vagy sebez így pl. egy Ómen elhasználásával 2d8 Hp-t. Az így konvertált varázslat természetesen elvész. Az, hogy a képesség sebek gyógyítására vagy okozására szolgál, a pap istenétől függ. A békésebb istenek főleg az elsőt, a harciasabbak főleg a másodikat részesítik előnyben, s vannak olyanok is, akik híveikre bízzák, hogy melyik utat választják. Ha azonban a pap már eldöntötte, melyik képességben járatos, döntését többé nem másíthatja meg!'
},
{
Id: 's_pap_elohalott',
Name: 'Élőholtak elűzése vagy irányítása',
Description: 'A papok istenük dogmájának megfelelően képesek lehetnek arra, hogy élőholt szörnyeket (mint például zombikat, lidérceket vagy vámpírokat) szimbólumuk felmutatásával elűzzenek vagy szolgálatukba állítsanak. Ez a képesség naponta csak egyszer (5. szinttől kétszer, 10. szinttől háromszor, 15. szinttől négyszer) használható. A cselekedet a következőképpen működik:',
ExtendedDescription: [
'A pap [1d20+Kar bónusz] próbát tesz. Ennek az értékét összeveti a standard bónusztáblázattal. Az innen kiolvasható módosítót hozzáadja saját szintjéhez (ha negatív, akkor levonja). Az eredmény jelzi, hogy a pap legfeljebb milyen szintű élőholtakra lesz hatással. Ha tehát pl. a próba végeredménye 14 és a pap ötödik szintű, akkor 5+1, azaz 6. szintű a legerősebb élőhalott, amire a kísérlet sikeres. A 20-as dobás itt is automatikus siker, az 1-es automatikus kudarc.',
'A pap [2d6+szint] szintű élőhalottat űzhet el vagy irányíthat. Először a leggyengébb élőholtakra hat, azután a következő leggyengébbekre, stb. Az elűzött élőholtak elmenekülnek a pap szeme elől és addig nem is ártanak neki és társainak, amíg a pap csapata meg nem támadja őket! Ezzel szemben a gonosz papok parancsokat adhatnak az irányított szörnyeknek. Mindkét hatás legfeljebb pár óráig tart, az élőholtak szintjétől és a körülményektől függően.',
'Ha az összes szem előtt lévő élőholtat sikerült elűzni vagy irányítani és még maradt „a szent energiából”, akkor ismét el kell kezdeni a hatást a leggyengébb ellenségektől. Az így elűzött szörnyek megsemmisülnek, illetve irányítás esetén végleg a gonosz pap szolgálatába állnak.',
'A két hatás egymás ellen is fölhasználható, például egy jó pap kiolthatja egy gonosz pap irányítását, de akár két gonosz pap is versenyezhet egy csapat sírlidérc „megtérítésén”.',
]
}
]
case Osztaly.Tolvaj: return [
{
Id: 's_tolvaj_orvtamadas',
Name: 'Orvtámadás',
Description: 'az orvtámadás akkor használható, ha a tolvaj meglepi áldozatát, tehát pl. csöndesen a hátába kerül, vagy beszélgetés közben tőrt ránt és egyetlen mozdulattal gyomron szúrja. Az orvtámadás minden páratlan szintért 1d6 bónusz sebzést okoz (maximuma +5d6). Dobó- és lőfegyverrel is használható, és ha a tolvaj úgy dönt, illetve a használt fegyver lehetővé teszi, az ellenfél elkábítására is alkalmazható.'
},
{
Id: 's_tolvaj_kezdemenyezes',
Name: 'Jobb kezdeményezés',
Description: 'a tolvajok +4-et kapnak kezdeményezési dobásaikra.',
},
{
Id: 's_tolvaj_kepzettsegek',
Name: 'Tolvajképzettségek',
Description: 'minden tolvaj jártas több olyan képzettségben, amely segíti a rejtőzködésben, a jól őrzött értékek eltulajdonításában és hasonló feladatokban. A tolvajok azokat a tolvajképzettségeket is használhatják, amelyekben nem járatosak külön, de ekkor szintjük nem számít bele a próbadobás módosítójába! A tolvajképzettségek listája: Álcázás, Csapdák állítása és eltávolítása, Egyensúlyozás, Értékbecslés, Hallgatózás, Hamisítás, Jelek olvasása, Keresés, Mászás, Megfigyelés, Méregkeverés, Osonás, Rejtőzés, Szabadulóművészet, Zárnyitás és Zsebmetszés.',
},
]
case Osztaly.Varazslo: return [{
Id: 's_varazslo_varazskonyv',
Name: 'Varázskönyv',
Description: 'egy első szintű varázsló varázskönyve 6 nulladik és 3 első szintű varázslatot tartalmaz, harmadik szintű kezdő karakteré ezen felül még 2 első szintűt és 2 második szintűt. Az újabb varázslatokat mások könyveiből, mágikus tekercsekből vagy más módszerek segítségével kell könyvébe másolnia. Az illuzionisták szintén varázskönyveket használnak, de eltérő mágiaformájuk miatt nem képesek a varázslói varázslatok megértésére és viszont.'
}]
case Osztaly.Illuzionista: return [{
Id: 's_illuzionista_varazskonyv',
Name: 'Varázskönyv',
Description: 'egy első szintű varázsló varázskönyve 6 nulladik és 3 első szintű varázslatot tartalmaz, harmadik szintű kezdő karakteré ezen felül még 2 első szintűt és 2 második szintűt. Az újabb varázslatokat mások könyveiből, mágikus tekercsekből vagy más módszerek segítségével kell könyvébe másolnia. Az illuzionisták szintén varázskönyveket használnak, de eltérő mágiaformájuk miatt nem képesek a varázslói varázslatok megértésére és viszont.'
}]
}
} }
+42 -8
View File
@@ -2,7 +2,13 @@ import React, {ReactNode} from 'react';
import './CreateCharacter.css' import './CreateCharacter.css'
import {useForm} from "react-hook-form"; import {useForm} from "react-hook-form";
import {Faj, FajDescription, FajLabel, FajSpecials, Tulajdonsag} from "../domain-models/faj"; import {Faj, FajDescription, FajLabel, FajSpecials, Tulajdonsag} from "../domain-models/faj";
import {Osztaly, OsztalyDescription, OsztalyLabel, OsztalyProperties} from "../domain-models/osztaly" import {
Osztaly,
OsztalyDescription,
OsztalyLabel,
OsztalyProperties,
OsztalySpecialSkills
} from "../domain-models/osztaly"
function getRandomInt(max: number) { function getRandomInt(max: number) {
return Math.floor(Math.random() * max) + 1; return Math.floor(Math.random() * max) + 1;
@@ -109,6 +115,9 @@ function CreateCharacterPage() {
</div> </div>
<div className='p-3'> <div className='p-3'>
<form onSubmit={handleSubmit(sendForm)} className='col-12'> <form onSubmit={handleSubmit(sendForm)} className='col-12'>
<div className='row'>
<h5 className='col-lg-2 col-sm-4 align-self-center'>Származás</h5>
</div>
<div className='row m-2'> <div className='row m-2'>
<label className='col-lg-1 col-sm-2 col-form-label' >Név</label> <label className='col-lg-1 col-sm-2 col-form-label' >Név</label>
<input className='col form-control' <input className='col form-control'
@@ -117,8 +126,8 @@ function CreateCharacterPage() {
</div> </div>
<div className='row m-2'> <div className='row m-2'>
<label className='col-lg-1 col-sm-2 col-form-label'>Faj</label> <label className='col-lg-1 col-sm-2 col-form-label'>Faj</label>
<select className='col form-select' {...register('faj', {required: true})}> <select className='col form-select' defaultValue={Faj.Ember} {...register('faj', {required: true})}>
<option key={Faj.Ember} selected={true} value={Faj.Ember}>{FajLabel(Faj.Ember)}</option> <option key={Faj.Ember} value={Faj.Ember}>{FajLabel(Faj.Ember)}</option>
<optgroup label='más emberi népek'> <optgroup label='más emberi népek'>
<option key={Faj.Amazon} value={Faj.Amazon}>{FajLabel(Faj.Amazon)}</option> <option key={Faj.Amazon} value={Faj.Amazon}>{FajLabel(Faj.Amazon)}</option>
<option key={Faj.Birodalmi} value={Faj.Birodalmi}>{FajLabel(Faj.Birodalmi)}</option> <option key={Faj.Birodalmi} value={Faj.Birodalmi}>{FajLabel(Faj.Birodalmi)}</option>
@@ -144,13 +153,13 @@ function CreateCharacterPage() {
{FajDescription(currentFaj())} {FajDescription(currentFaj())}
</p> </p>
<ul> <ul>
{FajSpecials(currentFaj()).map(((special) => (<li>{special}</li>)))} {FajSpecials(currentFaj()).map(((special, i) => (<li key={currentFaj()+i}>{special}</li>)))}
</ul> </ul>
</div> </div>
</div> </div>
<hr/> <hr/>
<div className='row'> <div className='row'>
<h5 className='col-lg-2 col-sm-4 text-center align-self-center'>Tulajdonságok</h5> <h5 className='col-lg-2 col-sm-4 align-self-center'>Tulajdonságok</h5>
<div className='col-sm-2 m-2'> <div className='col-sm-2 m-2'>
<button className='btn btn-dark' type='button' <button className='btn btn-dark' type='button'
onClick={() => rollAllAbilities(setValue)}>Dobás onClick={() => rollAllAbilities(setValue)}>Dobás
@@ -200,15 +209,18 @@ function CreateCharacterPage() {
() => Number(watch(Tulajdonsag.Karizma, 10)) () => Number(watch(Tulajdonsag.Karizma, 10))
)} )}
<hr /> <hr />
<div className='row'>
<h5 className='col-lg-2 col-sm-4 align-self-center'>Tanult</h5>
</div>
<div className='row m-2'> <div className='row m-2'>
<label className='col-lg-1 col-sm-2 col-form-label'>Osztály</label> <label className='col-lg-1 col-sm-2 col-form-label'>Osztály</label>
<select className="col form-select" defaultValue={Osztaly.Harcos} {...register('osztaly', {required: true})}> <select className="col form-select" defaultValue={Osztaly.Harcos} {...register('osztaly', {required: true})}>
<optgroup label='Harcos'> <optgroup label='Harcos'>
<option key={Osztaly.Harcos} selected={true} value={Osztaly.Harcos}>{OsztalyLabel(Osztaly.Harcos)}</option> <option key={Osztaly.Harcos} value={Osztaly.Harcos}>{OsztalyLabel(Osztaly.Harcos)}</option>
{currentFaj() === Faj.Amazon && ( {currentFaj() === Faj.Amazon && (
<option key={Osztaly.Amazon} value={Osztaly.Amazon}>{OsztalyLabel(Osztaly.Amazon)}</option>) } <option key={Osztaly.Amazon} value={Osztaly.Amazon}>{OsztalyLabel(Osztaly.Amazon)}</option>) }
<option key={Osztaly.Barbar} value={Osztaly.Barbar}>{OsztalyLabel(Osztaly.Barbar)}</option> <option key={Osztaly.Barbar} value={Osztaly.Barbar}>{OsztalyLabel(Osztaly.Barbar)}</option>
<option key={Osztaly.Ijjasz} value={Osztaly.Ijjasz}>{OsztalyLabel(Osztaly.Ijjasz)}</option> <option key={Osztaly.Ijasz} value={Osztaly.Ijasz}>{OsztalyLabel(Osztaly.Ijasz)}</option>
<option key={Osztaly.Kaloz} value={Osztaly.Kaloz}>{OsztalyLabel(Osztaly.Kaloz)}</option> <option key={Osztaly.Kaloz} value={Osztaly.Kaloz}>{OsztalyLabel(Osztaly.Kaloz)}</option>
</optgroup> </optgroup>
<option key={Osztaly.Pap} value={Osztaly.Pap}>{OsztalyLabel(Osztaly.Pap)}</option> <option key={Osztaly.Pap} value={Osztaly.Pap}>{OsztalyLabel(Osztaly.Pap)}</option>
@@ -229,8 +241,30 @@ function CreateCharacterPage() {
{OsztalyDescription(currentOsztaly())} {OsztalyDescription(currentOsztaly())}
</p> </p>
<ul> <ul>
{OsztalyProperties(currentOsztaly()).map(((special) => (<li>{special}</li>)))} {OsztalyProperties(currentOsztaly()).map(((special, i) => (<li key={currentOsztaly() + i}>{special}</li>)))}
</ul> </ul>
<p className='d-inline-flex gap-1'>
{OsztalySpecialSkills(currentOsztaly()).map(skill => (
<button
key={'btn' + skill.Id}
className='btn btn-outline-dark'
type='button'
data-bs-toggle="collapse"
data-bs-target={"#collapse-"+skill.Id}
aria-expanded="false"
aria-controls="collapseExample"
>
{skill.Name}
</button>
))}
</p>
{OsztalySpecialSkills(currentOsztaly()).map(skill => (
<div key={'collapse'+skill.Id} className="collapse" id={'collapse-' + skill.Id}>
<div className="card card-body">
{skill.Description}
</div>
</div>
))}
</div> </div>
</div> </div>