Krtka instrukcja do programu NPC v.1.0 losujcego postacie w systemie Krysztay Czasu.

========================================================

1. Wczytywanie danych

========================================================

================================
1.1. Przycisk "Rasa"
================================

Pozwala wczyta plik z danymi Rasy. Pocztkowo (domylnie) wszystkie parametry maj warto 0.

================================
1.2. Przycisk "Profesja 1" (analogicznie Profesja 2)
================================

Pozwala wczyta plik z danymi pierwszej profesji. Domylnie wszystkie parametry maj warto 0. Wczytanie danych pozwala na aktywacj/dezaktywacj profesji. Jeeli profesja jest nieaktywna, nie jest brana pod uwag podczas losowania postaci.


========================================================

2. Wywietlanie

========================================================

================================
2.1. Grupa "Wywietlanie"
================================

2.1.1. Pojedynczy  czyci okno wywietlania, a nastpnie wywietla tylko jedn wylosowan posta.

2.1.2. Dodaj  wywietla kolejne postacie, nie nadpisujc wczeniejszych.

2.1.3. Zmie ostatni  nadpisuje tylko ostatnio wylosowan posta.

2.1.4. Seria pojedyncza  czyci okno wywietlania, a nastpnie wywietla wszystkie postacie z danej serii (aktywuje grup Seria).

2.1.5. Seria dodaj  nie nadpisuje wczeniejszych postaci, wywietla wszystkie postacie z danej serii (aktywuje grup Seria).

================================
2.2. Grupa "Seria"
================================

Losuje seri postaci zaczynajc od poziomu Start (pierwsza posta) z krokiem Skok i koczc na 
2.2.1 poziomie Stop, np. Start = 0, Skok = 2, Stop = 8, wylosuje 5 postaci na poziomach 0, 2, 4, 6, 8.

2.2.2. Aktywacja/dezaktywacja profesji  jeeli profesja jest nieaktywna nie jest brana pod uwag podczas losowania postaci.

W przypadku aktywnych dwch profesji losowanie wyglda nastpujco: owca Start = 0, Skok = 2, Stop =4 oraz Zabjca Start=2, Skok = 1, Stop =3 otrzymamy postacie:
owca/Zabjca: 0/2, 0/3, 2/2, 2/3, 4/2, 4/3.
W przypadku gdy Skok = 0, wtedy przyjmowane jest, e dla danej profesji jest dany jeden poziom Start, np. w powyszym dla Zabjca Skok = 0 otrzymujemy: owca/Zabjca:  0/2, 2/2, 4/2.

================================
2.3. Pole wywietlanych danych (po lewej)
================================

Menu kontekstowe (uaktywniane prawym klawiszem myszy), ponadto dziaaj standardowe zasady zaznaczania i kopiowania (CRTL+C) pozwalajce na skopiowanie danych do schowka, a nastpnie ich wklejenie np. do notatnika. 


========================================================

3. Losowanie postaci

========================================================

================================
3.1. Przycisk "Losuj"
================================

Losuje postacie w zalenoci od ustawie Wywietlanie oraz Seria. Parametry pocztkowe kadej postaci s losowane na nowo.

================================
3.2. Przycisk "Aktualizuj"
================================

Analogicznie jak Losuj z t rnic , e oblicza parametry postaci dla ostatnio losowanych wartoci, tj. pierwsze wartoci losowane s podczas wczytywania rasy/profesji oraz przy kadym uyciu Losuj. W ten sposb zmiany profesji bd rasy bazuj na tym samym losowaniu. Jednak odpornoci bazowe oraz CH, PR wynikajce z poziomu s losowane dla kadego poziomu osobno.

================================
3.3. Przycisk "Ustawione"
================================

Nie losuje pocztkowych wartoci parametrw, ale wylicza je na zasadzie: "warto maksymalna"x"Waga"/100. W przypadku SF "losowana warto maksymalna" = 100, ZR, SZ, itp. wynosi 50, biegoci 100. Rwnie awanse oraz wczytywane wartoci np. k5, +, k50, bd odpowiednio wynosiu 5*waga/100, 10*waga/100, 50*waga/100. Chc uzyska posta o maksymalnych parametrach wybieramy "Waga" = 100, w przypadku redniej "Waga" = 50, itd.

========================================================

4. Zapis do pliku

========================================================

================================
4.1. Przycisk "Zapisz"
================================

Pozwala na zapis postaci z okna wywietlania do pliku.

================================
4.2. Grupa "Plik"
================================

