Compare commits
798
Commits
v1.2.0
...
develop-V1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0dc6316b5b | ||
|
|
c7d1735e4b | ||
|
|
aa93dab7fd | ||
|
|
5a9ae86cf9 | ||
|
|
7f5f94491e | ||
|
|
a2979650f2 | ||
|
|
bc80b0479a | ||
|
|
fdd391b849 | ||
|
|
057edce846 | ||
|
|
c52fc26a1b | ||
|
|
d28667a935 | ||
|
|
b92e47cd13 | ||
|
|
87a21b6fc4 | ||
|
|
ccd0898f4e | ||
|
|
c162931e74 | ||
|
|
b578254d75 | ||
|
|
7b57aca991 | ||
|
|
282467e4af | ||
|
|
e6d1b8d3fd | ||
|
|
f09be7d54b | ||
|
|
3397ed8cee | ||
|
|
7b6a0980b9 | ||
|
|
7b245b989b | ||
|
|
32058f76c2 | ||
|
|
a6576bb8ab | ||
|
|
7c6e377692 | ||
|
|
fe7c5e68ed | ||
|
|
531530e763 | ||
|
|
e1befd1383 | ||
|
|
2eb87c8f4c | ||
|
|
531715f171 | ||
|
|
4c9096b3d5 | ||
|
|
7c3d722d7e | ||
|
|
c4b995e046 | ||
|
|
c987847c9b | ||
|
|
e99828f1cc | ||
|
|
8e8932cd83 | ||
|
|
246b3d5c1d | ||
|
|
c15505062d | ||
|
|
8d54177cac | ||
|
|
96c7b54fce | ||
|
|
5c7ffd0660 | ||
|
|
d24fae03b7 | ||
|
|
8102bb1a9a | ||
|
|
07d336dbb3 | ||
|
|
d40bdac744 | ||
|
|
d3926aff86 | ||
|
|
80fdffb373 | ||
|
|
92bfcb96b0 | ||
|
|
afd32c9827 | ||
|
|
3f87dca910 | ||
|
|
2c9332c37f | ||
|
|
9e9a1139d3 | ||
|
|
c5d2b0a7a4 | ||
|
|
f1e16d5c39 | ||
|
|
449f8c7bb2 | ||
|
|
53ab0e704e | ||
|
|
5b7f223211 | ||
|
|
5bb9c8ca7b | ||
|
|
ef84a38cf6 | ||
|
|
d2eca82ea5 | ||
|
|
854995cb3b | ||
|
|
659ab5f8db | ||
|
|
8777b9a0cd | ||
|
|
27cbd7abd7 | ||
|
|
e4672041db | ||
|
|
fc8c837008 | ||
|
|
a3c269dd35 | ||
|
|
8753a4656e | ||
|
|
bdb3eb7804 | ||
|
|
c0dbb3fbcb | ||
|
|
06eac93221 | ||
|
|
d2d3445928 | ||
|
|
c0d799c057 | ||
|
|
b1942216e5 | ||
|
|
1e21b6bcd4 | ||
|
|
8b18b26361 | ||
|
|
923b7605fe | ||
|
|
589338fe74 | ||
|
|
5f1e1f8148 | ||
|
|
1f090605a4 | ||
|
|
e558c1d80d | ||
|
|
232795d129 | ||
|
|
a49048d468 | ||
|
|
1ce2db9cfb | ||
|
|
7e31136083 | ||
|
|
4c9a1f9bc5 | ||
|
|
2a62e4231d | ||
|
|
41ee35ba76 | ||
|
|
cad0f26042 | ||
|
|
7a9da8f65e | ||
|
|
e36099d812 | ||
|
|
8e66f9b83a | ||
|
|
f1024868ff | ||
|
|
a24ff8082a | ||
|
|
1ed0c64b0d | ||
|
|
83b534d3f9 | ||
|
|
4dabbdbcd2 | ||
|
|
0ab65e869c | ||
|
|
f2e61386ab | ||
|
|
e70a8b9d34 | ||
|
|
c3985275bb | ||
|
|
8b060b6002 | ||
|
|
ac0cdc3778 | ||
|
|
8b5eedeb37 | ||
|
|
06b57c9d15 | ||
|
|
03f26214ae | ||
|
|
d66afba3c1 | ||
|
|
3574d1ba46 | ||
|
|
dcfba14df7 | ||
|
|
6669352d06 | ||
|
|
9cb26586f3 | ||
|
|
cd16e5314a | ||
|
|
6ba99f2f46 | ||
|
|
bd9fc1badc | ||
|
|
47e66d6546 | ||
|
|
bba9b92e5d | ||
|
|
fb0a0bbbfb | ||
|
|
8bcae62f2f | ||
|
|
383a9c166c | ||
|
|
94e751fda1 | ||
|
|
36c643f04a | ||
|
|
0143c28b0c | ||
|
|
793ad447b4 | ||
|
|
9f3e52b5da | ||
|
|
a7ff9fc901 | ||
|
|
3ea0d6ee10 | ||
|
|
83d9bd40dd | ||
|
|
8fb5f28dd0 | ||
|
|
85eba763ac | ||
|
|
a6417ff1de | ||
|
|
fe85d2d79a | ||
|
|
4850363119 | ||
|
|
e0f3d5b1a3 | ||
|
|
a26b4094c2 | ||
|
|
47028ab470 | ||
|
|
d8c9f52542 | ||
|
|
29c7b4bc39 | ||
|
|
6b93c15aa0 | ||
|
|
0620ff2ab8 | ||
|
|
10582541e0 | ||
|
|
c13b557dd7 | ||
|
|
bf9d29a6dc | ||
|
|
4699d38a1a | ||
|
|
b2fb0353a9 | ||
|
|
66077430d8 | ||
|
|
08e7817597 | ||
|
|
87cec15ba9 | ||
|
|
63ac0abbe3 | ||
|
|
41278f8316 | ||
|
|
5d45a6084e | ||
|
|
f8114c2f43 | ||
|
|
e40f995e34 | ||
|
|
ed74170865 | ||
|
|
8297455ddb | ||
|
|
42891f070c | ||
|
|
a5df7c863c | ||
|
|
ec9bd71e10 | ||
|
|
21146eb2ab | ||
|
|
16bd668313 | ||
|
|
6eeb430e83 | ||
|
|
ae2fbad1c7 | ||
|
|
d647cf5f4e | ||
|
|
e334e51685 | ||
|
|
092343f45d | ||
|
|
7ac4773b05 | ||
|
|
0b5713d6fd | ||
|
|
6357b2c4b4 | ||
|
|
ea86624560 | ||
|
|
fe34bedc54 | ||
|
|
c8094f5ef1 | ||
|
|
a02700eecc | ||
|
|
fdde329de5 | ||
|
|
c1b2e267cb | ||
|
|
eb5a06884d | ||
|
|
0a59d9e5e5 | ||
|
|
3ceeadbdf7 | ||
|
|
28f260a2c4 | ||
|
|
5b6a4c8301 | ||
|
|
cc5ecd6f09 | ||
|
|
9179bb9ff6 | ||
|
|
6c63ab1b50 | ||
|
|
3f9fae30a2 | ||
|
|
2ad037ecbc | ||
|
|
3d755eb408 | ||
|
|
2c6da7bd75 | ||
|
|
ccd7decc83 | ||
|
|
397abe2b4a | ||
|
|
3b05e69e27 | ||
|
|
723e9106eb | ||
|
|
eef960f496 | ||
|
|
6b706d3adb | ||
|
|
d3a6df526d | ||
|
|
a098a97509 | ||
|
|
093a726cf2 | ||
|
|
9d033d23df | ||
|
|
912642a5ee | ||
|
|
b92c19a3c8 | ||
|
|
c2afd39946 | ||
|
|
444cb12892 | ||
|
|
b1d7ad9ae1 | ||
|
|
f16a8fe249 | ||
|
|
764731d02f | ||
|
|
02f24b24bc | ||
|
|
ee30c4eaea | ||
|
|
8de7b51895 | ||
|
|
2c1cea9ef8 | ||
|
|
f0e8ce17ab | ||
|
|
b6112666b8 | ||
|
|
99123d5ec0 | ||
|
|
17424878e7 | ||
|
|
e44e6f8832 | ||
|
|
c33e4f1821 | ||
|
|
c1dab5b312 | ||
|
|
31cf5d6c54 | ||
|
|
63243a2e9d | ||
|
|
9017dff1fc | ||
|
|
6a479949e7 | ||
|
|
228c401666 | ||
|
|
052b5bbf2f | ||
|
|
f30efc84ce | ||
|
|
9a2902c9e9 | ||
|
|
9b44e29738 | ||
|
|
096af99794 | ||
|
|
073064c030 | ||
|
|
1ff11d6e9a | ||
|
|
fa1c527381 | ||
|
|
272095d0b9 | ||
|
|
f416587e33 | ||
|
|
cb3a4a24f2 | ||
|
|
20a0c7a055 | ||
|
|
2ec6fd0ab5 | ||
|
|
bea154d6e6 | ||
|
|
728c7e15a8 | ||
|
|
182cb92a20 | ||
|
|
0531ffb657 | ||
|
|
f9b4ab6ce4 | ||
|
|
20242a117d | ||
|
|
0cf4c70b5c | ||
|
|
a577f6b783 | ||
|
|
d445a3a378 | ||
|
|
c58279cc95 | ||
|
|
d63a494305 | ||
|
|
1df5ac8fee | ||
|
|
3edf16d8be | ||
|
|
e63713687e | ||
|
|
a35611b4d9 | ||
|
|
390dcb616a | ||
|
|
8055218c8f | ||
|
|
2cb392e511 | ||
|
|
8392e368ff | ||
|
|
692e4011b5 | ||
|
|
bcd3bd0a64 | ||
|
|
93f95c76be | ||
|
|
1af9bf192f | ||
|
|
53fbaad5c1 | ||
|
|
4c9caef67a | ||
|
|
ae652e2e60 | ||
|
|
f18a032ce6 | ||
|
|
09f98bc094 | ||
|
|
dd77fc95dd | ||
|
|
f63ea3c2d9 | ||
|
|
32aa20a890 | ||
|
|
4bbe18092c | ||
|
|
acc58c37b0 | ||
|
|
ad1c78ea58 | ||
|
|
b4b477ec73 | ||
|
|
e11cbd6c52 | ||
|
|
b3f9010ef0 | ||
|
|
030a3270c3 | ||
|
|
6b9d974db9 | ||
|
|
fdbdb24dee | ||
|
|
42787b8912 | ||
|
|
7be6ffdd71 | ||
|
|
9ac3fed26e | ||
|
|
f366309fb6 | ||
|
|
21b5a4d568 | ||
|
|
9baac1a58e | ||
|
|
c35f238fd7 | ||
|
|
a40e825f36 | ||
|
|
96ef705585 | ||
|
|
c441e1696b | ||
|
|
2a4a2bcf8f | ||
|
|
c21a48866c | ||
|
|
349c83b6e4 | ||
|
|
8d566f5bd1 | ||
|
|
775d35377f | ||
|
|
b24742206c | ||
|
|
f630a28797 | ||
|
|
c6ee377057 | ||
|
|
5ea3820113 | ||
|
|
acb6177317 | ||
|
|
8c143fe12f | ||
|
|
51abcdad5f | ||
|
|
7e459970cc | ||
|
|
88f03e0e21 | ||
|
|
b70c94358c | ||
|
|
28ac73c7cb | ||
|
|
3078f1f465 | ||
|
|
941acabc7d | ||
|
|
c6e36ed96b | ||
|
|
23e413b53f | ||
|
|
d8a809bf92 | ||
|
|
7e7c468dca | ||
|
|
5c3f0c27f9 | ||
|
|
ee8033b62c | ||
|
|
b5c9ede02a | ||
|
|
63c93204ac | ||
|
|
95d6994c65 | ||
|
|
8ce6767b58 | ||
|
|
5da07d8638 | ||
|
|
48bd37ae3e | ||
|
|
c52d5a4897 | ||
|
|
4123cc66e3 | ||
|
|
0cbde7c3cc | ||
|
|
13921f06c3 | ||
|
|
ab8e5ed632 | ||
|
|
ab1cf43a37 | ||
|
|
d63375084a | ||
|
|
1289d95391 | ||
|
|
8ce525e3ab | ||
|
|
8ff055276e | ||
|
|
dbcfcdfdcb | ||
|
|
daf95e35b3 | ||
|
|
f6c16227df | ||
|
|
a6ee74dfd8 | ||
|
|
66d76426a7 | ||
|
|
6b281c4057 | ||
|
|
c01d91c187 | ||
|
|
22da727071 | ||
|
|
11ffa12eb7 | ||
|
|
2b5b87f820 | ||
|
|
b0f7feca02 | ||
|
|
d223d380cb | ||
|
|
4130eb180d | ||
|
|
549b98b67f | ||
|
|
56c83ee4b5 | ||
|
|
eeb94be654 | ||
|
|
bc77542759 | ||
|
|
aa66e9cab6 | ||
|
|
637e8965d3 | ||
|
|
151370fb77 | ||
|
|
1fd8caaafc | ||
|
|
2b36e78fcd | ||
|
|
0d4f6d3a36 | ||
|
|
074f75a033 | ||
|
|
d9b8223ade | ||
|
|
875fe0e948 | ||
|
|
655658c59a | ||
|
|
872728bb35 | ||
|
|
286c0babc5 | ||
|
|
88204a54a1 | ||
|
|
76b2183954 | ||
|
|
43bdc12cb7 | ||
|
|
3cef003549 | ||
|
|
9cbb70ba52 | ||
|
|
bd7161062c | ||
|
|
080670ced1 | ||
|
|
aec0cac9ac | ||
|
|
815f4e6344 | ||
|
|
cf4b44b5b0 | ||
|
|
a61fa495b3 | ||
|
|
fde91bdcab | ||
|
|
16e39566cc | ||
|
|
7ac849be21 | ||
|
|
fab2c017b8 | ||
|
|
a608e925df | ||
|
|
49dd8ab6be | ||
|
|
6a422fa528 | ||
|
|
35e63a40b1 | ||
|
|
31522b85b4 | ||
|
|
d0960fa4f8 | ||
|
|
a46bdd7fff | ||
|
|
5276dea8c4 | ||
|
|
526a80d168 | ||
|
|
06d175904a | ||
|
|
b3ea4e62b0 | ||
|
|
82baf13397 | ||
|
|
152e2a133f | ||
|
|
445f67fd06 | ||
|
|
dcdbd15118 | ||
|
|
b086de5066 | ||
|
|
666c729e43 | ||
|
|
e5aed52707 | ||
|
|
669ce2057d | ||
|
|
7fd7d277c7 | ||
|
|
3d750ce323 | ||
|
|
4bc8bb8ebf | ||
|
|
f9a13d56bc | ||
|
|
34c72bf6ac | ||
|
|
e4bb5385f0 | ||
|
|
25cddaddc5 | ||
|
|
78f10da735 | ||
|
|
3403502004 | ||
|
|
910a006c28 | ||
|
|
8b4cb2b95d | ||
|
|
ad4f2ecf16 | ||
|
|
c04ce290ec | ||
|
|
cfc8dc65fb | ||
|
|
dad8ffe2b7 | ||
|
|
99031a2200 | ||
|
|
174f4d9cc2 | ||
|
|
5e6ec3290c | ||
|
|
8995884070 | ||
|
|
f48ff3bec8 | ||
|
|
8a25ff9177 | ||
|
|
b3d9ad082e | ||
|
|
ea995f4b85 | ||
|
|
7cf2c253db | ||
|
|
8de2e4287f | ||
|
|
9f8e8f4ac3 | ||
|
|
6467d0bdfb | ||
|
|
b3a3476d66 | ||
|
|
2c102af348 | ||
|
|
e21280f809 | ||
|
|
3038efe55d | ||
|
|
5fd969f0f6 | ||
|
|
8231129cd8 | ||
|
|
57f087f8e0 | ||
|
|
5a094efd31 | ||
|
|
3d60a25f3a | ||
|
|
c68634b3ef | ||
|
|
07d4cb5cfe | ||
|
|
69658b361b | ||
|
|
facf25cf2a | ||
|
|
05fef37a1a | ||
|
|
3bd8ed015d | ||
|
|
8b4a632ee4 | ||
|
|
f01ab59b67 | ||
|
|
1b5c718295 | ||
|
|
6162e811c5 | ||
|
|
4383b420ac | ||
|
|
d9e89d294d | ||
|
|
aa83244e85 | ||
|
|
c71641c7b1 | ||
|
|
07efadfbf9 | ||
|
|
714a3c8d7a | ||
|
|
b7cd6d8050 | ||
|
|
2572d8991f | ||
|
|
ac900abad8 | ||
|
|
56452f154b | ||
|
|
46f08abf04 | ||
|
|
c63c30d5e6 | ||
|
|
4511ece3b8 | ||
|
|
06217988bd | ||
|
|
f409358015 | ||
|
|
080e760600 | ||
|
|
2772154352 | ||
|
|
d03fd862d4 | ||
|
|
86d3a6aa13 | ||
|
|
0b3deba653 | ||
|
|
d5d205dde2 | ||
|
|
9e547f1ac3 | ||
|
|
757160f909 | ||
|
|
039bdca0e8 | ||
|
|
4057e26102 | ||
|
|
7f76f236bc | ||
|
|
fbcebdf8bb | ||
|
|
1f3e613d0c | ||
|
|
0ae1f835c0 | ||
|
|
e018df7afd | ||
|
|
ee2b2b3a29 | ||
|
|
225e05deb6 | ||
|
|
b39408a218 | ||
|
|
cda6d2322d | ||
|
|
61d8e9e112 | ||
|
|
b254798d9e | ||
|
|
ee2e354c17 | ||
|
|
a2f457e545 | ||
|
|
bf4e8d68c1 | ||
|
|
eb2248c82e | ||
|
|
2f4fac35a1 | ||
|
|
f8cf46f699 | ||
|
|
f890961114 | ||
|
|
06ae8991cd | ||
|
|
23065c93f6 | ||
|
|
51a63a3f08 | ||
|
|
8072ee399f | ||
|
|
ad6e2d6f83 | ||
|
|
d861f80d20 | ||
|
|
5abbbac935 | ||
|
|
5347ddec4f | ||
|
|
2cad1dd6b6 | ||
|
|
505a6718ba | ||
|
|
856c7da6cf | ||
|
|
5218562b53 | ||
|
|
0e04abec01 | ||
|
|
f54ddee6d6 | ||
|
|
d2814197b7 | ||
|
|
5b6b88c7e7 | ||
|
|
1d9b64eafc | ||
|
|
4773d98216 | ||
|
|
a5fd560998 | ||
|
|
0adf7d86a1 | ||
|
|
b41cee0ff1 | ||
|
|
c11fb747cd | ||
|
|
18fbade7c6 | ||
|
|
8f9f627a30 | ||
|
|
bc1619b231 | ||
|
|
1342977583 | ||
|
|
bb17ed75e1 | ||
|
|
c5f68a4a1d | ||
|
|
8fbdf55e51 | ||
|
|
57b8c82a17 | ||
|
|
a3df7d264b | ||
|
|
be4ef2344d | ||
|
|
86aee2b6e7 | ||
|
|
a78a0a8bd4 | ||
|
|
af1d47627c | ||
|
|
0f44de3812 | ||
|
|
3cb2beb740 | ||
|
|
098b658c70 | ||
|
|
dbb7bf4296 | ||
|
|
f6ee17b6cb | ||
|
|
702bb95615 | ||
|
|
dfe297ae4e | ||
|
|
e9b6fb16b1 | ||
|
|
8c0300ea6c | ||
|
|
51e731c37a | ||
|
|
568386363e | ||
|
|
64533686ce | ||
|
|
63073329f9 | ||
|
|
fbbf493f3e | ||
|
|
2d78190baa | ||
|
|
3e08cbb778 | ||
|
|
c1c04def86 | ||
|
|
a1f7e61c6f | ||
|
|
7ca9e44634 | ||
|
|
45d9a6f934 | ||
|
|
6c5ad44c3f | ||
|
|
ba65734345 | ||
|
|
bf097a7546 | ||
|
|
ff99b20219 | ||
|
|
afec30cb94 | ||
|
|
f535ec532d | ||
|
|
16d590c6e2 | ||
|
|
185514e141 | ||
|
|
717dd96c3d | ||
|
|
8779e84713 | ||
|
|
479659e871 | ||
|
|
8f03ae5694 | ||
|
|
aaa7f547ce | ||
|
|
2532cc1de9 | ||
|
|
2897742661 | ||
|
|
3195e06eb5 | ||
|
|
2405a095de | ||
|
|
50551e04a5 | ||
|
|
55c4da857e | ||
|
|
b1086ea312 | ||
|
|
79548077ac | ||
|
|
2e22db6fcb | ||
|
|
9860293db5 | ||
|
|
72051f32d2 | ||
|
|
dd3077164e | ||
|
|
eacfbf9e6f | ||
|
|
bfd8609dac | ||
|
|
7daa67e72d | ||
|
|
5dbf47af8e | ||
|
|
7eeee2cbb2 | ||
|
|
6825436119 | ||
|
|
f1ab40bf8f | ||
|
|
9d3f0f1425 | ||
|
|
f3c2043066 | ||
|
|
e0b9833ee0 | ||
|
|
9bdf3560b5 | ||
|
|
bc05cea0fb | ||
|
|
9afd9c6e1b | ||
|
|
22ae4648e5 | ||
|
|
0f08b0aad2 | ||
|
|
2e4d9cdd4b | ||
|
|
379b238650 | ||
|
|
748af56ae6 | ||
|
|
fd564c5129 | ||
|
|
16fc4fffcb | ||
|
|
cae1327290 | ||
|
|
f6f70ad8c8 | ||
|
|
897fae58e1 | ||
|
|
288a9f561a | ||
|
|
fbc1ecd631 | ||
|
|
4d7629fd02 | ||
|
|
9e34166128 | ||
|
|
02d33f4026 | ||
|
|
f60e93dd52 | ||
|
|
204a65afd3 | ||
|
|
4d910e2d75 | ||
|
|
f08b6ca18c | ||
|
|
b55574b7e0 | ||
|
|
3e1bfb3768 | ||
|
|
449584bc33 | ||
|
|
b23ed96733 | ||
|
|
0c74414f8e | ||
|
|
70b87f85be | ||
|
|
28c7e041a1 | ||
|
|
dcf96ef74e | ||
|
|
c70210efab | ||
|
|
9258853659 | ||
|
|
931e759c8f | ||
|
|
3d213dabde | ||
|
|
61ffce110b | ||
|
|
d78cf48702 | ||
|
|
a1008a82a1 | ||
|
|
b377c10b07 | ||
|
|
04bf908f08 | ||
|
|
f0470673e1 | ||
|
|
de4e46a4f2 | ||
|
|
6f810dfb6c | ||
|
|
9c4e7bd695 | ||
|
|
a05eb917d4 | ||
|
|
327e74d30f | ||
|
|
b2cb6488d9 | ||
|
|
c4118daa38 | ||
|
|
f6e86833f1 | ||
|
|
29fd661fa7 | ||
|
|
89d38c4cb5 | ||
|
|
6bf7bc8aca | ||
|
|
0882b76b42 | ||
|
|
1f92d758e2 | ||
|
|
0c88db896e | ||
|
|
3063b3172c | ||
|
|
16a727ba2d | ||
|
|
e87cb52b36 | ||
|
|
cc4d63c5e0 | ||
|
|
89abf23996 | ||
|
|
4525f0635e | ||
|
|
43fe490891 | ||
|
|
7b05b4d2fe | ||
|
|
6f6eb34ae9 | ||
|
|
adb8b67a22 | ||
|
|
991e72cd0b | ||
|
|
8e1aa4f9d1 | ||
|
|
175cd5ebf1 | ||
|
|
f5825c0156 | ||
|
|
a0c16fd369 | ||
|
|
60787fd22b | ||
|
|
6b894b899e | ||
|
|
62c7200dc8 | ||
|
|
2a17220cb9 | ||
|
|
3115468578 | ||
|
|
630f165388 | ||
|
|
79e3d3e58e | ||
|
|
c6b3af3b13 | ||
|
|
0b24f77803 | ||
|
|
5b78ce3c55 | ||
|
|
2af5361736 | ||
|
|
0d0026979d | ||
|
|
81694e3ea6 | ||
|
|
814acbd257 | ||
|
|
98dda4926a | ||
|
|
9dd15301c3 | ||
|
|
ec91243248 | ||
|
|
1acdfee683 | ||
|
|
dcef4d0097 | ||
|
|
a6b48a77a9 | ||
|
|
4db15b9755 | ||
|
|
6a958d3ef5 | ||
|
|
e99d2e7318 | ||
|
|
6d6aa11d45 | ||
|
|
b765f55124 | ||
|
|
add5837d2f | ||
|
|
01d4bda1ed | ||
|
|
0bceb4b5ae | ||
|
|
293114c063 | ||
|
|
24a2b8d3e3 | ||
|
|
a3fe6c13c3 | ||
|
|
5d43f93409 | ||
|
|
2ade25a060 | ||
|
|
6e41ea8353 | ||
|
|
756d09fb3c | ||
|
|
5960f1fe88 | ||
|
|
23c41a0e7b | ||
|
|
4ca61b9441 | ||
|
|
81d125880f | ||
|
|
ee1e94c59c | ||
|
|
eef2b3eab5 | ||
|
|
251864b22a | ||
|
|
98d850901c | ||
|
|
45ac7ae6da | ||
|
|
af869f94e0 | ||
|
|
54e67b142c | ||
|
|
e65c2216a5 | ||
|
|
4a49014a3f | ||
|
|
6b7f6f4630 | ||
|
|
f97fdbb729 | ||
|
|
fde3c30df3 | ||
|
|
e7b9286857 | ||
|
|
65152dc393 | ||
|
|
980769bb4c | ||
|
|
faa7143d74 | ||
|
|
ace7074c32 | ||
|
|
a712133cc9 | ||
|
|
76aa7dc80f | ||
|
|
6e60139461 | ||
|
|
76c78f2ab2 | ||
|
|
dd52f2522a | ||
|
|
c3d8d8ef9c | ||
|
|
450e87a0fc | ||
|
|
a52e38daac | ||
|
|
50c5d462ad | ||
|
|
e3b67145aa | ||
|
|
73c2accc10 | ||
|
|
0037554613 | ||
|
|
9524480f2c | ||
|
|
e88d270d6c | ||
|
|
c3f3798ab4 | ||
|
|
538a535020 | ||
|
|
9ae738578b | ||
|
|
6f95992b28 | ||
|
|
b2ca99c30f | ||
|
|
d9520bc8c9 | ||
|
|
7ea530ca5c | ||
|
|
6eb8bc18db | ||
|
|
3852b1d0ba | ||
|
|
11f3327579 | ||
|
|
a781d2d3cb | ||
|
|
39b0fb938e | ||
|
|
20f7637b38 | ||
|
|
15283ce543 | ||
|
|
2ef6993030 | ||
|
|
2d0bc1f7f8 | ||
|
|
9d3eb04ba3 | ||
|
|
20a4ebd6a9 | ||
|
|
61e51e95ca | ||
|
|
8cfbd41b66 | ||
|
|
0cf5771ae8 | ||
|
|
cae45a857b | ||
|
|
d7fde01d7b | ||
|
|
714edd48ac | ||
|
|
d7217cf982 | ||
|
|
9c61d5772c | ||
|
|
8c9b3e5b03 | ||
|
|
1662e7d79c | ||
|
|
5771eec7b9 | ||
|
|
cf22958a17 | ||
|
|
dfa5aae311 | ||
|
|
ab83ddab0b | ||
|
|
30c7c4b548 | ||
|
|
aa915a80ff | ||
|
|
1ba434b9b8 | ||
|
|
fa996059d3 | ||
|
|
a477927b62 | ||
|
|
764c6c0917 | ||
|
|
f0fa5030b5 | ||
|
|
8fc888075f | ||
|
|
87e19c908d | ||
|
|
f0ab86691c | ||
|
|
6de9f7f01f | ||
|
|
d66bab23d0 | ||
|
|
52a60597a1 | ||
|
|
252332750e | ||
|
|
678f85e0e7 | ||
|
|
0e48a93e2d | ||
|
|
d7d72482b5 | ||
|
|
f017dd492c | ||
|
|
31419c78c6 | ||
|
|
beaf081215 | ||
|
|
371046e30e | ||
|
|
8367b64d9f | ||
|
|
6f4bd5de86 | ||
|
|
4c4835411b | ||
|
|
2a6787015e | ||
|
|
7597a8be77 | ||
|
|
192cd7112b | ||
|
|
36a90037d0 | ||
|
|
659dfed4fc | ||
|
|
bc43da3b30 | ||
|
|
41edf21fd4 | ||
|
|
1b2515c623 | ||
|
|
9fc8d4a45f | ||
|
|
0312037f1d | ||
|
|
9549b87761 | ||
|
|
a8e6aee20d | ||
|
|
be3616e680 | ||
|
|
f815f2708b | ||
|
|
282d7764fe | ||
|
|
0f511fe2d8 | ||
|
|
9a830e33ee | ||
|
|
164f791c0e | ||
|
|
2776bc039d | ||
|
|
7a1798193b | ||
|
|
216bcd25fc | ||
|
|
5ad3c81666 | ||
|
|
8925fc1a8a | ||
|
|
462dae8a25 | ||
|
|
052061c8f8 | ||
|
|
331af9b03d | ||
|
|
9d468f7842 | ||
|
|
cb931bd77c | ||
|
|
69f455a1a5 | ||
|
|
0231d17d7b | ||
|
|
bfad37ebb1 | ||
|
|
83f18dce52 | ||
|
|
9b9c09eace | ||
|
|
111cea06cb | ||
|
|
2550735f8b | ||
|
|
3e6c9ec960 | ||
|
|
7351e66c52 | ||
|
|
84501dda00 | ||
|
|
93bf8a6e69 |
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"extends": ["@commitlint/config-conventional"]
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
src/App/Utilities/YAML/Schema/
|
||||
*.js
|
||||
*.gen.tsx
|
||||
node_modules
|
||||
/app
|
||||
/deploy
|
||||
+107
-46
@@ -1,12 +1,15 @@
|
||||
root: true
|
||||
parser: "@typescript-eslint/parser"
|
||||
plugins:
|
||||
- "@typescript-eslint"
|
||||
- eslint-plugin-react
|
||||
- eslint-plugin-react-hooks
|
||||
parser: "@typescript-eslint/parser"
|
||||
- eslint-plugin-tsdoc
|
||||
parserOptions:
|
||||
ecmaVersion: 2020
|
||||
ecmaVersion: latest
|
||||
sourceType: module
|
||||
project: ./tsconfig.json
|
||||
project:
|
||||
- ./tsconfig.json
|
||||
ecmaFeatures:
|
||||
jsx: true
|
||||
env:
|
||||
@@ -27,8 +30,6 @@ rules:
|
||||
no-duplicate-case: 2
|
||||
no-empty-character-class: 2
|
||||
no-ex-assign: 2
|
||||
no-extra-parens: 0
|
||||
no-extra-semi: 2
|
||||
no-inner-declarations: 1
|
||||
no-invalid-regexp: 2
|
||||
no-irregular-whitespace: 2
|
||||
@@ -70,7 +71,12 @@ rules:
|
||||
no-empty-pattern: 2
|
||||
no-eq-null: 2
|
||||
no-eval: 2
|
||||
no-extend-native: 2
|
||||
no-extend-native:
|
||||
- 2
|
||||
- exceptions:
|
||||
- "Array"
|
||||
- "Map"
|
||||
- "Set"
|
||||
no-extra-bind: 2
|
||||
no-extra-label: 2
|
||||
no-fallthrough: 2
|
||||
@@ -95,15 +101,13 @@ rules:
|
||||
no-octal-escape: 2
|
||||
no-param-reassign: 2
|
||||
no-proto: 2
|
||||
no-redeclare: 2
|
||||
no-redeclare: 0
|
||||
no-return-assign: 2
|
||||
no-return-await: 2
|
||||
no-script-url: 2
|
||||
no-self-assign: 2
|
||||
no-self-compare: 2
|
||||
no-throw-literal: 2
|
||||
no-unmodified-loop-condition: 2
|
||||
no-unused-expressions: 2
|
||||
no-unused-labels: 2
|
||||
no-useless-call: 2
|
||||
no-useless-catch: 2
|
||||
@@ -124,7 +128,7 @@ rules:
|
||||
init-declarations: 2
|
||||
no-delete-var: 2
|
||||
no-label-var: 2
|
||||
no-shadow: 2
|
||||
no-shadow: 0
|
||||
no-shadow-restricted-names: 2
|
||||
# no-undef: 2
|
||||
|
||||
@@ -136,9 +140,6 @@ rules:
|
||||
- 2
|
||||
- consistent
|
||||
block-spacing: 2
|
||||
brace-style:
|
||||
- 2
|
||||
- stroustrup
|
||||
# capitalized-comments: 2
|
||||
comma-dangle:
|
||||
- 2
|
||||
@@ -147,11 +148,9 @@ rules:
|
||||
imports: always-multiline
|
||||
exports: always-multiline
|
||||
functions: only-multiline
|
||||
comma-spacing: 2
|
||||
comma-style: 2
|
||||
computed-property-spacing: 2
|
||||
eol-last: 2
|
||||
func-call-spacing: 0
|
||||
func-name-matching: 2
|
||||
func-names: 2
|
||||
func-style:
|
||||
@@ -163,27 +162,45 @@ rules:
|
||||
- consistent
|
||||
function-paren-newline:
|
||||
- 2
|
||||
- consistent
|
||||
indent: 0
|
||||
- multiline-arguments
|
||||
jsx-quotes: 2
|
||||
key-spacing: 2
|
||||
keyword-spacing: 2
|
||||
line-comment-position: 2
|
||||
lines-around-comment:
|
||||
- 2
|
||||
- 0
|
||||
# requires an empty line before block comments
|
||||
- beforeBlockComment: true
|
||||
# lines-around-comment":
|
||||
# - 2
|
||||
# - beforeBlockComment: true
|
||||
# allowBlockStart: true
|
||||
# beforeLineComment: true
|
||||
# requires an empty line after block comments
|
||||
afterBlockComment: false
|
||||
# requires an empty line before line comments
|
||||
beforeLineComment: true
|
||||
# requires an empty line after line comments
|
||||
afterLineComment: false
|
||||
# allows comments to appear at the start of block statements
|
||||
allowBlockStart: true
|
||||
# allows comments to appear at the end of block statements
|
||||
allowBlockEnd: false
|
||||
# allows comments to appear at the start of object literals
|
||||
allowObjectStart: true
|
||||
# allows comments to appear at the end of object literals
|
||||
allowObjectEnd: false
|
||||
# allows comments to appear at the start of array literals
|
||||
allowArrayStart: true
|
||||
# allows comments to appear at the end of array literals
|
||||
allowArrayEnd: false
|
||||
# allows comments to appear at the start of classes
|
||||
allowClassStart: true
|
||||
# allows comments to appear at the end of classes
|
||||
allowClassEnd: false
|
||||
ignorePattern: "^ *@"
|
||||
lines-between-class-members: 2
|
||||
max-len:
|
||||
- 2
|
||||
- code: 100
|
||||
ignoreComments: true
|
||||
ignoreTemplateLiterals: true
|
||||
ignorePattern: "^import |^export \\{(.*?)\\}|^ \\* "
|
||||
ignorePattern: "^import |^export \\{(.*?)\\}|^ \\* |^ *it ?\\(\"\\w+"
|
||||
max-statements-per-line: [2, { max: 2 }]
|
||||
multiline-ternary:
|
||||
- 2
|
||||
@@ -192,7 +209,6 @@ rules:
|
||||
newline-per-chained-call:
|
||||
- 2
|
||||
- ignoreChainWithDepth: 2
|
||||
no-array-constructor: 2
|
||||
no-bitwise: 2
|
||||
no-continue: 2
|
||||
no-inline-comments: 2
|
||||
@@ -225,7 +241,7 @@ rules:
|
||||
- 2
|
||||
- before
|
||||
- overrides:
|
||||
"=": after
|
||||
"=": ignore
|
||||
padded-blocks:
|
||||
- 2
|
||||
- blocks: never
|
||||
@@ -240,16 +256,9 @@ rules:
|
||||
quote-props:
|
||||
- 2
|
||||
- as-needed
|
||||
quotes:
|
||||
- 2
|
||||
- double
|
||||
- avoidEscape: true
|
||||
allowTemplateLiterals: true
|
||||
semi: 0
|
||||
semi-spacing: 2
|
||||
semi-style: 2
|
||||
space-before-blocks: 2
|
||||
space-before-function-paren: 2
|
||||
space-in-parens: 2
|
||||
space-infix-ops:
|
||||
- 2
|
||||
@@ -275,7 +284,6 @@ rules:
|
||||
no-new-symbol: 2
|
||||
no-this-before-super: 2
|
||||
no-useless-computed-key: 2
|
||||
no-useless-constructor: 2
|
||||
no-useless-rename: 2
|
||||
no-var: 2
|
||||
object-shorthand: 2
|
||||
@@ -307,18 +315,21 @@ rules:
|
||||
"@typescript-eslint/await-thenable": 2
|
||||
# "@typescript-eslint/class-name-casing": 2
|
||||
"@typescript-eslint/consistent-type-assertions": 2
|
||||
"@typescript-eslint/func-call-spacing":
|
||||
"@typescript-eslint/member-delimiter-style":
|
||||
- 2
|
||||
- always
|
||||
- allowNewlines: true
|
||||
# "@typescript-eslint/indent":
|
||||
# - 2
|
||||
# - 2
|
||||
# - flatTernaryExpressions: true
|
||||
"@typescript-eslint/interface-name-prefix": 2
|
||||
"@typescript-eslint/no-extra-parens":
|
||||
- 1
|
||||
- functions
|
||||
- multiline:
|
||||
delimiter: none
|
||||
singleline:
|
||||
delimiter: semi
|
||||
requireLast: false
|
||||
"@typescript-eslint/naming-convention":
|
||||
- error
|
||||
- selector: interface
|
||||
format:
|
||||
- PascalCase
|
||||
custom:
|
||||
regex: "^I[A-Z]"
|
||||
match: false
|
||||
"@typescript-eslint/no-floating-promises": 2
|
||||
"@typescript-eslint/no-for-in-array": 2
|
||||
"@typescript-eslint/no-inferrable-types": 2
|
||||
@@ -333,7 +344,7 @@ rules:
|
||||
"@typescript-eslint/promise-function-async": 2
|
||||
# "@typescript-eslint/quotes": 2
|
||||
"@typescript-eslint/require-array-sort-compare": 2
|
||||
# "@typescript-eslint/require-await": 2
|
||||
"@typescript-eslint/require-await": 2
|
||||
"@typescript-eslint/restrict-plus-operands": 2
|
||||
# "@typescript-eslint/semi":
|
||||
# - 2
|
||||
@@ -344,6 +355,53 @@ rules:
|
||||
# "@typescript-eslint/unbound-method": 2
|
||||
"@typescript-eslint/unified-signatures": 2
|
||||
|
||||
# TypeScript Extension
|
||||
brace-style: 0
|
||||
"@typescript-eslint/brace-style":
|
||||
- 2
|
||||
- stroustrup
|
||||
comma-spacing: 0
|
||||
"@typescript-eslint/comma-spacing": 2
|
||||
func-call-spacing: 0
|
||||
"@typescript-eslint/func-call-spacing":
|
||||
- 2
|
||||
- always
|
||||
- allowNewlines: true
|
||||
indent: 0
|
||||
"@typescript-eslint/indent": 0
|
||||
no-array-constructor: 0
|
||||
"@typescript-eslint/no-array-constructor": 2
|
||||
no-extra-parens: 0
|
||||
"@typescript-eslint/no-extra-parens": 0
|
||||
no-extra-semi: 0
|
||||
"@typescript-eslint/no-extra-semi": 2
|
||||
no-unused-expressions: 0
|
||||
"@typescript-eslint/no-redeclare": 2
|
||||
"@typescript-eslint/no-shadow": 2
|
||||
"@typescript-eslint/no-unused-expressions": 2
|
||||
"@typescript-eslint/no-unused-vars":
|
||||
- 2
|
||||
- argsIgnorePattern: "^_"
|
||||
varsIgnorePattern: "^_"
|
||||
"@typescript-eslint/no-use-before-define": 2
|
||||
no-useless-constructor: 0
|
||||
"@typescript-eslint/no-useless-constructor": 2
|
||||
quotes: 0
|
||||
"@typescript-eslint/quotes":
|
||||
- 2
|
||||
- double
|
||||
- avoidEscape: true
|
||||
allowTemplateLiterals: true
|
||||
no-return-await: 0
|
||||
"@typescript-eslint/return-await": 2
|
||||
semi: 0
|
||||
"@typescript-eslint/semi":
|
||||
- 2
|
||||
- never
|
||||
- beforeStatementContinuationChars: never
|
||||
space-before-function-paren: 0
|
||||
"@typescript-eslint/space-before-function-paren": 2
|
||||
|
||||
# React
|
||||
react/boolean-prop-naming: 2
|
||||
react/destructuring-assignment: 2
|
||||
@@ -430,6 +488,9 @@ rules:
|
||||
# React Hooks
|
||||
react-hooks/rules-of-hooks: 2
|
||||
react-hooks/exhaustive-deps: 2
|
||||
|
||||
# TSDoc
|
||||
tsdoc/syntax: warn
|
||||
settings:
|
||||
react:
|
||||
version: detect
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
# These are supported funding model platforms
|
||||
|
||||
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
|
||||
patreon: optolith # Replace with a single Patreon username
|
||||
open_collective: # Replace with a single Open Collective username
|
||||
ko_fi: # Replace with a single Ko-fi username
|
||||
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
||||
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
||||
liberapay: # Replace with a single Liberapay username
|
||||
issuehunt: # Replace with a single IssueHunt username
|
||||
otechie: # Replace with a single Otechie username
|
||||
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
|
||||
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
|
||||
@@ -1,32 +0,0 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
title: ''
|
||||
labels: bug
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Describe the bug**
|
||||
> A clear and concise description of what the bug is.
|
||||
|
||||
**To Reproduce**
|
||||
> Steps to reproduce the behavior:
|
||||
> 1. Go to '...'
|
||||
> 2. Click on '....'
|
||||
> 3. Scroll down to '....'
|
||||
> 4. See error
|
||||
|
||||
**Expected behavior**
|
||||
> A clear and concise description of what you expected to happen.
|
||||
|
||||
**Screenshots**
|
||||
> If applicable, add screenshots to help explain your problem.
|
||||
|
||||
**Environment**
|
||||
> Please complete the following information
|
||||
- OS: [e.g. Windows 10]
|
||||
- Version [e.g. 1.1.0]
|
||||
|
||||
**Additional context**
|
||||
> Add any other context about the problem here.
|
||||
@@ -0,0 +1,73 @@
|
||||
name: Bug report
|
||||
description: Create a report to help improve Optolith
|
||||
labels:
|
||||
- Bug
|
||||
body:
|
||||
- type: checkboxes
|
||||
id: agreements
|
||||
attributes:
|
||||
label: Please confirm the following
|
||||
options:
|
||||
- label: I checked the [current issues](https://github.com/elyukai/optolith-client/issues) for duplicate problems.
|
||||
required: true
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Describe the bug
|
||||
description: A clear and concise description of what the bug is.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: to-reproduce
|
||||
attributes:
|
||||
label: To Reproduce
|
||||
description: |
|
||||
Steps to reproduce the behavior.
|
||||
placeholder: |
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. Scroll down to '....'
|
||||
4. See error
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: expected-behavior
|
||||
attributes:
|
||||
label: Expected behavior
|
||||
description: A clear and concise description of what you expected to happen.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: screenshots
|
||||
attributes:
|
||||
label: Screenshots
|
||||
description: If applicable, add screenshots to help explain your problem.
|
||||
validations:
|
||||
required: false
|
||||
- type: dropdown
|
||||
id: operating-system
|
||||
attributes:
|
||||
label: Operating System
|
||||
description: Which operating systems have you used? You may select more than one.
|
||||
multiple: true
|
||||
options:
|
||||
- macOS
|
||||
- Windows
|
||||
- Linux
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: version
|
||||
attributes:
|
||||
label: Version
|
||||
description: Which Optolith version have you used?
|
||||
placeholder: 1.1.0, 1.3.0-alpha.5, …
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: additional-context
|
||||
attributes:
|
||||
label: Additional context
|
||||
description: Add any other context about the problem here.
|
||||
validations:
|
||||
required: false
|
||||
@@ -2,19 +2,29 @@
|
||||
name: Feature request
|
||||
about: Suggest an idea for this project
|
||||
title: ''
|
||||
labels: feature request
|
||||
labels: Feature Request
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Is your feature request related to a problem? Please describe.**
|
||||
> A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||
## Is your feature request related to a problem?
|
||||
|
||||
**Describe the solution you'd like**
|
||||
> A clear and concise description of what you want to happen.
|
||||
A clear and concise description of what the problem is. E.g. _I'm always frustrated when [...]_
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
> A clear and concise description of any alternative solutions or features you've considered.
|
||||
|
||||
**Additional context**
|
||||
|
||||
## Describe the solution you'd like
|
||||
|
||||
A clear and concise description of what you want to happen.
|
||||
|
||||
|
||||
|
||||
## Describe alternatives
|
||||
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
||||
|
||||
|
||||
|
||||
## Additional context
|
||||
|
||||
> Add any other context or screenshots about the feature request here.
|
||||
|
||||
@@ -2,23 +2,45 @@
|
||||
name: New Book Data
|
||||
about: Implement a specific part of a (new) book
|
||||
title: 'Book: Section'
|
||||
labels: l10n, tables
|
||||
labels: 'Domain: Static Data, L10n'
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Sources**
|
||||
> List here what is included in this part of the book to implement. E.g., for special abilities, you need to list every source of entries from the book. Example (in German):
|
||||
> - [ ] S. 133 (Berufsgeheimnisse)
|
||||
> - [ ] S. 165-170 (Zauber- und Liturgiestile)
|
||||
> - [ ] S. 183 (Stabzauber)
|
||||
> - [ ] S. 195 (Zeremonialgegenstand Widderkeule)
|
||||
## Sources
|
||||
|
||||
**Tables**
|
||||
> Delete Univ and change locale if necessary. Add specific entries if they could not be resolved.
|
||||
- [ ] Univ
|
||||
- [ ] L10n de-DE
|
||||
<!-- List here what is included in this part of the book to implement. E.g., for special abilities, you need to list every source of entries from the book. Use page ranges if entries span multiple pages. Example:
|
||||
|
||||
**Code**
|
||||
> List here what cannot be solved only using the tables. Example (in German):
|
||||
> - [ ] Voraussetzungen Vorliebe I-II
|
||||
- [ ] S. 133 (Entry A)
|
||||
- [ ] S. 133–134 (Entry B)
|
||||
|
||||
Alternatively, provide an overview of the different sections in the book where one or more relevant entries occur. Example (in German):
|
||||
|
||||
- [ ] S. 133–150 (Berufsgeheimnisse)
|
||||
|
||||
-->
|
||||
|
||||
- [ ] S. X (Entry/Section/Chapter Name)
|
||||
|
||||
## Special Notes
|
||||
|
||||
<!-- List here any special hints to implement the sources listed above. Example:
|
||||
|
||||
- All entries are already present, only add source references
|
||||
- Pay attention to the layout of entry A, there is a gap that should not be in Optolith
|
||||
|
||||
Replace the dash below this comment if there are any notes. -->
|
||||
|
||||
—
|
||||
|
||||
|
||||
|
||||
## Special Implementations
|
||||
|
||||
<!-- List issues that track what cannot be solved only using the database. Example:
|
||||
|
||||
- #123
|
||||
|
||||
Replace the dash below this comment if there are any notes. -->
|
||||
|
||||
—
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
---
|
||||
name: Publication ambiguity
|
||||
about: An ambiguity in an official publication
|
||||
title: ''
|
||||
labels: 'Ulisses: Question'
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
## Source(s)
|
||||
|
||||
Please complete the following information:
|
||||
|
||||
- Book: [e.g. Magic of Aventuria I]
|
||||
- Printing: [e.g. 1st]
|
||||
- Page(s): [e.g. 199]
|
||||
- Area: [e.g. Profession Black Mage (Demirion Ophenos's Student), AP value]
|
||||
|
||||
|
||||
|
||||
## Describe the ambiguity
|
||||
|
||||
A clear and concise description of what the ambiguity is.
|
||||
@@ -0,0 +1,39 @@
|
||||
---
|
||||
name: Publication bug report
|
||||
about: Create a report of an bug in one of the official publications
|
||||
title: ''
|
||||
labels: 'Bug, Domain: Static Data, Ulisses: Bug'
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
## Source (please complete the following information):
|
||||
|
||||
- Book: [e.g. Magic of Aventuria I]
|
||||
- Printing: [e.g. 1st]
|
||||
- Page(s): [e.g. 199]
|
||||
- Area: [e.g. Profession Black Mage (Demirion Ophenos's Student), AP value]
|
||||
|
||||
|
||||
|
||||
## Describe the bug
|
||||
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
|
||||
|
||||
## Expected text
|
||||
|
||||
A clear and concise description of what the text *should* be instead.
|
||||
|
||||
|
||||
|
||||
## Optolith Version:
|
||||
|
||||
If applicable, the exact version of Optolith where you experience the bug, e.g. 1.2.0, 1.3.0-alpha.5.
|
||||
|
||||
|
||||
|
||||
## Additional context
|
||||
|
||||
If needed, add any other context about the problem here.
|
||||
@@ -1,10 +0,0 @@
|
||||
---
|
||||
name: Question
|
||||
about: I have a question.
|
||||
title: ''
|
||||
labels: question
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
name: Commitlint
|
||||
|
||||
on: [pull_request]
|
||||
|
||||
jobs:
|
||||
commitlint:
|
||||
name: Lint commit messages
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- uses: wagoid/commitlint-github-action@v2
|
||||
with:
|
||||
configFile: .commitlintrc.json
|
||||
@@ -0,0 +1,66 @@
|
||||
name: Prerelease Builds
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- v[0-9]+.[0-9]+.[0-9]+-[a-z]+.[0-9]+
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build ${{ matrix.osName }} Prerelease
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os:
|
||||
- ubuntu-latest
|
||||
- windows-latest
|
||||
- macOS-latest
|
||||
include:
|
||||
- os: ubuntu-latest
|
||||
osName: Linux
|
||||
- os: windows-latest
|
||||
osName: Windows
|
||||
- os: macOS-latest
|
||||
osName: macOS
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
token: ${{ secrets.ACCESS_TOKEN }}
|
||||
submodules: true
|
||||
- name: Use Node.js 18.x
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 18.x
|
||||
- name: Install Node.js dependencies
|
||||
run: npm ci
|
||||
- name: Compile JavaScript files
|
||||
run: npm run js:build
|
||||
- name: Compile Sass files
|
||||
run: npm run css:build
|
||||
- name: Build macOS application
|
||||
if: runner.os == 'macOS'
|
||||
run: node ./deploy/build.mjs prerelease
|
||||
env:
|
||||
APPLEID: ${{ secrets.APPLEID }}
|
||||
APPLEIDPASS: ${{ secrets.APPLEIDPASS }}
|
||||
TEAMID: ${{ secrets.TEAMID }}
|
||||
CSC_LINK: ${{ secrets.CSC_LINK }}
|
||||
CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }}
|
||||
UPDATE_URL: ${{ secrets.UPDATE_URL }}
|
||||
- name: Build Linux application
|
||||
if: runner.os == 'Linux'
|
||||
run: node ./deploy/build.mjs prerelease
|
||||
env:
|
||||
UPDATE_URL: ${{ secrets.UPDATE_URL }}
|
||||
- name: Build Windows application
|
||||
if: runner.os == 'Windows'
|
||||
run: node ./deploy/build.mjs prerelease
|
||||
env:
|
||||
UPDATE_URL: ${{ secrets.UPDATE_URL }}
|
||||
- name: Deploy
|
||||
run: node ./deploy/deploy.mjs prerelease
|
||||
env:
|
||||
HOST: ${{ secrets.HOST }}
|
||||
USERNAME: ${{ secrets.USERNAME }}
|
||||
PASSWORD: ${{ secrets.PASSWORD }}
|
||||
ROOT: ${{ secrets.ROOT }}
|
||||
@@ -0,0 +1,66 @@
|
||||
name: Stable Builds
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- v[0-9]+.[0-9]+.[0-9]+
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build ${{ matrix.osName }} Stable
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os:
|
||||
- ubuntu-latest
|
||||
- windows-latest
|
||||
- macOS-latest
|
||||
include:
|
||||
- os: ubuntu-latest
|
||||
osName: Linux
|
||||
- os: windows-latest
|
||||
osName: Windows
|
||||
- os: macOS-latest
|
||||
osName: macOS
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
token: ${{ secrets.ACCESS_TOKEN }}
|
||||
submodules: true
|
||||
- name: Use Node.js 18.x
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 18.x
|
||||
- name: Install Node.js dependencies
|
||||
run: npm ci
|
||||
- name: Compile JavaScript files
|
||||
run: npm run js:build
|
||||
- name: Compile Sass files
|
||||
run: npm run css:build
|
||||
- name: Build macOS application
|
||||
if: runner.os == 'macOS'
|
||||
run: node ./deploy/build.mjs stable
|
||||
env:
|
||||
APPLEID: ${{ secrets.APPLEID }}
|
||||
APPLEIDPASS: ${{ secrets.APPLEIDPASS }}
|
||||
TEAMID: ${{ secrets.TEAMID }}
|
||||
CSC_LINK: ${{ secrets.CSC_LINK }}
|
||||
CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }}
|
||||
UPDATE_URL: ${{ secrets.UPDATE_URL }}
|
||||
- name: Build Linux application
|
||||
if: runner.os == 'Linux'
|
||||
run: node ./deploy/build.mjs stable
|
||||
env:
|
||||
UPDATE_URL: ${{ secrets.UPDATE_URL }}
|
||||
- name: Build Windows application
|
||||
if: runner.os == 'Windows'
|
||||
run: node ./deploy/build.mjs stable
|
||||
env:
|
||||
UPDATE_URL: ${{ secrets.UPDATE_URL }}
|
||||
- name: Deploy
|
||||
run: node ./deploy/deploy.mjs stable
|
||||
env:
|
||||
HOST: ${{ secrets.HOST }}
|
||||
USERNAME: ${{ secrets.USERNAME }}
|
||||
PASSWORD: ${{ secrets.PASSWORD }}
|
||||
ROOT: ${{ secrets.ROOT }}
|
||||
@@ -0,0 +1,49 @@
|
||||
name: Integration
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- develop
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
- develop
|
||||
|
||||
jobs:
|
||||
test:
|
||||
name: Test
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
token: ${{ secrets.ACCESS_TOKEN }}
|
||||
submodules: true
|
||||
- name: Use Node.js 18.x
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 18.x
|
||||
- name: Install Node.js dependencies
|
||||
run: npm ci
|
||||
- name: Compile TypeScript files
|
||||
run: npm run ts:build
|
||||
- name: Run tests
|
||||
run: npm test
|
||||
lint:
|
||||
name: Lint
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
token: ${{ secrets.ACCESS_TOKEN }}
|
||||
submodules: true
|
||||
- name: Use Node.js 18.x
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 18.x
|
||||
- name: Install Node.js dependencies
|
||||
run: npm ci
|
||||
- name: Run linter
|
||||
run: npm run lint
|
||||
+7
-4
@@ -6,16 +6,15 @@ npm-debug.log*
|
||||
/dist/
|
||||
.rpt2_cache
|
||||
.esm-cache
|
||||
app/index.html
|
||||
app/main.css
|
||||
app/**/*.js
|
||||
app/**/*.js.map
|
||||
!app/index.js
|
||||
!app/esmPreload.js
|
||||
/installer/
|
||||
electron-builder.env
|
||||
app/Database/**/*.xlsx
|
||||
*.map
|
||||
app/Database/de-DE/.~lock.l10n.xlsx#
|
||||
app/Database/.~lock.univ.xlsx#
|
||||
tablesSrc.json
|
||||
publishSettings.json
|
||||
|
||||
.env*
|
||||
@@ -23,3 +22,7 @@ publishSettings.json
|
||||
Tables.zip
|
||||
tables/
|
||||
deploy/tablesSrc.json
|
||||
/lib/bs/
|
||||
.merlin
|
||||
.bsb.lock
|
||||
*.tsbuildinfo
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
[submodule "app/Database"]
|
||||
path = app/Database
|
||||
url = https://github.com/elyukai/optolith-data.git
|
||||
Generated
+3
@@ -0,0 +1,3 @@
|
||||
# Default ignored files
|
||||
/workspace.xml
|
||||
/eslintPlugin.xml
|
||||
Generated
+44
@@ -0,0 +1,44 @@
|
||||
<component name="ProjectCodeStyleConfiguration">
|
||||
<code_scheme name="Project" version="173">
|
||||
<option name="RIGHT_MARGIN" value="0" />
|
||||
<option name="SOFT_MARGINS" value="80,100" />
|
||||
<JSCodeStyleSettings version="0">
|
||||
<option name="SPACE_WITHIN_ARRAY_INITIALIZER_BRACKETS" value="true" />
|
||||
<option name="FORCE_QUOTE_STYlE" value="true" />
|
||||
<option name="SPACES_WITHIN_OBJECT_LITERAL_BRACES" value="true" />
|
||||
<option name="SPACES_WITHIN_IMPORTS" value="true" />
|
||||
</JSCodeStyleSettings>
|
||||
<TypeScriptCodeStyleSettings version="0">
|
||||
<option name="USE_SEMICOLON_AFTER_STATEMENT" value="false" />
|
||||
<option name="FILE_NAME_STYLE" value="PASCAL_CASE" />
|
||||
<option name="SPACE_WITHIN_ARRAY_INITIALIZER_BRACKETS" value="true" />
|
||||
<option name="PREFER_AS_TYPE_CAST" value="true" />
|
||||
<option name="SPACES_WITHIN_OBJECT_LITERAL_BRACES" value="true" />
|
||||
<option name="SPACES_WITHIN_IMPORTS" value="true" />
|
||||
<option name="IMPORT_SORT_MODULE_NAME" value="true" />
|
||||
</TypeScriptCodeStyleSettings>
|
||||
<codeStyleSettings language="JavaScript">
|
||||
<option name="RIGHT_MARGIN" value="100" />
|
||||
<option name="ELSE_ON_NEW_LINE" value="true" />
|
||||
<option name="SPACE_AROUND_BITWISE_OPERATORS" value="false" />
|
||||
<option name="SPACE_BEFORE_METHOD_PARENTHESES" value="true" />
|
||||
<option name="METHOD_CALL_CHAIN_WRAP" value="2" />
|
||||
<option name="IF_BRACE_FORCE" value="3" />
|
||||
<option name="DOWHILE_BRACE_FORCE" value="3" />
|
||||
<option name="WHILE_BRACE_FORCE" value="3" />
|
||||
<option name="FOR_BRACE_FORCE" value="3" />
|
||||
</codeStyleSettings>
|
||||
<codeStyleSettings language="TypeScript">
|
||||
<option name="RIGHT_MARGIN" value="100" />
|
||||
<option name="SPACE_AROUND_UNARY_OPERATOR" value="true" />
|
||||
<option name="SPACE_BEFORE_METHOD_CALL_PARENTHESES" value="true" />
|
||||
<option name="SPACE_BEFORE_METHOD_PARENTHESES" value="true" />
|
||||
<option name="WRAP_COMMENTS" value="true" />
|
||||
<indentOptions>
|
||||
<option name="INDENT_SIZE" value="2" />
|
||||
<option name="CONTINUATION_INDENT_SIZE" value="2" />
|
||||
<option name="TAB_SIZE" value="2" />
|
||||
</indentOptions>
|
||||
</codeStyleSettings>
|
||||
</code_scheme>
|
||||
</component>
|
||||
Generated
+5
@@ -0,0 +1,5 @@
|
||||
<component name="ProjectCodeStyleConfiguration">
|
||||
<state>
|
||||
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
|
||||
</state>
|
||||
</component>
|
||||
Generated
+7
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="TypeScriptCompiler">
|
||||
<option name="recompileOnChanges" value="true" />
|
||||
<option name="showAllErrors" value="true" />
|
||||
</component>
|
||||
</project>
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<profile version="1.0">
|
||||
<option name="myName" value="Project Default" />
|
||||
<inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="SpellCheckingInspection" enabled="false" level="TYPO" enabled_by_default="false">
|
||||
<option name="processCode" value="true" />
|
||||
<option name="processLiterals" value="true" />
|
||||
<option name="processComments" value="true" />
|
||||
</inspection_tool>
|
||||
</profile>
|
||||
</component>
|
||||
Generated
+6
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="JavaScriptSettings">
|
||||
<option name="languageLevel" value="JSX" />
|
||||
</component>
|
||||
</project>
|
||||
Generated
+8
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/optolith-client.iml" filepath="$PROJECT_DIR$/.idea/optolith-client.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
Generated
+8
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="WEB_MODULE" version="4">
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
||||
Generated
+6
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
-78
@@ -1,78 +0,0 @@
|
||||
language: node_js
|
||||
|
||||
node_js:
|
||||
- node
|
||||
|
||||
sudo: required
|
||||
|
||||
stages:
|
||||
- Test
|
||||
- name: Build
|
||||
if: tag ~= /^v\d+\.\d+\.\d+$/
|
||||
# if: branch = master
|
||||
- name: Build Insider
|
||||
if: tag ~= /^v\d+\.\d+\.\d+\-\w+\.\d+$/
|
||||
# if: branch = develop
|
||||
|
||||
jobs:
|
||||
include:
|
||||
# Test stage
|
||||
- stage: Test
|
||||
install:
|
||||
- npm ci
|
||||
script:
|
||||
- npm test
|
||||
|
||||
# Normal build stage
|
||||
- stage: Build
|
||||
name: Build Windows
|
||||
os: windows
|
||||
install:
|
||||
- ./.travis/InstallWin.bat
|
||||
script:
|
||||
- npm run compile
|
||||
- npm run release:win
|
||||
|
||||
- name: Build Linux
|
||||
os: linux
|
||||
install:
|
||||
- sh ./.travis/InstallLinux.sh
|
||||
script:
|
||||
- npm run compile
|
||||
- npm run release:linux
|
||||
|
||||
- name: Build OSX
|
||||
os: osx
|
||||
osx_image: xcode11.2
|
||||
install:
|
||||
- sh ./.travis/InstallMac.sh
|
||||
script:
|
||||
- npm run compile
|
||||
- npm run release:osx
|
||||
|
||||
# Insider build stage
|
||||
- stage: Build Insider
|
||||
name: Build Windows Insider
|
||||
os: windows
|
||||
install:
|
||||
- ./.travis/InstallWin.bat
|
||||
script:
|
||||
- npm run compile
|
||||
- npm run prerelease:win
|
||||
|
||||
- name: Build Linux Insider
|
||||
os: linux
|
||||
install:
|
||||
- sh ./.travis/InstallLinux.sh
|
||||
script:
|
||||
- npm run compile
|
||||
- npm run prerelease:linux
|
||||
|
||||
- name: Build OSX Insider
|
||||
os: osx
|
||||
osx_image: xcode11.2
|
||||
install:
|
||||
- sh ./.travis/InstallMac.sh
|
||||
script:
|
||||
- npm run compile
|
||||
- npm run prerelease:osx
|
||||
@@ -1,15 +0,0 @@
|
||||
# Updated local cache
|
||||
echo apt update
|
||||
sudo apt update
|
||||
# Install python and pip
|
||||
echo apt install -y python3 python3-pip python3-setuptools python3-dev build-essential libssl-dev libffi-dev
|
||||
sudo apt install -y python3 python3-pip python3-setuptools python3-dev build-essential libssl-dev libffi-dev
|
||||
# Install needed package
|
||||
echo python3 -m pip install cryptography
|
||||
python3 -m pip install cryptography
|
||||
# Decrypt tables
|
||||
echo python3 prepareTables.py
|
||||
python3 prepareTables.py
|
||||
# Prepare node
|
||||
echo npm ci
|
||||
npm ci
|
||||
@@ -1,9 +0,0 @@
|
||||
# Install python from homebrew
|
||||
# Not necessary. Python already installed!
|
||||
# brew install python
|
||||
# Install neded packages
|
||||
python3 -m pip install cryptography
|
||||
# Decrypt tables
|
||||
python3 prepareTables.py
|
||||
# Prepare node
|
||||
npm ci
|
||||
@@ -1,12 +0,0 @@
|
||||
REM Install python
|
||||
choco install python --version 3.7.2
|
||||
REM Install pip
|
||||
choco install pip
|
||||
REM Install OpenSSL
|
||||
choco install openssl.light
|
||||
REM Install needed packages
|
||||
C:/Python37/python.exe -m pip install cryptography
|
||||
REM Decrypt tables
|
||||
C:/Python37/python.exe prepareTables.py
|
||||
REM Prepare node
|
||||
npm ci
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"types": [
|
||||
{ "type": "feat", "section": "Features" },
|
||||
{ "type": "fix", "section": "Bug Fixes" },
|
||||
{ "type": "build", "hidden": true },
|
||||
{ "type": "chore", "hidden": true },
|
||||
{ "type": "ci", "hidden": true },
|
||||
{ "type": "docs", "hidden": true },
|
||||
{ "type": "style", "hidden": true },
|
||||
{ "type": "refactor", "hidden": true },
|
||||
{ "type": "perf", "hidden": true },
|
||||
{ "type": "test", "hidden": true }
|
||||
],
|
||||
"releaseCommitMessageFormat": "build(release): {{currentTag}}"
|
||||
}
|
||||
Vendored
+36
-41
@@ -1,42 +1,37 @@
|
||||
{
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Launch",
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"program": "${workspaceFolder}\\app\\index.js",
|
||||
"stopOnEntry": false,
|
||||
"args": [],
|
||||
"cwd": "${workspaceRoot}",
|
||||
//"preLaunchTask": "tsc: build - tsconfig.json",
|
||||
|
||||
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron.cmd",
|
||||
|
||||
"runtimeArgs": [
|
||||
".",
|
||||
"--enable-logging"
|
||||
],
|
||||
|
||||
"env": {}, "console": "internalConsole",
|
||||
"sourceMaps": true,
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/**/*.js"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Attach",
|
||||
"type": "node",
|
||||
"request": "attach",
|
||||
"port": 5858,
|
||||
"address": "localhost",
|
||||
"restart": false,
|
||||
"sourceMaps": true,
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/**/*.js"
|
||||
],
|
||||
"localRoot": "${workspaceRoot}",
|
||||
"remoteRoot": null
|
||||
}
|
||||
]
|
||||
}
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Electron: Debug Main",
|
||||
"type": "pwa-node",
|
||||
"request": "launch",
|
||||
"cwd": "${workspaceFolder}",
|
||||
"runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron",
|
||||
"windows": {
|
||||
"runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron.cmd"
|
||||
},
|
||||
"runtimeArgs": [
|
||||
"--remote-debugging-port=9223",
|
||||
"."
|
||||
],
|
||||
"outputCapture": "std"
|
||||
},
|
||||
{
|
||||
"name": "Electron: Attach Renderer",
|
||||
"type": "chrome",
|
||||
"request": "attach",
|
||||
"port": 9223,
|
||||
"webRoot": "${workspaceFolder}",
|
||||
"timeout": 30000
|
||||
}
|
||||
],
|
||||
"compounds": [
|
||||
{
|
||||
"name": "Electron: Debug All",
|
||||
"configurations": [
|
||||
"Electron: Debug Main",
|
||||
"Electron: Attach Renderer"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Vendored
+5
-2
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"typescript.tsdk": "node_modules\\typescript\\lib",
|
||||
"typescript.tsdk": "node_modules/typescript/lib",
|
||||
"typescript.preferences.quoteStyle": "double",
|
||||
"javascript.preferences.quoteStyle": "double",
|
||||
"files.exclude": {
|
||||
@@ -14,5 +14,8 @@
|
||||
"typescript",
|
||||
"typescriptreact"
|
||||
],
|
||||
"editor.tabSize": 2
|
||||
"eslint.lintTask.enable": true,
|
||||
"eslint.lintTask.options": "\"src/**\" -c \"./.eslintrc.yaml\" --ext=\"ts\" --ext=\"tsx\" --ignore-pattern=\"./src/App/Utilities/YAML/Schema/**\"",
|
||||
"editor.tabSize": 2,
|
||||
"editor.detectIndentation": false
|
||||
}
|
||||
|
||||
Vendored
+47
-53
@@ -8,64 +8,19 @@
|
||||
"type": "shell",
|
||||
"tasks": [
|
||||
{
|
||||
"label": "build",
|
||||
"command": "npm run build",
|
||||
"problemMatcher": [
|
||||
"$tsc"
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "buildTest",
|
||||
"command": "npm run buildTest"
|
||||
},
|
||||
{
|
||||
"label": "buildMac",
|
||||
"command": "npm run buildMac"
|
||||
},
|
||||
{
|
||||
"label": "buildMacTest",
|
||||
"command": "npm run buildMacTest"
|
||||
},
|
||||
{
|
||||
"label": "watch",
|
||||
"command": "npm run watch"
|
||||
},
|
||||
{
|
||||
"label": "bundle",
|
||||
"command": "npm run bundle",
|
||||
"problemMatcher": [
|
||||
"$tsc"
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "run",
|
||||
"label": "start",
|
||||
"command": "npm start"
|
||||
},
|
||||
{
|
||||
"label": "bundle_l10ns",
|
||||
"command": "npm run bundle_l10ns"
|
||||
},
|
||||
{
|
||||
"label": "bundle_data",
|
||||
"command": "npm run bundle_data"
|
||||
},
|
||||
{
|
||||
"label": "bundle_css",
|
||||
"command": "npm run bundle_css"
|
||||
},
|
||||
{
|
||||
"type": "typescript",
|
||||
"tsconfig": "tsconfig.json",
|
||||
"isBackground": true,
|
||||
"problemMatcher": [
|
||||
"$tsc"
|
||||
],
|
||||
"label": "jest",
|
||||
"command": "npm test",
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"kind": "test",
|
||||
"isDefault": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"label": "tsc watch",
|
||||
"type": "typescript",
|
||||
"tsconfig": "tsconfig.json",
|
||||
"option": "watch",
|
||||
@@ -73,11 +28,50 @@
|
||||
"problemMatcher": [
|
||||
"$tsc-watch"
|
||||
],
|
||||
"group": "build"
|
||||
"group": "build",
|
||||
"presentation": {
|
||||
"group": "watch"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "npm",
|
||||
"script": "buildWin",
|
||||
"label": "webpack watch",
|
||||
"command": "npm run js:watch",
|
||||
"isBackground": true,
|
||||
"group": "build",
|
||||
"presentation": {
|
||||
"group": "watch"
|
||||
}
|
||||
},
|
||||
{
|
||||
"label": "sass watch",
|
||||
"command": "npm run css:watch",
|
||||
"isBackground": true,
|
||||
"group": "build",
|
||||
"presentation": {
|
||||
"group": "watch"
|
||||
}
|
||||
},
|
||||
{
|
||||
"label": "watch",
|
||||
"dependsOn": ["tsc watch", "webpack watch", "sass watch"],
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"isDefault": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"label": "create prerelease",
|
||||
"command": "npm run release:pre",
|
||||
"problemMatcher": []
|
||||
},
|
||||
{
|
||||
"label": "create release",
|
||||
"command": "npm run release:main",
|
||||
"problemMatcher": []
|
||||
},
|
||||
{
|
||||
"label": "git push --follow-tags",
|
||||
"command": "git push --follow-tags",
|
||||
"problemMatcher": []
|
||||
}
|
||||
]
|
||||
|
||||
@@ -1 +1,2 @@
|
||||
Lukas Obermann <lukas.obermann@outlook.de>
|
||||
Lukas Obermann <lukas.obermann@icloud.com>
|
||||
Philipp Borucki <p.borucki@icloud.com>
|
||||
|
||||
+1073
File diff suppressed because it is too large
Load Diff
+62
-51
@@ -1,16 +1,16 @@
|
||||
# Contributing
|
||||
|
||||
## Reporting bugs
|
||||
## Reporting bugs, feature requests and more
|
||||
|
||||
### 1. Does the issue is already reported?
|
||||
### 1. Is the issue already reported
|
||||
|
||||
[Check](https://github.com/elyukai/optolith-client/issues) if the issue you want to report already exists.
|
||||
|
||||
### 2. Do you need help?
|
||||
### 2. Do you need help
|
||||
|
||||
Feel free to create a new issue and someone will help you! Give as much details as you think is needed but don't include irrelevant details.
|
||||
|
||||
### 3. Did you find a bug?
|
||||
### 3. Did you find a bug
|
||||
|
||||
Please include the following:
|
||||
|
||||
@@ -20,94 +20,105 @@ Please include the following:
|
||||
|
||||
The Alpha version also provides access to the Chrome DevTools via the bug button in the top right corner. If you are not familiar with web development: Check if there are any errors shown in the Console tab. In that case please include the error message.
|
||||
|
||||
### 4. Do you have a suggestion?
|
||||
### 4. Do you have a suggestion
|
||||
|
||||
You can suggest features either in the issues tracker or in one of the [listed forums](https://github.com/elyukai/optolith-client).
|
||||
|
||||
## Contributing code
|
||||
|
||||
- Due to licensing, the tables containing the crunch elements from the books is not included in this repository. Please join my [Discord Server](https://discord.gg/uDyR4yr) if you need access to them. Just text me in a channel on the server or PN me (@elyukai).
|
||||
- Branches (mostly) follow Git Flow. Please try to follow Git Flow as well if you edit this repository.
|
||||
### Important note
|
||||
|
||||
Due to licensing, the YAML files containing the crunch elements from the books are **not** included in this repository but in a separate private one. If you only plan to contribute something independent of the database, you can just get the database from an alpha installation. On Windows, for example, the database is available under `Resources/app.asar.unpacked/app/Data` inside the installation folder. If you plan to contribute anything to the database itself and thus need to access its source, please join my [Discord Server](https://discord.gg/uDyR4yr) and text me in a channel on the server or PN me (@elyukai).
|
||||
|
||||
### Basic development rules
|
||||
|
||||
- Branches follow Git Flow. Please try to follow Git Flow as well if you edit this repository. But if it's possible, please fork this repo and create PRs.
|
||||
- Commits need to follow [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/), which is enforced by the CI and Git Hooks locally.
|
||||
- Please check out the [Style Guide](https://github.com/elyukai/optolith-client/wiki/Code-Style-Guide) for more information on that topic! Sadly, TSLint cannot ensure the whole style so you partially need to take care of that on your own!
|
||||
- There is a page covering [Naming Conventions](https://github.com/elyukai/optolith-client/wiki/Naming-Conventions) as well!
|
||||
- The key criteria for the project are mentioned in the [README](README.md). They also apply to pull requests. A feature usually does not consist of the technical part only. Much more important is how the feature presents itself to the user. And that must be planned and discussed.
|
||||
- Code should follow functional programming practices while maintaining readablilty – which can be an issue using JavaScript/TypeScript, which is why in certain circumstances imperative/OOP code is allowed.
|
||||
- The contribution has to be easy to understand not only for players using the app, but also for coders trying to further enhance the app: Please document module exports!
|
||||
- Code should follow functional programming practices while maintaining readablilty – which can be an issue using JavaScript/TypeScript, which is why in certain circumstances imperative/OOP code is allowed. It is also possible to write Reason/OCaml code, which compiles to JS.
|
||||
- The contribution has to be easy to understand not only for players using the app, but also for coders trying to further enhance the app: Please document *at least* module exports!
|
||||
|
||||
### Install required software
|
||||
|
||||
- **Git** — <https://git-scm.com/downloads> or via a package manager
|
||||
- **Node.js** with **npm** — <https://nodejs.org/en/> or via [`nvm`](https://github.com/nvm-sh/nvm)
|
||||
- *Optional:* **Visual Studio Code** — <https://code.visualstudio.com/> (you can use your own editor as well, there are project-specific VSCode settings within this repository, though)
|
||||
|
||||
### Prepare the repo
|
||||
|
||||
Clone the repo.
|
||||
Clone the repo, including the private submodule.
|
||||
|
||||
```
|
||||
$ git clone https://github.com/elyukai/optolith-client.git
|
||||
```sh
|
||||
git clone --recurse-submodules https://github.com/elyukai/optolith-client.git
|
||||
```
|
||||
|
||||
Make sure Node.js (lastest version) is installed and run
|
||||
|
||||
```
|
||||
$ npm i
|
||||
```sh
|
||||
npm i
|
||||
```
|
||||
|
||||
This installs all necessary packages.
|
||||
|
||||
Create a `tablesSrc.json` in the `/deploy` folder. The JSON consists of an object that has the following interface:
|
||||
|
||||
```ts
|
||||
{
|
||||
stable: string[];
|
||||
insider: string[];
|
||||
}
|
||||
```
|
||||
|
||||
Both list an array of strings that represents the path to a folder that contains the tables for stable or insider version, repectively. The array is consumed by `path.join` from Node.js in the end.
|
||||
|
||||
Example:
|
||||
|
||||
```json
|
||||
{
|
||||
"stable": ["..", "OneDrive", "Optolith", "Data"],
|
||||
"insider": ["..", "OneDrive", "Optolith", "Data", "Insider"]
|
||||
}
|
||||
```
|
||||
|
||||
### First run
|
||||
|
||||
Compile the source code…
|
||||
Compile the source code. `js:` is for TypeScript/Webpack, `re:` for Reason/OCaml and `css:` for CSS/Sass. Webpack does not check the TypeScript validity, to check this, use `ts:` commands.
|
||||
|
||||
```
|
||||
$ npm run compile
|
||||
You have to run the Reason build first as it generates TypeScript files...
|
||||
|
||||
```sh
|
||||
npm run ts:build
|
||||
npm run css:build
|
||||
npm run js:build
|
||||
```
|
||||
|
||||
…or watch it for better performance for subsequent compiling on save.
|
||||
(There's also a shorthand for that:)
|
||||
|
||||
```
|
||||
$ npm run watch
|
||||
```sh
|
||||
npm run build
|
||||
```
|
||||
|
||||
Import stable or insider tables:
|
||||
…or watch it for better performance for subsequent compiling on save (you need to use separate terminal instances then).
|
||||
|
||||
```
|
||||
$ npm run copyTables
|
||||
```sh
|
||||
npm run re:watch
|
||||
npm run css:watch
|
||||
npm run js:watch
|
||||
```
|
||||
|
||||
or
|
||||
To check the TypeScript validity, either check once or watch for changes (I'd always recommend to do the latter one).
|
||||
|
||||
```sh
|
||||
npm run ts:build
|
||||
npm run ts:watch
|
||||
```
|
||||
$ npm run copyTablesInsider
|
||||
```
|
||||
|
||||
respectively.
|
||||
|
||||
Run the app:
|
||||
|
||||
```
|
||||
$ npm start
|
||||
```sh
|
||||
npm start
|
||||
```
|
||||
|
||||
### Stylesheets
|
||||
|
||||
To compile the SCSS files, use
|
||||
|
||||
```sh
|
||||
npm run css:build
|
||||
```
|
||||
$ npm run buildCss
|
||||
|
||||
### Miscellaneous
|
||||
|
||||
Clean the files built by the Reason compiler, if there are any issue with it.
|
||||
|
||||
```sh
|
||||
npm run re:clean
|
||||
```
|
||||
|
||||
Lint all project TS files using ESLint.
|
||||
|
||||
```sh
|
||||
npm run lint
|
||||
```
|
||||
|
||||
@@ -4,7 +4,7 @@ Welcome to the repository for Optolith, a desktop application for The Dark Eye 5
|
||||
|
||||
## Install
|
||||
|
||||
You can download the app [here (German page)](http://www.ulisses-ebooks.de/product/209711) or here [here (English page)](http://www.drivethrurpg.com/product/220253) (same app on both pages). You'll get an installer for Windows and a DMG for Mac, both with Auto Update support. For Linux, you get an AppImage, which *should* support Auto Update but it doesnt seem to work currently.
|
||||
You can download the app [here (German page)](http://www.ulisses-ebooks.de/product/209711) or here [here (English page)](http://www.drivethrurpg.com/product/220253) (same app on both pages). You'll get an installer for Windows with Auto Update support and a DMG for Mac. For Linux, you get an AppImage, which *should* support Auto Update but it doesnt seem to work currently. You also get a tar.gz if you don't like AppImage.
|
||||
|
||||
It is available for Windows 7+ as well as for Linux (Ubuntu 12.04+, Fedora 21, Debian 8) and macOS 10.9+ x64.
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
Submodule
+1
Submodule app/Database added at a43a1789d8
@@ -1,281 +0,0 @@
|
||||
## 1.2.0
|
||||
|
||||
Diese Release ist hauptsächlich für andere Sprachen, da es Optolith jetzt auch auf Niederländisch gibt und English an Büchern aufgeholt hat. Allerdings gibt es auch viele relevante Fehlerbehebungen und kleine Verbesserungen.
|
||||
|
||||
### Neue Features
|
||||
|
||||
- Niederländische Version (inkl. Regelwerk)
|
||||
- Neue Bücher auf Englisch
|
||||
|
||||
### Verbesserungen
|
||||
|
||||
- Schilde werden normalerweise nicht als Primärwaffe genutzt, weshalb der doppelte Paradebonus nun standardmäßig auf dem Heldenbogen eingerechnet wird und nicht mehr der einfache.
|
||||
- Verbessertes Ausweichen I–III erhöht AW nicht mehr, da dies nur passieren darf, wenn man keine Rüstung trägt.
|
||||
- *Saga-Thorwalsch* in *Hjaldinsch/Saga-Thorwalsch* umbenannt.
|
||||
- SF Variante (beide) in *Zaubererweiterung* und *Liturgieerweiterung* umbenannt.
|
||||
|
||||
### Fehlerbehebungen
|
||||
|
||||
- Die Optionalregel *Höhere Paradewerte* erhöhte AW um 2 bzw. 4, obwohl es eigentlich nur 1 bzw. 2 sind.
|
||||
- Eine Zauber der Tradition (Scharlatan) hatten diese nicht als Tradition eingetragen.
|
||||
- Vorteil *Leichter Gang* hat die GS nicht erhöht.
|
||||
- Nachteil *Pech I-III* hat die maximalen SchiPs auf dem Heldenbogen nicht verringert.
|
||||
- Das Fenster für permanent ausgegebene Astralenegie und Karmaenergie war nicht schließbar.
|
||||
- Nachteil *Stigma (Grüne Haare)* ändert die Haarfarbe jetzt auf Grün.
|
||||
- Die Bildvorschau zeigt jetzt auch PNGs und nicht mehr nur JPEGs an.
|
||||
- Muttersprache (MS) konnte nicht als Stufe für Sprachen selektiert werden.
|
||||
- Der Schließen-Button des App-Fensters funktionierte nicht.
|
||||
- Fehlermeldungen beim Import-/Export-Abbruch entfernt.
|
||||
- SERPENTIALIS ist jetzt für Hexen und nicht mehr für Elfen.
|
||||
- Feenpaktgeschenke haben jetzt Beschreibungen.
|
||||
- Persönlichkeitsschwäche: Es ist jetzt möglich, so viele Vorurteil/Weltfremd-Einträge zu kaufen wie man möchte.
|
||||
- Für Professionen erforderliche Eigenschaftswerte werden jetzt auch so eingetragen.
|
||||
- SF Merkmalskenntnis funktionierte nicht und hatte eine falsche Kostenberechnung.
|
||||
- Halbgötter waren nicht als Anwendungsgebiete für *Götter & Kulte* verfügbar.
|
||||
- Fehlende Heilkräuter hinzugefügt.
|
||||
- Das Neuauswürfeln des Gewichts ohne eine bereits eingetragene Größe geht nun nicht mehr von einer Größe von 0 aus, sondern würfelt erst die Größe neu aus und lässt diesen Wert dann in das Gewicht einfließen.
|
||||
- Wenn die KK 8 ist, ist die Tragkraft nicht mehr 0 sondern 16.
|
||||
- Kampftechnikanpassungen in Professionsvarianten wurden nicht korrekt dargestellt.
|
||||
- Der Standardname für einen exportierten Heldenbogen ist jetzt der Name des Helden.
|
||||
- Das Maximum für Fremdzauber griff auch noch nach der Heldenerstellung.
|
||||
- Helden, die von der aktuell ausgeführten Optolith-Version nicht unterstützt werden, werden nicht mehr geladen bzw. angezeigt.
|
||||
- SF Athlet: Falsche Voraussetzungen
|
||||
- SF Buchdrucker: Falsche Voraussetzungen
|
||||
- Wenn ein Zauber für die Tradition Gildenmagier ausgewählt werden soll, werden Zauber der Tradition Allgemein ausgeblendet.
|
||||
- Umlautzeichen in Listenelementen werden jetzt nicht mehr abgeschnitten.
|
||||
- Die gewählte Sprache eines Helden wurde nicht gespeichert.
|
||||
- Pakte wurden nicht gespeichert.
|
||||
- SF Kupferstich: Falsche Voraussetzungen
|
||||
- Das Feld *Verbreitung* hat die Tradition (Namenloser) nicht aufgeführt.
|
||||
- Zu lange Liturgienamen werden auf dem Heldenbogen jetzt als Abkürzung dargestellt.
|
||||
- Die Liturgietabelle auf dem Liturgiebogen hatte teilweise falsche Überschriften.
|
||||
- Bann-/Schutzkreise werden auf dem Heldenbogen jetzt korrekt angezeigt.
|
||||
- Erweiterte Liturgiesonderfertigkeiten wurden häufig nicht durch Liturgiestile freigeschaltet.
|
||||
- Nachteil *Unfähig* hatte den Vorteil *Begabung* als Ganzes verboten und nicht nur das jeweilige Talent.
|
||||
- Das Maximum von Kampftechniken durch die Leiteigenschaft greift jetzt auch während der Heldenerstellung.
|
||||
- Hat man die Tradition Meistertalentierte ausgewählt, wurden die in Vorteile und Nachteile ausgegebenen AP nicht angezeigt.
|
||||
- SF Lieblichzauber erlaubt jetzt das Auswählen inaktiver Zauber nicht mehr.
|
||||
- Der Anteil der Kopfrüstung und der Torsorüstung bei Zonenrüstung war vertauscht.
|
||||
- SF Baliho-Stil hatte Schilddeckung als mögliche erweiterte Kampfsonderfertigkeit aufgezählt, obwohl es Schildstoß hätte sein müssen.
|
||||
|
||||
## 1.1.2
|
||||
|
||||
### Verbesserungen
|
||||
|
||||
- Die Meldung beim Laden ist jetzt auf Deutsch.
|
||||
- Das Abschließen der SKP-Auswahl kann jetzt rückgängig gemacht werden.
|
||||
|
||||
### Fehlerbehebungen
|
||||
|
||||
- Kampfsonderfertigkeiten zeigen jetzt wieder ihren Typ (passiv/Basismanöver/Spezialmanöver) im Wiki an.
|
||||
- Zauber nach Gruppe zu sortieren sortiert die Gruppen jetzt alphabetisch.
|
||||
- Auf EG *Unerfahren* kann mal als Gildenmagier jetzt auch den ausgewählten Fremdzauber (der jetzt keiner mehr ist) auswählen.
|
||||
- In der Auswahlliste für SF *Tradition (Gildenmagier)* werden jetzt keine traditionseigenen Zauber mehr angezeigt.
|
||||
- Das englische User Interface lädt jetzt wieder ohne Probleme.
|
||||
- Profession *Akademie von Licht und Dunkelheit* kann jetzt wieder ohne UI-Fehler ausgewählt werden.
|
||||
|
||||
## 1.1.0/1.1.1
|
||||
|
||||
*Die genaue Versionsnummer der App ist 1.1.1.*
|
||||
|
||||
Nach mehr als über einem Jahr kommt nun endlich ein großes Update – auch wenn man es als Benutzer nicht unbedingt mitbekommt: Optolith hat einen komplett neuen Code bekommen. Mit einher geht eine interne Umstrukturierung, sodass Features wie Gruppen in Zukunft performant möglich sein werden. Das ist zwar die größte Änderung, aber nicht die einzige: Sämtliche gemeldeten Bugs sind behoben und über die letzten zwei Wochen haben meine Tester auch noch diverse Bugs gefunden, die hiermit auch behoben werden.
|
||||
|
||||
Vermutlich werdet ihr feststellen, dass Optolith ein paar Sekunden länger braucht zum Laden als vorher. Das liegt daran, dass ich Optolith neu gebaut habe mit dem Grundgedanken, dass es stabiler läuft. Ich führe daher beim Laden Prüfungen durch, damit alle Daten, die geladen werden, auch wirklich so aussehen wie erwartet und nicht durch falsche Tabellen oder andere Daten etwas im Programm passiert, was nicht beabsichtigt ist. Die Start-Performance wird definitiv noch verbessert werden, für den Anfang ist mir ein stabileres Programm aber lieber als ein schnelles; schließlich geht es hier auch nur um den Programmstart, die Performance bei der Benutzung ist davon nicht betroffen.
|
||||
|
||||
Nicht zuletzt aber auch ein bereits an anderer Stelle erwähntes großes Dankeschön an euch, für eure Geduld und euer ganzes Feedback und weitere Hilfe, ohne die ich nicht all die Fehler hätte beheben können. Zwar haben es neue Regelwerke noch nicht in diese Version geschafft, und auch die nächste Version wird nicht alle neuen beinhalten, aber dennoch wird Optolith jetzt vergleichsweise schnell auf den aktuellen Stand der Regeln kommen können.
|
||||
|
||||
Aber nun zum Changelog dieser Version:
|
||||
|
||||
### Neue Features
|
||||
|
||||
- Helden können über die Heldenliste nun direkt gespeichert werden.
|
||||
- Portraits von Helden und Begleitern können jetzt auch wieder gelöscht werden.
|
||||
|
||||
### Verbesserungen
|
||||
|
||||
- Auswahllisten werden nach aktivierten Regelwerken gefiltert. Das funktionierte vorher nur für die Hauptlisten wie Sonderfertigkeiten, jetzt aber eben auch für z. B. die Liste von Berufsgeheimnissen.
|
||||
- Wikieinträge können nicht nach bestimmten Regelwerken gefiltert werden; ebenso wenig wie diese bei geöffneten Helden nach den dort gewählten Regelwerken gefiltert werden. Dies wird noch nachgereicht!
|
||||
- Fremdzauber werden jetzt wie untypische Vorteile durch eine rote Einfärbung markiert.
|
||||
- Die Suche nach Professionen durchsucht jetzt auch Professionsvarianten.
|
||||
- Auf dem Heldenbogen ist jetzt für doppelt so viele Sprachen Platz.
|
||||
- Beim Hinzufügen von Vor-/Nachteilen werden jetzt sowohl die AP für Vorteile als auch für Nachteile angezeigt.
|
||||
- Schilde werden auf dem Heldenbogen jetzt sowohl als Schild als auch als Waffe eingetragen.
|
||||
- Texte des Wikis können jetzt selektiert und dadurch kopiert werden.
|
||||
- Für die *Tradition (Gildenmagier)* muss jetzt ein Fremdzauber festgelegt werden. **Für eine bereits aktivierte SF funktioniert dies im *Regeln*-Tab! Bitte stellt dies ein, weil es für kommende Regelwerke relevant ist!**
|
||||
- Um später besser auf Unterschiede von Versionen in verschiedenen Sprachen reagieren zu könne, wird zu den Helden ab jetzt auch die Sprache gespeichert, in der der Held erstellt wurde. **Für ältere Helden wird diese auf die aktuell eingestellte Sprache eingestellt. Zum Ändern müsst ihr in den *Regeln*-Tab wechseln! Bitte stellt dies ein, weil es in kommenden Versionen relevant wird!**
|
||||
- Im Profil wird jetzt angezeigt, wie sich die zufällige Generierung für Gewicht und Größe zusammensetzt.
|
||||
- Der Dialog, der beim Schließen auftaucht, wenn ungespeicherte Aktionen vorhanden sind, ist jetzt klarer formuliert und hat jetzt drei Buttons für alle drei Optionen.
|
||||
- Text auf dem Heldenbogen kann jetzt selektiert werden. Diese Option ist aber nicht dazu geeignet, um den gesamten Heldenbogen zu kopieren, weil das Layout nicht richtig übernommen wird.
|
||||
- Den FAQ wurde der Eintrag hinzugefügt, wie man LE/AE/KE hinzufügt.
|
||||
- Wenn man den Wikieintrag für einen Eintrag außerhalb des Wikis angezeigen lässt, wird der Listeneintrag wie im Wiki hervorgehoben.
|
||||
- Beim Pakt wird angezeigt, wenn Felder fehlen, die ausgefüllt werden müssen, um einen vollständigen Pakt zu erhalten.
|
||||
- Die AP, die beim Beenden der Heldenerschaffung maximal übrig sein dürfen, betragen jetzt immer 10 AP, egal in welchem Modus man sich befindet.
|
||||
- Einsatzmöglichkeiten für Talente hinzugefügt.
|
||||
- Bei Talenten, bei denen die Einrechnung der Belastung nicht eindeutig ist, wird im Wikieintrag jetzt die komplette Beschreibung angezeigt, wann die Belastung relevant ist und wann nicht.
|
||||
- Die einzelnen Einträge für Vorteil *Herausragender Sinn* und Nachteil *Eingeschränkter Sinn* wurden zusammengefügt.
|
||||
- Unter *Ergänzende Quellen* werden in Wikieinträgen von Vorteilen, Nachteilen und Sonderfertigkeiten jetzt die Quellen genannt, von denen die jeweiligen Einträge ihre Auswahlmöglichkeiten bekommen. Z. B. wird bei Berufsgeheimnissen dann nicht nur die eigentliche SF aus dem Basisregelwerk als Quelle genannt, sondern eben auch die Quellen weiterer Berufsgeheimnisse auch anderen Büchern.
|
||||
- Analog zur geweihten Variante des Rabenschnabels gibt es jetzt die im Regelwerk beschriebene profane Variante des Rabenschnabels zum dort genannten Preis von 90 S. Außer des Status *geweiht/nicht geweiht* unterscheiden sich die Gegenstände nicht.
|
||||
- Die dargstellte Formel zur Berechnung der Astralenergie passt sich jetzt entsprechend der Tradition an. Denn bei einigen Traditionen fließt nur die Hälfte der Leiteigenschaft ein und einige haben keine Leiteigenschaft, die einfließen könnte.
|
||||
- Bei Stabzaubern wird *Bindung des Stabes* als Voraussetzung ausgeblendet.
|
||||
|
||||
### Fehlerbehebungen
|
||||
|
||||
- Nach einem Wechsel von Deutsch zu Englisch konnten Charaktere nicht mehr bearbeitet werden.
|
||||
- Sonderfertigkeiten können wieder nach Gruppen sortiert werden.
|
||||
- Verbreitung von Liturgien wird jetzt alphabetisch sortiert.
|
||||
- Fertigkeits- und Kampftechnik-Maxima werden bei der Erstellung nun auch von den Probeneigenschaften bzw. Leiteigenschaften beeinflusst.
|
||||
- Hesindegeweihter: Sternkunde 4 anstelle von Alchimie 4.
|
||||
- FAQ: Zwei Typos korrigiert.
|
||||
- *Meistertalentierte* können keine Zauber mehr kaufen.
|
||||
- Gelb hervorgehobene Vorteile/Nachteile werden jetzt auch in der Legende erklärt.
|
||||
- Ein/e durch eine Professionsvariante entfernte/r Zauber/Liturgie der Basisprofession wird jetzt auch wirklich entfernt und nicht mehr auf FW 0 aktiviert.
|
||||
- Fehlende Professionsvarianten für Profession *Wildniskundiger* hinzugefügt.
|
||||
- Fehlende Berufsgeheimnisse aus dem **Aventurischen Kompendium I** hinzugefügt.
|
||||
- Bilder werden auf Linux wieder angezeigt.
|
||||
- Automatische Vorteile haben jetzt Kosten von 0 AP, sodass Spezieskosten wieder korrekt sind.
|
||||
- Das Sortieren von Ausrüstung nach Gruppen wirft keinen Fehler mehr.
|
||||
- Das Portrait von Begleitern wird nun beim Export auch mit exportiert.
|
||||
- Details für Zauber und Liturgien werden wieder auf dem Heldenbogen angezeigt.
|
||||
- *Intuitive Zauberer* haben keinen Zugriff mehr auf Rituale und Zauber des Steigerungsfaktors D.
|
||||
- „Steigerungskosten“ → „Steigerungsfaktor“.
|
||||
- Astralenergie wird beim *Gildenmagier aus Perricum* wieder richtig berechnet.
|
||||
- Die Voraussetzung „Spezies, Kultur oder Profession muss \[...] als automatischen oder empfohlenen \[Vorteil/Nachteil] aufweisen“ berücksichtigt jetzt auch wieder automatische Vorteile der Spezies, sollten diese entfernt worden sein.
|
||||
- Liturgiestile werden jetzt beim Charakterwechsel auch korrekt übernommen, sodass keine Zulassungen durch vorherige Stile mehr relevant sind.
|
||||
- Begleiterlayout auf dem Heldenbogen ist jetzt wieder korrekt.
|
||||
- Bei der PDF ist jetzt kein Scrollbalken mehr zu sehen.
|
||||
- Ein valider Pakt wirft bei Sonderfertigkeiten keinen Fehler mehr.
|
||||
- Bann-/Schutzkreise werden wieder auf dem Heldenbogen angezeigt.
|
||||
- Beim Senken von Eigenschaften im Editor-Modus werden nun hinzugekaufte LE/AE/KE berücksichtigt und verhindern ggf. das Senken.
|
||||
- *Intuitive Zauberer* behandeln jetzt alle Zauber als Zauber ihrer Tradition.
|
||||
- Manchmal wurde im Wikieintrag von Professionen anstelle eines Wertes, z. B. bei *Ehrenhaftigkeit 6*, `null` angezeigt, sodass dort dann *Ehrenhaftigkeit null* stand.
|
||||
- Manchmal wurde der im Wikieintrag angezeigte vorherige Wert von durch Professionsvarianten veränderte Wert um 6 erhöht. Beispiel Profession Ritter: *Etikette 2 statt 12* ist eigentlich *Etikette 2 statt 6*.
|
||||
- Vorteil *Herausragende Fertigkeit* funktioniert jetzt auch wieder für Zauber.
|
||||
- Vorteil *Koboldfreund* fehlte.
|
||||
- Nachteil *Kleine Zauberauswahl* ist wieder für *Intuitive Zauberer* verfügbar.
|
||||
- Nachteil *Lästige Blütenfeen* fehlte.
|
||||
- Nachteil *Schlechte Eigenschaft (Geiz)* und *(Verschwendungssucht)* haben sich nicht ausgeschlossen.
|
||||
- Im Eingabefeld für Nachteil *Prinzipientreue* steht jetzt „Prinzip“ und nicht mehr „Prinzipie“.
|
||||
- Zauber und Liturgien sind jetzt nicht mehr im Nachteil *Unfähig* enthalten. Bei Helden, die dies hatten, wird der Nachteil automatisch entfernt.
|
||||
- Das Kaufen des Nachteils *Wenige Visionen* wirft keinen Fehler mehr.
|
||||
- SF *Adaption (Zauber)* wird jetzt angezeigt, wenn die Voraussetzungen erfüllt sind.
|
||||
- SF *Adaption (Zauber)* exkludiert jetzt Fremdzauber.
|
||||
- SF *Aspektkenntnis* kann wieder problemlos hinzugefügt werden.
|
||||
- SF *Astralraub*: Leerzeichen fehlte.
|
||||
- SF *Böser Namensvetter*, *Lächerlicher Name*, *Schurkenname*, *Unpassender Name*: Nicht mehr als Elf wählbar.
|
||||
- SF *Böser Namensvetter*: Formatierung korrigiert.
|
||||
- SF *Buchdrucker*: Voraussetzung Stoffbearbeitung 4 → Mechanik 4.
|
||||
- SF *Eisenhagel* kann wieder gekauft werden.
|
||||
- SF *Gebieter des \[Aspekts\]* wird jetzt wieder angezeigt, wenn die Voraussetzungen dafür erfüllt werden.
|
||||
- SF *Kupferstich*: Voraussetzung Lebensmittelbearbeitung 4 → Malen & Zeichen 4.
|
||||
- SF *Macht der Namenlosen Klinge* ist jetzt wieder in allen 13 Stufen auswählbar, natürlich vorausgesetzt, dass die Voraussetzungen erfüllt sind.
|
||||
- SF *Merkmalskenntnis* kann wieder problemlos hinzugefügt werden.
|
||||
- SF *Präziser Schuss/Wurf* hatte falsche Eigenschaftsvoraussetzungen.
|
||||
- SF *Scharfschütze II*: Voraussetzung ist jetzt IN 17 statt IN 15.
|
||||
- SF *Siegelbrecher*: Merkmal Hellsicht → Merkmal Antimagie.
|
||||
- SF *Verschwinde!*: AsP-Kosten und Volumen ergänzt.
|
||||
- Die Nachteile *Keine Flugsalbe* und *Kein Vertrauter* verringern nun korrekt die Kosten der SF *Tradition (Hexen)*.
|
||||
- SF *Tradition (Gildenmagier)* wird jetzt bei der Fremdzauberbegrenzung berücksichtigt (siehe dazu auch die Änderung an der Tradition weiter oben).
|
||||
- SF *Volumenerweiterung des Bannschwerts*: AsP-Kosten ergänzt.
|
||||
- *Bekehren & Überzeugen*: Probe MU/IN/CH → MU/KL/CH.
|
||||
- *Etikette*, Belastung: Evtl. → Nein.
|
||||
- *Fahrzeuge*: Unter **Werkzeuge** fehlte *Fahrzeug*.
|
||||
- *Tanzen*, misslungene Probe: Vorher war dort der Text von *Sinnesschärfe*.
|
||||
- *Verkleiden*, Belastung: Evtl. → Ja.
|
||||
- Falsche Probeneigenschaften von Zaubern/Magischen Handlungen:
|
||||
- *Friedenslied*: MU/KL/IN → MU/IN/CH
|
||||
- *Sorgenlied*: MU/CH/CH → MU/IN/IN
|
||||
- *Zaubermelodie*: MU/KL/CH → MU/IN/CH
|
||||
- Text, dass ein bestimmter Aspekt eines Zaubers nicht modifiziert werden kann, fehlt:
|
||||
- MOTORICUS: Kosten
|
||||
- MOVIMENTO: Wirkungsdauer
|
||||
- NEBELWAND: Kosten
|
||||
- Fehlende Probenmodifikatoren (SK/ZK) bei Zaubern hinzugefügt.
|
||||
- ADLERAUGE: Tradition Druiden ergänzt, AMA1-Quelle ergänzt.
|
||||
- ANALYS ARKANSTRUKTUR: Zauberdauer 2 Aktionen → 32 Aktionen.
|
||||
- ATTRIBUTO für Mut, Fingerfertigkeit, Gewandheit und Konstitution beinhaltet nun auch die Wirkungen der einzelnen QS.
|
||||
- BAND UND FESSEL – Zaubererweiterungen: Wortdopplung korrigiert.
|
||||
- DUNKELHEIT – Zaubererweiterungen: Leerzeichen fehlten.
|
||||
- FULMINICTUS – Zaubererweiterungen: Name korrigiert und Voraussetzungen angepasst.
|
||||
- KARNIFILO hieß vorher Kanifilo.
|
||||
- KLARUM PURUM, Kosten: 8 AsP.
|
||||
- KRABBELNDER SCHRECKEN – *Starker Ekel*: Typo korrigiert.
|
||||
- MANUS MIRACULA – Zaubererweiterungen: Name korrigiert und Voraussetzungen angepasst.
|
||||
- PHYSIOSTABILIS: Effekttext ist wieder korrekt.
|
||||
- SCHWARZER SCHRECKEN, Kosten: 8 AsP → 4 AsP.
|
||||
- UNBERÜHRT VON SATINAV: Merkmal Objekt → Merkmal Temporal.
|
||||
- WIRBELFORM verhält sich jetzt vollständig wie der Eintrag aus **Aventurische Magie II**.
|
||||
- XENOGRAPHUS – *Besseres Sprachverständnis* hieß vorher *Längere Wirkungsdauer*.
|
||||
- ZAUBERKLINGE GEISTERSPEER – Zaubererweiterungen: Formatierung korrigiert.
|
||||
- *Melodie des Magieschadens* war nicht durch Ceoladir wählbar.
|
||||
- *Melodie der Zähigkeit*: Formatierung korrigiert.
|
||||
- *Melodie des Zögerns* war nicht durch Derwisch wählbar, konnte aber durch Sangara gewählt werden.
|
||||
- Herrschaftsrituale sind nun enthalten.
|
||||
- Falsche Probeneigenschaften von Liturgien:
|
||||
- *Kleiner Bannstrahl*: MU/KL/CH → MU/IN/CH
|
||||
- *Ehrenhaftigkeit*: MU/KL/CH → MU/IN/CH
|
||||
- *Ermutigung*: MU/KL/CH → MU/IN/CH
|
||||
- *Friedvolle Aura*: MU/KL/CH → MU/IN/CH
|
||||
- *Wasserlauf*: MU/KL/IN → MU/IN/GE
|
||||
- Text, dass ein bestimmter Aspekt einer Liturgie nicht modifiziert werden kann, fehlt:
|
||||
- *Bann der göttlichen Gaben*: Liturgiedauer
|
||||
- *Dämonenwall*: Kosten
|
||||
- *Liturgieschild*: Kosten
|
||||
- *Mächtiger Angriff*: Kosten
|
||||
- *Magiebann*: Liturgiedauer
|
||||
- *Magiespiegel*: Kosten
|
||||
- *Motivation*: Kosten
|
||||
- *Namenlose Kälte*: Kosten
|
||||
- *Ächtung (Exkommunikation)* – Liturgieerweiterungen: Buchname bei der Seitenangabe ergänzt.
|
||||
- *Blitzschlag*: Verbreitung *Boron (Tod)* statt *Rondra (Sturm)*.
|
||||
- *Delphingestalt*: Effekttext korrigiert.
|
||||
- *Häutung* und *Häutung* – Liturgieerweiterungen: Leerzeichen fehlte.
|
||||
- *Guter Fang*: Liturgie → Zeremonie.
|
||||
- *Guter Fang* – Liturgieerweiterungen: Formatierung korrigiert.
|
||||
- *Klarer Geist*: Aspekt *Bildung* entfernt.
|
||||
- *Namenlose Zweifel*: Effekttext korrigiert.
|
||||
- *Namenloses Vergessen*: Effekttext korrigiert.
|
||||
- *Nebelschwaden*: Effekttext korrigiert.
|
||||
- *Obsession* fehlte.
|
||||
- *Opfergang*: Typo korrigiert.
|
||||
- *Pech und Schwefel*: Effekttext vervollständigt.
|
||||
- *Ruf der Heimat*: Effekttext vervollständigt.
|
||||
- *Seevogelsprache* – Mehr Vögel: Leerzeichen eingefügt.
|
||||
- *Sicherer Weg*: Leerzeichen eingefügt.
|
||||
- *Traumbild*, Effekt: Leerzeichen fehlte.
|
||||
- *Traumbild* – Liturgieerweiterungen: Formatierung korrigiert.
|
||||
- *Verblassende Erinnerung*: Falsche Verbreitung.
|
||||
- *Verblassende Erinnerung* – Liturgieerweiterungen: Formatierung korrigiert.
|
||||
- *Wasserlauf*: Verbreitung *Allgemein* hinzugefügt, Effekttext korrigiert.
|
||||
- *Windruf*, Zielkategorie: Objekt (profane Objekte, Segel).
|
||||
- *Zähe Haut*: Aspekt *Gutes Gold* hinzugefügt.
|
||||
- *Albernische Bauernwehr*: Wort fehlte.
|
||||
- *Albernisches Entermesser*: Typo behoben.
|
||||
- *Amazonensäbel* fehlte.
|
||||
- *Andergaster*: Formatierung des Waffenvorteils korrigiert.
|
||||
- *Dietrichset* hat jetzt auch Preis und Gewicht.
|
||||
- *Faustschild*: Formatierung korrigiert.
|
||||
- *Gänsebeutel*: Preis korrigiert.
|
||||
- *Gaoraith*: Länge fehlte.
|
||||
- *Hakendolch*: Vorteil und Nachteil ergänzt.
|
||||
- *Handspiegel* zeigt jetzt die dazugehörige Regeltechnik.
|
||||
- *Harbener Säbel*, Länge: 100 HF → 75 HF.
|
||||
- *Havener Messer*: Formatierung korrigiert.
|
||||
- *Hunde-, Pony, Pferdefutter*: Gewicht entfernt.
|
||||
- *Kettenhemd*: Formatierung angepasst.
|
||||
- *Kletterseil* hat jetzt korrekte Kosten.
|
||||
- *Korspieß*: Formatierung korrigiert.
|
||||
- Der Waffennachteil des *Langbogens* war unvollständig.
|
||||
- *Neckerdreizack*: Typo behoben.
|
||||
- *Pergament, gutes, 1 Blatt*: Preis korrigiert.
|
||||
- *Richtschwert* war nicht als Waffe gruppiert.
|
||||
- *Seesäbel*: Formatierung korrigiert und fehlendes Wort ergänzt.
|
||||
- *Sense* war keine improvisierte Waffe mit einem Gewicht von 3,5 Stn.
|
||||
- Kosten und Gewicht für *Seidenseil* ergänzt.
|
||||
- *Spealleagh* war nicht als Waffe eingetragen.
|
||||
- *Streitkolben der Streitenden Königreiche* fehlte.
|
||||
- *Stockdegen*: Formatierung angepasst.
|
||||
- *Sturmsense*: Formatierung angepasst.
|
||||
- *Turnierrüstung*: Formatierung angepasst.
|
||||
- *Turnierzweihänder*: Leiteigenschaften angepasst.
|
||||
- *Wurfnetz*: Formatierung korrigiert.
|
||||
- *Zugvogelfedern*: Preis korrigiert.
|
||||
@@ -1,31 +0,0 @@
|
||||
## Ich kann keine Zauber oder Liturgien hinzufügen!
|
||||
|
||||
Es wird daran liegen, dass du die Voraussetzungen dafür nicht erfüllst!
|
||||
Folgende Voraussetzungen gelten:
|
||||
|
||||
### Zauber:
|
||||
|
||||
- Wähle den Vorteil *Zauberer*.
|
||||
- Wähle eine magische *Traditions*-SF.
|
||||
|
||||
### Liturgien:
|
||||
|
||||
* Wähle den Vorteil *Geweihter*.
|
||||
* Wähle eine karmale *Traditions*-SF.
|
||||
|
||||
## Ich kann einen der folgenden Zauber nicht hinzufügen: Invocatio Minor, Invocatio Maior, Elementarer Diener, Dschinnenruf!
|
||||
|
||||
Diese vier Zauber haben Voraussetzungen, die im Regelwerk auf Seite 263 genannt sind.
|
||||
Demnach haben diese Zauber folgende Voraussetzungen und können erst nach Erfüllung dieser gewählt werden:
|
||||
|
||||
* Invocatio Minor: Invocatio Minima 10
|
||||
* Invocatio Maior: Invocatio Minor 12
|
||||
* Elementarer Diener: Manifesto 10
|
||||
* Dschinnenruf: Elementarer Diener 12
|
||||
|
||||
## Wie kann ich mir mehr LE/AE/KE kaufen?
|
||||
|
||||
Das hängt davon ab, ob du dich noch in der Heldenerstellung befindest oder diese abgeschlossen hast.
|
||||
|
||||
* *Während der Heldenerstellung* kannst du zusätzliche LE/AE/KE über die Vorteile *Hohe Lebenskraft/Astralenergie/Karmaenergie I-VII* kaufen. Das solltest du auch nutzen, wenn es dir auf hohe Werte in diesen Bereichen ankommt, da du Vorteile in der Regel nicht nachträglich kaufen kannst!
|
||||
* *Nach der Heldenerstellung* kannst du zusätzliche LE/AE/KE im *Eigenschaften*-Tab über den »+«-Button bei der jeweiligen Energie kaufen. Die Maxima dafür entsprechen den dafür definierten laut **Regelwerk S. 350–352**.
|
||||
@@ -1,20 +0,0 @@
|
||||
## I can't add spells or liturgical chants! That's a bug, isn't it?
|
||||
|
||||
It's likely because you do not meet the (following) requirements for adding spells or liturgical chants:
|
||||
|
||||
### Spells:
|
||||
|
||||
- Buy advantage *Spellcaster*.
|
||||
- Buy the magical special ability *Tradition*.
|
||||
|
||||
### Liturgien:
|
||||
|
||||
* Buy advantage *Blessed One*.
|
||||
* Buy the blessed special ability *Tradition*.
|
||||
|
||||
## How can I buy additional LP/AE/KP?
|
||||
|
||||
That depends on whether you are still in hero creation phase or have completed that.
|
||||
|
||||
* *During hero creation* you can add additional LP/AE/KP via the advantages *Increased Life Points/Arcane Power/Karma Points I-VII*. You should use them if you are interested in higher values because you can usually not buy advantages afterwards!
|
||||
* *After hero creation*, to add additional LP/AE/KP, use the »+« button below the respective energy in the *Attributes* tab. The maximum values for these are calculated by using the rules from the **Core Rules p. 350–352**.
|
||||
@@ -1,20 +0,0 @@
|
||||
## I can't add spells or liturgical chants! That's a bug, isn't it?
|
||||
|
||||
It's likely because you do not meet the (following) requirements for adding spells or liturgical chants:
|
||||
|
||||
### Spells:
|
||||
|
||||
- Buy advantage *Spellcaster*.
|
||||
- Buy the magical special ability *Tradition*.
|
||||
|
||||
### Liturgien:
|
||||
|
||||
* Buy advantage *Blessed One*.
|
||||
* Buy the blessed special ability *Tradition*.
|
||||
|
||||
## How can I buy additional LP/AE/KP?
|
||||
|
||||
That depends on whether you are still in hero creation phase or have completed that.
|
||||
|
||||
* *During hero creation* you can add additional LP/AE/KP via the advantages *Increased Life Points/Arcane Power/Karma Points I-VII*. You should use them if you are interested in higher values because you can usually not buy advantages afterwards!
|
||||
* *After hero creation*, to add additional LP/AE/KP, use the »+« button below the respective energy in the *Attributes* tab. The maximum values for these are calculated by using the rules from the **Core Rules p. 350—352**.
|
||||
@@ -1,3 +0,0 @@
|
||||
## 1.2.0
|
||||
|
||||
Eerste Nederlandstalige versie.
|
||||
@@ -1,21 +0,0 @@
|
||||
## Ich kann keine Zauber oder Liturgien hinzufügen! Ist das ein Bug?
|
||||
|
||||
Es wird daran liegen, dass du die Voraussetungen dafür nicht erfüllst!
|
||||
Folgende Voraussetungen gelten:
|
||||
|
||||
### Zauber:
|
||||
|
||||
- Wähle den Vorteil *Zauberer*.
|
||||
- Wähle die magische SF *Tradition*.
|
||||
|
||||
### Liturgien:
|
||||
|
||||
* Wähle den Vorteil *Geweihter*.
|
||||
* Wähle die karmale SF *Tradition*.
|
||||
|
||||
## Wie kann ich mir mehr LE/AE/KE kaufen?
|
||||
|
||||
Das hängt davon ab, ob du dich noch in der Heldenerstellung befindest oder diese abgeschlossen hast.
|
||||
|
||||
* *Während der Heldenerstellung* kannst du zusätzliche LE/AE/KE über die Vorteile *Hohe Lebenskraft/Astralenergie/Karmaenergie I-VII* kaufen. Das solltest du auch nutzen, wenn es dir auf hohe Werte in diesen Bereichen ankommt, da du Vorteile in der Regel nicht nachträglich kaufen kannst!
|
||||
* *Nach der Heldenerstellung* kannst du zusätzliche LE/AE/KE im *Eigenschaften*-Tab über den »+«-Button bei der jeweiligen Energie kaufen. Die Maxima dafür entsprechen den dafür definierten laut **Regelwerk S. 350–352**.
|
||||
@@ -0,0 +1,575 @@
|
||||
## 1.5.1
|
||||
|
||||
### Verbesserungen
|
||||
|
||||
* **MapTool:** unter dem Exportbutton sind nun Links zu der MapTool-Erweiterung ([07d336d](https://github.com/elyukai/optolith-client/commit/07d336dbb3ceba9818185a9b8c0cdffa6283afb3))
|
||||
|
||||
### Fehlerbehebungen
|
||||
|
||||
* **MapTool:** ohne Avatar konnte nicht exportiert werden ([80fdffb](https://github.com/elyukai/optolith-client/commit/80fdffb373fccc467383cf6d98c1f07a92168ee4)), schließt [#1348](https://github.com/elyukai/optolith-client/issues/1348)
|
||||
* **MapTool:** für MapTool Version 1.11.4 wurde das Exportformat angepasst ([9e9a113](https://github.com/elyukai/optolith-client/commit/9e9a1139d3821bb5a36fbaa973236319026d996a))
|
||||
* Vorteil *Vertrauenerweckend* konnte selbst mit einem aktiven Nachteil *Inkompetent* in einem Gesellschaftstalent gekauft werden ([8102bb1](https://github.com/elyukai/optolith-client/commit/8102bb1a9adac4849499380bf3bc2270aa7dd2c6)), schließt [#1351](https://github.com/elyukai/optolith-client/issues/1351)
|
||||
* Voraussetzungen, die hätten durchgestrichen werden sollen, wurden stattdessen mit umgebenen Tilden dargestellt ([2c9332c](https://github.com/elyukai/optolith-client/commit/2c9332c37f9b2d8d9e0359a9e4dadf0a40beeba1)), schließt [#1349](https://github.com/elyukai/optolith-client/issues/1349)
|
||||
|
||||
## 1.5.0
|
||||
|
||||
### Features
|
||||
|
||||
* MapTool-Export ([87cec15](https://github.com/elyukai/optolith-client/commit/87cec15ba9751c329ee39719dc654895b9f4f193))
|
||||
* Portugiesische Übersetzung ([d8c9f52](https://github.com/elyukai/optolith-client/commit/d8c9f52542120f9e5fa569728b3f11cb79102365), [#676](https://github.com/elyukai/optolith-client/issues/676))
|
||||
* Native Unterstützung für Apples M1 ([94e751f](https://github.com/elyukai/optolith-client/commit/94e751fda169c4de90cdb82346d3d864cf697300))
|
||||
|
||||
### Verbesserungen
|
||||
|
||||
* Sicherheit ([723e910](https://github.com/elyukai/optolith-client/commit/723e9106ebb178db6a7cccec2a022b3edaed5b98) and others)
|
||||
|
||||
### Fehlerbehebungen
|
||||
|
||||
* Der Trefferzonenrüstungscharakterbogen hatte einen höheren Abstand nach links als die anderen Bögen ([e637136](https://github.com/elyukai/optolith-client/commit/e63713687eff9b825a79d159fb8b44dc26f64ffe), [#788](https://github.com/elyukai/optolith-client/issues/788))
|
||||
* Bei hinzugekaufter LE wurde nicht für KO ein entsprechendes Minimum gesetzt, sondern für KK ([390dcb6](https://github.com/elyukai/optolith-client/commit/390dcb616aaa68e5b103bb49dd75d1529c4e7e3a), [#787](https://github.com/elyukai/optolith-client/issues/787))
|
||||
* Waffenindikatoren für zweihändig (2H) und improvisiert (i) fehlten auf dem Charakterbogen ([3f9fae3](https://github.com/elyukai/optolith-client/commit/3f9fae30a2291b8e53486a74dae8cc1533741b94), [#797](https://github.com/elyukai/optolith-client/issues/797))
|
||||
* Waffen der Kampftechnik Raufen hatten auf dem Charakterbogen keinen Paradewert ([a02700e](https://github.com/elyukai/optolith-client/commit/a02700eeccbd95a75f778d4d9e78ad7a2447dad8), [#1229](https://github.com/elyukai/optolith-client/issues/1229))
|
||||
* Ein Eintrag, der von einer einzelnen Aktivierung eines anderen Eintrags abhängt, hat die Möglichkeit, die Aktivierung zu entfernen, auch bei mehreren Aktivierungen dieses anderen Eintrags nicht bereitgestellt ([092343f](https://github.com/elyukai/optolith-client/commit/092343f45da566a45b13b275899a458fed720a76), [#1097](https://github.com/elyukai/optolith-client/issues/1097))
|
||||
* Einträge, die Fremdzauber in die eigenen Tradition überführen, konnten entfernt werden, wenn für diese Zauber Zaubererweiterungen gekauft worden waren ([28f260a](https://github.com/elyukai/optolith-client/commit/28f260a2c4a96adb0d36585a478676f95c304414), [#827](https://github.com/elyukai/optolith-client/issues/827))
|
||||
* Der Infobereich für Gegenstände hat manchmal nur Fehler angezeigt ([ae2fbad](https://github.com/elyukai/optolith-client/commit/ae2fbad1c738354dd468c1b36b06eda729a879e5))
|
||||
* Professionen, die höhere Kampftechnikwerte geben als durch den Erfahrungsgrad erlaubt, wurden nicht ausgeblendet ([c8094f5](https://github.com/elyukai/optolith-client/commit/c8094f5ef15f62f69088386b9fc6c64f7d8bfd02), [#1244](https://github.com/elyukai/optolith-client/issues/1244))
|
||||
* Bei der Sonderfertigkeit Kernschuss war unter Erschwernis ein Minuszeichen falsch platziert ([ccd7dec](https://github.com/elyukai/optolith-client/commit/ccd7decc8314ca476b6a15932ed9b3fb1c22a1f7), [#1080](https://github.com/elyukai/optolith-client/issues/1080))
|
||||
* In der Beschreibung von Albernisches Entermesser und Harbener Säbel war die Seitenzahl falsch ([ccd7dec](https://github.com/elyukai/optolith-client/commit/ccd7decc8314ca476b6a15932ed9b3fb1c22a1f7), [#1081](https://github.com/elyukai/optolith-client/issues/1081))
|
||||
* In der Beschreibung des Zaubers Zauberschnurren waren die QS-Beschreibungen vertauscht ([ccd7dec](https://github.com/elyukai/optolith-client/commit/ccd7decc8314ca476b6a15932ed9b3fb1c22a1f7), [#846](https://github.com/elyukai/optolith-client/issues/846) [#1122](https://github.com/elyukai/optolith-client/issues/1122))
|
||||
* Schlachtermesser und Fleischerbeil waren nicht als improvisierte Waffen markiert ([ccd7dec](https://github.com/elyukai/optolith-client/commit/ccd7decc8314ca476b6a15932ed9b3fb1c22a1f7), [#808](https://github.com/elyukai/optolith-client/issues/808))
|
||||
* INI/GS-Modifikatoren von Rüstungen wurden negativ eingerechnet ([eb5a068](https://github.com/elyukai/optolith-client/commit/eb5a06884db1894e1a9f2b4b040b114cb4dc85cb), [#1091](https://github.com/elyukai/optolith-client/issues/1091))
|
||||
* Sprachspezialisierungen kosteten nicht immer 1 AP und konnten zudem pro Sprache nicht mehrfach aktiviert werden ([0a59d9e](https://github.com/elyukai/optolith-client/commit/0a59d9e5e571e87525b18d0b25035e73f7cd87bf), [#1082](https://github.com/elyukai/optolith-client/issues/1082))
|
||||
* Portraits mit transparenten Flächen hatten einen schwarzen Hintergrund ([cc5ecd6](https://github.com/elyukai/optolith-client/commit/cc5ecd6f098ae6c080eeb3b306887727a99c1220), [#800](https://github.com/elyukai/optolith-client/issues/800))
|
||||
* Bei Profession Garether Krieger fehlte Schwerter auf 12 und Orientierung sollte 3 statt 2 betragen ([397abe2](https://github.com/elyukai/optolith-client/commit/397abe2b4a69582dc49422add1700807272c32d6), [#792](https://github.com/elyukai/optolith-client/issues/792))
|
||||
* Das bornländische Kulturpaket führte Lederbearbeitung statt Lebensmittelbearbeitung auf ([397abe2](https://github.com/elyukai/optolith-client/commit/397abe2b4a69582dc49422add1700807272c32d6), [#824](https://github.com/elyukai/optolith-client/issues/824))
|
||||
* Zauber Wirbelform hatte die falsche Tradition und eine falsche Reihenfolge bei den Zaubererweiterungen ([397abe2](https://github.com/elyukai/optolith-client/commit/397abe2b4a69582dc49422add1700807272c32d6), [#1139](https://github.com/elyukai/optolith-client/issues/1139))
|
||||
* Kleine Fehler bei den Maßangaben in der Beschreibung des Zaubers Invocatio Minima ([397abe2](https://github.com/elyukai/optolith-client/commit/397abe2b4a69582dc49422add1700807272c32d6), [#1224](https://github.com/elyukai/optolith-client/issues/1224))
|
||||
* Leiteigenschaftsänderungen bei Gegenständen wurden auf dem Charakterbogen geändert, aber nicht direkt im Editierfenster des Gegenstands ([6c63ab1](https://github.com/elyukai/optolith-client/commit/6c63ab1b5051882ace71f15740c3a69fff4a267f), [#798](https://github.com/elyukai/optolith-client/issues/798))
|
||||
* Bestimmte Professionen waren trotz eines für vorausgesetzte Eigenschaften zu niedrigen Erfahrungsgrads auswählbar ([fdde329](https://github.com/elyukai/optolith-client/commit/fdde329de591319df3f6da11404dd7523d800c3e), [#1109](https://github.com/elyukai/optolith-client/issues/1109))
|
||||
* Herbeirufende und beschwörende Zauber aus Professionen haben nicht direkt die Abhängigkeiten für ihre Voraussetzungen registriert ([c1b2e26](https://github.com/elyukai/optolith-client/commit/c1b2e267cb3f02d2d18812415c39c58739ad99ec), [#1240](https://github.com/elyukai/optolith-client/issues/1240))
|
||||
* Das Gewicht bei Elfen wurde nicht korrekt zufällig generiert ([3b05e69](https://github.com/elyukai/optolith-client/commit/3b05e69e27f7faa1634b50eb134000fe1a2c3a21), [#813](https://github.com/elyukai/optolith-client/issues/813))
|
||||
* Schreibfehler bei Physiostabilis ([e40f995](https://github.com/elyukai/optolith-client/commit/e40f995e341dc7fbcb1d9688c4b82a9187c180de), [#1234](https://github.com/elyukai/optolith-client/issues/1234))
|
||||
* Tradition (Druide) referenzierte einen nicht existierenden Nachteil statt des Vorteils Eisenaffine Aura ([f8114c2](https://github.com/elyukai/optolith-client/commit/f8114c2f4318967631b71ea3614bf647e7826fa2), [#1237](https://github.com/elyukai/optolith-client/issues/1237))
|
||||
* Der Hakendolch war nicht als Parierwaffe markiert ([ed74170](https://github.com/elyukai/optolith-client/commit/ed74170865b2caad8008a345db5c1705e0376bc5), [#1232](https://github.com/elyukai/optolith-client/issues/1232))
|
||||
* Der Waffenvorteil des Kriegsbogens hatte einen falschen Schadensbonus ([8297455](https://github.com/elyukai/optolith-client/commit/8297455ddbd360035428a4ed244a684e6f1c7e7a), [#1074](https://github.com/elyukai/optolith-client/issues/1074))
|
||||
* Profession Spinnenhexe hatte einen falschen Tierkunde-Wert ([#1250](https://github.com/elyukai/optolith-client/issues/1250))
|
||||
* Eigenschaften auf dem niedrigsten möglichen Wert (8) erlaubten Kampftechniken, dessen Leiteigenschaften sie waren, keinen Kampftechnikwert über 6 ([47e66d6](https://github.com/elyukai/optolith-client/commit/47e66d65467999e2661eaac30a97b5a1ebfece94), [#835](https://github.com/elyukai/optolith-client/issues/835))
|
||||
* Profession Sharisad bekam einen Bonus auf Steinbearbeitung statt auf Stoffbearbeitung ([cd16e53](https://github.com/elyukai/optolith-client/commit/cd16e5314a7f579a5f5f916bb204a15df3220bda), [#1341](https://github.com/elyukai/optolith-client/issues/1341))
|
||||
* Die PDF-Datei war zu groß, wenn die Hintergrundtextur verwendet wurde ([9cb2658](https://github.com/elyukai/optolith-client/commit/9cb26586f3a5026d06f41801d4bbf714631d06a4), [#1094](https://github.com/elyukai/optolith-client/issues/1094))
|
||||
* Bei AppImages funktionierte der Auto-Updater nicht ([a24ff80](https://github.com/elyukai/optolith-client/commit/a24ff8082a5556fc07af05f113bacfd9c84428a4), [#753](https://github.com/elyukai/optolith-client/issues/753))
|
||||
* SF Weg der Schreiberin konnte nicht aktiviert werden ([83b534d](https://github.com/elyukai/optolith-client/commit/83b534d3f9fcd5e63ef7cf482d9dd26f06b5a1a2), [#1233](https://github.com/elyukai/optolith-client/issues/1233))
|
||||
* Einige Leiteigenschaftsvoraussetzungen wurden ignoriert ([ac0cdc3](https://github.com/elyukai/optolith-client/commit/ac0cdc377800a1eb380993dbb7914fa88b8f254e), [#1260](https://github.com/elyukai/optolith-client/issues/1260))
|
||||
* Die Texteingabefehler für die Reichweite von Fernkampfwaffen beeinflussten ihre Inhalte gegenseitig ([0ab65e8](https://github.com/elyukai/optolith-client/commit/0ab65e869c26536127b386753db110f2e26b33af), [#1251](https://github.com/elyukai/optolith-client/issues/1251))
|
||||
* Wenn eine einzige Sprache und dazu passende Schrift vorausgesetzt wurden, wurden stattdessen alle Sprachen und Schriften vorausgesetzt ([4dabbdb](https://github.com/elyukai/optolith-client/commit/4dabbdbcd23c1ffeff18a8b1f9497a4a8315aa6a), [#1343](https://github.com/elyukai/optolith-client/issues/1343))
|
||||
* Schriften erforderten keine aktive passende Sprache ([1ed0c64](https://github.com/elyukai/optolith-client/commit/1ed0c64b0dd9873593169bd9994082d49299fa3e), [#1344](https://github.com/elyukai/optolith-client/issues/1344))
|
||||
* Einige Gegenstandswerte wurden nicht gespeichert ([f2e6138](https://github.com/elyukai/optolith-client/commit/f2e61386abe444aa76f0211469d50c30fde99a0c), [#1252](https://github.com/elyukai/optolith-client/issues/1252))
|
||||
* Schreibfeler bei Tarnele ([8b5eede](https://github.com/elyukai/optolith-client/commit/8b5eedeb372622761480f2511935e8b74bdfcdcd), [#1330](https://github.com/elyukai/optolith-client/issues/1330))
|
||||
* Die Auswahl eines Fremdzaubers für eine gildenmagische Profession war optional ([3574d1b](https://github.com/elyukai/optolith-client/commit/3574d1ba46725d04a83286cd1055c080fe1de95f), [#1315](https://github.com/elyukai/optolith-client/issues/1315))
|
||||
* Kampftechniken haben nicht das Minimum ihrer Leiteigenschaften beeinflusst ([1ce2db9](https://github.com/elyukai/optolith-client/commit/1ce2db9cfbb06b1ca8a549957b8225af71de9185), [#836](https://github.com/elyukai/optolith-client/issues/836))
|
||||
* Das Speichern eines Charakters hat manchmal die Änderungshistorie von mehreren Charakteren gelöscht ([923b760](https://github.com/elyukai/optolith-client/commit/923b7605fee4c4288dc743e962728308f7254ca9), [#811](https://github.com/elyukai/optolith-client/issues/811))
|
||||
* Zauber, die durch Imitationszauberei in Schelmenstreiche konvertiert wurden, konnten Zaubererweiterungen nutzen ([e558c1d](https://github.com/elyukai/optolith-client/commit/e558c1d80d1c668f926e4a56049029f989081a45), [#828](https://github.com/elyukai/optolith-client/issues/828))
|
||||
* Dickere Zeilen in der zweiten Spalte der Talenttabelle auf dem Charakterbogen ([41ee35b](https://github.com/elyukai/optolith-client/commit/41ee35ba76af42ad837daa6c45a940406b0c5daa), [#1342](https://github.com/elyukai/optolith-client/issues/1342))
|
||||
* Sonderfertigkeit Blattschuss zeigte den falschen Kampfsonderfertigkeitstyp an ([7e31136](https://github.com/elyukai/optolith-client/commit/7e31136083ae62e26c5017f3af2376938bd264c3), [#1331](https://github.com/elyukai/optolith-client/issues/1331))
|
||||
* Schreibfehler bei Tradition (Scharlatane) ([bdb3eb7](https://github.com/elyukai/optolith-client/commit/bdb3eb7804f8464689172f39d5bd8c229140c891), [#1239](https://github.com/elyukai/optolith-client/issues/1239))
|
||||
|
||||
### Danke
|
||||
|
||||
Zu guter Letzt ein großes **Danke** an alle, die über verschiedeste Kanäle Feedback geben und helfen, sowie an die folgenden Menschen auf GitHub, die an dieser Version mitgewirkt haben!
|
||||
|
||||
- [Elidia (@FloraMayr)](https://github.com/FloraMayr)
|
||||
- [JoveToo (@JoveToo)](https://github.com/JoveToo)
|
||||
- [Lector (@Lector)](https://github.com/Lector)
|
||||
- [Lorenz Cuno Klopfenstein (@LorenzCK)](https://github.com/LorenzCK)
|
||||
- [Marc Schwering (@m4rcsch)](https://github.com/m4rcsch)
|
||||
- [Pepelios (@Pepelios)](https://github.com/Pepelios)
|
||||
|
||||
## 1.4.2
|
||||
|
||||
### Enhancements
|
||||
|
||||
- Der Start der Anwendung war viel langsamer als in Version 1.3.2. [#751](https://github.com/elyukai/optolith-client/issues/751)
|
||||
|
||||
### Fehlerbehebungen
|
||||
|
||||
- Das Maximum von Kampftechniken konnte höher sein als es die Regeln eigentlich erlauben. [#749](https://github.com/elyukai/optolith-client/issues/749)
|
||||
- Der Abstand von Overlays – also z. B. wenn Vorteile hinzugefügt werden – nach oben war zu klein. [#727](https://github.com/elyukai/optolith-client/issues/727)
|
||||
- Wenn eine Profession es erlaubt hat, aus einer Menge an Kampftechniken eine zweite für einen niedrigeren Bonus als den der ersten auszuwählen, wurde dieser niedrigere Bonus nicht auf den Charakter angewandt. [#647](https://github.com/elyukai/optolith-client/issues/647)
|
||||
- Die *Fackel* hatte als L+S KK 15 statt KK 14. [#752](https://github.com/elyukai/optolith-client/issues/752) [#737](https://github.com/elyukai/optolith-client/issues/737)
|
||||
- Der Schadensbonus durch L+S wurde bei Waffen, die keinen festen Schaden hatten, nicht berücksichtigt. [#737](https://github.com/elyukai/optolith-client/issues/737)
|
||||
- Es konnte nur ein Talentstil zur gleichen Zeit aktiv sein, obwohl es keine Einschränkung diesbezüglich gibt. [#665](https://github.com/elyukai/optolith-client/issues/665)
|
||||
- Die Profession *Weißmagier (Akademie Schwert und Stab zu Gareth)* aus dem **Regelwerk** hatte falsche AP-Kosten und *Sternkunde 4* statt *Alchemie 4*. [#568](https://github.com/elyukai/optolith-client/issues/568)
|
||||
- Das Talentefeld für Tierbegleiter auf dem Charakterbogen was zu klein, um alle relevanten Talente aufnehmen zu können. [#733](https://github.com/elyukai/optolith-client/issues/733)
|
||||
- Im Regeltext für das *Großzelt, 12 Personen* fehlte ein Wort. [#739](https://github.com/elyukai/optolith-client/issues/739)
|
||||
- SF *Anhänger des Güldenen* erlaubte Liturgien bis Steigerungsfaktor C, obwohl nur welche bis B erlaubt sind. [#754](https://github.com/elyukai/optolith-client/issues/754)
|
||||
- SF *Scholar des Magierkollegs zu Honingen* fehlte. [#726](https://github.com/elyukai/optolith-client/issues/726)
|
||||
- SF *Havena-Stil* fehlte. [#740](https://github.com/elyukai/optolith-client/issues/740)
|
||||
- Der Name des Feenpaktgeschenks *Ruf des Waldes* hatte einen Schreibfehler. [#755](https://github.com/elyukai/optolith-client/issues/755)
|
||||
- Profession *Gildenloser Magier nach Vadif sal Karim* hatte eine Bonus auf den falschen *Hagelschlag*-Zauber. [#772](https://github.com/elyukai/optolith-client/issues/772)
|
||||
- Der Text der dritten Erweiterung des Zaubers *Klarheit des Eises* hatte eine falsche Zeiteinheit in der Zeitangabe. [#766](https://github.com/elyukai/optolith-client/issues/766)
|
||||
- Der SF *Spiritualistinnen* hatte falsche erweiterte Sonderfertigkeiten. [#763](https://github.com/elyukai/optolith-client/issues/763)
|
||||
- SF *Klingensturm* hatte falsche Kampftechniken angegeben. [#768](https://github.com/elyukai/optolith-client/issues/768)
|
||||
- Bilder mit großgeschriebenen Dateiendungen wurden als Portraits nicht akzeptiert. [#762](https://github.com/elyukai/optolith-client/issues/762)
|
||||
- Wenn ein Portrait fehlte, wurde auf dem Charakterbogen das Upload-Icon angezeigt. [#759](https://github.com/elyukai/optolith-client/issues/759)
|
||||
- Auf dem Mac wurden, wenn eine Papiertextur für den Charakterbogen ausgewählt wurde, zusätzliche leere Seiten generiert. [#748](https://github.com/elyukai/optolith-client/issues/748)
|
||||
- Der Effekttext der SF *Bindung des Dolches* hatte einen Schreibfehler. [#773](https://github.com/elyukai/optolith-client/issues/773)
|
||||
|
||||
### Danke
|
||||
|
||||
Zu guter Letzt ein großes **Danke** an alle, die über verschiedeste Kanäle Feedback geben und helfen, sowie an die folgenden Menschen auf GitHub, die an dieser Version mitgewirkt haben!
|
||||
|
||||
- [Jordok (@Jordok)](https://github.com/Jordok)
|
||||
- [JoveToo (@JoveToo)](https://github.com/JoveToo)
|
||||
- [Lorenz Cuno Klopfenstein (@LorenzCK)](https://github.com/LorenzCK)
|
||||
- [ZeSandman (@ZeSandman)](https://github.com/ZeSandman)
|
||||
|
||||
## 1.4.1
|
||||
|
||||
### Fehlerbehebungen
|
||||
|
||||
- Italienisch war nicht verfügbar.
|
||||
|
||||
## 1.4.0
|
||||
|
||||
### Features
|
||||
|
||||
- **Havena – Versunkene Geheimnisse** [#460](https://github.com/elyukai/optolith-client/issues/460)
|
||||
- **Unendlichkeit & Tiefenrausch** [#461](https://github.com/elyukai/optolith-client/issues/461)
|
||||
- **Katakomben & Ruinen** [#462](https://github.com/elyukai/optolith-client/issues/462)
|
||||
- Italienische Übersetzung [#667](https://github.com/elyukai/optolith-client/issues/667) [#610](https://github.com/elyukai/optolith-client/issues/610)
|
||||
- Optionaler Charakterbogenhintergrund in Papieroptik. [#36](https://github.com/elyukai/optolith-client/issues/36)
|
||||
- Zoom-Option für Charakterbogen-Ansicht. [#665](https://github.com/elyukai/optolith-client/issues/665)
|
||||
- Geld zum Geldbeutel hinzufügen oder davon abziehen. [#666](https://github.com/elyukai/optolith-client/issues/666)
|
||||
- Eigene Vorteile, Nachteile und Sonderfertigkeiten mit eigenem Namen und AP-Wert erstellen (temporäre Lösung). [#632](https://github.com/elyukai/optolith-client/issues/632)
|
||||
|
||||
### Verbesserungen
|
||||
|
||||
- Im Ausrüstungstab wird das Gewicht nun in einer eigenen Spalte angezeigt. [#305](https://github.com/elyukai/optolith-client/issues/305)
|
||||
- Unnötige Kampfbögen werden jetzt nicht mehr angezeigt und exportiert, stattdessen basiert die Anzeige nun darauf, welche Rüstungen der jeweilige Charakter besitzt. Der Kampfbogen für Komplettrüstungen wird angezeigt, wenn der Charakter keine Rüstung besitzt. [#407](https://github.com/elyukai/optolith-client/issues/407)
|
||||
- Der Name eines Eintrags zeigt nun, wie der Info-Button am Ende, den Regeltext des Eintrags an. [#556](https://github.com/elyukai/optolith-client/issues/556)
|
||||
|
||||
### Fehlerbehebungen
|
||||
|
||||
- Waffen aus **Aventurische Magie I** wurden nicht angezeigt. [#617](https://github.com/elyukai/optolith-client/issues/617)
|
||||
- Gegenstände aus **Aventurische Magie II** wurden nicht angezeigt. [#659](https://github.com/elyukai/optolith-client/issues/659)
|
||||
- In der Beschreibung der SF *Metessa Galora-Stil* war ein Schreibfehler. [#635](https://github.com/elyukai/optolith-client/issues/635)
|
||||
- SF *Tannhaus-Stil* hatte eine falsche Kampftechniken-Angabe. [#634](https://github.com/elyukai/optolith-client/issues/634)
|
||||
- SF *Sippenkrieger-Stil* hatte falsche erweiterte Sonderfertigkeiten. [#587](https://github.com/elyukai/optolith-client/issues/587)
|
||||
- Bei der Profession *Golgarit* und dessen Variante *Untotenjäger* fehlte die SF *Berittener Kampf*. [#597](https://github.com/elyukai/optolith-client/issues/597)
|
||||
- Die Profession *Ingerimmgeweihter* hatte falsche AP-Kosten und ihr fehlte eine Liturgie. [#574](https://github.com/elyukai/optolith-client/issues/574)
|
||||
- Die Varianten der Profession *Borongeweihter* hatten falsche Talentmodifikationen. [#548](https://github.com/elyukai/optolith-client/issues/548)
|
||||
- SF *Rabenschwestern (Seherin von Heute und Morgen)* hatte falsche erweiterte Sonderfertigkeiten. [#639](https://github.com/elyukai/optolith-client/issues/639)
|
||||
- Profession *Kammerdiener (Zofe)* hatte einen Bonus auf das falsche Talent. [#614](https://github.com/elyukai/optolith-client/issues/614)
|
||||
- SF *Elfenfreund* hatte Errata, die aber noch nicht eingepflegt waren. [#621](https://github.com/elyukai/optolith-client/issues/621)
|
||||
- Profession *Weißmagier (Schwert & Stab zu Gareth)* hatte einen falschen AP-Wert und eine zusätzliche Talentmodifikation. [#568](https://github.com/elyukai/optolith-client/issues/568)
|
||||
- Der Name der Variante *Pfad der Wächterin* der Profession *Gildenlose Magierin (Bannakademie von Fasar)* hatte einen Schreibfehler. [#566](https://github.com/elyukai/optolith-client/issues/566)
|
||||
- Zauber *Skelettarius* hatte die Zauberweiterung *Längere Dienste* statt *Längerer Dienst* und auch einen falschen Beschreibungstext. [#602](https://github.com/elyukai/optolith-client/issues/602)
|
||||
- Spezifisch definierte übliche Professionen einer Kultur werden nun auch dann angezeigt, wenn sie nicht aus dem **Regelwerk** stammen. [#563](https://github.com/elyukai/optolith-client/issues/563)
|
||||
- SF *Balboram-Stil* hatte Lanzenangriff I statt Beidhändiger Kampf I als Voraussetzung. [#563](https://github.com/elyukai/optolith-client/issues/563)
|
||||
- Der Erfahrungsgrad *Brillant* wurde zuvor Brilliant geschrieben. Das gleiche Problem gab es auch bei anderen Einträgen. [#567](https://github.com/elyukai/optolith-client/issues/567)
|
||||
- Zauber *Halluzination* hatte als Verbreitung Elfen, obwohl es Druiden hätte sein müssen. [#564](https://github.com/elyukai/optolith-client/issues/564)
|
||||
- Das Interface konnte kleiner skaliert werden. [#487](https://github.com/elyukai/optolith-client/issues/487)
|
||||
- Schelmenstreiche zeigten keine Wirkungsdauer an, obwohl sie eine besitzen. [#663](https://github.com/elyukai/optolith-client/issues/663)
|
||||
- Waffen der Kampftechnik *Lanzen* wurden nicht auf dem Heldenbogen abgezeigt. [#662](https://github.com/elyukai/optolith-client/issues/662)
|
||||
- Eigenschaften ignorierten das Minimum, welches durch höhere Fertigkeitswerte entsteht. Das Maximum für Fertigkeitswerte ist die höchste an der Probe beteiligte Eigenschaft + 2, wodurch die höchste Eigenschaft mindestens FW − 2 sein muss. [#630](https://github.com/elyukai/optolith-client/issues/630)
|
||||
- Das neue Anwendungsgebiet *Fachpublikationen* für das Talent *Rechtskunde* hatte eine falsche Sonderfertigkeitsvoraussetzung. [#680](https://github.com/elyukai/optolith-client/issues/680)
|
||||
- Geweihte des Namenlosen konnten keine Segnungen kaufen. [#657](https://github.com/elyukai/optolith-client/issues/657)
|
||||
- Einige Listeneinträge waren breiter als die eigentliche Liste. [#683](https://github.com/elyukai/optolith-client/pull/683)
|
||||
- SF *Kind der Natur* und ähnliche SFs erlaubten nur ein Talent. [#649](https://github.com/elyukai/optolith-client/issues/649)
|
||||
- Listenüberschriften waren standardmäßig nicht zentriert. [#637](https://github.com/elyukai/optolith-client/issues/637)
|
||||
- SF *Fachwissen* hatte unerwartete Zeichen im generierten Namen. [#611](https://github.com/elyukai/optolith-client/issues/611)
|
||||
- Permanent ausgegebene LE verbot den Kauf weiterer LeP. [#606](https://github.com/elyukai/optolith-client/issues/606)
|
||||
- Wenn KO auf 8 war und keine Einträge von ihr abhingen, konnten keine weiteren LeP gekauft werden. [#694](https://github.com/elyukai/optolith-client/issues/694)
|
||||
- *Aspektkenntnis*-SFs konnten trotz des Minimums von mindestens drei Liturgien des Aspekts auf FW 10 oder höher nicht gekauft werden. [#591](https://github.com/elyukai/optolith-client/issues/591)
|
||||
- Der Zaubertrick *Hexenblick* konnte von allen Zauberern gekauft werden. [#377](https://github.com/elyukai/optolith-client/issues/377)
|
||||
- Zaubertänzer konnten keine Zaubertänze kaufen. [#594](https://github.com/elyukai/optolith-client/issues/594)
|
||||
- Die Varianten der Zaubertänzer und -barden berücksichtigten ihre jeweiligen Kultur- und ggf. Geschlechtsvoraussetzungen nicht. [#565](https://github.com/elyukai/optolith-client/issues/565)
|
||||
- Wenn bei einer Profession neben der Auswahl einer oder mehrerer Kampftechniken für einen bestimmten KtW eine oder mehrere weitere Kampftechniken für einen niedrigeren KtW ausgewählt werden sollen (z. B. bei der Profession *Soldat*), war dies nicht möglich. [#647](https://github.com/elyukai/optolith-client/issues/647)
|
||||
- Die SFs *Gift melken (...)* beschrieben ein neues Einsatzgebiet, gemeint ist eine *Einsatzmöglichkeit*. [#651](https://github.com/elyukai/optolith-client/issues/651)
|
||||
- Die Beschreibung des Zaubers *Gletscherform* entsprach nicht dem Text aus **Aventurische Magie II**. [#654](https://github.com/elyukai/optolith-client/issues/654)
|
||||
- Meldungen des Updaters sowie der Suche-nach-Updates-Button sind nun auf macOS deaktiviert, da dort aktuell keine automatischen Updates möglich sind. [#589](https://github.com/elyukai/optolith-client/issues/589)
|
||||
- Die SF *Feindgespür* nannte falsche Kampftechniken, für die die SF gilt. [#658](https://github.com/elyukai/optolith-client/issues/658)
|
||||
- Auto-Update-Warnungen wurden auf Linux gezeigt selbst wenn keine direkten Auto-Updates möglich waren. [#573](https://github.com/elyukai/optolith-client/issues/573)
|
||||
- Bei der SF *Zugvögel* und SFs mit vergleichbaren Effekten wurden die zusätzlich ermöglichten Liturgieplätze durch passende aktive Liturgien, die allerdings auch für die eigentliche Tradition der Geweihten verfügbar waren, blockiert. [#677](https://github.com/elyukai/optolith-client/issues/677)
|
||||
- Die SF *Giftverstärkung* hatte einen falschen Regeltext. [#713](https://github.com/elyukai/optolith-client/issues/713)
|
||||
- Beim Exportieren eines Charakters als JSON wurde im Speichern-Dialog die Dateiendung nicht an den vorgeschlagenen Dateinamen angefügt. [#718](https://github.com/elyukai/optolith-client/issues/718)
|
||||
|
||||
### API
|
||||
|
||||
Die nächste Release wird wichtige und mit vorherigen Versionen inkompatible Änderungen mit sich bringen, wenn du also Optolith-Quelldateien oder -Speicherdateien nutzt, würde ich dir empfehlen, mal auf [Discord](https://discord.gg/wfdgB9g) vorbeizuschauen, da kann ich dir dann alles im Detail erläutern. Da mehr und mehr Menschen von der Optolith-Datenbasis abhängen, werde ich ab jetzt Semantic Versioning strikt folgen, sodass du dich allein auf Basis der Version darauf verlassen kannst, dass du mit deiner Software immer noch damit arbeiten kannst. Es wird ein neues Format für Charaktere, aber auch für sämtliche Wikieinträge geben. Du kannst mir auch immer noch Feedback zukommen lassen, da noch nicht alles bis ins letzte Detail fertig ist – aber ich denke, es macht immer noch Sinn, sich diese Änderungen recht früh anzusehen. Die nächste major Version ist immer noch ein gutes Stück entfernt, sodass noch mehr als genug Zeit ist, um deine Software anzupassen.
|
||||
|
||||
### Danke
|
||||
|
||||
Zu guter Letzt ein großes **Danke** an die folgenden Menschen auf GitHub, die an dieser Version mitgewirkt haben!
|
||||
|
||||
- [Jonas (@Rahjenaos)](https://github.com/Rahjenaos)
|
||||
- [Jordok (@Jordok)](https://github.com/Jordok)
|
||||
- [JoveToo (@JoveToo)](https://github.com/JoveToo)
|
||||
- [Lorenz Cuno Klopfenstein (@LorenzCK)](https://github.com/LorenzCK)
|
||||
- [manuelstengelberger (@manuelstengelberger)](https://github.com/manuelstengelberger)
|
||||
- [Philipp A. (@flying-sheep)](https://github.com/flying-sheep)
|
||||
- [ZeSandman (@ZeSandman)](https://github.com/ZeSandman)
|
||||
|
||||
## 1.3.2
|
||||
|
||||
### Fehlerbehebungen
|
||||
|
||||
- SF Wege der Gelehrten: Es fehlten einige Auswahlmöglichkeiten. #517
|
||||
- Neue Kampftechniken aus Büchern abseits des Regelwerks fehlten im Kampftechniken-Tab. #543
|
||||
- Die Beschreibung der Kampftechnikauswahl bei Professionsvarianten wurde nicht richtig angezeigt.
|
||||
- Die Sozialstatusvoraussetzung für *Herrschaftsanspruch* funktionierte nicht.
|
||||
- Profession *Lanisto*: Die Fertigkeitsspezialisierung galt für das falsche Talent.
|
||||
- Professionen haben ihre Abhängigkeiten nicht beachtet.
|
||||
- In den persönlichen Daten hatte das Textfeld „Titel“ die falsche Beschriftung.
|
||||
- Falsche Volumenangaben in der Effektbeschreibung des Zaubers *Manifesto*.
|
||||
- Profession *Hazaqi*: *Steinbearbeitung* 4 ist jetzt *Stoffbearbeiung* 4.
|
||||
- Berufsgeheimnisse aus der *Rüstkammer der Streitenden Königreiche* fehlten. #474
|
||||
- SF *Bindung des Bannschwerts* hatte keine Kosten. #490
|
||||
- *Götter & Kulte* war bei den meisten Geweihtenprofessionen auf FW 6. #475
|
||||
- Auf dem PDF wurde die Zustand/Status-Tabelle abgeschnitten, was aber nicht in der PDF-Vorschaut in Optolith der Fall war. #473
|
||||
- SF *Waldritter-Stil* war nicht wählbar. #478
|
||||
- SF *Angetäuschter Angriff* hatte als Voraussetzung KK 15 statt GE 15. #481
|
||||
- Die `config.json` hat immer noch bei vielen Fehler geworfen. Das Problem sollte nun endgültig gebannt sein. #476
|
||||
- In sehr seltenen Fällen wurden Teile der Heldendatei oder die gesamte Heldendatei gelöscht. Das Schreiben von Heldendateien wurde daher komplett neu geschrieben und zusammengefasst, um weiteren Fehlern vorzubeugen. #477
|
||||
- Fehlenden Garethi-Dialekt *Nostrisch* hinzugefügt. #480
|
||||
- SF Kraftkontrolle hatte als Voraussetzung statt Leiteigenschaft 15 Leiteigenschaft 13. #471
|
||||
- Fehler bei Drittanbieterlizenzen behoben. #471
|
||||
- Typo im Namen des Hardas-Stils korrigiert. #469
|
||||
|
||||
### Bekannte Fehler
|
||||
|
||||
- Einige Einträge, die komplexere Voraussetzungen haben, können diese Voraussetzungen falsch *anzeigen*, sie aber trotzdem richtig *verwenden*.
|
||||
|
||||
## 1.3.1
|
||||
|
||||
### Fehlerbehebungen
|
||||
|
||||
- In der französischen Version fehlten alle Einträge, die zur Heldenerschaffung nötig sind (Spezies etc.). Sie waren vorhanden, wurden aber nicht in der Liste angezeigt. #449
|
||||
- Es gab Fehler, weil die Config unbekannte Keys hatte, wodurch Optolith nicht startete. #450
|
||||
- Auf dem Heldenbogen wurden Status nur in einer Spalte dargestellt, wenn es eine gerade Anzahl war. #448
|
||||
|
||||
## 1.3.0
|
||||
|
||||
### Neue Features
|
||||
|
||||
- Französische Version (inkl. Regelwerk) #34
|
||||
- Aventurische Magie 2 #41
|
||||
- Aventurisches Kompendium 2 #93
|
||||
|
||||
### Verbesserungen
|
||||
|
||||
- Das Suchfeld im Wiki wird jetzt nicht mehr gelöscht, wenn man die Kategorie wechselt. #286
|
||||
- Wenn der Import eines Helden fehlschlägt, werden nun genauere Infos gegeben, was genau das Problem war. (inkompatible Version, invalide Datei, etc.) #343 #394
|
||||
- Komplett neuer Datenbankunterbau und dadurch Ladezeitersparnis von ca. 50%
|
||||
|
||||
### Fehlerbehebungen
|
||||
|
||||
- Der Cache für AP funktioniert jetzt wieder ordnungsgemäß, wenn man nicht alle Helden speichert. #416
|
||||
- Die Sprachtabelle verzerrte das Layout, wenn Hjaldisch/Saga-Thorwalsch aktiv war. #419
|
||||
- SF *Zugvögel*: Statt Rahjaliturgien standen Travialiturgien zur Auswahl. #423
|
||||
- Die Texte bei den persönliche Daten auf dem Heldenbogen wurden teilweise beschnitten. #413
|
||||
- Die Profession *Schwarzmagier (Schüler des Demirion Ophenos)* hatte falsche AP-Kosten. #344
|
||||
- Die Ausrichtung des Gesamtgewichts auf dem Besitz-Bogen wurde behoben. #291
|
||||
- Ein Gegenstand konnte nicht als improvisierte Waffe eingetragen werden. #290
|
||||
- SF *Jägerinnen der weißen Maid*: Mögliche Liturgien zeigten keine Aspekte an. #289
|
||||
- Die Infotabelle für Routineproben war nicht richtig ausgerichtet. #214
|
||||
- Angst vor: Auswahl/eigener Text wurde auf dem Heldenbogen nicht angezeigt. #213
|
||||
- Man konnte keine Bilder von einem Server als Bild importieren. #229
|
||||
- Das Hinzufügen von AP funktionierte nicht, wenn man nicht das Eingabefeld verlassen hat. #341
|
||||
- Waffen, die keinen Schaden verursachen, zeigen nicht mehr nur "W" als Schaden. #353
|
||||
- Keine Talentwertverringerung *Fährtensuche* mehr möglich bei Jäger (Kopfgeldjäger). #357
|
||||
- SF *Vorstoß* hatte KT Schwerter doppelt aufgeführt. #355
|
||||
- Ein exportierter Held mit einer BOM konnte nicht gelesen werden. #37
|
||||
- Gegenstandsänderungen konnten in bestimmten Situationen nicht gespeichert werden. #389
|
||||
- Fehler behoben, dass das Feld "Wo getragen?" bei Gegenständen nicht gespeichert wurde. #369
|
||||
- Die Zaubertricks Hexenblick und Elfenhaar sind jetzt nur noch für Hexen bzw. Elfen wählbar. #377
|
||||
- Die Obergrenze durch die Leiteigenschaft bei Kampftechniken funktioniert jetzt wieder. #379
|
||||
- Typo in ATTRIBUTO (Körperkraft), zweite Erweiterung behoben. #366
|
||||
- Wurfnetz war bei *Schleudern* anstelle bei *Wurfwaffen* hinterlegt. #345
|
||||
- Typo im Text der SF *Abrichter* behoben. #342
|
||||
- Die Anwendungskonfiguration wirft jetzt keine Fehler mehr hervor. #358
|
||||
|
||||
### API
|
||||
|
||||
Es gibt auf [GitHub](https://github.com/elyukai/optolith-client/tree/master/app/Schema/Hero) jetzt ein einfaches Schema zum Validieren eines Helden. Ein vollständiges Schema ist in Arbeit; die unfertige Version davon findet sich ebenfalls im verlinkten Ordner.
|
||||
|
||||
## 1.2.0
|
||||
|
||||
Diese Release ist hauptsächlich für andere Sprachen, da es Optolith jetzt auch auf Niederländisch gibt und English an Büchern aufgeholt hat. Allerdings gibt es auch viele relevante Fehlerbehebungen und kleine Verbesserungen.
|
||||
|
||||
### Neue Features
|
||||
|
||||
- Niederländische Version (inkl. Regelwerk)
|
||||
- Neue Bücher auf Englisch
|
||||
|
||||
### Verbesserungen
|
||||
|
||||
- Schilde werden normalerweise nicht als Primärwaffe genutzt, weshalb der doppelte Paradebonus nun standardmäßig auf dem Heldenbogen eingerechnet wird und nicht mehr der einfache.
|
||||
- Verbessertes Ausweichen I–III erhöht AW nicht mehr, da dies nur passieren darf, wenn man keine Rüstung trägt.
|
||||
- *Saga-Thorwalsch* in *Hjaldinsch/Saga-Thorwalsch* umbenannt.
|
||||
- SF Variante (beide) in *Zaubererweiterung* und *Liturgieerweiterung* umbenannt.
|
||||
|
||||
### Fehlerbehebungen
|
||||
|
||||
- Die Optionalregel *Höhere Paradewerte* erhöhte AW um 2 bzw. 4, obwohl es eigentlich nur 1 bzw. 2 sind.
|
||||
- Eine Zauber der Tradition (Scharlatan) hatten diese nicht als Tradition eingetragen.
|
||||
- Vorteil *Leichter Gang* hat die GS nicht erhöht.
|
||||
- Nachteil *Pech I-III* hat die maximalen SchiPs auf dem Heldenbogen nicht verringert.
|
||||
- Das Fenster für permanent ausgegebene Astralenegie und Karmaenergie war nicht schließbar.
|
||||
- Nachteil *Stigma (Grüne Haare)* ändert die Haarfarbe jetzt auf Grün.
|
||||
- Die Bildvorschau zeigt jetzt auch PNGs und nicht mehr nur JPEGs an.
|
||||
- Muttersprache (MS) konnte nicht als Stufe für Sprachen selektiert werden.
|
||||
- Der Schließen-Button des App-Fensters funktionierte nicht.
|
||||
- Fehlermeldungen beim Import-/Export-Abbruch entfernt.
|
||||
- SERPENTIALIS ist jetzt für Hexen und nicht mehr für Elfen.
|
||||
- Feenpaktgeschenke haben jetzt Beschreibungen.
|
||||
- Persönlichkeitsschwäche: Es ist jetzt möglich, so viele Vorurteil/Weltfremd-Einträge zu kaufen wie man möchte.
|
||||
- Für Professionen erforderliche Eigenschaftswerte werden jetzt auch so eingetragen.
|
||||
- SF Merkmalskenntnis funktionierte nicht und hatte eine falsche Kostenberechnung.
|
||||
- Halbgötter waren nicht als Anwendungsgebiete für *Götter & Kulte* verfügbar.
|
||||
- Fehlende Heilkräuter hinzugefügt.
|
||||
- Das Neuauswürfeln des Gewichts ohne eine bereits eingetragene Größe geht nun nicht mehr von einer Größe von 0 aus, sondern würfelt erst die Größe neu aus und lässt diesen Wert dann in das Gewicht einfließen.
|
||||
- Wenn die KK 8 ist, ist die Tragkraft nicht mehr 0 sondern 16.
|
||||
- Kampftechnikanpassungen in Professionsvarianten wurden nicht korrekt dargestellt.
|
||||
- Der Standardname für einen exportierten Heldenbogen ist jetzt der Name des Helden.
|
||||
- Das Maximum für Fremdzauber griff auch noch nach der Heldenerstellung.
|
||||
- Helden, die von der aktuell ausgeführten Optolith-Version nicht unterstützt werden, werden nicht mehr geladen bzw. angezeigt.
|
||||
- SF Athlet: Falsche Voraussetzungen
|
||||
- SF Buchdrucker: Falsche Voraussetzungen
|
||||
- Wenn ein Zauber für die Tradition Gildenmagier ausgewählt werden soll, werden Zauber der Tradition Allgemein ausgeblendet.
|
||||
- Umlautzeichen in Listenelementen werden jetzt nicht mehr abgeschnitten.
|
||||
- Die gewählte Sprache eines Helden wurde nicht gespeichert.
|
||||
- Pakte wurden nicht gespeichert.
|
||||
- SF Kupferstich: Falsche Voraussetzungen
|
||||
- Das Feld *Verbreitung* hat die Tradition (Namenloser) nicht aufgeführt.
|
||||
- Zu lange Liturgienamen werden auf dem Heldenbogen jetzt als Abkürzung dargestellt.
|
||||
- Die Liturgietabelle auf dem Liturgiebogen hatte teilweise falsche Überschriften.
|
||||
- Bann-/Schutzkreise werden auf dem Heldenbogen jetzt korrekt angezeigt.
|
||||
- Erweiterte Liturgiesonderfertigkeiten wurden häufig nicht durch Liturgiestile freigeschaltet.
|
||||
- Nachteil *Unfähig* hatte den Vorteil *Begabung* als Ganzes verboten und nicht nur das jeweilige Talent.
|
||||
- Das Maximum von Kampftechniken durch die Leiteigenschaft greift jetzt auch während der Heldenerstellung.
|
||||
- Hat man die Tradition Meistertalentierte ausgewählt, wurden die in Vorteile und Nachteile ausgegebenen AP nicht angezeigt.
|
||||
- SF Lieblingszauber erlaubt jetzt das Auswählen inaktiver Zauber nicht mehr.
|
||||
- Der Anteil der Kopfrüstung und der Torsorüstung bei Zonenrüstung war vertauscht.
|
||||
- SF Baliho-Stil hatte Schilddeckung als mögliche erweiterte Kampfsonderfertigkeit aufgezählt, obwohl es Schildstoß hätte sein müssen.
|
||||
|
||||
## 1.1.2
|
||||
|
||||
### Verbesserungen
|
||||
|
||||
- Die Meldung beim Laden ist jetzt auf Deutsch.
|
||||
- Das Abschließen der SKP-Auswahl kann jetzt rückgängig gemacht werden.
|
||||
|
||||
### Fehlerbehebungen
|
||||
|
||||
- Kampfsonderfertigkeiten zeigen jetzt wieder ihren Typ (passiv/Basismanöver/Spezialmanöver) im Wiki an.
|
||||
- Zauber nach Gruppe zu sortieren sortiert die Gruppen jetzt alphabetisch.
|
||||
- Auf EG *Unerfahren* kann mal als Gildenmagier jetzt auch den ausgewählten Fremdzauber (der jetzt keiner mehr ist) auswählen.
|
||||
- In der Auswahlliste für SF *Tradition (Gildenmagier)* werden jetzt keine traditionseigenen Zauber mehr angezeigt.
|
||||
- Das englische User Interface lädt jetzt wieder ohne Probleme.
|
||||
- Profession *Akademie von Licht und Dunkelheit* kann jetzt wieder ohne UI-Fehler ausgewählt werden.
|
||||
|
||||
## 1.1.0/1.1.1
|
||||
|
||||
*Die genaue Versionsnummer der App ist 1.1.1.*
|
||||
|
||||
Nach mehr als über einem Jahr kommt nun endlich ein großes Update – auch wenn man es als Benutzer nicht unbedingt mitbekommt: Optolith hat einen komplett neuen Code bekommen. Mit einher geht eine interne Umstrukturierung, sodass Features wie Gruppen in Zukunft performant möglich sein werden. Das ist zwar die größte Änderung, aber nicht die einzige: Sämtliche gemeldeten Bugs sind behoben und über die letzten zwei Wochen haben meine Tester auch noch diverse Bugs gefunden, die hiermit auch behoben werden.
|
||||
|
||||
Vermutlich werdet ihr feststellen, dass Optolith ein paar Sekunden länger braucht zum Laden als vorher. Das liegt daran, dass ich Optolith neu gebaut habe mit dem Grundgedanken, dass es stabiler läuft. Ich führe daher beim Laden Prüfungen durch, damit alle Daten, die geladen werden, auch wirklich so aussehen wie erwartet und nicht durch falsche Tabellen oder andere Daten etwas im Programm passiert, was nicht beabsichtigt ist. Die Start-Performance wird definitiv noch verbessert werden, für den Anfang ist mir ein stabileres Programm aber lieber als ein schnelles; schließlich geht es hier auch nur um den Programmstart, die Performance bei der Benutzung ist davon nicht betroffen.
|
||||
|
||||
Nicht zuletzt aber auch ein bereits an anderer Stelle erwähntes großes Dankeschön an euch, für eure Geduld und euer ganzes Feedback und weitere Hilfe, ohne die ich nicht all die Fehler hätte beheben können. Zwar haben es neue Regelwerke noch nicht in diese Version geschafft, und auch die nächste Version wird nicht alle neuen beinhalten, aber dennoch wird Optolith jetzt vergleichsweise schnell auf den aktuellen Stand der Regeln kommen können.
|
||||
|
||||
Aber nun zum Changelog dieser Version:
|
||||
|
||||
### Neue Features
|
||||
|
||||
- Helden können über die Heldenliste nun direkt gespeichert werden.
|
||||
- Portraits von Helden und Begleitern können jetzt auch wieder gelöscht werden.
|
||||
|
||||
### Verbesserungen
|
||||
|
||||
- Auswahllisten werden nach aktivierten Regelwerken gefiltert. Das funktionierte vorher nur für die Hauptlisten wie Sonderfertigkeiten, jetzt aber eben auch für z. B. die Liste von Berufsgeheimnissen.
|
||||
- Wikieinträge können nicht nach bestimmten Regelwerken gefiltert werden; ebenso wenig wie diese bei geöffneten Helden nach den dort gewählten Regelwerken gefiltert werden. Dies wird noch nachgereicht!
|
||||
- Fremdzauber werden jetzt wie untypische Vorteile durch eine rote Einfärbung markiert.
|
||||
- Die Suche nach Professionen durchsucht jetzt auch Professionsvarianten.
|
||||
- Auf dem Heldenbogen ist jetzt für doppelt so viele Sprachen Platz.
|
||||
- Beim Hinzufügen von Vor-/Nachteilen werden jetzt sowohl die AP für Vorteile als auch für Nachteile angezeigt.
|
||||
- Schilde werden auf dem Heldenbogen jetzt sowohl als Schild als auch als Waffe eingetragen.
|
||||
- Texte des Wikis können jetzt selektiert und dadurch kopiert werden.
|
||||
- Für die *Tradition (Gildenmagier)* muss jetzt ein Fremdzauber festgelegt werden. **Für eine bereits aktivierte SF funktioniert dies im *Regeln*-Tab! Bitte stellt dies ein, weil es für kommende Regelwerke relevant ist!**
|
||||
- Um später besser auf Unterschiede von Versionen in verschiedenen Sprachen reagieren zu könne, wird zu den Helden ab jetzt auch die Sprache gespeichert, in der der Held erstellt wurde. **Für ältere Helden wird diese auf die aktuell eingestellte Sprache eingestellt. Zum Ändern müsst ihr in den *Regeln*-Tab wechseln! Bitte stellt dies ein, weil es in kommenden Versionen relevant wird!**
|
||||
- Im Profil wird jetzt angezeigt, wie sich die zufällige Generierung für Gewicht und Größe zusammensetzt.
|
||||
- Der Dialog, der beim Schließen auftaucht, wenn ungespeicherte Aktionen vorhanden sind, ist jetzt klarer formuliert und hat jetzt drei Buttons für alle drei Optionen.
|
||||
- Text auf dem Heldenbogen kann jetzt selektiert werden. Diese Option ist aber nicht dazu geeignet, um den gesamten Heldenbogen zu kopieren, weil das Layout nicht richtig übernommen wird.
|
||||
- Den FAQ wurde der Eintrag hinzugefügt, wie man LE/AE/KE hinzufügt.
|
||||
- Wenn man den Wikieintrag für einen Eintrag außerhalb des Wikis angezeigen lässt, wird der Listeneintrag wie im Wiki hervorgehoben.
|
||||
- Beim Pakt wird angezeigt, wenn Felder fehlen, die ausgefüllt werden müssen, um einen vollständigen Pakt zu erhalten.
|
||||
- Die AP, die beim Beenden der Heldenerschaffung maximal übrig sein dürfen, betragen jetzt immer 10 AP, egal in welchem Modus man sich befindet.
|
||||
- Einsatzmöglichkeiten für Talente hinzugefügt.
|
||||
- Bei Talenten, bei denen die Einrechnung der Belastung nicht eindeutig ist, wird im Wikieintrag jetzt die komplette Beschreibung angezeigt, wann die Belastung relevant ist und wann nicht.
|
||||
- Die einzelnen Einträge für Vorteil *Herausragender Sinn* und Nachteil *Eingeschränkter Sinn* wurden zusammengefügt.
|
||||
- Unter *Ergänzende Quellen* werden in Wikieinträgen von Vorteilen, Nachteilen und Sonderfertigkeiten jetzt die Quellen genannt, von denen die jeweiligen Einträge ihre Auswahlmöglichkeiten bekommen. Z. B. wird bei Berufsgeheimnissen dann nicht nur die eigentliche SF aus dem Basisregelwerk als Quelle genannt, sondern eben auch die Quellen weiterer Berufsgeheimnisse auch anderen Büchern.
|
||||
- Analog zur geweihten Variante des Rabenschnabels gibt es jetzt die im Regelwerk beschriebene profane Variante des Rabenschnabels zum dort genannten Preis von 90 S. Außer des Status *geweiht/nicht geweiht* unterscheiden sich die Gegenstände nicht.
|
||||
- Die dargstellte Formel zur Berechnung der Astralenergie passt sich jetzt entsprechend der Tradition an. Denn bei einigen Traditionen fließt nur die Hälfte der Leiteigenschaft ein und einige haben keine Leiteigenschaft, die einfließen könnte.
|
||||
- Bei Stabzaubern wird *Bindung des Stabes* als Voraussetzung ausgeblendet.
|
||||
|
||||
### Fehlerbehebungen
|
||||
|
||||
- Nach einem Wechsel von Deutsch zu Englisch konnten Charaktere nicht mehr bearbeitet werden.
|
||||
- Sonderfertigkeiten können wieder nach Gruppen sortiert werden.
|
||||
- Verbreitung von Liturgien wird jetzt alphabetisch sortiert.
|
||||
- Fertigkeits- und Kampftechnik-Maxima werden bei der Erstellung nun auch von den Probeneigenschaften bzw. Leiteigenschaften beeinflusst.
|
||||
- Hesindegeweihter: Sternkunde 4 anstelle von Alchimie 4.
|
||||
- FAQ: Zwei Typos korrigiert.
|
||||
- *Meistertalentierte* können keine Zauber mehr kaufen.
|
||||
- Gelb hervorgehobene Vorteile/Nachteile werden jetzt auch in der Legende erklärt.
|
||||
- Ein/e durch eine Professionsvariante entfernte/r Zauber/Liturgie der Basisprofession wird jetzt auch wirklich entfernt und nicht mehr auf FW 0 aktiviert.
|
||||
- Fehlende Professionsvarianten für Profession *Wildniskundiger* hinzugefügt.
|
||||
- Fehlende Berufsgeheimnisse aus dem **Aventurischen Kompendium I** hinzugefügt.
|
||||
- Bilder werden auf Linux wieder angezeigt.
|
||||
- Automatische Vorteile haben jetzt Kosten von 0 AP, sodass Spezieskosten wieder korrekt sind.
|
||||
- Das Sortieren von Ausrüstung nach Gruppen wirft keinen Fehler mehr.
|
||||
- Das Portrait von Begleitern wird nun beim Export auch mit exportiert.
|
||||
- Details für Zauber und Liturgien werden wieder auf dem Heldenbogen angezeigt.
|
||||
- *Intuitive Zauberer* haben keinen Zugriff mehr auf Rituale und Zauber des Steigerungsfaktors D.
|
||||
- „Steigerungskosten“ → „Steigerungsfaktor“.
|
||||
- Astralenergie wird beim *Gildenmagier aus Perricum* wieder richtig berechnet.
|
||||
- Die Voraussetzung „Spezies, Kultur oder Profession muss \[...] als automatischen oder empfohlenen \[Vorteil/Nachteil] aufweisen“ berücksichtigt jetzt auch wieder automatische Vorteile der Spezies, sollten diese entfernt worden sein.
|
||||
- Liturgiestile werden jetzt beim Charakterwechsel auch korrekt übernommen, sodass keine Zulassungen durch vorherige Stile mehr relevant sind.
|
||||
- Begleiterlayout auf dem Heldenbogen ist jetzt wieder korrekt.
|
||||
- Bei der PDF ist jetzt kein Scrollbalken mehr zu sehen.
|
||||
- Ein valider Pakt wirft bei Sonderfertigkeiten keinen Fehler mehr.
|
||||
- Bann-/Schutzkreise werden wieder auf dem Heldenbogen angezeigt.
|
||||
- Beim Senken von Eigenschaften im Editor-Modus werden nun hinzugekaufte LE/AE/KE berücksichtigt und verhindern ggf. das Senken.
|
||||
- *Intuitive Zauberer* behandeln jetzt alle Zauber als Zauber ihrer Tradition.
|
||||
- Manchmal wurde im Wikieintrag von Professionen anstelle eines Wertes, z. B. bei *Ehrenhaftigkeit 6*, `null` angezeigt, sodass dort dann *Ehrenhaftigkeit null* stand.
|
||||
- Manchmal wurde der im Wikieintrag angezeigte vorherige Wert von durch Professionsvarianten veränderte Wert um 6 erhöht. Beispiel Profession Ritter: *Etikette 2 statt 12* ist eigentlich *Etikette 2 statt 6*.
|
||||
- Vorteil *Herausragende Fertigkeit* funktioniert jetzt auch wieder für Zauber.
|
||||
- Vorteil *Koboldfreund* fehlte.
|
||||
- Nachteil *Kleine Zauberauswahl* ist wieder für *Intuitive Zauberer* verfügbar.
|
||||
- Nachteil *Lästige Blütenfeen* fehlte.
|
||||
- Nachteil *Schlechte Eigenschaft (Geiz)* und *(Verschwendungssucht)* haben sich nicht ausgeschlossen.
|
||||
- Im Eingabefeld für Nachteil *Prinzipientreue* steht jetzt „Prinzip“ und nicht mehr „Prinzipie“.
|
||||
- Zauber und Liturgien sind jetzt nicht mehr im Nachteil *Unfähig* enthalten. Bei Helden, die dies hatten, wird der Nachteil automatisch entfernt.
|
||||
- Das Kaufen des Nachteils *Wenige Visionen* wirft keinen Fehler mehr.
|
||||
- SF *Adaption (Zauber)* wird jetzt angezeigt, wenn die Voraussetzungen erfüllt sind.
|
||||
- SF *Adaption (Zauber)* exkludiert jetzt Fremdzauber.
|
||||
- SF *Aspektkenntnis* kann wieder problemlos hinzugefügt werden.
|
||||
- SF *Astralraub*: Leerzeichen fehlte.
|
||||
- SF *Böser Namensvetter*, *Lächerlicher Name*, *Schurkenname*, *Unpassender Name*: Nicht mehr als Elf wählbar.
|
||||
- SF *Böser Namensvetter*: Formatierung korrigiert.
|
||||
- SF *Buchdrucker*: Voraussetzung Stoffbearbeitung 4 → Mechanik 4.
|
||||
- SF *Eisenhagel* kann wieder gekauft werden.
|
||||
- SF *Gebieter des \[Aspekts\]* wird jetzt wieder angezeigt, wenn die Voraussetzungen dafür erfüllt werden.
|
||||
- SF *Kupferstich*: Voraussetzung Lebensmittelbearbeitung 4 → Malen & Zeichen 4.
|
||||
- SF *Macht der Namenlosen Klinge* ist jetzt wieder in allen 13 Stufen auswählbar, natürlich vorausgesetzt, dass die Voraussetzungen erfüllt sind.
|
||||
- SF *Merkmalskenntnis* kann wieder problemlos hinzugefügt werden.
|
||||
- SF *Präziser Schuss/Wurf* hatte falsche Eigenschaftsvoraussetzungen.
|
||||
- SF *Scharfschütze II*: Voraussetzung ist jetzt IN 17 statt IN 15.
|
||||
- SF *Siegelbrecher*: Merkmal Hellsicht → Merkmal Antimagie.
|
||||
- SF *Verschwinde!*: AsP-Kosten und Volumen ergänzt.
|
||||
- Die Nachteile *Keine Flugsalbe* und *Kein Vertrauter* verringern nun korrekt die Kosten der SF *Tradition (Hexen)*.
|
||||
- SF *Tradition (Gildenmagier)* wird jetzt bei der Fremdzauberbegrenzung berücksichtigt (siehe dazu auch die Änderung an der Tradition weiter oben).
|
||||
- SF *Volumenerweiterung des Bannschwerts*: AsP-Kosten ergänzt.
|
||||
- *Bekehren & Überzeugen*: Probe MU/IN/CH → MU/KL/CH.
|
||||
- *Etikette*, Belastung: Evtl. → Nein.
|
||||
- *Fahrzeuge*: Unter **Werkzeuge** fehlte *Fahrzeug*.
|
||||
- *Tanzen*, misslungene Probe: Vorher war dort der Text von *Sinnesschärfe*.
|
||||
- *Verkleiden*, Belastung: Evtl. → Ja.
|
||||
- Falsche Probeneigenschaften von Zaubern/Magischen Handlungen:
|
||||
- *Friedenslied*: MU/KL/IN → MU/IN/CH
|
||||
- *Sorgenlied*: MU/CH/CH → MU/IN/IN
|
||||
- *Zaubermelodie*: MU/KL/CH → MU/IN/CH
|
||||
- Text, dass ein bestimmter Aspekt eines Zaubers nicht modifiziert werden kann, fehlt:
|
||||
- MOTORICUS: Kosten
|
||||
- MOVIMENTO: Wirkungsdauer
|
||||
- NEBELWAND: Kosten
|
||||
- Fehlende Probenmodifikatoren (SK/ZK) bei Zaubern hinzugefügt.
|
||||
- ADLERAUGE: Tradition Druiden ergänzt, AMA1-Quelle ergänzt.
|
||||
- ANALYS ARKANSTRUKTUR: Zauberdauer 2 Aktionen → 32 Aktionen.
|
||||
- ATTRIBUTO für Mut, Fingerfertigkeit, Gewandheit und Konstitution beinhaltet nun auch die Wirkungen der einzelnen QS.
|
||||
- BAND UND FESSEL – Zaubererweiterungen: Wortdopplung korrigiert.
|
||||
- DUNKELHEIT – Zaubererweiterungen: Leerzeichen fehlten.
|
||||
- FULMINICTUS – Zaubererweiterungen: Name korrigiert und Voraussetzungen angepasst.
|
||||
- KARNIFILO hieß vorher Kanifilo.
|
||||
- KLARUM PURUM, Kosten: 8 AsP.
|
||||
- KRABBELNDER SCHRECKEN – *Starker Ekel*: Typo korrigiert.
|
||||
- MANUS MIRACULA – Zaubererweiterungen: Name korrigiert und Voraussetzungen angepasst.
|
||||
- PHYSIOSTABILIS: Effekttext ist wieder korrekt.
|
||||
- SCHWARZER SCHRECKEN, Kosten: 8 AsP → 4 AsP.
|
||||
- UNBERÜHRT VON SATINAV: Merkmal Objekt → Merkmal Temporal.
|
||||
- WIRBELFORM verhält sich jetzt vollständig wie der Eintrag aus **Aventurische Magie II**.
|
||||
- XENOGRAPHUS – *Besseres Sprachverständnis* hieß vorher *Längere Wirkungsdauer*.
|
||||
- ZAUBERKLINGE GEISTERSPEER – Zaubererweiterungen: Formatierung korrigiert.
|
||||
- *Melodie des Magieschadens* war nicht durch Ceoladir wählbar.
|
||||
- *Melodie der Zähigkeit*: Formatierung korrigiert.
|
||||
- *Melodie des Zögerns* war nicht durch Derwisch wählbar, konnte aber durch Sangara gewählt werden.
|
||||
- Herrschaftsrituale sind nun enthalten.
|
||||
- Falsche Probeneigenschaften von Liturgien:
|
||||
- *Kleiner Bannstrahl*: MU/KL/CH → MU/IN/CH
|
||||
- *Ehrenhaftigkeit*: MU/KL/CH → MU/IN/CH
|
||||
- *Ermutigung*: MU/KL/CH → MU/IN/CH
|
||||
- *Friedvolle Aura*: MU/KL/CH → MU/IN/CH
|
||||
- *Wasserlauf*: MU/KL/IN → MU/IN/GE
|
||||
- Text, dass ein bestimmter Aspekt einer Liturgie nicht modifiziert werden kann, fehlt:
|
||||
- *Bann der göttlichen Gaben*: Liturgiedauer
|
||||
- *Dämonenwall*: Kosten
|
||||
- *Liturgieschild*: Kosten
|
||||
- *Mächtiger Angriff*: Kosten
|
||||
- *Magiebann*: Liturgiedauer
|
||||
- *Magiespiegel*: Kosten
|
||||
- *Motivation*: Kosten
|
||||
- *Namenlose Kälte*: Kosten
|
||||
- *Ächtung (Exkommunikation)* – Liturgieerweiterungen: Buchname bei der Seitenangabe ergänzt.
|
||||
- *Blitzschlag*: Verbreitung *Boron (Tod)* statt *Rondra (Sturm)*.
|
||||
- *Delphingestalt*: Effekttext korrigiert.
|
||||
- *Häutung* und *Häutung* – Liturgieerweiterungen: Leerzeichen fehlte.
|
||||
- *Guter Fang*: Liturgie → Zeremonie.
|
||||
- *Guter Fang* – Liturgieerweiterungen: Formatierung korrigiert.
|
||||
- *Klarer Geist*: Aspekt *Bildung* entfernt.
|
||||
- *Namenlose Zweifel*: Effekttext korrigiert.
|
||||
- *Namenloses Vergessen*: Effekttext korrigiert.
|
||||
- *Nebelschwaden*: Effekttext korrigiert.
|
||||
- *Obsession* fehlte.
|
||||
- *Opfergang*: Typo korrigiert.
|
||||
- *Pech und Schwefel*: Effekttext vervollständigt.
|
||||
- *Ruf der Heimat*: Effekttext vervollständigt.
|
||||
- *Seevogelsprache* – Mehr Vögel: Leerzeichen eingefügt.
|
||||
- *Sicherer Weg*: Leerzeichen eingefügt.
|
||||
- *Traumbild*, Effekt: Leerzeichen fehlte.
|
||||
- *Traumbild* – Liturgieerweiterungen: Formatierung korrigiert.
|
||||
- *Verblassende Erinnerung*: Falsche Verbreitung.
|
||||
- *Verblassende Erinnerung* – Liturgieerweiterungen: Formatierung korrigiert.
|
||||
- *Wasserlauf*: Verbreitung *Allgemein* hinzugefügt, Effekttext korrigiert.
|
||||
- *Windruf*, Zielkategorie: Objekt (profane Objekte, Segel).
|
||||
- *Zähe Haut*: Aspekt *Gutes Gold* hinzugefügt.
|
||||
- *Albernische Bauernwehr*: Wort fehlte.
|
||||
- *Albernisches Entermesser*: Typo behoben.
|
||||
- *Amazonensäbel* fehlte.
|
||||
- *Andergaster*: Formatierung des Waffenvorteils korrigiert.
|
||||
- *Dietrichset* hat jetzt auch Preis und Gewicht.
|
||||
- *Faustschild*: Formatierung korrigiert.
|
||||
- *Gänsebeutel*: Preis korrigiert.
|
||||
- *Gaoraith*: Länge fehlte.
|
||||
- *Hakendolch*: Vorteil und Nachteil ergänzt.
|
||||
- *Handspiegel* zeigt jetzt die dazugehörige Regeltechnik.
|
||||
- *Harbener Säbel*, Länge: 100 HF → 75 HF.
|
||||
- *Havener Messer*: Formatierung korrigiert.
|
||||
- *Hunde-, Pony, Pferdefutter*: Gewicht entfernt.
|
||||
- *Kettenhemd*: Formatierung angepasst.
|
||||
- *Kletterseil* hat jetzt korrekte Kosten.
|
||||
- *Korspieß*: Formatierung korrigiert.
|
||||
- Der Waffennachteil des *Langbogens* war unvollständig.
|
||||
- *Neckerdreizack*: Typo behoben.
|
||||
- *Pergament, gutes, 1 Blatt*: Preis korrigiert.
|
||||
- *Richtschwert* war nicht als Waffe gruppiert.
|
||||
- *Seesäbel*: Formatierung korrigiert und fehlendes Wort ergänzt.
|
||||
- *Sense* war keine improvisierte Waffe mit einem Gewicht von 3,5 Stn.
|
||||
- Kosten und Gewicht für *Seidenseil* ergänzt.
|
||||
- *Spealleagh* war nicht als Waffe eingetragen.
|
||||
- *Streitkolben der Streitenden Königreiche* fehlte.
|
||||
- *Stockdegen*: Formatierung angepasst.
|
||||
- *Sturmsense*: Formatierung angepasst.
|
||||
- *Turnierrüstung*: Formatierung angepasst.
|
||||
- *Turnierzweihänder*: Leiteigenschaften angepasst.
|
||||
- *Wurfnetz*: Formatierung korrigiert.
|
||||
- *Zugvogelfedern*: Preis korrigiert.
|
||||
@@ -0,0 +1,59 @@
|
||||
## Gibt es einen Charakterbogen und wenn ja, wo finde ich den?
|
||||
|
||||
Ja, es gibt einen Charakterbogen, den du als PDF exportieren kannst! Dazu musst du erst im Profil die Heldenerschaffung beenden. Damit das geht, darfst du maximal 10 AP übrig haben – und natürlich auch nicht zu viele ausgegeben haben. Wenn du sie dann beendest, findest du oben den Tab *Heldenbogen*. In diesem Tab findest du eine Vorschau deines Bogens und kannst diesen über den Button oben links als PDF speichern.
|
||||
|
||||
Für englischsprachige Nutzer eventuell relevant: Es gibt aktuell nur eine A4-Variante des Charakterbogens!
|
||||
|
||||
## Ich kann keine Zauber oder Liturgien kaufen!
|
||||
|
||||
Es wird daran liegen, dass du die Voraussetzungen dafür nicht erfüllst!
|
||||
Folgende Voraussetzungen gelten:
|
||||
|
||||
### Zauber:
|
||||
|
||||
- Wähle den Vorteil *Zauberer*.
|
||||
- Wähle eine magische *Traditions*-SF.
|
||||
|
||||
### Liturgien:
|
||||
|
||||
* Wähle den Vorteil *Geweihter*.
|
||||
* Wähle eine karmale *Traditions*-SF.
|
||||
|
||||
## Ich kann stärkere Beschwörungs-/Herbeirufungszauber nicht kaufen!
|
||||
|
||||
Diese Zauber haben Voraussetzungen, die im **Regelwerk** auf Seite **263** genannt sind.
|
||||
Demnach haben diese Zauber folgende Voraussetzungen und können erst nach Erfüllung dieser gewählt werden:
|
||||
|
||||
* Invocatio Minor: Invocatio Minima 10
|
||||
* Invocatio Maior: Invocatio Minor 12
|
||||
* Elementarer Diener: Manifesto 10
|
||||
* Dschinnenruf: Elementarer Diener 12
|
||||
|
||||
## Warum gibt es den Kampfbogen zweimal?!
|
||||
|
||||
Der erste listet unter *Rüstungen* die Einträge der normalen Rüstungen (Komplettrüstungen) aus dem RGW. Der zweite listet dort stattdessen die Trefferzonenrüstungen mit ihren unterschiedlichen Rüstungswerten pro Zone. Du hast in diesem Fall also wohl mindestens eine Komplettrüstung und eine Trefferzonenrüstung deinem Charakter hinzugefügt.
|
||||
|
||||
## Wie kann ich mir mehr LE/AE/KE kaufen?
|
||||
|
||||
Das hängt davon ab, ob du dich noch in der Heldenerstellung befindest oder diese abgeschlossen hast.
|
||||
|
||||
* *Während der Heldenerstellung* kannst du zusätzliche LE/AE/KE über die Vorteile *Hohe Lebenskraft/Astralenergie/Karmaenergie I-VII* kaufen. Das solltest du auch nutzen, wenn es dir auf hohe Werte in diesen Bereichen ankommt, da du Vorteile in der Regel nicht nachträglich kaufen kannst!
|
||||
* *Nach der Heldenerstellung* kannst du zusätzliche LE/AE/KE im *Eigenschaften*-Tab über den »+«-Button bei der jeweiligen Energie kaufen. Die Maxima dafür entsprechen den dafür definierten laut **Regelwerk** S. **350–352**.
|
||||
|
||||
## Wo finde ich meine gespeicherten Charaktere?
|
||||
|
||||
Die Charaktere und auch andere Dateien wie die Konfiguration findest du – je nach Betriebssystem – unter folgenden Orten:
|
||||
|
||||
- *Windows:* `C:/Users/<Benutzer>/AppData/Roaming/Optolith`, wobei `<Benutzer>` der Name deines Benutzerordners ist
|
||||
- *Linux:* `$XDG_CONFIG_HOME/Optolith` oder `~/.config/Optolith`
|
||||
- *macOS:* `~/Library/Application Support/Optolith`
|
||||
|
||||
Hier finden sich verschiedene relevante Dateien:
|
||||
|
||||
- `heroes.json` enthält alle Helden, die aktuell in Optolith sind
|
||||
- `config.json` enthält die Konfiguration deiner Optolith-Anwendung. Enthält keine wichtigen Daten, nur Dinge wie Farbschema, Sprache (falls man eine spezielle eingestellt hat), und ein paar andere Sachen.
|
||||
*Ein Hinweis zu Windows:* `AppData` ist ein versteckter Ordner. Um ihn zu sehen, müsst ihr im Windows Explorer unter *Ansicht* die Einstellung *Ausgeblendete Elemente* aktivieren.
|
||||
|
||||
## Wie skaliere ich die Benutzeroberfläche von Optolith auf meinem Linux-System?
|
||||
|
||||
Wenn du die `tar.gz` heruntergeladen hast, kannst du in den entpackten Ordner navigieren und dort `GDK_DPI_SCALE=<Scale> ./Optolith` in der Kommandozeile ausführen. Dabei muss `<Scale>` mit dem gewünschten Skalierungsfaktor ersetzt werden, also z. B. `1.5`.
|
||||
@@ -1,3 +1,255 @@
|
||||
## 1.5.1
|
||||
|
||||
### Enhancements
|
||||
|
||||
* **MapTool:** add links to extension next to export button ([07d336d](https://github.com/elyukai/optolith-client/commit/07d336dbb3ceba9818185a9b8c0cdffa6283afb3))
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **MapTool:** without an avatar no export was possible ([80fdffb](https://github.com/elyukai/optolith-client/commit/80fdffb373fccc467383cf6d98c1f07a92168ee4)), closes [#1348](https://github.com/elyukai/optolith-client/issues/1348)
|
||||
* **MapTool:** changed export format for MapTool version 1.11.4 ([9e9a113](https://github.com/elyukai/optolith-client/commit/9e9a1139d3821bb5a36fbaa973236319026d996a))
|
||||
<!-- * **MapTool:** Add missing Italian translations for export ([3f87dca](https://github.com/elyukai/optolith-client/commit/3f87dca910ce5229c7fd5378ba5f4177cbf431ac)), closes [#1350](https://github.com/elyukai/optolith-client/issues/1350) -->
|
||||
* Advantage *Inspire Confidence* could be bought with an active *Incompetent* in a social skill ([8102bb1](https://github.com/elyukai/optolith-client/commit/8102bb1a9adac4849499380bf3bc2270aa7dd2c6)), closes [#1351](https://github.com/elyukai/optolith-client/issues/1351)
|
||||
* Strikethrough prerequisites were rendered with surrounding tildes instead ([2c9332c](https://github.com/elyukai/optolith-client/commit/2c9332c37f9b2d8d9e0359a9e4dadf0a40beeba1)), closes [#1349](https://github.com/elyukai/optolith-client/issues/1349)
|
||||
|
||||
## 1.5.0
|
||||
|
||||
### Features
|
||||
|
||||
* MapTool export ([87cec15](https://github.com/elyukai/optolith-client/commit/87cec15ba9751c329ee39719dc654895b9f4f193))
|
||||
* Portuguese translations ([d8c9f52](https://github.com/elyukai/optolith-client/commit/d8c9f52542120f9e5fa569728b3f11cb79102365), [#676](https://github.com/elyukai/optolith-client/issues/676))
|
||||
* Native Apple M1 support ([94e751f](https://github.com/elyukai/optolith-client/commit/94e751fda169c4de90cdb82346d3d864cf697300))
|
||||
|
||||
### Enhancements
|
||||
|
||||
* Kilogram input hint for weight in item dialog ([bd9fc1b](https://github.com/elyukai/optolith-client/commit/bd9fc1badc8a408495bd7c1594338b1a5fe6df11))
|
||||
* Security ([723e910](https://github.com/elyukai/optolith-client/commit/723e9106ebb178db6a7cccec2a022b3edaed5b98) and others)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* Hit Zone Armor character sheet had left margin ([e637136](https://github.com/elyukai/optolith-client/commit/e63713687eff9b825a79d159fb8b44dc26f64ffe), [#788](https://github.com/elyukai/optolith-client/issues/788))
|
||||
* Additional LE set a minimum required value of STR instead of CON ([390dcb6](https://github.com/elyukai/optolith-client/commit/390dcb616aaa68e5b103bb49dd75d1529c4e7e3a), [#787](https://github.com/elyukai/optolith-client/issues/787))
|
||||
* Two-handed (2H) and improvised (i) weapon indicators were missing on character sheet ([3f9fae3](https://github.com/elyukai/optolith-client/commit/3f9fae30a2291b8e53486a74dae8cc1533741b94), [#797](https://github.com/elyukai/optolith-client/issues/797))
|
||||
* Brawling weapons had no parry on character sheet ([a02700e](https://github.com/elyukai/optolith-client/commit/a02700eeccbd95a75f778d4d9e78ad7a2447dad8), [#1229](https://github.com/elyukai/optolith-client/issues/1229))
|
||||
* An entry that depends on a single activation of another entry disables removing of all activations of that entry if multiple activations are present ([092343f](https://github.com/elyukai/optolith-client/commit/092343f45da566a45b13b275899a458fed720a76), [#1097](https://github.com/elyukai/optolith-client/issues/1097))
|
||||
* Entries affecting spells to not be unfamiliar could be removed if Spell Enhancements were bought ([28f260a](https://github.com/elyukai/optolith-client/commit/28f260a2c4a96adb0d36585a478676f95c304414), [#827](https://github.com/elyukai/optolith-client/issues/827))
|
||||
* The equipment info area may have crashed ([ae2fbad](https://github.com/elyukai/optolith-client/commit/ae2fbad1c738354dd468c1b36b06eda729a879e5))
|
||||
* Professions that granted higher Combat Technique Ratings than what the selected Experience Level allowed were not filtered ([c8094f5](https://github.com/elyukai/optolith-client/commit/c8094f5ef15f62f69088386b9fc6c64f7d8bfd02), [#1244](https://github.com/elyukai/optolith-client/issues/1244))
|
||||
* INI/MOV modifiers on armor were handled as penalties ([eb5a068](https://github.com/elyukai/optolith-client/commit/eb5a06884db1894e1a9f2b4b040b114cb4dc85cb), [#1091](https://github.com/elyukai/optolith-client/issues/1091))
|
||||
* Language specializations did not always cost 1 AP and could not be activated multiple times for a single language ([0a59d9e](https://github.com/elyukai/optolith-client/commit/0a59d9e5e571e87525b18d0b25035e73f7cd87bf), [#1082](https://github.com/elyukai/optolith-client/issues/1082))
|
||||
* Portraits with transparency had a black background ([cc5ecd6](https://github.com/elyukai/optolith-client/commit/cc5ecd6f098ae6c080eeb3b306887727a99c1220), [#800](https://github.com/elyukai/optolith-client/issues/800))
|
||||
* Bornlander cultural package had Leatherworking instead of Prepare Food ([397abe2](https://github.com/elyukai/optolith-client/commit/397abe2b4a69582dc49422add1700807272c32d6), [#824](https://github.com/elyukai/optolith-client/issues/824))
|
||||
* Spell Wind Shaping had the wrong traditions and wrong spell enhancements order ([397abe2](https://github.com/elyukai/optolith-client/commit/397abe2b4a69582dc49422add1700807272c32d6), [#1139](https://github.com/elyukai/optolith-client/issues/1139))
|
||||
* Primary attribute changes for items were not applied in edit window, only on character sheet ([6c63ab1](https://github.com/elyukai/optolith-client/commit/6c63ab1b5051882ace71f15740c3a69fff4a267f), [#798](https://github.com/elyukai/optolith-client/issues/798))
|
||||
* Professions with due to EL impossible attribute values could be selected ([fdde329](https://github.com/elyukai/optolith-client/commit/fdde329de591319df3f6da11404dd7523d800c3e), [#1109](https://github.com/elyukai/optolith-client/issues/1109))
|
||||
* Summoning spellworks from professions did not register dependencies from prerequisites ([c1b2e26](https://github.com/elyukai/optolith-client/commit/c1b2e267cb3f02d2d18812415c39c58739ad99ec), [#1240](https://github.com/elyukai/optolith-client/issues/1240))
|
||||
* Weight of Elves was not generated correctly ([3b05e69](https://github.com/elyukai/optolith-client/commit/3b05e69e27f7faa1634b50eb134000fe1a2c3a21), [#813](https://github.com/elyukai/optolith-client/issues/813))
|
||||
* Gaze into the Essence spell was misspelled as Gase into the Essence ([42891f0](https://github.com/elyukai/optolith-client/commit/42891f070c35b74c49bb2c9e16152789cc8cc7df), [#1180](https://github.com/elyukai/optolith-client/issues/1180))
|
||||
* Tradition (Druid) referenced a non-existent disadvantage instead of advantage Iron-Attuned Aura ([f8114c2](https://github.com/elyukai/optolith-client/commit/f8114c2f4318967631b71ea3614bf647e7826fa2), [#1237](https://github.com/elyukai/optolith-client/issues/1237))
|
||||
* Hook Dagger was not marked as a parrying weapon ([ed74170](https://github.com/elyukai/optolith-client/commit/ed74170865b2caad8008a345db5c1705e0376bc5), [#1232](https://github.com/elyukai/optolith-client/issues/1232))
|
||||
* Special ability Deadly Thrust had special ability Crossblock's rules text ([ec9bd71](https://github.com/elyukai/optolith-client/commit/ec9bd71e101abcaf61e84e3da340890e161896ea), [#841](https://github.com/elyukai/optolith-client/issues/841))
|
||||
* Missing translations for spell enhancements of Heptagramma ([a5df7c8](https://github.com/elyukai/optolith-client/commit/a5df7c863cded391609950fa5b8bf8474ffe2dfd), [#848](https://github.com/elyukai/optolith-client/issues/848))
|
||||
* Attributes on minimum value (8) did not allow a combat technique rating over 6 if the attribute was the combat technique's primary attribute ([47e66d6](https://github.com/elyukai/optolith-client/commit/47e66d65467999e2661eaac30a97b5a1ebfece94), [#835](https://github.com/elyukai/optolith-client/issues/835))
|
||||
* Profession Sharisad got Earthencraft bonus instead of Clothworking bonus ([cd16e53](https://github.com/elyukai/optolith-client/commit/cd16e5314a7f579a5f5f916bb204a15df3220bda), [#1341](https://github.com/elyukai/optolith-client/issues/1341))
|
||||
* The Hit Zone Armor tab in Belongings was not available, even with Aventuria Armory activated ([383a9c1](https://github.com/elyukai/optolith-client/commit/383a9c166c6d8c5d713f4852f40999c5d8c00efc), [#1328](https://github.com/elyukai/optolith-client/issues/1328))
|
||||
* Too large PDF output when using a sheet background ([9cb2658](https://github.com/elyukai/optolith-client/commit/9cb26586f3a5026d06f41801d4bbf714631d06a4), [#1094](https://github.com/elyukai/optolith-client/issues/1094))
|
||||
* Weight column in inventory showed wrong weight ([6ba99f2](https://github.com/elyukai/optolith-client/commit/6ba99f2f4610e8a26d1703d978738a907f26bd92), [#1329](https://github.com/elyukai/optolith-client/issues/1329))
|
||||
* Auto-updater did not work in AppImage ([a24ff80](https://github.com/elyukai/optolith-client/commit/a24ff8082a5556fc07af05f113bacfd9c84428a4), [#753](https://github.com/elyukai/optolith-client/issues/753))
|
||||
* Some primary attribute prerequisites were not enforced ([ac0cdc3](https://github.com/elyukai/optolith-client/commit/ac0cdc377800a1eb380993dbb7914fa88b8f254e), [#1260](https://github.com/elyukai/optolith-client/issues/1260))
|
||||
* Range brackets input fields influenced other bracket fields ([0ab65e8](https://github.com/elyukai/optolith-client/commit/0ab65e869c26536127b386753db110f2e26b33af), [#1251](https://github.com/elyukai/optolith-client/issues/1251))
|
||||
* Requiring only one matching languages and script required all of them instead ([4dabbdb](https://github.com/elyukai/optolith-client/commit/4dabbdbcd23c1ffeff18a8b1f9497a4a8315aa6a), [#1343](https://github.com/elyukai/optolith-client/issues/1343))
|
||||
* Scripts did not require an active matching language ([1ed0c64](https://github.com/elyukai/optolith-client/commit/1ed0c64b0dd9873593169bd9994082d49299fa3e), [#1344](https://github.com/elyukai/optolith-client/issues/1344))
|
||||
* Some item properties were not saved ([f2e6138](https://github.com/elyukai/optolith-client/commit/f2e61386abe444aa76f0211469d50c30fde99a0c), [#1252](https://github.com/elyukai/optolith-client/issues/1252))
|
||||
* Unfamiliar spell selection in profession was optional ([3574d1b](https://github.com/elyukai/optolith-client/commit/3574d1ba46725d04a83286cd1055c080fe1de95f), [#1315](https://github.com/elyukai/optolith-client/issues/1315))
|
||||
* special ability Knuckle Storm's description used Damage Points instead of Brawling Points ([06b57c9](https://github.com/elyukai/optolith-client/commit/06b57c9d15e1ef6f35da69ea46512bb790119b0a), [#1340](https://github.com/elyukai/optolith-client/issues/1340))
|
||||
* Combat techniques did not influence the minimum of their primary attributes ([1ce2db9](https://github.com/elyukai/optolith-client/commit/1ce2db9cfbb06b1ca8a549957b8225af71de9185), [#836](https://github.com/elyukai/optolith-client/issues/836))
|
||||
* Saving a hero cleared the undo history of multiple characters ([923b760](https://github.com/elyukai/optolith-client/commit/923b7605fee4c4288dc743e962728308f7254ca9), [#811](https://github.com/elyukai/optolith-client/issues/811))
|
||||
* Widened rows in second column of skills table on character sheet ([41ee35b](https://github.com/elyukai/optolith-client/commit/41ee35ba76af42ad837daa6c45a940406b0c5daa), [#1342](https://github.com/elyukai/optolith-client/issues/1342))
|
||||
|
||||
### Thank you
|
||||
|
||||
Last but definitely not least a big **Thank You** to all of you who give feedback and help out on various channels as well as to the following people on GitHub who contributed to this release!
|
||||
|
||||
- [Elidia (@FloraMayr)](https://github.com/FloraMayr)
|
||||
- [JoveToo (@JoveToo)](https://github.com/JoveToo)
|
||||
- [Lector (@Lector)](https://github.com/Lector)
|
||||
- [Lorenz Cuno Klopfenstein (@LorenzCK)](https://github.com/LorenzCK)
|
||||
- [Marc Schwering (@m4rcsch)](https://github.com/m4rcsch)
|
||||
- [Pepelios (@Pepelios)](https://github.com/Pepelios)
|
||||
|
||||
## 1.4.2
|
||||
|
||||
### Enhancements
|
||||
|
||||
- Start-up was way slower than in 1.3.2. [#751](https://github.com/elyukai/optolith-client/issues/751)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Added some missing UI translations. [#723](https://github.com/elyukai/optolith-client/issues/723)
|
||||
- Added missing aspects for **Gods of Aventuria I**. [#724](https://github.com/elyukai/optolith-client/issues/724)
|
||||
- Added missing special ability groups for **Gods of Aventuria I**. [#725](https://github.com/elyukai/optolith-client/issues/725)
|
||||
- SA *Two Blessings at Once* had the wrong rules text. [#750](https://github.com/elyukai/optolith-client/issues/750)
|
||||
- Combat Techniques maximum CtR could be higher that allowed by rules. [#749](https://github.com/elyukai/optolith-client/issues/749)
|
||||
- The top margin of overlay windows – like when adding advantages – was too small. [#727](https://github.com/elyukai/optolith-client/issues/727)
|
||||
- If a profession allowed to select a second combat technique from a set of combat techniques where the bonus was lower than the bonus for the first combat technique, the selected lower bonus was not applied to the character. [#647](https://github.com/elyukai/optolith-client/issues/647)
|
||||
- The *Torch* had P+T STR 15 instead of STR 14. [#752](https://github.com/elyukai/optolith-client/issues/752) [#737](https://github.com/elyukai/optolith-client/issues/737)
|
||||
- The P+T damage bonus was not added to weapons without flat damage. [#737](https://github.com/elyukai/optolith-client/issues/737)
|
||||
- Profession *White Mage (Gareth Academy of Sword and Staff)* from the **Core Rules** had a wrong AP value and *Astronomy 4* instead of *Alchemy 4*. [#568](https://github.com/elyukai/optolith-client/issues/568)
|
||||
- Creature skills text field on PDF export was too short to fit all relevant skills of a creature. [#733](https://github.com/elyukai/optolith-client/issues/733)
|
||||
- SA *Followers of the Golden One* allowed liturgical chants up to improvement cost C instead of up to B. [#754](https://github.com/elyukai/optolith-client/issues/754)
|
||||
- Profession *Guildless Mage (Vadif sal Karim’s Student)* had a bonus on the wrong *Hailstorm and Roar of Thunder* spellwork. [#772](https://github.com/elyukai/optolith-client/issues/772)
|
||||
- SA *Bladestorm* had wrong applicable combat techniques. [#768](https://github.com/elyukai/optolith-client/issues/768)
|
||||
- Some books were missing the weight. [#760](https://github.com/elyukai/optolith-client/issues/760)
|
||||
- Images with uppercase file endings have not been accepted as portrait images. [#762](https://github.com/elyukai/optolith-client/issues/762)
|
||||
- The upload icon was shown in place of the portrait image on the character sheet if no portrait was defined. [#759](https://github.com/elyukai/optolith-client/issues/759)
|
||||
- On the Mac, if paper background was activated, additional blank pages were generated for the PDF output. [#748](https://github.com/elyukai/optolith-client/issues/748)
|
||||
|
||||
### Thank you
|
||||
|
||||
Last but definitely not least a big **Thank You** to all of you who give feedback and help out on various channels as well as to the following people on GitHub who contributed to this release!
|
||||
|
||||
- [Jordok (@Jordok)](https://github.com/Jordok)
|
||||
- [JoveToo (@JoveToo)](https://github.com/JoveToo)
|
||||
- [Lorenz Cuno Klopfenstein (@LorenzCK)](https://github.com/LorenzCK)
|
||||
- [ZeSandman (@ZeSandman)](https://github.com/ZeSandman)
|
||||
|
||||
## 1.4.1
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Italian was not available.
|
||||
|
||||
## 1.4.0
|
||||
|
||||
### Features
|
||||
|
||||
- **Gods of Aventuria I** [#656](https://github.com/elyukai/optolith-client/issues/656)
|
||||
- Italian translation [#667](https://github.com/elyukai/optolith-client/issues/667) [#610](https://github.com/elyukai/optolith-client/issues/610)
|
||||
- Optional paper-style background for character sheet. [#36](https://github.com/elyukai/optolith-client/issues/36)
|
||||
- Character Sheet view zoom option. [#665](https://github.com/elyukai/optolith-client/issues/665)
|
||||
- Add/Subtract money from purse. [#666](https://github.com/elyukai/optolith-client/issues/666)
|
||||
- Create custom advantages, disadvantages and special abilities with custom name and AP value (temporary solution). [#632](https://github.com/elyukai/optolith-client/issues/632)
|
||||
|
||||
### Enhancements
|
||||
|
||||
- Weight is now shown in an own column in equipment tab. [#305](https://github.com/elyukai/optolith-client/issues/305)
|
||||
- Unnecessary combat sheets are not used anymore, it now depends on which armor the character has. It defaults to the normal armor if no armor is present. [#407](https://github.com/elyukai/optolith-client/issues/407)
|
||||
- You can now click on entry names as well to show it's rules text. [#556](https://github.com/elyukai/optolith-client/issues/556)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Variants of profession *Blessed One of Boron* had wrong skill modifications. [#548](https://github.com/elyukai/optolith-client/issues/548)
|
||||
- Profession *White Mage (Sword & Staff)* had a wrong AP value and an additional skill modification. [#568](https://github.com/elyukai/optolith-client/issues/568)
|
||||
- Fixed common professions of a culture will now be shown even if they are not from the **Core Rules**. [#563](https://github.com/elyukai/optolith-client/issues/563)
|
||||
- The interface could be scaled down. [#487](https://github.com/elyukai/optolith-client/issues/487)
|
||||
- Weapons of the combat technique *Lances* were not shown on character sheet. [#662](https://github.com/elyukai/optolith-client/issues/662)
|
||||
- Attributes ignored the minimum caused by high skill ratings. The maximum of skill rating is the highest linked attribute + 2, so the highest attribute is required to have a minimum value of SR − 2. [#630](https://github.com/elyukai/optolith-client/issues/630)
|
||||
- The new application *Professional Publications* for skill *Law* had a wrong special ability prerequisite. [#680](https://github.com/elyukai/optolith-client/issues/680)
|
||||
- Some list items were wider than the actual list. [#683](https://github.com/elyukai/optolith-client/pull/683)
|
||||
- List headers were not centered by default. [#637](https://github.com/elyukai/optolith-client/issues/637)
|
||||
- Permanently spent LP did not allow additional LP to be bought. [#606](https://github.com/elyukai/optolith-client/issues/606)
|
||||
- Additional LP could not be added if CON is 8 and nothing depends on it. [#694](https://github.com/elyukai/optolith-client/issues/694)
|
||||
- SA *Aspect Knowledge* did not show up even with three chants on SR 10 or higher. [#591](https://github.com/elyukai/optolith-client/issues/591)
|
||||
- Cantrip Witch's Gaze was selectable by all spell casters. [#377](https://github.com/elyukai/optolith-client/issues/377)
|
||||
- Arcane Dancers could not add magical dances. [#594](https://github.com/elyukai/optolith-client/issues/594)
|
||||
- Select options of traditions Arcane Bard and Arcane Dancer did not require their respective culture and possible sex. [#565](https://github.com/elyukai/optolith-client/issues/565)
|
||||
- If, in addition to the selection of one or more fighting techniques for a certain CtR, one or more other fighting techniques should be selected for a lower CtR (e.g. in the profession *Soldier*), it was not possible. [#647](https://github.com/elyukai/optolith-client/issues/647)
|
||||
- Certain values on character sheet were not floored. [#655](https://github.com/elyukai/optolith-client/issues/655)
|
||||
- Chain Mail was available twice. [#570](https://github.com/elyukai/optolith-client/issues/570)
|
||||
- Scale Mail was available twice and had a typo. [#569](https://github.com/elyukai/optolith-client/issues/569)
|
||||
- Updater checks and the check for updates button are now disabled on macOS since updates are not possible on macOS currently. [#589](https://github.com/elyukai/optolith-client/issues/589)
|
||||
- Wrong applicable combat techniques for SA *Enemy Sense*. [#658](https://github.com/elyukai/optolith-client/issues/658)
|
||||
- Auto-update alerts were enabled on Linux even when there were no direct auto-updates available. [#573](https://github.com/elyukai/optolith-client/issues/573)
|
||||
- The save dialog for exporting a character as JSON did not add the file extension to the suggested file name. [#718](https://github.com/elyukai/optolith-client/issues/718)
|
||||
|
||||
### API
|
||||
|
||||
There are important and breaking changes coming with the next release, so if you use the Optolith source or save data, I'd recommend to come over to [Discord](https://discord.gg/wfdgB9g) so that I can tell you what is going to be changed in detail. Since more and more people depend on Optolith's data I will now follow semantic versioning strictly so that you can rely on the compatibility of source files just by checking out the version number. There will be a new format for heroes as well as for the source data. You can also give feedback on the changes, since they are not *completely* done yet – but I still think it would make sense to check out the changes as early as possible. The next major version is still a bit away, so you'll have plenty of time to adjust your software.
|
||||
|
||||
### Thank you
|
||||
|
||||
Last but definitely not least a big **Thank You** to the following people on GitHub who contributed to this release!
|
||||
|
||||
- [Jonas (@Rahjenaos)](https://github.com/Rahjenaos)
|
||||
- [Jordok (@Jordok)](https://github.com/Jordok)
|
||||
- [JoveToo (@JoveToo)](https://github.com/JoveToo)
|
||||
- [Lorenz Cuno Klopfenstein (@LorenzCK)](https://github.com/LorenzCK)
|
||||
- [manuelstengelberger (@manuelstengelberger)](https://github.com/manuelstengelberger)
|
||||
- [Philipp A. (@flying-sheep)](https://github.com/flying-sheep)
|
||||
- [ZeSandman (@ZeSandman)](https://github.com/ZeSandman)
|
||||
|
||||
## 1.3.2
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Combat Techniques from books other than Core Rules were missing in combat techniques tab. #543
|
||||
- Description of combat technique selection for profession variants does not render properly. #539
|
||||
- Profession *Lanisto*: Skill Specialization selection referenced the wrong skill. #537
|
||||
- Professions did not react to dependencies. #507
|
||||
- *Old Adersin Style* missing from **Aventuria Armory**. #499
|
||||
- Professions' section header "Combat Techniques" is German ("Kampftechniken"). #500
|
||||
- Textfield „Title“ in personal data had wrong label. #492
|
||||
- Profession *Hazaqi*: *Earthencraft* 4 is now *Clothworking* 4. #496
|
||||
- Trade Secrets from *Armory of the Warring Kingdoms* were missing. #474
|
||||
- SA *Binding of the Spell-Sword* had no costs. #490
|
||||
- *Religion* was on SR 6 for most of the Blessed One professions. #475
|
||||
- States were overflowing on character sheet PDF but not in Optolith. #473
|
||||
- The `config.json` has still thrown errors for many users. The problem should be fixed, finally. #476
|
||||
- In very rare situations parts of the heroes file or the whole heroes file have been deleted. Because of this, saving heroes has been completely rewritten and condensed to prevent further issues. #477
|
||||
- Added missing Garethi dialect *Nostrian*. #480
|
||||
- Fixed prerequisites for SA Energy Control. #471
|
||||
- Fixed third-party licenses. #471
|
||||
|
||||
### Known Issues
|
||||
|
||||
- Some of the entries with more complex prerequisites might *display* them wrong but *handle* them correct.
|
||||
|
||||
## 1.3.1
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- In the French version, you were not able to create characters, because you could not choose any publication, race, ... #449
|
||||
- There was an error thrown by "unknown keys" in the config. #450
|
||||
- On character sheet, states were only displayed in one column if the amount of states was even. #448
|
||||
|
||||
## 1.3.0
|
||||
|
||||
### New Features
|
||||
|
||||
- French version (incl. Core Rules) #34
|
||||
|
||||
### Enhancements
|
||||
|
||||
- The search bar in wiki will not be cleared anymore if you switch the category. #286
|
||||
- If importing a hero fails you'll now get more detailed information about the cause of the problem. (Incompatible version, invalid file, ...) #343 #394
|
||||
- Completely new database layer and thus start-up time reduction up to 50%
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- The cache for AP is now working properly after not saving all of the heroes. #416
|
||||
- Languages overflow on character sheet if Hjaldingsh is active. #419
|
||||
- Personal data font is truncated vertically on character sheet. #413
|
||||
- Profession *Black Mage (Demirion Ophenos's Student)* had wrong AP cost. #344
|
||||
- Fixed weight total alignment on belongings sheet. #291
|
||||
- An item could not be set as an improvised weapon. #290
|
||||
- Routine Checks table: wrong alignment. #214
|
||||
- Afraid of: Selection/Custom text did not appear on character sheet. #213
|
||||
- Could not upload profile image from windows network share. #229
|
||||
- Adding AP did not work if you didn't leave the input field. #341
|
||||
- Weapons that do not apply damage only showed "D" as Damage. #353
|
||||
- There was no Skill Rating decrease possible for *Tracking* with SA Hunter. #357
|
||||
- SA *Onslaught* lists CT *Swords* twice. #355
|
||||
- Could not read exported hero with BOM. #370
|
||||
- Item changes could be saved in certain situations. #389
|
||||
- Fixed field "Carried where" on items not persisted. #369
|
||||
- The maximum of CTs caused by their primary attributes has been fixed. #379
|
||||
- Cast-Net has had the CT *Slings* instead of *Thrown Weapons*. #345
|
||||
- The app config does not cause errors anymore. #358
|
||||
|
||||
### API
|
||||
|
||||
As of now, there is a simple scheme for validating a hero available on [GitHub](https://github.com/elyukai/optolith-client/tree/master/app/Schema/Hero). A complete schema is in the works; the unfinished version thereof can also be found in the linked folder.
|
||||
|
||||
## 1.2.0
|
||||
|
||||
This release marks a big milestone for the English version as it includes all rule books released so far. This includes the **Compendium I**, **Magic of Aventuria** and more. Also, there are quite a few fixes.
|
||||
@@ -178,18 +430,18 @@ But now it’s time for the changelog of this version:
|
||||
|
||||
## 1.0.0
|
||||
|
||||
#### New Features / Breaking Changes
|
||||
### New Features / Breaking Changes
|
||||
|
||||
- New app name: Optolyth (long version: Optolyth Character Generator)
|
||||
- Linux 32-bit build available.
|
||||
- Applications that can be purchased using advantages or special abilities can be used for a skill specialization. They are listed in the wiki below *New Applications*, too.
|
||||
|
||||
#### Rules/Crunch
|
||||
### Rules/Crunch
|
||||
|
||||
- Language Specializations can be activated as an Optional Rule in the Rules tab.
|
||||
- Added missing entries for *Immunity to [poison/disease]* from **Core Rules** and **Aventuria Almanach**.
|
||||
|
||||
#### Bug Fixes / Other
|
||||
### Bug Fixes / Other
|
||||
|
||||
- Multiline texts are now multiline on character sheet.
|
||||
- If advantage *Stigma (Albino)* is purchased the (lists of available) hair and eye colors change.
|
||||
@@ -0,0 +1,57 @@
|
||||
## Is there a character sheet and where can I find it?
|
||||
|
||||
Yes, there is a character sheet you can export as a PDF! To do that, you have to end hero creation in the character's profile first. To do *that*, you need to have a maximum of 10 AP left – and you can't have too much AP spent, obviously. If you end it, you'll see the new tab *Character Sheet* above. In that tab you'll get a preview of your sheet and then you can export it via the button in the top left corner!
|
||||
|
||||
Might be relevant: There's only an DIN A4 version available!
|
||||
|
||||
## I can't add spells or liturgical chants!
|
||||
|
||||
It's likely you do not meet the prerequisites for adding spells or liturgical chants:
|
||||
|
||||
### Spells:
|
||||
|
||||
- Buy advantage *Spellcaster*.
|
||||
- Buy the magical special ability *Tradition*.
|
||||
|
||||
### Liturgical Chants:
|
||||
|
||||
* Buy advantage *Blessed One*.
|
||||
* Buy the blessed special ability *Tradition*.
|
||||
|
||||
## I can't buy stronger invocations!
|
||||
|
||||
Stronger invocation rituals have prerequisites that you can find in the **Core Rules** on page **263**:
|
||||
|
||||
* Invocatio Minor: Invocatio Minima 10
|
||||
* Invocatio Maior: Invocatio Minor 12
|
||||
* Elemental Servant: Manifesto 10
|
||||
* Call Djinn: Elemental Servant 12
|
||||
|
||||
## Why do I have the combat sheet twice?!
|
||||
|
||||
The first lists the default armor from the CR below *Armor* on the sheet. The second lists the hit zone armor with their different PRO values per hit zone there instead. If you have both sheets it's likely you have both default armor and hit zone armor for your character.
|
||||
|
||||
## How can I buy additional LP/AE/KP?
|
||||
|
||||
That depends on whether you are still in hero creation phase or have completed that.
|
||||
|
||||
* *During hero creation* you can add additional LP/AE/KP via the advantages *Increased Life Points/Arcane Power/Karma Points I-VII*. You should use them if you are interested in higher values because you can usually not buy advantages afterwards!
|
||||
* *After hero creation*, to add additional LP/AE/KP, use the »+« button below the respective energy in the *Attributes* tab. The maximum values for these are calculated by using the rules from the **Core Rules** p. **350–352**.
|
||||
|
||||
## Where do I find my saved characters?
|
||||
|
||||
Characters and other files such as the application configuration can be found at the following locations, depending on the OS you use:
|
||||
|
||||
- *Windows:* `C:/Users/<User>/AppData/Roaming/Optolith`, where `<User>` is the name of your user folder
|
||||
- *Linux:* `$XDG_CONFIG_HOME/Optolith` or `~/.config/Optolith`
|
||||
- *macOS:* `~/Library/Application Support/Optolith`
|
||||
|
||||
A list of relevant files:
|
||||
|
||||
- `heroes.json ` contains all heroes saved in Optolith
|
||||
- `config.json` contains the configuration of your Optolith. It does not contain critical data but things like color theme, language (only if you selected a specific one) and alike.
|
||||
*A note on Windows:* `AppData` is a *hidden* folder. To be able to see it, check out the Windows Explorer, go to the *View* tab and activate the setting *Hidden elements*.
|
||||
|
||||
## How do I scale the UI for Optolith on Linux?
|
||||
|
||||
If you have the `tar.gz`, you can go into the extracted folder and then run `GDK_DPI_SCALE=<Scale> ./Optolith`, where `<Scale>` needs to be replaced with the desired scale, e.g. `1.5`.
|
||||
@@ -0,0 +1,183 @@
|
||||
## 1.5.1
|
||||
|
||||
### Améliorations
|
||||
|
||||
* **MapTool:** ajout de liens vers l'extension près du bouton d'export ([07d336d](https://github.com/elyukai/optolith-client/commit/07d336dbb3ceba9818185a9b8c0cdffa6283afb3))
|
||||
|
||||
### Bugs corrigés
|
||||
|
||||
* **MapTool:** sans avatar aucun export n'était possible ([80fdffb](https://github.com/elyukai/optolith-client/commit/80fdffb373fccc467383cf6d98c1f07a92168ee4)), fermeture [#1348](https://github.com/elyukai/optolith-client/issues/1348)
|
||||
* **MapTool:** modification du format d'export pour MapTool en version 1.11.4 ([9e9a113](https://github.com/elyukai/optolith-client/commit/9e9a1139d3821bb5a36fbaa973236319026d996a))
|
||||
* L'avantage *Rassurant* pouvait être acheté malgré un désavantage *Incompétent* dans un des talents sociaux ([8102bb1](https://github.com/elyukai/optolith-client/commit/8102bb1a9adac4849499380bf3bc2270aa7dd2c6)), fermeture [#1351](https://github.com/elyukai/optolith-client/issues/1351)
|
||||
* Les prérequis à ne pas remplir étaient affichés avec des tirets autour au lieu d'être rayés ([2c9332c](https://github.com/elyukai/optolith-client/commit/2c9332c37f9b2d8d9e0359a9e4dadf0a40beeba1)), fermeture [#1349](https://github.com/elyukai/optolith-client/issues/1349)
|
||||
|
||||
## 1.5.0
|
||||
|
||||
### Fonctionnalités
|
||||
|
||||
* Export MapTool ([87cec15](https://github.com/elyukai/optolith-client/commit/87cec15ba9751c329ee39719dc654895b9f4f193))
|
||||
* Traductions en portugais ([d8c9f52](https://github.com/elyukai/optolith-client/commit/d8c9f52542120f9e5fa569728b3f11cb79102365), [#676](https://github.com/elyukai/optolith-client/issues/676))
|
||||
* Support natif Apple M1 ([94e751f](https://github.com/elyukai/optolith-client/commit/94e751fda169c4de90cdb82346d3d864cf697300))
|
||||
|
||||
### Améliorations
|
||||
|
||||
* Sécurité ([723e910](https://github.com/elyukai/optolith-client/commit/723e9106ebb178db6a7cccec2a022b3edaed5b98) and others)
|
||||
|
||||
### Bugs corrigés
|
||||
|
||||
* Des PV supplémentaires fixaient une valeur minimale requise de FO au lieu de CN. ([390dcb6](https://github.com/elyukai/optolith-client/commit/390dcb616aaa68e5b103bb49dd75d1529c4e7e3a), [#787](https://github.com/elyukai/optolith-client/issues/787))
|
||||
* Les indicateurs d'armes à deux mains (2M) et d'armes improvisées (i) manquaient sur la feuille de personnage. ([3f9fae3](https://github.com/elyukai/optolith-client/commit/3f9fae30a2291b8e53486a74dae8cc1533741b94), [#797](https://github.com/elyukai/optolith-client/issues/797))
|
||||
* Les armes de bagarre n'avaient pas de parade sur la feuille de personnage. ([a02700e](https://github.com/elyukai/optolith-client/commit/a02700eeccbd95a75f778d4d9e78ad7a2447dad8), [#1229](https://github.com/elyukai/optolith-client/issues/1229))
|
||||
* Une entrée qui dépend d'une seule activation d'une autre entrée désactive la suppression de toutes les activations de cette entrée si des activations multiples sont présentes. ([092343f](https://github.com/elyukai/optolith-client/commit/092343f45da566a45b13b275899a458fed720a76), [#1097](https://github.com/elyukai/optolith-client/issues/1097))
|
||||
* Les entrées affectant les sorts de façon à ce qu'ils ne soient pas "non familiers" pouvaient être supprimées si des améliorations de sorts étaient achetées. ([28f260a](https://github.com/elyukai/optolith-client/commit/28f260a2c4a96adb0d36585a478676f95c304414), [#827](https://github.com/elyukai/optolith-client/issues/827))
|
||||
* La zone d'information sur l'équipement pouvait planter ([ae2fbad](https://github.com/elyukai/optolith-client/commit/ae2fbad1c738354dd468c1b36b06eda729a879e5))
|
||||
* Les professions qui accordaient une valeur de technique de combat supérieure à celle autorisée par le niveau d'expérience sélectionné n'étaient pas filtrées. ([c8094f5](https://github.com/elyukai/optolith-client/commit/c8094f5ef15f62f69088386b9fc6c64f7d8bfd02), [#1244](https://github.com/elyukai/optolith-client/issues/1244))
|
||||
* Les modificateurs INI/VIT sur les armures étaient traités comme des pénalités. ([eb5a068](https://github.com/elyukai/optolith-client/commit/eb5a06884db1894e1a9f2b4b040b114cb4dc85cb), [#1091](https://github.com/elyukai/optolith-client/issues/1091))
|
||||
* Les spécialisations linguistiques ne coûtaient pas toujours 1 PA et ne pouvaient pas être activées plusieurs fois pour une même langue. ([0a59d9e](https://github.com/elyukai/optolith-client/commit/0a59d9e5e571e87525b18d0b25035e73f7cd87bf), [#1082](https://github.com/elyukai/optolith-client/issues/1082))
|
||||
* Les portraits en transparence avaient un fond noir ([cc5ecd6](https://github.com/elyukai/optolith-client/commit/cc5ecd6f098ae6c080eeb3b306887727a99c1220), [#800](https://github.com/elyukai/optolith-client/issues/800))
|
||||
* Le bagage culturel Sourcelandais avait Cuisine au lieu de Travail du cuir. ([397abe2](https://github.com/elyukai/optolith-client/commit/397abe2b4a69582dc49422add1700807272c32d6), [#824](https://github.com/elyukai/optolith-client/issues/824))
|
||||
* Les changements d'attributs primaires des objets n'étaient pas appliqués dans la fenêtre d'édition, mais uniquement sur la feuille de personnage. ([6c63ab1](https://github.com/elyukai/optolith-client/commit/6c63ab1b5051882ace71f15740c3a69fff4a267f), [#798](https://github.com/elyukai/optolith-client/issues/798))
|
||||
* Les professions avec des valeurs d'attributs impossibles à sélectionner en raison du niveau d'expérience peuvent être sélectionnées. ([fdde329](https://github.com/elyukai/optolith-client/commit/fdde329de591319df3f6da11404dd7523d800c3e), [#1109](https://github.com/elyukai/optolith-client/issues/1109))
|
||||
* Les sorts d'invocation des professions n'enregistraient pas les dépendances des prérequis. ([c1b2e26](https://github.com/elyukai/optolith-client/commit/c1b2e267cb3f02d2d18812415c39c58739ad99ec), [#1240](https://github.com/elyukai/optolith-client/issues/1240))
|
||||
* Le poids des Elfes n'était pas généré correctement ([3b05e69](https://github.com/elyukai/optolith-client/commit/3b05e69e27f7faa1634b50eb134000fe1a2c3a21), [#813](https://github.com/elyukai/optolith-client/issues/813))
|
||||
* Les attributs ayant une valeur minimale (8) ne permettaient pas d'obtenir une valeur de technique de combat supérieure à 6 si l'attribut était l'attribut principal de la technique de combat. ([47e66d6](https://github.com/elyukai/optolith-client/commit/47e66d65467999e2661eaac30a97b5a1ebfece94), [#835](https://github.com/elyukai/optolith-client/issues/835))
|
||||
* Sortie PDF trop grande lors de l'utilisation d'un fond de feuille. ([9cb2658](https://github.com/elyukai/optolith-client/commit/9cb26586f3a5026d06f41801d4bbf714631d06a4), [#1094](https://github.com/elyukai/optolith-client/issues/1094))
|
||||
* Auto-updater ne fonctionne pas dans AppImage ([a24ff80](https://github.com/elyukai/optolith-client/commit/a24ff8082a5556fc07af05f113bacfd9c84428a4), [#753](https://github.com/elyukai/optolith-client/issues/753))
|
||||
* Certains prérequis d'attributs primaires n'étaient pas appliqués. ([ac0cdc3](https://github.com/elyukai/optolith-client/commit/ac0cdc377800a1eb380993dbb7914fa88b8f254e), [#1260](https://github.com/elyukai/optolith-client/issues/1260))
|
||||
* Les champs de saisie entre parenthèses influençaient les autres champs entre parenthèses. ([0ab65e8](https://github.com/elyukai/optolith-client/commit/0ab65e869c26536127b386753db110f2e26b33af), [#1251](https://github.com/elyukai/optolith-client/issues/1251))
|
||||
* L'exigence d'une seule langue et d'une seule écriture correspondante exigeait toutes les langues à la place ([4dabbdb](https://github.com/elyukai/optolith-client/commit/4dabbdbcd23c1ffeff18a8b1f9497a4a8315aa6a), [#1343](https://github.com/elyukai/optolith-client/issues/1343))
|
||||
* Les écritures ne requièrent pas qu'une langue correspondante soit active. ([1ed0c64](https://github.com/elyukai/optolith-client/commit/1ed0c64b0dd9873593169bd9994082d49299fa3e), [#1344](https://github.com/elyukai/optolith-client/issues/1344))
|
||||
* Certaines propriétés d'objets n'étaient pas sauvegardées ([f2e6138](https://github.com/elyukai/optolith-client/commit/f2e61386abe444aa76f0211469d50c30fde99a0c), [#1252](https://github.com/elyukai/optolith-client/issues/1252))
|
||||
* La sélection des sorts non familiers dans la profession était facultative. ([3574d1b](https://github.com/elyukai/optolith-client/commit/3574d1ba46725d04a83286cd1055c080fe1de95f), [#1315](https://github.com/elyukai/optolith-client/issues/1315))
|
||||
* Les techniques de combat n'influencent pas le minimum de leurs attributs primaires. ([1ce2db9](https://github.com/elyukai/optolith-client/commit/1ce2db9cfbb06b1ca8a549957b8225af71de9185), [#836](https://github.com/elyukai/optolith-client/issues/836))
|
||||
* La sauvegarde d'un héros efface l'historique d'annulation de plusieurs personnages. ([923b760](https://github.com/elyukai/optolith-client/commit/923b7605fee4c4288dc743e962728308f7254ca9), [#811](https://github.com/elyukai/optolith-client/issues/811))
|
||||
* Les lignes de la deuxième colonne du tableau des compétences de la fiche de personnage ont été élargies. ([41ee35b](https://github.com/elyukai/optolith-client/commit/41ee35ba76af42ad837daa6c45a940406b0c5daa), [#1342](https://github.com/elyukai/optolith-client/issues/1342))
|
||||
|
||||
### Remerciements
|
||||
|
||||
Enfin et surtout, un grand **merci** à tous ceux qui font des retours et donnent leur aide sur les différents canaux ainsi qu'aux personnes ci-dessous sur GitHub qui ont contribué à cette version !
|
||||
|
||||
- [Elidia (@FloraMayr)](https://github.com/FloraMayr)
|
||||
- [JoveToo (@JoveToo)](https://github.com/JoveToo)
|
||||
- [Lector (@Lector)](https://github.com/Lector)
|
||||
- [Lorenz Cuno Klopfenstein (@LorenzCK)](https://github.com/LorenzCK)
|
||||
- [Marc Schwering (@m4rcsch)](https://github.com/m4rcsch)
|
||||
- [Pepelios (@Pepelios)](https://github.com/Pepelios)
|
||||
|
||||
## 1.4.2
|
||||
|
||||
### Améliorations
|
||||
|
||||
- Suppression des *N/D* dans les tableaux des sorts et des liturgies sur la feuille de personnage afin que les valeurs puissent être ajoutées à la main. [#747](https://github.com/elyukai/optolith-client/issues/747)
|
||||
- Le démarrage était beaucoup plus lent qu'en 1.3.2. [#751](https://github.com/elyukai/optolith-client/issues/751)
|
||||
|
||||
### Bugs rectifiés
|
||||
|
||||
- La VTC maximale des techniques de combat pourrait être supérieure à celle autorisée par les règles. [#749](https://github.com/elyukai/optolith-client/issues/749)
|
||||
- La marge supérieure des fenêtres superposées – comme lors de l'ajout d'avantages – était trop petite. [#727](https://github.com/elyukai/optolith-client/issues/727)
|
||||
- Le bonus de dommages Q+SD n'était pas ajouté aux armes sans dommages fixes. [#737](https://github.com/elyukai/optolith-client/issues/737)
|
||||
- La profession *Magicien blanc (Académie de Gareth de l'épée et du bâton)* des **règles de base** avait une mauvaise valeur de PAV et *Astronomie 4* au lieu de *l'Alchimie 4*. [#568](https://github.com/elyukai/optolith-client/issues/568)
|
||||
- La zone de texte "compétences de la créature" sur l'export PDF était trop courte pour correspondre à toutes les compétences pertinentes d'une créature. [#733](https://github.com/elyukai/optolith-client/issues/733)
|
||||
- Les images dont la fin de fichier était en majuscules n'étaient pas acceptées comme images de portrait. [#762](https://github.com/elyukai/optolith-client/issues/762)
|
||||
- L'icône de téléchargement était affichée à la place de l'image du portrait sur la fiche de personnage si aucun portrait n'était défini. [#759](https://github.com/elyukai/optolith-client/issues/759)
|
||||
- Sur Mac, si le fond papier était activé, des pages vierges supplémentaires étaient générées pour la sortie PDF. [#748](https://github.com/elyukai/optolith-client/issues/748)
|
||||
|
||||
### Remerciements
|
||||
|
||||
Enfin et surtout, un grand **merci** à tous ceux qui font des retours et donnent leur aide sur les différents canaux ainsi qu'aux personnes ci-dessous sur GitHub qui ont contribué à cette version !
|
||||
|
||||
- [Jordok (@Jordok)](https://github.com/Jordok)
|
||||
- [JoveToo (@JoveToo)](https://github.com/JoveToo)
|
||||
- [Lorenz Cuno Klopfenstein (@LorenzCK)](https://github.com/LorenzCK)
|
||||
- [ZeSandman (@ZeSandman)](https://github.com/ZeSandman)
|
||||
|
||||
## 1.4.1
|
||||
|
||||
### Bugs rectifiés
|
||||
|
||||
- L'italien n'était pas disponible.
|
||||
|
||||
## 1.4.0
|
||||
|
||||
Veuillez vérifier les personnages pour lesquels vous avez ajouté la CS *intuition tactique* ou la CS *détection des embuscades*. Vous remarquerez qu'elle n'a pas son ancien nom. Ceci est dû à une erreur (mentionnée ci-dessous) où les noms de ces deux capacités spéciales ont été échangés. La représentation interne ne peut pas être modifiée et les entrées doivent donc être "renommées". Cela devrait également corriger les prérequis "incorrects" des deux entrées.
|
||||
|
||||
### Fonctionnalités
|
||||
|
||||
- Traduction italienne [#667](https://github.com/elyukai/optolith-client/issues/667) [#610](https://github.com/elyukai/optolith-client/issues/610)
|
||||
- Fond de papier facultatif pour la feuille de personnages. [#36](https://github.com/elyukai/optolith-client/issues/36)
|
||||
- Option de zoom de la vue sur la feuille de personnages. [#665](https://github.com/elyukai/optolith-client/issues/665)
|
||||
- Ajouter/Soustraire de l'argent du porte-monnaie. [#666](https://github.com/elyukai/optolith-client/issues/666)
|
||||
- Créez des avantages, des inconvénients et des capacités spéciales sur mesure avec un nom et une valeur en PAV (solution temporaire). [#632](https://github.com/elyukai/optolith-client/issues/632)
|
||||
|
||||
### Améliorations
|
||||
|
||||
- Le poids est maintenant indiqué dans une colonne spécifique dans l'onglet équipement. [#305](https://github.com/elyukai/optolith-client/issues/305)
|
||||
- Les feuilles de combat inutiles ne sont plus utilisées, cela dépend maintenant de l'armure dont dispose le personnage. Par défaut, l'armure normale est utilisée si aucune armure n'est présente. [#407](https://github.com/elyukai/optolith-client/issues/407)
|
||||
- Vous pouvez maintenant cliquer sur les noms des entrées pour afficher le texte de leurs règles. [#556](https://github.com/elyukai/optolith-client/issues/556)
|
||||
|
||||
### Bugs rectifiés
|
||||
|
||||
- Les variantes de la profession de *Prêtre de Boron* ont eu de mauvaises modifications de compétences. [#548](https://github.com/elyukai/optolith-client/issues/548)
|
||||
- La profession *Magicien blanc (Epée & Bâton)* avait une valeur en PAV erronée et une modification de compétence supplémentaire. [#568](https://github.com/elyukai/optolith-client/issues/568)
|
||||
- Les professions communes fixes d'une culture seront désormais affichées même si elles ne sont pas issues des **règles de base**. [#563](https://github.com/elyukai/optolith-client/issues/563)
|
||||
- L'interface peut être réduite. [#487](https://github.com/elyukai/optolith-client/issues/487)
|
||||
- Les armes de la technique de combat *Lances* n'étaient pas indiquées sur la fiche de personnage. [#662](https://github.com/elyukai/optolith-client/issues/662)
|
||||
- Les valeurs d'attributs minimum étaient ignorées pour les valeurs de compétence élevées. Le maximum de la valeur de compétence est l'attribut lié le plus élevé + 2, donc l'attribut le plus élevé doit avoir une valeur minimale de VC − 2. [#630](https://github.com/elyukai/optolith-client/issues/630)
|
||||
- Les noms des CS *Intuition tactique* et *Détection des embuscades* ont été échangés. [#636](https://github.com/elyukai/optolith-client/issues/636)
|
||||
- Le nouveau domaine d'application *Publications professionnelles* pour le talent *Droit* avait un prérequis de capacité spéciale erronée. [#680](https://github.com/elyukai/optolith-client/issues/680)
|
||||
- Certains éléments de la liste étaient plus larges que la liste actuelle. [#683](https://github.com/elyukai/optolith-client/pull/683)
|
||||
- Les en-têtes de liste n'étaient pas centrés par défaut. [#637](https://github.com/elyukai/optolith-client/issues/637)
|
||||
- Les PV dépensés de façon permanente ne permettaient pas d'acheter des PV supplémentaires. [#606](https://github.com/elyukai/optolith-client/issues/606)
|
||||
- On ne pouvait pas ajouter de PV supplémentaire si la CON est de 8 et que rien n'en dépend. [#694](https://github.com/elyukai/optolith-client/issues/694)
|
||||
- La CS *Maîtrise de l'aspect* n'apparait pas même avec trois liturgies de VC 10 ou plus. [#591](https://github.com/elyukai/optolith-client/issues/591)
|
||||
- La vérification des mises à jour et le bouton de vérification des mises à jour sont maintenant désactivés sur macOS, car les mises à jour ne sont pas possibles sur macOS actuellement. [#589](https://github.com/elyukai/optolith-client/issues/589)
|
||||
- Techniques de combat mal applicables pour la CS *détection des embuscades*. [#658](https://github.com/elyukai/optolith-client/issues/658)
|
||||
- Les alertes de mise à jour automatique étaient activées sur Linux même lorsqu'il n'y avait pas de mises à jour automatiques directes disponibles. [#573](https://github.com/elyukai/optolith-client/issues/573)
|
||||
- Le dialogue de sauvegarde pour l'exportation d'un caractère en JSON n'a pas ajouté l'extension de fichier au nom de fichier suggéré. [#718](https://github.com/elyukai/optolith-client/issues/718)
|
||||
|
||||
### API
|
||||
|
||||
Il y a des changements importants et radicaux à venir avec la prochaine version, donc si vous utilisez la source Optolith ou enregistrez des données, je vous recommande de venir sur [Discord](https://discord.gg/wfdgB9g) afin que je puisse vous dire ce qui va être changé en détail. Puisque de plus en plus de personnes dépendent des données d'Optolith, je vais maintenant suivre strictement le versionnement sémantique afin que vous puissiez vous fier à la compatibilité des fichiers sources en vérifiant simplement le numéro de version. Il y aura un nouveau format pour les héros ainsi que pour les données sources. Vous pouvez également donner votre avis sur les changements, puisqu'ils ne sont pas encore complètement terminés – mais je pense qu'il serait quand même judicieux de vérifier les changements le plus tôt possible. La prochaine version majeure est encore un peu loin, vous aurez donc tout le temps d'ajuster votre logiciel.
|
||||
|
||||
### Remerciements
|
||||
|
||||
Enfin, un grand **merci** aux personnes suivantes sur GitHub qui ont contribué à cette publication !
|
||||
|
||||
- [Jonas (@Rahjenaos)](https://github.com/Rahjenaos)
|
||||
- [Jordok (@Jordok)](https://github.com/Jordok)
|
||||
- [JoveToo (@JoveToo)](https://github.com/JoveToo)
|
||||
- [Lorenz Cuno Klopfenstein (@LorenzCK)](https://github.com/LorenzCK)
|
||||
- [manuelstengelberger (@manuelstengelberger)](https://github.com/manuelstengelberger)
|
||||
- [Philipp A. (@flying-sheep)](https://github.com/flying-sheep)
|
||||
- [ZeSandman (@ZeSandman)](https://github.com/ZeSandman)
|
||||
|
||||
## 1.3.2
|
||||
|
||||
### Bugs rectifiés
|
||||
|
||||
- La description de la sélection des techniques de combat pour les variantes de professions n'est pas rendue correctement. #539
|
||||
- Les professions ne tenaient pas compte des conditions prérequises. #507
|
||||
- Le champ de texte "Titre" des données personnelles était mal renseigné. #492
|
||||
- *Religion* avait une VC 6 pour la plupart des professions cléricales. #475
|
||||
- Les États débordaient de la feuille de personnage en PDF mais pas dans Optolith. #473
|
||||
- Le `config.json` a encore provoqué des erreurs pour de nombreux utilisateurs. Le problème devrait être réglé, finalement. #476
|
||||
- Dans de très rares cas, des parties d'un fichier de héros ou la totalité d'un fichier de héros ont été effacées. C'est pour cette raison que la sauvegarde des héros a été complètement réécrite et condensée pour éviter d'autres problèmes. #477
|
||||
- Rajout du dialecte Garethi manquant *Nostrien*. #480
|
||||
- Rectification des licences tierces. #471
|
||||
- Rectification des désavantages avec des options à choisir qui ne pouvaient pas être achetés. #470
|
||||
|
||||
### Known Issues
|
||||
|
||||
- Some of the entries with more complex prerequisites might *display* them wrong but *handle* them correct.
|
||||
|
||||
## 1.3.1
|
||||
|
||||
### Bugs rectifiés
|
||||
|
||||
- Dans la version française, vous ne pouviez pas créer de personnages, car vous ne pouviez choisir aucune publication, aucune race, ... #449
|
||||
- Il y a eu une erreur due à des "clés inconnues" dans la configuration. #450
|
||||
- Sur la feuille de personnage, les états n'étaient affichés dans une seule colonne que si le nombre d'états était pair. #448
|
||||
|
||||
## 1.3.0
|
||||
|
||||
Version initiale.
|
||||
@@ -0,0 +1,51 @@
|
||||
## Y a-t-il une feuille de personnage et si oui, où puis-je la trouver ?
|
||||
|
||||
Oui, il existe une feuille de personnage que vous pouvez exporter au format PDF ! Pour ce faire, vous devez d'abord terminer la création de votre héros dans votre profil. Pour que cela fonctionne, vous devez avoir un maximum de 10 points d’aventure (PAV) non dépensés — et bien sûr ne pas en avoir dépensé trop. Lorsque vous l’avez terminé, un nouvel onglet *FEUILLE DE PERSONNAGE* apparaîtra en haut. Dans cet onglet, vous trouverez un aperçu de votre feuille et vous pourrez l'enregistrer au format PDF à l'aide du bouton en haut à gauche. Pour les utilisateurs anglophones: il n'existe actuellement qu'une seule version A4 de la feuille de personnage !
|
||||
|
||||
## Je ne peux pas acheter de sorts ou de liturgies !
|
||||
|
||||
C’est sans doute parce que votre personnage ne remplit pas les conditions nécessaires ! Celles-ci sont les suivantes :
|
||||
|
||||
### Sorts :
|
||||
|
||||
- choisissez l'avantage *pouvoir magique*
|
||||
- choisissez une *tradition magique* comme capacité spéciale
|
||||
|
||||
### Liturgies :
|
||||
|
||||
- choisissez l'avantage *pouvoir divin*
|
||||
- choisissez une *tradition cléricale* comme capacité spéciale
|
||||
|
||||
## Je ne peux pas acheter de sorts d'invocation / de conjuration plus puissants !
|
||||
|
||||
Ces sorts ont des conditions présentées à la page 262 et 263 du *Livre des règles*. En conséquence, les sorts de la liste ci-dessous ne peuvent être sélectionnés que si le personnage remplit les conditions indiquées :
|
||||
|
||||
- Invocatio minor : invocatio minima 10
|
||||
- Invocatio maior : invocatio minor 12
|
||||
- Serviteur élémentaire : manifesto 10
|
||||
- Appel de djinn : serviteur élémentaire 12
|
||||
|
||||
## Pourquoi la page de combat apparaît-elle deux fois dans la feuille de personnage ?!
|
||||
|
||||
La première liste les entrées pour les protections normales (armure complète) du *Livre des règles*. La seconde liste à la place les différentes pièces d’armure et leur valeur en fonction de la zone touchée. Dans ce cas, cela signifie que vous avez au moins ajouté une armure complète et une pièce d’armure spécifique à une zone de frappe sur votre feuille de personnage.
|
||||
|
||||
## Comment puis-je acheter plus de points de vie (PV)/astraux (PA)/de karma (PK) et améliorer ainsi mon énergie vitale (EV)/astrale (EA)/karmique (EK) ?
|
||||
|
||||
Cela dépend si vous êtes toujours dans le processus de *création du héros* ou si vous l'avez terminé.
|
||||
|
||||
- Lors de la *création du héros*, vous pouvez acheter des PV/PA/PK supplémentaires via les avantages Grande énergie vitale / astrale / karmique I–VII. Si vous souhaitez des valeurs élevées dans ces domaines pour votre personnage, faites-le pendant la création car vous ne pouvez généralement pas acheter d'avantages par la suite !
|
||||
- Après la *création du héros*, vous pouvez acheter des PV/PA/PK supplémentaires dans l'onglet *QUALITÉS* en utilisant le bouton « + » pour chaque énergie. Les valeurs maximales correspondantes correspondent à celles définies dans le *Livre des règles* pages 350–352.
|
||||
|
||||
## Où puis-je trouver mes personnages enregistrés ?
|
||||
|
||||
Les personnages et autres fichiers tels que la configuration se trouvent — selon le système d'exploitation — aux emplacements suivants:
|
||||
|
||||
- *Windows* : `C:/Utilisateurs/<utilisateur>/AppData/Roaming/Optolith`, où <utilisateur> est le nom de votre dossier utilisateur
|
||||
- *Linux* : `$XDG_CONFIG_HOME/Optolith` ou `~/.config/Optolith`
|
||||
- *macOS* : `~/Library/Application Support/Optolith`
|
||||
|
||||
On peut y retrouver divers fichiers pertinents :
|
||||
|
||||
- `heroes.json` contient tous les héros actuellement dans Optolith
|
||||
- `config.json` contient la configuration de votre application Optolith. Ne contient aucune donnée importante, juste des éléments comme le jeu de couleurs, la langue (si vous en avez une particulière) et quelques autres choses.
|
||||
Une note sur *Windows* : `AppData` est un dossier caché. Pour le voir, vous devez activer le paramètre *Éléments masqués* dans l'Explorateur Windows sous *Affichage*.
|
||||
@@ -0,0 +1,129 @@
|
||||
## 1.5.1
|
||||
|
||||
### Miglioramenti
|
||||
|
||||
* **MapTool:** aggiunto collegamento all’estensione accanto al pulsante di esportazione ([07d336d](https://github.com/elyukai/optolith-client/commit/07d336dbb3ceba9818185a9b8c0cdffa6283afb3))
|
||||
|
||||
### Correzioni
|
||||
|
||||
* **MapTool:** non era possibile esportare senza avatar ([80fdffb](https://github.com/elyukai/optolith-client/commit/80fdffb373fccc467383cf6d98c1f07a92168ee4)), corregge [#1348](https://github.com/elyukai/optolith-client/issues/1348)
|
||||
* **MapTool:** modificato il formato di esportazione alla versione 1.11.4 di MapTool ([9e9a113](https://github.com/elyukai/optolith-client/commit/9e9a1139d3821bb5a36fbaa973236319026d996a))
|
||||
* **MapTool:** aggiunte traduzioni italiane per l’esportazione ([3f87dca](https://github.com/elyukai/optolith-client/commit/3f87dca910ce5229c7fd5378ba5f4177cbf431ac)), corregge [#1350](https://github.com/elyukai/optolith-client/issues/1350)
|
||||
* Il vantaggio *Affabilità* poteva essere acquistato con lo svantaggio *Incompetenza* su una competenza sociale ([8102bb1](https://github.com/elyukai/optolith-client/commit/8102bb1a9adac4849499380bf3bc2270aa7dd2c6)), corregge [#1351](https://github.com/elyukai/optolith-client/issues/1351)
|
||||
* Prerequisiti barrati venivano renderizzati con delle tilde prima e dopo ([2c9332c](https://github.com/elyukai/optolith-client/commit/2c9332c37f9b2d8d9e0359a9e4dadf0a40beeba1)), corregge [#1349](https://github.com/elyukai/optolith-client/issues/1349)
|
||||
|
||||
## 1.5.0
|
||||
|
||||
### Features
|
||||
|
||||
* Esportazione per MapTool ([87cec15](https://github.com/elyukai/optolith-client/commit/87cec15ba9751c329ee39719dc654895b9f4f193))
|
||||
* Traduzione portoghese ([d8c9f52](https://github.com/elyukai/optolith-client/commit/d8c9f52542120f9e5fa569728b3f11cb79102365), [#676](https://github.com/elyukai/optolith-client/issues/676))
|
||||
* Supporto nativo per Apple M1 ([94e751f](https://github.com/elyukai/optolith-client/commit/94e751fda169c4de90cdb82346d3d864cf697300))
|
||||
|
||||
### Migliorie
|
||||
|
||||
* Sicurezza ([723e910](https://github.com/elyukai/optolith-client/commit/723e9106ebb178db6a7cccec2a022b3edaed5b98) e altre)
|
||||
|
||||
### Correzioni
|
||||
|
||||
* PV aggiuntivi influenzano il valore minimo di COS e non FOR ([390dcb6](https://github.com/elyukai/optolith-client/commit/390dcb616aaa68e5b103bb49dd75d1529c4e7e3a), [#787](https://github.com/elyukai/optolith-client/issues/787))
|
||||
* Aggiunti gli indicatori per armi a due mani (2M) e improvvisate (i) sul Foglio d’identità ([3f9fae3](https://github.com/elyukai/optolith-client/commit/3f9fae30a2291b8e53486a74dae8cc1533741b94), [#797](https://github.com/elyukai/optolith-client/issues/797))
|
||||
* Armi usate con Armi nude non avevano il valore di Parata indicato sul Foglio d’identità ([a02700e](https://github.com/elyukai/optolith-client/commit/a02700eeccbd95a75f778d4d9e78ad7a2447dad8), [#1229](https://github.com/elyukai/optolith-client/issues/1229))
|
||||
* Un valore che dipende da una singola attivazione di un altro valore impedisce di rimuovere tutte le attivazioni di quel valore, se ce ne sono più attive ([092343f](https://github.com/elyukai/optolith-client/commit/092343f45da566a45b13b275899a458fed720a76), [#1097](https://github.com/elyukai/optolith-client/issues/1097))
|
||||
* Valori che hanno effetto sulle magie estranee potevano essere rimossi se venivano acquistati miglioramenti di incantesimo ([28f260a](https://github.com/elyukai/optolith-client/commit/28f260a2c4a96adb0d36585a478676f95c304414), [#827](https://github.com/elyukai/optolith-client/issues/827))
|
||||
* Terminazione anomala dovuto alle informazioni sull’equipaggiamento ([ae2fbad](https://github.com/elyukai/optolith-client/commit/ae2fbad1c738354dd468c1b36b06eda729a879e5))
|
||||
* Le professioni che garantiscono un Valore di Tecnica di Combattimento più elevato del massimo concesso dal Livello d’Esperienza non venivano filtrate ([c8094f5](https://github.com/elyukai/optolith-client/commit/c8094f5ef15f62f69088386b9fc6c64f7d8bfd02), [#1244](https://github.com/elyukai/optolith-client/issues/1244))
|
||||
* I modificatori di Ini e Mov delle armature venivano gestiti come penalità ([eb5a068](https://github.com/elyukai/optolith-client/commit/eb5a06884db1894e1a9f2b4b040b114cb4dc85cb), [#1091](https://github.com/elyukai/optolith-client/issues/1091))
|
||||
* Specializzazioni di linguaggio non costavano sempre 1 PAvv e non potevano essere scelte più volte per una singola lingua ([0a59d9e](https://github.com/elyukai/optolith-client/commit/0a59d9e5e571e87525b18d0b25035e73f7cd87bf), [#1082](https://github.com/elyukai/optolith-client/issues/1082))
|
||||
* Immagini con trasparenza venivano mostrate con sfondo nero ([cc5ecd6](https://github.com/elyukai/optolith-client/commit/cc5ecd6f098ae6c080eeb3b306887727a99c1220), [#800](https://github.com/elyukai/optolith-client/issues/800))
|
||||
* Il pacchetto culturale bornese modificava Cucinare invece di Lavorazione del cuoio ([397abe2](https://github.com/elyukai/optolith-client/commit/397abe2b4a69582dc49422add1700807272c32d6), [#824](https://github.com/elyukai/optolith-client/issues/824))
|
||||
* Alcuni errori di battitura in oggetti, lingue e scritture ([397abe2](https://github.com/elyukai/optolith-client/commit/397abe2b4a69582dc49422add1700807272c32d6), [#832](https://github.com/elyukai/optolith-client/issues/832))
|
||||
* Corretto il titolo di Volontà del ferro ([397abe2](https://github.com/elyukai/optolith-client/commit/397abe2b4a69582dc49422add1700807272c32d6), [#850](https://github.com/elyukai/optolith-client/issues/850))
|
||||
* Incantesimi e liturgie venivano indicate con punteggiatura e maiuscole diverse ([397abe2](https://github.com/elyukai/optolith-client/commit/397abe2b4a69582dc49422add1700807272c32d6), [#851](https://github.com/elyukai/optolith-client/issues/851))
|
||||
* Le modifiche di attributo primario per gli oggetti venivano mostrate soltanto nella finestra di modifica, non sul Foglio d’identità ([6c63ab1](https://github.com/elyukai/optolith-client/commit/6c63ab1b5051882ace71f15740c3a69fff4a267f), [#798](https://github.com/elyukai/optolith-client/issues/798))
|
||||
* Le professioni con valori di attributi impossibili (a causa del Livello d’Esperienza) non possono più essere selezionate ([fdde329](https://github.com/elyukai/optolith-client/commit/fdde329de591319df3f6da11404dd7523d800c3e), [#1109](https://github.com/elyukai/optolith-client/issues/1109))
|
||||
* Magie di evocazione fornite dalla professione non registravano i prerequisiti corretti ([c1b2e26](https://github.com/elyukai/optolith-client/commit/c1b2e267cb3f02d2d18812415c39c58739ad99ec), [#1240](https://github.com/elyukai/optolith-client/issues/1240))
|
||||
* Il peso degli elfi non veniva calcolato in maniera corretta ([3b05e69](https://github.com/elyukai/optolith-client/commit/3b05e69e27f7faa1634b50eb134000fe1a2c3a21), [#813](https://github.com/elyukai/optolith-client/issues/813))
|
||||
* Gli attributi al valore minimo (8) non permettevano di raggiungere un Valore di Tecnica di Combattimento superiore al 6 se facevano da Attributo primario per la Tecnica
|
||||
([47e66d6](https://github.com/elyukai/optolith-client/commit/47e66d65467999e2661eaac30a97b5a1ebfece94), [#835](https://github.com/elyukai/optolith-client/issues/835))
|
||||
* PDF troppo grande quando si utilizza lo sfondo ([9cb2658](https://github.com/elyukai/optolith-client/commit/9cb26586f3a5026d06f41801d4bbf714631d06a4), [#1094](https://github.com/elyukai/optolith-client/issues/1094))
|
||||
* Sistema di aggiornamento non funziona con AppImage ([a24ff80](https://github.com/elyukai/optolith-client/commit/a24ff8082a5556fc07af05f113bacfd9c84428a4), [#753](https://github.com/elyukai/optolith-client/issues/753))
|
||||
* Alcuni requisiti sugli Attributi primari non venivano rispettati ([ac0cdc3](https://github.com/elyukai/optolith-client/commit/ac0cdc377800a1eb380993dbb7914fa88b8f254e), [#1260](https://github.com/elyukai/optolith-client/issues/1260))
|
||||
* Gli indicatori di Raggio influenzavano altri campi ([0ab65e8](https://github.com/elyukai/optolith-client/commit/0ab65e869c26536127b386753db110f2e26b33af), [#1251](https://github.com/elyukai/optolith-client/issues/1251))
|
||||
* Si richiedeva soltanto una lingua compatibile invece di tutte ([4dabbdb](https://github.com/elyukai/optolith-client/commit/4dabbdbcd23c1ffeff18a8b1f9497a4a8315aa6a), [#1343](https://github.com/elyukai/optolith-client/issues/1343))
|
||||
* Le scritture non richiedevano la conoscenza di una lingua compatibile ([1ed0c64](https://github.com/elyukai/optolith-client/commit/1ed0c64b0dd9873593169bd9994082d49299fa3e), [#1344](https://github.com/elyukai/optolith-client/issues/1344))
|
||||
* Alcune proprietà degli oggetti non venivano salvati ([f2e6138](https://github.com/elyukai/optolith-client/commit/f2e61386abe444aa76f0211469d50c30fde99a0c), [#1252](https://github.com/elyukai/optolith-client/issues/1252))
|
||||
* La selezione dei propri incantesimi estranei era opzionale ([3574d1b](https://github.com/elyukai/optolith-client/commit/3574d1ba46725d04a83286cd1055c080fe1de95f), [#1315](https://github.com/elyukai/optolith-client/issues/1315))
|
||||
* Le Tecniche di Combattimento non influenzavano il minimo richiesto sugli Attributi primari ([1ce2db9](https://github.com/elyukai/optolith-client/commit/1ce2db9cfbb06b1ca8a549957b8225af71de9185), [#836](https://github.com/elyukai/optolith-client/issues/836))
|
||||
* Salvando un eroe veniva cancellata la cronologia per più eroi ([923b760](https://github.com/elyukai/optolith-client/commit/923b7605fee4c4288dc743e962728308f7254ca9), [#811](https://github.com/elyukai/optolith-client/issues/811))
|
||||
* Allargate le righe della seconda colonna di abilità nel Foglio d’identità ([41ee35b](https://github.com/elyukai/optolith-client/commit/41ee35ba76af42ad837daa6c45a940406b0c5daa), [#1342](https://github.com/elyukai/optolith-client/issues/1342))
|
||||
|
||||
### Ringraziamenti
|
||||
|
||||
Come ultimo punto, ma non per importanza, un grandissimo **grazie** a tutti coloro che forniscono commenti, suggerimenti e aiuto sui vari canali sociali e un grazie alle seguenti persone su GitHub che hanno contribuito a questa versione!
|
||||
|
||||
- [Elidia (@FloraMayr)](https://github.com/FloraMayr)
|
||||
- [JoveToo (@JoveToo)](https://github.com/JoveToo)
|
||||
- [Lector (@Lector)](https://github.com/Lector)
|
||||
- [Lorenz Cuno Klopfenstein (@LorenzCK)](https://github.com/LorenzCK)
|
||||
- [Marc Schwering (@m4rcsch)](https://github.com/m4rcsch)
|
||||
- [Pepelios (@Pepelios)](https://github.com/Pepelios)
|
||||
|
||||
## 1.4.2
|
||||
|
||||
### Migliorie
|
||||
|
||||
- Ridotto il tempo di avvio. [#751](https://github.com/elyukai/optolith-client/issues/751)
|
||||
|
||||
### Correzioni
|
||||
|
||||
- Le formule della caratteristiche derivate occupano troppo spazio sul foglio d’identità. [#729](https://github.com/elyukai/optolith-client/issues/729)
|
||||
- Rimozione dei requisiti doppi in alcune abilità speciali. [#730](https://github.com/elyukai/optolith-client/issues/730)
|
||||
- Correzioni minori della localizzazione italiana. [#731](https://github.com/elyukai/optolith-client/issues/731)
|
||||
- Alcune tecniche di combattimento possono essere impostate a valori più elevati di quanto ammesso dal regolamento. [#749](https://github.com/elyukai/optolith-client/issues/749)
|
||||
- Il margine superiore delle finestre in sovrimpressione, come nell’inserimento dei vantaggi, è troppo stretto. [#727](https://github.com/elyukai/optolith-client/issues/727)
|
||||
- Il bonus di impatto non viene calcolato per alcune armi. [#737](https://github.com/elyukai/optolith-client/issues/737)
|
||||
- La professione *Mago bianco (Accademia Garetiana di Spada e Bastone)* dal **Regolamento** ha un valore di PAvv sbagliato e *Astronomia 4* invece di *Alchimia 4*. [#568](https://github.com/elyukai/optolith-client/issues/568)
|
||||
- Campo di testo delle abilità degli animali nel foglio d’identità è troppo piccolo per contenere tutte le abilità. [#733](https://github.com/elyukai/optolith-client/issues/733)
|
||||
- L’abilità speciale *Bladestorm* si applica alle tecniche di combattimento sbagliate. [#768](https://github.com/elyukai/optolith-client/issues/768)
|
||||
- Immagini con estensione in maiuscoletto non vengono accettate come ritratto. [#762](https://github.com/elyukai/optolith-client/issues/762)
|
||||
- Viene mostrata l’icona di caricamento invece del ritratto su fogli d’identità di personaggi senza ritratto. [#759](https://github.com/elyukai/optolith-client/issues/759)
|
||||
- Su Mac, con lo sfondo pergamenato attivato, vengono generate pagine bianche di troppo nel PDF finale. [#748](https://github.com/elyukai/optolith-client/issues/748)
|
||||
|
||||
### Ringraziamenti
|
||||
|
||||
Come ultimo punto, ma non per importanza, un grandissimo **grazie** a tutti coloro che forniscono commenti, suggerimenti e aiuto sui vari canali sociali e un grazie alle seguenti persone su GitHub che hanno contribuito a questa versione!
|
||||
|
||||
- [Jordok (@Jordok)](https://github.com/Jordok)
|
||||
- [JoveToo (@JoveToo)](https://github.com/JoveToo)
|
||||
- [Lorenz Cuno Klopfenstein (@LorenzCK)](https://github.com/LorenzCK)
|
||||
- [ZeSandman (@ZeSandman)](https://github.com/ZeSandman)
|
||||
|
||||
## 1.4.1
|
||||
|
||||
### Correzioni
|
||||
|
||||
- La localizzazione italiana non era disponibile.
|
||||
|
||||
## 1.4.0
|
||||
|
||||
Primo rilascio della versione italiana.
|
||||
|
||||
### API
|
||||
|
||||
Ci sono importanti modifiche in questa nuova versione, che cambiano anche il modo in cui sono memorizzati i dati. Se fai uso dei file memorizzati da Optolith, è possibile fare un salto su [Discord](https://discord.gg/wfdgB9g) in modo da avere più informazioni sulle modifiche nel dettaglio.
|
||||
Siccome sempre più persone fanno uso dei dati di Optolith, da questa versione in poi seguiremo le regole del *versionamento semantico*, in modo da permettere agli utenti di fare affidamento alla compatibilità dei file sorgente e dei file dei dati, verificandone soltanto il numero di versione.
|
||||
Ci sarà un nuovo formato di dati sia per gli eroi memorizzati che per i dati sorgente.
|
||||
Le modifiche non sono ancora finalizzate e la nuova versione maggiore è ancora lontana, ma è consigliato aggiornarsi al nuovo formato di dati il prima possibile.
|
||||
|
||||
### Ringraziamenti
|
||||
|
||||
Come ultimo punto, ma non per importanza, un grandissimo **grazie** alle seguenti persone su GitHub che hanno contribuito a questa versione!
|
||||
|
||||
- [Jonas (@Rahjenaos)](https://github.com/Rahjenaos)
|
||||
- [Jordok (@Jordok)](https://github.com/Jordok)
|
||||
- [JoveToo (@JoveToo)](https://github.com/JoveToo)
|
||||
- [Lorenz Cuno Klopfenstein (@LorenzCK)](https://github.com/LorenzCK)
|
||||
- [manuelstengelberger (@manuelstengelberger)](https://github.com/manuelstengelberger)
|
||||
- [Philipp A. (@flying-sheep)](https://github.com/flying-sheep)
|
||||
- [ZeSandman (@ZeSandman)](https://github.com/ZeSandman)
|
||||
@@ -0,0 +1,51 @@
|
||||
## C’è una scheda del personaggio e dove posso trovarla?
|
||||
|
||||
Sì, c’è un Foglio d’Identità pronto da esportare come PDF!
|
||||
Per farlo dovrai prima terminare la fase di creazione del personaggio del tuo eroe. Per poterlo fare, dovrai innanzitutto accertarti di avere *al più* 10 Punti Avventura rimasti e di non averne spesi troppi per il tuo livello di esperienza. Una volta terminata la creazione del personaggio, comparirà la scheda *Foglio d’identità* in alto, che ti permetterà di accedere all’anteprima del foglio e di esportarlo come PDF usando il pulsante in alto a sinistra.
|
||||
|
||||
Al momento il PDF è disponibile soltanto in formato DIN A4.
|
||||
|
||||
## Non riesco ad aggiungere incantesimi e liturgie!
|
||||
|
||||
Niente paura, è probabile che semplicemente il tuo eroe non soddisfi i prerequisiti per avere accesso a magia e opere divine.
|
||||
|
||||
### Magia:
|
||||
|
||||
- Acquista il vantaggio *Dono della magia*.
|
||||
- Acquista una qualsiasi *Tradizione* di magia come abilità speciale.
|
||||
|
||||
### Opere divine:
|
||||
|
||||
* Acquista il vantaggio *Grazia divina*.
|
||||
* Acquista una qualsiasi *Tradizione* divina come abilità speciale.
|
||||
|
||||
## Non riesco ad acquistare incantesimi di invocazione/evocazione più forti!
|
||||
|
||||
Incantesimi e rituali di invocazione/evocazione più forti hanno dei prerequisiti speciali, come indicati nel **Regolamento** a pagina **263**:
|
||||
|
||||
* Invocatio Minor: Invocatio Minima 10
|
||||
* Invocatio Maior: Invocatio Minor 12
|
||||
* Servitore elementale: Manifesto 10
|
||||
* Richiamo del genio: Servitore elementale 12
|
||||
|
||||
## Come posso acquistare altri PV/PA/PK?
|
||||
|
||||
Dipende. Il meccanismo cambia se sei ancora nella fase di creazione del personaggio oppure se il personaggio è già stato creato.
|
||||
|
||||
* *Durante la fase di creazione* è possibile acquistare altri PV/PA/PK tramite i vantaggi *Elevata energia vitale/astrale/karmica* (con livello da I a VII). È bene sceglierli in questa fase se si punta ad avere un numero elevato di PV/PA/PK, perché non è possibile acquistare vantaggi dopo aver creato l’eroe!
|
||||
* *Dopo la fase di creazione*, è possibile acquistare PV/PA/PK aggiuntivi usando il pulsante **»+«** sotto al rispettivo indicatore dei punti nella scheda degli *Attributi*. Il valore massimo impostabile in questo modo è calcolato usando le regole del **Regolamento** a pag. **350–352**.
|
||||
|
||||
## Dove trovo i miei personaggi memorizzati?
|
||||
|
||||
Personaggi ed altri file, come la configurazione dell’applicazione, si trovano ai seguenti percorsi in base al sistema operativo utilizzato:
|
||||
|
||||
- *Windows:* `C:/Users/<User>/AppData/Roaming/Optolith`, dove `<User>` è il tuo nome utente.
|
||||
- *Linux:* `$XDG_CONFIG_HOME/Optolith` oppure `~/.config/Optolith`.
|
||||
- *macOS:* `~/Library/Application Support/Optolith`.
|
||||
|
||||
Una lista dei file che possono essere rilevanti:
|
||||
|
||||
- `heroes.json` contiene tutti gli eroi memorizzati da Optolith.
|
||||
- `config.json` contiene la configurazione utilizzata dall’applicazione. Non contiene dati di natura critica, ma informazioni come il colore del tema, la lingua attiva e così via.
|
||||
|
||||
*Nota bene per utenti Windows:* `AppData` è una cartella *nascosta*. Per visualizzarla in Esplora Risorse, è necessario accedere alla scheda *Visualizza* e attivare la visualizzazione degli *Elementi nascosti*.
|
||||
@@ -0,0 +1,213 @@
|
||||
## 1.5.1
|
||||
|
||||
### Enhancements
|
||||
|
||||
* **MapTool:** voeg links toe naar extensie naast export knop ([07d336d](https://github.com/elyukai/optolith-client/commit/07d336dbb3ceba9818185a9b8c0cdffa6283afb3))
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **MapTool:** zonder avatar kon je niet exporteren ([80fdffb](https://github.com/elyukai/optolith-client/commit/80fdffb373fccc467383cf6d98c1f07a92168ee4)), sluit [#1348](https://github.com/elyukai/optolith-client/issues/1348)
|
||||
* **MapTool:** export formaat voor MapTool versie 1.11.4 is aangepast ([9e9a113](https://github.com/elyukai/optolith-client/commit/9e9a1139d3821bb5a36fbaa973236319026d996a))
|
||||
* Voordeel *Inspireer Vertrouwen* kon gekocht worden met een actieve *incompetent* in een sociale vaardigheid ([8102bb1](https://github.com/elyukai/optolith-client/commit/8102bb1a9adac4849499380bf3bc2270aa7dd2c6)), sluit [#1351](https://github.com/elyukai/optolith-client/issues/1351)
|
||||
* Doorstreepte vereisten werden gerenderd met omsluitende tildes ([2c9332c](https://github.com/elyukai/optolith-client/commit/2c9332c37f9b2d8d9e0359a9e4dadf0a40beeba1)), sluit [#1349](https://github.com/elyukai/optolith-client/issues/1349)
|
||||
|
||||
## 1.5.0
|
||||
|
||||
### Features
|
||||
|
||||
* MapTool export ([87cec15](https://github.com/elyukai/optolith-client/commit/87cec15ba9751c329ee39719dc654895b9f4f193))
|
||||
* Portuguese translations ([d8c9f52](https://github.com/elyukai/optolith-client/commit/d8c9f52542120f9e5fa569728b3f11cb79102365), [#676](https://github.com/elyukai/optolith-client/issues/676))
|
||||
* Native Apple M1 support ([94e751f](https://github.com/elyukai/optolith-client/commit/94e751fda169c4de90cdb82346d3d864cf697300))
|
||||
|
||||
### Verbeteringen
|
||||
|
||||
* Security ([723e910](https://github.com/elyukai/optolith-client/commit/723e9106ebb178db6a7cccec2a022b3edaed5b98) and others)
|
||||
|
||||
### Probleemoplossingen
|
||||
|
||||
* Additional LE set a minimum required value of STR instead of CON ([390dcb6](https://github.com/elyukai/optolith-client/commit/390dcb616aaa68e5b103bb49dd75d1529c4e7e3a), [#787](https://github.com/elyukai/optolith-client/issues/787))
|
||||
* Two-handed (2H) and improvised (i) weapon indicators were missing on character sheet ([3f9fae3](https://github.com/elyukai/optolith-client/commit/3f9fae30a2291b8e53486a74dae8cc1533741b94), [#797](https://github.com/elyukai/optolith-client/issues/797))
|
||||
* Brawling weapons had no parry on character sheet ([a02700e](https://github.com/elyukai/optolith-client/commit/a02700eeccbd95a75f778d4d9e78ad7a2447dad8), [#1229](https://github.com/elyukai/optolith-client/issues/1229))
|
||||
* An entry that depends on a single activation of another entry disables removing of all activations of that entry if multiple activations are present ([092343f](https://github.com/elyukai/optolith-client/commit/092343f45da566a45b13b275899a458fed720a76), [#1097](https://github.com/elyukai/optolith-client/issues/1097))
|
||||
* Entries affecting spells to not be unfamiliar could be removed if Spell Enhancements were bought ([28f260a](https://github.com/elyukai/optolith-client/commit/28f260a2c4a96adb0d36585a478676f95c304414), [#827](https://github.com/elyukai/optolith-client/issues/827))
|
||||
* The equipment info area may have crashed ([ae2fbad](https://github.com/elyukai/optolith-client/commit/ae2fbad1c738354dd468c1b36b06eda729a879e5))
|
||||
* Professions that granted higher Combat Technique Ratings than what the selected Experience Level allowed were not filtered ([c8094f5](https://github.com/elyukai/optolith-client/commit/c8094f5ef15f62f69088386b9fc6c64f7d8bfd02), [#1244](https://github.com/elyukai/optolith-client/issues/1244))
|
||||
* INI/MOV modifiers on armor were handled as penalties ([eb5a068](https://github.com/elyukai/optolith-client/commit/eb5a06884db1894e1a9f2b4b040b114cb4dc85cb), [#1091](https://github.com/elyukai/optolith-client/issues/1091))
|
||||
* Language specializations did not always cost 1 AP and could not be activated multiple times for a single language ([0a59d9e](https://github.com/elyukai/optolith-client/commit/0a59d9e5e571e87525b18d0b25035e73f7cd87bf), [#1082](https://github.com/elyukai/optolith-client/issues/1082))
|
||||
* Portraits with transparency had a black background ([cc5ecd6](https://github.com/elyukai/optolith-client/commit/cc5ecd6f098ae6c080eeb3b306887727a99c1220), [#800](https://github.com/elyukai/optolith-client/issues/800))
|
||||
* Bornlander cultural package had Leatherworking instead of Prepare Food ([397abe2](https://github.com/elyukai/optolith-client/commit/397abe2b4a69582dc49422add1700807272c32d6), [#824](https://github.com/elyukai/optolith-client/issues/824))
|
||||
* Primary attribute changes for items were not applied in edit window, only on character sheet ([6c63ab1](https://github.com/elyukai/optolith-client/commit/6c63ab1b5051882ace71f15740c3a69fff4a267f), [#798](https://github.com/elyukai/optolith-client/issues/798))
|
||||
* Professions with due to EL impossible attribute values could be selected ([fdde329](https://github.com/elyukai/optolith-client/commit/fdde329de591319df3f6da11404dd7523d800c3e), [#1109](https://github.com/elyukai/optolith-client/issues/1109))
|
||||
* Summoning spellworks from professions did not register dependencies from prerequisites ([c1b2e26](https://github.com/elyukai/optolith-client/commit/c1b2e267cb3f02d2d18812415c39c58739ad99ec), [#1240](https://github.com/elyukai/optolith-client/issues/1240))
|
||||
* Typo in effect of Bliksemblind spell ([c58279c](https://github.com/elyukai/optolith-client/commit/c58279cc95aba5506824510d83aa6ffbc410107a), [#805](https://github.com/elyukai/optolith-client/issues/805))
|
||||
* Weight of Elves was not generated correctly ([3b05e69](https://github.com/elyukai/optolith-client/commit/3b05e69e27f7faa1634b50eb134000fe1a2c3a21), [#813](https://github.com/elyukai/optolith-client/issues/813))
|
||||
* Attributes on minimum value (8) did not allow a combat technique rating over 6 if the attribute was the combat technique's primary attribute ([47e66d6](https://github.com/elyukai/optolith-client/commit/47e66d65467999e2661eaac30a97b5a1ebfece94), [#835](https://github.com/elyukai/optolith-client/issues/835))
|
||||
* Too large PDF output when using a sheet background ([9cb2658](https://github.com/elyukai/optolith-client/commit/9cb26586f3a5026d06f41801d4bbf714631d06a4), [#1094](https://github.com/elyukai/optolith-client/issues/1094))
|
||||
* Auto-updater did not work in AppImage ([a24ff80](https://github.com/elyukai/optolith-client/commit/a24ff8082a5556fc07af05f113bacfd9c84428a4), [#753](https://github.com/elyukai/optolith-client/issues/753))
|
||||
* Some primary attribute prerequisites were not enforced ([ac0cdc3](https://github.com/elyukai/optolith-client/commit/ac0cdc377800a1eb380993dbb7914fa88b8f254e), [#1260](https://github.com/elyukai/optolith-client/issues/1260))
|
||||
* Range brackets input fields influenced other bracket fields ([0ab65e8](https://github.com/elyukai/optolith-client/commit/0ab65e869c26536127b386753db110f2e26b33af), [#1251](https://github.com/elyukai/optolith-client/issues/1251))
|
||||
* Requiring only one matching languages and script required all of them instead ([4dabbdb](https://github.com/elyukai/optolith-client/commit/4dabbdbcd23c1ffeff18a8b1f9497a4a8315aa6a), [#1343](https://github.com/elyukai/optolith-client/issues/1343))
|
||||
* Scripts did not require an active matching language ([1ed0c64](https://github.com/elyukai/optolith-client/commit/1ed0c64b0dd9873593169bd9994082d49299fa3e), [#1344](https://github.com/elyukai/optolith-client/issues/1344))
|
||||
* Some item properties were not saved ([f2e6138](https://github.com/elyukai/optolith-client/commit/f2e61386abe444aa76f0211469d50c30fde99a0c), [#1252](https://github.com/elyukai/optolith-client/issues/1252))
|
||||
* Unfamiliar spell selection in profession was optional ([3574d1b](https://github.com/elyukai/optolith-client/commit/3574d1ba46725d04a83286cd1055c080fe1de95f), [#1315](https://github.com/elyukai/optolith-client/issues/1315))
|
||||
* Combat techniques did not influence the minimum of their primary attributes ([1ce2db9](https://github.com/elyukai/optolith-client/commit/1ce2db9cfbb06b1ca8a549957b8225af71de9185), [#836](https://github.com/elyukai/optolith-client/issues/836))
|
||||
* Saving a hero cleared the undo history of multiple characters ([923b760](https://github.com/elyukai/optolith-client/commit/923b7605fee4c4288dc743e962728308f7254ca9), [#811](https://github.com/elyukai/optolith-client/issues/811))
|
||||
* Widened rows in second column of skills table on character sheet ([41ee35b](https://github.com/elyukai/optolith-client/commit/41ee35ba76af42ad837daa6c45a940406b0c5daa), [#1342](https://github.com/elyukai/optolith-client/issues/1342))
|
||||
|
||||
### Dank u
|
||||
|
||||
Ten laatste maar zeker niet ten minste een dikke **Dank u** voor iedereen die feedback en help geeft in de verschillende kanalen alsook de volgende mensen op GitHub die bijgedragen hebben tot deze release!
|
||||
|
||||
- [Elidia (@FloraMayr)](https://github.com/FloraMayr)
|
||||
- [JoveToo (@JoveToo)](https://github.com/JoveToo)
|
||||
- [Lector (@Lector)](https://github.com/Lector)
|
||||
- [Lorenz Cuno Klopfenstein (@LorenzCK)](https://github.com/LorenzCK)
|
||||
- [Marc Schwering (@m4rcsch)](https://github.com/m4rcsch)
|
||||
- [Pepelios (@Pepelios)](https://github.com/Pepelios)
|
||||
|
||||
## 1.4.2
|
||||
|
||||
### Verbeteringen
|
||||
|
||||
- Start-up was trager dan in 1.3.2. [#751](https://github.com/elyukai/optolith-client/issues/751)
|
||||
|
||||
### Probleemoplossingen
|
||||
|
||||
- Gevechtstechnieken maximum GtR kon hoger zijn dan toegelaten. [#749](https://github.com/elyukai/optolith-client/issues/749)
|
||||
- The top margin van overlay venters – zoals bij het toevoegen van Voordelen – was te klein. [#727](https://github.com/elyukai/optolith-client/issues/727)
|
||||
- De P+T schade bonus werd niet toegevoegd aan wapens zonder extra schade. [#737](https://github.com/elyukai/optolith-client/issues/737)
|
||||
- Beroep *Witte Magier (Gareth Academy van Zwaard en Staf)* van de **Basis regels** had een verkeerde AP waarde en *Astronomie 4* in plaats van *Alchemie 4*. [#568](https://github.com/elyukai/optolith-client/issues/568)
|
||||
- Dier vaardigheids tekst veld op de PDF export was te kort om alle relevante vaardigheden van een dier te bevatten. [#733](https://github.com/elyukai/optolith-client/issues/733)
|
||||
- Afbeeldingen met uppercase file extensies werden niet aanvaard asl portret afbeeldingen. [#762](https://github.com/elyukai/optolith-client/issues/762)
|
||||
- Het upload icon werd getoont in plaats van de portret afbeelding op het helden document als er geen portret opgeven was. [#759](https://github.com/elyukai/optolith-client/issues/759)
|
||||
- Op de Mac, als de papier achtergrond aan stond, werden er additionele lege paginas toegevoegd aan de PDF output. [#748](https://github.com/elyukai/optolith-client/issues/748)
|
||||
|
||||
### Thank you
|
||||
|
||||
Ten laatste maar zeker niet ten minste een dikke **Dank u** voor iedereen die feedback en help geeft in de verschillende kanalen alsook de volgende mensen op GitHub die bijgedragen hebben tot deze release!
|
||||
|
||||
- [Jordok (@Jordok)](https://github.com/Jordok)
|
||||
- [JoveToo (@JoveToo)](https://github.com/JoveToo)
|
||||
- [Lorenz Cuno Klopfenstein (@LorenzCK)](https://github.com/LorenzCK)
|
||||
- [ZeSandman (@ZeSandman)](https://github.com/ZeSandman)
|
||||
|
||||
## 1.4.1
|
||||
|
||||
### Probleemoplossingen
|
||||
|
||||
- Italiaans was niet beschikbaar.
|
||||
|
||||
## 1.4.0
|
||||
|
||||
### Nieuwe features
|
||||
|
||||
- Italiaanse vertaling [#667](https://github.com/elyukai/optolith-client/issues/667) [#610](https://github.com/elyukai/optolith-client/issues/610)
|
||||
- Optionele papier-stijl achtergrond voor helden document. [#36](https://github.com/elyukai/optolith-client/issues/36)
|
||||
- helden document zoom optie. [#665](https://github.com/elyukai/optolith-client/issues/665)
|
||||
- Geld toevoegen/aftrekken. [#666](https://github.com/elyukai/optolith-client/issues/666)
|
||||
- Voeg Voordelen, Nadelen en Competenties op maat toe met gekozen naam en AP waarde (tijdelijke oplossing) [#632](https://github.com/elyukai/optolith-client/issues/632)
|
||||
|
||||
### Verbeteringen
|
||||
|
||||
- Gewicht wordt nu in zijn eigen kolom getoond in de uitrusting tab. [#305](https://github.com/elyukai/optolith-client/issues/305)
|
||||
- Onnodige gevechtsdocumenten worden niet meer gebruikt, het hangt nu af van welke wapenrusting de held heeft. Het gaat standaard naar de normale wapenrusting als er geen wapenrusting aanwezig is. [#407](https://github.com/elyukai/optolith-client/issues/407)
|
||||
- Je kan nu ook klikken op namen om de regeltekst te zien. [#556](https://github.com/elyukai/optolith-client/issues/556)
|
||||
|
||||
### Probleemoplossingen
|
||||
|
||||
- Varianten van het beroep *Gewijde van Boron* had verkeerde talent aanpassingen. [#548](https://github.com/elyukai/optolith-client/issues/548)
|
||||
- Beroep *Witte Tovenaar (Zwaard & Staf)* had een verkeerde AP waarde and een extra talent aanpassing. [#568](https://github.com/elyukai/optolith-client/issues/568)
|
||||
- Vaste veelvoorkomende beroepen van een kultuur zullen nu getoond worden zelfs al zijn de ze niet van de **Basis Regels**. [#563](https://github.com/elyukai/optolith-client/issues/563)
|
||||
- The interface kon kleiner gemaakt worden. [#487](https://github.com/elyukai/optolith-client/issues/487)
|
||||
- Wapens van de gevechtscompetentie *Lans* werden niet getoond op het helden document. [#662](https://github.com/elyukai/optolith-client/issues/662)
|
||||
- Goede Eigenschappen negeerden het minimum veroorzaakt door hoge talent waarden. De maximum van een talent waarde is het hoogste gerelateerde goede eigenschap + 2, dus een goede eigenschap moet een minimum waarde hebben van de hoogste talent waarde  − 2. [#630](https://github.com/elyukai/optolith-client/issues/630)
|
||||
- Het nieuwe toepassingsgebeird *Professionele Publicaties* voor het talent *Wet* had een verkeerde Competentie vereiste. [#680](https://github.com/elyukai/optolith-client/issues/680)
|
||||
- Sommige lijst elementen werden breder dan de eigenlijke lijst. [#683](https://github.com/elyukai/optolith-client/pull/683)
|
||||
- Lijst hoofdingen werden niet automatisch gecentreerd. [#637](https://github.com/elyukai/optolith-client/issues/637)
|
||||
- Permantent gespendeerde LP lieten niet toe om extra LP te kopen. [#606](https://github.com/elyukai/optolith-client/issues/606)
|
||||
- Extra LP konden niet worden gekocht als CO 8 was en er niets van afhing. [#694](https://github.com/elyukai/optolith-client/issues/694)
|
||||
- Competentie *Aspect Kennis* verscheen niet, zelfs met drie liturgieen op talent waarde 10 of hoger. [#591](https://github.com/elyukai/optolith-client/issues/591)
|
||||
- Tovertruuk Heksenblik kon worden geselecteerd door alle Tovenaars. [#377](https://github.com/elyukai/optolith-client/issues/377)
|
||||
- Updater tests en de test voor de update knop zijn nu uitgeschakeld op MacOS want updates zijn momenteel niet mogelijk op MacOS. [#589](https://github.com/elyukai/optolith-client/issues/589)
|
||||
- Verkeerde toegepaste gevechtscompetentie voor Competentie Vijand Waarnemen. [#658](https://github.com/elyukai/optolith-client/issues/658)
|
||||
- Auto-update waarschuwingen werden aangezet op Linux, zelfs al was er geen direct auto-update beschikbaar. [#573](https://github.com/elyukai/optolith-client/issues/573)
|
||||
- Het dialoogvenster voor het exporteren van een teken, omdat JSON de bestandsextensie niet heeft toegevoegd aan de voorgestelde bestandsnaam. [#718](https://github.com/elyukai/optolith-client/issues/718)
|
||||
|
||||
### API
|
||||
|
||||
Er komen belangijke en brekende veranderingen aan met de volgende release, dus als je Optolith source of data gebruikt, raad ik je aan om naar de [Discord](https://discord.gg/wfdgB9g) te komen zodat ik je in detail kan uitleggen wat er gaat veranderen. Vermits meer en meer mensen afhankelijk zijn van Optolith's data zal ik nu strict versiebeheer volgen zodat je op de compatibiliteit van de sources kan rekenen door het versie nummer te controleren. Er zal een nieuw formaat komen voor de helden en de bron data. Je kan ook feedback geven op de veranderingen, vermits ze nog niet *helemaal* volledig zijn – maar ik denk dat het zinnig zou zijn om de verandering zo snel mogelijk na te kijken. De volgende versie duurt nog wel even, zodat je voldoende tijd hebt om je software aan te passen.
|
||||
|
||||
### Thank you
|
||||
|
||||
Tenslotte, maar zeker niet tenminste, een dikke **Dankuwel** voor de volgende mensen op GitHub die bijgedragen hebben tot deze release!
|
||||
|
||||
- [Jonas (@Rahjenaos)](https://github.com/Rahjenaos)
|
||||
- [Jordok (@Jordok)](https://github.com/Jordok)
|
||||
- [JoveToo (@JoveToo)](https://github.com/JoveToo)
|
||||
- [Lorenz Cuno Klopfenstein (@LorenzCK)](https://github.com/LorenzCK)
|
||||
- [manuelstengelberger (@manuelstengelberger)](https://github.com/manuelstengelberger)
|
||||
- [Philipp A. (@flying-sheep)](https://github.com/flying-sheep)
|
||||
- [ZeSandman (@ZeSandman)](https://github.com/ZeSandman)
|
||||
|
||||
## 1.3.2
|
||||
|
||||
### Probleemoplossingen
|
||||
|
||||
- Beschrijving van gevechtstechnieken selectie voor beroepsvarianten wordt niet correct getoond. #539
|
||||
- Beroepen reageerden niet correct op vereisten. #507
|
||||
- Het tekstveld "Titel" in de persoonlijk data had een verkeerd label. #492
|
||||
- *Goden & Kulten* was 6 voor de meeste Gewijde beroepen. #475
|
||||
- Statussen waren te lang op je helden dokument PDF maar niet in Optolith. #473
|
||||
- De `config.json` had nog altijd fouten voor veel gebruikers. Het probleem zou eindelijk opgelost moeten zijn. #476
|
||||
- In hele zeldzame situaties werd de helden file geheel of gedeeltelijk verwijderd. Het saven van helden is geheel herschreven en compacter gemaakt om verdere problemen te voorkomen. #477
|
||||
- Voeg het ontbrekende Garethi dialect *Nostrian* toe. #480
|
||||
- Vereisten van de Competentie Energie Controle zijn aangepast. #471
|
||||
- Derde parij licenties zijn aangepast. #471
|
||||
|
||||
### Bekende problemen
|
||||
|
||||
- Sommige elementen met complexe vereisten worden verkeerd getoont maar wel correct behandeld.
|
||||
|
||||
## 1.3.1
|
||||
|
||||
### Probleemoplossingen
|
||||
|
||||
- In de franse versie kon je geen helden maken, want je kon geen publicaties, ras, ... kiezen #449
|
||||
- Er werd een error gemeld voor "unknown keys" in de config. #450
|
||||
- Op je helden document werden staten enkel getoond in een enkele kolom als het aantal staten even was. #448
|
||||
|
||||
## 1.3.0
|
||||
|
||||
### Nieuwe features
|
||||
|
||||
- Franse versie (incl. Regelwerk) #34
|
||||
|
||||
### Verbeteringen
|
||||
|
||||
- Het zoekveld in de Wiki wordt niet langer gewist als men van categorie wisselt. #286
|
||||
- Als het importeren van een held mislukt wordt nu gespecifieerd wat het probleem was (incompatibele versie, onbekend bestand, enz.) #343 #394
|
||||
- Volledig nieuwe databankstructuur. Daardoor 50% snellere laadtijd.
|
||||
|
||||
### Probleemoplossingen
|
||||
|
||||
- De taaltabel vervormde de lay-out als Hjaldings/Saga-Thorwals actief was. #419
|
||||
- De teksten bij de persoonlijke data op het heldendocument werden gedeeltelijk beknot. #413
|
||||
- Het totale gewicht is nu gealigneerd op de het uitrustingsdocument. #291
|
||||
- Een voorwerp kon niet worden opgenomen als geïmproviseerd wapen. #290
|
||||
- De infotabel voor routineproeven was niet correct gealigneerd. #214
|
||||
- Angst voor: keuze/eigen tekst werd niet getoond op het heldendocument. #213
|
||||
- Men kon geen prenten importeren van een server als karaktertekening. #229
|
||||
- Het toevoegen van AP werkte niet als men het invoerveld niet verliet. #341
|
||||
- Wapens die geen schade veroorzaken, tonen niet langer enkel D als schade. #353
|
||||
- Geen talentvermindering op *Spoorzoeken* meer mogelijk bij jager (Premiejager). #357
|
||||
- Com *Uithaal* toonde GtW Zwaarden dubbel. #355
|
||||
- Een geëxporteerde held met een BOM kon niet worden gelezen. #37
|
||||
- Veranderingen aan voorwerpen konden onder bepaalde omstandigheden niet worden bewaard. #389
|
||||
- Fout opgelost waarbij het veld "waar gedragen" niet bewaard werd bij voorwerpen. #369
|
||||
- De maximale waarde voor gevechtstechnieken door de hoofdeigenschap werkt weer. #379
|
||||
- Typo in ATTRIBUTO (Lichaamskracht), tweede uitbreiding verbeterd. #366
|
||||
- De toepassingsconfiguratie veroorzaakt geen fouten meer. #358
|
||||
|
||||
## 1.2.0
|
||||
|
||||
Eerste Nederlandstalige versie.
|
||||
@@ -0,0 +1,53 @@
|
||||
## Is er een heldendocument en waar vind ik het?
|
||||
|
||||
Ja, er is een heldendocument en je kan het exporteren als PDF! Om dat te doen, moet je eerst je held creatie afmaken. Daarvoor mag je maximum 10 AP overhouden – en je kan natuurlijk ook niet te veel AP hebben uitgegeven. Als je de helden creatie succesvol beëindigd hebt, zie je een nieuwe tab "Heldendocument" bovenaan. In die tab vind je een preview van je heldendocument en je kan dat exporteren met de knop in de linker boven hoek, "Als PDF bewaren".
|
||||
|
||||
Er is enkel een DIN A4 formaat beschikbaar!
|
||||
|
||||
## Ik kan geen spreuken of liturgieën toevoegen!
|
||||
|
||||
Je mist waarschijnlijk de vereisten om spreuken of liturgieën toe te voegen:
|
||||
|
||||
### Spreuken:
|
||||
|
||||
- Koop het voordeel *Tovenaar*.
|
||||
- Koop de magische Competentie *Traditie*
|
||||
|
||||
### Liturgieën:
|
||||
|
||||
* Koop het voordeel *Gewijde*.
|
||||
* Koop de gewijde Competentie *Tradition*.
|
||||
|
||||
## Ik kan geen hogere invocaties kopen!
|
||||
|
||||
Hogere invocatie rituelen hebben vereisten die je in de **Basis regels** kan vinden op pagina **263**:
|
||||
|
||||
* Invocatio Minor: Invocatio Minima 10
|
||||
* Invocatio Maior: Invocatio Minor 12
|
||||
* Elementale Dienaar: Manifesto 10
|
||||
* Djinnenroep: Elementale Dienaar 12
|
||||
|
||||
## Hoe kan ik extra LP/AE/KP kopen?
|
||||
|
||||
Dat hangt er vanaf of je nog in de creatie fase bent of die al beeindigd hebt:
|
||||
|
||||
* *Tijdens helden creatie* kan je extra LP/AE/KP kopen via de voordelen *Hoge Levenskracht/Astrale Kracht/Karmale Kracht I-VII*. Als je daarin geïnteresseerd bent, kan je die best nu nemen want je kan normaal geen Voordelen bijkopen als deze fase beëindigd is.
|
||||
* *Na de helden creatie*, om extra LP/AE/KP toe te voegen, gebruik je de »+« knop onder de respectivelijk energie in the *Eigenschappen* tab. De maximale waarden hiervoor worden berekend volgens de regels van de **Basis Regels** p. **350–352**.
|
||||
|
||||
## Waar vind ik mijn opgeslagen helden?
|
||||
|
||||
Helden en andere files zoals de configuratie kan je vinden in de volgende locatie, afhankelijk van je OS:
|
||||
|
||||
- *Windows:* `C:/Users/<User>/AppData/Roaming/Optolith`, met `<User>` de naam van je gebruiker
|
||||
- *Linux:* `$XDG_CONFIG_HOME/Optolith` of `~/.config/Optolith`
|
||||
- *macOS:* `~/Library/Application Support/Optolith`
|
||||
|
||||
Een lijst met relevante files:
|
||||
|
||||
- `heroes.json ` bevat alle helden opgeslagen in Optolith
|
||||
- `config.json` bevat de configuratie van Optolith. Het bevat geen kritieke data maar dingen zoals theme, taal (alleen als je een specifieke taal gekozen hebt) en zoverder.
|
||||
*Een noot voor Windows:* `AppData` is een *verborgen* folder. Om die te kunnen zien, open Windows Explorere, ga naar de "View" tab en activeer de setting "Hidden elements".
|
||||
|
||||
## Hoe schaal ik de UI voor Optolith in Linux?
|
||||
|
||||
Als je de `.tar.gz` hebt gedownload, ga je naar de uitgepakte folder en start je `GDK_DPI_SCALE=<Scale> ./Optolith` in je terminal, waarbij je `<scale>` moet vervangen met de gewenste schaal, e.g. `1.5`.
|
||||
@@ -0,0 +1,16 @@
|
||||
## 1.5.1
|
||||
|
||||
### Enhancements
|
||||
|
||||
* **MapTool:** add links to extension next to export button ([07d336d](https://github.com/elyukai/optolith-client/commit/07d336dbb3ceba9818185a9b8c0cdffa6283afb3))
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **MapTool:** without an avatar no export was possible ([80fdffb](https://github.com/elyukai/optolith-client/commit/80fdffb373fccc467383cf6d98c1f07a92168ee4)), closes [#1348](https://github.com/elyukai/optolith-client/issues/1348)
|
||||
* **MapTool:** changed export format for MapTool version 1.11.4 ([9e9a113](https://github.com/elyukai/optolith-client/commit/9e9a1139d3821bb5a36fbaa973236319026d996a))
|
||||
* Advantage *Inspire Confidence* could be bought with an active *Incompetent* in a social skill ([8102bb1](https://github.com/elyukai/optolith-client/commit/8102bb1a9adac4849499380bf3bc2270aa7dd2c6)), closes [#1351](https://github.com/elyukai/optolith-client/issues/1351)
|
||||
* Strikethrough prerequisites were rendered with surrounding tildes instead ([2c9332c](https://github.com/elyukai/optolith-client/commit/2c9332c37f9b2d8d9e0359a9e4dadf0a40beeba1)), closes [#1349](https://github.com/elyukai/optolith-client/issues/1349)
|
||||
|
||||
## 1.5.0
|
||||
|
||||
Lançamento inicial.
|
||||
@@ -0,0 +1,49 @@
|
||||
## Is there a character sheet and where can I find it?
|
||||
|
||||
Yes, there is a character sheet you can export as a PDF! To do that, you have to end hero creation in the character's profile first. To do *that*, you need to have a maximum of 10 AP left – and you can't have too much AP spent, obviously. If you end it, you'll see the new tab *Character Sheet* above. In that tab you'll get a preview of your sheet and then you can export it via the button in the top left corner!
|
||||
|
||||
Might be relevant: There's only an DIN A4 version available!
|
||||
|
||||
## I can't add spells or liturgical chants!
|
||||
|
||||
It's likely you do not meet the prerequisites for adding spells or liturgical chants:
|
||||
|
||||
### Spells:
|
||||
|
||||
- Buy advantage *Spellcaster*.
|
||||
- Buy the magical special ability *Tradition*.
|
||||
|
||||
### Liturgical Chants:
|
||||
|
||||
* Buy advantage *Blessed One*.
|
||||
* Buy the blessed special ability *Tradition*.
|
||||
|
||||
## I can't buy stronger invocations!
|
||||
|
||||
Stronger invocation rituals have prerequisites that you can find in the **Core Rules** on page **263**:
|
||||
|
||||
* Invocatio Minor: Invocatio Minima 10
|
||||
* Invocatio Maior: Invocatio Minor 12
|
||||
* Elemental Servant: Manifesto 10
|
||||
* Call Djinn: Elemental Servant 12
|
||||
|
||||
## How can I buy additional LP/AE/KP?
|
||||
|
||||
That depends on whether you are still in hero creation phase or have completed that.
|
||||
|
||||
* *During hero creation* you can add additional LP/AE/KP via the advantages *Increased Life Points/Arcane Power/Karma Points I-VII*. You should use them if you are interested in higher values because you can usually not buy advantages afterwards!
|
||||
* *After hero creation*, to add additional LP/AE/KP, use the »+« button below the respective energy in the *Attributes* tab. The maximum values for these are calculated by using the rules from the **Core Rules** p. **350–352**.
|
||||
|
||||
## Where do I find my saved characters?
|
||||
|
||||
Characters and other files such as the application configuration can be found at the following locations, depending on the OS you use:
|
||||
|
||||
- *Windows:* `C:/Users/<User>/AppData/Roaming/Optolith`, where `<User>` is the name of your user folder
|
||||
- *Linux:* `$XDG_CONFIG_HOME/Optolith` or `~/.config/Optolith`
|
||||
- *macOS:* `~/Library/Application Support/Optolith`
|
||||
|
||||
A list of relevant files:
|
||||
|
||||
- `heroes.json ` contains all heroes saved in Optolith
|
||||
- `config.json` contains the configuration of your Optolith. It does not contain critical data but things like color theme, language (only if you selected a specific one) and alike.
|
||||
*A note on Windows:* `AppData` is a *hidden* folder. To be able to see it, check out the Windows Explorer, go to the *View* tab and activate the setting *Hidden elements*.
|
||||
Vendored
+34
@@ -0,0 +1,34 @@
|
||||
export interface RawConfig {
|
||||
herolistSortOrder: "name" | "datemodified" | "dateModified"
|
||||
herolistVisibilityFilter: "all" | "own" | "shared"
|
||||
racesSortOrder: "name" | "cost"
|
||||
racesValueVisibility?: boolean
|
||||
culturesSortOrder: "name" | "cost"
|
||||
culturesVisibilityFilter: "all" | "common"
|
||||
culturesValueVisibility?: boolean
|
||||
professionsSortOrder: "name" | "cost"
|
||||
professionsVisibilityFilter: "all" | "common"
|
||||
professionsGroupVisibilityFilter: 0 | 1 | 2 | 3
|
||||
professionsFromExpansionsVisibility?: boolean
|
||||
advantagesDisadvantagesCultureRatingVisibility: boolean
|
||||
talentsSortOrder: "name" | "group" | "ic"
|
||||
talentsCultureRatingVisibility: boolean
|
||||
combatTechniquesSortOrder: "name" | "group" | "ic"
|
||||
specialAbilitiesSortOrder: "name" | "group" | "groupname"
|
||||
spellsSortOrder: "name" | "group" | "property" | "ic"
|
||||
spellsUnfamiliarVisibility: boolean
|
||||
liturgiesSortOrder: "name" | "group" | "ic"
|
||||
equipmentSortOrder: "name" | "groupname" | "where" | "weight"
|
||||
equipmentGroupVisibilityFilter: number
|
||||
sheetCheckAttributeValueVisibility?: boolean
|
||||
sheetUseParchment?: boolean
|
||||
sheetZoomFactor?: number
|
||||
enableActiveItemHints: boolean
|
||||
locale?: string
|
||||
fallbackLocale?: string
|
||||
theme?: "light" | "dark"
|
||||
enableEditingHeroAfterCreationPhase?: boolean
|
||||
meleeItemTemplatesCombatTechniqueFilter?: string
|
||||
rangedItemTemplatesCombatTechniqueFilter?: string
|
||||
enableAnimations?: boolean
|
||||
}
|
||||
@@ -0,0 +1,131 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema",
|
||||
"$id": "Schema/Config/Config.l10n.schema.json",
|
||||
"$ref": "#/definitions/Config",
|
||||
"definitions": {
|
||||
"Config": {
|
||||
"title": "RawConfig",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"herolistSortOrder": {
|
||||
"enum": ["name", "datemodified", "dateModified"]
|
||||
},
|
||||
"herolistVisibilityFilter": {
|
||||
"enum": ["all", "own", "shared"]
|
||||
},
|
||||
"racesSortOrder": {
|
||||
"enum": ["name", "cost"]
|
||||
},
|
||||
"racesValueVisibility": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"culturesSortOrder": {
|
||||
"enum": ["name", "cost"]
|
||||
},
|
||||
"culturesVisibilityFilter": {
|
||||
"enum": ["all", "common"]
|
||||
},
|
||||
"culturesValueVisibility": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"professionsSortOrder": {
|
||||
"enum": ["name", "cost"]
|
||||
},
|
||||
"professionsVisibilityFilter": {
|
||||
"enum": ["all", "common"]
|
||||
},
|
||||
"professionsFromExpansionsVisibility": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"professionsGroupVisibilityFilter": {
|
||||
"enum": [0, 1, 2, 3]
|
||||
},
|
||||
"advantagesDisadvantagesCultureRatingVisibility": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"talentsSortOrder": {
|
||||
"enum": ["name", "group", "ic"]
|
||||
},
|
||||
"talentsCultureRatingVisibility": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"combatTechniquesSortOrder": {
|
||||
"enum": ["name", "group", "ic"]
|
||||
},
|
||||
"specialAbilitiesSortOrder": {
|
||||
"enum": ["name", "group", "groupname"]
|
||||
},
|
||||
"spellsSortOrder": {
|
||||
"enum": ["name", "group", "property", "ic"]
|
||||
},
|
||||
"spellsUnfamiliarVisibility": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"liturgiesSortOrder": {
|
||||
"enum": ["name", "group", "ic"]
|
||||
},
|
||||
"equipmentSortOrder": {
|
||||
"enum": ["name", "groupname", "where", "weight"]
|
||||
},
|
||||
"equipmentGroupVisibilityFilter": {
|
||||
"type": "integer"
|
||||
},
|
||||
"sheetCheckAttributeValueVisibility": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"sheetUseParchment": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"sheetZoomFactor": {
|
||||
"type": "number"
|
||||
},
|
||||
"enableActiveItemHints": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"locale": {
|
||||
"type": "string"
|
||||
},
|
||||
"fallbackLocale": {
|
||||
"type": "string"
|
||||
},
|
||||
"theme": {
|
||||
"enum": ["light", "dark"]
|
||||
},
|
||||
"enableEditingHeroAfterCreationPhase": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"meleeItemTemplatesCombatTechniqueFilter": {
|
||||
"type": "string"
|
||||
},
|
||||
"rangedItemTemplatesCombatTechniqueFilter": {
|
||||
"type": "string"
|
||||
},
|
||||
"enableAnimations": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"herolistSortOrder",
|
||||
"herolistVisibilityFilter",
|
||||
"racesSortOrder",
|
||||
"culturesSortOrder",
|
||||
"culturesVisibilityFilter",
|
||||
"professionsSortOrder",
|
||||
"professionsVisibilityFilter",
|
||||
"professionsGroupVisibilityFilter",
|
||||
"advantagesDisadvantagesCultureRatingVisibility",
|
||||
"talentsSortOrder",
|
||||
"talentsCultureRatingVisibility",
|
||||
"combatTechniquesSortOrder",
|
||||
"specialAbilitiesSortOrder",
|
||||
"spellsSortOrder",
|
||||
"spellsUnfamiliarVisibility",
|
||||
"liturgiesSortOrder",
|
||||
"equipmentSortOrder",
|
||||
"equipmentGroupVisibilityFilter",
|
||||
"enableActiveItemHints"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
}
|
||||
Vendored
+28
@@ -0,0 +1,28 @@
|
||||
export type RawHero = RawHeroBase & { [key: string]: any }
|
||||
|
||||
export interface RawHeroBase {
|
||||
/**
|
||||
* A date in milliseconds with the \"H_\" prefix.
|
||||
*/
|
||||
readonly id: string
|
||||
|
||||
/**
|
||||
* The name of the hero.
|
||||
*/
|
||||
readonly name: string
|
||||
|
||||
/**
|
||||
* The client version the hero was created with.
|
||||
*/
|
||||
readonly dateCreated: string
|
||||
|
||||
/**
|
||||
* The date of creation.
|
||||
*/
|
||||
readonly dateModified: string
|
||||
|
||||
/**
|
||||
* The date of last modification.
|
||||
*/
|
||||
readonly clientVersion: string
|
||||
}
|
||||
+387
@@ -0,0 +1,387 @@
|
||||
export interface RawHero {
|
||||
/**
|
||||
* A date in milliseconds with the `H_` prefix.
|
||||
*/
|
||||
id: string
|
||||
|
||||
/**
|
||||
* The name of the hero.
|
||||
*/
|
||||
name: string
|
||||
|
||||
/**
|
||||
* The date of creation.
|
||||
*/
|
||||
dateCreated: string
|
||||
|
||||
/**
|
||||
* The date of last modification.
|
||||
*/
|
||||
dateModified: string
|
||||
|
||||
/**
|
||||
* The client version the hero was created with.
|
||||
*/
|
||||
clientVersion: string
|
||||
|
||||
/**
|
||||
* The locale the hero was created with.
|
||||
*/
|
||||
locale?: string
|
||||
|
||||
/**
|
||||
* A path to an image or a base64-encoded image.
|
||||
*/
|
||||
avatar?: string
|
||||
|
||||
/**
|
||||
* The adventure points.
|
||||
*/
|
||||
ap: {
|
||||
/**
|
||||
* The amount of total AP.
|
||||
*/
|
||||
total: number
|
||||
}
|
||||
|
||||
/**
|
||||
* The selected race's ID.
|
||||
*/
|
||||
r?: string
|
||||
|
||||
/**
|
||||
* The selected race variant's ID.
|
||||
*/
|
||||
rv?: string
|
||||
|
||||
/**
|
||||
* The selected culture's ID.
|
||||
*/
|
||||
c?: string
|
||||
|
||||
/**
|
||||
* Has the cultural package been activated?
|
||||
*/
|
||||
isCulturalPackageActive?: boolean
|
||||
|
||||
/**
|
||||
* The selected profession's ID.
|
||||
*/
|
||||
p?: string
|
||||
|
||||
/**
|
||||
* The changed profession name for a Custom Profession.
|
||||
*/
|
||||
professionName?: string
|
||||
|
||||
/**
|
||||
* The selected profession variant's ID.
|
||||
*/
|
||||
pv?: string
|
||||
|
||||
/**
|
||||
* The selected sex.
|
||||
*/
|
||||
sex: "m" | "f"
|
||||
|
||||
/**
|
||||
* The rules defined for this hero.
|
||||
*/
|
||||
rules: {
|
||||
/**
|
||||
* Optional Rule Higher Parade Values. `0` means inactive.
|
||||
*/
|
||||
higherParadeValues: number
|
||||
|
||||
/**
|
||||
* Optional Rule Attribute Value Limit.
|
||||
*/
|
||||
attributeValueLimit: boolean
|
||||
|
||||
/**
|
||||
* If all rule books except those with adult content are enabled.
|
||||
*/
|
||||
enableAllRuleBooks?: boolean
|
||||
|
||||
/**
|
||||
* Explicitly enabled rule books.
|
||||
*/
|
||||
enabledRuleBooks?: string[]
|
||||
|
||||
/**
|
||||
* Optional Rule Language Specializations
|
||||
*/
|
||||
enableLanguageSpecializations: boolean
|
||||
}
|
||||
|
||||
/**
|
||||
* The creation phase. `1` is RCP selection, `2` standard hero creation and
|
||||
* `3` after hero creation.
|
||||
*/
|
||||
phase: number
|
||||
|
||||
/**
|
||||
* Personal Data
|
||||
*/
|
||||
pers: {
|
||||
family?: string
|
||||
placeofbirth?: string
|
||||
dateofbirth?: string
|
||||
age?: string
|
||||
haircolor?: number
|
||||
eyecolor?: number
|
||||
size?: string
|
||||
weight?: string
|
||||
title?: string
|
||||
socialstatus?: number
|
||||
characteristics?: string
|
||||
otherinfo?: string
|
||||
cultureAreaKnowledge?: string
|
||||
}
|
||||
|
||||
/**
|
||||
* A dictionary of active advantages, disadvantages and special abilities,
|
||||
* where the key is the ID of the entry and the value are the options.
|
||||
*/
|
||||
activatable: {
|
||||
[id: string]: {
|
||||
sid?: string | number
|
||||
sid2?: string | number
|
||||
sid3?: string | number
|
||||
tier?: number
|
||||
cost?: number
|
||||
}[]
|
||||
}
|
||||
|
||||
/**
|
||||
* Attributes and energy settings. Either the older version with attribute
|
||||
* values as tuples or the newer version with objects as attribute values and
|
||||
* a separate value for the selected attribute with adjustment.
|
||||
*/
|
||||
attr: {
|
||||
/**
|
||||
* An array of attribute tuples. The first elememt is the ID, the second the
|
||||
* value and the third the attribute adjustment.
|
||||
*/
|
||||
values: [string, number, number][]
|
||||
lp: number
|
||||
ae: number
|
||||
kp: number
|
||||
permanentLP?: {
|
||||
lost: number
|
||||
}
|
||||
permanentAE: {
|
||||
lost: number
|
||||
redeemed: number
|
||||
}
|
||||
permanentKP: {
|
||||
lost: number
|
||||
redeemed: number
|
||||
}
|
||||
} | {
|
||||
/**
|
||||
* The list of attributes and their values.
|
||||
*/
|
||||
values: { id: string; value: number }[]
|
||||
attributeAdjustmentSelected: string
|
||||
lp: number
|
||||
ae: number
|
||||
kp: number
|
||||
permanentLP?: {
|
||||
lost: number
|
||||
}
|
||||
permanentAE: {
|
||||
lost: number
|
||||
redeemed: number
|
||||
}
|
||||
permanentKP: {
|
||||
lost: number
|
||||
redeemed: number
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* A dictionary of active skills, where the key is the ID of the skill and the
|
||||
* value is the SR.
|
||||
*/
|
||||
talents: { [id: string]: number }
|
||||
|
||||
/**
|
||||
* A dictionary of active combat techniques, where the key is the ID of the
|
||||
* combat technique and the value is the CtR.
|
||||
*/
|
||||
ct: { [id: string]: number }
|
||||
|
||||
/**
|
||||
* A dictionary of active spells, where the key is the ID of the spell and the
|
||||
* value is the SR. A spell listed here is always activated, all others are
|
||||
* inactive.
|
||||
*/
|
||||
spells: { [id: string]: number }
|
||||
|
||||
/**
|
||||
* Activated cantrips by ID.
|
||||
*/
|
||||
cantrips: string[]
|
||||
|
||||
/**
|
||||
* A dictionary of active liturgical chants, where the key is the ID of the
|
||||
* liturgical chant and the value is the SR. A liturgical chant listed here is
|
||||
* always activated, all others are inactive.
|
||||
*/
|
||||
liturgies: { [id: string]: number }
|
||||
|
||||
/**
|
||||
* Activated blessings by ID.
|
||||
*/
|
||||
blessings: string[]
|
||||
|
||||
/**
|
||||
* The belongings of the hero.
|
||||
*/
|
||||
belongings: {
|
||||
/**
|
||||
* A dictionary of items, where the key is the ID of the item and the value
|
||||
* are the item's values.
|
||||
*/
|
||||
items: {
|
||||
[id: string]: {
|
||||
id: string
|
||||
price?: number
|
||||
weight?: number
|
||||
template?: string
|
||||
imp?: number
|
||||
gr: number
|
||||
combatTechnique?: string
|
||||
damageDiceNumber?: number
|
||||
damageDiceSides?: number
|
||||
damageFlat?: number
|
||||
primaryThreshold?: {
|
||||
/**
|
||||
* May be either `string` (before `1.3.0-alpha.2`) or
|
||||
* `string | [string, string]`.
|
||||
*/
|
||||
primary?: string | [string, string]
|
||||
threshold: number | number[]
|
||||
}
|
||||
at?: number
|
||||
pa?: number
|
||||
reach?: number
|
||||
length?: number
|
||||
|
||||
/**
|
||||
* May be either `string | number` (before `1.1.0-alpha.9`), `string`
|
||||
* (before `1.3.0-alpha.2`) or `number | number[]`.
|
||||
*/
|
||||
stp?: string | number | number[]
|
||||
range?: number[]
|
||||
|
||||
/**
|
||||
* May be either `string | number` (before `1.1.0-alpha.9`), `string`
|
||||
* (before `1.3.0-alpha.2`) or `number | number[]`.
|
||||
*/
|
||||
reloadTime?: string | number | number[]
|
||||
ammunition?: string
|
||||
pro?: number
|
||||
enc?: number
|
||||
addPenalties?: boolean
|
||||
isParryingWeapon?: boolean
|
||||
isTwoHandedWeapon?: boolean
|
||||
armorType?: number
|
||||
iniMod?: number
|
||||
movMod?: number
|
||||
stabilityMod?: number
|
||||
name: string
|
||||
amount: number
|
||||
isTemplateLocked: boolean
|
||||
loss?: number
|
||||
forArmorZoneOnly?: boolean
|
||||
where?: string
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* A dictionary of hit zone armors, where the key is the ID of the hit zone
|
||||
* armor and the value are the hit zone armor's values.
|
||||
*/
|
||||
armorZones?: {
|
||||
[id: string]: {
|
||||
id: string
|
||||
name: string
|
||||
head?: string
|
||||
headLoss?: number
|
||||
leftArm?: string
|
||||
leftArmLoss?: number
|
||||
rightArm?: string
|
||||
rightArmLoss?: number
|
||||
torso?: string
|
||||
torsoLoss?: number
|
||||
leftLeg?: string
|
||||
leftLegLoss?: number
|
||||
rightLeg?: string
|
||||
rightLegLoss?: number
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* The money of the hero.
|
||||
*/
|
||||
purse: {
|
||||
d: string
|
||||
s: string
|
||||
h: string
|
||||
k: string
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* A dictionary of pets, where the key is the ID of the pet and the value are
|
||||
* the pet's values.
|
||||
*/
|
||||
pets?: {
|
||||
[id: string]: {
|
||||
id: string
|
||||
name: string
|
||||
avatar?: string
|
||||
size?: string
|
||||
type?: string
|
||||
attack?: string
|
||||
dp?: string
|
||||
reach?: string
|
||||
actions?: string
|
||||
talents?: string
|
||||
skills?: string
|
||||
notes?: string
|
||||
spentAp?: string
|
||||
totalAp?: string
|
||||
cou?: string
|
||||
sgc?: string
|
||||
int?: string
|
||||
cha?: string
|
||||
dex?: string
|
||||
agi?: string
|
||||
con?: string
|
||||
str?: string
|
||||
lp?: string
|
||||
ae?: string
|
||||
spi?: string
|
||||
tou?: string
|
||||
pro?: string
|
||||
ini?: string
|
||||
mov?: string
|
||||
at?: string
|
||||
pa?: string
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* The pact, if applicable.
|
||||
*/
|
||||
pact?: {
|
||||
category: number
|
||||
level: number
|
||||
type: number
|
||||
domain: number | string
|
||||
name: string
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,466 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema",
|
||||
"$id": "Schema/Hero/Hero.l10n.schema.json",
|
||||
"$ref": "#/definitions/Hero",
|
||||
"definitions": {
|
||||
"Hero": {
|
||||
"title": "RawHeroBase",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"description": "A date in milliseconds with the \"H_\" prefix.",
|
||||
"type": "string",
|
||||
"pattern": "^H_[1-9]\\d*$"
|
||||
},
|
||||
"name": {
|
||||
"description": "The name of the hero.",
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
},
|
||||
"clientVersion": {
|
||||
"description": "The client version the hero was created with.",
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"pattern": "(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(-(\\w+)\\.(0|[1-9]\\d*))?"
|
||||
},
|
||||
"dateCreated": {
|
||||
"description": "The date of creation.",
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"format": "date-time"
|
||||
},
|
||||
"dateModified": {
|
||||
"description": "The date of last modification.",
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"format": "date-time"
|
||||
},
|
||||
"locale": {
|
||||
"description": "The locale the hero was created with.",
|
||||
"type": "string",
|
||||
"pattern": "^[a-z]\\-[A-Z]$"
|
||||
},
|
||||
"avatar": {
|
||||
"description": "A path to an image or a base64-encoded image.",
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
},
|
||||
"ap": {
|
||||
"description": "A path to an image or a base64-encoded image.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"total": {
|
||||
"description": "The amount of total AP.",
|
||||
"type": "number",
|
||||
"minimum": 1
|
||||
}
|
||||
},
|
||||
"required": ["total"]
|
||||
},
|
||||
"r": {
|
||||
"description": "The selected race's ID.",
|
||||
"type": "string",
|
||||
"pattern": "^R_[1-9]\\d*$"
|
||||
},
|
||||
"rv": {
|
||||
"description": "The selected race variant's ID.",
|
||||
"type": "string",
|
||||
"pattern": "^RV_[1-9]\\d*$"
|
||||
},
|
||||
"c": {
|
||||
"description": "The selected culture's ID.",
|
||||
"type": "string",
|
||||
"pattern": "^C_[1-9]\\d*$"
|
||||
},
|
||||
"isCulturalPackageActive": {
|
||||
"description": "Has the cultural package been activated?",
|
||||
"type": "boolean"
|
||||
},
|
||||
"p": {
|
||||
"description": "The selected profession's ID.",
|
||||
"type": "string",
|
||||
"pattern": "^P_[1-9]\\d*$"
|
||||
},
|
||||
"professionName": {
|
||||
"description": "The changed profession name for a Custom Profession.",
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
},
|
||||
"pv": {
|
||||
"description": "The selected profession variant's ID.",
|
||||
"type": "string",
|
||||
"pattern": "^PV_[1-9]\\d*$"
|
||||
},
|
||||
"sex": {
|
||||
"description": "The selected sex.",
|
||||
"type": "string",
|
||||
"enum": ["m", "f"]
|
||||
},
|
||||
"rules": {
|
||||
"description": "The rules defined for this hero.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"higherParadeValues": {
|
||||
"description": "Optional Rule Higher Parade Values. `0` means inactive.",
|
||||
"type": "number",
|
||||
"enum": [0, 2, 4]
|
||||
},
|
||||
"attributeValueLimit": {
|
||||
"description": "Optional Rule Attribute Value Limit.",
|
||||
"type": "boolean"
|
||||
},
|
||||
"enableAllRuleBooks": {
|
||||
"description": "If all rule books except those with adult content are enabled.",
|
||||
"type": "boolean"
|
||||
},
|
||||
"enabledRuleBooks": {
|
||||
"description": "Explicitly enabled rule books.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"description": "A book ID.",
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
}
|
||||
},
|
||||
"enableLanguageSpecializations": {
|
||||
"description": "Optional Rule Language Specializations",
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"higherParadeValues",
|
||||
"attributeValueLimit",
|
||||
"enableLanguageSpecializations"
|
||||
]
|
||||
},
|
||||
"phase": {
|
||||
"description": "The creation phase. `1` is RCP selection, `2` standard hero creation and `3` after hero creation.",
|
||||
"type": "integer",
|
||||
"minimum": 1,
|
||||
"maximum": 3
|
||||
},
|
||||
"el": {
|
||||
"description": "The selected experience level's ID.",
|
||||
"type": "string",
|
||||
"pattern": "^EL_[1-9]\\d*$"
|
||||
},
|
||||
"pers": {
|
||||
"description": "Personal Data",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"family": { "type": "string", "minLength": 1 },
|
||||
"placeofbirth": { "type": "string", "minLength": 1 },
|
||||
"dateofbirth": { "type": "string", "minLength": 1 },
|
||||
"age": { "type": "string", "minLength": 1 },
|
||||
"haircolor": { "type": "string", "minLength": 1 },
|
||||
"eyecolor": { "type": "string", "minLength": 1 },
|
||||
"size": { "type": "string", "minLength": 1 },
|
||||
"weight": { "type": "string", "minLength": 1 },
|
||||
"title": { "type": "string", "minLength": 1 },
|
||||
"socialstatus": { "type": "number", "minimum": 1, "maximum": 5 },
|
||||
"characteristics": { "type": "string", "minLength": 1 },
|
||||
"otherinfo": { "type": "string", "minLength": 1 },
|
||||
"cultureAreaKnowledge": { "type": "string", "minLength": 1 }
|
||||
}
|
||||
},
|
||||
"activatable": {
|
||||
"description": "A dictionary of active advantages, disadvantages and special abilities, where the key is the ID of the entry and the value are the options.",
|
||||
"type": "object",
|
||||
"patternProperties": {
|
||||
"^(ADV|DISADV|SA)_[1-9]\\d*$": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"sid": {
|
||||
"oneOf": [
|
||||
{ "type": "string", "minLength": 1, "pattern": "^[A-Z]+_[1-9]\\d*$" },
|
||||
{ "type": "integer", "minimum": 1 }
|
||||
]
|
||||
},
|
||||
"sid2": {
|
||||
"oneOf": [
|
||||
{ "type": "string", "minLength": 1, "pattern": "^[A-Z]+_[1-9]\\d*$" },
|
||||
{ "type": "integer", "minimum": 1 }
|
||||
]
|
||||
},
|
||||
"sid3": {
|
||||
"oneOf": [
|
||||
{ "type": "string", "minLength": 1, "pattern": "^[A-Z]+_[1-9]\\d*$" },
|
||||
{ "type": "integer", "minimum": 1 }
|
||||
]
|
||||
},
|
||||
"tier": { "type": "integer", "minimum": 1 },
|
||||
"cost": { "type": "integer", "minimum": 0 }
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"attr": {
|
||||
"description": "Attributes and energy settings. Either the older version with attribute values as tuples or the newer version with objects as attribute values and a separate value for the selected attribute with adjustment.",
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"values": {
|
||||
"description": "An array of attribute tuples. The first elememt is the ID, the second the value and the third the attribute adjustment.",
|
||||
"type": "array",
|
||||
"items": [
|
||||
{
|
||||
"description": "The attribute's ID.",
|
||||
"type": "string",
|
||||
"pattern": "^ATTR_[1-9]\\d*$"
|
||||
},
|
||||
{
|
||||
"type": "integer",
|
||||
"minimum": 8
|
||||
},
|
||||
{
|
||||
"type": "integer"
|
||||
}
|
||||
]
|
||||
},
|
||||
"lp": { "type": "integer", "minimum": 0 },
|
||||
"ae": { "type": "integer", "minimum": 0 },
|
||||
"kp": { "type": "integer", "minimum": 0 },
|
||||
"permanentLP": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"lost": {
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"permanentAE": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"lost": {
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
},
|
||||
"redeemed": {
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"permanentKP": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"lost": {
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
},
|
||||
"redeemed": {
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"values",
|
||||
"lp",
|
||||
"ae",
|
||||
"kp",
|
||||
"permanentAE",
|
||||
"permanentKP"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"values": {
|
||||
"description": "The list of attributes and their values.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"description": "The attribute's ID.",
|
||||
"type": "string",
|
||||
"pattern": "^ATTR_[1-9]\\d*$"
|
||||
},
|
||||
"value": {
|
||||
"type": "integer",
|
||||
"minimum": 8
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"attributeAdjustmentSelected": {
|
||||
"type": "string",
|
||||
"pattern": "^ATTR_[1-9]\\d*$"
|
||||
},
|
||||
"lp": { "type": "integer", "minimum": 0 },
|
||||
"ae": { "type": "integer", "minimum": 0 },
|
||||
"kp": { "type": "integer", "minimum": 0 },
|
||||
"permanentLP": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"lost": {
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"permanentAE": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"lost": {
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
},
|
||||
"redeemed": {
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"permanentKP": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"lost": {
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
},
|
||||
"redeemed": {
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"values",
|
||||
"attributeAdjustmentSelected",
|
||||
"lp",
|
||||
"ae",
|
||||
"kp",
|
||||
"permanentAE",
|
||||
"permanentKP"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
]
|
||||
},
|
||||
"talents": {
|
||||
"description": "A dictionary of active skills, where the key is the ID of the skill and the value is the SR.",
|
||||
"type": "object",
|
||||
"patternProperties": {
|
||||
"^TAL_[1-9]\\d*$": { "type": "integer", "minimum": 0 }
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"ct": {
|
||||
"description": "A dictionary of active combat techniques, where the key is the ID of the combat technique and the value is the CtR.",
|
||||
"type": "object",
|
||||
"patternProperties": {
|
||||
"^CT_[1-9]\\d*$": { "type": "integer", "minimum": 0 }
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"spells": {
|
||||
"description": "A dictionary of active spells, where the key is the ID of the spell and the value is the SR. A spell listed here is always activated, all others are inactive.",
|
||||
"type": "object",
|
||||
"patternProperties": {
|
||||
"^CT_[1-9]\\d*$": { "type": "integer", "minimum": 0 }
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"cantrips": {
|
||||
"description": "Activated cantrips by ID.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"pattern": "^CANTRIP_[1-9]\\d*$"
|
||||
}
|
||||
},
|
||||
"liturgies": {
|
||||
"description": "A dictionary of active liturgical chants, where the key is the ID of the liturgical chant and the value is the SR. A liturgical chant listed here is always activated, all others are inactive.",
|
||||
"type": "object",
|
||||
"patternProperties": {
|
||||
"^LITURGY_[1-9]\\d*$": { "type": "integer", "minimum": 0 }
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"blessings": {
|
||||
"description": "Activated blessings by ID.",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"pattern": "^BLESSING_[1-9]\\d*$"
|
||||
}
|
||||
},
|
||||
"belongings": {
|
||||
"description": "The belongings of the hero.",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"items": {
|
||||
"description": "A dictionary of items, where the key is the ID of the item and the value are the item's values.",
|
||||
"type": "object",
|
||||
"patternProperties": {
|
||||
"^ITEM_[1-9]\\d*$": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string",
|
||||
"pattern": "^ITEM_[1-9]\\d*$"
|
||||
},
|
||||
"price": {
|
||||
"type": "number",
|
||||
"minimum": 0
|
||||
},
|
||||
"weight": {
|
||||
"type": "number",
|
||||
"minimum": 0
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"id"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"items"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"id",
|
||||
"name",
|
||||
"clientVersion",
|
||||
"dateCreated",
|
||||
"dateModified",
|
||||
"ap",
|
||||
"sex",
|
||||
"rules",
|
||||
"phase",
|
||||
"el",
|
||||
"pers",
|
||||
"activatable",
|
||||
"attr",
|
||||
"talents",
|
||||
"ct",
|
||||
"spells",
|
||||
"cantrips",
|
||||
"liturgies",
|
||||
"blessings"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema",
|
||||
"$id": "Schema/Hero/Hero.l10n.schema.json",
|
||||
"$ref": "#/definitions/Hero",
|
||||
"definitions": {
|
||||
"Hero": {
|
||||
"title": "RawHeroBase",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"description": "A date in milliseconds with the \"H_\" prefix.",
|
||||
"type": "string",
|
||||
"pattern": "^H_[1-9]\\d*$"
|
||||
},
|
||||
"name": {
|
||||
"description": "The name of the hero.",
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
},
|
||||
"clientVersion": {
|
||||
"description": "The client version the hero was created with.",
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"pattern": "(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(-(\\w+)\\.(0|[1-9]\\d*))?"
|
||||
},
|
||||
"dateCreated": {
|
||||
"description": "The date of creation.",
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"format": "date-time"
|
||||
},
|
||||
"dateModified": {
|
||||
"description": "The date of last modification.",
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": ["id", "name", "clientVersion", "dateCreated", "dateModified"],
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 265 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 640 B |
@@ -1,2 +0,0 @@
|
||||
require = require('esm')(module)
|
||||
require('./main.js')
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,51 @@
|
||||
{
|
||||
"name": "optolith-client",
|
||||
"version": "0.1.0",
|
||||
"sources": [
|
||||
{ "dir": "deploy" },
|
||||
{ "dir": "src" },
|
||||
{ "dir": "src/App/Actions" },
|
||||
{ "dir": "src/App/Constants" },
|
||||
{ "dir": "src/App/Containers" },
|
||||
{ "dir": "src/App/Models" },
|
||||
{ "dir": "src/App/Reducers" },
|
||||
{ "dir": "src/App/Selectors" },
|
||||
{ "dir": "src/App/Utilities" },
|
||||
{ "dir": "src/App/Utilities/__tests__", "type": "dev" },
|
||||
{ "dir": "src/App/Utilities/YAML" },
|
||||
{ "dir": "src/App/Views" },
|
||||
{ "dir": "src/App/Views/Universal" },
|
||||
{ "dir": "src/Control" },
|
||||
{ "dir": "src/Data" },
|
||||
{ "dir": "src/Data/__tests__", "type": "dev" },
|
||||
{ "dir": "src/Debug" },
|
||||
{ "dir": "src/System" },
|
||||
{ "dir": "src/shims" }
|
||||
],
|
||||
"package-specs": {
|
||||
"module": "commonjs",
|
||||
"in-source": true
|
||||
},
|
||||
"suffix": ".bs.js",
|
||||
"bs-dependencies": [
|
||||
"@glennsl/bs-json",
|
||||
"@glennsl/bs-jest",
|
||||
"reason-react"
|
||||
],
|
||||
"reason": {
|
||||
"react-jsx": 3
|
||||
},
|
||||
"warnings": {
|
||||
"error" : "+101"
|
||||
},
|
||||
"namespace": true,
|
||||
"refmt": 3,
|
||||
"gentypeconfig": {
|
||||
"module": "commonjs",
|
||||
"language": "typescript",
|
||||
"shims": {
|
||||
"Js": "Js",
|
||||
"ReasonPervasives": "ReasonPervasives"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
// @ts-check
|
||||
/**
|
||||
* @param {"prerelease" | "stable"} channel
|
||||
*/
|
||||
const channelSuffix = channel => {
|
||||
switch (channel) {
|
||||
case "prerelease": return "Insider"
|
||||
case "stable": return ""
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {import("./platform.mjs").System} os
|
||||
* @param {"prerelease" | "stable"} channel
|
||||
*/
|
||||
const prefix = (os, channel) => {
|
||||
switch (os) {
|
||||
case "win": return `Optolith${channelSuffix(channel)}Setup`
|
||||
case "linux":
|
||||
case "mac": return `Optolith${channelSuffix(channel)}`
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {import("./platform.mjs").System} os
|
||||
*/
|
||||
const extensions = os => {
|
||||
switch (os) {
|
||||
case "win": return [".exe", ".exe.blockmap"]
|
||||
case "linux": return [".AppImage", ".tar.gz"]
|
||||
case "mac": return [".dmg", ".dmg.blockmap", ".zip", ".zip.blockmap"]
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {import("./platform.mjs").System} os
|
||||
* @param {"prerelease" | "stable"} channel
|
||||
* @param {string} version
|
||||
*/
|
||||
export const getApplicationFileNames = (os, channel, version) =>
|
||||
extensions(os).map(ext => `${prefix(os, channel)}_${version}${ext}`)
|
||||
|
||||
/**
|
||||
* @param {"win" | "mac" | "linux"} os
|
||||
*/
|
||||
export const getUpdateFileName = os => {
|
||||
switch (os) {
|
||||
case "win": return "latest.yml"
|
||||
case "linux": return "latest-linux.yml"
|
||||
default: return "latest-mac.yml"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,83 @@
|
||||
// @ts-check
|
||||
import { notarize } from "./notarize.mjs"
|
||||
|
||||
/**
|
||||
* @type {import("electron-builder").Configuration}
|
||||
*/
|
||||
const config = {
|
||||
appId: "com.lukasobermann.optolith",
|
||||
productName: "Optolith",
|
||||
copyright: "© 2017–present Lukas Obermann. This product was created under a license. Das Schwarze Auge and its logo as well as Aventuria, Dere, Myranor, Riesland, Tharun and Uthuria and their logos are trademarks of Significant GbR. The title and contents of this book are protected under the copyright laws of the United States of America. No part of this publication may be reproduced, stored in retrieval systems or transmitted, in any form or by any means, whether electronic, mechanical, photocopy, recording, or otherwise, without prior written consent by Ulisses Spiele GmbH, Waldems. This publication includes material that is protected under copyright laws by Ulisses Spiele and/or other authors. Such material is used under the Community Content Agreement for the SCRIPTORIUM AVENTURIS. All other original materials in this work is copyright 2017-present by Lukas Obermann and published under the Community Content Agreement for the SCRIPTORIUM AVENTURIS.",
|
||||
directories: {
|
||||
output: "dist"
|
||||
},
|
||||
files: [
|
||||
"app/**/*",
|
||||
"LICENSE"
|
||||
],
|
||||
win: {
|
||||
target: [
|
||||
{
|
||||
target: "nsis",
|
||||
arch: [
|
||||
"x64",
|
||||
"ia32"
|
||||
]
|
||||
}
|
||||
],
|
||||
icon: "app/icon.ico",
|
||||
artifactName: "OptolithSetup_${version}.${ext}"
|
||||
},
|
||||
nsis: {
|
||||
perMachine: true,
|
||||
differentialPackage: true,
|
||||
deleteAppDataOnUninstall: false,
|
||||
},
|
||||
linux: {
|
||||
category: "RolePlaying",
|
||||
executableName: "Optolith",
|
||||
icon: "app",
|
||||
target: [
|
||||
{
|
||||
target: "AppImage",
|
||||
arch: [
|
||||
"x64"
|
||||
]
|
||||
},
|
||||
{
|
||||
target: "tar.gz",
|
||||
arch: [
|
||||
"x64"
|
||||
]
|
||||
}
|
||||
],
|
||||
artifactName: "Optolith_${version}.${ext}"
|
||||
},
|
||||
mac: {
|
||||
category: "public.app-category.role-playing-games",
|
||||
type: "distribution",
|
||||
icon: "app/icon.icns",
|
||||
target: [
|
||||
{
|
||||
target: "default",
|
||||
arch: "universal"
|
||||
}
|
||||
],
|
||||
artifactName: "Optolith_${version}.${ext}",
|
||||
entitlements: "deploy/entitlements.mac.plist",
|
||||
entitlementsInherit: "deploy/entitlements.mac.plist",
|
||||
hardenedRuntime: true,
|
||||
gatekeeperAssess: false,
|
||||
},
|
||||
dmg: {
|
||||
sign: false
|
||||
},
|
||||
publish: {
|
||||
"provider": "generic",
|
||||
"url": `${process.env.UPDATE_URL}/\${os}`,
|
||||
"channel": "latest"
|
||||
},
|
||||
afterSign: notarize,
|
||||
}
|
||||
|
||||
export default config
|
||||
-134
@@ -1,134 +0,0 @@
|
||||
// @ts-check
|
||||
|
||||
const builder = require ("electron-builder")
|
||||
const { copyTables } = require ("./copyTablesCICD.js")
|
||||
const { publishToServer } = require ("./publishToServer.js")
|
||||
const { notarize } = require ("./notarize.js")
|
||||
|
||||
process.on ('unhandledRejection', error => {
|
||||
throw new Error (`Unhandled promise rejection: ${error .toString ()}`);
|
||||
});
|
||||
|
||||
module.exports = {
|
||||
buildWindows:
|
||||
async () => {
|
||||
// console.log ("Deleting macOS env variables")
|
||||
// delete process.env.CSC_LINK
|
||||
// delete process.env.CSC_KEY_PASSWORD
|
||||
// delete process.env.APPLEID
|
||||
// delete process.env.APPLEIDPASS
|
||||
|
||||
console.log ("Copy tables to directories...")
|
||||
await copyTables ()
|
||||
|
||||
console.log ("Building Optolith for Windows...")
|
||||
await builder.build ({ config, targets: builder.Platform.WINDOWS.createTarget () })
|
||||
console.log ("Optolith Build for Windows successful.")
|
||||
|
||||
await publishToServer ("stable", "win")
|
||||
console.log ("Optolith Build for Windows deployed.")
|
||||
},
|
||||
buildLinux:
|
||||
async () => {
|
||||
// console.log ("Deleting macOS env variables")
|
||||
// delete process.env.CSC_LINK
|
||||
// delete process.env.CSC_KEY_PASSWORD
|
||||
// delete process.env.APPLEID
|
||||
// delete process.env.APPLEIDPASS
|
||||
|
||||
console.log ("Copy tables to directories...")
|
||||
await copyTables ()
|
||||
|
||||
console.log ("Building Optolith for Linux...")
|
||||
await builder.build ({ config, targets: builder.Platform.LINUX.createTarget () })
|
||||
console.log ("Optolith Build for Linux successful.")
|
||||
|
||||
await publishToServer ("stable", "linux")
|
||||
console.log ("Optolith Build for Linux deployed.")
|
||||
},
|
||||
buildMac:
|
||||
async () => {
|
||||
console.log ("Copy tables to directories...")
|
||||
await copyTables ()
|
||||
|
||||
console.log ("Building Optolith for OSX...")
|
||||
await builder.build ({ config, targets: builder.Platform.MAC.createTarget () })
|
||||
console.log ("Optolith Build for OSX successful.")
|
||||
|
||||
await publishToServer ("stable", "osx")
|
||||
console.log ("Optolith Build for OSX deployed.")
|
||||
},
|
||||
}
|
||||
|
||||
/**
|
||||
* @type {import ("electron-builder") .Configuration}
|
||||
*/
|
||||
const config = {
|
||||
appId: "com.lukasobermann.optolith",
|
||||
productName: "Optolith",
|
||||
copyright: "This product was created under a license. Das Schwarze Auge and its logo as well as Aventuria, Dere, Myranor, Riesland, Tharun and Uthuria and their logos are trademarks of Significant GbR. The title and contents of this book are protected under the copyright laws of the United States of America. No part of this publication may be reproduced, stored in retrieval systems or transmitted, in any form or by any means, whether electronic, mechanical, photocopy, recording, or otherwise, without prior written consent by Ulisses Spiele GmbH, Waldems. This publication includes material that is protected under copyright laws by Ulisses Spiele and/or other authors. Such material is used under the Community Content Agreement for the SCRIPTORIUM AVENTURIS. All other original materials in this work is copyright 2017-present by Lukas Obermann and published under the Community Content Agreement for the SCRIPTORIUM AVENTURIS.",
|
||||
directories: {
|
||||
output: "dist"
|
||||
},
|
||||
files: [
|
||||
"app/**/*"
|
||||
],
|
||||
win: {
|
||||
target: [
|
||||
{
|
||||
target: "nsis",
|
||||
arch: [
|
||||
"x64",
|
||||
"ia32"
|
||||
]
|
||||
}
|
||||
],
|
||||
icon: "app/icon.ico",
|
||||
artifactName: "OptolithSetup_${version}.${ext}"
|
||||
},
|
||||
nsis: {
|
||||
perMachine: true,
|
||||
differentialPackage: true,
|
||||
deleteAppDataOnUninstall: false,
|
||||
},
|
||||
linux: {
|
||||
category: "RolePlaying",
|
||||
executableName: "Optolith",
|
||||
icon: "app",
|
||||
target: [
|
||||
{
|
||||
target: "AppImage",
|
||||
arch: [
|
||||
"x64"
|
||||
]
|
||||
},
|
||||
{
|
||||
target: "tar.gz",
|
||||
arch: [
|
||||
"x64"
|
||||
]
|
||||
}
|
||||
],
|
||||
artifactName: "Optolith_${version}.${ext}"
|
||||
},
|
||||
mac: {
|
||||
category: "public.app-category.role-playing-games",
|
||||
type: "distribution",
|
||||
icon: "app/icon.icns",
|
||||
target: "default",
|
||||
artifactName: "Optolith_${version}.${ext}",
|
||||
hardenedRuntime: true,
|
||||
// entitlements: "deploy/entitlements.mac.plist",
|
||||
// entitlementsInherit: "deploy/entitlements.mac.plist",
|
||||
gatekeeperAssess: false,
|
||||
},
|
||||
dmg: {
|
||||
sign: false,
|
||||
},
|
||||
publish: {
|
||||
"provider": "generic",
|
||||
"url": process.env.PUBLISH_URL,
|
||||
"channel": "latest"
|
||||
},
|
||||
// afterSign: notarize,
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
// @ts-check
|
||||
import builder from "electron-builder"
|
||||
import { getSystem } from "./platform.mjs"
|
||||
|
||||
const [channel] = process.argv.slice(2)
|
||||
|
||||
if (channel !== "stable" && channel !== "prerelease") {
|
||||
throw new TypeError (`publishToServer requires a specified channel ("stable" or "prerelease"), but it received ${channel}`)
|
||||
}
|
||||
|
||||
const config =
|
||||
channel === "prerelease"
|
||||
? (await import("./build.prerelease.config.mjs")).default
|
||||
: (await import("./build.config.mjs")).default
|
||||
|
||||
process.on ('unhandledRejection', error => {
|
||||
throw new Error(`Unhandled promise rejection: ${/** @type {Error} */ (error).toString ()}`)
|
||||
})
|
||||
|
||||
const os = getSystem()
|
||||
|
||||
const plaformKey = os === "linux" ? "LINUX" : os === "mac" ? "MAC" : "WINDOWS"
|
||||
|
||||
await builder.build({
|
||||
config,
|
||||
targets: builder.Platform[plaformKey].createTarget(),
|
||||
})
|
||||
@@ -0,0 +1,84 @@
|
||||
// @ts-check
|
||||
import { notarize } from "./notarize.mjs"
|
||||
|
||||
/**
|
||||
* @type {import ("electron-builder") .Configuration}
|
||||
*/
|
||||
const config = {
|
||||
appId: "com.lukasobermann.optolithinsider",
|
||||
productName: "Optolith Insider",
|
||||
copyright: "© 2017–present Lukas Obermann. This product was created under a license. Das Schwarze Auge and its logo as well as Aventuria, Dere, Myranor, Riesland, Tharun and Uthuria and their logos are trademarks of Significant GbR. The title and contents of this book are protected under the copyright laws of the United States of America. No part of this publication may be reproduced, stored in retrieval systems or transmitted, in any form or by any means, whether electronic, mechanical, photocopy, recording, or otherwise, without prior written consent by Ulisses Spiele GmbH, Waldems. This publication includes material that is protected under copyright laws by Ulisses Spiele and/or other authors. Such material is used under the Community Content Agreement for the SCRIPTORIUM AVENTURIS. All other original materials in this work is copyright 2017-present by Lukas Obermann and published under the Community Content Agreement for the SCRIPTORIUM AVENTURIS.",
|
||||
directories: {
|
||||
output: "dist/insider"
|
||||
},
|
||||
files: [
|
||||
"app/**/*",
|
||||
"LICENSE"
|
||||
],
|
||||
asarUnpack: "app/Database/**/*",
|
||||
win: {
|
||||
target: [
|
||||
{
|
||||
target: "nsis",
|
||||
arch: [
|
||||
"x64",
|
||||
"ia32"
|
||||
]
|
||||
}
|
||||
],
|
||||
icon: "app/icon.ico",
|
||||
artifactName: "OptolithInsiderSetup_${version}.${ext}"
|
||||
},
|
||||
nsis: {
|
||||
perMachine: true,
|
||||
differentialPackage: true,
|
||||
deleteAppDataOnUninstall: false,
|
||||
},
|
||||
linux: {
|
||||
category: "RolePlaying",
|
||||
executableName: "OptolithInsider",
|
||||
icon: "app",
|
||||
target: [
|
||||
{
|
||||
target: "AppImage",
|
||||
arch: [
|
||||
"x64"
|
||||
]
|
||||
},
|
||||
{
|
||||
target: "tar.gz",
|
||||
arch: [
|
||||
"x64"
|
||||
]
|
||||
}
|
||||
],
|
||||
artifactName: "OptolithInsider_${version}.${ext}"
|
||||
},
|
||||
mac: {
|
||||
category: "public.app-category.role-playing-games",
|
||||
type: "distribution",
|
||||
icon: "app/icon.icns",
|
||||
target: [
|
||||
{
|
||||
target: "default",
|
||||
arch: "universal"
|
||||
}
|
||||
],
|
||||
artifactName: "OptolithInsider_${version}.${ext}",
|
||||
entitlements: "deploy/entitlements.mac.plist",
|
||||
entitlementsInherit: "deploy/entitlements.mac.plist",
|
||||
hardenedRuntime: true,
|
||||
gatekeeperAssess: false,
|
||||
},
|
||||
dmg: {
|
||||
sign: false
|
||||
},
|
||||
publish: {
|
||||
"provider": "generic",
|
||||
"url": `${process.env.UPDATE_URL}/insider/\${os}`,
|
||||
"channel": "latest"
|
||||
},
|
||||
afterSign: notarize,
|
||||
}
|
||||
|
||||
export default config
|
||||
@@ -1,135 +0,0 @@
|
||||
// @ts-check
|
||||
|
||||
const builder = require ("electron-builder")
|
||||
const { copyTables } = require ("./copyTablesCICD.js")
|
||||
const { publishToServer } = require ("./publishToServer.js")
|
||||
const { notarize } = require ("./notarize.js")
|
||||
|
||||
process.on ('unhandledRejection', error => {
|
||||
throw new Error (`Unhandled promise rejection: ${error .toString ()}`);
|
||||
});
|
||||
|
||||
module.exports = {
|
||||
buildWindows:
|
||||
async () => {
|
||||
// console.log ("Deleting macOS env variables")
|
||||
// delete process.env.CSC_LINK
|
||||
// delete process.env.CSC_KEY_PASSWORD
|
||||
// delete process.env.APPLEID
|
||||
// delete process.env.APPLEIDPASS
|
||||
|
||||
console.log ("Copy tables to directories...")
|
||||
await copyTables ()
|
||||
|
||||
console.log ("Building Optolith Insider for Windows...")
|
||||
await builder.build ({ config, targets: builder.Platform.WINDOWS.createTarget () })
|
||||
console.log ("Optolith Insider Build for Windows successful.")
|
||||
|
||||
await publishToServer ("insider", "win")
|
||||
console.log ("Optolith Insider Build for Windows deployed.")
|
||||
},
|
||||
buildLinux:
|
||||
async () => {
|
||||
// console.log ("Deleting macOS env variables")
|
||||
// delete process.env.CSC_LINK
|
||||
// delete process.env.CSC_KEY_PASSWORD
|
||||
// delete process.env.APPLEID
|
||||
// delete process.env.APPLEIDPASS
|
||||
|
||||
console.log ("Copy tables to directories...")
|
||||
await copyTables ()
|
||||
|
||||
console.log ("Building Optolith Insider for Linux...")
|
||||
await builder.build ({ config, targets: builder.Platform.LINUX.createTarget () })
|
||||
console.log ("Optolith Insider Build for Linux successful.")
|
||||
|
||||
await publishToServer ("insider", "linux")
|
||||
console.log ("Optolith Insider Build for Linux deployed.")
|
||||
},
|
||||
buildMac:
|
||||
async () => {
|
||||
console.log ("Copy tables to directories...")
|
||||
await copyTables ()
|
||||
|
||||
console.log ("Building Optolith Insider for OSX...")
|
||||
await builder.build ({ config, targets: builder.Platform.MAC.createTarget () })
|
||||
console.log ("Optolith Insider Build for OSX successful.")
|
||||
|
||||
await publishToServer ("insider", "osx")
|
||||
console.log ("Optolith Insider Build for OSX deployed.")
|
||||
},
|
||||
}
|
||||
|
||||
/**
|
||||
* @type {import ("electron-builder") .Configuration}
|
||||
*/
|
||||
const config = {
|
||||
appId: "com.lukasobermann.optolithinsider",
|
||||
productName: "Optolith Insider",
|
||||
copyright: "This product was created under a license. Das Schwarze Auge and its logo as well as Aventuria, Dere, Myranor, Riesland, Tharun and Uthuria and their logos are trademarks of Significant GbR. The title and contents of this book are protected under the copyright laws of the United States of America. No part of this publication may be reproduced, stored in retrieval systems or transmitted, in any form or by any means, whether electronic, mechanical, photocopy, recording, or otherwise, without prior written consent by Ulisses Spiele GmbH, Waldems. This publication includes material that is protected under copyright laws by Ulisses Spiele and/or other authors. Such material is used under the Community Content Agreement for the SCRIPTORIUM AVENTURIS. All other original materials in this work is copyright 2017-present by Lukas Obermann and published under the Community Content Agreement for the SCRIPTORIUM AVENTURIS.",
|
||||
directories: {
|
||||
output: "dist/insider"
|
||||
},
|
||||
files: [
|
||||
"app/**/*"
|
||||
],
|
||||
asarUnpack: "app/Database/**/*",
|
||||
win: {
|
||||
target: [
|
||||
{
|
||||
target: "nsis",
|
||||
arch: [
|
||||
"x64",
|
||||
"ia32"
|
||||
]
|
||||
}
|
||||
],
|
||||
icon: "app/icon.ico",
|
||||
artifactName: "OptolithInsiderSetup_${version}.${ext}"
|
||||
},
|
||||
nsis: {
|
||||
perMachine: true,
|
||||
differentialPackage: true,
|
||||
deleteAppDataOnUninstall: false,
|
||||
},
|
||||
linux: {
|
||||
category: "RolePlaying",
|
||||
executableName: "OptolithInsider",
|
||||
icon: "app",
|
||||
target: [
|
||||
{
|
||||
target: "AppImage",
|
||||
arch: [
|
||||
"x64"
|
||||
]
|
||||
},
|
||||
{
|
||||
target: "tar.gz",
|
||||
arch: [
|
||||
"x64"
|
||||
]
|
||||
}
|
||||
],
|
||||
artifactName: "OptolithInsider_${version}.${ext}"
|
||||
},
|
||||
mac: {
|
||||
category: "public.app-category.role-playing-games",
|
||||
type: "distribution",
|
||||
icon: "app/icon.icns",
|
||||
target: "default",
|
||||
artifactName: "OptolithInsider_${version}.${ext}",
|
||||
hardenedRuntime: true,
|
||||
// entitlements: "deploy/entitlements.mac.plist",
|
||||
// entitlementsInherit: "deploy/entitlements.mac.plist",
|
||||
gatekeeperAssess: false,
|
||||
},
|
||||
dmg: {
|
||||
sign: false,
|
||||
},
|
||||
publish: {
|
||||
"provider": "generic",
|
||||
"url": process.env.PUBLISH_URL_INSIDER,
|
||||
"channel": "latest"
|
||||
},
|
||||
// afterSign: notarize,
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
require ("./buildInsider.js") .buildLinux ()
|
||||
@@ -1 +0,0 @@
|
||||
require ("./buildInsider.js") .buildMac ()
|
||||
@@ -1 +0,0 @@
|
||||
require ("./buildInsider.js") .buildWindows ()
|
||||
@@ -1 +0,0 @@
|
||||
require ("./build.js") .buildLinux ()
|
||||
@@ -1 +0,0 @@
|
||||
require ("./build.js") .buildMac ()
|
||||
@@ -1,18 +0,0 @@
|
||||
import { writeFile } from 'fs';
|
||||
import sass from 'sass';
|
||||
|
||||
sass .render (
|
||||
{ file: 'src/Main.scss', outputStyle: 'compressed' },
|
||||
(err, result) => {
|
||||
if (err) {
|
||||
throw err;
|
||||
}
|
||||
|
||||
writeFile ('app/main.css', result.css, err => {
|
||||
if (err) {
|
||||
throw err;
|
||||
}
|
||||
|
||||
console.log('SCSS successfully bundled!');
|
||||
})
|
||||
})
|
||||
@@ -1 +0,0 @@
|
||||
require ("./build.js") .buildWindows ()
|
||||
@@ -1,30 +0,0 @@
|
||||
const { promises: { copyFile }, existsSync } = require ("fs")
|
||||
const { join } = require ("path")
|
||||
const { stable } = require ("./tablesSrc.json")
|
||||
|
||||
const src_dir = join (...stable)
|
||||
|
||||
const copyL10nTable =
|
||||
async locale => {
|
||||
const src = join (src_dir, `TDE5_${locale}.xlsx`)
|
||||
if (existsSync (src)) {
|
||||
const dest = join ("app", "Database", locale, "l10n.xlsx")
|
||||
await copyFile (src, dest)
|
||||
console.log (`"TDE5_${locale}.xlsx" copied to "${dest}"!`)
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
copyTables: async () => {
|
||||
console.log ("Copy most recent tables...")
|
||||
|
||||
const dest = join ("app", "Database", "univ.xlsx")
|
||||
await copyFile (join (src_dir, `TDE5.xlsx`), dest)
|
||||
console.log (`"TDE5.xlsx" copied to "${dest}"!`)
|
||||
|
||||
await copyL10nTable ("de-DE")
|
||||
await copyL10nTable ("en-US")
|
||||
await copyL10nTable ("nl-BE")
|
||||
await copyL10nTable ("fr-FR")
|
||||
}
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
// @ts-check
|
||||
const { promises: { copyFile }, existsSync } = require ("fs")
|
||||
const { join } = require ("path")
|
||||
|
||||
const copyL10nTable =
|
||||
/**
|
||||
* @param locale {string}
|
||||
*/
|
||||
async (locale) => {
|
||||
const src = join ("tables", `TDE5_${locale}.xlsx`)
|
||||
if (existsSync (src)) {
|
||||
const dest = join ("app", "Database", locale, "l10n.xlsx")
|
||||
await copyFile (src, dest)
|
||||
console.log (`"TDE5_${locale}.xlsx" copied to "${dest}"!`)
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
copyTables: async () => {
|
||||
const dest = join ("app", "Database", "univ.xlsx")
|
||||
await copyFile (join ("tables", `TDE5.xlsx`), dest)
|
||||
console.log (`"TDE5.xlsx" copied to "${dest}"!`)
|
||||
|
||||
await copyL10nTable ("de-DE")
|
||||
await copyL10nTable ("en-US")
|
||||
await copyL10nTable ("nl-BE")
|
||||
await copyL10nTable ("fr-FR")
|
||||
}
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
const { promises: { copyFile }, existsSync } = require ("fs")
|
||||
const { join } = require ("path")
|
||||
const { insider } = require ("./tablesSrc.json")
|
||||
|
||||
const src_dir = join (...insider)
|
||||
|
||||
const copyL10nTable =
|
||||
async locale => {
|
||||
const src = join (src_dir, `TDE5_${locale}.xlsx`)
|
||||
if (existsSync (src)) {
|
||||
const dest = join ("app", "Database", locale, "l10n.xlsx")
|
||||
await copyFile (src, dest)
|
||||
console.log (`"TDE5_${locale}.xlsx" copied to "${dest}"!`)
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
copyTablesInsider: async () => {
|
||||
console.log ("Copy most recent insider tables...")
|
||||
|
||||
const dest = join ("app", "Database", "univ.xlsx")
|
||||
await copyFile (join (src_dir, `TDE5.xlsx`), dest)
|
||||
console.log (`"TDE5.xlsx" copied to "${dest}"!`)
|
||||
|
||||
await copyL10nTable ("de-DE")
|
||||
await copyL10nTable ("en-US")
|
||||
await copyL10nTable ("nl-BE")
|
||||
await copyL10nTable ("fr-FR")
|
||||
}
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
require ("./copyTablesInsider.js") .copyTablesInsider ()
|
||||
@@ -1 +0,0 @@
|
||||
require ("./copyTables.js") .copyTables ()
|
||||
@@ -0,0 +1,52 @@
|
||||
// @ts-check
|
||||
import packageJson from "../package.json" assert { type: "json" }
|
||||
import { getApplicationFileNames, getUpdateFileName } from "./assetNames.mjs"
|
||||
import { getLocalPath } from "./localPath.mjs"
|
||||
import { getSystem, getSystemName } from "./platform.mjs"
|
||||
import { run, upload } from "./remoteConnection.mjs"
|
||||
import { getRemotePath } from "./remotePath.mjs"
|
||||
|
||||
/**
|
||||
* Needed env variables:
|
||||
* - `HOST`
|
||||
* - `USERNAME`
|
||||
* - `PASSWORD`
|
||||
* - `ROOT`
|
||||
*
|
||||
* Optional env variables:
|
||||
* - `CI`
|
||||
*/
|
||||
const {
|
||||
HOST,
|
||||
USERNAME,
|
||||
PASSWORD,
|
||||
ROOT = "/",
|
||||
CI,
|
||||
} = process.env
|
||||
|
||||
const [channel] = process.argv.slice(2)
|
||||
const os = getSystem()
|
||||
|
||||
if (channel !== "stable" && channel !== "prerelease") {
|
||||
throw new TypeError(`publishToServer requires a specified channel ("stable" or "prerelease"), but it received ${channel}`)
|
||||
}
|
||||
|
||||
console.log(`Preparing to upload update files for "${getSystemName(os)}" on "${channel}" channel...`)
|
||||
|
||||
const localDir = getLocalPath(channel)
|
||||
const remoteDir = getRemotePath(ROOT, channel, os)
|
||||
|
||||
const updateFileName = getUpdateFileName(os)
|
||||
const applicationFileNames = getApplicationFileNames(os, channel, packageJson.version)
|
||||
|
||||
console.log(`Files to upload: ${[updateFileName, ...applicationFileNames] .join (", ")}.`)
|
||||
|
||||
await run({ host: HOST, username: USERNAME, password: PASSWORD }, async client => {
|
||||
for (const applicationFileName of applicationFileNames) {
|
||||
await upload(client, localDir, remoteDir, applicationFileName)
|
||||
}
|
||||
|
||||
await upload(client, localDir, remoteDir, updateFileName)
|
||||
})
|
||||
|
||||
console.log(`Uploading files finished successfully.`)
|
||||
@@ -2,7 +2,9 @@
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
|
||||
<key>com.apple.security.cs.allow-jit</key>
|
||||
<true/>
|
||||
<key>com.apple.security.cs.debugger</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
// @ts-check
|
||||
import { join } from "path"
|
||||
|
||||
/**
|
||||
* @param {"prerelease" | "stable"} channel
|
||||
*/
|
||||
export const getLocalPath = channel => {
|
||||
switch (channel) {
|
||||
case "prerelease": return join("dist", "insider")
|
||||
case "stable": return join("dist")
|
||||
}
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
// @ts-check
|
||||
|
||||
const { notarize } = require ('electron-notarize')
|
||||
|
||||
/**
|
||||
* @param context {import("electron-builder").AfterPackContext}
|
||||
*/
|
||||
exports.notarize = async context => {
|
||||
const { electronPlatformName, appOutDir } = context
|
||||
|
||||
if (electronPlatformName === 'darwin') {
|
||||
const appName = context.packager.appInfo.productFilename
|
||||
|
||||
console.log (`Notarizing "${appName}.app"...`)
|
||||
|
||||
await notarize ({
|
||||
appBundleId: 'com.lukasobermann.optolith',
|
||||
appPath: `${appOutDir}/${appName}.app`,
|
||||
appleId: process.env.APPLEID,
|
||||
appleIdPassword: process.env.APPLEIDPASS,
|
||||
})
|
||||
|
||||
console.log (`Notarization successful`)
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
// @ts-check
|
||||
import { notarize as electronNotarize } from 'electron-notarize'
|
||||
|
||||
/**
|
||||
* @param context {import("electron-builder").AfterPackContext}
|
||||
*/
|
||||
export const notarize = async (context) => {
|
||||
const { electronPlatformName, appOutDir } = context
|
||||
|
||||
if (electronPlatformName === 'darwin') {
|
||||
const appName = context.packager.appInfo.productFilename
|
||||
|
||||
console.log(`Notarizing "${appName}.app"...`)
|
||||
|
||||
await electronNotarize({
|
||||
tool: "notarytool",
|
||||
appPath: `${appOutDir}/${appName}.app`,
|
||||
appleId: /** @type {string} */ (process.env.APPLEID),
|
||||
appleIdPassword: /** @type {string} */ (process.env.APPLEIDPASS),
|
||||
teamId: /** @type {string} */ (process.env.TEAMID),
|
||||
})
|
||||
|
||||
console.log(`Notarization successful`)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
// @ts-check
|
||||
import { platform } from "os"
|
||||
|
||||
/**
|
||||
* @typedef {"win" | "mac" | "linux"} System
|
||||
* @returns {System}
|
||||
*/
|
||||
export const getSystem = () => {
|
||||
switch (platform()) {
|
||||
case "win32": return "win"
|
||||
case "darwin": return "mac"
|
||||
default: return "linux"
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {System} system
|
||||
*/
|
||||
export const getSystemName = system => {
|
||||
switch (system) {
|
||||
case "win": return "Windows"
|
||||
case "mac": return "macOS"
|
||||
case "linux": return "Linux"
|
||||
}
|
||||
}
|
||||
@@ -1,142 +0,0 @@
|
||||
// @ts-check
|
||||
|
||||
require("dotenv").config()
|
||||
const ftp = require ("basic-ftp")
|
||||
const Client = require ("ssh2-sftp-client")
|
||||
const fs = require ("fs")
|
||||
const path = require ("path")
|
||||
const semver = require ("semver");
|
||||
|
||||
/**
|
||||
* Needed env variables:
|
||||
* - `HOST`
|
||||
* - `USERNAME`
|
||||
* - `PASSWORD`
|
||||
*
|
||||
* Needed command line args:
|
||||
*
|
||||
* `channel os`
|
||||
*
|
||||
* `channel = stable | insider`
|
||||
*
|
||||
* `os = win | osx | linux`
|
||||
*
|
||||
* @param channel {"stable" | "insider"}
|
||||
* @param os {"win" | "osx" | "linux"}
|
||||
*/
|
||||
const publishToServer =
|
||||
async (channel, os) => {
|
||||
// if (channel !== "stable" && channel !== "insider") {
|
||||
// throw new TypeError (`publishToServer requires a specified channel ("stable" or "insider"), but it received ${channel .toString ()}`)
|
||||
// }
|
||||
|
||||
// if (os !== "win" && os !== "osx" && os !== "linux") {
|
||||
// throw new TypeError (`publishToServer requires a specified OS ("win", "osx" or "linux"), but it received ${os .toString ()}`)
|
||||
// }
|
||||
|
||||
const subFolder = os === "win" ? "win" : os === "linux" ? "linux" : "mac"
|
||||
|
||||
const updateYmlName =
|
||||
os === "win"
|
||||
? "latest.yml"
|
||||
: os === "linux"
|
||||
? "latest-linux.yml"
|
||||
: "latest-mac.yml"
|
||||
|
||||
const distPath = channel === "insider" ? ["dist", "insider"] : ["dist"]
|
||||
|
||||
const serverPath = `./update.optolith.app/${channel === "insider" ? "insider/" : ""}${subFolder}`
|
||||
|
||||
const regex =
|
||||
channel === "insider"
|
||||
? os === "win"
|
||||
? /^OptolithInsiderSetup_(.+)\.exe$/
|
||||
: os === "linux"
|
||||
? /^OptolithInsider_(.+)\.(?:AppImage|tar\.gz)$/
|
||||
: /^OptolithInsider_(.+)\.(?:zip|dmg)$/
|
||||
: os === "win"
|
||||
? /^OptolithSetup_(.+)\.exe$/
|
||||
: os === "linux"
|
||||
? /^Optolith_(.+)\.(?:AppImage|tar\.gz)$/
|
||||
: /^Optolith_(.+)\.(?:zip|dmg)$/
|
||||
|
||||
const recreateFileNames =
|
||||
channel === "insider"
|
||||
? os === "win"
|
||||
? /**
|
||||
* @param {string} v Version
|
||||
*/ v => [`OptolithInsiderSetup_${v}.exe`]
|
||||
: os === "linux"
|
||||
? /**
|
||||
* @param {string} v Version
|
||||
*/ v => [`OptolithInsider_${v}.AppImage`, `OptolithInsider_${v}.tar.gz`]
|
||||
: /**
|
||||
* @param {string} v Version
|
||||
*/ v => [`OptolithInsider_${v}.dmg`, `OptolithInsider_${v}.zip`]
|
||||
: os === "win"
|
||||
? /**
|
||||
* @param {string} v Version
|
||||
*/ v => [`OptolithSetup_${v}.exe`]
|
||||
: os === "linux"
|
||||
? /**
|
||||
* @param {string} v Version
|
||||
*/ v => [`Optolith_${v}.AppImage`, `Optolith_${v}.tar.gz`]
|
||||
: /**
|
||||
* @param {string} v Version
|
||||
*/ v => [`Optolith_${v}.dmg`, `Optolith_${v}.zip`]
|
||||
|
||||
const allFiles = await fs.promises.readdir (path.join (...distPath))
|
||||
|
||||
const allInstallerNames = allFiles .filter (fileName => regex .test (fileName))
|
||||
|
||||
const allInstallerVersionsSorted =
|
||||
allInstallerNames .map (fileName => regex .exec (fileName) [1])
|
||||
.sort (semver .rcompare)
|
||||
|
||||
if (allInstallerVersionsSorted .length < 1) {
|
||||
throw new RangeError ("Array of sorted installer versions is empty")
|
||||
}
|
||||
|
||||
const latestFileNames = recreateFileNames (allInstallerVersionsSorted [0])
|
||||
|
||||
console.log(`Files to upload: ${[updateYmlName, ...latestFileNames] .join (", ")}`);
|
||||
|
||||
// Actual server connection
|
||||
|
||||
const client = new Client ()
|
||||
|
||||
console.log("Connecting to server...");
|
||||
|
||||
await client.connect ({
|
||||
host: process.env.HOST,
|
||||
port: 22,
|
||||
username: process.env.USERNAME,
|
||||
password: process.env.PASSWORD
|
||||
})
|
||||
|
||||
console.log(`Server connection established`);
|
||||
|
||||
for (const fileName of latestFileNames) {
|
||||
console.log(`Uploading ${fileName}`);
|
||||
|
||||
const stream = fs.readFileSync (path.join (...distPath, fileName))
|
||||
const fileRes = await client.put (stream, `${serverPath}/${fileName}`)
|
||||
|
||||
console.log(`Upload done: ${fileName} (${fileRes})`);
|
||||
}
|
||||
|
||||
console.log(`Uploading ${updateYmlName}`);
|
||||
|
||||
const updateYml = fs.readFileSync (path.join (...distPath, updateYmlName))
|
||||
const ymlRes = await client.put (updateYml, `${serverPath}/${updateYmlName}`)
|
||||
|
||||
console.log(`Upload done: ${updateYmlName} (${ymlRes})`);
|
||||
|
||||
await client.end ()
|
||||
|
||||
console.log("Closed server connection.");
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
publishToServer
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
// @ts-check
|
||||
import { join } from "path"
|
||||
import { join as joinPosix } from "path/posix"
|
||||
import Client from "ssh2-sftp-client"
|
||||
|
||||
/**
|
||||
* @param {Client.ConnectOptions} options
|
||||
* @param {(client: Client) => Promise<void>} action
|
||||
*/
|
||||
export const run = async (options, action) => {
|
||||
const client = new Client()
|
||||
console.log("Connecting to server ...")
|
||||
await client.connect(options)
|
||||
console.log(`Server connection established.`)
|
||||
await action(client)
|
||||
await client.end ()
|
||||
console.log("Closed server connection.")
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Client} client
|
||||
* @param {string} localDir
|
||||
* @param {string} remoteDir
|
||||
* @param {string} fileName
|
||||
*/
|
||||
export const upload = async (client, localDir, remoteDir, fileName) => {
|
||||
console.log(`Uploading ${fileName} ...`);
|
||||
|
||||
await client.fastPut (
|
||||
join (localDir, fileName),
|
||||
joinPosix (remoteDir, fileName),
|
||||
{
|
||||
step: !process.env.CI ? (totalTransferred, _, total) => {
|
||||
const percent = Math.floor (totalTransferred / total * 100)
|
||||
console.log(`Progress: ${percent}%`);
|
||||
} : undefined
|
||||
}
|
||||
)
|
||||
|
||||
console.log(`Upload done: ${fileName}.`);
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
// @ts-check
|
||||
import { join } from "path/posix"
|
||||
|
||||
/**
|
||||
* @param {"prerelease" | "stable"} channel
|
||||
*/
|
||||
const remoteChannelPath = channel => {
|
||||
switch (channel) {
|
||||
case "prerelease": return "insider"
|
||||
case "stable": return "."
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {import("./platform.mjs").System} os
|
||||
*/
|
||||
const remoteOsPath = os => {
|
||||
switch (os) {
|
||||
case "win": return "win"
|
||||
case "linux": return "linux"
|
||||
default: return "mac"
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} root
|
||||
* @param {"prerelease" | "stable"} channel
|
||||
* @param {import("./platform.mjs").System} os
|
||||
*/
|
||||
export const getRemotePath = (root, channel, os) =>
|
||||
join(root, remoteChannelPath(channel), remoteOsPath(os))
|
||||
@@ -1,33 +0,0 @@
|
||||
param([switch]$insider)
|
||||
|
||||
$source = "..\..\OneDrive\TDE app\data"
|
||||
$target = "..\tables"
|
||||
|
||||
if($insider) {
|
||||
$source = "..\..\OneDrive\TDE app\data\insider"
|
||||
}
|
||||
|
||||
Write-Output "Source: $(Resolve-Path -Path $source)"
|
||||
|
||||
$filter = [regex] "^TDE5(?:_[a-z]{2}-[A-Z]{2})?\.xlsx$"
|
||||
|
||||
if (!(Test-Path $target -PathType Container)) {
|
||||
New-Item -Path $target -ItemType Directory
|
||||
}
|
||||
|
||||
Write-Output "Target: $(Resolve-Path -Path $target)"
|
||||
|
||||
Get-ChildItem -Path $target -Include *.* -File | ForEach-Object { $_.Delete() }
|
||||
|
||||
Write-Output "Target directory contents deleted"
|
||||
|
||||
$allTables = Get-ChildItem -Path $source | Where-Object {$_.Name -match $filter}
|
||||
|
||||
foreach ($item in $allTables) {
|
||||
Copy-Item -Path $item.FullName -Destination $target
|
||||
Write-Output "Copied $($item.FullName) to $(Resolve-Path -Path $target)"
|
||||
}
|
||||
|
||||
python .\encryptTables.py $target
|
||||
|
||||
Write-Output "Table encryption succeeded!"
|
||||
@@ -1,58 +0,0 @@
|
||||
import base64
|
||||
import os
|
||||
import os.path
|
||||
import sys
|
||||
import zipfile
|
||||
|
||||
import cryptography
|
||||
from cryptography.fernet import Fernet
|
||||
from cryptography.hazmat.backends import default_backend
|
||||
from cryptography.hazmat.primitives import hashes
|
||||
from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC
|
||||
|
||||
|
||||
def encryptTables(tableFolder):
|
||||
# Zip files into project
|
||||
zipf = zipfile.ZipFile('Tables.zip', 'w', zipfile.ZIP_DEFLATED)
|
||||
zipdir(tableFolder, zipf)
|
||||
zipf.close()
|
||||
|
||||
# Obtain key from enviroment variable
|
||||
key = os.environ['OPTOLITH_KEY']
|
||||
|
||||
# Create encryption key
|
||||
salt = b'optolithSalt'
|
||||
kdf = PBKDF2HMAC(
|
||||
algorithm=hashes.SHA256(),
|
||||
length=32,
|
||||
salt=salt,
|
||||
iterations=100000,
|
||||
backend=default_backend())
|
||||
cryptoKey = base64.urlsafe_b64encode(kdf.derive(key.encode(encoding='UTF-8')))
|
||||
|
||||
# Encrypt file
|
||||
f = Fernet(cryptoKey)
|
||||
with open("Tables.zip", "rb") as sourceFile:
|
||||
with open("Tables.crypto", "wb") as targetFile:
|
||||
encrypted = f.encrypt(sourceFile.read()) # For now. This creates larger files then necessary
|
||||
# encryptedBytes = base64.decodebytes(encrypted)
|
||||
targetFile.write(encrypted)
|
||||
|
||||
# Delete old table zip
|
||||
os.remove("Tables.zip")
|
||||
|
||||
|
||||
def zipdir(path, ziph):
|
||||
# ziph is zipfile handle
|
||||
for root, dirs, files in os.walk(path):
|
||||
for file in files:
|
||||
(p, extension) = os.path.splitext(file)
|
||||
if extension == ".xlsx" :
|
||||
ziph.write(os.path.join(root, file), os.path.relpath(os.path.join(root, file), path))
|
||||
|
||||
if __name__ == "__main__":
|
||||
if(len(sys.argv)) == 1:
|
||||
path = input("Bitte Pfad zu den Tabellen eingeben:\n> ")
|
||||
else:
|
||||
path = sys.argv[1]
|
||||
encryptTables(path)
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user