Compare commits
1601
Commits
v0.49.0
...
feature/ocaml
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d91164ca39 | ||
|
|
594b3aae55 | ||
|
|
49caf9fa07 | ||
|
|
7759ea78e6 | ||
|
|
788be838c2 | ||
|
|
ee3a8c454f | ||
|
|
908055f69c | ||
|
|
2194dab596 | ||
|
|
6eb89a518a | ||
|
|
9c81d5e939 | ||
|
|
b48dded524 | ||
|
|
9b5a73ccf9 | ||
|
|
ddde8957b2 | ||
|
|
dd3caf631d | ||
|
|
3df0a65b2d | ||
|
|
785c2e26ce | ||
|
|
427fa14b67 | ||
|
|
2c13926d07 | ||
|
|
c40b9e6fd6 | ||
|
|
64d72a787e | ||
|
|
2d0f66ae11 | ||
|
|
9e9622a3e2 | ||
|
|
0b75d1e51f | ||
|
|
7d9d3ed449 | ||
|
|
593eb4dba7 | ||
|
|
b1373e6aaf | ||
|
|
accc5a4ea5 | ||
|
|
3eb61cc55c | ||
|
|
f7e5e06ff2 | ||
|
|
35048e1032 | ||
|
|
9ee4626f49 | ||
|
|
4f698af39b | ||
|
|
7e055864a4 | ||
|
|
669e2cb1b0 | ||
|
|
b6971d190b | ||
|
|
b0f1869886 | ||
|
|
74f7811f18 | ||
|
|
66a5329331 | ||
|
|
dfe9e37ae9 | ||
|
|
c41d3c4912 | ||
|
|
956cf3958d | ||
|
|
1e31e7b8de | ||
|
|
6776e9582a | ||
|
|
e7e02c025c | ||
|
|
e0b8625a4b | ||
|
|
7ee370c687 | ||
|
|
ced296b47f | ||
|
|
832da43ecd | ||
|
|
a62195f390 | ||
|
|
4da9621b3e | ||
|
|
e15bf1784c | ||
|
|
a35611b4d9 | ||
|
|
390dcb616a | ||
|
|
8055218c8f | ||
|
|
2cb392e511 | ||
|
|
8392e368ff | ||
|
|
692e4011b5 | ||
|
|
bcd3bd0a64 | ||
|
|
93f95c76be | ||
|
|
1af9bf192f | ||
|
|
53fbaad5c1 | ||
|
|
4c9caef67a | ||
|
|
ae652e2e60 | ||
|
|
f18a032ce6 | ||
|
|
09f98bc094 | ||
|
|
dd77fc95dd | ||
|
|
f63ea3c2d9 | ||
|
|
32aa20a890 | ||
|
|
4bbe18092c | ||
|
|
acc58c37b0 | ||
|
|
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 | ||
|
|
be7e174353 | ||
|
|
91f6ccbdaa | ||
|
|
6bee4968cf | ||
|
|
51b2fd85fe | ||
|
|
785366f25a | ||
|
|
2e488573f0 | ||
|
|
a91241b759 | ||
|
|
13e90fe2ca | ||
|
|
0da83cb257 | ||
|
|
0fadd70dbd | ||
|
|
cbcebc8722 | ||
|
|
5b2be2aba6 | ||
|
|
fb26257254 | ||
|
|
6141671c11 | ||
|
|
8983c129be | ||
|
|
f0fedb2ee5 | ||
|
|
a8cc0883df | ||
|
|
0820860125 | ||
|
|
ab1cf43a37 | ||
|
|
d63375084a | ||
|
|
1289d95391 | ||
|
|
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 | ||
|
|
635c11cda2 | ||
|
|
57032d78bc | ||
|
|
8072ee399f | ||
|
|
ad6e2d6f83 | ||
|
|
d861f80d20 | ||
|
|
5abbbac935 | ||
|
|
5347ddec4f | ||
|
|
2cad1dd6b6 | ||
|
|
a89fd07252 | ||
|
|
f2380eb9b4 | ||
|
|
3348c08808 | ||
|
|
4492304173 | ||
|
|
9acffd878e | ||
|
|
1667683ceb | ||
|
|
ae44828365 | ||
|
|
505a6718ba | ||
|
|
3f48a8f42d | ||
|
|
5d341bb6b6 | ||
|
|
d4f15baf96 | ||
|
|
856c7da6cf | ||
|
|
bfd1f05c89 | ||
|
|
de582f9140 | ||
|
|
f79c84caeb | ||
|
|
5218562b53 | ||
|
|
0e04abec01 | ||
|
|
f54ddee6d6 | ||
|
|
d2814197b7 | ||
|
|
5b6b88c7e7 | ||
|
|
1d9b64eafc | ||
|
|
4773d98216 | ||
|
|
a5fd560998 | ||
|
|
0adf7d86a1 | ||
|
|
b41cee0ff1 | ||
|
|
521bca34fe | ||
|
|
c11fb747cd | ||
|
|
18fbade7c6 | ||
|
|
8f9f627a30 | ||
|
|
bc1619b231 | ||
|
|
1342977583 | ||
|
|
bb17ed75e1 | ||
|
|
c5f68a4a1d | ||
|
|
8fbdf55e51 | ||
|
|
d616157397 | ||
|
|
b8cd0794ca | ||
|
|
7ec14231e0 | ||
|
|
053fcb2874 | ||
|
|
9b7948f6f6 | ||
|
|
d31be41a12 | ||
|
|
57b8c82a17 | ||
|
|
a3df7d264b | ||
|
|
be4ef2344d | ||
|
|
86aee2b6e7 | ||
|
|
a78a0a8bd4 | ||
|
|
af1d47627c | ||
|
|
0f44de3812 | ||
|
|
3cb2beb740 | ||
|
|
098b658c70 | ||
|
|
dbb7bf4296 | ||
|
|
117a732594 | ||
|
|
6fe2c3323f | ||
|
|
f6ee17b6cb | ||
|
|
702bb95615 | ||
|
|
dfe297ae4e | ||
|
|
b888851995 | ||
|
|
e9b6fb16b1 | ||
|
|
9b95187936 | ||
|
|
8c0300ea6c | ||
|
|
51e731c37a | ||
|
|
568386363e | ||
|
|
64533686ce | ||
|
|
63073329f9 | ||
|
|
283825d6d9 | ||
|
|
fbbf493f3e | ||
|
|
2d78190baa | ||
|
|
3e08cbb778 | ||
|
|
c1c04def86 | ||
|
|
a1f7e61c6f | ||
|
|
7ca9e44634 | ||
|
|
45d9a6f934 | ||
|
|
6c5ad44c3f | ||
|
|
ba65734345 | ||
|
|
bf097a7546 | ||
|
|
ff99b20219 | ||
|
|
afec30cb94 | ||
|
|
f535ec532d | ||
|
|
16d590c6e2 | ||
|
|
185514e141 | ||
|
|
717dd96c3d | ||
|
|
8779e84713 | ||
|
|
479659e871 | ||
|
|
8f03ae5694 | ||
|
|
aaa7f547ce | ||
|
|
8da9b6f641 | ||
|
|
2b20c8598a | ||
|
|
58df332c06 | ||
|
|
2532cc1de9 | ||
|
|
2897742661 | ||
|
|
b1f9a155f9 | ||
|
|
2bc235292c | ||
|
|
1eae92cabc | ||
|
|
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 | ||
|
|
df6c9c310e | ||
|
|
4db15b9755 | ||
|
|
6a958d3ef5 | ||
|
|
e99d2e7318 | ||
|
|
6d6aa11d45 | ||
|
|
b765f55124 | ||
|
|
e653063350 | ||
|
|
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 | ||
|
|
cf34748313 | ||
|
|
9110011281 | ||
|
|
b3ba577296 | ||
|
|
10dcfb5f40 | ||
|
|
93bf8a6e69 | ||
|
|
c3213abb9d | ||
|
|
988bec226e | ||
|
|
b603498944 | ||
|
|
e3a5a5a347 | ||
|
|
32117fac36 | ||
|
|
32a99364c8 | ||
|
|
1d21dfff4a | ||
|
|
b1030982e2 | ||
|
|
2b89b602db | ||
|
|
d9d1c66291 | ||
|
|
a7e9450b89 | ||
|
|
bac472297b | ||
|
|
a365fa1b40 | ||
|
|
84c74e0223 | ||
|
|
450167bea4 | ||
|
|
431a9def99 | ||
|
|
df59c71c40 | ||
|
|
17ab466503 | ||
|
|
01a1f977f7 | ||
|
|
b0b11bbf2d | ||
|
|
7664df6ad4 | ||
|
|
f328295f5e | ||
|
|
9618e2171f | ||
|
|
44c295b493 | ||
|
|
2a340dc0a3 | ||
|
|
8a40806f0e | ||
|
|
f2a2b5bb84 | ||
|
|
d16a9ca449 | ||
|
|
003955e201 | ||
|
|
978ec73289 | ||
|
|
571780f077 | ||
|
|
9dee6a419c | ||
|
|
a74fd54639 | ||
|
|
69801c6d6c | ||
|
|
bdab2c2dfe | ||
|
|
08cf2ca060 | ||
|
|
3b17767092 | ||
|
|
ded1e3c1e4 | ||
|
|
17754d4492 | ||
|
|
ed0886efe1 | ||
|
|
6d47417658 | ||
|
|
d8e7cc499e | ||
|
|
19dc248a42 | ||
|
|
19464f5a9e | ||
|
|
7224b05af3 | ||
|
|
13e3346c86 | ||
|
|
58414a8af7 | ||
|
|
c4df01b9c1 | ||
|
|
fdb3bce60a | ||
|
|
8e5d29caef | ||
|
|
9927351a99 | ||
|
|
5bdb20f255 | ||
|
|
7de4e813d7 | ||
|
|
e7a565ccd2 | ||
|
|
fdaaff5aae | ||
|
|
3bb314524d | ||
|
|
c366f8f92b | ||
|
|
3bc5c81085 | ||
|
|
7487cfee18 | ||
|
|
7935b26c23 | ||
|
|
819ae3a6a9 | ||
|
|
be0334e928 | ||
|
|
e7dfaa3647 | ||
|
|
b953029b2d | ||
|
|
439b3fd9b1 | ||
|
|
9f41532d03 | ||
|
|
8ebddb46cf | ||
|
|
bd7e4ebd82 | ||
|
|
fedb7867fb | ||
|
|
846dc2e44b | ||
|
|
119766f702 | ||
|
|
b2b1553f00 | ||
|
|
7056f28f8a | ||
|
|
e1ba5168cb | ||
|
|
0bede90073 | ||
|
|
774bfc31a2 | ||
|
|
e8e137ce6b | ||
|
|
c92afa5a62 | ||
|
|
b282915d87 | ||
|
|
39a47710ae | ||
|
|
ed670b0aeb | ||
|
|
7067f7e847 | ||
|
|
cbcbfb4567 | ||
|
|
9d9b2e27fa | ||
|
|
95e14f3d5a | ||
|
|
61ae0fe8d0 | ||
|
|
d14f59fb1c | ||
|
|
7d9e2b9554 | ||
|
|
d0fe8df382 | ||
|
|
bf357c4255 | ||
|
|
7e21966c19 | ||
|
|
25d8055257 | ||
|
|
d851f2ad38 | ||
|
|
8270571a61 | ||
|
|
530df36c0f | ||
|
|
ed7b4ed1c0 | ||
|
|
a086834bf2 | ||
|
|
52da90be31 | ||
|
|
8bcc493499 | ||
|
|
836f6cf64b | ||
|
|
4411fb2790 | ||
|
|
3b199dc357 | ||
|
|
4c78e5181b | ||
|
|
7b52e8cfbe | ||
|
|
bad32ac5bc | ||
|
|
cf456f8b3e | ||
|
|
dd4d961cea | ||
|
|
42aa971c49 | ||
|
|
dab01f6b04 | ||
|
|
18dafd8f23 | ||
|
|
dd392ebcdd | ||
|
|
393d44f496 | ||
|
|
6d8b8949ce | ||
|
|
632e2ebaae | ||
|
|
77a431bda0 | ||
|
|
90c30c0433 | ||
|
|
7e8af28c2b | ||
|
|
0aad8be99b | ||
|
|
ae70d737d3 | ||
|
|
f390873cca | ||
|
|
15533867da | ||
|
|
737ccbe73d | ||
|
|
15d50af0ff | ||
|
|
a9f0c4913f | ||
|
|
9a59b9de7d | ||
|
|
1cdacd52d3 | ||
|
|
d1540507a8 | ||
|
|
33c037a49d | ||
|
|
405dcc2e3d | ||
|
|
16586962b5 | ||
|
|
0275fb06c1 | ||
|
|
16fb875706 | ||
|
|
16408c5163 | ||
|
|
4da3637a28 | ||
|
|
832b960feb | ||
|
|
55d2ef8560 | ||
|
|
b43db1f4af | ||
|
|
b03ab6ec6b | ||
|
|
6a0b29bf50 | ||
|
|
6519366237 | ||
|
|
87f1640845 | ||
|
|
1d8bbcc585 | ||
|
|
52349b7c4f | ||
|
|
cd911b6fa2 | ||
|
|
20b53e2183 | ||
|
|
48e20aeb58 | ||
|
|
f9ecc29452 | ||
|
|
5352a9b58f | ||
|
|
d586e1d31c | ||
|
|
ecea624597 | ||
|
|
5561b4ce9a | ||
|
|
9dcc609a65 | ||
|
|
c0fe9ad36c | ||
|
|
749b741d9e | ||
|
|
9d24740019 | ||
|
|
0100b67321 | ||
|
|
9402e9ea29 | ||
|
|
714851169d | ||
|
|
0e28d9cc06 | ||
|
|
c3954894b8 | ||
|
|
7c4c96bc0b | ||
|
|
0fadd13ed0 | ||
|
|
26ec51a7d3 | ||
|
|
2633ee4b2d | ||
|
|
bf795c4eb5 | ||
|
|
5e6d9c5616 | ||
|
|
a546f72c27 | ||
|
|
633fbfd9f8 | ||
|
|
167f75fb9e | ||
|
|
244265e2ae | ||
|
|
79b7185892 | ||
|
|
a994cee8ed | ||
|
|
f42c2af704 | ||
|
|
9cacf33c80 | ||
|
|
0914d9f8ef | ||
|
|
c136c2e1bc | ||
|
|
1e79f6e656 | ||
|
|
a569aed155 | ||
|
|
00a31e8468 | ||
|
|
315987197b | ||
|
|
f2162fdc06 | ||
|
|
78fdcb2a89 | ||
|
|
8e1528f39e | ||
|
|
5e9faa7a84 | ||
|
|
94fab2b2b9 | ||
|
|
f31315161d | ||
|
|
cb62c1e1e2 | ||
|
|
3951d3fd95 | ||
|
|
b336f1054a | ||
|
|
057eadc123 | ||
|
|
307b3a7c7e | ||
|
|
3e6f695436 | ||
|
|
16b52de898 | ||
|
|
14c0236107 | ||
|
|
9f34df940c | ||
|
|
99a5078c35 | ||
|
|
bc1ce5efa5 | ||
|
|
72b23a36a0 | ||
|
|
b135031841 | ||
|
|
54be0be399 | ||
|
|
f2caeafab4 | ||
|
|
b8dae7b4c5 | ||
|
|
b81973c993 | ||
|
|
72f093b9bb | ||
|
|
20f7342cbb | ||
|
|
8004f6a43b | ||
|
|
0a4ddaee75 | ||
|
|
e218ebef99 | ||
|
|
5106842971 | ||
|
|
e45d21f283 | ||
|
|
d406a0ddf3 | ||
|
|
29f838f90e | ||
|
|
a29717c9f3 | ||
|
|
64e48849a7 | ||
|
|
01dccb4af9 | ||
|
|
c0952d0feb | ||
|
|
8b7dab6468 | ||
|
|
71fdc54c02 | ||
|
|
e308719035 | ||
|
|
3f6cc15131 | ||
|
|
e70943f415 | ||
|
|
018941cd3a | ||
|
|
fbf254efe9 | ||
|
|
6fca96af97 | ||
|
|
694e15e953 | ||
|
|
609e69eca7 | ||
|
|
21a1595c4c | ||
|
|
025fa55304 | ||
|
|
57892f094a | ||
|
|
22f09a7577 | ||
|
|
31d9582eff | ||
|
|
cf033eeb2a | ||
|
|
afbbdbad4d | ||
|
|
4a08b79dcf | ||
|
|
c7d4359b35 | ||
|
|
91afd7b67d | ||
|
|
d3320e19da | ||
|
|
26ccfbb439 | ||
|
|
1e5ef82041 | ||
|
|
db50022b50 | ||
|
|
c2a1fb2626 | ||
|
|
a1d46897ae | ||
|
|
5e1dac296d | ||
|
|
462ac88747 | ||
|
|
adfaaef09d | ||
|
|
50d034bf1d | ||
|
|
085ca9f91a | ||
|
|
4e9ddc4910 | ||
|
|
df71a7147a | ||
|
|
f74c7a5f84 | ||
|
|
c63175f96c | ||
|
|
05926768fc | ||
|
|
eb40487ee5 | ||
|
|
f3ae96418b | ||
|
|
c48e99a3cc | ||
|
|
9dfb59060a | ||
|
|
c2cccd3a68 | ||
|
|
cf5c661a3d | ||
|
|
12ccd334b9 | ||
|
|
290c4a593d | ||
|
|
2c83c3e738 | ||
|
|
147852ec43 | ||
|
|
55343a03b0 | ||
|
|
13232ff95e | ||
|
|
7d4db370bd | ||
|
|
9bf3616813 | ||
|
|
0f0c10e054 | ||
|
|
4e00805323 | ||
|
|
e81860c895 | ||
|
|
054bc8dd5d | ||
|
|
9219932807 | ||
|
|
de78ad7e0b | ||
|
|
cea6dba522 | ||
|
|
d990e2dcc4 | ||
|
|
ff5427a74e | ||
|
|
a0609da64f | ||
|
|
abc921d26d | ||
|
|
d8650900ef | ||
|
|
3aa56f94dd | ||
|
|
73f415bd0e | ||
|
|
fef77fd776 | ||
|
|
a6cea9e741 | ||
|
|
bf746303c4 | ||
|
|
30dd3d3788 | ||
|
|
a3a68aa6bf | ||
|
|
e4767c04f1 | ||
|
|
aa8cb0e003 | ||
|
|
dd8ecb5999 | ||
|
|
131131c330 | ||
|
|
ae048e1ce3 | ||
|
|
be5ac933be | ||
|
|
b61aaa4e36 | ||
|
|
f02a71ea66 | ||
|
|
fb3135536f | ||
|
|
30abadf066 | ||
|
|
5dd55b0af7 | ||
|
|
0897a09384 | ||
|
|
9bd70beeea | ||
|
|
c05c589cd8 | ||
|
|
026bf82c1d | ||
|
|
36f4dc847b | ||
|
|
8954dde8c3 | ||
|
|
a63f41dd38 | ||
|
|
1bdfe1eea5 | ||
|
|
bbb0b459be | ||
|
|
f18750168a | ||
|
|
c9998dfe62 | ||
|
|
4bb097ac65 | ||
|
|
b3281e2066 | ||
|
|
3b7ddf3747 | ||
|
|
c43a3c60ef | ||
|
|
acbff114d0 | ||
|
|
b620edcf17 | ||
|
|
47e56a41d3 | ||
|
|
04aff07e86 | ||
|
|
b83e5f77cc | ||
|
|
c2794be7d3 | ||
|
|
a9381b2994 | ||
|
|
3ee6805233 | ||
|
|
d634bde250 | ||
|
|
e957c532a1 | ||
|
|
8b761731ad | ||
|
|
2de64f4025 | ||
|
|
0353760990 | ||
|
|
034ed5ee85 | ||
|
|
f2b32f9f4c | ||
|
|
520c8d7490 | ||
|
|
5612a48ec4 | ||
|
|
d128b61369 | ||
|
|
5f127485e7 | ||
|
|
c57e352840 | ||
|
|
06aff3c21f | ||
|
|
c503f60f00 | ||
|
|
7d3c78fc01 | ||
|
|
d8da233f63 | ||
|
|
99c583baca | ||
|
|
0427717a81 | ||
|
|
6ce15f77f3 | ||
|
|
f9ce0703f9 | ||
|
|
cf6e2d7c08 | ||
|
|
3abfbbae05 | ||
|
|
f061dadfba | ||
|
|
39c2ce2290 | ||
|
|
43b53a83f3 | ||
|
|
f5122b777c | ||
|
|
2725bcab20 | ||
|
|
9e1bcd17e0 | ||
|
|
46fbca62a1 | ||
|
|
6c682ed351 | ||
|
|
631b818788 | ||
|
|
5163f7acda | ||
|
|
8ed6fd9cad | ||
|
|
3ca5b7dd62 | ||
|
|
34b4f10758 | ||
|
|
671a02e12f | ||
|
|
d7eac0796b | ||
|
|
899bd204c3 | ||
|
|
f360e37c98 | ||
|
|
dc1b3e0563 | ||
|
|
b1da3c00a7 | ||
|
|
bf167f86a2 | ||
|
|
c3448f0e72 | ||
|
|
6c9789eb71 | ||
|
|
cfd3d3e1f4 | ||
|
|
0bdedc159a | ||
|
|
8005326471 | ||
|
|
bc7ae2e5ed | ||
|
|
ebc978ed80 | ||
|
|
3510597c98 | ||
|
|
5a9ae2b660 | ||
|
|
087d42e8b2 | ||
|
|
85af75143e | ||
|
|
54d2edc422 | ||
|
|
efcbe56346 | ||
|
|
987b670c1d | ||
|
|
5951a8eccc | ||
|
|
97c2d3b221 | ||
|
|
925000da72 | ||
|
|
efb8a14be7 | ||
|
|
34e606d497 | ||
|
|
0418de82f4 | ||
|
|
1479887733 | ||
|
|
cc495907e8 | ||
|
|
326f93de13 | ||
|
|
052fafa715 | ||
|
|
d50fd3cbf8 | ||
|
|
dd5437f04a | ||
|
|
5d8e3a940c | ||
|
|
3ee4ad5e73 | ||
|
|
ec375bf4b4 | ||
|
|
64f0fa3573 | ||
|
|
edc3d8414c | ||
|
|
23fbd7c2ae | ||
|
|
daa5a65078 | ||
|
|
09b766f54c | ||
|
|
75aecee8d2 | ||
|
|
e0b69b5dc3 | ||
|
|
11de828e64 | ||
|
|
a0ac981794 | ||
|
|
f49e0286f0 | ||
|
|
6a4f1e9395 | ||
|
|
72ec84532e | ||
|
|
86fd134ecf | ||
|
|
b3223ef4f2 | ||
|
|
9af1e82a3a | ||
|
|
57b7d80dd6 | ||
|
|
ed5bad6716 | ||
|
|
f8b7608aa1 | ||
|
|
9139567bd3 | ||
|
|
71a486025f | ||
|
|
58045802c0 | ||
|
|
980ec9ea0d | ||
|
|
ef0c46aacf | ||
|
|
3a6e81d550 | ||
|
|
747942590f | ||
|
|
6df7b27453 | ||
|
|
1b4a8b12d7 | ||
|
|
92f08b45b8 | ||
|
|
992d2a88d9 | ||
|
|
05b509a38c | ||
|
|
85823dfc6b | ||
|
|
50c5580448 | ||
|
|
b1913e5fef | ||
|
|
70b472fdb2 | ||
|
|
089556b4f9 | ||
|
|
6365dfbb10 | ||
|
|
349b15ddcb | ||
|
|
b9c4c9aa1e | ||
|
|
8588958093 | ||
|
|
cf63d30b5e | ||
|
|
4a124d44f3 | ||
|
|
485d726fe0 | ||
|
|
542dc0b4ee | ||
|
|
2997484367 | ||
|
|
6a295859ab | ||
|
|
9039c830e3 | ||
|
|
d8f9f14290 | ||
|
|
ea42597fd9 | ||
|
|
6886239c35 | ||
|
|
358d0b7742 | ||
|
|
615f299690 | ||
|
|
7210b5e3fe | ||
|
|
594230b862 | ||
|
|
89839ec5f8 | ||
|
|
a1bc654167 | ||
|
|
f1de09eccc | ||
|
|
2242c8e149 | ||
|
|
7deaad58f7 | ||
|
|
d2665d9a94 | ||
|
|
7d0b263b40 | ||
|
|
20fd0c144f | ||
|
|
4a2066f02a | ||
|
|
4a00a72366 | ||
|
|
3890131f52 | ||
|
|
80b8d674c4 | ||
|
|
9f7f87d201 | ||
|
|
9af73489fe | ||
|
|
d42263fe79 | ||
|
|
f11c3691df | ||
|
|
4e15a9f2d7 | ||
|
|
547ff1b2a0 | ||
|
|
91d403c5c7 | ||
|
|
08a20e4b1c | ||
|
|
6e5dd776df | ||
|
|
605ced76b6 | ||
|
|
ffcc462ae4 | ||
|
|
5e4a230c1b | ||
|
|
1a45767b9e | ||
|
|
0296ca7a23 | ||
|
|
dad8362e30 | ||
|
|
2772265e42 | ||
|
|
00ea546d19 | ||
|
|
33101b86f3 | ||
|
|
44c3bf6146 | ||
|
|
be2dafd33d | ||
|
|
88c28f28a9 | ||
|
|
9603cbd42b | ||
|
|
980d8e5fd8 | ||
|
|
bb48c9103a | ||
|
|
c4a8e5466a | ||
|
|
ec2a0f8016 | ||
|
|
a8f5b2cccf | ||
|
|
98f4dadc28 | ||
|
|
4029d3bd1b | ||
|
|
add882214d | ||
|
|
77610dbea2 | ||
|
|
9d862f5dfe | ||
|
|
95eedcf1f5 | ||
|
|
e3fa242137 | ||
|
|
e80472ec3c | ||
|
|
6b716421c0 | ||
|
|
59e810ed10 | ||
|
|
4d7e7bfc8d | ||
|
|
8839dde1d7 | ||
|
|
11aa811898 | ||
|
|
e9c051fb3f | ||
|
|
52b32c38bc | ||
|
|
c8734d2c0f | ||
|
|
9282e2d5a8 | ||
|
|
8c5feff31d | ||
|
|
4b75403aeb | ||
|
|
4c92a8ada1 | ||
|
|
b8c1692b5a | ||
|
|
ee3458cb62 | ||
|
|
813ea4395f | ||
|
|
0e5dc2e4cd | ||
|
|
de5aa61d4b | ||
|
|
f4b500f335 | ||
|
|
abf8c1ce81 | ||
|
|
1b1d957193 | ||
|
|
a4852d441a | ||
|
|
430c9424c4 | ||
|
|
7b83a813e2 | ||
|
|
19792f4968 | ||
|
|
5da008576f | ||
|
|
c9655deca0 | ||
|
|
30e955f18a | ||
|
|
2c58174f22 | ||
|
|
71dd6298ac | ||
|
|
1292ace4c7 | ||
|
|
8b12040baf | ||
|
|
e675a29ea4 | ||
|
|
fa143c8c27 | ||
|
|
31aba242c8 | ||
|
|
a8f326c190 | ||
|
|
fac869e6c2 | ||
|
|
3a032c3e6e | ||
|
|
4a5a0e4e11 | ||
|
|
329a95f00f | ||
|
|
df820e9a75 | ||
|
|
8d7fd553cb | ||
|
|
94de8ad447 | ||
|
|
f15b1cc525 | ||
|
|
7fd4ee5de2 | ||
|
|
fcee855cc6 | ||
|
|
a8c9c30a18 | ||
|
|
92fd7a2088 | ||
|
|
a581f2f710 | ||
|
|
aba7189986 | ||
|
|
3604af6f0b | ||
|
|
0d8bfc1aa7 | ||
|
|
4e8002f241 | ||
|
|
f43b8ffd6d | ||
|
|
a44d84ff7d | ||
|
|
dc81d5e5a9 | ||
|
|
a4be7ebc33 | ||
|
|
eae992605c | ||
|
|
280a3390f7 | ||
|
|
fb50bd5100 | ||
|
|
0262136228 | ||
|
|
2f6b3164bd | ||
|
|
0b89c36a5e | ||
|
|
e1c50e7c7b | ||
|
|
b59b6383c1 | ||
|
|
bf7eecf4dc | ||
|
|
f32db365cf | ||
|
|
362983720e | ||
|
|
9e3eecb712 | ||
|
|
3388db67b1 | ||
|
|
67bb3d0e4d | ||
|
|
e0cc38ef0d | ||
|
|
17c3062794 | ||
|
|
d482afe3a5 | ||
|
|
cf8c1e8bf2 | ||
|
|
5a22c270d8 | ||
|
|
3ba1ab2af8 | ||
|
|
6be77e85fd | ||
|
|
9e8c3ad293 | ||
|
|
0a37a2c014 | ||
|
|
0dea8972b4 | ||
|
|
2a641cb249 | ||
|
|
5a3203ee14 | ||
|
|
bbae57eb42 | ||
|
|
576d890b32 | ||
|
|
8c6e5f154d | ||
|
|
354c64ebbc | ||
|
|
8e048eb85f | ||
|
|
7eb909b090 | ||
|
|
9df99d1ab8 | ||
|
|
0c2eecb41c | ||
|
|
46466f98ec | ||
|
|
7a90f2597c | ||
|
|
d6bdcfe34b | ||
|
|
de9326f9d1 | ||
|
|
8000aa6560 | ||
|
|
17dfff7a14 | ||
|
|
a17bd64a92 | ||
|
|
baf2a13065 | ||
|
|
b976580765 | ||
|
|
dfed574540 | ||
|
|
4b7f3c3779 | ||
|
|
7d5aae3b61 | ||
|
|
a25841d579 | ||
|
|
86f24f6c9a | ||
|
|
665fab9fce | ||
|
|
d0c542c596 | ||
|
|
615bae0e77 | ||
|
|
338e4a4bf7 | ||
|
|
88cf1df550 | ||
|
|
2e59026907 | ||
|
|
9842044719 | ||
|
|
2ac7282838 | ||
|
|
d60bc74c80 | ||
|
|
1212967f80 | ||
|
|
b55e6d6521 | ||
|
|
017ff45d6a | ||
|
|
ed58194244 | ||
|
|
5c242ee485 | ||
|
|
e155ff6194 | ||
|
|
602b16a7cc | ||
|
|
13d38e5373 | ||
|
|
1074fe59a0 | ||
|
|
626d3a42d9 | ||
|
|
151bbcc6df | ||
|
|
d71e7026dc | ||
|
|
91efde5e8b | ||
|
|
2c2fe52284 | ||
|
|
53ed3615ac | ||
|
|
391e3b054e | ||
|
|
441cf493eb | ||
|
|
21dfbc0526 | ||
|
|
550b66dc98 | ||
|
|
9ba5b6f0eb | ||
|
|
32b9bb0923 | ||
|
|
26b2414d63 | ||
|
|
15a93f2c15 | ||
|
|
fb1f51b96f | ||
|
|
f65c060b3f | ||
|
|
0e6e608a30 | ||
|
|
e95872b174 | ||
|
|
e8e5099d48 | ||
|
|
b7b14a130c | ||
|
|
b7c137358c | ||
|
|
9e30f3be6e | ||
|
|
822edf6d7d | ||
|
|
5557852793 | ||
|
|
77a8ee4995 | ||
|
|
59cae46e5e | ||
|
|
416b0b1f96 | ||
|
|
ae6d04f008 | ||
|
|
df9cbd23be | ||
|
|
f485e051cf | ||
|
|
37d7b3c2dc | ||
|
|
8576a4d053 | ||
|
|
bcbf8110ff | ||
|
|
6fabf85f28 | ||
|
|
dab7c0fcb2 | ||
|
|
bd6f2e7b5a | ||
|
|
4a6bffd214 | ||
|
|
793673c9dd | ||
|
|
6f57df3acd | ||
|
|
82f1fc6c14 | ||
|
|
8fde09023b | ||
|
|
fbc2aa29e3 | ||
|
|
3dd79eccc8 | ||
|
|
78a4402895 | ||
|
|
78e78e4fc9 | ||
|
|
4bb3b31f49 | ||
|
|
2226f282ab | ||
|
|
d8c47d1098 | ||
|
|
a97d1ad692 | ||
|
|
9bf236087f | ||
|
|
88a046ced4 | ||
|
|
2358184cde | ||
|
|
3e2b7bd767 | ||
|
|
c0646ba655 | ||
|
|
236cd7203f | ||
|
|
d567cac297 | ||
|
|
ebacb500e1 | ||
|
|
fbeed5abd7 | ||
|
|
bce24ba883 | ||
|
|
8c636e125f | ||
|
|
0d1d7bc43f | ||
|
|
7ff50a0b7d | ||
|
|
db32595c35 | ||
|
|
9d39d512e0 | ||
|
|
93601061c6 | ||
|
|
4c79a84a35 | ||
|
|
58813bff74 | ||
|
|
1c674cb3a6 | ||
|
|
eac07eefae | ||
|
|
71febac6ba | ||
|
|
b889ebcdc0 | ||
|
|
6fbc52c0de | ||
|
|
f6963757d8 | ||
|
|
7c349c9795 | ||
|
|
981adfc3c0 | ||
|
|
3e535afe67 | ||
|
|
1af8932452 | ||
|
|
f3d1d66ec3 | ||
|
|
f76e629a40 | ||
|
|
88691e9066 | ||
|
|
a74a323571 | ||
|
|
8a120c218c | ||
|
|
c1343a2de7 | ||
|
|
021622edd8 | ||
|
|
a2cc8956ec | ||
|
|
04d2b25a5c | ||
|
|
9b013b0f23 | ||
|
|
33d95e284a | ||
|
|
58a38f0cb8 | ||
|
|
3b4a7dc0f3 | ||
|
|
31739f1b7f | ||
|
|
8690e133b9 | ||
|
|
d2daf0421a | ||
|
|
a128699419 | ||
|
|
fd7269b55e | ||
|
|
45331596dc | ||
|
|
36a6471f6c | ||
|
|
02ef2dc415 | ||
|
|
a05dc178c7 | ||
|
|
50ac6630af | ||
|
|
89ff67a5e2 | ||
|
|
0fa175b5e7 | ||
|
|
22029606b4 | ||
|
|
9e48c66ba0 | ||
|
|
189e3f9f1f | ||
|
|
f4d1f645b3 | ||
|
|
36b684561a | ||
|
|
83c41c0ce7 | ||
|
|
35122b2e0d | ||
|
|
0808e059e7 | ||
|
|
aefd67acd3 | ||
|
|
62ef08af08 | ||
|
|
8eef64958c | ||
|
|
9ebeec0660 | ||
|
|
ba2c6b6b20 | ||
|
|
2e1174170f | ||
|
|
2d6aa40c5e | ||
|
|
739b406305 | ||
|
|
bb79f47884 | ||
|
|
b4db858c75 | ||
|
|
427c113d9e | ||
|
|
9ad784babe | ||
|
|
7211ddc00d | ||
|
|
aacf742ab6 | ||
|
|
2d19f6c009 | ||
|
|
f50c82d585 | ||
|
|
3210086da7 | ||
|
|
2cc68f5ffd | ||
|
|
d0fa733300 | ||
|
|
57359fdc5e | ||
|
|
902635e523 | ||
|
|
54ff3638c3 | ||
|
|
ec960df7ca | ||
|
|
dd47831135 | ||
|
|
d376f6f8cd | ||
|
|
b99e91744a | ||
|
|
a04a4fd28e | ||
|
|
6e3467f3ce | ||
|
|
aa0f95eaee | ||
|
|
5ca0e2609f | ||
|
|
793c3623ef | ||
|
|
cfb27ed196 | ||
|
|
ecf7dfbbe2 | ||
|
|
a57fd80f18 | ||
|
|
e5a0480cca | ||
|
|
6583b247c2 | ||
|
|
a36aadd408 | ||
|
|
f123a648de | ||
|
|
ff10f9a0f8 | ||
|
|
dbabe3292a | ||
|
|
669f979936 | ||
|
|
b4a0bd3fa5 | ||
|
|
aed28852e0 | ||
|
|
33f2c1afe7 | ||
|
|
9f2d73a991 | ||
|
|
0f64594905 | ||
|
|
0227e08799 | ||
|
|
adba260aba | ||
|
|
bc314f1eef | ||
|
|
5f238ab36d | ||
|
|
a4e61a7963 | ||
|
|
c92eaf099a | ||
|
|
7048199308 | ||
|
|
68a223122a | ||
|
|
ef0fb2d28e | ||
|
|
0de2815f2c | ||
|
|
fe74ec7791 | ||
|
|
b0e827a032 | ||
|
|
dd9234a09b | ||
|
|
0c26250aac | ||
|
|
635437d701 | ||
|
|
ef13e7a1c6 | ||
|
|
27a8df8471 | ||
|
|
f8a69489a1 | ||
|
|
da4cf7eaf7 | ||
|
|
3960286d25 | ||
|
|
b6a520ccaa | ||
|
|
716b91615e | ||
|
|
7f35a1e78a | ||
|
|
b5a9356e70 | ||
|
|
c5c63044bc | ||
|
|
3eac6d4ad0 | ||
|
|
93bcf41ead | ||
|
|
2f72d0c0ab | ||
|
|
4e976b8c4d | ||
|
|
f3039ffa48 | ||
|
|
d5e3e4d2c9 | ||
|
|
e80a2e5a45 | ||
|
|
1a1c501a31 | ||
|
|
cbe59c67d9 | ||
|
|
15fd10f73b | ||
|
|
c8c2c6222c | ||
|
|
ab0f905f6e | ||
|
|
89c19663c1 | ||
|
|
e3a3fa7f03 | ||
|
|
71f8cff235 | ||
|
|
33f46ed453 | ||
|
|
74367cf845 | ||
|
|
f96660cad7 | ||
|
|
2c26e6aa99 | ||
|
|
27db1c13f6 | ||
|
|
7a195d7f3c | ||
|
|
99c9b3b167 | ||
|
|
cb3543251e | ||
|
|
b4efb1aec1 | ||
|
|
5aed37f24a | ||
|
|
6c6cf50bf5 | ||
|
|
6368151e95 | ||
|
|
a0fd1f8401 | ||
|
|
191476173f | ||
|
|
a70a9f6ce3 | ||
|
|
11bfc958a8 | ||
|
|
b99f798fa1 | ||
|
|
f816b52faa | ||
|
|
402c4ae24b | ||
|
|
52ee40dbd9 | ||
|
|
b9f0ccb459 | ||
|
|
6f905192ff | ||
|
|
3024df8ab1 | ||
|
|
7a5dc4578f | ||
|
|
77afd8a493 | ||
|
|
dcf723646a | ||
|
|
86301a4a09 | ||
|
|
5644a53f46 | ||
|
|
c06508c247 | ||
|
|
cdf2e1707b | ||
|
|
a4d9a5d0fc | ||
|
|
f05e429000 | ||
|
|
1b1257a9cd | ||
|
|
00797aafa9 | ||
|
|
a1a6b220bd | ||
|
|
cc419c6f37 | ||
|
|
82d3a00316 | ||
|
|
891eeb1853 | ||
|
|
95c5bc52bd | ||
|
|
1a02ccdcce | ||
|
|
3c23dce23e | ||
|
|
85ad7236d6 | ||
|
|
ff13008865 | ||
|
|
ffd0512d58 | ||
|
|
1052052965 | ||
|
|
0f25567bde | ||
|
|
5727f0ef56 | ||
|
|
06f4d38bb5 | ||
|
|
7fa72fd85d | ||
|
|
acc2bb7d40 | ||
|
|
7cdaa5124e | ||
|
|
009a843b7c | ||
|
|
d6af5b17a2 | ||
|
|
7f49e17ed9 | ||
|
|
77dab129d9 | ||
|
|
e4d188c6da | ||
|
|
48dc668a43 | ||
|
|
76af15a3b1 | ||
|
|
a3d25c1c50 | ||
|
|
1ef4c08304 | ||
|
|
c637d15cd2 | ||
|
|
a874417485 | ||
|
|
1bf1a96527 | ||
|
|
83a42aaf06 | ||
|
|
715a25717c | ||
|
|
37c62baa86 | ||
|
|
0b67d1b32c | ||
|
|
bf253d684c | ||
|
|
2304bc6bab | ||
|
|
5cc8b447fb | ||
|
|
e83834e2f8 | ||
|
|
1cf1ef8fd0 | ||
|
|
0a5a2f67ba | ||
|
|
5761a4e36f | ||
|
|
70c94c4dba | ||
|
|
1256969338 | ||
|
|
3a877883ed | ||
|
|
76ea035e4e | ||
|
|
a8ab5de101 | ||
|
|
b2a0442b6b | ||
|
|
450fc42710 | ||
|
|
31ed54687b | ||
|
|
02c53ffdbe | ||
|
|
601aee8942 | ||
|
|
884208ada8 | ||
|
|
93e27af398 | ||
|
|
72f30da014 | ||
|
|
6c80bc1f65 | ||
|
|
d6d439bc0c | ||
|
|
29e4253e7a | ||
|
|
66ac78f734 | ||
|
|
07cf4b4cd5 | ||
|
|
508dbbde52 | ||
|
|
aeeebc03dc | ||
|
|
bf802e94f8 | ||
|
|
c503e2f777 | ||
|
|
0362be3e83 | ||
|
|
085f1a4bae | ||
|
|
7c26523288 | ||
|
|
7735d4641a | ||
|
|
1ba13fdbb2 | ||
|
|
3cb6e6d806 | ||
|
|
cac09415b8 | ||
|
|
d117da1dc3 | ||
|
|
921883d40f | ||
|
|
1745ce50a0 | ||
|
|
e272eb9dc5 | ||
|
|
8595f05cc9 | ||
|
|
534b04fb61 | ||
|
|
75d3d83204 | ||
|
|
c6cdc9729d | ||
|
|
f0b3b27253 | ||
|
|
86cb8d965b | ||
|
|
29b13ad094 | ||
|
|
368bee2991 | ||
|
|
23e21d3265 | ||
|
|
448a2dd9d2 | ||
|
|
671e553c47 | ||
|
|
e686590f61 | ||
|
|
a56fb198cf | ||
|
|
9091102bc4 | ||
|
|
80c309b21b | ||
|
|
defec8dd54 | ||
|
|
8c78eaa5c5 | ||
|
|
7ed190b1ac | ||
|
|
ae9e9260b7 | ||
|
|
26c628b0ca | ||
|
|
5b0e79c8e2 | ||
|
|
10e648b899 | ||
|
|
c3a25b049e | ||
|
|
86b1193408 | ||
|
|
1fb920e513 | ||
|
|
828de07964 | ||
|
|
1b737c1374 | ||
|
|
aa56ff1e9e | ||
|
|
7ad4b87c5d | ||
|
|
b6996ef86d | ||
|
|
807eea5713 | ||
|
|
8773a1e59b | ||
|
|
bbb4903003 | ||
|
|
2aab7bc381 |
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"extends": ["@commitlint/config-conventional"]
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
src/App/Utilities/YAML/Schema/
|
||||
*.js
|
||||
*.gen.tsx
|
||||
+484
@@ -0,0 +1,484 @@
|
||||
plugins:
|
||||
- "@typescript-eslint"
|
||||
- eslint-plugin-react
|
||||
- eslint-plugin-react-hooks
|
||||
parser: "@typescript-eslint/parser"
|
||||
parserOptions:
|
||||
ecmaVersion: 2020
|
||||
sourceType: module
|
||||
project: ./tsconfig.json
|
||||
ecmaFeatures:
|
||||
jsx: true
|
||||
env:
|
||||
commonjs: true
|
||||
node: true
|
||||
es6: true
|
||||
browser: true
|
||||
rules:
|
||||
# Possible errors
|
||||
for-direction: 2
|
||||
getter-return: 2
|
||||
no-async-promise-executor: 1
|
||||
no-compare-neg-zero: 1
|
||||
no-cond-assign: 2
|
||||
no-constant-condition: 2
|
||||
no-control-regex: 2
|
||||
no-debugger: 2
|
||||
no-duplicate-case: 2
|
||||
no-empty-character-class: 2
|
||||
no-ex-assign: 2
|
||||
no-inner-declarations: 1
|
||||
no-invalid-regexp: 2
|
||||
no-irregular-whitespace: 2
|
||||
no-misleading-character-class: 2
|
||||
no-prototype-builtins: 2
|
||||
no-regex-spaces: 2
|
||||
no-sparse-arrays: 2
|
||||
no-template-curly-in-string: 2
|
||||
no-unreachable: 2
|
||||
no-unsafe-finally: 2
|
||||
no-unsafe-negation: 2
|
||||
require-atomic-updates: 2
|
||||
use-isnan: 2
|
||||
|
||||
# Best Practices
|
||||
accessor-pairs: 2
|
||||
class-methods-use-this: 1
|
||||
# complexity: 2
|
||||
curly:
|
||||
- 2
|
||||
- all
|
||||
default-case: 2
|
||||
dot-location:
|
||||
- 2
|
||||
- property
|
||||
# dot-notation:
|
||||
# - 2
|
||||
# - allowKeywords: false
|
||||
eqeqeq: 2
|
||||
guard-for-in: 2
|
||||
no-alert: 2
|
||||
no-caller: 2
|
||||
no-case-declarations: 2
|
||||
no-div-regex: 2
|
||||
# no-else-return:
|
||||
# - 2
|
||||
# - allowElseIf: true
|
||||
# no-empty-function: 2
|
||||
no-empty-pattern: 2
|
||||
no-eq-null: 2
|
||||
no-eval: 2
|
||||
no-extend-native: 2
|
||||
no-extra-bind: 2
|
||||
no-extra-label: 2
|
||||
no-fallthrough: 2
|
||||
no-floating-decimal: 2
|
||||
no-global-assign: 2
|
||||
no-implicit-coercion:
|
||||
- 2
|
||||
- allow:
|
||||
- "!!"
|
||||
no-implied-eval: 2
|
||||
# no-invalid-this: 2
|
||||
no-iterator: 2
|
||||
no-labels: 2
|
||||
no-lone-blocks: 2
|
||||
no-loop-func: 2
|
||||
no-multi-spaces: 2
|
||||
no-multi-str: 2
|
||||
no-new: 2
|
||||
no-new-func: 2
|
||||
no-new-wrappers: 2
|
||||
no-octal: 2
|
||||
no-octal-escape: 2
|
||||
no-param-reassign: 2
|
||||
no-proto: 2
|
||||
no-redeclare: 0
|
||||
no-return-assign: 2
|
||||
no-script-url: 2
|
||||
no-self-assign: 2
|
||||
no-self-compare: 2
|
||||
no-throw-literal: 2
|
||||
no-unmodified-loop-condition: 2
|
||||
no-unused-labels: 2
|
||||
no-useless-call: 2
|
||||
no-useless-catch: 2
|
||||
no-useless-concat: 2
|
||||
no-useless-escape: 2
|
||||
no-useless-return: 2
|
||||
no-void: 2
|
||||
no-warning-comments: 1
|
||||
no-with: 2
|
||||
prefer-named-capture-group: 1
|
||||
prefer-promise-reject-errors: 2
|
||||
radix: 2
|
||||
require-unicode-regexp: 2
|
||||
wrap-iife: 2
|
||||
yoda: 2
|
||||
|
||||
# Variables
|
||||
init-declarations: 2
|
||||
no-delete-var: 2
|
||||
no-label-var: 2
|
||||
no-shadow: 0
|
||||
no-shadow-restricted-names: 2
|
||||
# no-undef: 2
|
||||
|
||||
# Stylistic Issues
|
||||
array-bracket-spacing:
|
||||
- 2
|
||||
- always
|
||||
array-element-newline:
|
||||
- 2
|
||||
- consistent
|
||||
block-spacing: 2
|
||||
# capitalized-comments: 2
|
||||
comma-dangle:
|
||||
- 2
|
||||
- arrays: always-multiline
|
||||
objects: always-multiline
|
||||
imports: always-multiline
|
||||
exports: always-multiline
|
||||
functions: only-multiline
|
||||
comma-style: 2
|
||||
computed-property-spacing: 2
|
||||
eol-last: 2
|
||||
func-name-matching: 2
|
||||
func-names: 2
|
||||
func-style:
|
||||
- 2
|
||||
- declaration
|
||||
- allowArrowFunctions: true
|
||||
function-call-argument-newline:
|
||||
- 2
|
||||
- consistent
|
||||
function-paren-newline:
|
||||
- 2
|
||||
- consistent
|
||||
jsx-quotes: 2
|
||||
key-spacing: 2
|
||||
keyword-spacing: 2
|
||||
line-comment-position: 2
|
||||
lines-around-comment:
|
||||
- 0
|
||||
# requires an empty line before block comments
|
||||
- beforeBlockComment: 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 \\{(.*?)\\}|^ \\* |^ *it ?\\(\"\\w+"
|
||||
max-statements-per-line: [2, { max: 2 }]
|
||||
multiline-ternary:
|
||||
- 2
|
||||
- always-multiline
|
||||
new-parens: 2
|
||||
newline-per-chained-call:
|
||||
- 2
|
||||
- ignoreChainWithDepth: 2
|
||||
no-bitwise: 2
|
||||
no-continue: 2
|
||||
no-inline-comments: 2
|
||||
no-lonely-if: 2
|
||||
no-mixed-operators:
|
||||
- 2
|
||||
- groups:
|
||||
- ["&", "|", "^", "~", "<<", ">>", ">>>"]
|
||||
- ["==", "!=", "===", "!==", ">", ">=", "<", "<="]
|
||||
- ["&&", "||"]
|
||||
- ["in", "instanceof"]
|
||||
allowSamePrecedence: true
|
||||
no-mixed-spaces-and-tabs: 2
|
||||
no-multi-assign: 2
|
||||
no-multiple-empty-lines: 2
|
||||
no-negated-condition: 2
|
||||
no-new-object: 2
|
||||
no-tabs: 2
|
||||
no-trailing-spaces: 2
|
||||
no-unneeded-ternary: 2
|
||||
nonblock-statement-body-position: 2
|
||||
# object-curly-newline:
|
||||
# - 2
|
||||
# - multiline: true
|
||||
object-curly-spacing:
|
||||
- 2
|
||||
- always
|
||||
operator-assignment: 2
|
||||
operator-linebreak:
|
||||
- 2
|
||||
- before
|
||||
- overrides:
|
||||
"=": ignore
|
||||
padded-blocks:
|
||||
- 2
|
||||
- blocks: never
|
||||
classes: never
|
||||
switches: never
|
||||
padding-line-between-statements:
|
||||
- 2
|
||||
- blankLine: always
|
||||
prev: "*"
|
||||
next: return
|
||||
prefer-object-spread: 2
|
||||
quote-props:
|
||||
- 2
|
||||
- as-needed
|
||||
semi-spacing: 2
|
||||
semi-style: 2
|
||||
space-before-blocks: 2
|
||||
space-in-parens: 2
|
||||
space-infix-ops:
|
||||
- 2
|
||||
- int32Hint: true
|
||||
space-unary-ops: 2
|
||||
spaced-comment: 2
|
||||
switch-colon-spacing: 2
|
||||
template-tag-spacing:
|
||||
- 2
|
||||
- always
|
||||
|
||||
# ECMAScript 6
|
||||
arrow-body-style: 2
|
||||
arrow-parens:
|
||||
- 2
|
||||
- as-needed
|
||||
arrow-spacing: 2
|
||||
constructor-super: 2
|
||||
generator-star-spacing:
|
||||
- 2
|
||||
- after
|
||||
no-class-assign: 2
|
||||
no-new-symbol: 2
|
||||
no-this-before-super: 2
|
||||
no-useless-computed-key: 2
|
||||
no-useless-rename: 2
|
||||
no-var: 2
|
||||
object-shorthand: 2
|
||||
prefer-arrow-callback: 2
|
||||
prefer-const: 2
|
||||
prefer-destructuring:
|
||||
- 2
|
||||
- object: true
|
||||
array: false
|
||||
prefer-numeric-literals: 2
|
||||
prefer-rest-params: 2
|
||||
prefer-spread: 2
|
||||
prefer-template: 2
|
||||
require-yield: 2
|
||||
rest-spread-spacing: 2
|
||||
# sort-imports:
|
||||
# - 2
|
||||
# - ignoreCase: true
|
||||
# ignoreMemberSort: true
|
||||
symbol-description: 2
|
||||
template-curly-spacing: 2
|
||||
yield-star-spacing:
|
||||
- 2
|
||||
- after
|
||||
|
||||
# TypeScript
|
||||
"@typescript-eslint/adjacent-overload-signatures": 2
|
||||
"@typescript-eslint/array-type": 2
|
||||
"@typescript-eslint/await-thenable": 2
|
||||
# "@typescript-eslint/class-name-casing": 2
|
||||
"@typescript-eslint/consistent-type-assertions": 2
|
||||
"@typescript-eslint/member-delimiter-style":
|
||||
- 2
|
||||
- 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
|
||||
"@typescript-eslint/no-misused-new": 2
|
||||
"@typescript-eslint/no-misused-promises": 2
|
||||
"@typescript-eslint/no-this-alias": 2
|
||||
"@typescript-eslint/no-unnecessary-type-arguments": 2
|
||||
"@typescript-eslint/no-unnecessary-type-assertion": 2
|
||||
"@typescript-eslint/prefer-for-of": 2
|
||||
"@typescript-eslint/prefer-includes": 2
|
||||
"@typescript-eslint/prefer-readonly": 2
|
||||
"@typescript-eslint/promise-function-async": 2
|
||||
# "@typescript-eslint/quotes": 2
|
||||
"@typescript-eslint/require-array-sort-compare": 2
|
||||
"@typescript-eslint/require-await": 2
|
||||
"@typescript-eslint/restrict-plus-operands": 2
|
||||
# "@typescript-eslint/semi":
|
||||
# - 2
|
||||
# - never
|
||||
"@typescript-eslint/strict-boolean-expressions": 2
|
||||
"@typescript-eslint/triple-slash-reference": 2
|
||||
"@typescript-eslint/type-annotation-spacing": 2
|
||||
# "@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-experimental":
|
||||
- 2
|
||||
- ignoredNamesRegex: "^_"
|
||||
"@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
|
||||
react/no-access-state-in-setstate: 2
|
||||
react/no-array-index-key: 2
|
||||
react/no-children-prop: 2
|
||||
react/no-danger: 2
|
||||
react/no-danger-with-children: 2
|
||||
react/no-deprecated: 2
|
||||
react/no-did-mount-set-state: 2
|
||||
react/no-did-update-set-state: 1
|
||||
react/no-direct-mutation-state: 2
|
||||
react/no-find-dom-node: 2
|
||||
react/no-is-mounted: 2
|
||||
# react/no-multi-comp: 2
|
||||
react/no-redundant-should-component-update: 2
|
||||
react/no-render-return-value: 2
|
||||
react/no-typos: 2
|
||||
react/no-string-refs: 2
|
||||
react/no-this-in-sfc: 2
|
||||
react/no-unescaped-entities: 2
|
||||
react/no-unsafe: 2
|
||||
react/no-unused-prop-types: 2
|
||||
react/no-unused-state: 2
|
||||
react/no-will-update-set-state: 2
|
||||
react/prefer-es6-class: 2
|
||||
react/prefer-stateless-function: 2
|
||||
react/react-in-jsx-scope: 2
|
||||
react/require-render-return: 2
|
||||
react/self-closing-comp: 2
|
||||
react/state-in-constructor:
|
||||
- 2
|
||||
- never
|
||||
react/style-prop-object: 2
|
||||
react/void-dom-elements-no-children: 2
|
||||
react/jsx-boolean-value:
|
||||
- 2
|
||||
- never
|
||||
react/jsx-child-element-spacing: 2
|
||||
react/jsx-closing-bracket-location:
|
||||
- 2
|
||||
- props-aligned
|
||||
react/jsx-closing-tag-location: 2
|
||||
react/jsx-curly-newline: 2
|
||||
react/jsx-curly-spacing: 2
|
||||
react/jsx-equals-spacing: 2
|
||||
react/jsx-first-prop-new-line: 2
|
||||
react/jsx-handler-names: 2
|
||||
# react/jsx-indent:
|
||||
# - 2
|
||||
# - 2
|
||||
react/jsx-indent-props:
|
||||
- 2
|
||||
- 2
|
||||
react/jsx-max-props-per-line:
|
||||
- 2
|
||||
- maximum: 3
|
||||
react/jsx-no-bind: 2
|
||||
react/jsx-no-comment-textnodes: 2
|
||||
react/jsx-no-literals: 2
|
||||
react/jsx-no-target-blank: 2
|
||||
react/jsx-one-expression-per-line:
|
||||
- 2
|
||||
- allow: single-child
|
||||
react/jsx-curly-brace-presence:
|
||||
- 2
|
||||
- props: never
|
||||
children: ignore
|
||||
react/jsx-fragments: 2
|
||||
react/jsx-pascal-case: 2
|
||||
react/jsx-props-no-multi-spaces: 2
|
||||
react/jsx-props-no-spreading: 2
|
||||
react/jsx-tag-spacing: 2
|
||||
react/jsx-wrap-multilines:
|
||||
- 2
|
||||
- declaration: parens-new-line
|
||||
assignment: parens-new-line
|
||||
return: parens-new-line
|
||||
arrow: parens-new-line
|
||||
condition: parens-new-line
|
||||
logical: parens-new-line
|
||||
prop: ignore
|
||||
|
||||
# React Hooks
|
||||
react-hooks/rules-of-hooks: 2
|
||||
react-hooks/exhaustive-deps: 2
|
||||
settings:
|
||||
react:
|
||||
version: detect
|
||||
@@ -0,0 +1,33 @@
|
||||
---
|
||||
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, 1.3.0-alpha.5]
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
||||
@@ -0,0 +1,20 @@
|
||||
---
|
||||
name: Feature request
|
||||
about: Suggest an idea for this project
|
||||
title: ''
|
||||
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 [...]
|
||||
|
||||
**Describe the solution you'd like**
|
||||
A clear and concise description of what you want to happen.
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
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.
|
||||
@@ -0,0 +1,27 @@
|
||||
---
|
||||
name: New Book Data
|
||||
about: Implement a specific part of a (new) book
|
||||
title: 'Book: Section'
|
||||
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)
|
||||
|
||||
**Tables**
|
||||
> Delete Univ and change locale if necessary. Add specific entries if they could not be resolved.
|
||||
|
||||
- [ ] Univ
|
||||
- [ ] L10n de-DE
|
||||
|
||||
**Code**
|
||||
> List here what cannot be solved only using the tables. Example (in German):
|
||||
>
|
||||
> - [ ] Voraussetzungen Vorliebe I-II
|
||||
@@ -0,0 +1,27 @@
|
||||
---
|
||||
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.
|
||||
@@ -0,0 +1,10 @@
|
||||
---
|
||||
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,52 @@
|
||||
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 12.x
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 12.x
|
||||
- name: Install Node.js dependencies
|
||||
run: npm ci
|
||||
- name: Build ReasonML files
|
||||
run: npm run re:build
|
||||
- name: Build TypeScript files
|
||||
run: npm run js:build
|
||||
- name: Build Sass files
|
||||
run: npm run css:build
|
||||
- name: Build
|
||||
run: node ./deploy/build.js prerelease
|
||||
env:
|
||||
UPDATE_URL: ${{ secrets.UPDATE_URL }}
|
||||
- name: Deploy
|
||||
run: node ./deploy/deploy.js prerelease
|
||||
env:
|
||||
HOST: ${{ secrets.HOST }}
|
||||
USERNAME: ${{ secrets.USERNAME }}
|
||||
PASSWORD: ${{ secrets.PASSWORD }}
|
||||
ROOT: ${{ secrets.ROOT }}
|
||||
@@ -0,0 +1,52 @@
|
||||
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 12.x
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 12.x
|
||||
- name: Install Node.js dependencies
|
||||
run: npm ci
|
||||
- name: Build ReasonML files
|
||||
run: npm run re:build
|
||||
- name: Build TypeScript files
|
||||
run: npm run js:build
|
||||
- name: Build Sass files
|
||||
run: npm run css:build
|
||||
- name: Build
|
||||
run: node ./deploy/build.js stable
|
||||
env:
|
||||
UPDATE_URL: ${{ secrets.UPDATE_URL }}
|
||||
- name: Deploy
|
||||
run: node ./deploy/deploy.js stable
|
||||
env:
|
||||
HOST: ${{ secrets.HOST }}
|
||||
USERNAME: ${{ secrets.USERNAME }}
|
||||
PASSWORD: ${{ secrets.PASSWORD }}
|
||||
ROOT: ${{ secrets.ROOT }}
|
||||
@@ -0,0 +1,51 @@
|
||||
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 14.x
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 14.x
|
||||
- name: Install Node.js dependencies
|
||||
run: npm ci
|
||||
- run: npm run re:build
|
||||
- run: npm run ts:build
|
||||
- run: npm test
|
||||
env:
|
||||
CI: true
|
||||
lint:
|
||||
name: Lint
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
token: ${{ secrets.ACCESS_TOKEN }}
|
||||
submodules: true
|
||||
- name: Use Node.js 12.x
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 12.x
|
||||
- name: Install Node.js dependencies
|
||||
run: npm ci
|
||||
- run: npm run lint
|
||||
env:
|
||||
CI: true
|
||||
+26
-3
@@ -1,9 +1,32 @@
|
||||
_opam
|
||||
node_modules/
|
||||
npm-debug.log*
|
||||
.vs/
|
||||
.vscode/
|
||||
/data/
|
||||
~$TDE5.xlsx
|
||||
~$TDE5*
|
||||
/dist/
|
||||
.rpt2_cache/
|
||||
.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
|
||||
*.map
|
||||
publishSettings.json
|
||||
**/*.bs.js
|
||||
|
||||
.env*
|
||||
|
||||
Tables.zip
|
||||
tables/
|
||||
deploy/tablesSrc.json
|
||||
/_esy
|
||||
/esy.lock
|
||||
/lib/bs/
|
||||
.merlin
|
||||
.bsb.lock
|
||||
*.tsbuildinfo
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
[submodule "app/Database"]
|
||||
path = src/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
+24
@@ -0,0 +1,24 @@
|
||||
<component name="libraryTable">
|
||||
<library name="Bucklescript" type="javaScript">
|
||||
<properties>
|
||||
<sourceFilesUrls>
|
||||
<item url="file://$PROJECT_DIR$/node_modules/@glennsl/bs-jest" />
|
||||
<item url="file://$PROJECT_DIR$/node_modules/@glennsl/bs-json" />
|
||||
<item url="file://$PROJECT_DIR$/node_modules/bs-fetch" />
|
||||
<item url="file://$PROJECT_DIR$/node_modules/bs-webapi" />
|
||||
<item url="file://$PROJECT_DIR$/node_modules/reason-react" />
|
||||
<item url="file://$PROJECT_DIR$/node_modules/reductive" />
|
||||
</sourceFilesUrls>
|
||||
</properties>
|
||||
<CLASSES>
|
||||
<root url="file://$PROJECT_DIR$/node_modules/@glennsl/bs-jest" />
|
||||
<root url="file://$PROJECT_DIR$/node_modules/@glennsl/bs-json" />
|
||||
<root url="file://$PROJECT_DIR$/node_modules/bs-fetch" />
|
||||
<root url="file://$PROJECT_DIR$/node_modules/bs-webapi" />
|
||||
<root url="file://$PROJECT_DIR$/node_modules/reason-react" />
|
||||
<root url="file://$PROJECT_DIR$/node_modules/reductive" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</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
+7
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
<mapping directory="$PROJECT_DIR$/src/Database" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
@@ -0,0 +1,2 @@
|
||||
break-infix-before-func = true
|
||||
break-collection-expressions = wrap
|
||||
@@ -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
+56
@@ -0,0 +1,56 @@
|
||||
{
|
||||
// Place your TDE app files workspace snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and
|
||||
// description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope
|
||||
// is left empty or omitted, the snippet gets applied to all languages. The prefix is what is
|
||||
// used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
|
||||
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders.
|
||||
// Placeholders with the same ids are connected.
|
||||
// Example:
|
||||
// "Print to console": {
|
||||
// "scope": "javascript,typescript",
|
||||
// "prefix": "log",
|
||||
// "body": [
|
||||
// "console.log('$1');",
|
||||
// "$2"
|
||||
// ],
|
||||
// "description": "Log output to console"
|
||||
// }
|
||||
"Print a indented Show to console": {
|
||||
"scope": "javascript,typescript,javascriptreact,typescriptreact",
|
||||
"prefix": "lshow",
|
||||
"body": [
|
||||
"console.log (showP ($1))"
|
||||
],
|
||||
"description": "Print the result of passing a value to `showP`, which properly indents the stringified value, to the console."
|
||||
},
|
||||
"TypeScript FP JSDoc template": {
|
||||
"scope": "javascript,typescript,javascriptreact,typescriptreact",
|
||||
"prefix": "fpdoc",
|
||||
"body": [
|
||||
"/**",
|
||||
" * ```haskell",
|
||||
" * $1",
|
||||
" * ```",
|
||||
" *",
|
||||
" * $2",
|
||||
" */$0"
|
||||
],
|
||||
"description": "Generates a FP JSDoc template."
|
||||
},
|
||||
"Maybe Type": {
|
||||
"scope": "javascript,typescript,javascriptreact,typescriptreact",
|
||||
"prefix": "myb",
|
||||
"body": [
|
||||
"Maybe<$1>$0"
|
||||
],
|
||||
"description": "Maybe Type"
|
||||
},
|
||||
"Record Type": {
|
||||
"scope": "javascript,typescript,javascriptreact,typescriptreact",
|
||||
"prefix": "rec",
|
||||
"body": [
|
||||
"Record<$1>$0"
|
||||
],
|
||||
"description": "Record Type"
|
||||
},
|
||||
}
|
||||
Vendored
+37
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Electron: Debug Main",
|
||||
"type": "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
+27
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"typescript.tsdk": "node_modules\\typescript\\lib",
|
||||
"typescript.preferences.quoteStyle": "double",
|
||||
"javascript.preferences.quoteStyle": "double",
|
||||
"files.exclude": {
|
||||
"**/.git": true,
|
||||
"**/.svn": true,
|
||||
"**/.hg": true,
|
||||
"**/CVS": true,
|
||||
"**/.DS_Store": true,
|
||||
"**/*.js.map": true
|
||||
},
|
||||
"eslint.validate": [
|
||||
"typescript",
|
||||
"typescriptreact"
|
||||
],
|
||||
"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,
|
||||
"[ocaml]": {
|
||||
"editor.formatOnSave": true
|
||||
},
|
||||
"[rescript]": {
|
||||
"editor.formatOnSave": true
|
||||
}
|
||||
}
|
||||
Vendored
+41
@@ -0,0 +1,41 @@
|
||||
{
|
||||
// See https://go.microsoft.com/fwlink/?LinkId=733558
|
||||
// for the documentation about the tasks.json format
|
||||
"version": "2.0.0",
|
||||
"presentation": {
|
||||
"reveal": "always"
|
||||
},
|
||||
"tasks": [
|
||||
{
|
||||
"label": "re:watch",
|
||||
"type": "shell",
|
||||
"command": "npm run re:watch",
|
||||
"group": "build",
|
||||
"isBackground": true,
|
||||
"problemMatcher": [],
|
||||
"presentation": {
|
||||
"group": "watchers"
|
||||
}
|
||||
},
|
||||
{
|
||||
"label": "ts:watch",
|
||||
"type": "typescript",
|
||||
"tsconfig": "tsconfig.json",
|
||||
"option": "watch",
|
||||
"isBackground": true,
|
||||
"problemMatcher": [
|
||||
"$tsc-watch"
|
||||
],
|
||||
"group": "build",
|
||||
"presentation": {
|
||||
"group": "watchers"
|
||||
}
|
||||
},
|
||||
{
|
||||
"label": "watch",
|
||||
"dependsOn": ["re:watch", "ts:watch"],
|
||||
"group": "build",
|
||||
"problemMatcher": []
|
||||
},
|
||||
]
|
||||
}
|
||||
@@ -1,2 +1 @@
|
||||
Lukas Obermann <lukas.obermann@live.de>
|
||||
Thore Schuchardt <schuchi@dsa-sh.de>
|
||||
Lukas Obermann <lukas.obermann@outlook.de>
|
||||
|
||||
+789
@@ -0,0 +1,789 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
||||
|
||||
## [1.4.2](https://github.com/elyukai/optolith-client/compare/v1.4.1...v1.4.2) (2020-11-08)
|
||||
|
||||
### 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](https://github.com/elyukai/optolith-client/compare/v1.4.0...v1.4.1) (2020-09-28)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Italian was not available.
|
||||
|
||||
## [1.4.0](https://github.com/elyukai/optolith-client/compare/v1.3.2...v1.4.0) (2020-09-28)
|
||||
|
||||
### 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](https://github.com/elyukai/optolith-client/compare/v1.3.1...v1.3.2) (2020-05-06)
|
||||
|
||||
### 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](https://github.com/elyukai/optolith-client/compare/v1.3.0...v1.3.1) (2020-03-03)
|
||||
|
||||
### 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](https://github.com/elyukai/optolith-client/compare/v1.2.0...v1.3.0) (2020-03-03)
|
||||
|
||||
### 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](https://github.com/elyukai/optolith-client/compare/v1.1.2...v1.2.0) (2019-12-12)
|
||||
|
||||
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.
|
||||
|
||||
### New Features
|
||||
|
||||
- Dutch localization (including Core Rules)
|
||||
- **Aventuria Compendium I** English localization
|
||||
- **Magic of Aventuria I** English localization
|
||||
- **The Warring Kingdoms** English localization
|
||||
- **Armory of The Warring Kingdoms** English localization
|
||||
- **Aventuria Armory I** English localization
|
||||
- **Aventuria Bestiary I** English localization
|
||||
- **Inns & Taverns** English localization
|
||||
|
||||
### Enhancements
|
||||
|
||||
- Shields are usually not used as the primary weapon, so the doubled PA bonus is now used on character sheet.
|
||||
- Improved Dodge I–III should not modify DO value as this should only happen when the hero does not wear armor.
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Does not increase DO by 2 or 4 but 1 or 2 when optional rule *Higher Parade Values* is active.
|
||||
- Disadvantage *Bad Luck I-III* did not decrease FtP on character sheet.
|
||||
- Window for permanent loss of LP/AE/KP is now closable.
|
||||
- Disadvantage *Stigma (Green Hair)* now makes the hair color green.
|
||||
- Preview of images only displayed .jpg, no .png.
|
||||
- Native Tongue (NT) cannot be selected as a level for languages.
|
||||
- App close button did not work.
|
||||
- Removed error message on import/export cancellation.
|
||||
- *Personality Flaw*: It is now possible to buy as many Prejudices/Unworldly's as you like.
|
||||
- Required attribute values for professions were not ensured.
|
||||
- SA *Property Knowledge* did not work and had wrong AP cost.
|
||||
- Demigods were not available as applications for *Religions* skill.
|
||||
- Rerolling weight without a set size did not reroll both but instead used 0 as size.
|
||||
- Wrong carrying capacity when STR was 8.
|
||||
- CT adjustments in profession variants are not displayed correctly.
|
||||
- The default file name in the save dialog for the PDF now is the hero's name.
|
||||
- Unfamiliar Spells maximum was still active after finishing hero creation.
|
||||
- Hide characters where the version of them is not supported.
|
||||
- When selecting a spell for Tradition Guild Mage, General spells are now hidden.
|
||||
- The selected locale (of a hero) was not saved.
|
||||
- Pacts were not saved.
|
||||
- Wrong column names on chants sheet.
|
||||
- Protective/Wardings Circles are not correctly displayed.
|
||||
- Disadvantage *Incompetent* disallows Advantage *Aptitude* completely instead of only disallowing the corresponding skill option.
|
||||
- Primary Attribute maximum for Combat Techniques not working.
|
||||
- Weight Ratio of Head and Torso in Hit Zone Armor flipped.
|
||||
|
||||
## 1.1.0/[1.1.1](https://github.com/elyukai/optolith-client/compare/v1.0.3...v1.1.1)/[1.1.2](https://github.com/elyukai/optolith-client/compare/v1.1.1...v1.1.2) (2018-08-06)
|
||||
|
||||
*The exact version number of the app is 1.1.2.*
|
||||
|
||||
After more than one year a big update is finally coming—even though you probably won’t notice it: Optolith got a completely new code. This is accompanied by an internal restructuring, so that features like groups will be possible in the future. This is the biggest change, but not the only one: All reported bugs are fixed and over the last two weeks my testers found several bugs, which are also fixed here.
|
||||
|
||||
You will probably notice that Optolith takes a few seconds longer to load than before. This is because I rebuilt Optolith with the basic idea that it runs more stable. So I do checks during loading to make sure that all data that is loaded really looks as expected and so that nothing unexpected and unintentional, caused by wrong tables or other wrong data in the program, happens. The start performance is definitely going to be improved, but for now I prefer a more stable program to a fast one; after all this is only about starting the program, the performance during use is not affected.
|
||||
|
||||
Last but not least a big thank you to you, for your patience and all your feedback and further help, without which I would not have been able to fix all those bugs. Although new rules have not yet made it into this version, and the next version won’t contain all new ones, Optolith will be able to get up to date more quickly than before.
|
||||
|
||||
But now it’s time for the changelog of this version:
|
||||
|
||||
### New Features
|
||||
|
||||
- Heroes can now be saved from the hero list.
|
||||
- Avatars of heroes and pets can now be deleted.
|
||||
|
||||
### Enhancements
|
||||
|
||||
- Select option lists are now filtered by activated books. Previously, that only worked for main lists like special abilities, but now it works for all list, for example the list of trade secrets.
|
||||
- Wiki entry lists cannot be filtered by specific books, neither can the wiki entry text in opened heroes. This will be implemented later!
|
||||
- Unfamiliar spells are now going to be highlighted in red (just like uncommon advantages).
|
||||
- Searching for professions now includes profession variants.
|
||||
- The space for languages on the character sheet is now twice as large.
|
||||
- When adding advantages or disadvantages, AP spent on advantages as well as on disadvantages will always be shown.
|
||||
- Shields on character sheet are now listed as a weapon as well as a shield.
|
||||
- Wiki texts are now selectable.
|
||||
- For *Tradition (Guild Mage)*, you need to set a specific unfamiliar spell. **For an already activated SA, you can to the via the *Rules* tab. Please set the spell, because it is needed for upcoming books!**
|
||||
- To be able to better handle differences between languages in terms of rules, heroes are now saving the languages they were created in. **For already created heroes, the creation language will be set to the current UI language. To change that, you need to switch to the *Rules* tab! Please check it, because it is going to be relevant in future versions!**
|
||||
- The term for generating random weight and size of the hero is now shown above the respective input field.
|
||||
- The dialog shown on application quit if there are unsaved actions is now clearer and shows three buttons for all three possible options.
|
||||
- Text on character sheet is now selectable. This option is not useful for copying the complete character sheet as the layout is not preserved properly.
|
||||
- Added FAQ entry on how to add LP/AE/KP.
|
||||
- If you open a wiki entry when a character is open, the respective list item is highlighted just like they are in the wiki.
|
||||
- The maximum available AP that can be left when finishing hero creation phase is now always 10 AP, no matter whether you are in editing mode or not.
|
||||
- Added *Uses* for skills.
|
||||
- For skills where it is not 100% clear whether encumbrance is relevant or not, the full description when it is relevant and when it is not is now shown instead of „maybe“.
|
||||
- The separate entries for advantage *Exceptional Sense* and disadvantage *Restricted Sense* are now joined.
|
||||
- *Additional sources* lists sources from which the entry gets its select options. For example, SA *Trade Secrets* not only shows the source for the base SA, but also the different trade secret sources from all the different books.
|
||||
- Analogous to the Raven’s Beaks blessed variant, there’s now a mundane variant available, too. It costs 90 S. There’s no difference between the two versions except for *blessed/mundane*.
|
||||
- For Staff Enchantments, *Binding of the Staff* as a prerequisite is now hidden (because it is hidden in Core Rules, too).
|
||||
- Finishing RCP selection can now be undone.
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- After switching from German to English, heroes could not be edited anymore.
|
||||
- Special Abilities can now be sorted by group again.
|
||||
- Liturgical chant traditions and aspects are now sorted alphabetically.
|
||||
- Maxima of skills and combat techniques are now also influenced by skill check attributes or primary attributes during character creation phase.
|
||||
- Yellow-highlighted advantages/disadvantages are now explained in the legend on the left.
|
||||
- A spell or chant from a base profession removed by a profession variant now removes the entry entirely instead of activating it on SR 0.
|
||||
- Images are now shown on Linux again.
|
||||
- Automatic advantages cost 0 AP so that race AP cost are correct now.
|
||||
- Sorting equipment by group does not result in an error anymore.
|
||||
- Avatars of pets are now exported as well when exporting the character.
|
||||
- Details of spells and chants are shown on character sheet again.
|
||||
- The prerequisite Race, culture, or profession must have \[...] as an automatic or suggested \[advantage/disadvantage]“ now also includes automatic advantages if they are removed.
|
||||
- Pet layout on character sheet should work again.
|
||||
- The PDF does not include a scroll bar anymore.
|
||||
- Protective/Warding circles are now shown on character sheet.
|
||||
- Lowering attributes in editing mode takes added LP/AE/KP into account and restricts lowering if needed.
|
||||
- Sometimes, instead of a value, for example in *Enforce Honor 6*, `null` was shown in the wiki entry for professions, so it was actually *Ehrenhaftigkeit null*.
|
||||
- Sometimes, the value of a entry in a profession, changed by a profession variant, was increased by 6. For example, Knight: *Etiquette 2 instead of 12* actually is *Etiquette 2 instead of 6*.
|
||||
- Combat Style Special Abilities now show their type (passive/base maneuver/special maneuver) in wiki again.
|
||||
- Sorting spells by group now sorts the groups alphabetically.
|
||||
- When EL *Inexperienced* is selected and you got SA *Tradition (Guild Mage)*, you can now also buy and increase the selected unfamiliar spell (which is not unfamiliar anymore).
|
||||
- The select option list for SA *Tradition (Guild Mage)* does not list familiar spells anymore.
|
||||
- Disadvantage *Negative Trait (Stinginess)* and *(Wastefulness)* were not mutually exclusive.
|
||||
- Spells and chants are not included in disadvantage *Incompetent*. Heroes with those entries will get the disadvantage removed automatically.
|
||||
- SA *Aspect Knowledge* can now be added as expected.
|
||||
- SA *Property Knowledge* can now be added as expected.
|
||||
- SA *Precise Shot/Throw* had wrong attribute prerequisites.
|
||||
- Disadvantages *No Flying Balm* and *No Familiar* now correctly decrease the cost of SA *Tradition (Witch)* by 10 AP each.
|
||||
- SA *Tradition (Guild Mage)* is now taken into account for restrictions concerning unfamiliar spells (see the change to the SA listed above also).
|
||||
- *Disguise*, Encumbrance: Maybe → Yes.
|
||||
- *Etiquette*, Encumbrance: Maybe → No.
|
||||
- *Persuasion*: Skill check COU/INT/CHA → COU/SGC/CHA.
|
||||
- Wrong skill checks of spells:
|
||||
- *Magical Melody*: COU/SGC/CHA → COU/INT/CHA
|
||||
- *Song of Piece*: COU/SGC/INT → COU/INT/CHA
|
||||
- *Song of Sorrow*: COU/CHA/CHA → COU/INT/INT
|
||||
- Text missing which states that a special aspect of a spell cannot be modified:
|
||||
- MOTORICUS: Cost
|
||||
- WALL OF FOG: Cost
|
||||
- Missing skill check modifiers (SPI/TOU) added to spells.
|
||||
- ANALYZE ARCANE STRUCTURE: Casting time 2 actions → 32 actions.
|
||||
- KLARUM PURUM, Cost: 8 AE.
|
||||
- Wrong skill checks of liturgical chants:
|
||||
- *Minor Banishing Ray*: COU/SGC/CHA → COU/INT/CHA
|
||||
- *Enforce Honor*: COU/SGC/CHA → COU/INT/CHA
|
||||
- *Encourage*: COU/SGC/CHA → COU/INT/CHA
|
||||
- *Peaceful Aura*: COU/SGC/CHA → COU/INT/CHA
|
||||
- *Hand mirror* now lists the corresponding rule.
|
||||
- *Dog food, Horse feed, Pony feed*: Removed weight.
|
||||
- *Rope, climbing* now has a correct price.
|
||||
|
||||
## [1.0.3](https://github.com/elyukai/optolith-client/compare/v1.0.2...v1.0.3) (2018-05-05)
|
||||
|
||||
- Renamed Optolyth to Optolith to be in line with all other locations where the name occurs.
|
||||
|
||||
### Linux
|
||||
|
||||
- Fixed glibc-related issue.
|
||||
- Moved from tar.gz to AppImage to provide auto-update support.
|
||||
|
||||
## [1.0.2](https://github.com/elyukai/optolith-client/compare/v1.0.1...v1.0.2) (2018-04-16)
|
||||
|
||||
- Fixed issue with rendering list items of advantages/disadvantages/special abilities.
|
||||
- Fixed shortcuts being global.
|
||||
- Reloading a hero with `Stigma (Albino)` won’t change selected eye color anymore.
|
||||
|
||||
### macOS
|
||||
|
||||
- App now quits automatically on close.
|
||||
|
||||
### English Specific
|
||||
|
||||
- Fixed list of professions.
|
||||
|
||||
### German Specific
|
||||
|
||||
- Fixed typo in failed check description of skill "Driving".
|
||||
- Fixed attribute adjustment in attributes tab.
|
||||
- Fixed levels of required instances of `Principles` and `Obligations` of `Blessed One of Kor`.
|
||||
|
||||
## [1.0.1](https://github.com/elyukai/optolith-client/compare/v1.0.0...v1.0.1) (2018-04-08)
|
||||
|
||||
- Fixed special abilities tab.
|
||||
|
||||
## [1.0.0](https://github.com/elyukai/optolith-client/compare/v0.51.9...v1.0.0) (2018-04-08)
|
||||
|
||||
### 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
|
||||
|
||||
- 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
|
||||
|
||||
- Multiline texts are now multiline on character sheet.
|
||||
- If advantage *Stigma (Albino)* is purchased the (lists of available) hair and eye colors change.
|
||||
- AP cost for race are now shown in AP tooltip. AP cost for profession are shown only when RCP selection has not been approved.
|
||||
- Fixed converting older heroes to new version.
|
||||
- The text fields for size and weight are both updated on generating size or weight.
|
||||
- In profile overview now always shows the start EL. Before, the EL was calculated based on AP total.
|
||||
- Now you can select the source books to use in the very beginning of character creation.
|
||||
- Fixed prerequisites of *Cartography*.
|
||||
- Fixed list of liturgical chants.
|
||||
- Ignoring changes on close now closes the app. Before nothing happened ...
|
||||
- Fixed calculation of minimum/maximum liturgical chant SR.
|
||||
- Shortcuts!
|
||||
- `Ctrl+Z` => Undo
|
||||
- `Ctrl+Y` or `Ctrl+Shift+Z` => Redo
|
||||
- `Ctrl+O` => Show settings (only when dedicated button is available, too)
|
||||
- `Ctrl+S` => Save hero
|
||||
- `Ctrl+W` => Switches to list of heroes if a hero is currently opened (similar to the back button in the top left corner)
|
||||
- `Cmd+Q` => Close app (macOS)
|
||||
- Abbreviations for related source books are shown in the list of professions again.
|
||||
- Fixed importing heroes with images encoded in `jpg`.
|
||||
- Fixed editing automatic Area Knowledge in profile overview.
|
||||
- Fixed calculation total AP for disadvantage *Bad Habit*.
|
||||
- The *About ...* menu element is disabled if there is an open dialog window (macOS).
|
||||
- The AP cost for profession variants are now considered when calculating AP spent.
|
||||
- Activating spells is now disabled the limits of EL are reached.
|
||||
- Fixed showing separators when sorting spells or liturgical chants by group.
|
||||
- Fixed text fields in animal section of the character sheet breaking layout or showing up twice.
|
||||
- Fixed AP used for dis/advantages shown in window used for adding them. Remaining parts of the old AP system have been removed.
|
||||
- Fixed saving heroes (previously saved heroes are not currupted).
|
||||
- Fixed filters for list of races and list of professions.
|
||||
- Fixed calculating AP total for *Obligations/Priciples*.
|
||||
- Fixed showing damage info for weapons in wiki (if a weapon has no flat damage 1W6 instead of 1W60 is shown now).
|
||||
|
||||
### German Specific (in German)
|
||||
|
||||
#### New Features / Breaking Changes
|
||||
|
||||
- Unter Profil > Pakt kann nun ein Feenpakt eingetragen werden. Die Eingabe richtet sich genau nach den Regeln aus **Die Siebenwindküste** zu Feenpakten. Die Eingabe dort schaltet auch unter erfüllten Voraussetzungen Paktgeschenke frei.
|
||||
|
||||
#### Rules/Crunch
|
||||
|
||||
- Professionen aus **Aventurisches Götterwirken** und **Die Siebenwindküste** hinzugefügt.
|
||||
- Fehlende Berufsgeheimnisse aus **Rüstkammer der Streitenden Königreiche** und **Rüstkammer der Siebendwindküste** sowie **Aventurisches Bestiarium** hinzugefügt.
|
||||
- Fehlende Einträge für *Immunität gegen [Gift/Krankheit]* aus **Aventurisches Bestiarium**, **Aventurische Magie I** und **Kneipen & Tavernen** hinzugefügt.
|
||||
|
||||
#### Bug Fixes / Other
|
||||
|
||||
- Die Profession *Sangara* funktioniert wieder ordnungsgemäß.
|
||||
- Die AP-Kosten für *Tradition (Zauberbarde)* und *Tradition (Zaubertänzer)* werden beim Hinzufügen wieder korrekt angezeigt.
|
||||
- Liturgiestilsonderfertigkeiten, die es ermöglichen, Liturgien anderer Gottheiten zu erlernen, ermöglichen dieses Feature nun auch.
|
||||
- Die Tradition des Namenlosen Kultes wird im Wiki nun korrekt angezeigt.
|
||||
- Die Abhängigkeiten der Beschwörungs/Herbeirufungszauber werden nun in den FAQ behandelt.
|
||||
- Die Berechnung der Wundschwelle funktioniert wieder ordnungsgemäß.
|
||||
- Stilsonderfertigkeiten und dazugehörige Erweiterte SF können nun wieder ordnungsgemäß hinzugefügt und gelöscht werden.
|
||||
- Die Wundschwelle wird nun nur angezeit, wenn **Aventurisches Kompendium** verfügbar und aktiviert ist.
|
||||
- Die Reichweite für Waffen der Streitenden Königreiche wurde ergänzt.
|
||||
- Vor- und Nachteile für *Intuitive Zauberer* können wieder ordnungsgemäß erworben und verkauft werden.
|
||||
- Bei einigen Zaubern wurde die druidische oder scharlatanische Tradition ergänzt.
|
||||
|
||||
## [0.51.9](https://github.com/elyukai/optolith-client/compare/v0.51.8...v0.51.9) (2017-12-25)
|
||||
|
||||
- The AP tooltip (if you hover over the available AP of the currently opened character) now show how many AP you spent on which category of entries - how much you spent on spells, on special abilities, on disadvantages, on cantrips, on energies (LP, AE, KP) and so on.
|
||||
- I build a new AP system which dynamically calculates the AP. This means if there were or will be issues with calculated AP they will be fixed automatically by installing the patch that fixes this issue. (You still have to open the character and save it, though).
|
||||
- Fixed AP value calculation of *Skill Specialization (Skill)*.
|
||||
- Lists belonging to a hero (active special abilities, inactive special abilities, skills, professions and so on) now show a placeholder element when the respective list is empty.
|
||||
- Slightly improved performance.
|
||||
- Improved displaying numbers in some areas.
|
||||
- You can now activate or deactivate if you want to see animations or not throught the settings window.
|
||||
- Wiki lists now display levels if available (example: `Rich I-X` instead of `Rich`).
|
||||
|
||||
### German Specific
|
||||
|
||||
- Fixed prerequisites of *Abrollen*.
|
||||
- Blessings are now tradition-aware: If you select a tradition of a demigod you will not be able to select the unavailable blessings (as specified by tradition special ability) anymore.
|
||||
|
||||
### English Specific
|
||||
|
||||
- There are full wiki entries available for *all* currently implemented entries.
|
||||
|
||||
## [0.51.8](https://github.com/elyukai/optolith-client/compare/v0.51.7...v0.51.8) (2017-12-19)
|
||||
|
||||
- Fixed AP cost for languages.
|
||||
- Fixed generating random values for size and weight of a character.
|
||||
- Added error binding to content, so that if an error occurs you can still access the navigation bar.
|
||||
- Fixed crashes of wiki box in English version.
|
||||
|
||||
## [0.51.7](https://github.com/elyukai/optolith-client/compare/v0.51.6...v0.51.7) (2017-12-18)
|
||||
|
||||
- Tweaked some colors to improve UI readability.
|
||||
- Error messages (the ones that contain "error" and "component stack") can be selected and thus copied.
|
||||
- After creating a hero (temporary name, sex, experience level) you will be in the "rules" tab, which is a main tab in this phase of character creation. You can select race, culture and profession by switching to the respective tab.
|
||||
- You can now check for updates manually via the Settings window.
|
||||
- The wiki, which is shown if you switch to the "wiki" tab, is now complete - regarding functionality. Contents still vary depending on the selected language.
|
||||
- If race Elf is selected the app will no longer warn you to not use the selected profession because the calculated AP would be incorrect.
|
||||
- *Cendrash Style* is fixed and can be added to your character(s) again.
|
||||
|
||||
### German Specific
|
||||
|
||||
- Zone armor tab will only be shown if *Aventuria Armory* or *All rule books* are activated in "rules" tab.
|
||||
- ENC is now correctly calculated for zone armor.
|
||||
- Fixed *Brevier der zwölfgöttlichen Unterweisung*.
|
||||
- Fixed magical styles.
|
||||
|
||||
### English Specific
|
||||
|
||||
- App will no longer crash all the time.
|
||||
|
||||
## [0.51.6](https://github.com/elyukai/optolith-client/compare/v0.51.5...v0.51.6) (2017-12-11)
|
||||
|
||||
- Added sort option to inventory to sort by weight (in descending order).
|
||||
- *Slow* is now considered when calculating MOV value.
|
||||
- Fixed magical and blessed professions.
|
||||
|
||||
## [0.51.5](https://github.com/elyukai/optolith-client/compare/v0.51.4...v0.51.5) (2017-12-11)
|
||||
|
||||
- Fixed hidden liturgical chants tab.
|
||||
|
||||
## [0.51.4](https://github.com/elyukai/optolith-client/compare/v0.51.3...v0.51.4) (2017-12-09)
|
||||
|
||||
- Fixed MOV modificators.
|
||||
- Splitted tradition special abilties to be able to provide wiki texts for them.
|
||||
- Fixed some profession and profession variant values.
|
||||
- Moved item infos to the wiki box on the right; removed the tooltip shown on hover before.
|
||||
- Fixed resetting AP on changing race variant.
|
||||
- Selection lists for disadvantages *Principles* and *Obligations* are not filtered by selected level anymore. This means, you can select *Code of the Church of Peraine* for all three levels of *Principles* instead of typing in the optional input field.
|
||||
|
||||
### German Specific
|
||||
|
||||
- Added **ALL** missing texts to complete the offline wiki.
|
||||
- Joined the different `Bindung des Bannschwerts` special abilties.
|
||||
- Additional item texts are only shown for templates and locked entries.
|
||||
- Added missing armory from regional armory books.
|
||||
|
||||
### English/Dutch Specific
|
||||
|
||||
- Wiki boxes will show the entries that can be generated safely. Their full functionality will be enabled once the needed texts are added.
|
||||
|
||||
## [0.51.3](https://github.com/elyukai/optolith-client/compare/v0.51.2...v0.51.3) (2017-12-01)
|
||||
|
||||
- Fixed issues with prerequisites for races.
|
||||
- Fixed profession list filter.
|
||||
- Fixed showing levels multiple times on character sheet and in profile overview.
|
||||
- Ignores auto updater on Linux.
|
||||
- Small tweaks to the light theme.
|
||||
- Some fixes for items regarding price and weight.
|
||||
- There are now additional infos about an update available in the download progress dialog.
|
||||
- The Enter key should work as usual after closing the app.
|
||||
|
||||
### German Specific
|
||||
|
||||
- Added filtering by activated rule books and wiki entries for combat techniques, advantages, disadvantages and special abilities. Prerequisite texts for advantages, disadvantages and special abilities are missing, though.
|
||||
- Removed special ability *Magischer Gedankenschutz* as this the exact same special ability as *Gedankenschutz*, the only difference is the name and this seems to be a issue with consistent naming.
|
||||
|
||||
## [0.51.2](https://github.com/elyukai/optolith-client/compare/v0.51.1...v0.51.2) (2017-11-21)
|
||||
|
||||
- Fixed calculating AP for *activated* special ability entries where you have to buy each tier separately (e.g. *Feint I-III*). Previously, only the cost for the highest bought tier were shown.
|
||||
- Removing bought energy points now correctly lowers AP spent. Previously, it did not change the current AP spent.
|
||||
|
||||
### German Specific
|
||||
|
||||
- Fixed *Lederüstung* typo.
|
||||
|
||||
## [0.51.1](https://github.com/elyukai/optolith-client/compare/v0.51.0...v0.51.1) (2017-11-19)
|
||||
|
||||
- Fixed Auto Updater.
|
||||
- Added FAQ page.
|
||||
- It is now possible to change attribute adjustment selection from selected race during character creation.
|
||||
- Fixed shown special ability groups on character sheet.
|
||||
- Fixed displayed aspects of liturgical chants.
|
||||
- Fixed calculating PA on character sheet.
|
||||
- You can now select the rule books you want to include in the Profile > Rules tab. Inactive book entries will not be displayed (only Races, Cultures, Professions, Skills, Spells and Liturgical Chants).
|
||||
- Displaying races now corresponds with the Core Rules.
|
||||
- Fixed inactive Advantages/Disadvantages/Special Abilities list’s layout (temporarily).
|
||||
|
||||
### macOS
|
||||
|
||||
- Added custom titlebar.
|
||||
- Added *About ...* app menu option.
|
||||
|
||||
### German Specific
|
||||
|
||||
- Fixed *Visions* and *Sermons* for Blessed Ones.
|
||||
- Fixed profession *Graumagier (Schule der Verformungen zu Lowangen)*.
|
||||
|
||||
## [0.51.0](https://github.com/elyukai/optolith-client/compare/v0.50.0...v0.51.0) (2017-11-14)
|
||||
|
||||
- Auto-Updater for Windows and macOS.
|
||||
- Installer for Windows.
|
||||
- New icon set.
|
||||
- You can now edit heroes after character creation phase if you check the respective box in the settings.
|
||||
- Enabled filtering of item templates by combat technique.
|
||||
- Exported characters will now include the avatar image.
|
||||
- Added support for permanent LP loss.
|
||||
- Source book abbreviations will now appear in profession list.
|
||||
- All lists of skills (skills, spells, liturgical chants) will now show the attribute values if you hover over an list item.
|
||||
- Fixed calculations of AP spent on **active** advantages/disadvantages/special abiltiies (AP for buying them were still calculated correctly).
|
||||
- Fixed calculations based on size value (meter-based size entry allowed).
|
||||
- Fixed surplus page in character sheet PDF.
|
||||
- Added placeholder wiki boxes for advantages, disadvantages, special abilities and items.
|
||||
- Fixed available hair colors for some races.
|
||||
|
||||
### German Specific
|
||||
|
||||
- Added spell and liturgical chant extensions to wiki boxes.
|
||||
- Fixed text of *magical professions* for culture *Ore Dwarf*.
|
||||
|
||||
### Dutch Specific
|
||||
|
||||
- Started localization work.
|
||||
|
||||
## [0.50.0](https://github.com/elyukai/optolith-client/compare/v0.49.6...v0.50.0) (2017-11-02)
|
||||
|
||||
- Custom AP cost possible for advantages and disadvantages.
|
||||
- Fixed ItemEditor’s and ArmorZonesEditor’s theming and layout.
|
||||
- Slightly brightened the color for disabled elements.
|
||||
|
||||
## [0.49.6](https://github.com/elyukai/optolith-client/compare/v0.49.5...v0.49.6) (2017-10-23)
|
||||
|
||||
- Fixed dis/advantages from **Aventurian Magic I**.
|
||||
- Fixed alerts after selecting RCP.
|
||||
- Alerts might be a bit more responsive (internal rework).
|
||||
- Fixed *Last Changes* page.
|
||||
|
||||
### German Specific
|
||||
|
||||
- Added wiki info for cultures.
|
||||
|
||||
## [0.49.5](https://github.com/elyukai/optolith-client/compare/v0.49.4...v0.49.5) (2017-10-15)
|
||||
|
||||
- Special abilities with tiers do not have separate entries anymore.
|
||||
- RCP costs are now entirely calculated by the app.
|
||||
- Changed ItemEditor layout from one-column to two-column layout.
|
||||
- Extended P+T functionality and fixed items based on that.
|
||||
- Now allows negative AP left during character creation phase.
|
||||
- Fixed search fields (it unintentionally converted text into a regular expression - thus some strange results).
|
||||
- Fixed filtering magical tradition’s selection objects (previously, having more than 25 AP spent/received for magical advantages/disadvantages adding a tradition was completely disabled).
|
||||
- Fixed professions requiring specific cultures.
|
||||
- Fixed *Exceptional Skill/Combat Technique*
|
||||
- Fixed calculating TOU.
|
||||
- Fixed showing Own Profession without having extension books in profession list.
|
||||
- Added prerquisites and special abilities entries for professions’ wiki info.
|
||||
- Fixed disabling to add AE instead of to add permanently lost AE when more than one permanent AE point is lost.
|
||||
- Wiki test page added.
|
||||
- Added *Last Changes* tab in *About* section.
|
||||
- Some further redesign work.
|
||||
- A short message is now shown in Settings dialog informing about you need to restart the app when changing the language.
|
||||
|
||||
### German Specific
|
||||
|
||||
- Added (missing) wiki info for skills, cantrips, blessings, spells and liturgical chants (excluding extensions).
|
||||
- Added special abilities, liturgical chant extensions and dis-/advantages from **Aventurian Work of the Gods**.
|
||||
|
||||
## [0.49.4](https://github.com/elyukai/optolith-client/compare/v0.49.3...v0.49.4) (2017-09-10)
|
||||
|
||||
- Fixed character portrait selection.
|
||||
- Heaps of stuff for the new design.
|
||||
- Added theme selection to Settings modal (although the light theme is not finished yet; modals and tooltips are still dark ...).
|
||||
- Deleting a character must be confirmed now (and cannot be undone after that).
|
||||
- Now shrinks text in specific fields on character sheet.
|
||||
- Fixed routine check modifiers on character sheet.
|
||||
- Unified RCP views.
|
||||
- Added RCP info views, although a lot of text is still missing.
|
||||
|
||||
### German Specific
|
||||
|
||||
- Fixed newer items.
|
||||
- Fixed combat technique values of newer professions.
|
||||
|
||||
## [0.49.3](https://github.com/elyukai/optolith-client/compare/v0.49.2...v0.49.3) (2017-09-04)
|
||||
|
||||
- Fixed AP limits for advantages/disadvantages.
|
||||
- Removes existing equipment from item templates search results.
|
||||
- New icon.
|
||||
- New background.
|
||||
- Updated titlebar icons on Windows and Linux.
|
||||
|
||||
### German Specific
|
||||
|
||||
- Fixed Skills selection for *Meistertalentierte*.
|
||||
|
||||
### English Specific
|
||||
|
||||
- Fixed RCP view issue(s).
|
||||
- Fixed Equipment view.
|
||||
|
||||
## [0.49.2](https://github.com/elyukai/optolith-client/compare/v0.49.1...v0.49.2) (2017-08-25)
|
||||
|
||||
- Fixed the addition of adventure points.
|
||||
- Fixed second combat technique selection for professions.
|
||||
- Fixed Settings modal.
|
||||
- Fixed small issue concerning `alert`s.
|
||||
- Item templates are no longer cleared after a new hero has been created.
|
||||
|
||||
### German Specific
|
||||
|
||||
- Fixed problems with displaying AE for *Intuitiver Zauberer*.
|
||||
|
||||
### English Specific
|
||||
|
||||
- Fixed race/professions list.
|
||||
|
||||
## [0.49.1](https://github.com/elyukai/optolith-client/compare/v0.49.0...v0.49.1) (2017-08-14)
|
||||
|
||||
- Fixed issue with lists for advantages, disadvantages and special abilities containing skills/spells/liturgical chants.
|
||||
- Fixed issue with RCP skill specialization selection.
|
||||
- Fixed exporting heroes as JSON.
|
||||
- Fixed equipment view.
|
||||
- Professions are now sorted by name and them by subname (e.g. the academy name). Previously, professions with subnames were sorted randomly (changing from render to render).
|
||||
|
||||
### English Specific
|
||||
|
||||
- Added translation for skill name separation in RCP skill specialization selection.
|
||||
|
||||
## [0.49.0](https://github.com/elyukai/optolith-client/compare/v0.48.1...v0.49.0) (2017-08-08)
|
||||
|
||||
- *Smash* does not require *Rundumschlag I* anymore.
|
||||
- Protective/Warding Circles now require *Magical Signs*.
|
||||
- Added missing *Ancestor Glyphs* from The Warring Kingdoms. They require *Magical Signs* as well.
|
||||
- *Nimble* now increases MOV by 1.
|
||||
- *Immunity to (Disease/Poison)* now correctly adds the selected entry.
|
||||
- Derived characteristics are now correctly calculated on character sheet.
|
||||
- Item templates have floating number values (again). This **won’t** affect non-locked item templates in items.
|
||||
- Requiring Spells now correctly disables the decrease button if the SR hits the required value.
|
||||
- Invalid avatar paths will no longer result in a colored border with black background and an invalid file error in the console.
|
||||
- Now filters Aspect Knowledge selection by active tradition.
|
||||
- Now sorts lists properly depending on the selected locale (e.g. ä, ö and ü in German are basically treated as a, o and u respectively).
|
||||
- Items now correcly reset if you load a character after you opened/created a character with items.
|
||||
- Item weights are now correctly displayed.
|
||||
- Item PA mods do not use the AT mod value anymore.
|
||||
- *Improved Dodge I-III* now increases DO value.
|
||||
- Profession *Spy* now correctly increases *Commerce* by 3.
|
||||
- The used attributes for the skill check of ODEM ARCANUM are SGC/INT/INT now (following the German Regel-Wiki).
|
||||
- *Combat Reflexes I-III* now increases INI value.
|
||||
- Window is maximizable, unmaximizable and resizable.
|
||||
- Added a title bar on Windows and Linux, providing buttons in Windows 10 UWP style to minimize, (un)maximize and close the app. This bar is also the draggable area of the window.
|
||||
- Removed the Start tab.
|
||||
- Improved general performance.
|
||||
- In *Profile Overview* and *Character Sheet* tabs, entries such as `Skill Specialization (Climbing: Trees), Skill Specialization (Survival: Find Campsite)` are now written as `Skill Specialization (Climbing: Trees, Survival: Find Campsite)`, providing a better overview and readability in addition to more space.
|
||||
- A new Redo button is added to the Navigation Bar. History resets after saving, finishing RCP selection and finishing character creation as well as switching to another character.
|
||||
- Fixed *Property Knowledge*’s and *Aspect Knowledge*’s AP cost and effects.
|
||||
- Fixed Languages and Scripts selection texts in RCP selections window.
|
||||
- Fixed loading characters with active Blessings.
|
||||
|
||||
### German Specific
|
||||
|
||||
- Includes new traditions, aspects and liturgcal chants from **Aventurisches Götterwirken I**.
|
||||
- Added info for selected race in Races tab.
|
||||
- CON instead of COU now increases WS value.
|
||||
- Fixed *Intuitive Caster*’s spell limit and AE value.
|
||||
|
||||
### English Specific
|
||||
|
||||
- Added info box for selected race in Races tab, but (most of the) texts are still missing.
|
||||
|
||||
## [0.48.1](https://github.com/elyukai/optolith-client/compare/v0.48.0...v0.48.1) (2017-06-13)
|
||||
|
||||
- Undo function is working again for advantages, disadvantages and special abilities.
|
||||
- Spells can now be de/activated as intended.
|
||||
- Cantrips/Blessing are now sorted on the character sheet.
|
||||
- The total attribute maximum is shown on the attribute page during character creation.
|
||||
|
||||
## [0.48.0](https://github.com/elyukai/optolith-client/compare/v0.47.3...v0.48.0)
|
||||
|
||||
- Heaps of bugs fixed. I lost sight of all bugs, so I won’t provide a detailed list this time.
|
||||
- Added a funtion to duplicate heroes.
|
||||
- New interface for managing permanent AE/KP loss.
|
||||
- Windows x86 support. (I am sorry for all the macOS users out there; I am still searching for a good way to build for Mac as I do not have a Mac at home.)
|
||||
- Removed support for heroes created with app version lower than 0.45.0.
|
||||
- If advantage/disadvantage list is empty, a placeholder will be shown. This is to ensure that having an empty list is intentional - and not a bug.
|
||||
|
||||
### German Specific
|
||||
|
||||
- Aventurian Names, Inns & Taverns, Aventurian Bestiary and The Warring Kingdoms are fully implemented (they should be). All entries from Aventurian Magic I are available. Optional Rules from AMI are not (yet) available.
|
||||
- AMI is now basically complete. During reworking the entries some issues occured that might cause your characters to not work properly.
|
||||
- Selecting *Meistertalentierte*, *Zauberbarden* or *Zaubertänzer* as your magical tradition requires a second selection. *Meistertalentierte* choose their *Meistertalent*, *Zauberbarden* or *Zaubertänzer* choose their music/dance tradition (Ceoladir etc). If the affected characters are in character creation phase, you will be able to remove the existing tradition special ability and reactivate it with the correct selection. If character creation is finished, you have to create the respective character(s) again.
|
||||
- *Exorzist I* and *Meistertrick I* were missing selection options. Now they are included. The selection options do not affect the AP cost, so you can try to fix it the same way as you did for the magical tradition above.
|
||||
|
||||
## [0.47.3](https://github.com/elyukai/optolith-client/compare/v0.47.2...v0.47.3)
|
||||
|
||||
- The requirement *Manifesto 10* for Elemental Servant referred to Wall of Fog instead of Manifesto.
|
||||
|
||||
## [0.47.2](https://github.com/elyukai/optolith-client/compare/v0.47.1...v0.47.2) (2017-05-24)
|
||||
|
||||
- The calculations of total weight and total price in equipment tab should work again. Armor is excluded from the total weight calculation, because armor is excluded from carrying capacity if its in use.
|
||||
- Character Sheet is working again.
|
||||
- The skills tab contains a pane on the right side. If you click on the "i" buttons, it will show you additional information about the respective skill. Well, it will show you in the future: Currently, there is not much data available to show.
|
||||
- The item list now properly resets for every new character.
|
||||
|
||||
## [0.47.1](https://github.com/elyukai/optolith-client/compare/v0.47.0...v0.47.1) (2017-05-18)
|
||||
|
||||
- Fixed an issue with a race or a culture as a requirement. This issue caused some professions to never appear in the list.
|
||||
|
||||
## 0.47.0 (2017-05-15)
|
||||
|
||||
- Die englische Übersetzung ist nun vollständig. (Jedenfalls hoffe ich, dass ich nichts übersehen habe! ^^)
|
||||
- Es gibt den Eintrag "Körpergröße" im Profil nun nicht mehr zweimal.
|
||||
- Die Kosten für SF Lieblingszauber sollten wieder passen.
|
||||
- Berechnung von Körpergewicht ohne das Vorhandensein der Körpergröße gibt nun nicht mehr NaN aus, sondern berechnet beide Werte entsprechend neu.
|
||||
- Die Buttons zur Zufallsgenerierung auf der Profilseite haben nun ein Würfelsymbol.
|
||||
- Beim Eintragen von neuen AP nach der Charaktererstellung wird nun überprüft, ob man nur Zahlen eingibt. Ist es nicht der Fall, weil das Textfeld z.B. Text oder Kommata enthält, kann man den Wert nicht hinzufügen.
|
||||
- Im Gegenstandseditor wird einem nun angezeigt, wenn ein Feld zur Speicherung gefüllt sein muss oder zur Speicherung keinen kompatiblen Inhalt hat. Was kompatibel ist, sollte jedem eigentlich klar sein (kein Text beim AT-Modifikator etc.), daher habe ich mir die Erläuterungen da gespart.
|
||||
- Merkmalsfokus und Varianten funktionieren jetzt aber wirklich.
|
||||
- Der Charakterbogen enthält nun auch endlich den Begleiter als Eintrag.
|
||||
|
||||
## 0.46.0 (2017-05-02)
|
||||
|
||||
- Ein Fehler bei den Profession wurde behoben, durch den diese falsch gefiltert wurden.
|
||||
- Der Tooltip für AP funktioniert jetzt wieder.
|
||||
- In der Hinzufügen-Liste für Nachteile bleiben jetzt auch die Nachteile; seit dem letzten Patch wurden nach jeder UI-Aktualisierung Vorteile statt Nachteile geladen.
|
||||
- Das Kulturpaket ist jetzt standardmäßg deaktiviert, die Kosten stehen bei der Kultur aber immer noch bei. Aktivieren kann man es dann - wie gewohnt - im SKP-Optionsfenster.
|
||||
- In den Auswahlfenstern für Vor- und Nachteile werden auch die entsprechenden Grenzen für Gesamt-AP, AP für magische Vor-/Nachteile und AP für karmale Vor-/Nachteile angezeigt.
|
||||
- Talente, Zauber und Liturgien werden bei einer Gruppensortierung visuell voneinander getrennt.
|
||||
- Die Sortierfunktion nach Gruppe funktioniert bei Zaubern und Liturgien jetzt wieder.
|
||||
- Man kann nun Zonenrüstung erstellen.
|
||||
- Man kann sich nun einen Begleiter erstellen. Die Integration in den Heldenbogen kommt dazu sehr bald!
|
||||
- Einträge aus AMI sind in der PREVIEW enthalten (war auch schon letztes Mal so), d.h. sie enthalten die angegebenen Voraussetzungen, jedoch keine Auswirkungen.
|
||||
- Ausgewählte Einträge für SF Variante und SF Merkmalsfokus werden jetzt auch gespeichert.
|
||||
- Zaubertricks funktionieren jetzt wieder so wie sie sollen.
|
||||
- Ich habe mit einer Übersetzung der UI für den nicht-deutschsprachigen Teil der Community begonnen. Die Sprache wird anhand eures Systems bestimmt und daher auf Deutsch oder Englisch (noch Deutsch+Englisch ^^) eingestellt. Ihr könnt die Sprache festlegen, indem ihr außerhalb der Heldenerstellung oben rechts die Einstellungen öffnet und dann die Sprache auswählt.
|
||||
@@ -0,0 +1 @@
|
||||
* @elyukai
|
||||
@@ -0,0 +1,76 @@
|
||||
# Contributor Covenant Code of Conduct
|
||||
|
||||
## Our Pledge
|
||||
|
||||
In the interest of fostering an open and welcoming environment, we as
|
||||
contributors and maintainers pledge to making participation in our project and
|
||||
our community a harassment-free experience for everyone, regardless of age, body
|
||||
size, disability, ethnicity, sex characteristics, gender identity and expression,
|
||||
level of experience, education, socio-economic status, nationality, personal
|
||||
appearance, race, religion, or sexual identity and orientation.
|
||||
|
||||
## Our Standards
|
||||
|
||||
Examples of behavior that contributes to creating a positive environment
|
||||
include:
|
||||
|
||||
* Using welcoming and inclusive language
|
||||
* Being respectful of differing viewpoints and experiences
|
||||
* Gracefully accepting constructive criticism
|
||||
* Focusing on what is best for the community
|
||||
* Showing empathy towards other community members
|
||||
|
||||
Examples of unacceptable behavior by participants include:
|
||||
|
||||
* The use of sexualized language or imagery and unwelcome sexual attention or
|
||||
advances
|
||||
* Trolling, insulting/derogatory comments, and personal or political attacks
|
||||
* Public or private harassment
|
||||
* Publishing others' private information, such as a physical or electronic
|
||||
address, without explicit permission
|
||||
* Other conduct which could reasonably be considered inappropriate in a
|
||||
professional setting
|
||||
|
||||
## Our Responsibilities
|
||||
|
||||
Project maintainers are responsible for clarifying the standards of acceptable
|
||||
behavior and are expected to take appropriate and fair corrective action in
|
||||
response to any instances of unacceptable behavior.
|
||||
|
||||
Project maintainers have the right and responsibility to remove, edit, or
|
||||
reject comments, commits, code, wiki edits, issues, and other contributions
|
||||
that are not aligned to this Code of Conduct, or to ban temporarily or
|
||||
permanently any contributor for other behaviors that they deem inappropriate,
|
||||
threatening, offensive, or harmful.
|
||||
|
||||
## Scope
|
||||
|
||||
This Code of Conduct applies both within project spaces and in public spaces
|
||||
when an individual is representing the project or its community. Examples of
|
||||
representing a project or community include using an official project e-mail
|
||||
address, posting via an official social media account, or acting as an appointed
|
||||
representative at an online or offline event. Representation of a project may be
|
||||
further defined and clarified by project maintainers.
|
||||
|
||||
## Enforcement
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||
reported by contacting the project team at support@optolith.app. All
|
||||
complaints will be reviewed and investigated and will result in a response that
|
||||
is deemed necessary and appropriate to the circumstances. The project team is
|
||||
obligated to maintain confidentiality with regard to the reporter of an incident.
|
||||
Further details of specific enforcement policies may be posted separately.
|
||||
|
||||
Project maintainers who do not follow or enforce the Code of Conduct in good
|
||||
faith may face temporary or permanent repercussions as determined by other
|
||||
members of the project's leadership.
|
||||
|
||||
## Attribution
|
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
|
||||
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
|
||||
|
||||
[homepage]: https://www.contributor-covenant.org
|
||||
|
||||
For answers to common questions about this code of conduct, see
|
||||
https://www.contributor-covenant.org/faq
|
||||
+118
@@ -0,0 +1,118 @@
|
||||
# Contributing
|
||||
|
||||
## Reporting bugs, feature requests and more
|
||||
|
||||
### 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
|
||||
|
||||
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
|
||||
|
||||
Please include the following:
|
||||
|
||||
- The version of the app you are using. You can find the version in the About > Third-party licenses section of the app.
|
||||
- A *detailed* description of what you have done.
|
||||
- What you expected to happen and what actually happened.
|
||||
|
||||
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
|
||||
|
||||
You can suggest features either in the issues tracker or in one of the [listed forums](https://github.com/elyukai/optolith-client).
|
||||
|
||||
## Contributing code
|
||||
|
||||
### 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. Please join my [Discord Server](https://discord.gg/uDyR4yr) if you want to contribute and thus need to access them. Just 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. 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!
|
||||
|
||||
### Prepare the repo
|
||||
|
||||
Clone the repo, including the private submodule.
|
||||
|
||||
```sh
|
||||
git clone --recurse-submodules https://github.com/elyukai/optolith-client.git
|
||||
```
|
||||
|
||||
Make sure Node.js (lastest version) is installed and run
|
||||
|
||||
```sh
|
||||
npm i
|
||||
```
|
||||
|
||||
This installs all necessary packages.
|
||||
|
||||
### First run
|
||||
|
||||
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.
|
||||
|
||||
You have to run the Reason build first as it generates TypeScript files...
|
||||
|
||||
```sh
|
||||
npm run re:build
|
||||
npm run css:build
|
||||
npm run js:build
|
||||
```
|
||||
|
||||
(There's also a shorthand for that:)
|
||||
|
||||
```sh
|
||||
npm run build
|
||||
```
|
||||
|
||||
…or watch it for better performance for subsequent compiling on save (you need to use separate terminal instances then).
|
||||
|
||||
```sh
|
||||
npm run re:watch
|
||||
npm run css:watch
|
||||
npm run js:watch
|
||||
```
|
||||
|
||||
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
|
||||
```
|
||||
|
||||
Run the app:
|
||||
|
||||
```sh
|
||||
npm start
|
||||
```
|
||||
|
||||
### Stylesheets
|
||||
|
||||
To compile the SCSS files, use
|
||||
|
||||
```sh
|
||||
npm run css:build
|
||||
```
|
||||
|
||||
### 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
|
||||
```
|
||||
@@ -1,8 +1,395 @@
|
||||
Dieses Produkt wurde unter Lizenz erstellt. Das Schwarze Auge und sein Logo sowie Aventuria, Dere, Myranor, Riesland, Tharun und Uthuria und ihre Logos sind eingetragene Marken von Significant GbR in Deutschland, den U.S.A. und anderen Ländern. Ulisses Spiele und sein Logo sind eingetragene Marken der Ulisses Medien und Spiele Distribution GmbH.
|
||||
Optolith Character Generator and Manager for The Dark Eye 5th Edition
|
||||
Copyright (C) 2017-present Lukas Obermann
|
||||
|
||||
Dieses Werk enthält Material, das durch Ulisses Spiele und/oder andere Autoren urheberrechtlich geschützt ist. Solches Material wird mit Erlaubnis im Rahmen der Vereinbarung über Gemeinschaftsinhalte für SCRIPTORIUM AVENTURIS verwendet.
|
||||
This Source Code Form is subject to the terms of the Mozilla Public
|
||||
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
Alle anderen Originalmaterialien in diesem Werk sind Copyright (c) 2017-Gegenwart von Lukas Obermann und werden im Rahmen der Vereinbarung über Gemeinschaftsinhalte für SCRIPTORIUM AVENTURIS veröffentlicht.
|
||||
------------------------------------------------------------
|
||||
|
||||
Mozilla Public License Version 2.0
|
||||
==================================
|
||||
|
||||
1. Definitions
|
||||
--------------
|
||||
|
||||
1.1. "Contributor"
|
||||
means each individual or legal entity that creates, contributes to
|
||||
the creation of, or owns Covered Software.
|
||||
|
||||
1.2. "Contributor Version"
|
||||
means the combination of the Contributions of others (if any) used
|
||||
by a Contributor and that particular Contributor's Contribution.
|
||||
|
||||
1.3. "Contribution"
|
||||
means Covered Software of a particular Contributor.
|
||||
|
||||
1.4. "Covered Software"
|
||||
means Source Code Form to which the initial Contributor has attached
|
||||
the notice in Exhibit A, the Executable Form of such Source Code
|
||||
Form, and Modifications of such Source Code Form, in each case
|
||||
including portions thereof.
|
||||
|
||||
1.5. "Incompatible With Secondary Licenses"
|
||||
means
|
||||
|
||||
(a) that the initial Contributor has attached the notice described
|
||||
in Exhibit B to the Covered Software; or
|
||||
|
||||
(b) that the Covered Software was made available under the terms of
|
||||
version 1.1 or earlier of the License, but not also under the
|
||||
terms of a Secondary License.
|
||||
|
||||
1.6. "Executable Form"
|
||||
means any form of the work other than Source Code Form.
|
||||
|
||||
1.7. "Larger Work"
|
||||
means a work that combines Covered Software with other material, in
|
||||
a separate file or files, that is not Covered Software.
|
||||
|
||||
1.8. "License"
|
||||
means this document.
|
||||
|
||||
1.9. "Licensable"
|
||||
means having the right to grant, to the maximum extent possible,
|
||||
whether at the time of the initial grant or subsequently, any and
|
||||
all of the rights conveyed by this License.
|
||||
|
||||
1.10. "Modifications"
|
||||
means any of the following:
|
||||
|
||||
(a) any file in Source Code Form that results from an addition to,
|
||||
deletion from, or modification of the contents of Covered
|
||||
Software; or
|
||||
|
||||
(b) any new file in Source Code Form that contains any Covered
|
||||
Software.
|
||||
|
||||
1.11. "Patent Claims" of a Contributor
|
||||
means any patent claim(s), including without limitation, method,
|
||||
process, and apparatus claims, in any patent Licensable by such
|
||||
Contributor that would be infringed, but for the grant of the
|
||||
License, by the making, using, selling, offering for sale, having
|
||||
made, import, or transfer of either its Contributions or its
|
||||
Contributor Version.
|
||||
|
||||
1.12. "Secondary License"
|
||||
means either the GNU General Public License, Version 2.0, the GNU
|
||||
Lesser General Public License, Version 2.1, the GNU Affero General
|
||||
Public License, Version 3.0, or any later versions of those
|
||||
licenses.
|
||||
|
||||
1.13. "Source Code Form"
|
||||
means the form of the work preferred for making modifications.
|
||||
|
||||
1.14. "You" (or "Your")
|
||||
means an individual or a legal entity exercising rights under this
|
||||
License. For legal entities, "You" includes any entity that
|
||||
controls, is controlled by, or is under common control with You. For
|
||||
purposes of this definition, "control" means (a) the power, direct
|
||||
or indirect, to cause the direction or management of such entity,
|
||||
whether by contract or otherwise, or (b) ownership of more than
|
||||
fifty percent (50%) of the outstanding shares or beneficial
|
||||
ownership of such entity.
|
||||
|
||||
2. License Grants and Conditions
|
||||
--------------------------------
|
||||
|
||||
2.1. Grants
|
||||
|
||||
Each Contributor hereby grants You a world-wide, royalty-free,
|
||||
non-exclusive license:
|
||||
|
||||
(a) under intellectual property rights (other than patent or trademark)
|
||||
Licensable by such Contributor to use, reproduce, make available,
|
||||
modify, display, perform, distribute, and otherwise exploit its
|
||||
Contributions, either on an unmodified basis, with Modifications, or
|
||||
as part of a Larger Work; and
|
||||
|
||||
(b) under Patent Claims of such Contributor to make, use, sell, offer
|
||||
for sale, have made, import, and otherwise transfer either its
|
||||
Contributions or its Contributor Version.
|
||||
|
||||
2.2. Effective Date
|
||||
|
||||
The licenses granted in Section 2.1 with respect to any Contribution
|
||||
become effective for each Contribution on the date the Contributor first
|
||||
distributes such Contribution.
|
||||
|
||||
2.3. Limitations on Grant Scope
|
||||
|
||||
The licenses granted in this Section 2 are the only rights granted under
|
||||
this License. No additional rights or licenses will be implied from the
|
||||
distribution or licensing of Covered Software under this License.
|
||||
Notwithstanding Section 2.1(b) above, no patent license is granted by a
|
||||
Contributor:
|
||||
|
||||
(a) for any code that a Contributor has removed from Covered Software;
|
||||
or
|
||||
|
||||
(b) for infringements caused by: (i) Your and any other third party's
|
||||
modifications of Covered Software, or (ii) the combination of its
|
||||
Contributions with other software (except as part of its Contributor
|
||||
Version); or
|
||||
|
||||
(c) under Patent Claims infringed by Covered Software in the absence of
|
||||
its Contributions.
|
||||
|
||||
This License does not grant any rights in the trademarks, service marks,
|
||||
or logos of any Contributor (except as may be necessary to comply with
|
||||
the notice requirements in Section 3.4).
|
||||
|
||||
2.4. Subsequent Licenses
|
||||
|
||||
No Contributor makes additional grants as a result of Your choice to
|
||||
distribute the Covered Software under a subsequent version of this
|
||||
License (see Section 10.2) or under the terms of a Secondary License (if
|
||||
permitted under the terms of Section 3.3).
|
||||
|
||||
2.5. Representation
|
||||
|
||||
Each Contributor represents that the Contributor believes its
|
||||
Contributions are its original creation(s) or it has sufficient rights
|
||||
to grant the rights to its Contributions conveyed by this License.
|
||||
|
||||
2.6. Fair Use
|
||||
|
||||
This License is not intended to limit any rights You have under
|
||||
applicable copyright doctrines of fair use, fair dealing, or other
|
||||
equivalents.
|
||||
|
||||
2.7. Conditions
|
||||
|
||||
Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
|
||||
in Section 2.1.
|
||||
|
||||
3. Responsibilities
|
||||
-------------------
|
||||
|
||||
3.1. Distribution of Source Form
|
||||
|
||||
All distribution of Covered Software in Source Code Form, including any
|
||||
Modifications that You create or to which You contribute, must be under
|
||||
the terms of this License. You must inform recipients that the Source
|
||||
Code Form of the Covered Software is governed by the terms of this
|
||||
License, and how they can obtain a copy of this License. You may not
|
||||
attempt to alter or restrict the recipients' rights in the Source Code
|
||||
Form.
|
||||
|
||||
3.2. Distribution of Executable Form
|
||||
|
||||
If You distribute Covered Software in Executable Form then:
|
||||
|
||||
(a) such Covered Software must also be made available in Source Code
|
||||
Form, as described in Section 3.1, and You must inform recipients of
|
||||
the Executable Form how they can obtain a copy of such Source Code
|
||||
Form by reasonable means in a timely manner, at a charge no more
|
||||
than the cost of distribution to the recipient; and
|
||||
|
||||
(b) You may distribute such Executable Form under the terms of this
|
||||
License, or sublicense it under different terms, provided that the
|
||||
license for the Executable Form does not attempt to limit or alter
|
||||
the recipients' rights in the Source Code Form under this License.
|
||||
|
||||
3.3. Distribution of a Larger Work
|
||||
|
||||
You may create and distribute a Larger Work under terms of Your choice,
|
||||
provided that You also comply with the requirements of this License for
|
||||
the Covered Software. If the Larger Work is a combination of Covered
|
||||
Software with a work governed by one or more Secondary Licenses, and the
|
||||
Covered Software is not Incompatible With Secondary Licenses, this
|
||||
License permits You to additionally distribute such Covered Software
|
||||
under the terms of such Secondary License(s), so that the recipient of
|
||||
the Larger Work may, at their option, further distribute the Covered
|
||||
Software under the terms of either this License or such Secondary
|
||||
License(s).
|
||||
|
||||
3.4. Notices
|
||||
|
||||
You may not remove or alter the substance of any license notices
|
||||
(including copyright notices, patent notices, disclaimers of warranty,
|
||||
or limitations of liability) contained within the Source Code Form of
|
||||
the Covered Software, except that You may alter any license notices to
|
||||
the extent required to remedy known factual inaccuracies.
|
||||
|
||||
3.5. Application of Additional Terms
|
||||
|
||||
You may choose to offer, and to charge a fee for, warranty, support,
|
||||
indemnity or liability obligations to one or more recipients of Covered
|
||||
Software. However, You may do so only on Your own behalf, and not on
|
||||
behalf of any Contributor. You must make it absolutely clear that any
|
||||
such warranty, support, indemnity, or liability obligation is offered by
|
||||
You alone, and You hereby agree to indemnify every Contributor for any
|
||||
liability incurred by such Contributor as a result of warranty, support,
|
||||
indemnity or liability terms You offer. You may include additional
|
||||
disclaimers of warranty and limitations of liability specific to any
|
||||
jurisdiction.
|
||||
|
||||
4. Inability to Comply Due to Statute or Regulation
|
||||
---------------------------------------------------
|
||||
|
||||
If it is impossible for You to comply with any of the terms of this
|
||||
License with respect to some or all of the Covered Software due to
|
||||
statute, judicial order, or regulation then You must: (a) comply with
|
||||
the terms of this License to the maximum extent possible; and (b)
|
||||
describe the limitations and the code they affect. Such description must
|
||||
be placed in a text file included with all distributions of the Covered
|
||||
Software under this License. Except to the extent prohibited by statute
|
||||
or regulation, such description must be sufficiently detailed for a
|
||||
recipient of ordinary skill to be able to understand it.
|
||||
|
||||
5. Termination
|
||||
--------------
|
||||
|
||||
5.1. The rights granted under this License will terminate automatically
|
||||
if You fail to comply with any of its terms. However, if You become
|
||||
compliant, then the rights granted under this License from a particular
|
||||
Contributor are reinstated (a) provisionally, unless and until such
|
||||
Contributor explicitly and finally terminates Your grants, and (b) on an
|
||||
ongoing basis, if such Contributor fails to notify You of the
|
||||
non-compliance by some reasonable means prior to 60 days after You have
|
||||
come back into compliance. Moreover, Your grants from a particular
|
||||
Contributor are reinstated on an ongoing basis if such Contributor
|
||||
notifies You of the non-compliance by some reasonable means, this is the
|
||||
first time You have received notice of non-compliance with this License
|
||||
from such Contributor, and You become compliant prior to 30 days after
|
||||
Your receipt of the notice.
|
||||
|
||||
5.2. If You initiate litigation against any entity by asserting a patent
|
||||
infringement claim (excluding declaratory judgment actions,
|
||||
counter-claims, and cross-claims) alleging that a Contributor Version
|
||||
directly or indirectly infringes any patent, then the rights granted to
|
||||
You by any and all Contributors for the Covered Software under Section
|
||||
2.1 of this License shall terminate.
|
||||
|
||||
5.3. In the event of termination under Sections 5.1 or 5.2 above, all
|
||||
end user license agreements (excluding distributors and resellers) which
|
||||
have been validly granted by You or Your distributors under this License
|
||||
prior to termination shall survive termination.
|
||||
|
||||
************************************************************************
|
||||
* *
|
||||
* 6. Disclaimer of Warranty *
|
||||
* ------------------------- *
|
||||
* *
|
||||
* Covered Software is provided under this License on an "as is" *
|
||||
* basis, without warranty of any kind, either expressed, implied, or *
|
||||
* statutory, including, without limitation, warranties that the *
|
||||
* Covered Software is free of defects, merchantable, fit for a *
|
||||
* particular purpose or non-infringing. The entire risk as to the *
|
||||
* quality and performance of the Covered Software is with You. *
|
||||
* Should any Covered Software prove defective in any respect, You *
|
||||
* (not any Contributor) assume the cost of any necessary servicing, *
|
||||
* repair, or correction. This disclaimer of warranty constitutes an *
|
||||
* essential part of this License. No use of any Covered Software is *
|
||||
* authorized under this License except under this disclaimer. *
|
||||
* *
|
||||
************************************************************************
|
||||
|
||||
************************************************************************
|
||||
* *
|
||||
* 7. Limitation of Liability *
|
||||
* -------------------------- *
|
||||
* *
|
||||
* Under no circumstances and under no legal theory, whether tort *
|
||||
* (including negligence), contract, or otherwise, shall any *
|
||||
* Contributor, or anyone who distributes Covered Software as *
|
||||
* permitted above, be liable to You for any direct, indirect, *
|
||||
* special, incidental, or consequential damages of any character *
|
||||
* including, without limitation, damages for lost profits, loss of *
|
||||
* goodwill, work stoppage, computer failure or malfunction, or any *
|
||||
* and all other commercial damages or losses, even if such party *
|
||||
* shall have been informed of the possibility of such damages. This *
|
||||
* limitation of liability shall not apply to liability for death or *
|
||||
* personal injury resulting from such party's negligence to the *
|
||||
* extent applicable law prohibits such limitation. Some *
|
||||
* jurisdictions do not allow the exclusion or limitation of *
|
||||
* incidental or consequential damages, so this exclusion and *
|
||||
* limitation may not apply to You. *
|
||||
* *
|
||||
************************************************************************
|
||||
|
||||
8. Litigation
|
||||
-------------
|
||||
|
||||
Any litigation relating to this License may be brought only in the
|
||||
courts of a jurisdiction where the defendant maintains its principal
|
||||
place of business and such litigation shall be governed by laws of that
|
||||
jurisdiction, without reference to its conflict-of-law provisions.
|
||||
Nothing in this Section shall prevent a party's ability to bring
|
||||
cross-claims or counter-claims.
|
||||
|
||||
9. Miscellaneous
|
||||
----------------
|
||||
|
||||
This License represents the complete agreement concerning the subject
|
||||
matter hereof. If any provision of this License is held to be
|
||||
unenforceable, such provision shall be reformed only to the extent
|
||||
necessary to make it enforceable. Any law or regulation which provides
|
||||
that the language of a contract shall be construed against the drafter
|
||||
shall not be used to construe this License against a Contributor.
|
||||
|
||||
10. Versions of the License
|
||||
---------------------------
|
||||
|
||||
10.1. New Versions
|
||||
|
||||
Mozilla Foundation is the license steward. Except as provided in Section
|
||||
10.3, no one other than the license steward has the right to modify or
|
||||
publish new versions of this License. Each version will be given a
|
||||
distinguishing version number.
|
||||
|
||||
10.2. Effect of New Versions
|
||||
|
||||
You may distribute the Covered Software under the terms of the version
|
||||
of the License under which You originally received the Covered Software,
|
||||
or under the terms of any subsequent version published by the license
|
||||
steward.
|
||||
|
||||
10.3. Modified Versions
|
||||
|
||||
If you create software not governed by this License, and you want to
|
||||
create a new license for such software, you may create and use a
|
||||
modified version of this License if you rename the license and remove
|
||||
any references to the name of the license steward (except to note that
|
||||
such modified license differs from this License).
|
||||
|
||||
10.4. Distributing Source Code Form that is Incompatible With Secondary
|
||||
Licenses
|
||||
|
||||
If You choose to distribute Source Code Form that is Incompatible With
|
||||
Secondary Licenses under the terms of this version of the License, the
|
||||
notice described in Exhibit B of this License must be attached.
|
||||
|
||||
Exhibit A - Source Code Form License Notice
|
||||
-------------------------------------------
|
||||
|
||||
This Source Code Form is subject to the terms of the Mozilla Public
|
||||
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
If it is not possible or desirable to put the notice in a particular
|
||||
file, then You may include the notice in a location (such as a LICENSE
|
||||
file in a relevant directory) where a recipient would be likely to look
|
||||
for such a notice.
|
||||
|
||||
You may add additional accurate notices of copyright ownership.
|
||||
|
||||
Exhibit B - "Incompatible With Secondary Licenses" Notice
|
||||
---------------------------------------------------------
|
||||
|
||||
This Source Code Form is "Incompatible With Secondary Licenses", as
|
||||
defined by the Mozilla Public License, v. 2.0.
|
||||
|
||||
------------------------------------------------------------
|
||||
|
||||
The following disclaimer is only valid if any material of material protected by Ulisses Medien und Spiele Distribution GmbH is included, which is only the case in test builds or final builds of Optolith.
|
||||
|
||||
This product was created under license from Ulisses Medien und Spiele Distribution GmbH. Das Schwarze Auge / The Dark Eye and their respective logo(s) as well as Aventuria, Dere, Myranor, Riesland, Tharun and Uthuria, and their respective logos are trademarks of Ulisses Medien und Spiele Distribution GmbH. The title and contents of this book are protected under the copyright laws of Germany, the United States of America and other countries. No part of this publication may be reproduced, stored in retrieval systems or transmitted, in any form or by any means without prior written consent from Ulisses Medien und Spiele Distribution GmbH.
|
||||
|
||||
This publication includes material that was produced by Ulisses Spiele and/or other authors and which is protected under applicable copyright laws. Use of such material is granted under the Community Content Agreement for the SCRIPTORIUM AVENTURIS.
|
||||
|
||||
All original content in this work is copyright 2017-present by Lukas Obermann and published under the Community Content Agreement for the SCRIPTORIUM AVENTURIS.
|
||||
|
||||
------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -1,10 +1,27 @@
|
||||
# [Cha5App](http://cha5app.dsa-sh.de/)
|
||||
# Optolith Character Generator and Manager [](https://travis-ci.com/elyukai/optolith-client)
|
||||
|
||||
Eine App zum Erstellen und Verwalten von Charakteren und Gruppen für _Das Schwarze Auge_.
|
||||
Welcome to the repository for Optolith, a desktop application for The Dark Eye 5th Edition. Nice to see you here! 👋🏻
|
||||
|
||||
* **Viele Anpassungsmöglichkeiten:** Die Cha5App hat viele Einstellungen zur Darstellung zu bieten. Dazu zählen u.A. Sortierfilter. Somit könnt ihr euch die Listen immer so anzeigen lassen, wie ihr sie gerade braucht. Aber auch empfohlene Fähigkeiten zählen dazu.
|
||||
* **Helden teilen:** Wir werden später ein Feature einbauen, mit dem du einen Helden teilen kannst. _Teilen_ meint in diesem Fall, dass andere sich die Werte anschauen können; Änderungen sind nicht möglich.
|
||||
* **Gruppen:** Wir werden in einem späteren Patch eine Gruppenverwaltung hinzufügen. Dadurch können Gruppenmitglieder übersichtlich angezeigt und verglichen werden. Außerdem kann dieses Tool auch in-game dazu genutzt werden, die INI-Tabelle in Kombination mit Zustands- und Energieanzeigen darzustellen. Diese Ingame-Tabelle hatten wir vorher einmal unter dem Namen _GameApp_ veröffentlicht. Wir werden dieses Tool für DSA5 umschreiben und in die Cha5App integrieren.
|
||||
* **Testen:** Du kannst die Software auch testen, bevor du dich anmeldest. Dein Fortschritt geht nicht verloren, solange du die Seite nicht verlässt. Dadurch kannst du dir auch erst später einen Account erstellen, über den du nun den bisherigen Fortschritt speichern kannst.
|
||||
## Install
|
||||
|
||||
Die Software wurde in Firefox 51 und Edge 14 getestet.
|
||||
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.
|
||||
|
||||
## Goal
|
||||
|
||||
Optolith was built and is developed based on a few key criteria:
|
||||
|
||||
- A player should be able to create characters without additional cost.
|
||||
- A player should take care of the more important parts of a character – the personality and background – instead of keeping track of prerequisites and AP.
|
||||
- Creating a character should be as easy and as intuitive as possible to focus on the actual stats.
|
||||
|
||||
With those criteria in mind, we further enhance the app.
|
||||
|
||||
## Contributing
|
||||
|
||||
Info on reporting bugs, getting help, contributing code and more can be found in the [Contributing Guide](CONTRIBUTING.md)!
|
||||
|
||||
## License
|
||||
|
||||
[MPL 2.0](LICENSE)
|
||||
|
||||
File diff suppressed because one or more lines are too long
Binary file not shown.
|
Before Width: | Height: | Size: 75 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 5.5 KiB |
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 232 KiB |
@@ -1,17 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>TDE5 Heroes</title>
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
|
||||
|
||||
<link href="main.css" rel="stylesheet">
|
||||
<link href="favicon.png" rel="icon" type="image/png" size="267x267">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="bodywrapper"></div>
|
||||
<script>require('./entry.js')</script>
|
||||
</body>
|
||||
</html>
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,44 @@
|
||||
{
|
||||
"name": "optolith-client",
|
||||
"version": "0.1.0",
|
||||
"sources": [
|
||||
{ "dir": "src", "subdirs": [
|
||||
{ "dir": "Common" },
|
||||
{ "dir": "Dependencies" },
|
||||
{ "dir": "External" },
|
||||
{ "dir": "IO" },
|
||||
{ "dir": "Localization" },
|
||||
{ "dir": "Rated", "subdirs": [
|
||||
{ "dir": "__tests__", "type": "dev" },
|
||||
{ "dir": "ArcaneSpellworks" },
|
||||
{ "dir": "Liturgies" },
|
||||
{ "dir": "MagicalActions" }
|
||||
] },
|
||||
{ "dir": "Rules" },
|
||||
{ "dir": "Scenes" },
|
||||
{ "dir": "Sources" },
|
||||
{ "dir": "Utilities", "subdirs": [
|
||||
{ "dir": "Abstractions" }
|
||||
] }
|
||||
] }
|
||||
],
|
||||
"package-specs": {
|
||||
"module": "commonjs",
|
||||
"in-source": true
|
||||
},
|
||||
"suffix": ".bs.js",
|
||||
"bs-dependencies": [
|
||||
"@glennsl/bs-jest",
|
||||
"@rescript/react",
|
||||
"bs-decoders",
|
||||
"reductive"
|
||||
],
|
||||
"reason": {
|
||||
"react-jsx": 3
|
||||
},
|
||||
"warnings": {
|
||||
"number": "+A-42-48",
|
||||
"error": "+A-3-4-27-32-41-44-102"
|
||||
},
|
||||
"namespace": true
|
||||
}
|
||||
@@ -1,54 +0,0 @@
|
||||
const packager = require('electron-packager');
|
||||
const { sep } = require('path');
|
||||
|
||||
const ignore = /^\/(\.rpt2_cache|\.vs|\.vscode|css|src|wiki|\.git\w*|build\w*\.|bundle\w*\.|clicommands\.txt|jsconfig\.json|tslint\.json|tsconfig\.json)/;
|
||||
|
||||
const options = {
|
||||
dir: '.',
|
||||
appCopyright: 'Dieses Produkt wurde unter Lizenz erstellt. Das Schwarze Auge und sein Logo sowie Aventuria, Dere, Myranor, Riesland, Tharun und Uthuria und ihre Logos sind eingetragene Marken von Significant GbR in Deutschland, den U.S.A. und anderen Ländern. Ulisses Spiele und sein Logo sind eingetragene Marken der Ulisses Medien und Spiele Distribution GmbH. Dieses Werk enthält Material, das durch Ulisses Spiele und/oder andere Autoren urheberrechtlich geschützt ist. Solches Material wird mit Erlaubnis im Rahmen der Vereinbarung über Gemeinschaftsinhalte für SCRIPTORIUM AVENTURIS verwendet. Alle anderen Originalmaterialien in diesem Werk sind Copyright (c) 2017-Gegenwart von Lukas Obermann und werden im Rahmen der Vereinbarung über Gemeinschaftsinhalte für SCRIPTORIUM AVENTURIS veröffentlicht.',
|
||||
asar: !process.argv.includes('test'),
|
||||
icon: './app/icon',
|
||||
ignore,
|
||||
name: 'tdeheroes',
|
||||
out: './dist',
|
||||
overwrite: true,
|
||||
prune: true,
|
||||
win32metadata: {
|
||||
CompanyName: 'Lukas Obermann',
|
||||
FileDescription: 'TDE5 Heroes',
|
||||
OriginalFilename: 'tdeheroes.exe',
|
||||
ProductName: 'TDE5 Heroes',
|
||||
InternalName: 'TDE app'
|
||||
}
|
||||
}
|
||||
|
||||
async function build() {
|
||||
try {
|
||||
const win32Paths = await packagerAsync({
|
||||
...options,
|
||||
arch: process.argv.includes('test') ? 'x64' : ['ia32', 'x64'],
|
||||
platform: 'win32'
|
||||
});
|
||||
const linuxPaths = process.argv.includes('test') ? [] : await packagerAsync({
|
||||
...options,
|
||||
arch: 'x64',
|
||||
platform: 'linux'
|
||||
});
|
||||
const allPaths = [...win32Paths, ...linuxPaths];
|
||||
console.log(`New packages available under ${allPaths.join(', ')}`);
|
||||
}
|
||||
catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
}
|
||||
|
||||
build();
|
||||
|
||||
function packagerAsync(options) {
|
||||
return new Promise((resolve, reject) => {
|
||||
packager(options, (err, paths) => {
|
||||
if (err) reject(err);
|
||||
resolve(paths);
|
||||
});
|
||||
})
|
||||
}
|
||||
-46
@@ -1,46 +0,0 @@
|
||||
const packager = require('electron-packager');
|
||||
const { sep } = require('path');
|
||||
|
||||
const options = {
|
||||
dir: '.',
|
||||
appCopyright: 'Dieses Produkt wurde unter Lizenz erstellt. Das Schwarze Auge und sein Logo sowie Aventuria, Dere, Myranor, Riesland, Tharun und Uthuria und ihre Logos sind eingetragene Marken von Significant GbR in Deutschland, den U.S.A. und anderen Ländern. Ulisses Spiele und sein Logo sind eingetragene Marken der Ulisses Medien und Spiele Distribution GmbH. Dieses Werk enthält Material, das durch Ulisses Spiele und/oder andere Autoren urheberrechtlich geschützt ist. Solches Material wird mit Erlaubnis im Rahmen der Vereinbarung über Gemeinschaftsinhalte für SCRIPTORIUM AVENTURIS verwendet. Alle anderen Originalmaterialien in diesem Werk sind Copyright (c) 2017-Gegenwart von Lukas Obermann und werden im Rahmen der Vereinbarung über Gemeinschaftsinhalte für SCRIPTORIUM AVENTURIS veröffentlicht.',
|
||||
asar: true,
|
||||
icon: './app/icon',
|
||||
ignore: /^\/(\.rpt2_cache|\.vs|\.vscode|css|src|wiki|\.git\w*|build\w*\.|bundle\w*\.|clicommands\.txt|jsconfig\.json|tslint\.json|tsconfig\.json)/,
|
||||
name: 'tdeheroes',
|
||||
out: './dist',
|
||||
overwrite: true,
|
||||
prune: true,
|
||||
win32metadata: {
|
||||
CompanyName: 'Lukas Obermann',
|
||||
FileDescription: 'TDE5 Heroes',
|
||||
OriginalFilename: 'tdeheroes.exe',
|
||||
ProductName: 'TDE5 Heroes',
|
||||
InternalName: 'TDE app'
|
||||
}
|
||||
}
|
||||
|
||||
async function build() {
|
||||
try {
|
||||
const darwinPaths = await packagerAsync({
|
||||
...options,
|
||||
arch: 'x64',
|
||||
platform: 'darwin'
|
||||
});
|
||||
console.log(`New package(s) available under ${darwinPaths.join(', ')}`);
|
||||
}
|
||||
catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
}
|
||||
|
||||
build();
|
||||
|
||||
function packagerAsync(options) {
|
||||
return new Promise((resolve, reject) => {
|
||||
packager(options, (err, paths) => {
|
||||
if (err) reject(err);
|
||||
resolve(paths);
|
||||
});
|
||||
})
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
node --harmony ./buildMac.js
|
||||
@@ -1,17 +0,0 @@
|
||||
const { writeFile } = require('fs');
|
||||
const sass = require('node-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,7 +0,0 @@
|
||||
tsc node_modules/react-gemini-scrollbar/src/index.jsx --outDir node_modules/react-gemini-scrollbar/dist --allowJs --jsx React
|
||||
|
||||
const (_\w+) = (\(.*\)) => AppDispatcher\.dispatch<(\w+)>\(
|
||||
function $1$2: $3 {\n\treturn
|
||||
|
||||
^\}\);
|
||||
\t};\n}
|
||||
@@ -1,16 +0,0 @@
|
||||
%brown-border {
|
||||
&::after {
|
||||
position: absolute;
|
||||
left: -11px;
|
||||
top: -1px;
|
||||
@include calc(width, "100% + 5px");
|
||||
height: 100%;
|
||||
content: "";
|
||||
border-image: linear-gradient(to right, $color14 0%, transparentize($color14, 1) 100%);
|
||||
border-image-slice: 1;
|
||||
border-width: 1px 0 1px 6px;
|
||||
border-style: solid;
|
||||
border-color: transparent;
|
||||
pointer-events: none;
|
||||
}
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
@import "brown-border";
|
||||
@import "large-tr";
|
||||
@import "max-size-relative";
|
||||
@import "tr-imp";
|
||||
@import "tr-typ";
|
||||
@import "tr-untyp";
|
||||
@import "yellow-border";
|
||||
@@ -1,25 +0,0 @@
|
||||
%large-tr {
|
||||
td {
|
||||
height: 42px;
|
||||
|
||||
&.name {
|
||||
> div {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
> h2, > div {
|
||||
flex: none;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
> div {
|
||||
margin-left: 14px;
|
||||
|
||||
&.tiers {
|
||||
width: 65px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
%max-size-relative {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
%tr-imp {
|
||||
&.imp td {
|
||||
color: #c89c3d;
|
||||
|
||||
&.name h2, &.fw {
|
||||
color: #fabe0a;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
%tr-typ {
|
||||
&.typ td {
|
||||
color: #005177;
|
||||
|
||||
&.name h2, &.fw {
|
||||
color: #0acbe6;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
%tr-untyp {
|
||||
&.untyp td {
|
||||
color: #aa1b32;
|
||||
|
||||
&.name h2, &.fw {
|
||||
color: #ff2345;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
%yellow-border {
|
||||
&::after {
|
||||
position: absolute;
|
||||
left: -11px;
|
||||
top: -1px;
|
||||
@include calc(width, "100% + 5px");
|
||||
height: 100%;
|
||||
content: "";
|
||||
border-image: linear-gradient(to right, #fabe0a 0%, transparentize(#fabe0a, 1) 100%);
|
||||
border-image-slice: 1;
|
||||
border-width: 1px 0 1px 6px;
|
||||
border-style: solid;
|
||||
border-color: transparent;
|
||||
pointer-events: none;
|
||||
}
|
||||
}
|
||||
Binary file not shown.
@@ -0,0 +1,25 @@
|
||||
// Generated by ReScript, PLEASE EDIT WITH CARE
|
||||
'use strict';
|
||||
|
||||
|
||||
var WINDOWS = {};
|
||||
|
||||
var LINUX = {};
|
||||
|
||||
var MAC = {};
|
||||
|
||||
var Platform = {
|
||||
WINDOWS: WINDOWS,
|
||||
LINUX: LINUX,
|
||||
MAC: MAC
|
||||
};
|
||||
|
||||
var Config = {};
|
||||
|
||||
var ElectronBuilder = {
|
||||
Platform: Platform,
|
||||
Config: Config
|
||||
};
|
||||
|
||||
exports.ElectronBuilder = ElectronBuilder;
|
||||
/* No side effect */
|
||||
@@ -0,0 +1,361 @@
|
||||
module ElectronBuilder = {
|
||||
type target;
|
||||
|
||||
module Platform = {
|
||||
module WINDOWS = {
|
||||
[@bs.module "electron-builder"] [@bs.scope ("Platform", "WINDOWS")]
|
||||
external createTarget: unit => target = "createTarget";
|
||||
};
|
||||
|
||||
module LINUX = {
|
||||
[@bs.module "electron-builder"] [@bs.scope ("Platform", "LINUX")]
|
||||
external createTarget: unit => target = "createTarget";
|
||||
};
|
||||
|
||||
module MAC = {
|
||||
[@bs.module "electron-builder"] [@bs.scope ("Platform", "MAC")]
|
||||
external createTarget: unit => target = "createTarget";
|
||||
};
|
||||
};
|
||||
|
||||
module Config = {
|
||||
type directories = {
|
||||
buildResources: option(string),
|
||||
output: option(string),
|
||||
app: option(string),
|
||||
};
|
||||
|
||||
type target = {
|
||||
target: string,
|
||||
arch: option(array(string)),
|
||||
};
|
||||
|
||||
type mac = {
|
||||
artifactName: option(string),
|
||||
category: option(string),
|
||||
target: option(string),
|
||||
icon: option(string),
|
||||
[@bs.as "type"]
|
||||
type_: option(string),
|
||||
hardenedRuntime: option(bool),
|
||||
gatekeeperAssess: option(bool),
|
||||
};
|
||||
|
||||
type dmg = {sign: option(bool)};
|
||||
|
||||
type win = {
|
||||
artifactName: option(string),
|
||||
target: option(array(target)),
|
||||
icon: option(string),
|
||||
};
|
||||
|
||||
type nsis = {
|
||||
perMachine: option(bool),
|
||||
deleteAppDataOnUninstall: option(bool),
|
||||
};
|
||||
|
||||
type linux = {
|
||||
artifactName: option(string),
|
||||
category: option(string),
|
||||
target: option(array(target)),
|
||||
executableName: option(string),
|
||||
icon: option(string),
|
||||
};
|
||||
|
||||
type publish = {
|
||||
provider: string,
|
||||
url: string,
|
||||
channel: option(string),
|
||||
useMultipleRangeRequest: option(bool),
|
||||
};
|
||||
|
||||
type t = {
|
||||
appId: option(string),
|
||||
productName: option(string),
|
||||
copyright: option(string),
|
||||
directories: option(directories),
|
||||
mac: option(mac),
|
||||
dmg: option(dmg),
|
||||
win: option(win),
|
||||
nsis: option(nsis),
|
||||
linux: option(linux),
|
||||
files: option(array(string)),
|
||||
publish: option(publish),
|
||||
};
|
||||
};
|
||||
|
||||
type options = {
|
||||
config: Config.t,
|
||||
targets: target,
|
||||
};
|
||||
|
||||
[@bs.module "electron-builder"]
|
||||
external build: options => Js.Promise.t(list(string)) = "build";
|
||||
};
|
||||
|
||||
// module Publisher = {
|
||||
// // 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");
|
||||
|
||||
// type channel =
|
||||
// | Stable
|
||||
// | Insider;
|
||||
|
||||
// type os =
|
||||
// | Windows
|
||||
// | OSX
|
||||
// | Linux;
|
||||
|
||||
// /**
|
||||
// * Needed env variables:
|
||||
// * - `HOST`
|
||||
// * - `USERNAME`
|
||||
// * - `PASSWORD`
|
||||
// */
|
||||
// let publishToServer = (channel, os) => {
|
||||
// let subFolder =
|
||||
// switch (os) {
|
||||
// | Windows => "win"
|
||||
// | Linux => "linux"
|
||||
// | OSX => "mac"
|
||||
// };
|
||||
|
||||
// let updateYmlName =
|
||||
// switch (os) {
|
||||
// | Windows => "latest.yml"
|
||||
// | Linux => "latest-linux.yml"
|
||||
// | OSX => "latest-mac.yml"
|
||||
// };
|
||||
|
||||
// let distPath =
|
||||
// switch (channel) {
|
||||
// | Insider => ["dist", "insider"]
|
||||
// | Stable => ["dist"]
|
||||
// };
|
||||
|
||||
// let subPathServer =
|
||||
// switch (channel) {
|
||||
// | Insider => "insider/"
|
||||
// | Stable => ""
|
||||
// };
|
||||
|
||||
// let serverPath = "./update.optolith.app/" ++ subPathServer ++ subFolder;
|
||||
|
||||
// let regex =
|
||||
// switch (channel) {
|
||||
// | Insider =>
|
||||
// switch (os) {
|
||||
// | Windows =>
|
||||
// %re
|
||||
// "/^OptolithInsiderSetup_(.+)\\.exe$/"
|
||||
// | Linux =>
|
||||
// %re
|
||||
// "/^OptolithInsider_(.+)\\.(?:AppImage|tar\\.gz)$/"
|
||||
// | OSX =>
|
||||
// %re
|
||||
// "/^OptolithInsider_(.+)\\.(?:zip|dmg)$/"
|
||||
// }
|
||||
// | Stable =>
|
||||
// switch (os) {
|
||||
// | Windows =>
|
||||
// %re
|
||||
// "/^OptolithSetup_(.+)\\.exe$/"
|
||||
// | Linux =>
|
||||
// %re
|
||||
// "/^Optolith_(.+)\\.(?:AppImage|tar\\.gz)$/"
|
||||
// | OSX =>
|
||||
// %re
|
||||
// "/^Optolith_(.+)\\.(?:zip|dmg)$/"
|
||||
// }
|
||||
// };
|
||||
|
||||
// let recreateFileNames =
|
||||
// switch (channel) {
|
||||
// | Insider =>
|
||||
// switch (os) {
|
||||
// | Windows => (v => ["OptolithInsiderSetup_" ++ v ++ ".exe"])
|
||||
// | Linux => (
|
||||
// v => [
|
||||
// "OptolithInsider_" ++ v ++ ".AppImage",
|
||||
// "OptolithInsider_" ++ v ++ ".tar.gz",
|
||||
// ]
|
||||
// )
|
||||
// | OSX => (
|
||||
// v => [
|
||||
// "OptolithInsider_" ++ v ++ ".dmg",
|
||||
// "OptolithInsider_" ++ v ++ ".zip",
|
||||
// ]
|
||||
// )
|
||||
// }
|
||||
// | Stable =>
|
||||
// switch (os) {
|
||||
// | Windows => (v => ["OptolithSetup_" ++ v ++ ".exe"])
|
||||
// | Linux => (
|
||||
// v => [
|
||||
// "Optolith_" ++ v ++ ".AppImage",
|
||||
// "Optolith_" ++ v ++ ".tar.gz",
|
||||
// ]
|
||||
// )
|
||||
// | OSX => (
|
||||
// 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 Stable = {
|
||||
// let config: ElectronBuilder.Config.t = {
|
||||
// appId: Some("com.lukasobermann.optolith"),
|
||||
// productName: Some("Optolith"),
|
||||
// copyright:
|
||||
// Some(
|
||||
// "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:
|
||||
// Some({buildResources: None, output: Some("dist"), app: None}),
|
||||
// files: Some([|"app/**/*"|]),
|
||||
// mac:
|
||||
// Some({
|
||||
// artifactName: Some("Optolith_${version}.${ext}"),
|
||||
// category: Some("public.app-category.role-playing-games"),
|
||||
// target: Some("default"),
|
||||
// icon: Some("app/icon.icns"),
|
||||
// type_: Some("distribution"),
|
||||
// hardenedRuntime: Some(true),
|
||||
// gatekeeperAssess: Some(false),
|
||||
// }),
|
||||
// dmg: Some({sign: Some(false)}),
|
||||
// win:
|
||||
// Some({
|
||||
// artifactName: Some("OptolithSetup_${version}.${ext}"),
|
||||
// target: Some([|{target: "nsis", arch: Some([|"x64", "ia32"|])}|]),
|
||||
// icon: Some("app/icon.ico"),
|
||||
// }),
|
||||
// nsis:
|
||||
// Some({perMachine: Some(true), deleteAppDataOnUninstall: Some(false)}),
|
||||
// linux:
|
||||
// Some({
|
||||
// artifactName: Some("Optolith_${version}.${ext}"),
|
||||
// category: Some("RolePlaying"),
|
||||
// target:
|
||||
// Some([|
|
||||
// {target: "AppImage", arch: Some([|"x64"|])},
|
||||
// {target: "tar.gz", arch: Some([|"x64"|])},
|
||||
// |]),
|
||||
// executableName: Some("Optolith"),
|
||||
// icon: Some("app"),
|
||||
// }),
|
||||
// publish:
|
||||
// Some({
|
||||
// provider: "generic",
|
||||
// url:
|
||||
// Belt.Option.getWithDefault(
|
||||
// Js.Dict.get(Node.Process.process##env, "PUBLISH_URL"),
|
||||
// "",
|
||||
// ),
|
||||
// channel: Some("latest"),
|
||||
// useMultipleRangeRequest: None,
|
||||
// }),
|
||||
// };
|
||||
|
||||
// let buildWindows = (): Js.Promise.t(unit) => {
|
||||
// Js.log("Building Optolith for Windows...");
|
||||
|
||||
// ElectronBuilder.build({
|
||||
// config,
|
||||
// targets: ElectronBuilder.Platform.WINDOWS.createTarget(),
|
||||
// })
|
||||
// |> Js.Promise.then_(x => {
|
||||
// Js.log("Optolith Build for Windows successful.");
|
||||
// x |> ignore |> Js.Promise.resolve;
|
||||
// })
|
||||
// |> Js.Promise.then_(_ =>
|
||||
// Js.Promise.resolve(Publisher.publishToServer(Stable, Windows))
|
||||
// )
|
||||
// |> Js.Promise.then_(_ => {
|
||||
// Js.log("Optolith Build for Windows deployed.");
|
||||
|
||||
// Js.Promise.resolve();
|
||||
// });
|
||||
// };
|
||||
|
||||
// let buildLinux = (): Js.Promise.t(unit) => {
|
||||
// Js.log("Building Optolith for Linux...");
|
||||
|
||||
// ElectronBuilder.build({
|
||||
// config,
|
||||
// targets: ElectronBuilder.Platform.LINUX.createTarget(),
|
||||
// })
|
||||
// |> Js.Promise.then_(x => {
|
||||
// Js.log("Optolith Build for Linux successful.");
|
||||
// x |> ignore |> Js.Promise.resolve;
|
||||
// })
|
||||
// |> Js.Promise.then_(_ =>
|
||||
// Js.Promise.resolve(Publisher.publishToServer(Stable, Linux))
|
||||
// )
|
||||
// |> Js.Promise.then_(_ => {
|
||||
// Js.log("Optolith Build for Linux deployed.");
|
||||
|
||||
// Js.Promise.resolve();
|
||||
// });
|
||||
// };
|
||||
|
||||
// let buildMac = (): Js.Promise.t(unit) => {
|
||||
// Js.log("Building Optolith for OSX...");
|
||||
|
||||
// ElectronBuilder.build({
|
||||
// config,
|
||||
// targets: ElectronBuilder.Platform.MAC.createTarget(),
|
||||
// })
|
||||
// |> Js.Promise.then_(x => {
|
||||
// Js.log("Optolith Build for OSX successful.");
|
||||
// x |> ignore |> Js.Promise.resolve;
|
||||
// })
|
||||
// |> Js.Promise.then_(_ =>
|
||||
// Js.Promise.resolve(Publisher.publishToServer(Stable, OSX))
|
||||
// )
|
||||
// |> Js.Promise.then_(_ => {
|
||||
// Js.log("Optolith Build for OSX deployed.");
|
||||
|
||||
// Js.Promise.resolve();
|
||||
// });
|
||||
// };
|
||||
// };
|
||||
@@ -0,0 +1,73 @@
|
||||
/**
|
||||
* @type {import ("electron-builder") .Configuration}
|
||||
*/
|
||||
module.exports = {
|
||||
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/**/*",
|
||||
"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: "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.UPDATE_URL}/\${os}`,
|
||||
"channel": "latest"
|
||||
},
|
||||
// afterSign: notarize,
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
// @ts-check
|
||||
const builder = require("electron-builder")
|
||||
const { getSystem } = require("./platform")
|
||||
|
||||
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"
|
||||
? require("./build.prerelease.config.js")
|
||||
: require("./build.config.js")
|
||||
|
||||
process.on ('unhandledRejection', error => {
|
||||
throw new Error (`Unhandled promise rejection: ${error .toString ()}`);
|
||||
});
|
||||
|
||||
const os = getSystem()
|
||||
|
||||
const plaformKey = os === "linux" ? "LINUX" : os === "mac" ? "MAC" : "WINDOWS"
|
||||
|
||||
builder.build ({ config, targets: builder.Platform[plaformKey].createTarget () })
|
||||
@@ -0,0 +1,74 @@
|
||||
/**
|
||||
* @type {import ("electron-builder") .Configuration}
|
||||
*/
|
||||
module.exports = {
|
||||
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/**/*",
|
||||
"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: "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.UPDATE_URL}/insider/\${os}`,
|
||||
"channel": "latest"
|
||||
},
|
||||
// afterSign: notarize,
|
||||
}
|
||||
@@ -0,0 +1,150 @@
|
||||
// @ts-check
|
||||
require("dotenv").config()
|
||||
const { Client } = require ("qusly-core")
|
||||
const readline = require ("readline")
|
||||
const fs = require ("fs")
|
||||
const path = require ("path")
|
||||
const semver = require ("semver");
|
||||
const { getSystem, getSystemName } = require("./platform");
|
||||
|
||||
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}`)
|
||||
}
|
||||
|
||||
if (os !== "win" && os !== "mac" && os !== "linux") {
|
||||
throw new TypeError (`publishToServer requires a specified OS ("win", "mac" or "linux"), but it received ${os}`)
|
||||
}
|
||||
|
||||
/**
|
||||
* Needed env variables:
|
||||
* - `HOST`
|
||||
* - `USERNAME`
|
||||
* - `PASSWORD`
|
||||
* - `ROOT`
|
||||
*/
|
||||
const uploadToServer = async () => {
|
||||
console.log (`Preparing to upload update files for "${getSystemName(os)}" on "${channel}" channel...`)
|
||||
|
||||
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 === "prerelease" ? ["dist", "insider"] : ["dist"]
|
||||
|
||||
const serverPath = `${process.env.ROOT}${channel === "prerelease" ? "/insider" : ""}/${subFolder}`
|
||||
|
||||
const regex =
|
||||
channel === "prerelease"
|
||||
? 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 === "prerelease"
|
||||
? os === "win"
|
||||
? /**
|
||||
* @param {string} v Version
|
||||
*/ v => [`OptolithInsiderSetup_${v}.exe`, `OptolithInsiderSetup_${v}.exe.blockmap`]
|
||||
: os === "linux"
|
||||
? /**
|
||||
* @param {string} v Version
|
||||
*/ v => [`OptolithInsider_${v}.AppImage`, `OptolithInsider_${v}.tar.gz`]
|
||||
: /**
|
||||
* @param {string} v Version
|
||||
*/ v => [`OptolithInsider_${v}.dmg`, `OptolithInsider_${v}.dmg.blockmap`, `OptolithInsider_${v}.zip`]
|
||||
: os === "win"
|
||||
? /**
|
||||
* @param {string} v Version
|
||||
*/ v => [`OptolithSetup_${v}.exe`, `OptolithSetup_${v}.exe.blockmap`]
|
||||
: os === "linux"
|
||||
? /**
|
||||
* @param {string} v Version
|
||||
*/ v => [`Optolith_${v}.AppImage`, `Optolith_${v}.tar.gz`]
|
||||
: /**
|
||||
* @param {string} v Version
|
||||
*/ v => [`Optolith_${v}.dmg`, `Optolith_${v}.dmg.blockmap`, `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 ({
|
||||
protocol: "sftp",
|
||||
host: process.env.HOST,
|
||||
user: process.env.USERNAME,
|
||||
password: process.env.PASSWORD,
|
||||
})
|
||||
|
||||
let loggedProgress = false
|
||||
|
||||
client.addListener("progress", (progress, info) => {
|
||||
if (loggedProgress) {
|
||||
readline.clearLine(process.stdout, 1);
|
||||
readline.cursorTo(process.stdout, 0);
|
||||
}
|
||||
else {
|
||||
loggedProgress = true
|
||||
}
|
||||
|
||||
process.stdout.write(`Progress: ${progress.percent}%`);
|
||||
})
|
||||
|
||||
console.log(`Server connection established.`);
|
||||
|
||||
for (const fileName of latestFileNames) {
|
||||
console.log(`Uploading ${fileName}`);
|
||||
|
||||
loggedProgress = false
|
||||
const stream = fs.createReadStream (path.join (...distPath, fileName))
|
||||
await client.upload (`${serverPath}/${fileName}`, stream)
|
||||
|
||||
console.log(`\nUpload done: ${fileName}.`);
|
||||
}
|
||||
|
||||
console.log(`Uploading ${updateYmlName}...`);
|
||||
|
||||
loggedProgress = false
|
||||
const updateYml = fs.createReadStream (path.join (...distPath, updateYmlName))
|
||||
await client.upload (`${serverPath}/${updateYmlName}`, updateYml)
|
||||
|
||||
console.log(`\nUpload done: ${updateYmlName}.`);
|
||||
|
||||
await client.disconnect ()
|
||||
|
||||
console.log("Closed server connection.");
|
||||
}
|
||||
|
||||
uploadToServer()
|
||||
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!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>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -0,0 +1,29 @@
|
||||
// @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,32 @@
|
||||
// @ts-check
|
||||
const os = require ("os")
|
||||
|
||||
module.exports = {
|
||||
/**
|
||||
* @typedef {"win" | "mac" | "linux"} System
|
||||
* @returns {System}
|
||||
*/
|
||||
getSystem: () => {
|
||||
switch (os.platform()) {
|
||||
case "win32":
|
||||
return "win"
|
||||
case "darwin":
|
||||
return "mac"
|
||||
default:
|
||||
return "linux"
|
||||
}
|
||||
},
|
||||
/**
|
||||
* @param {System} system
|
||||
*/
|
||||
getSystemName: system => {
|
||||
switch (system) {
|
||||
case "win":
|
||||
return "Windows"
|
||||
case "mac":
|
||||
return "macOS"
|
||||
case "linux":
|
||||
return "Linux"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
# Decoding
|
||||
|
||||
Here you'll find some useful information about the design of the YAML decoders.
|
||||
|
||||
## Overview
|
||||
|
||||
Decoding the database is splitted into parsing the YAML files and decoding the result. Parsing is done by the `Yaml_Parse` module and the `Yaml_Decode` module controls the decoding of the various entry types. The `Yaml` module then combines all functions into a single exported function.
|
||||
|
||||
## Decode Entry Types
|
||||
|
||||
### Decoder structure
|
||||
|
||||
All decodable main types share a common decoder layout. All values only relevant while decoding are inside a `Decode` module at the same level as the type it is the decoder for.
|
||||
|
||||
```ml
|
||||
(** Since this is the actual type, it's not really part of the decoding pipeline
|
||||
but I'll keep it here to make the definitions complete. *)
|
||||
type t = {
|
||||
(* ... *)
|
||||
}
|
||||
|
||||
module Decode = struct
|
||||
open Json.Decode
|
||||
open JsonStrict
|
||||
|
||||
type translation = { (* ... language-specific properties *) }
|
||||
|
||||
let translation json =
|
||||
{
|
||||
(* ... decode language-specific properties *)
|
||||
}
|
||||
|
||||
type multilingual = {
|
||||
(* ... language-independent properties *)
|
||||
translations : translation TranslationMap.t;
|
||||
}
|
||||
|
||||
let multilingual json =
|
||||
{
|
||||
(* ... decode language-independent properties *)
|
||||
translations =
|
||||
json |> field "translations" (TranslationMap.Decode.t translation);
|
||||
}
|
||||
|
||||
let make_assoc locale_order json =
|
||||
let open Option.Infix in
|
||||
json |> multilingual |> fun multilingual ->
|
||||
multilingual.translations |> TranslationMap.preferred locale_order
|
||||
<&> fun (translation : translation) ->
|
||||
( multilingual.id,
|
||||
{
|
||||
(* ... merge language-independent and language-specific properties *)
|
||||
} )
|
||||
end
|
||||
```
|
||||
|
||||
#### Decoding types
|
||||
|
||||
Since language-specific values in the YAML files are always defined in dictionaries where the keys map to the locale identifiers, we always split the language-specific and the language-independent parts.
|
||||
|
||||
The language-specific part of a type is always defined as type `translation`. The corresponding `translation` decoder function is later used to decode the translation dictionary, also called *translation map*.
|
||||
|
||||
The language-independent part of a type is defined as type `multilingual` and usually has the property `translations`, which is the dictionary of all translations. The corresponding `multilingual` decoder function uses the `translation` decoder together with the translation map decoder from the `TranslationMap` module to fully decode the dictionary of translations.
|
||||
|
||||
Using a list of preferred locales, sorted by preference, (`Locale.Order.t`) we can retrieve the most preferred translation using `TranslationMap.preferred` and then combine the translation values and the multilingual values to form the final record type. Following OCaml conventions, this function is called `make`.
|
||||
|
||||
Often, in order to be used more easily, the `make` function returns a pair of the respective entry's identifier and the entry itself to create a `Map` more easily. To hint at this specific use, the function is then called `make_assoc`. If a nested type is only decoded in a context of collection type (like a list), this decoder can be provided using a `make` variant as well (in this case, `make_list`).
|
||||
|
||||
If other decodable types are nested withing a type, the `multilingual` function usually takes the list of preferred locales as well to be able to pass it down to the nested types' decoders.
|
||||
|
||||
### `Decode` module visibility conventions
|
||||
|
||||
Only the `make` function or its variant should be exposed.
|
||||
|
||||
### Naming conventions
|
||||
|
||||
- The language-specific tyüe is always named `translation`.
|
||||
- The record containing all language-independent values as well as the translation map is called `multilingual` and the translation map is at the property `translations` (just like in the source).
|
||||
- A decoder for a specific type has the same name as the type.
|
||||
- The function resolving the translation map and returning the actual main type is called `make`.
|
||||
- A potential helper function that decodes the type as part of a collection is called `make_c`, where `c` is the name of the collection, e.g. `make_list`.
|
||||
@@ -0,0 +1,18 @@
|
||||
# Deployment
|
||||
|
||||
## Necessary environment variables in Travis
|
||||
|
||||
- `OPTOLITH_KEY`: Key to decrypt tables
|
||||
|
||||
<!-- - `CSC_LINK`: base64-encoded certificate to sign for macOS
|
||||
- `CSC_KEY_PASSWORD`: Password to decrypt certificate
|
||||
- `APPLEID`: Apple ID used to notarize macOS app
|
||||
- `APPLEIDPASS`: Application-specific Apple ID password -->
|
||||
|
||||
## Necessary environment variables in Node
|
||||
|
||||
- `HOST`: Server
|
||||
- `USER`: User on server
|
||||
- `PASSWORD`: Password for user on server
|
||||
- `PUBLISH_URL`: Download URL for stable versions
|
||||
- `PUBLISH_URL_INSIDER`: Download URL for insider versions
|
||||
@@ -0,0 +1,8 @@
|
||||
# *Dynamic* and *Static*
|
||||
|
||||
In entry type definition files, you'll often see the content is wrapped in a `Dynamic` and a `Static` module. What does that mean?
|
||||
|
||||
- **Static** values come from the YAML files, so they have been defined there and they will not change while the program runs.
|
||||
- **Dynamic** values are kind of like *instances* of the *static* values. They are part of the heroes and define how an entry is configured for that hero.
|
||||
|
||||
For example, a `Spell.Static.t` type is the static representation of a spell: It contains it's name, IC, duration, target category, and so on. The `Spell.Dynamic.t` type is the dynamic representation of the spell for a specific hero: Is the spell active? If yes, which SR does it have?
|
||||
@@ -0,0 +1,27 @@
|
||||
# Generating module code
|
||||
|
||||
## Convert syntax
|
||||
|
||||
Using `bsrefmt`, you can convert between syntaxes:
|
||||
|
||||
```shell
|
||||
./node_modules/.bin/bsrefmt path/to/file --print=syntax
|
||||
```
|
||||
|
||||
`syntax` can be `res`, `re` and `ml`. The converted code from the referenced file will be output to command line.
|
||||
|
||||
## Interface files
|
||||
|
||||
Using `bsc`, you can generate an interface file in OCaml syntax if only the implementation file is present:
|
||||
|
||||
```shell
|
||||
./node_modules/.bin/bsc ./lib/bs/path/to/file.cmi
|
||||
```
|
||||
|
||||
To generate in Reason syntax, provide the `-bs-re-out` flag.
|
||||
|
||||
```shell
|
||||
./node_modules/.bin/bsc -bs-re-out ./lib/bs/path/to/file.cmi
|
||||
```
|
||||
|
||||
The generated code will be output to command line.
|
||||
@@ -0,0 +1,64 @@
|
||||
# Labelled arguments syntax in OCaml
|
||||
|
||||
The syntax for labelled arguments might not always be obvious. Below you'll find a cheatsheet for the syntax in both implementations and signatures.
|
||||
|
||||
## Basic
|
||||
|
||||
### Definition
|
||||
|
||||
```ocaml
|
||||
let f ~param:param = param
|
||||
```
|
||||
|
||||
You can omit the variable name after the label itself if its the same as the label.
|
||||
|
||||
```ocaml
|
||||
let f ~param = param
|
||||
```
|
||||
|
||||
### Call
|
||||
|
||||
```ocaml
|
||||
let x = f ~param:value
|
||||
```
|
||||
|
||||
### Signature
|
||||
|
||||
```ocaml
|
||||
val f : ~param:'a -> 'a
|
||||
```
|
||||
|
||||
## Optional
|
||||
|
||||
```ocaml
|
||||
let f ?param:param () = param
|
||||
let f ?param () = param
|
||||
|
||||
val f : ?param:'a -> unit -> 'a
|
||||
```
|
||||
|
||||
You can also provide a default value.
|
||||
|
||||
```ocaml
|
||||
let f ?(param=0) () = param
|
||||
let f ?param:(param=0) () = param
|
||||
```
|
||||
|
||||
A function defining optional arguments must also define at least one non-labelled argument. A typical parameter for this use case is unit.
|
||||
|
||||
```ocaml
|
||||
let f ?param () = param
|
||||
|
||||
let x = f () (* x = None *)
|
||||
let x = f ~param:0 () (* x = Some 0 *)
|
||||
```
|
||||
|
||||
You may also forward an optional type to an optional argument.
|
||||
|
||||
```ocaml
|
||||
let f ?param () = param
|
||||
|
||||
let x = f () (* x = None *)
|
||||
let x = f ?param:None () (* x = None *)
|
||||
let x = f ?param:(Some 0) () (* x = Some 0 *)
|
||||
```
|
||||
@@ -0,0 +1,16 @@
|
||||
# Structure
|
||||
|
||||
- `src` – The source code main folder, containing program entry points.
|
||||
- `Common` – Types and functions associated with multiple ‘namespaces’.
|
||||
- `Database` – The flat-file database containing all static data from the source books.
|
||||
- `Dependencies` – Types and functions for working with dependencies between entries and the prerequisites they are based on.
|
||||
- `External` – Bindings to external libraries via FFI.
|
||||
- `Localization` – Types and functions related to different languages in the app and the source books.
|
||||
- `Rated` – All data types for entries with *ratings* (attributes, skills or combat techniques) and related types and logic.
|
||||
- `ArcaneSpellworks` – All data types for arcane spellworks (spells and rituals) and related types and logic.
|
||||
- `Liturgies` – All data types for liturgies (liturgical chants and ceremonies) and related types and logic.
|
||||
- `MagicalActions` – All data types for magical actions (curses, Elven magical songs, …) and related types and logic.
|
||||
- `Rules` – All data types for rule entries.
|
||||
- `Sources` – Types and functions dealing with data related to source books: Source books themselves, references, availability by book and errata.
|
||||
- `Utilities` – Utility functions and types for working with standard types or I/O.
|
||||
- `Abstractions` – Utility functions and types for working with type abstractions such as monads that can be used to create similar functions for different container types.
|
||||
@@ -0,0 +1,241 @@
|
||||
[size=200]1.1.2[/size]
|
||||
|
||||
[size=150]Verbesserungen[/size]
|
||||
|
||||
[list]
|
||||
[*]Die Meldung beim Laden ist jetzt auf Deutsch.
|
||||
[*]Das Abschließen der SKP-Auswahl kann jetzt rückgängig gemacht werden.
|
||||
[/list]
|
||||
|
||||
[size=150]Fehlerbehebungen[/size]
|
||||
|
||||
[list]
|
||||
[*]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 [i]Unerfahren[/i] kann mal als Gildenmagier jetzt auch den ausgewählten Fremdzauber (der jetzt keiner mehr ist) auswählen.
|
||||
[*]In der Auswahlliste für SF [i]Tradition (Gildenmagier)[/i] werden jetzt keine traditionseigenen Zauber mehr angezeigt.
|
||||
[*]Das englische User Interface lädt jetzt wieder ohne Probleme.
|
||||
[*]Profession [i]Akademie von Licht und Dunkelheit[/i] kann jetzt wieder ohne UI-Fehler ausgewählt werden.
|
||||
[/list]
|
||||
|
||||
[size=200]1.1.0/1.1.1[/size]
|
||||
|
||||
[i]Die genaue Versionsnummer der App ist 1.1.1.[/i]
|
||||
|
||||
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:
|
||||
|
||||
[size=150]Neue Features[/size]
|
||||
|
||||
[list]
|
||||
[*]Helden können über die Heldenliste nun direkt gespeichert werden.
|
||||
[*]Portraits von Helden und Begleitern können jetzt auch wieder gelöscht werden.
|
||||
[/list]
|
||||
|
||||
[size=150]Verbesserungen[/size]
|
||||
|
||||
[list]
|
||||
[*]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.
|
||||
[list]
|
||||
[*]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!
|
||||
[/list]
|
||||
[*]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 [i]Tradition (Gildenmagier)[/i] muss jetzt ein Fremdzauber festgelegt werden. [b]Für eine bereits aktivierte SF funktioniert dies im [i]Regeln[/i]-Tab! Bitte stellt dies ein, weil es für kommende Regelwerke relevant ist![/b]
|
||||
[*]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. [b]Für ältere Helden wird diese auf die aktuell eingestellte Sprache eingestellt. Zum Ändern müsst ihr in den [i]Regeln[/i]-Tab wechseln! Bitte stellt dies ein, weil es in kommenden Versionen relevant wird![/b]
|
||||
[*]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 [i]Herausragender Sinn[/i] und Nachteil [i]Eingeschränkter Sinn[/i] wurden zusammengefügt.
|
||||
[*]Unter [i]Ergänzende Quellen[/i] 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 [i]geweiht/nicht geweiht[/i] 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 [i]Bindung des Stabes[/i] als Voraussetzung ausgeblendet.
|
||||
[/list]
|
||||
|
||||
[size=150]Fehlerbehebungen[/size]
|
||||
|
||||
[list]
|
||||
[*]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.
|
||||
[*][i]Meistertalentierte[/i] 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 [i]Wildniskundiger[/i] hinzugefügt.
|
||||
[*]Fehlende Berufsgeheimnisse aus dem [b]Aventurischen Kompendium I[/b] 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.
|
||||
[*][i]Intuitive Zauberer[/i] haben keinen Zugriff mehr auf Rituale und Zauber des Steigerungsfaktors D.
|
||||
[*]„Steigerungskosten“ → „Steigerungsfaktor“.
|
||||
[*]Astralenergie wird beim [i]Gildenmagier aus Perricum[/i] 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.
|
||||
[*][i]Intuitive Zauberer[/i] behandeln jetzt alle Zauber als Zauber ihrer Tradition.
|
||||
[*]Manchmal wurde im Wikieintrag von Professionen anstelle eines Wertes, z. B. bei [i]Ehrenhaftigkeit 6[/i], `null` angezeigt, sodass dort dann [i]Ehrenhaftigkeit null[/i] stand.
|
||||
[*]Manchmal wurde der im Wikieintrag angezeigte vorherige Wert von durch Professionsvarianten veränderte Wert um 6 erhöht. Beispiel Profession Ritter: [i]Etikette 2 statt 12[/i] ist eigentlich [i]Etikette 2 statt 6[/i].
|
||||
[*]Vorteil [i]Herausragende Fertigkeit[/i] funktioniert jetzt auch wieder für Zauber.
|
||||
[*]Vorteil [i]Koboldfreund[/i] fehlte.
|
||||
[*]Nachteil [i]Kleine Zauberauswahl[/i] ist wieder für [i]Intuitive Zauberer[/i] verfügbar.
|
||||
[*]Nachteil [i]Lästige Blütenfeen[/i] fehlte.
|
||||
[*]Nachteil [i]Schlechte Eigenschaft (Geiz)[/i] und [i](Verschwendungssucht)[/i] haben sich nicht ausgeschlossen.
|
||||
[*]Im Eingabefeld für Nachteil [i]Prinzipientreue[/i] steht jetzt „Prinzip“ und nicht mehr „Prinzipie“.
|
||||
[*]Zauber und Liturgien sind jetzt nicht mehr im Nachteil [i]Unfähig[/i] enthalten. Bei Helden, die dies hatten, wird der Nachteil automatisch entfernt.
|
||||
[*]Das Kaufen des Nachteils [i]Wenige Visionen[/i] wirft keinen Fehler mehr.
|
||||
[*]SF [i]Adaption (Zauber)[/i] wird jetzt angezeigt, wenn die Voraussetzungen erfüllt sind.
|
||||
[*]SF [i]Adaption (Zauber)[/i] exkludiert jetzt Fremdzauber.
|
||||
[*]SF [i]Aspektkenntnis[/i] kann wieder problemlos hinzugefügt werden.
|
||||
[*]SF [i]Astralraub[/i]: Leerzeichen fehlte.
|
||||
[*]SF [i]Böser Namensvetter[/i], [i]Lächerlicher Name[/i], [i]Schurkenname[/i], [i]Unpassender Name[/i]: Nicht mehr als Elf wählbar.
|
||||
[*]SF [i]Böser Namensvetter[/i]: Formatierung korrigiert.
|
||||
[*]SF [i]Buchdrucker[/i]: Voraussetzung Stoffbearbeitung 4 → Mechanik 4.
|
||||
[*]SF [i]Eisenhagel[/i] kann wieder gekauft werden.
|
||||
[*]SF [i]Gebieter des \[Aspekts\][/i] wird jetzt wieder angezeigt, wenn die Voraussetzungen dafür erfüllt werden.
|
||||
[*]SF [i]Kupferstich[/i]: Voraussetzung Lebensmittelbearbeitung 4 → Malen & Zeichen 4.
|
||||
[*]SF [i]Macht der Namenlosen Klinge[/i] ist jetzt wieder in allen 13 Stufen auswählbar, natürlich vorausgesetzt, dass die Voraussetzungen erfüllt sind.
|
||||
[*]SF [i]Merkmalskenntnis[/i] kann wieder problemlos hinzugefügt werden.
|
||||
[*]SF [i]Präziser Schuss/Wurf[/i] hatte falsche Eigenschaftsvoraussetzungen.
|
||||
[*]SF [i]Scharfschütze II[/i]: Voraussetzung ist jetzt IN 17 statt IN 15.
|
||||
[*]SF [i]Siegelbrecher[/i]: Merkmal Hellsicht → Merkmal Antimagie.
|
||||
[*]SF [i]Verschwinde![/i]: AsP-Kosten und Volumen ergänzt.
|
||||
[*]Die Nachteile [i]Keine Flugsalbe[/i] und [i]Kein Vertrauter[/i] verringern nun korrekt die Kosten der SF [i]Tradition (Hexen)[/i].
|
||||
[*]SF [i]Tradition (Gildenmagier)[/i] wird jetzt bei der Fremdzauberbegrenzung berücksichtigt (siehe dazu auch die Änderung an der Tradition weiter oben).
|
||||
[*]SF [i]Volumenerweiterung des Bannschwerts[/i]: AsP-Kosten ergänzt.
|
||||
[*][i]Bekehren & Überzeugen[/i]: Probe MU/IN/CH → MU/KL/CH.
|
||||
[*][i]Etikette[/i], Belastung: Evtl. → Nein.
|
||||
[*][i]Fahrzeuge[/i]: Unter [b]Werkzeuge[/b] fehlte [i]Fahrzeug[/i].
|
||||
[*][i]Tanzen[/i], misslungene Probe: Vorher war dort der Text von [i]Sinnesschärfe[/i].
|
||||
[*][i]Verkleiden[/i], Belastung: Evtl. → Ja.
|
||||
[*]Falsche Probeneigenschaften von Zaubern/Magischen Handlungen:
|
||||
[list]
|
||||
[*][i]Friedenslied[/i]: MU/KL/IN → MU/IN/CH
|
||||
[*][i]Sorgenlied[/i]: MU/CH/CH → MU/IN/IN
|
||||
[*][i]Zaubermelodie[/i]: MU/KL/CH → MU/IN/CH
|
||||
[/list]
|
||||
[*]Text, dass ein bestimmter Aspekt eines Zaubers nicht modifiziert werden kann, fehlt:
|
||||
[list]
|
||||
[*]MOTORICUS: Kosten
|
||||
[*]MOVIMENTO: Wirkungsdauer
|
||||
[*]NEBELWAND: Kosten
|
||||
[/list]
|
||||
[*]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 – [i]Starker Ekel[/i]: 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 [b]Aventurische Magie II[/b].
|
||||
[*]XENOGRAPHUS – [i]Besseres Sprachverständnis[/i] hieß vorher [i]Längere Wirkungsdauer[/i].
|
||||
[*]ZAUBERKLINGE GEISTERSPEER – Zaubererweiterungen: Formatierung korrigiert.
|
||||
[*][i]Melodie des Magieschadens[/i] war nicht durch Ceoladir wählbar.
|
||||
[*][i]Melodie der Zähigkeit[/i]: Formatierung korrigiert.
|
||||
[*][i]Melodie des Zögerns[/i] war nicht durch Derwisch wählbar, konnte aber durch Sangara gewählt werden.
|
||||
[*]Herrschaftsrituale sind nun enthalten.
|
||||
[*]Falsche Probeneigenschaften von Liturgien:
|
||||
[list]
|
||||
[*][i]Kleiner Bannstrahl[/i]: MU/KL/CH → MU/IN/CH
|
||||
[*][i]Ehrenhaftigkeit[/i]: MU/KL/CH → MU/IN/CH
|
||||
[*][i]Ermutigung[/i]: MU/KL/CH → MU/IN/CH
|
||||
[*][i]Friedvolle Aura[/i]: MU/KL/CH → MU/IN/CH
|
||||
[*][i]Wasserlauf[/i]: MU/KL/IN → MU/IN/GE
|
||||
[/list]
|
||||
[*]Text, dass ein bestimmter Aspekt einer Liturgie nicht modifiziert werden kann, fehlt:
|
||||
[list]
|
||||
[*][i]Bann der göttlichen Gaben[/i]: Liturgiedauer
|
||||
[*][i]Dämonenwall[/i]: Kosten
|
||||
[*][i]Liturgieschild[/i]: Kosten
|
||||
[*][i]Mächtiger Angriff[/i]: Kosten
|
||||
[*][i]Magiebann[/i]: Liturgiedauer
|
||||
[*][i]Magiespiegel[/i]: Kosten
|
||||
[*][i]Motivation[/i]: Kosten
|
||||
[*][i]Namenlose Kälte[/i]: Kosten
|
||||
[/list]
|
||||
[*][i]Ächtung (Exkommunikation)[/i] – Liturgieerweiterungen: Buchname bei der Seitenangabe ergänzt.
|
||||
[*][i]Blitzschlag[/i]: Verbreitung [i]Boron (Tod)[/i] statt [i]Rondra (Sturm)[/i].
|
||||
[*][i]Delphingestalt[/i]: Effekttext korrigiert.
|
||||
[*][i]Häutung[/i] und [i]Häutung[/i] – Liturgieerweiterungen: Leerzeichen fehlte.
|
||||
[*][i]Guter Fang[/i]: Liturgie → Zeremonie.
|
||||
[*][i]Guter Fang[/i] – Liturgieerweiterungen: Formatierung korrigiert.
|
||||
[*][i]Klarer Geist[/i]: Aspekt [i]Bildung[/i] entfernt.
|
||||
[*][i]Namenlose Zweifel[/i]: Effekttext korrigiert.
|
||||
[*][i]Namenloses Vergessen[/i]: Effekttext korrigiert.
|
||||
[*][i]Nebelschwaden[/i]: Effekttext korrigiert.
|
||||
[*][i]Obsession[/i] fehlte.
|
||||
[*][i]Opfergang[/i]: Typo korrigiert.
|
||||
[*][i]Pech und Schwefel[/i]: Effekttext vervollständigt.
|
||||
[*][i]Ruf der Heimat[/i]: Effekttext vervollständigt.
|
||||
[*][i]Seevogelsprache[/i] – Mehr Vögel: Leerzeichen eingefügt.
|
||||
[*][i]Sicherer Weg[/i]: Leerzeichen eingefügt.
|
||||
[*][i]Traumbild[/i], Effekt: Leerzeichen fehlte.
|
||||
[*][i]Traumbild[/i] – Liturgieerweiterungen: Formatierung korrigiert.
|
||||
[*][i]Verblassende Erinnerung[/i]: Falsche Verbreitung.
|
||||
[*][i]Verblassende Erinnerung[/i] – Liturgieerweiterungen: Formatierung korrigiert.
|
||||
[*][i]Wasserlauf[/i]: Verbreitung [i]Allgemein[/i] hinzugefügt, Effekttext korrigiert.
|
||||
[*][i]Windruf[/i], Zielkategorie: Objekt (profane Objekte, Segel).
|
||||
[*][i]Zähe Haut[/i]: Aspekt [i]Gutes Gold[/i] hinzugefügt.
|
||||
[*][i]Albernische Bauernwehr[/i]: Wort fehlte.
|
||||
[*][i]Albernisches Entermesser[/i]: Typo behoben.
|
||||
[*][i]Amazonensäbel[/i] fehlte.
|
||||
[*][i]Andergaster[/i]: Formatierung des Waffenvorteils korrigiert.
|
||||
[*][i]Dietrichset[/i] hat jetzt auch Preis und Gewicht.
|
||||
[*][i]Faustschild[/i]: Formatierung korrigiert.
|
||||
[*][i]Gänsebeutel[/i]: Preis korrigiert.
|
||||
[*][i]Gaoraith[/i]: Länge fehlte.
|
||||
[*][i]Hakendolch[/i]: Vorteil und Nachteil ergänzt.
|
||||
[*][i]Handspiegel[/i] zeigt jetzt die dazugehörige Regeltechnik.
|
||||
[*][i]Harbener Säbel[/i], Länge: 100 HF → 75 HF.
|
||||
[*][i]Havener Messer[/i]: Formatierung korrigiert.
|
||||
[*][i]Hunde-, Pony, Pferdefutter[/i]: Gewicht entfernt.
|
||||
[*][i]Kettenhemd[/i]: Formatierung angepasst.
|
||||
[*][i]Kletterseil[/i] hat jetzt korrekte Kosten.
|
||||
[*][i]Korspieß[/i]: Formatierung korrigiert.
|
||||
[*]Der Waffennachteil des [i]Langbogens[/i] war unvollständig.
|
||||
[*][i]Neckerdreizack[/i]: Typo behoben.
|
||||
[*][i]Pergament, gutes, 1 Blatt[/i]: Preis korrigiert.
|
||||
[*][i]Richtschwert[/i] war nicht als Waffe gruppiert.
|
||||
[*][i]Seesäbel[/i]: Formatierung korrigiert und fehlendes Wort ergänzt.
|
||||
[*][i]Sense[/i] war keine improvisierte Waffe mit einem Gewicht von 3,5 Stn.
|
||||
[*]Kosten und Gewicht für [i]Seidenseil[/i] ergänzt.
|
||||
[*][i]Spealleagh[/i] war nicht als Waffe eingetragen.
|
||||
[*][i]Streitkolben der Streitenden Königreiche[/i] fehlte.
|
||||
[*][i]Stockdegen[/i]: Formatierung angepasst.
|
||||
[*][i]Sturmsense[/i]: Formatierung angepasst.
|
||||
[*][i]Turnierrüstung[/i]: Formatierung angepasst.
|
||||
[*][i]Turnierzweihänder[/i]: Leiteigenschaften angepasst.
|
||||
[*][i]Wurfnetz[/i]: Formatierung korrigiert.
|
||||
[*][i]Zugvogelfedern[/i]: Preis korrigiert.
|
||||
[/list]
|
||||
@@ -0,0 +1,490 @@
|
||||
## 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,55 @@
|
||||
## 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.
|
||||
@@ -0,0 +1,109 @@
|
||||
[size=200]1.1.0/1.1.1[/size]
|
||||
|
||||
[i]The exact version number of the app is 1.1.1.[/i]
|
||||
|
||||
After more than one year a big update is finally coming—even though you probably won’t notice it: Optolith got a completely new code. This is accompanied by an internal restructuring, so that features like groups will be possible in the future. This is the biggest change, but not the only one: All reported bugs are fixed and over the last two weeks my testers found several bugs, which are also fixed here.
|
||||
|
||||
You will probably notice that Optolith takes a few seconds longer to load than before. This is because I rebuilt Optolith with the basic idea that it runs more stable. So I do checks during loading to make sure that all data that is loaded really looks as expected and so that nothing unexpected and unintentional, caused by wrong tables or other wrong data in the program, happens. The start performance is definitely going to be improved, but for now I prefer a more stable program to a fast one; after all this is only about starting the program, the performance during use is not affected.
|
||||
|
||||
Last but not least a big thank you to you, for your patience and all your feedback and further help, without which I would not have been able to fix all those bugs. Although new rules have not yet made it into this version, and the next version won’t contain all new ones, Optolith will be able to get up to date more quickly than before.
|
||||
|
||||
But now it’s time for the changelog of this version:
|
||||
|
||||
[size=150]New Features[/size]
|
||||
|
||||
[list]
|
||||
[*]Heroes can now be saved from the hero list.
|
||||
[*]Avatars of heroes and pets can now be deleted.
|
||||
[/list]
|
||||
|
||||
[size=150]Enhancements[/size]
|
||||
|
||||
[list]
|
||||
[*]Select option lists are now filtered by activated books. Previously, that only worked for main lists like special abilities, but now it works for all list, for example the list of trade secrets.
|
||||
[list]
|
||||
[*]Wiki entry lists cannot be filtered by specific books, neither can the wiki entry text in opened heroes. This will be implemented later!
|
||||
[/list]
|
||||
[*]Unfamiliar spells are now going to be highlighted in red (just like uncommon advantages).
|
||||
[*]Searching for professions now includes profession variants.
|
||||
[*]The space for languages on the character sheet is now twice as large.
|
||||
[*]When adding advantages or disadvantages, AP spent on advantages as well as on disadvantages will always be shown.
|
||||
[*]Shields on character sheet are now listed as a weapon as well as a shield.
|
||||
[*]Wiki texts are now selectable.
|
||||
[*]For [i]Tradition (Guild Mage)[/i], you need to set a specific unfamiliar spell. [b]For an already activated SA, you can to the via the [i]Rules[/i] tab. Please set the spell, because it is needed for upcoming books![/b]
|
||||
[*]To be able to better handle differences between languages in terms of rules, heroes are now saving the languages they were created in. [b]For already created heroes, the creation language will be set to the current UI language. To change that, you need to switch to the [i]Rules[/i] tab! Please check it, because it is going to be relevant in future versions![/b]
|
||||
[*]The term for generating random weight and size of the hero is now shown above the respective input field.
|
||||
[*]The dialog shown on application quit if there are unsaved actions is now clearer and shows three buttons for all three possible options.
|
||||
[*]Text on character sheet is now selectable. This option is not useful for copying the complete character sheet as the layout is not preserved properly.
|
||||
[*]Added FAQ entry on how to add LP/AE/KP.
|
||||
[*]If you open a wiki entry when a character is open, the respective list item is highlighted just like they are in the wiki.
|
||||
[*]The maximum available AP that can be left when finishing hero creation phase is now always 10 AP, no matter whether you are in editing mode or not.
|
||||
[*]Added [i]Uses[/i] for skills.
|
||||
[*]For skills where it is not 100% clear whether encumbrance is relevant or not, the full description when it is relevant and when it is not is now shown instead of „maybe“.
|
||||
[*]The separate entries for advantage [i]Exceptional Sense[/i] and disadvantage [i]Restricted Sense[/i] are now joined.
|
||||
[*][i]Additional sources[/i] lists sources from which the entry gets its select options. For example, SA [i]Trade Secrets[/i] not only shows the source for the base SA, but also the different trade secret sources from all the different books.
|
||||
[*]Analogous to the Raven’s Beaks blessed variant, there’s now a mundane variant available, too. It costs 90 S. There’s no difference between the two versions except for [i]blessed/mundane[/i].
|
||||
[*]For Staff Enchantments, [i]Binding of the Staff[/i] as a prerequisite is now hidden (because it is hidden in Core Rules, too).
|
||||
[*]Finishing RCP selection can now be undone.
|
||||
[/list]
|
||||
|
||||
[size=150]Bug Fixes[/size]
|
||||
|
||||
[list]
|
||||
[*]After switching from German to English, heroes could not be edited anymore.
|
||||
[*]Special Abilities can now be sorted by group again.
|
||||
[*]Liturgical chant traditions and aspects are now sorted alphabetically.
|
||||
[*]Maxima of skills and combat techniques are now also influenced by skill check attributes or primary attributes during character creation phase.
|
||||
[*]Yellow-highlighted advantages/disadvantages are now explained in the legend on the left.
|
||||
[*]A spell or chant from a base profession removed by a profession variant now removes the entry entirely instead of activating it on SR 0.
|
||||
[*]Images are now shown on Linux again.
|
||||
[*]Automatic advantages cost 0 AP so that race AP cost are correct now.
|
||||
[*]Sorting equipment by group does not result in an error anymore.
|
||||
[*]Avatars of pets are now exported as well when exporting the character.
|
||||
[*]Details of spells and chants are shown on character sheet again.
|
||||
[*]The prerequisite Race, culture, or profession must have \[...] as an automatic or suggested \[advantage/disadvantage]“ now also includes automatic advantages if they are removed.
|
||||
[*]Pet layout on character sheet should work again.
|
||||
[*]The PDF does not include a scroll bar anymore.
|
||||
[*]Protective/Warding circles are now shown on character sheet.
|
||||
[*]Lowering attributes in editing mode takes added LP/AE/KP into account and restricts lowering if needed.
|
||||
[*]Sometimes, instead of a value, for example in [i]Enforce Honor 6[/i], `null` was shown in the wiki entry for professions, so it was actually [i]Ehrenhaftigkeit null[/i].
|
||||
[*]Sometimes, the value of a entry in a profession, changed by a profession variant, was increased by 6. For example, Knight: [i]Etiquette 2 instead of 12[/i] actually is [i]Etiquette 2 instead of 6[/i].
|
||||
[*]Combat Style Special Abilities now show their type (passive/base maneuver/special maneuver) in wiki again.
|
||||
[*]Sorting spells by group now sorts the groups alphabetically.
|
||||
[*]When EL [i]Inexperienced[/i] is selected and you got SA [i]Tradition (Guild Mage)[/i], you can now also buy and increase the selected unfamiliar spell (which is not unfamiliar anymore).
|
||||
[*]The select option list for SA [i]Tradition (Guild Mage)[/i] does not list familiar spells anymore.
|
||||
[*]Disadvantage [i]Negative Trait (Stinginess)[/i] and [i](Wastefulness)[/i] were not mutually exclusive.
|
||||
[*]Spells and chants are not included in disadvantage [i]Incompetent[/i]. Heroes with those entries will get the disadvantage removed automatically.
|
||||
[*]SA [i]Aspect Knowledge[/i] can now be added as expected.
|
||||
[*]SA [i]Property Knowledge[/i] can now be added as expected.
|
||||
[*]SA [i]Precise Shot/Throw[/i] had wrong attribute prerequisites.
|
||||
[*]Disadvantages [i]No Flying Balm[/i] and [i]No Familiar[/i] now correctly decrease the cost of SA [i]Tradition (Witch)[/i] by 10 AP each.
|
||||
[*]SA [i]Tradition (Guild Mage)[/i] is now taken into account for restrictions concerning unfamiliar spells (see the change to the SA listed above also).
|
||||
[*][i]Disguise[/i], Encumbrance: Maybe → Yes.
|
||||
[*][i]Etiquette[/i], Encumbrance: Maybe → No.
|
||||
[*][i]Persuasion[/i]: Skill check COU/INT/CHA → COU/SGC/CHA.
|
||||
[*]Wrong skill checks of spells:
|
||||
[list]
|
||||
[*][i]Magical Melody[/i]: COU/SGC/CHA → COU/INT/CHA
|
||||
[*][i]Song of Piece[/i]: COU/SGC/INT → COU/INT/CHA
|
||||
[*][i]Song of Sorrow[/i]: COU/CHA/CHA → COU/INT/INT
|
||||
[/list]
|
||||
[*]Text missing which states that a special aspect of a spell cannot be modified:
|
||||
[list]
|
||||
[*]MOTORICUS: Cost
|
||||
[*]WALL OF FOG: Cost
|
||||
[/list]
|
||||
[*]Missing skill check modifiers (SPI/TOU) added to spells.
|
||||
[*]ANALYZE ARCANE STRUCTURE: Casting time 2 actions → 32 actions.
|
||||
[*]KLARUM PURUM, Cost: 8 AE.
|
||||
[*]Wrong skill checks of liturgical chants:
|
||||
[list]
|
||||
[*][i]Minor Banishing Ray[/i]: COU/SGC/CHA → COU/INT/CHA
|
||||
[*][i]Enforce Honor[/i]: COU/SGC/CHA → COU/INT/CHA
|
||||
[*][i]Encourage[/i]: COU/SGC/CHA → COU/INT/CHA
|
||||
[*][i]Peaceful Aura[/i]: COU/SGC/CHA → COU/INT/CHA
|
||||
[/list]
|
||||
[*][i]Hand mirror[/i] now lists the corresponding rule.
|
||||
[*][i]Dog food, Horse feed, Pony feed[/i]: Removed weight.
|
||||
[*][i]Rope, climbing[/i] now has a correct price.
|
||||
[/list]
|
||||
@@ -0,0 +1,761 @@
|
||||
## 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.
|
||||
|
||||
### New Features
|
||||
|
||||
- Dutch localization (including Core Rules)
|
||||
- **Aventuria Compendium I** English localization
|
||||
- **Magic of Aventuria I** English localization
|
||||
- **The Warring Kingdoms** English localization
|
||||
- **Armory of The Warring Kingdoms** English localization
|
||||
- **Aventuria Armory I** English localization
|
||||
- **Aventuria Bestiary I** English localization
|
||||
- **Inns & Taverns** English localization
|
||||
|
||||
### Enhancements
|
||||
|
||||
- Shields are usually not used as the primary weapon, so the doubled PA bonus is now used on character sheet.
|
||||
- Improved Dodge I–III should not modify DO value as this should only happen when the hero does not wear armor.
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Does not increase DO by 2 or 4 but 1 or 2 when optional rule *Higher Parade Values* is active.
|
||||
- Disadvantage *Bad Luck I-III* did not decrease FtP on character sheet.
|
||||
- Window for permanent loss of LP/AE/KP is now closable.
|
||||
- Disadvantage *Stigma (Green Hair)* now makes the hair color green.
|
||||
- Preview of images only displayed .jpg, no .png.
|
||||
- Native Tongue (NT) cannot be selected as a level for languages.
|
||||
- App close button did not work.
|
||||
- Removed error message on import/export cancellation.
|
||||
- *Personality Flaw*: It is now possible to buy as many Prejudices/Unworldly's as you like.
|
||||
- Required attribute values for professions were not ensured.
|
||||
- SA *Property Knowledge* did not work and had wrong AP cost.
|
||||
- Demigods were not available as applications for *Religions* skill.
|
||||
- Rerolling weight without a set size did not reroll both but instead used 0 as size.
|
||||
- Wrong carrying capacity when STR was 8.
|
||||
- CT adjustments in profession variants are not displayed correctly.
|
||||
- The default file name in the save dialog for the PDF now is the hero's name.
|
||||
- Unfamiliar Spells maximum was still active after finishing hero creation.
|
||||
- Hide characters where the version of them is not supported.
|
||||
- When selecting a spell for Tradition Guild Mage, General spells are now hidden.
|
||||
- The selected locale (of a hero) was not saved.
|
||||
- Pacts were not saved.
|
||||
- Wrong column names on chants sheet.
|
||||
- Protective/Wardings Circles are not correctly displayed.
|
||||
- Disadvantage *Incompetent* disallows Advantage *Aptitude* completely instead of only disallowing the corresponding skill option.
|
||||
- Primary Attribute maximum for Combat Techniques not working.
|
||||
- Weight Ratio of Head and Torso in Hit Zone Armor flipped.
|
||||
|
||||
## 1.1.0/1.1.2
|
||||
|
||||
*The exact version number of the app is 1.1.2.*
|
||||
|
||||
After more than one year a big update is finally coming—even though you probably won’t notice it: Optolith got a completely new code. This is accompanied by an internal restructuring, so that features like groups will be possible in the future. This is the biggest change, but not the only one: All reported bugs are fixed and over the last two weeks my testers found several bugs, which are also fixed here.
|
||||
|
||||
You will probably notice that Optolith takes a few seconds longer to load than before. This is because I rebuilt Optolith with the basic idea that it runs more stable. So I do checks during loading to make sure that all data that is loaded really looks as expected and so that nothing unexpected and unintentional, caused by wrong tables or other wrong data in the program, happens. The start performance is definitely going to be improved, but for now I prefer a more stable program to a fast one; after all this is only about starting the program, the performance during use is not affected.
|
||||
|
||||
Last but not least a big thank you to you, for your patience and all your feedback and further help, without which I would not have been able to fix all those bugs. Although new rules have not yet made it into this version, and the next version won’t contain all new ones, Optolith will be able to get up to date more quickly than before.
|
||||
|
||||
But now it’s time for the changelog of this version:
|
||||
|
||||
### New Features
|
||||
|
||||
- Heroes can now be saved from the hero list.
|
||||
- Avatars of heroes and pets can now be deleted.
|
||||
|
||||
### Enhancements
|
||||
|
||||
- Select option lists are now filtered by activated books. Previously, that only worked for main lists like special abilities, but now it works for all list, for example the list of trade secrets.
|
||||
- Wiki entry lists cannot be filtered by specific books, neither can the wiki entry text in opened heroes. This will be implemented later!
|
||||
- Unfamiliar spells are now going to be highlighted in red (just like uncommon advantages).
|
||||
- Searching for professions now includes profession variants.
|
||||
- The space for languages on the character sheet is now twice as large.
|
||||
- When adding advantages or disadvantages, AP spent on advantages as well as on disadvantages will always be shown.
|
||||
- Shields on character sheet are now listed as a weapon as well as a shield.
|
||||
- Wiki texts are now selectable.
|
||||
- For *Tradition (Guild Mage)*, you need to set a specific unfamiliar spell. **For an already activated SA, you can to the via the *Rules* tab. Please set the spell, because it is needed for upcoming books!**
|
||||
- To be able to better handle differences between languages in terms of rules, heroes are now saving the languages they were created in. **For already created heroes, the creation language will be set to the current UI language. To change that, you need to switch to the *Rules* tab! Please check it, because it is going to be relevant in future versions!**
|
||||
- The term for generating random weight and size of the hero is now shown above the respective input field.
|
||||
- The dialog shown on application quit if there are unsaved actions is now clearer and shows three buttons for all three possible options.
|
||||
- Text on character sheet is now selectable. This option is not useful for copying the complete character sheet as the layout is not preserved properly.
|
||||
- Added FAQ entry on how to add LP/AE/KP.
|
||||
- If you open a wiki entry when a character is open, the respective list item is highlighted just like they are in the wiki.
|
||||
- The maximum available AP that can be left when finishing hero creation phase is now always 10 AP, no matter whether you are in editing mode or not.
|
||||
- Added *Uses* for skills.
|
||||
- For skills where it is not 100% clear whether encumbrance is relevant or not, the full description when it is relevant and when it is not is now shown instead of „maybe“.
|
||||
- The separate entries for advantage *Exceptional Sense* and disadvantage *Restricted Sense* are now joined.
|
||||
- *Additional sources* lists sources from which the entry gets its select options. For example, SA *Trade Secrets* not only shows the source for the base SA, but also the different trade secret sources from all the different books.
|
||||
- Analogous to the Raven’s Beaks blessed variant, there’s now a mundane variant available, too. It costs 90 S. There’s no difference between the two versions except for *blessed/mundane*.
|
||||
- For Staff Enchantments, *Binding of the Staff* as a prerequisite is now hidden (because it is hidden in Core Rules, too).
|
||||
- Finishing RCP selection can now be undone.
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- After switching from German to English, heroes could not be edited anymore.
|
||||
- Special Abilities can now be sorted by group again.
|
||||
- Liturgical chant traditions and aspects are now sorted alphabetically.
|
||||
- Maxima of skills and combat techniques are now also influenced by skill check attributes or primary attributes during character creation phase.
|
||||
- Yellow-highlighted advantages/disadvantages are now explained in the legend on the left.
|
||||
- A spell or chant from a base profession removed by a profession variant now removes the entry entirely instead of activating it on SR 0.
|
||||
- Images are now shown on Linux again.
|
||||
- Automatic advantages cost 0 AP so that race AP cost are correct now.
|
||||
- Sorting equipment by group does not result in an error anymore.
|
||||
- Avatars of pets are now exported as well when exporting the character.
|
||||
- Details of spells and chants are shown on character sheet again.
|
||||
- The prerequisite Race, culture, or profession must have \[...] as an automatic or suggested \[advantage/disadvantage]“ now also includes automatic advantages if they are removed.
|
||||
- Pet layout on character sheet should work again.
|
||||
- The PDF does not include a scroll bar anymore.
|
||||
- Protective/Warding circles are now shown on character sheet.
|
||||
- Lowering attributes in editing mode takes added LP/AE/KP into account and restricts lowering if needed.
|
||||
- Sometimes, instead of a value, for example in *Enforce Honor 6*, `null` was shown in the wiki entry for professions, so it was actually *Ehrenhaftigkeit null*.
|
||||
- Sometimes, the value of a entry in a profession, changed by a profession variant, was increased by 6. For example, Knight: *Etiquette 2 instead of 12* actually is *Etiquette 2 instead of 6*.
|
||||
- Combat Style Special Abilities now show their type (passive/base maneuver/special maneuver) in wiki again.
|
||||
- Sorting spells by group now sorts the groups alphabetically.
|
||||
- When EL *Inexperienced* is selected and you got SA *Tradition (Guild Mage)*, you can now also buy and increase the selected unfamiliar spell (which is not unfamiliar anymore).
|
||||
- The select option list for SA *Tradition (Guild Mage)* does not list familiar spells anymore.
|
||||
- Disadvantage *Negative Trait (Stinginess)* and *(Wastefulness)* were not mutually exclusive.
|
||||
- Spells and chants are not included in disadvantage *Incompetent*. Heroes with those entries will get the disadvantage removed automatically.
|
||||
- SA *Aspect Knowledge* can now be added as expected.
|
||||
- SA *Property Knowledge* can now be added as expected.
|
||||
- SA *Precise Shot/Throw* had wrong attribute prerequisites.
|
||||
- Disadvantages *No Flying Balm* and *No Familiar* now correctly decrease the cost of SA *Tradition (Witch)* by 10 AP each.
|
||||
- SA *Tradition (Guild Mage)* is now taken into account for restrictions concerning unfamiliar spells (see the change to the SA listed above also).
|
||||
- *Disguise*, Encumbrance: Maybe → Yes.
|
||||
- *Etiquette*, Encumbrance: Maybe → No.
|
||||
- *Persuasion*: Skill check COU/INT/CHA → COU/SGC/CHA.
|
||||
- Wrong skill checks of spells:
|
||||
- *Magical Melody*: COU/SGC/CHA → COU/INT/CHA
|
||||
- *Song of Piece*: COU/SGC/INT → COU/INT/CHA
|
||||
- *Song of Sorrow*: COU/CHA/CHA → COU/INT/INT
|
||||
- Text missing which states that a special aspect of a spell cannot be modified:
|
||||
- MOTORICUS: Cost
|
||||
- WALL OF FOG: Cost
|
||||
- Missing skill check modifiers (SPI/TOU) added to spells.
|
||||
- ANALYZE ARCANE STRUCTURE: Casting time 2 actions → 32 actions.
|
||||
- KLARUM PURUM, Cost: 8 AE.
|
||||
- Wrong skill checks of liturgical chants:
|
||||
- *Minor Banishing Ray*: COU/SGC/CHA → COU/INT/CHA
|
||||
- *Enforce Honor*: COU/SGC/CHA → COU/INT/CHA
|
||||
- *Encourage*: COU/SGC/CHA → COU/INT/CHA
|
||||
- *Peaceful Aura*: COU/SGC/CHA → COU/INT/CHA
|
||||
- *Hand mirror* now lists the corresponding rule.
|
||||
- *Dog food, Horse feed, Pony feed*: Removed weight.
|
||||
- *Rope, climbing* now has a correct price.
|
||||
|
||||
## 1.0.3
|
||||
|
||||
- Renamed Optolyth to Optolith to be in line with all other locations where the name occurs.
|
||||
|
||||
### Linux
|
||||
|
||||
- Fixed glibc-related issue.
|
||||
- Moved from tar.gz to AppImage to provide auto-update support.
|
||||
|
||||
## 1.0.2
|
||||
|
||||
- Fixed issue with rendering list items of advantages/disadvantages/special abilities.
|
||||
- Fixed shortcuts being global.
|
||||
- Reloading a hero with `Stigma (Albino)` won’t change selected eye color anymore.
|
||||
|
||||
### macOS
|
||||
|
||||
- App now quits automatically on close.
|
||||
|
||||
### English Specific
|
||||
|
||||
- Fixed list of professions.
|
||||
|
||||
### German Specific
|
||||
|
||||
- Fixed typo in failed check description of skill "Driving".
|
||||
- Fixed attribute adjustment in attributes tab.
|
||||
- Fixed levels of required instances of `Principles` and `Obligations` of `Blessed One of Kor`.
|
||||
|
||||
## 1.0.1
|
||||
|
||||
- Fixed special abilities tab.
|
||||
|
||||
## 1.0.0
|
||||
|
||||
### 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
|
||||
|
||||
- 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
|
||||
|
||||
- Multiline texts are now multiline on character sheet.
|
||||
- If advantage *Stigma (Albino)* is purchased the (lists of available) hair and eye colors change.
|
||||
- AP cost for race are now shown in AP tooltip. AP cost for profession are shown only when RCP selection has not been approved.
|
||||
- Fixed converting older heroes to new version.
|
||||
- The text fields for size and weight are both updated on generating size or weight.
|
||||
- In profile overview now always shows the start EL. Before, the EL was calculated based on AP total.
|
||||
- Now you can select the source books to use in the very beginning of character creation.
|
||||
- Fixed prerequisites of *Cartography*.
|
||||
- Fixed list of liturgical chants.
|
||||
- Ignoring changes on close now closes the app. Before nothing happened ...
|
||||
- Fixed calculation of minimum/maximum liturgical chant SR.
|
||||
- Shortcuts!
|
||||
- `Ctrl+Z` => Undo
|
||||
- `Ctrl+Y` or `Ctrl+Shift+Z` => Redo
|
||||
- `Ctrl+O` => Show settings (only when dedicated button is available, too)
|
||||
- `Ctrl+S` => Save hero
|
||||
- `Ctrl+W` => Switches to list of heroes if a hero is currently opened (similar to the back button in the top left corner)
|
||||
- `Cmd+Q` => Close app (macOS)
|
||||
- Abbreviations for related source books are shown in the list of professions again.
|
||||
- Fixed importing heroes with images encoded in `jpg`.
|
||||
- Fixed editing automatic Area Knowledge in profile overview.
|
||||
- Fixed calculation total AP for disadvantage *Bad Habit*.
|
||||
- The *About ...* menu element is disabled if there is an open dialog window (macOS).
|
||||
- The AP cost for profession variants are now considered when calculating AP spent.
|
||||
- Activating spells is now disabled the limits of EL are reached.
|
||||
- Fixed showing separators when sorting spells or liturgical chants by group.
|
||||
- Fixed text fields in animal section of the character sheet breaking layout or showing up twice.
|
||||
- Fixed AP used for dis/advantages shown in window used for adding them. Remaining parts of the old AP system have been removed.
|
||||
- Fixed saving heroes (previously saved heroes are not currupted).
|
||||
- Fixed filters for list of races and list of professions.
|
||||
- Fixed calculating AP total for *Obligations/Priciples*.
|
||||
- Fixed showing damage info for weapons in wiki (if a weapon has no flat damage 1W6 instead of 1W60 is shown now).
|
||||
|
||||
### German Specific (in German)
|
||||
|
||||
#### New Features / Breaking Changes
|
||||
|
||||
- Unter Profil > Pakt kann nun ein Feenpakt eingetragen werden. Die Eingabe richtet sich genau nach den Regeln aus **Die Siebenwindküste** zu Feenpakten. Die Eingabe dort schaltet auch unter erfüllten Voraussetzungen Paktgeschenke frei.
|
||||
|
||||
#### Rules/Crunch
|
||||
|
||||
- Professionen aus **Aventurisches Götterwirken** und **Die Siebenwindküste** hinzugefügt.
|
||||
- Fehlende Berufsgeheimnisse aus **Rüstkammer der Streitenden Königreiche** und **Rüstkammer der Siebendwindküste** sowie **Aventurisches Bestiarium** hinzugefügt.
|
||||
- Fehlende Einträge für *Immunität gegen [Gift/Krankheit]* aus **Aventurisches Bestiarium**, **Aventurische Magie I** und **Kneipen & Tavernen** hinzugefügt.
|
||||
|
||||
#### Bug Fixes / Other
|
||||
|
||||
- Die Profession *Sangara* funktioniert wieder ordnungsgemäß.
|
||||
- Die AP-Kosten für *Tradition (Zauberbarde)* und *Tradition (Zaubertänzer)* werden beim Hinzufügen wieder korrekt angezeigt.
|
||||
- Liturgiestilsonderfertigkeiten, die es ermöglichen, Liturgien anderer Gottheiten zu erlernen, ermöglichen dieses Feature nun auch.
|
||||
- Die Tradition des Namenlosen Kultes wird im Wiki nun korrekt angezeigt.
|
||||
- Die Abhängigkeiten der Beschwörungs/Herbeirufungszauber werden nun in den FAQ behandelt.
|
||||
- Die Berechnung der Wundschwelle funktioniert wieder ordnungsgemäß.
|
||||
- Stilsonderfertigkeiten und dazugehörige Erweiterte SF können nun wieder ordnungsgemäß hinzugefügt und gelöscht werden.
|
||||
- Die Wundschwelle wird nun nur angezeit, wenn **Aventurisches Kompendium** verfügbar und aktiviert ist.
|
||||
- Die Reichweite für Waffen der Streitenden Königreiche wurde ergänzt.
|
||||
- Vor- und Nachteile für *Intuitive Zauberer* können wieder ordnungsgemäß erworben und verkauft werden.
|
||||
- Bei einigen Zaubern wurde die druidische oder scharlatanische Tradition ergänzt.
|
||||
|
||||
## 0.51.9
|
||||
|
||||
- The AP tooltip (if you hover over the available AP of the currently opened character) now show how many AP you spent on which category of entries - how much you spent on spells, on special abilities, on disadvantages, on cantrips, on energies (LP, AE, KP) and so on.
|
||||
- I build a new AP system which dynamically calculates the AP. This means if there were or will be issues with calculated AP they will be fixed automatically by installing the patch that fixes this issue. (You still have to open the character and save it, though).
|
||||
- Fixed AP value calculation of *Skill Specialization (Skill)*.
|
||||
- Lists belonging to a hero (active special abilities, inactive special abilities, skills, professions and so on) now show a placeholder element when the respective list is empty.
|
||||
- Slightly improved performance.
|
||||
- Improved displaying numbers in some areas.
|
||||
- You can now activate or deactivate if you want to see animations or not throught the settings window.
|
||||
- Wiki lists now display levels if available (example: `Rich I-X` instead of `Rich`).
|
||||
|
||||
### German Specific
|
||||
|
||||
- Fixed prerequisites of *Abrollen*.
|
||||
- Blessings are now tradition-aware: If you select a tradition of a demigod you will not be able to select the unavailable blessings (as specified by tradition special ability) anymore.
|
||||
|
||||
### English Specific
|
||||
|
||||
- There are full wiki entries available for *all* currently implemented entries.
|
||||
|
||||
## 0.51.8
|
||||
|
||||
- Fixed AP cost for languages.
|
||||
- Fixed generating random values for size and weight of a character.
|
||||
- Added error binding to content, so that if an error occurs you can still access the navigation bar.
|
||||
- Fixed crashes of wiki box in English version.
|
||||
|
||||
## 0.51.7
|
||||
|
||||
- Tweaked some colors to improve UI readability.
|
||||
- Error messages (the ones that contain "error" and "component stack") can be selected and thus copied.
|
||||
- After creating a hero (temporary name, sex, experience level) you will be in the "rules" tab, which is a main tab in this phase of character creation. You can select race, culture and profession by switching to the respective tab.
|
||||
- You can now check for updates manually via the Settings window.
|
||||
- The wiki, which is shown if you switch to the "wiki" tab, is now complete - regarding functionality. Contents still vary depending on the selected language.
|
||||
- If race Elf is selected the app will no longer warn you to not use the selected profession because the calculated AP would be incorrect.
|
||||
- *Cendrash Style* is fixed and can be added to your character(s) again.
|
||||
|
||||
### German Specific
|
||||
|
||||
- Zone armor tab will only be shown if *Aventuria Armory* or *All rule books* are activated in "rules" tab.
|
||||
- ENC is now correctly calculated for zone armor.
|
||||
- Fixed *Brevier der zwölfgöttlichen Unterweisung*.
|
||||
- Fixed magical styles.
|
||||
|
||||
### English Specific
|
||||
|
||||
- App will no longer crash all the time.
|
||||
|
||||
## 0.51.6
|
||||
|
||||
- Added sort option to inventory to sort by weight (in descending order).
|
||||
- *Slow* is now considered when calculating MOV value.
|
||||
- Fixed magical and blessed professions.
|
||||
|
||||
## 0.51.5
|
||||
|
||||
- Fixed hidden liturgical chants tab.
|
||||
|
||||
## 0.51.4
|
||||
|
||||
- Fixed MOV modificators.
|
||||
- Splitted tradition special abilties to be able to provide wiki texts for them.
|
||||
- Fixed some profession and profession variant values.
|
||||
- Moved item infos to the wiki box on the right; removed the tooltip shown on hover before.
|
||||
- Fixed resetting AP on changing race variant.
|
||||
- Selection lists for disadvantages *Principles* and *Obligations* are not filtered by selected level anymore. This means, you can select *Code of the Church of Peraine* for all three levels of *Principles* instead of typing in the optional input field.
|
||||
|
||||
### German Specific
|
||||
|
||||
- Added **ALL** missing texts to complete the offline wiki.
|
||||
- Joined the different `Bindung des Bannschwerts` special abilties.
|
||||
- Additional item texts are only shown for templates and locked entries.
|
||||
- Added missing armory from regional armory books.
|
||||
|
||||
### English/Dutch Specific
|
||||
|
||||
- Wiki boxes will show the entries that can be generated safely. Their full functionality will be enabled once the needed texts are added.
|
||||
|
||||
## 0.51.3
|
||||
|
||||
- Fixed issues with prerequisites for races.
|
||||
- Fixed profession list filter.
|
||||
- Fixed showing levels multiple times on character sheet and in profile overview.
|
||||
- Ignores auto updater on Linux.
|
||||
- Small tweaks to the light theme.
|
||||
- Some fixes for items regarding price and weight.
|
||||
- There are now additional infos about an update available in the download progress dialog.
|
||||
- The Enter key should work as usual after closing the app.
|
||||
|
||||
### German Specific
|
||||
|
||||
- Added filtering by activated rule books and wiki entries for combat techniques, advantages, disadvantages and special abilities. Prerequisite texts for advantages, disadvantages and special abilities are missing, though.
|
||||
- Removed special ability *Magischer Gedankenschutz* as this the exact same special ability as *Gedankenschutz*, the only difference is the name and this seems to be a issue with consistent naming.
|
||||
|
||||
## 0.51.2
|
||||
|
||||
- Fixed calculating AP for *activated* special ability entries where you have to buy each tier separately (e.g. *Feint I-III*). Previously, only the cost for the highest bought tier were shown.
|
||||
- Removing bought energy points now correctly lowers AP spent. Previously, it did not change the current AP spent.
|
||||
|
||||
### German Specific
|
||||
|
||||
- Fixed *Lederüstung* typo.
|
||||
|
||||
## 0.51.1
|
||||
|
||||
- Fixed Auto Updater.
|
||||
- Added FAQ page.
|
||||
- It is now possible to change attribute adjustment selection from selected race during character creation.
|
||||
- Fixed shown special ability groups on character sheet.
|
||||
- Fixed displayed aspects of liturgical chants.
|
||||
- Fixed calculating PA on character sheet.
|
||||
- You can now select the rule books you want to include in the Profile > Rules tab. Inactive book entries will not be displayed (only Races, Cultures, Professions, Skills, Spells and Liturgical Chants).
|
||||
- Displaying races now corresponds with the Core Rules.
|
||||
- Fixed inactive Advantages/Disadvantages/Special Abilities list’s layout (temporarily).
|
||||
|
||||
### macOS
|
||||
|
||||
- Added custom titlebar.
|
||||
- Added *About ...* app menu option.
|
||||
|
||||
### German Specific
|
||||
|
||||
- Fixed *Visions* and *Sermons* for Blessed Ones.
|
||||
- Fixed profession *Graumagier (Schule der Verformungen zu Lowangen)*.
|
||||
|
||||
## 0.51.0
|
||||
|
||||
- Auto-Updater for Windows and macOS.
|
||||
- Installer for Windows.
|
||||
- New icon set.
|
||||
- You can now edit heroes after character creation phase if you check the respective box in the settings.
|
||||
- Enabled filtering of item templates by combat technique.
|
||||
- Exported characters will now include the avatar image.
|
||||
- Added support for permanent LP loss.
|
||||
- Source book abbreviations will now appear in profession list.
|
||||
- All lists of skills (skills, spells, liturgical chants) will now show the attribute values if you hover over an list item.
|
||||
- Fixed calculations of AP spent on **active** advantages/disadvantages/special abiltiies (AP for buying them were still calculated correctly).
|
||||
- Fixed calculations based on size value (meter-based size entry allowed).
|
||||
- Fixed surplus page in character sheet PDF.
|
||||
- Added placeholder wiki boxes for advantages, disadvantages, special abilities and items.
|
||||
- Fixed available hair colors for some races.
|
||||
|
||||
### German Specific
|
||||
|
||||
- Added spell and liturgical chant extensions to wiki boxes.
|
||||
- Fixed text of *magical professions* for culture *Ore Dwarf*.
|
||||
|
||||
### Dutch Specific
|
||||
|
||||
- Started localization work.
|
||||
|
||||
## 0.50.0
|
||||
|
||||
- Custom AP cost possible for advantages and disadvantages.
|
||||
- Fixed ItemEditor’s and ArmorZonesEditor’s theming and layout.
|
||||
- Slightly brightened the color for disabled elements.
|
||||
|
||||
## 0.49.6
|
||||
|
||||
- Fixed dis/advantages from **Aventurian Magic I**.
|
||||
- Fixed alerts after selecting RCP.
|
||||
- Alerts might be a bit more responsive (internal rework).
|
||||
- Fixed *Last Changes* page.
|
||||
|
||||
### German Specific
|
||||
|
||||
- Added wiki info for cultures.
|
||||
|
||||
## 0.49.5
|
||||
|
||||
- Special abilities with tiers do not have separate entries anymore.
|
||||
- RCP costs are now entirely calculated by the app.
|
||||
- Changed ItemEditor layout from one-column to two-column layout.
|
||||
- Extended P+T functionality and fixed items based on that.
|
||||
- Now allows negative AP left during character creation phase.
|
||||
- Fixed search fields (it unintentionally converted text into a regular expression - thus some strange results).
|
||||
- Fixed filtering magical tradition’s selection objects (previously, having more than 25 AP spent/received for magical advantages/disadvantages adding a tradition was completely disabled).
|
||||
- Fixed professions requiring specific cultures.
|
||||
- Fixed *Exceptional Skill/Combat Technique*
|
||||
- Fixed calculating TOU.
|
||||
- Fixed showing Own Profession without having extension books in profession list.
|
||||
- Added prerquisites and special abilities entries for professions’ wiki info.
|
||||
- Fixed disabling to add AE instead of to add permanently lost AE when more than one permanent AE point is lost.
|
||||
- Wiki test page added.
|
||||
- Added *Last Changes* tab in *About* section.
|
||||
- Some further redesign work.
|
||||
- A short message is now shown in Settings dialog informing about you need to restart the app when changing the language.
|
||||
|
||||
### German Specific
|
||||
|
||||
- Added (missing) wiki info for skills, cantrips, blessings, spells and liturgical chants (excluding extensions).
|
||||
- Added special abilities, liturgical chant extensions and dis-/advantages from **Aventurian Work of the Gods**.
|
||||
|
||||
## 0.49.4
|
||||
|
||||
- Fixed character portrait selection.
|
||||
- Heaps of stuff for the new design.
|
||||
- Added theme selection to Settings modal (although the light theme is not finished yet; modals and tooltips are still dark ...).
|
||||
- Deleting a character must be confirmed now (and cannot be undone after that).
|
||||
- Now shrinks text in specific fields on character sheet.
|
||||
- Fixed routine check modifiers on character sheet.
|
||||
- Unified RCP views.
|
||||
- Added RCP info views, although a lot of text is still missing.
|
||||
|
||||
### German Specific
|
||||
|
||||
- Fixed newer items.
|
||||
- Fixed combat technique values of newer professions.
|
||||
|
||||
## 0.49.3
|
||||
|
||||
- Fixed AP limits for advantages/disadvantages.
|
||||
- Removes existing equipment from item templates search results.
|
||||
- New icon.
|
||||
- New background.
|
||||
- Updated titlebar icons on Windows and Linux.
|
||||
|
||||
### German Specific
|
||||
|
||||
- Fixed Skills selection for *Meistertalentierte*.
|
||||
|
||||
### English Specific
|
||||
|
||||
- Fixed RCP view issue(s).
|
||||
- Fixed Equipment view.
|
||||
|
||||
## 0.49.2
|
||||
|
||||
- Fixed the addition of adventure points.
|
||||
- Fixed second combat technique selection for professions.
|
||||
- Fixed Settings modal.
|
||||
- Fixed small issue concerning `alert`s.
|
||||
- Item templates are no longer cleared after a new hero has been created.
|
||||
|
||||
### German Specific
|
||||
|
||||
- Fixed problems with displaying AE for *Intuitiver Zauberer*.
|
||||
|
||||
### English Specific
|
||||
|
||||
- Fixed race/professions list.
|
||||
|
||||
## 0.49.1
|
||||
|
||||
- Fixed issue with lists for advantages, disadvantages and special abilities containing skills/spells/liturgical chants.
|
||||
- Fixed issue with RCP skill specialization selection.
|
||||
- Fixed exporting heroes as JSON.
|
||||
- Fixed equipment view.
|
||||
- Professions are now sorted by name and them by subname (e.g. the academy name). Previously, professions with subnames were sorted randomly (changing from render to render).
|
||||
|
||||
### English Specific
|
||||
|
||||
- Added translation for skill name separation in RCP skill specialization selection.
|
||||
|
||||
## 0.49.0
|
||||
|
||||
- *Smash* does not require *Rundumschlag I* anymore.
|
||||
- Protective/Warding Circles now require *Magical Signs*.
|
||||
- Added missing *Ancestor Glyphs* from The Warring Kingdoms. They require *Magical Signs* as well.
|
||||
- *Nimble* now increases MOV by 1.
|
||||
- *Immunity to (Disease/Poison)* now correctly adds the selected entry.
|
||||
- Derived characteristics are now correctly calculated on character sheet.
|
||||
- Item templates have floating number values (again). This **won’t** affect non-locked item templates in items.
|
||||
- Requiring Spells now correctly disables the decrease button if the SR hits the required value.
|
||||
- Invalid avatar paths will no longer result in a colored border with black background and an invalid file error in the console.
|
||||
- Now filters Aspect Knowledge selection by active tradition.
|
||||
- Now sorts lists properly depending on the selected locale (e.g. ä, ö and ü in German are basically treated as a, o and u respectively).
|
||||
- Items now correcly reset if you load a character after you opened/created a character with items.
|
||||
- Item weights are now correctly displayed.
|
||||
- Item PA mods do not use the AT mod value anymore.
|
||||
- *Improved Dodge I-III* now increases DO value.
|
||||
- Profession *Spy* now correctly increases *Commerce* by 3.
|
||||
- The used attributes for the skill check of ODEM ARCANUM are SGC/INT/INT now (following the German Regel-Wiki).
|
||||
- *Combat Reflexes I-III* now increases INI value.
|
||||
- Window is maximizable, unmaximizable and resizable.
|
||||
- Added a title bar on Windows and Linux, providing buttons in Windows 10 UWP style to minimize, (un)maximize and close the app. This bar is also the draggable area of the window.
|
||||
- Removed the Start tab.
|
||||
- Improved general performance.
|
||||
- In *Profile Overview* and *Character Sheet* tabs, entries such as `Skill Specialization (Climbing: Trees), Skill Specialization (Survival: Find Campsite)` are now written as `Skill Specialization (Climbing: Trees, Survival: Find Campsite)`, providing a better overview and readability in addition to more space.
|
||||
- A new Redo button is added to the Navigation Bar. History resets after saving, finishing RCP selection and finishing character creation as well as switching to another character.
|
||||
- Fixed *Property Knowledge*’s and *Aspect Knowledge*’s AP cost and effects.
|
||||
- Fixed Languages and Scripts selection texts in RCP selections window.
|
||||
- Fixed loading characters with active Blessings.
|
||||
|
||||
### German Specific
|
||||
|
||||
- Includes new traditions, aspects and liturgcal chants from **Aventurisches Götterwirken I**.
|
||||
- Added info for selected race in Races tab.
|
||||
- CON instead of COU now increases WS value.
|
||||
- Fixed *Intuitive Caster*’s spell limit and AE value.
|
||||
|
||||
### English Specific
|
||||
|
||||
- Added info box for selected race in Races tab, but (most of the) texts are still missing.
|
||||
|
||||
## 0.48.1
|
||||
|
||||
- Undo function is working again for advantages, disadvantages and special abilities.
|
||||
- Spells can now be de/activated as intended.
|
||||
- Cantrips/Blessing are now sorted on the character sheet.
|
||||
- The total attribute maximum is shown on the attribute page during character creation.
|
||||
|
||||
## 0.48.0
|
||||
|
||||
- Heaps of bugs fixed. I lost sight of all bugs, so I won’t provide a detailed list this time.
|
||||
- Added a funtion to duplicate heroes.
|
||||
- New interface for managing permanent AE/KP loss.
|
||||
- Windows x86 support. (I am sorry for all the macOS users out there; I am still searching for a good way to build for Mac as I do not have a Mac at home.)
|
||||
- Removed support for heroes created with app version lower than 0.45.0.
|
||||
- If advantage/disadvantage list is empty, a placeholder will be shown. This is to ensure that having an empty list is intentional - and not a bug.
|
||||
|
||||
### German Specific
|
||||
|
||||
- Aventurian Names, Inns & Taverns, Aventurian Bestiary and The Warring Kingdoms are fully implemented (they should be). All entries from Aventurian Magic I are available. Optional Rules from AMI are not (yet) available.
|
||||
- AMI is now basically complete. During reworking the entries some issues occured that might cause your characters to not work properly.
|
||||
- Selecting *Meistertalentierte*, *Zauberbarden* or *Zaubertänzer* as your magical tradition requires a second selection. *Meistertalentierte* choose their *Meistertalent*, *Zauberbarden* or *Zaubertänzer* choose their music/dance tradition (Ceoladir etc). If the affected characters are in character creation phase, you will be able to remove the existing tradition special ability and reactivate it with the correct selection. If character creation is finished, you have to create the respective character(s) again.
|
||||
- *Exorzist I* and *Meistertrick I* were missing selection options. Now they are included. The selection options do not affect the AP cost, so you can try to fix it the same way as you did for the magical tradition above.
|
||||
|
||||
## 0.47.3
|
||||
|
||||
- The requirement *Manifesto 10* for Elemental Servant referred to Wall of Fog instead of Manifesto.
|
||||
|
||||
## 0.47.2
|
||||
|
||||
- The calculations of total weight and total price in equipment tab should work again. Armor is excluded from the total weight calculation, because armor is excluded from carrying capacity if its in use.
|
||||
- Character Sheet is working again.
|
||||
- The skills tab contains a pane on the right side. If you click on the "i" buttons, it will show you additional information about the respective skill. Well, it will show you in the future: Currently, there is not much data available to show.
|
||||
- The item list now properly resets for every new character.
|
||||
|
||||
## 0.47.1
|
||||
|
||||
- Fixed an issue with a race or a culture as a requirement. This issue caused some professions to never appear in the list.
|
||||
|
||||
## 0.47.0
|
||||
|
||||
Initial English release.
|
||||
@@ -0,0 +1,53 @@
|
||||
## 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*.
|
||||
@@ -0,0 +1,117 @@
|
||||
## 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,58 @@
|
||||
## 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,146 @@
|
||||
## 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,51 @@
|
||||
## 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".
|
||||
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
## 1.5.0
|
||||
|
||||
Initial release.
|
||||
|
||||
### Features
|
||||
|
||||
### Enhancements
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
### Thank you
|
||||
|
||||
Last but definitely not least a big **Thank You** to the following people on GitHub who contributed to this release!
|
||||
|
||||
- [TBD (@tbd)](https://github.com/tbd)
|
||||
@@ -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*.
|
||||
@@ -0,0 +1,14 @@
|
||||
// @ts-check
|
||||
/**
|
||||
* @type {import('@jest/types').Config.InitialOptions}
|
||||
*/
|
||||
module.exports = {
|
||||
testRegex: "(/__tests__/.*|(\\.|/)(test|spec)|_(test|spec)\\.bs)\\.jsx?$",
|
||||
moduleFileExtensions: [
|
||||
"js",
|
||||
"jsx",
|
||||
"json",
|
||||
"node"
|
||||
],
|
||||
testEnvironment: "node"
|
||||
}
|
||||
Generated
+24353
File diff suppressed because it is too large
Load Diff
+90
-50
@@ -1,59 +1,99 @@
|
||||
{
|
||||
"name": "tdeheroes",
|
||||
"productName": "DSA5 Heldentool",
|
||||
"version": "0.49.0",
|
||||
"description": "A generator for heroes for the P&P-RPG 'The Dark Eye'",
|
||||
"author": "Lukas Obermann",
|
||||
"license": "GPL-3.0",
|
||||
"main": "app/main.js",
|
||||
"copyright": "Dieses Produkt wurde unter Lizenz erstellt. Das Schwarze Auge und sein Logo sowie Aventuria, Dere, Myranor, Riesland, Tharun und Uthuria und ihre Logos sind eingetragene Marken von Significant GbR in Deutschland, den U.S.A. und anderen Ländern. Ulisses Spiele und sein Logo sind eingetragene Marken der Ulisses Medien und Spiele Distribution GmbH. Dieses Werk enthält Material, das durch Ulisses Spiele und/oder andere Autoren urheberrechtlich geschützt ist. Solches Material wird mit Erlaubnis im Rahmen der Vereinbarung über Gemeinschaftsinhalte für SCRIPTORIUM AVENTURIS verwendet. Alle anderen Originalmaterialien in diesem Werk sind Copyright (c) 2017-Gegenwart von Lukas Obermann und werden im Rahmen der Vereinbarung über Gemeinschaftsinhalte für SCRIPTORIUM AVENTURIS veröffentlicht.",
|
||||
"directories": {
|
||||
"test": "test"
|
||||
"name": "optolith",
|
||||
"productName": "Optolith Insider",
|
||||
"version": "1.4.3-alpha.0",
|
||||
"description": "A generator for heroes for the P&P-RPG 'The Dark Eye'.",
|
||||
"author": {
|
||||
"name": "Lukas Obermann",
|
||||
"email": "support@optolith.app"
|
||||
},
|
||||
"homepage": "https://github.com/elyukai/optolith-client",
|
||||
"license": "MPL-2.0",
|
||||
"main": "src/Main.bs.js",
|
||||
"dependencies": {
|
||||
"classnames": "^2.2.5",
|
||||
"electron-window-state": "^4.1.1",
|
||||
"lodash": "^4.17.4",
|
||||
"react": "^16.0.0-beta.2",
|
||||
"react-custom-scrollbars": "^4.1.2",
|
||||
"react-dom": "^16.0.0-beta.2",
|
||||
"react-markdown": "^2.5.0",
|
||||
"react-portal": "^3.1.0",
|
||||
"react-progress-arc": "^1.0.7",
|
||||
"react-redux": "^5.0.5",
|
||||
"redux": "^3.7.1",
|
||||
"redux-thunk": "^2.2.0",
|
||||
"reselect": "^3.0.1",
|
||||
"semver": "^5.3.0",
|
||||
"tslib": "^1.7.1"
|
||||
"@glennsl/bs-jest": "^0.7.0",
|
||||
"@glennsl/bs-json": "^5.0.2",
|
||||
"@rescript/react": "^0.10.3",
|
||||
"bs-decoders": "^0.6.0",
|
||||
"electron": "^13.1.7",
|
||||
"electron-devtools-installer": "^3.2.0",
|
||||
"electron-log": "^4.2.4",
|
||||
"electron-updater": "^4.3.1",
|
||||
"electron-window-state": "^5.0.3",
|
||||
"moment": "^2.25.3",
|
||||
"mousetrap": "^1.6.5",
|
||||
"react": "^17.0.2",
|
||||
"react-custom-scrollbars": "^4.2.1",
|
||||
"react-dom": "^17.0.2",
|
||||
"react-markdown": "^6.0.2",
|
||||
"react-redux": "^7.2.1",
|
||||
"react-textfit": "^1.1.1",
|
||||
"reason-react": "^0.9.1",
|
||||
"reductive": "^2.1.1",
|
||||
"redux": "^4.0.5",
|
||||
"redux-devtools-extension": "^2.13.8",
|
||||
"redux-thunk": "^2.3.0",
|
||||
"remark-breaks": "^1.0.5",
|
||||
"rescript": "^9.1.4",
|
||||
"reselect": "^4.0.0",
|
||||
"semver": "^7.3.2",
|
||||
"ssh2-sftp-client": "^5.3.1",
|
||||
"yaml": "^1.10.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/classnames": "^0.0.32",
|
||||
"@types/electron-window-state": "^2.0.28",
|
||||
"@types/lodash": "^4.14.67",
|
||||
"@types/node": "^7.0.32",
|
||||
"@types/node-sass": "^3.10.32",
|
||||
"@types/react": "^0.14.57",
|
||||
"@types/react-custom-scrollbars": "^4.0.1",
|
||||
"@types/react-dom": "^0.14.23",
|
||||
"@types/react-portal": "^3.0.2",
|
||||
"@types/react-redux": "^4.4.46",
|
||||
"@types/semver": "^5.3.32",
|
||||
"electron": "^1.7.3",
|
||||
"electron-packager": "^8.7.2",
|
||||
"jest": "^19.0.2",
|
||||
"node-sass": "^4.5.3",
|
||||
"ts-jest": "^19.0.14",
|
||||
"typescript": "^2.4.1",
|
||||
"xlsx": "^0.10.6"
|
||||
"@commitlint/cli": "^12.1.1",
|
||||
"@commitlint/config-conventional": "^12.1.1",
|
||||
"@types/jest": "^26.0.22",
|
||||
"@types/mousetrap": "^1.6.7",
|
||||
"@types/node": "^14.14.41",
|
||||
"@types/react": "^17.0.3",
|
||||
"@types/react-custom-scrollbars": "^4.0.7",
|
||||
"@types/react-dom": "^17.0.3",
|
||||
"@types/react-portal": "^4.0.2",
|
||||
"@types/react-redux": "^7.1.16",
|
||||
"@types/semver": "^7.3.4",
|
||||
"electron-builder": "^22.10.5",
|
||||
"electron-notarize": "^1.0.0",
|
||||
"eslint": "^7.25.0",
|
||||
"eslint-plugin-react": "^7.23.2",
|
||||
"eslint-plugin-react-hooks": "^4.2.0",
|
||||
"html-webpack-plugin": "^5.3.1",
|
||||
"husky": "^4.3.0",
|
||||
"jest": "^26.6.3",
|
||||
"qusly-core": "2.5.2",
|
||||
"sass": "^1.32.11",
|
||||
"standard-version": "^9.2.0",
|
||||
"webpack": "^5.35.1",
|
||||
"webpack-cli": "^4.6.0"
|
||||
},
|
||||
"scripts": {
|
||||
"start": "./node_modules/.bin/electron .",
|
||||
"build": "node build.js",
|
||||
"buildMac": "node buildMac.js",
|
||||
"setup": "electron-installer-windows --src dist/tdeheroes-win32-x64/ --dest dist/installers/tdeheroes-win32-x64/ --config installerconfig.json",
|
||||
"test": "jest"
|
||||
"prerelease:win": "set NODE_ENV=development && node ./deploy/buildInsiderWin.js",
|
||||
"prerelease:linux": "NODE_ENV=development node -r dotenv/config ./deploy/buildInsiderLinux.js",
|
||||
"prerelease:mac": "NODE_ENV=development node ./deploy/buildInsiderMac.js",
|
||||
"stable:win": "set NODE_ENV=production && node ./deploy/buildWin.js",
|
||||
"stable:linux": "NODE_ENV=production node ./deploy/buildLinux.js",
|
||||
"stable:mac": "NODE_ENV=production node ./deploy/buildMac.js",
|
||||
"css:build": "sass --style=compressed src/Main.scss dist/main.css",
|
||||
"css:watch": "sass --watch --style=compressed src/Main.scss dist/main.css",
|
||||
"build": "npm run re:build && npm run css:build && npm run js:build",
|
||||
"js:build": "webpack --config ./webpack.config.js",
|
||||
"js:watch": "webpack -w --config ./webpack.config.js",
|
||||
"ts:build": "tsc",
|
||||
"ts:watch": "tsc -w",
|
||||
"re:build": "bsb -make-world",
|
||||
"re:watch": "bsb -make-world -w",
|
||||
"re:clean": "bsb -clean-world",
|
||||
"lint": "eslint \"src/\" --ext \".ts\" --ext \".tsx\"",
|
||||
"start": "electron .",
|
||||
"test": "jest",
|
||||
"circ": "madge -c ./src",
|
||||
"release:main": "standard-version --skip.commit --skip.tag",
|
||||
"release:pre": "standard-version --prerelease=alpha --skip.changelog"
|
||||
},
|
||||
"repository": {},
|
||||
"false": {}
|
||||
"repository": "github:elyukai/optolith-client",
|
||||
"husky": {
|
||||
"hooks": {
|
||||
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,120 @@
|
||||
type action =
|
||||
| SetLocale(result(string, string))
|
||||
| SwitchActiveItemHints
|
||||
| SetTheme(FilterOptions.theme)
|
||||
| SwitchEditingHeroAfterCreationPhase
|
||||
| SwitchAnimations
|
||||
| SetTab(FilterOptions.tab)
|
||||
| SetHeroListSortOrder(FilterOptions.heroListSortOptions)
|
||||
| SetHeroListVisibilityFilter(FilterOptions.heroListVisibilityFilter)
|
||||
| SetHeroListFilterText(string)
|
||||
| CreateHero(Hero.t)
|
||||
| OpenHero(int)
|
||||
| SaveHero(int)
|
||||
| DeleteHero(int)
|
||||
| DuplicateHero(int)
|
||||
| UndoHeroAction
|
||||
| RedoHeroAction
|
||||
| SetHeroName(string)
|
||||
| SetCustomProfessionName(string)
|
||||
| SetFamily(string)
|
||||
| SetPlaceOfBirth(string)
|
||||
| SetDateOfBirth(string)
|
||||
| SetAge(string)
|
||||
| SetHairColor(int)
|
||||
| SetEyeColor(int)
|
||||
| SetSize(string)
|
||||
| SetWeight(string)
|
||||
| SetTitle(string)
|
||||
| SetSocialStatus(int)
|
||||
| SetCharacteristics(string)
|
||||
| SetOtherInfo(string)
|
||||
| SetCultureAreaKnowledge(string)
|
||||
| AddAdventurePoints(int)
|
||||
| EndHeroCreation
|
||||
| SetPactCategory(option(int))
|
||||
| SetPactLevel(int)
|
||||
| SetPactTargetType(int)
|
||||
| SetTargetDomain(int)
|
||||
| SetCustomTargetDomain(string)
|
||||
| SetTargetName(string)
|
||||
| SetRace(int)
|
||||
| SetRaceVariant(int)
|
||||
| SetRacesSortOrder(FilterOptions.racesSortOptions)
|
||||
| SetRacesFilterText(string)
|
||||
| SetCulture(int)
|
||||
| SetCulturesSortOrder(FilterOptions.culturesSortOptions)
|
||||
| SetCulturesVisibilityFilter(FilterOptions.culturesVisibilityFilter)
|
||||
| SetCulturesFilterText(string)
|
||||
| SetProfession(int)
|
||||
| SetProfessionVariant(int)
|
||||
| SetProfessionsSortOrder(FilterOptions.professionsSortOptions)
|
||||
| SetProfessionsVisibilityFilter(FilterOptions.professionsVisibilityFilter)
|
||||
| SetProfessionsGroupVisibilityFilter(
|
||||
FilterOptions.professionsGroupVisibilityFilter,
|
||||
)
|
||||
| SetProfessionsFilterText(string)
|
||||
| AddAttributePoint(int)
|
||||
| RemoveAttributePoint(int)
|
||||
| AddLifePoint
|
||||
| RemoveLifePoint
|
||||
| AddArcaneEnergyPoint
|
||||
| RemoveArcaneEnergyPoint
|
||||
| AddKarmaPoint
|
||||
| RemoveKarmaPoint
|
||||
| AddLostLifePoint
|
||||
| RemoveLostLifePoint
|
||||
| AddLostLifePoints(int)
|
||||
| AddBoughtBackArcaneEnergyPoint
|
||||
| RemoveBoughtBackArcaneEnergyPoint
|
||||
| AddLostArcaneEnergyPoint
|
||||
| RemoveLostArcaneEnergyPoint
|
||||
| AddLostArcaneEnergyPoints(int)
|
||||
| AddBoughtBackKarmaPoint
|
||||
| RemoveBoughtBackKarmaPoint
|
||||
| AddLostKarmaPoint
|
||||
| RemoveLostKarmaPoint
|
||||
| AddLostKarmaPoints(int)
|
||||
| SetAttributeAdjustment(int)
|
||||
| AddCombatTechniquePoint(int)
|
||||
| RemoveCombatTechniquePoint(int)
|
||||
| SetCombatTechniquesSortOrder(FilterOptions.combatTechniquesSortOptions)
|
||||
| SetCombatTechniquesFilterText(string)
|
||||
| AddLiturgicalChant(int)
|
||||
| RemoveLiturgicalChant(int)
|
||||
| AddLiturgicalChantPoint(int)
|
||||
| RemoveLiturgicalChantPoint(int)
|
||||
| AddBlessing(int)
|
||||
| RemoveBlessing(int)
|
||||
| SetLiturgicalChantsSortOrder(FilterOptions.liturgicalChantsSortOptions)
|
||||
| SetActiveLiturgicalChantsFilterText(string)
|
||||
| SetInactiveLiturgicalChantsFilterText(string)
|
||||
| SetPetName(string)
|
||||
| SetPetSize(string)
|
||||
| SetPetType(string)
|
||||
| SetPetSpentAp(string)
|
||||
| SetPetTotalAp(string)
|
||||
| SetPetCourage(string)
|
||||
| SetPetSagacity(string)
|
||||
| SetPetIntuition(string)
|
||||
| SetPetCharisma(string)
|
||||
| SetPetDexterity(string)
|
||||
| SetPetAgility(string)
|
||||
| SetPetConstitution(string)
|
||||
| SetPetStrength(string)
|
||||
| SetPetLp(string)
|
||||
| SetPetAe(string)
|
||||
| SetPetSpi(string)
|
||||
| SetPetTou(string)
|
||||
| SetPetPro(string)
|
||||
| SetPetIni(string)
|
||||
| SetPetMov(string)
|
||||
| SetPetAttack(string)
|
||||
| SetPetAt(string)
|
||||
| SetPetPa(string)
|
||||
| SetPetDp(string)
|
||||
| SetPetReach(string)
|
||||
| SetPetActions(string)
|
||||
| SetPetSkills(string)
|
||||
| SetPetAbilities(string)
|
||||
| SetPetNotes(string);
|
||||
@@ -0,0 +1,199 @@
|
||||
type action =
|
||||
| AddAttributePoint(int)
|
||||
| RemoveAttributePoint(int)
|
||||
| AddLifePoint
|
||||
| RemoveLifePoint
|
||||
| AddArcaneEnergyPoint
|
||||
| RemoveArcaneEnergyPoint
|
||||
| AddKarmaPoint
|
||||
| RemoveKarmaPoint
|
||||
| AddLostLifePoint
|
||||
| RemoveLostLifePoint
|
||||
| AddLostLifePoints(int)
|
||||
| AddBoughtBackArcaneEnergyPoint
|
||||
| RemoveBoughtBackArcaneEnergyPoint
|
||||
| AddLostArcaneEnergyPoint
|
||||
| RemoveLostArcaneEnergyPoint
|
||||
| AddLostArcaneEnergyPoints(int)
|
||||
| AddBoughtBackKarmaPoint
|
||||
| RemoveBoughtBackKarmaPoint
|
||||
| AddLostKarmaPoint
|
||||
| RemoveLostKarmaPoint
|
||||
| AddLostKarmaPoints(int)
|
||||
| SetAttributeAdjustment(int);
|
||||
|
||||
// export const addAttributePoint = (id: string): ReduxAction<Promise<void>> =>
|
||||
// async (dispatch, getState) => {
|
||||
// const state = getState ()
|
||||
// const wiki_attributes = getWikiAttributes (state)
|
||||
// const mhero = getCurrentHeroPresent (state)
|
||||
// const mhero_attributes = fmapF (mhero) (HeroModel.A.attributes)
|
||||
//
|
||||
// const missingAPForInc =
|
||||
// pipe_ (
|
||||
// mhero,
|
||||
// bindF (hero => getAvailableAPMap (HeroModel.A.id (hero)) (state, { hero })),
|
||||
// join,
|
||||
// liftM2 (getAreSufficientAPAvailableForIncrease (getIsInCharacterCreation (state))
|
||||
// (bind (mhero_attributes)
|
||||
// (lookup (id))))
|
||||
// (lookup (id) (wiki_attributes)),
|
||||
// join
|
||||
// )
|
||||
//
|
||||
// if (isNothing (missingAPForInc)) {
|
||||
// dispatch<AddAttributePointAction> ({
|
||||
// type: ActionTypes.ADD_ATTRIBUTE_POINT,
|
||||
// payload: {
|
||||
// id,
|
||||
// },
|
||||
// })
|
||||
// }
|
||||
// else {
|
||||
// await dispatch (addNotEnoughAPAlert (fromJust (missingAPForInc)))
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// export const addLifePoint: ReduxAction<Promise<void>> =
|
||||
// async (dispatch, getState) => {
|
||||
// const state = getState ()
|
||||
// const mhero = getCurrentHeroPresent (state)
|
||||
//
|
||||
// const missingAP =
|
||||
// pipe_ (
|
||||
// mhero,
|
||||
// bindF (hero => getAvailableAPMap (HeroModel.A.id (hero)) (state, { hero })),
|
||||
// join,
|
||||
// liftM2 (pipe (
|
||||
//
|
||||
// // get AP for added points
|
||||
// curryN (getAPForInc) ("D"),
|
||||
//
|
||||
// // AP are passed to result and result finally gets the available AP
|
||||
// getMissingAP (getIsInCharacterCreation (state))
|
||||
// ))
|
||||
// (getAddedLifePoints (state)),
|
||||
// join
|
||||
// )
|
||||
//
|
||||
// if (isNothing (missingAP)) {
|
||||
// dispatch<AddLifePointAction> ({
|
||||
// type: ActionTypes.ADD_LIFE_POINT,
|
||||
// })
|
||||
// }
|
||||
// else {
|
||||
// await dispatch (addNotEnoughAPAlert (fromJust (missingAP)))
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// export const addArcaneEnergyPoint: ReduxAction<Promise<void>> =
|
||||
// async (dispatch, getState) => {
|
||||
// const state = getState ()
|
||||
// const mhero = getCurrentHeroPresent (state)
|
||||
//
|
||||
// const missingAP =
|
||||
// pipe_ (
|
||||
// mhero,
|
||||
// bindF (hero => getAvailableAPMap (HeroModel.A.id (hero)) (state, { hero })),
|
||||
// join,
|
||||
// liftM2 (pipe (
|
||||
//
|
||||
// // get AP for added points
|
||||
// curryN (getAPForInc) ("D"),
|
||||
//
|
||||
// // AP are passed to result and result finally gets the available AP
|
||||
// getMissingAP (getIsInCharacterCreation (state))
|
||||
// ))
|
||||
// (getAddedArcaneEnergyPoints (state)),
|
||||
// join
|
||||
// )
|
||||
//
|
||||
// if (isNothing (missingAP)) {
|
||||
// dispatch<AddArcaneEnergyPointAction> ({
|
||||
// type: ActionTypes.ADD_ARCANE_ENERGY_POINT,
|
||||
// })
|
||||
// }
|
||||
// else {
|
||||
// await dispatch (addNotEnoughAPAlert (fromJust (missingAP)))
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// export const addKarmaPoint: ReduxAction<Promise<void>> =
|
||||
// async (dispatch, getState) => {
|
||||
// const state = getState ()
|
||||
// const mhero = getCurrentHeroPresent (state)
|
||||
//
|
||||
// const missingAP =
|
||||
// pipe_ (
|
||||
// mhero,
|
||||
// bindF (hero => getAvailableAPMap (HeroModel.A.id (hero)) (state, { hero })),
|
||||
// join,
|
||||
// liftM2 (pipe (
|
||||
//
|
||||
// // get AP for added points
|
||||
// curryN (getAPForInc) ("D"),
|
||||
//
|
||||
// // AP are passed to result and result finally gets the available AP
|
||||
// getMissingAP (getIsInCharacterCreation (state))
|
||||
// ))
|
||||
// (getAddedKarmaPoints (state)),
|
||||
// join
|
||||
// )
|
||||
//
|
||||
// if (isNothing (missingAP)) {
|
||||
// dispatch<AddKarmaPointAction> ({
|
||||
// type: ActionTypes.ADD_KARMA_POINT,
|
||||
// })
|
||||
// }
|
||||
// else {
|
||||
// await dispatch (addNotEnoughAPAlert (fromJust (missingAP)))
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// export const addBoughtBackAEPoint: ReduxAction<Promise<void>> =
|
||||
// async (dispatch, getState) => {
|
||||
// const state = getState ()
|
||||
// const mhero = getCurrentHeroPresent (state)
|
||||
//
|
||||
// const missingAP =
|
||||
// pipe_ (
|
||||
// mhero,
|
||||
// bindF (hero => getAvailableAPMap (HeroModel.A.id (hero)) (state, { hero })),
|
||||
// join,
|
||||
// bindF (getMissingAP (getIsInCharacterCreation (state))
|
||||
// (2))
|
||||
// )
|
||||
//
|
||||
// if (isNothing (missingAP)) {
|
||||
// dispatch<AddBoughtBackAEPointAction> ({
|
||||
// type: ActionTypes.ADD_BOUGHT_BACK_AE_POINT,
|
||||
// })
|
||||
// }
|
||||
// else {
|
||||
// await dispatch (addNotEnoughAPAlert (fromJust (missingAP)))
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// export const addBoughtBackKPPoint: ReduxAction<Promise<void>> =
|
||||
// async (dispatch, getState) => {
|
||||
// const state = getState ()
|
||||
// const mhero = getCurrentHeroPresent (state)
|
||||
//
|
||||
// const missingAP =
|
||||
// pipe_ (
|
||||
// mhero,
|
||||
// bindF (hero => getAvailableAPMap (HeroModel.A.id (hero)) (state, { hero })),
|
||||
// join,
|
||||
// bindF (getMissingAP (getIsInCharacterCreation (state))
|
||||
// (2))
|
||||
// )
|
||||
//
|
||||
// if (isNothing (missingAP)) {
|
||||
// dispatch<AddBoughtBackKPPointAction> ({
|
||||
// type: ActionTypes.ADD_BOUGHT_BACK_KP_POINT,
|
||||
// })
|
||||
// }
|
||||
// else {
|
||||
// await dispatch (addNotEnoughAPAlert (fromJust (missingAP)))
|
||||
// }
|
||||
// }
|
||||
@@ -0,0 +1,5 @@
|
||||
type action =
|
||||
| SetCulture(int)
|
||||
| SetCulturesSortOrder(FilterOptions.culturesSortOptions)
|
||||
| SetCulturesVisibilityFilter(FilterOptions.culturesVisibilityFilter)
|
||||
| SetCulturesFilterText(string);
|
||||
@@ -0,0 +1,50 @@
|
||||
type t =
|
||||
| Advantage of Advantage.Static.t
|
||||
| Disadvantage of Disadvantage.Static.t
|
||||
| GeneralSpecialAbility of GeneralSpecialAbility.Static.t
|
||||
| FatePointSpecialAbility of FatePointSpecialAbility.Static.t
|
||||
| CombatSpecialAbility of CombatSpecialAbility.Static.t
|
||||
| MagicalSpecialAbility of MagicalSpecialAbility.Static.t
|
||||
| StaffEnchantment of StaffEnchantment.Static.t
|
||||
| FamiliarSpecialAbility of FamiliarSpecialAbility.Static.t
|
||||
| KarmaSpecialAbility of KarmaSpecialAbility.Static.t
|
||||
| ProtectiveWardingCircleSpecialAbility of
|
||||
ProtectiveWardingCircleSpecialAbility.Static.t
|
||||
| CombatStyleSpecialAbility of CombatStyleSpecialAbility.Static.t
|
||||
| AdvancedCombatSpecialAbility of AdvancedCombatSpecialAbility.Static.t
|
||||
| CommandSpecialAbility of CommandSpecialAbility.Static.t
|
||||
| MagicStyleSpecialAbility of MagicStyleSpecialAbility.Static.t
|
||||
| AdvancedMagicalSpecialAbility of AdvancedMagicalSpecialAbility.Static.t
|
||||
| SpellSwordEnchantment of SpellSwordEnchantment.Static.t
|
||||
| DaggerRitual of DaggerRitual.Static.t
|
||||
| InstrumentEnchantment of InstrumentEnchantment.Static.t
|
||||
| AttireEnchantment of AttireEnchantment.Static.t
|
||||
| OrbEnchantment of OrbEnchantment.Static.t
|
||||
| WandEnchantment of WandEnchantment.Static.t
|
||||
| BrawlingSpecialAbility of BrawlingSpecialAbility.Static.t
|
||||
| AncestorGlyph of AncestorGlyph.Static.t
|
||||
| CeremonialItemSpecialAbility of CeremonialItemSpecialAbility.Static.t
|
||||
| Sermon of Sermon.Static.t
|
||||
| LiturgicalStyleSpecialAbility of LiturgicalStyleSpecialAbility.Static.t
|
||||
| AdvancedKarmaSpecialAbility of AdvancedKarmaSpecialAbility.Static.t
|
||||
| Vision of Vision.Static.t
|
||||
| MagicalTradition of MagicalTradition.Static.t
|
||||
| BlessedTradition of BlessedTradition.Static.t
|
||||
| Paktgeschenk of Paktgeschenk.Static.t
|
||||
| SikaryanRaubSonderfertigkeit of SikaryanRaubSonderfertigkeit.Static.t
|
||||
| LykanthropischeGabe of LykanthropischeGabe.Static.t
|
||||
| Talentstilsonderfertigkeit of Talentstilsonderfertigkeit.Static.t
|
||||
| ErweiterteTalentsonderfertigkeit of
|
||||
ErweiterteTalentsonderfertigkeit.Static.t
|
||||
| Kugelzauber of Kugelzauber.Static.t
|
||||
| Kesselzauber of Kesselzauber.Static.t
|
||||
| Kappenzauber of Kappenzauber.Static.t
|
||||
| Spielzeugzauber of Spielzeugzauber.Static.t
|
||||
| Schalenzauber of Schalenzauber.Static.t
|
||||
| SexSchicksalspunkteSonderfertigkeit of
|
||||
SexSchicksalspunkteSonderfertigkeit.Static.t
|
||||
| SexSonderfertigkeit of SexSonderfertigkeit.Static.t
|
||||
| Waffenzauber of Waffenzauber.Static.t
|
||||
| Sichelritual of Sichelritual.Static.t
|
||||
| Ringzauber of Ringzauber.Static.t
|
||||
| Chronikzauber of Chronikzauber.Static.t
|
||||
@@ -0,0 +1,349 @@
|
||||
let isActive (x : 'a Activatable_Dynamic.t) = Ley_List.Extra.notNull x.active
|
||||
|
||||
let isActiveM x = Ley_Option.option false isActive x
|
||||
|
||||
let id = function
|
||||
| Activatable.Advantage x -> Id.Activatable.Advantage x.id
|
||||
| Disadvantage x -> Disadvantage x.id
|
||||
| GeneralSpecialAbility x -> GeneralSpecialAbility x.id
|
||||
| FatePointSpecialAbility x -> FatePointSpecialAbility x.id
|
||||
| CombatSpecialAbility x -> CombatSpecialAbility x.id
|
||||
| MagicalSpecialAbility x -> MagicalSpecialAbility x.id
|
||||
| StaffEnchantment x -> StaffEnchantment x.id
|
||||
| FamiliarSpecialAbility x -> FamiliarSpecialAbility x.id
|
||||
| KarmaSpecialAbility x -> KarmaSpecialAbility x.id
|
||||
| ProtectiveWardingCircleSpecialAbility x ->
|
||||
ProtectiveWardingCircleSpecialAbility x.id
|
||||
| CombatStyleSpecialAbility x -> CombatStyleSpecialAbility x.id
|
||||
| AdvancedCombatSpecialAbility x -> AdvancedCombatSpecialAbility x.id
|
||||
| CommandSpecialAbility x -> CommandSpecialAbility x.id
|
||||
| MagicStyleSpecialAbility x -> MagicStyleSpecialAbility x.id
|
||||
| AdvancedMagicalSpecialAbility x -> AdvancedMagicalSpecialAbility x.id
|
||||
| SpellSwordEnchantment x -> SpellSwordEnchantment x.id
|
||||
| DaggerRitual x -> DaggerRitual x.id
|
||||
| InstrumentEnchantment x -> InstrumentEnchantment x.id
|
||||
| AttireEnchantment x -> AttireEnchantment x.id
|
||||
| OrbEnchantment x -> OrbEnchantment x.id
|
||||
| WandEnchantment x -> WandEnchantment x.id
|
||||
| BrawlingSpecialAbility x -> BrawlingSpecialAbility x.id
|
||||
| AncestorGlyph x -> AncestorGlyph x.id
|
||||
| CeremonialItemSpecialAbility x -> CeremonialItemSpecialAbility x.id
|
||||
| Sermon x -> Sermon x.id
|
||||
| LiturgicalStyleSpecialAbility x -> LiturgicalStyleSpecialAbility x.id
|
||||
| AdvancedKarmaSpecialAbility x -> AdvancedKarmaSpecialAbility x.id
|
||||
| Vision x -> Vision x.id
|
||||
| MagicalTradition x -> MagicalTradition x.id
|
||||
| BlessedTradition x -> BlessedTradition x.id
|
||||
| Paktgeschenk x -> Paktgeschenk x.id
|
||||
| SikaryanRaubSonderfertigkeit x -> SikaryanRaubSonderfertigkeit x.id
|
||||
| LykanthropischeGabe x -> LykanthropischeGabe x.id
|
||||
| Talentstilsonderfertigkeit x -> Talentstilsonderfertigkeit x.id
|
||||
| ErweiterteTalentsonderfertigkeit x -> ErweiterteTalentsonderfertigkeit x.id
|
||||
| Kugelzauber x -> Kugelzauber x.id
|
||||
| Kesselzauber x -> Kesselzauber x.id
|
||||
| Kappenzauber x -> Kappenzauber x.id
|
||||
| Spielzeugzauber x -> Spielzeugzauber x.id
|
||||
| Schalenzauber x -> Schalenzauber x.id
|
||||
| SexSchicksalspunkteSonderfertigkeit x ->
|
||||
SexSchicksalspunkteSonderfertigkeit x.id
|
||||
| SexSonderfertigkeit x -> SexSonderfertigkeit x.id
|
||||
| Waffenzauber x -> Waffenzauber x.id
|
||||
| Sichelritual x -> Sichelritual x.id
|
||||
| Ringzauber x -> Ringzauber x.id
|
||||
| Chronikzauber x -> Chronikzauber x.id
|
||||
|
||||
let id' = function
|
||||
| Activatable.Advantage x -> x.id
|
||||
| Disadvantage x -> x.id
|
||||
| GeneralSpecialAbility x -> x.id
|
||||
| FatePointSpecialAbility x -> x.id
|
||||
| CombatSpecialAbility x -> x.id
|
||||
| MagicalSpecialAbility x -> x.id
|
||||
| StaffEnchantment x -> x.id
|
||||
| FamiliarSpecialAbility x -> x.id
|
||||
| KarmaSpecialAbility x -> x.id
|
||||
| ProtectiveWardingCircleSpecialAbility x -> x.id
|
||||
| CombatStyleSpecialAbility x -> x.id
|
||||
| AdvancedCombatSpecialAbility x -> x.id
|
||||
| CommandSpecialAbility x -> x.id
|
||||
| MagicStyleSpecialAbility x -> x.id
|
||||
| AdvancedMagicalSpecialAbility x -> x.id
|
||||
| SpellSwordEnchantment x -> x.id
|
||||
| DaggerRitual x -> x.id
|
||||
| InstrumentEnchantment x -> x.id
|
||||
| AttireEnchantment x -> x.id
|
||||
| OrbEnchantment x -> x.id
|
||||
| WandEnchantment x -> x.id
|
||||
| BrawlingSpecialAbility x -> x.id
|
||||
| AncestorGlyph x -> x.id
|
||||
| CeremonialItemSpecialAbility x -> x.id
|
||||
| Sermon x -> x.id
|
||||
| LiturgicalStyleSpecialAbility x -> x.id
|
||||
| AdvancedKarmaSpecialAbility x -> x.id
|
||||
| Vision x -> x.id
|
||||
| MagicalTradition x -> x.id
|
||||
| BlessedTradition x -> x.id
|
||||
| Paktgeschenk x -> x.id
|
||||
| SikaryanRaubSonderfertigkeit x -> x.id
|
||||
| LykanthropischeGabe x -> x.id
|
||||
| Talentstilsonderfertigkeit x -> x.id
|
||||
| ErweiterteTalentsonderfertigkeit x -> x.id
|
||||
| Kugelzauber x -> x.id
|
||||
| Kesselzauber x -> x.id
|
||||
| Kappenzauber x -> x.id
|
||||
| Spielzeugzauber x -> x.id
|
||||
| Schalenzauber x -> x.id
|
||||
| SexSchicksalspunkteSonderfertigkeit x -> x.id
|
||||
| SexSonderfertigkeit x -> x.id
|
||||
| Waffenzauber x -> x.id
|
||||
| Sichelritual x -> x.id
|
||||
| Ringzauber x -> x.id
|
||||
| Chronikzauber x -> x.id
|
||||
|
||||
let idDeepVariant x = x |> id |> Id.Activatable.to_nested
|
||||
|
||||
let name = function
|
||||
| Activatable.Advantage x -> x.name
|
||||
| Disadvantage x -> x.name
|
||||
| GeneralSpecialAbility x -> x.name
|
||||
| FatePointSpecialAbility x -> x.name
|
||||
| CombatSpecialAbility x -> x.name
|
||||
| MagicalSpecialAbility x -> x.name
|
||||
| StaffEnchantment x -> x.name
|
||||
| FamiliarSpecialAbility x -> x.name
|
||||
| KarmaSpecialAbility x -> x.name
|
||||
| ProtectiveWardingCircleSpecialAbility x -> x.name
|
||||
| CombatStyleSpecialAbility x -> x.name
|
||||
| AdvancedCombatSpecialAbility x -> x.name
|
||||
| CommandSpecialAbility x -> x.name
|
||||
| MagicStyleSpecialAbility x -> x.name
|
||||
| AdvancedMagicalSpecialAbility x -> x.name
|
||||
| SpellSwordEnchantment x -> x.name
|
||||
| DaggerRitual x -> x.name
|
||||
| InstrumentEnchantment x -> x.name
|
||||
| AttireEnchantment x -> x.name
|
||||
| OrbEnchantment x -> x.name
|
||||
| WandEnchantment x -> x.name
|
||||
| BrawlingSpecialAbility x -> x.name
|
||||
| AncestorGlyph x -> x.name
|
||||
| CeremonialItemSpecialAbility x -> x.name
|
||||
| Sermon x -> x.name
|
||||
| LiturgicalStyleSpecialAbility x -> x.name
|
||||
| AdvancedKarmaSpecialAbility x -> x.name
|
||||
| Vision x -> x.name
|
||||
| MagicalTradition x -> x.name
|
||||
| BlessedTradition x -> x.name
|
||||
| Paktgeschenk x -> x.name
|
||||
| SikaryanRaubSonderfertigkeit x -> x.name
|
||||
| LykanthropischeGabe x -> x.name
|
||||
| Talentstilsonderfertigkeit x -> x.name
|
||||
| ErweiterteTalentsonderfertigkeit x -> x.name
|
||||
| Kugelzauber x -> x.name
|
||||
| Kesselzauber x -> x.name
|
||||
| Kappenzauber x -> x.name
|
||||
| Spielzeugzauber x -> x.name
|
||||
| Schalenzauber x -> x.name
|
||||
| SexSchicksalspunkteSonderfertigkeit x -> x.name
|
||||
| SexSonderfertigkeit x -> x.name
|
||||
| Waffenzauber x -> x.name
|
||||
| Sichelritual x -> x.name
|
||||
| Ringzauber x -> x.name
|
||||
| Chronikzauber x -> x.name
|
||||
|
||||
let selectOptions = function
|
||||
| Activatable.Advantage x -> x.selectOptions
|
||||
| Disadvantage x -> x.selectOptions
|
||||
| GeneralSpecialAbility x -> x.selectOptions
|
||||
| FatePointSpecialAbility x -> x.selectOptions
|
||||
| CombatSpecialAbility x -> x.selectOptions
|
||||
| MagicalSpecialAbility x -> x.selectOptions
|
||||
| StaffEnchantment x -> x.selectOptions
|
||||
| FamiliarSpecialAbility x -> x.selectOptions
|
||||
| KarmaSpecialAbility x -> x.selectOptions
|
||||
| ProtectiveWardingCircleSpecialAbility x -> x.selectOptions
|
||||
| CombatStyleSpecialAbility x -> x.selectOptions
|
||||
| AdvancedCombatSpecialAbility x -> x.selectOptions
|
||||
| CommandSpecialAbility x -> x.selectOptions
|
||||
| MagicStyleSpecialAbility x -> x.selectOptions
|
||||
| AdvancedMagicalSpecialAbility x -> x.selectOptions
|
||||
| SpellSwordEnchantment x -> x.selectOptions
|
||||
| DaggerRitual x -> x.selectOptions
|
||||
| InstrumentEnchantment x -> x.selectOptions
|
||||
| AttireEnchantment x -> x.selectOptions
|
||||
| OrbEnchantment x -> x.selectOptions
|
||||
| WandEnchantment x -> x.selectOptions
|
||||
| BrawlingSpecialAbility x -> x.selectOptions
|
||||
| AncestorGlyph x -> x.selectOptions
|
||||
| CeremonialItemSpecialAbility x -> x.selectOptions
|
||||
| Sermon x -> x.selectOptions
|
||||
| LiturgicalStyleSpecialAbility x -> x.selectOptions
|
||||
| AdvancedKarmaSpecialAbility x -> x.selectOptions
|
||||
| Vision x -> x.selectOptions
|
||||
| MagicalTradition x -> x.selectOptions
|
||||
| BlessedTradition x -> x.selectOptions
|
||||
| Paktgeschenk x -> x.selectOptions
|
||||
| SikaryanRaubSonderfertigkeit x -> x.selectOptions
|
||||
| LykanthropischeGabe x -> x.selectOptions
|
||||
| Talentstilsonderfertigkeit x -> x.selectOptions
|
||||
| ErweiterteTalentsonderfertigkeit x -> x.selectOptions
|
||||
| Kugelzauber x -> x.selectOptions
|
||||
| Kesselzauber x -> x.selectOptions
|
||||
| Kappenzauber x -> x.selectOptions
|
||||
| Spielzeugzauber x -> x.selectOptions
|
||||
| Schalenzauber x -> x.selectOptions
|
||||
| SexSchicksalspunkteSonderfertigkeit x -> x.selectOptions
|
||||
| SexSonderfertigkeit x -> x.selectOptions
|
||||
| Waffenzauber x -> x.selectOptions
|
||||
| Sichelritual x -> x.selectOptions
|
||||
| Ringzauber x -> x.selectOptions
|
||||
| Chronikzauber x -> x.selectOptions
|
||||
|
||||
let input = function
|
||||
| Activatable.Advantage x -> x.input
|
||||
| Disadvantage x -> x.input
|
||||
| GeneralSpecialAbility x -> x.input
|
||||
| FatePointSpecialAbility x -> x.input
|
||||
| CombatSpecialAbility x -> x.input
|
||||
| MagicalSpecialAbility x -> x.input
|
||||
| StaffEnchantment x -> x.input
|
||||
| FamiliarSpecialAbility x -> x.input
|
||||
| KarmaSpecialAbility x -> x.input
|
||||
| ProtectiveWardingCircleSpecialAbility _ -> None
|
||||
| CombatStyleSpecialAbility x -> x.input
|
||||
| AdvancedCombatSpecialAbility x -> x.input
|
||||
| CommandSpecialAbility x -> x.input
|
||||
| MagicStyleSpecialAbility x -> x.input
|
||||
| AdvancedMagicalSpecialAbility x -> x.input
|
||||
| SpellSwordEnchantment x -> x.input
|
||||
| DaggerRitual x -> x.input
|
||||
| InstrumentEnchantment x -> x.input
|
||||
| AttireEnchantment x -> x.input
|
||||
| OrbEnchantment x -> x.input
|
||||
| WandEnchantment x -> x.input
|
||||
| BrawlingSpecialAbility x -> x.input
|
||||
| AncestorGlyph x -> x.input
|
||||
| CeremonialItemSpecialAbility x -> x.input
|
||||
| Sermon x -> x.input
|
||||
| LiturgicalStyleSpecialAbility x -> x.input
|
||||
| AdvancedKarmaSpecialAbility x -> x.input
|
||||
| Vision x -> x.input
|
||||
| MagicalTradition x -> x.input
|
||||
| BlessedTradition x -> x.input
|
||||
| Paktgeschenk x -> x.input
|
||||
| SikaryanRaubSonderfertigkeit x -> x.input
|
||||
| LykanthropischeGabe x -> x.input
|
||||
| Talentstilsonderfertigkeit x -> x.input
|
||||
| ErweiterteTalentsonderfertigkeit x -> x.input
|
||||
| Kugelzauber x -> x.input
|
||||
| Kesselzauber x -> x.input
|
||||
| Kappenzauber x -> x.input
|
||||
| Spielzeugzauber x -> x.input
|
||||
| Schalenzauber x -> x.input
|
||||
| SexSchicksalspunkteSonderfertigkeit x -> x.input
|
||||
| SexSonderfertigkeit x -> x.input
|
||||
| Waffenzauber x -> x.input
|
||||
| Sichelritual x -> x.input
|
||||
| Ringzauber x -> x.input
|
||||
| Chronikzauber x -> x.input
|
||||
|
||||
let apValue = function
|
||||
| Activatable.Advantage x -> x.apValue
|
||||
| Disadvantage x -> x.apValue
|
||||
| GeneralSpecialAbility x -> x.apValue
|
||||
| FatePointSpecialAbility x -> x.apValue
|
||||
| CombatSpecialAbility x -> x.apValue
|
||||
| MagicalSpecialAbility x -> x.apValue
|
||||
| StaffEnchantment x -> x.apValue
|
||||
| FamiliarSpecialAbility x -> x.apValue
|
||||
| KarmaSpecialAbility x -> x.apValue
|
||||
| ProtectiveWardingCircleSpecialAbility x -> x.apValue
|
||||
| CombatStyleSpecialAbility x -> x.apValue
|
||||
| AdvancedCombatSpecialAbility x -> x.apValue
|
||||
| CommandSpecialAbility x -> x.apValue
|
||||
| MagicStyleSpecialAbility x -> x.apValue
|
||||
| AdvancedMagicalSpecialAbility x -> x.apValue
|
||||
| SpellSwordEnchantment x -> x.apValue
|
||||
| DaggerRitual x -> x.apValue
|
||||
| InstrumentEnchantment x -> x.apValue
|
||||
| AttireEnchantment x -> x.apValue
|
||||
| OrbEnchantment x -> x.apValue
|
||||
| WandEnchantment x -> x.apValue
|
||||
| BrawlingSpecialAbility x -> x.apValue
|
||||
| AncestorGlyph x -> x.apValue
|
||||
| CeremonialItemSpecialAbility x -> x.apValue
|
||||
| Sermon x -> x.apValue
|
||||
| LiturgicalStyleSpecialAbility x -> x.apValue
|
||||
| AdvancedKarmaSpecialAbility x -> x.apValue
|
||||
| Vision x -> x.apValue
|
||||
| MagicalTradition x -> x.apValue
|
||||
| BlessedTradition x -> x.apValue
|
||||
| Paktgeschenk x -> x.apValue
|
||||
| SikaryanRaubSonderfertigkeit x -> x.apValue
|
||||
| LykanthropischeGabe x -> x.apValue
|
||||
| Talentstilsonderfertigkeit x -> x.apValue
|
||||
| ErweiterteTalentsonderfertigkeit x -> x.apValue
|
||||
| Kugelzauber x -> x.apValue
|
||||
| Kesselzauber x -> x.apValue
|
||||
| Kappenzauber x -> x.apValue
|
||||
| Spielzeugzauber x -> x.apValue
|
||||
| Schalenzauber x -> x.apValue
|
||||
| SexSchicksalspunkteSonderfertigkeit x -> x.apValue
|
||||
| SexSonderfertigkeit x -> x.apValue
|
||||
| Waffenzauber x -> x.apValue
|
||||
| Sichelritual x -> x.apValue
|
||||
| Ringzauber x -> x.apValue
|
||||
| Chronikzauber x -> x.apValue
|
||||
|
||||
let apValue' x =
|
||||
x |> apValue |> function
|
||||
| Some (Activatable_Shared.ApValue.Flat x) -> Some (OneOrMany.One x)
|
||||
| Some (PerLevel xs) -> Some (Many xs)
|
||||
| Some Option | None -> None
|
||||
|
||||
let max = function
|
||||
| Activatable.Advantage x -> x.max
|
||||
| Disadvantage x -> x.max
|
||||
| GeneralSpecialAbility x -> x.max
|
||||
| FatePointSpecialAbility x -> x.max
|
||||
| CombatSpecialAbility x -> x.max
|
||||
| MagicalSpecialAbility x -> x.max
|
||||
| StaffEnchantment x -> x.max
|
||||
| FamiliarSpecialAbility x -> x.max
|
||||
| KarmaSpecialAbility x -> x.max
|
||||
| ProtectiveWardingCircleSpecialAbility x -> x.max
|
||||
| CombatStyleSpecialAbility x -> x.max
|
||||
| AdvancedCombatSpecialAbility x -> x.max
|
||||
| CommandSpecialAbility x -> x.max
|
||||
| MagicStyleSpecialAbility x -> x.max
|
||||
| AdvancedMagicalSpecialAbility x -> x.max
|
||||
| SpellSwordEnchantment x -> x.max
|
||||
| DaggerRitual x -> x.max
|
||||
| InstrumentEnchantment x -> x.max
|
||||
| AttireEnchantment x -> x.max
|
||||
| OrbEnchantment x -> x.max
|
||||
| WandEnchantment x -> x.max
|
||||
| BrawlingSpecialAbility x -> x.max
|
||||
| AncestorGlyph x -> x.max
|
||||
| CeremonialItemSpecialAbility x -> x.max
|
||||
| Sermon x -> x.max
|
||||
| LiturgicalStyleSpecialAbility x -> x.max
|
||||
| AdvancedKarmaSpecialAbility x -> x.max
|
||||
| Vision x -> x.max
|
||||
| MagicalTradition x -> x.max
|
||||
| BlessedTradition x -> x.max
|
||||
| Paktgeschenk x -> x.max
|
||||
| SikaryanRaubSonderfertigkeit x -> x.max
|
||||
| LykanthropischeGabe x -> x.max
|
||||
| Talentstilsonderfertigkeit x -> x.max
|
||||
| ErweiterteTalentsonderfertigkeit x -> x.max
|
||||
| Kugelzauber x -> x.max
|
||||
| Kesselzauber x -> x.max
|
||||
| Kappenzauber x -> x.max
|
||||
| Spielzeugzauber x -> x.max
|
||||
| Schalenzauber x -> x.max
|
||||
| SexSchicksalspunkteSonderfertigkeit x -> x.max
|
||||
| SexSonderfertigkeit x -> x.max
|
||||
| Waffenzauber x -> x.max
|
||||
| Sichelritual x -> x.max
|
||||
| Ringzauber x -> x.max
|
||||
| Chronikzauber x -> x.max
|
||||
@@ -0,0 +1,37 @@
|
||||
(**
|
||||
* Convenient accessor functions for static Activatable entries.
|
||||
*
|
||||
* This module provides some accessor functions for accessing properties of a
|
||||
* static Activatable entry. The functions are named so that the name equals the
|
||||
* property name.
|
||||
*
|
||||
* It also provides a few functions for simple derived values.
|
||||
*)
|
||||
|
||||
val isActive : 'a Activatable_Dynamic.t -> bool
|
||||
(**
|
||||
* Is an Activatable entry active?
|
||||
*)
|
||||
|
||||
val isActiveM : 'a Activatable_Dynamic.t option -> bool
|
||||
(**
|
||||
* Is an Activatable, where the entry may not have been created, active?
|
||||
*)
|
||||
|
||||
val id : Activatable.t -> Id.Activatable.t
|
||||
|
||||
val id' : Activatable.t -> int
|
||||
|
||||
val idDeepVariant : Activatable.t -> Id.Activatable.Nested.t
|
||||
|
||||
val name : Activatable.t -> string
|
||||
|
||||
val selectOptions : Activatable.t -> SelectOption.map
|
||||
|
||||
val input : Activatable.t -> string option
|
||||
|
||||
val apValue : Activatable.t -> Activatable_Shared.ApValue.t option
|
||||
|
||||
val apValue' : Activatable.t -> int OneOrMany.t option
|
||||
|
||||
val max : Activatable.t -> int option
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user