Zastp  kasuje zawartoci wybranego pliku (po uyciu przycisku Zapisz), a nastpnie zapisuje nowe dane. 
Dodaj  dane zapisywane s na kocu wybranego pliku, bez nadpisywania wczeniejszych informacji.


========================================================

5. Format plikw danych Rasy i Profesji

========================================================

Kodowanie plikw tekstowych: Windows-1250 (CP-1250).


Parametrom w pliku (Parametrom podstawowym, Odpornoci, Biegoci, Parametrom awansu, itp.) mog odpowiada wartoci nieujemne (0, 1, 2...) , brak wartoci (ktry odpowiada 0), wartoci losowe, ktre s interpretowane przez program, s to: k5, k10, +, k50, k100 (interpretowane odpowiednio jako wartoci losowe z przedziau 1..5, 1..10, 1..10 premiowane, 1..50, 1..100) oraz wartoci liczbowe z + np. 2+ oznacza 2 plus warto losowa z przedziau 1..10 premiowane.
Informacje w linii wpisane po znaku % bd = stanowi komentarz i nie s interpretowane przez program.

================================
5.1. Pliki rasy
================================

Plik z danymi rasy musi rozpoczyna si od sowa kluczowego Rasa po ktrym pojawia si nazwa rasy (jeeli nazwa nie pojawi si program zinterpretuje j jako Nieznana). Nastpnie musz pojawi si 11 wierszy (linii), ktre odpowiadaj Parametrom podstawowym (jeeli nie pojawi si przy nich wartoci program przyjmie wartoci domylne rwne 0). W dalsze 10 linii odpowiada Odpornociom (w przypadku braku wartoci przy numerach kolejnych odpornoci program przyjmie warto 0). Po nich moe pojawi si maksymalnie 6 wierszy (linii) odpowiadajcych broniom wraz z dodatkowymi premiami z rasy (jeeli wartoci ich nie zostan podane domylnie przyjmowane jest 0). W przypadku wpisania mniej ni typw 6 broni, zostan one uzupenione (do 6) przez program, np. w pliku wpisano tylko dwa typy broni:
Miecze  10
uki proste 5
Program na etapie losowania postaci doda kolejne:
Bro 3
Bro 4
Bro 5
Bro 6

niezalenie od profesji. Naley na etapie gry okreli, ktre biegoci pozostawi.

================================
5.2. Pliki profesji
================================

Plik z danymi profesji musi rozpoczyna si od sowa kluczowego Rasa po ktrym pojawia si nazwa rasy (jeeli nazwa nie pojawi si program zinterpretuje j jako  Nieznana). Kolejne 11 wierszy (linii) odpowiada Parametrom podstawowym (analogicznie jak w przypadku pliku Rasy, brak wartoci oznacza, i program przyjmuje warto 0), 10 linii odpowiada Odpornociom, nastpnie musz pojawi si 2 linie: bg_min (biego minimalna we wszystkich typach broni) oraz premia (dodawane do biegoci we wszystkich typach broni). W dalszej kolejnoci musi pojawi si 12 linii Awansu odpowiadajcych wzrostowi Parametrw podstawowych i Biegoci wraz z wchodzeniem na kolejne poziomy.

================================
5.3. Uwagi kocowe
================================

Rzuty losowe (niezalenie od rasy) wykonywane s w nastpujcy sposb: ZYW (brak), SF k100, ZR ... WI rwnie k50, ZW k5. Do tego dochodz dorzuty k10 premiowane (oprcz ZW). Dlatego te, aby nie komplikowa formatu podawanych danych wejciowych zastosowaem nastpujce uproszczenie w przypadku rasy Czowiek i Umiejtnoci magicznych UM. Poniewa Czowiek losuje UM jedynie rzutem k100, zatem aby nie komplikowa, w pliku z danymi rasy, przy UM znajduje si k50. W efekcie UM czowieka zamiast k100 s losowane z przedziau 2..100 (rnica jest pomijalna).
Analogicznie w przypadku profesji Kapan w pliku z danymi profesji przy ZW znajduje si k5, std ZW jest losowane z przedziau 2..10, nie za k10. 
Ponadto profesj Kapan rozdzielono na Kapan Walczcy, ktry otrzymuje dodatkowy premiowany rzut k10 do YW oraz Kapan Niewalczcy, ktry otrzymuje dodatkowy premiowany rzut k10 do INT.


========================================================

6. Kostki

========================================================

Dodatkowo program posiada kostki k10, k50, k100 oraz kostk losujc z przedziau od 1 do wartoci wpisanej w polu k (maksymalna warto 999). Losowanie z rozkadu jednostajnego algorytmem Mersenne twister.
