Compare commits

...

2640 Commits

Author SHA1 Message Date
Nut
20984f75ce improve faction score math code
improve faction score math code
2025-12-21 17:31:56 +01:00
a8c3aad4b0 improve faction score math code
Signed-off-by: OMGeeky <git@omgeeky.de>
2025-12-21 17:04:48 +01:00
Nut.andor
a5b44e0dea simple calculations with factionScores 2025-12-21 02:53:27 +01:00
Nut.andor
3622584134 simple calculations with factionScores 2025-12-21 02:30:34 +01:00
Nut.andor
cf6a1ade95 simple calculations with factionScores 2025-12-21 02:18:50 +01:00
Nut.andor
ceb2b8e31e Teleport redesigned 2025-12-14 21:54:48 +01:00
Nut.andor
84411f9ac4 added sprites 2025-12-07 01:02:14 +01:00
Nut.andor
3efa527665 btn #6 2025-12-07 00:56:52 +01:00
Nut.andor
87a4feb2af new map sprites 2025-12-04 21:56:06 +01:00
Nut.andor
e8f89c55fb map_brightport.png changes 2025-11-21 21:22:40 +01:00
Nut.andor
a5fc31e18c new sprites 2025-11-04 00:05:50 +01:00
Nut.andor
d5266aabad Revert "Debug buttons for brightport2"
This reverts commit 56f63400cb.
2025-11-02 23:05:56 +01:00
Nut.andor
56f63400cb Debug buttons for brightport2 2025-11-02 23:05:05 +01:00
Nut.andor
a0772e2702 Merge branch 'master' into AT_Source_Next_Release 2025-11-02 23:00:39 +01:00
Nut.andor
182e95e847 prepared next version 0.8.16 (83) 2025-11-02 22:59:06 +01:00
Nut.andor
e1a62f38e3 Merge branch 'v0.8.15' 2025-11-01 19:36:07 +01:00
Nut.andor
4d73d67cda gitignore 2025-11-01 19:35:43 +01:00
Nut.andor
c850033410 whatsnew 2025-11-01 19:31:38 +01:00
Nut.andor
b7d58ef93f mo 2025-11-01 19:20:05 +01:00
Nut.andor
b08430f0ec potc 2025-11-01 19:18:50 +01:00
Nut.andor
68c6afafa3 content next_release (Fixes & more) 2025-11-01 19:10:39 +01:00
Nut.andor
a73984370b Merge remote-tracking branch 'hosted.weblate/master' into v0.8.15 2025-11-01 18:26:51 +01:00
wsh1997.c
4cfa0b5746 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 94.8% (19931 of 21007 strings)
2025-10-31 07:03:26 +00:00
ilya
5cb13482d6 Translated using Weblate (Russian)
Currently translated at 93.7% (19704 of 21007 strings)
2025-10-31 07:03:16 +00:00
gt
bd72dd0e6b Translated using Weblate (Portuguese)
Currently translated at 79.2% (16648 of 21007 strings)
2025-10-31 07:03:02 +00:00
gt
5460fea6eb Translated using Weblate (Portuguese)
Currently translated at 79.0% (16601 of 21007 strings)
2025-10-30 04:25:29 +00:00
Daniel Stasiak
f5f21f1146 Translated using Weblate (Polish)
Currently translated at 80.8% (16987 of 21007 strings)
2025-10-30 04:25:19 +00:00
Frei Tags
86efd9704a Translated using Weblate (German)
Currently translated at 86.1% (18089 of 21007 strings)
2025-10-30 04:25:14 +00:00
Raphi
24205cebf0 Translated using Weblate (German)
Currently translated at 86.1% (18089 of 21007 strings)
2025-10-30 04:25:11 +00:00
Daniel Stasiak
6b64a8df6b Translated using Weblate (Polish)
Currently translated at 80.7% (16970 of 21007 strings)
2025-10-28 21:02:46 +01:00
Daniel Stasiak
ffcc342568 Translated using Weblate (Polish)
Currently translated at 100.0% (614 of 614 strings)
2025-10-28 21:02:43 +01:00
gt
3670a8e8f2 Translated using Weblate (Portuguese)
Currently translated at 78.8% (16562 of 21007 strings)
2025-10-27 16:03:18 +00:00
Daniel Stasiak
ef0a689037 Translated using Weblate (Polish)
Currently translated at 80.7% (16958 of 21007 strings)
2025-10-27 16:03:14 +00:00
Nut.andor
39f50ee372 Translation state 2025-10-26 20:33:09 +01:00
Nut.andor
fcf34e1e40 Merge remote-tracking branch 'hosted.weblate/master' into AT_Source_Next_Release
create new po
2025-10-26 19:48:36 +01:00
Nut.andor
97b349326f whatsnew 2025-10-26 17:07:36 +01:00
Nut.andor
3175af1436 more bosses 2025-10-26 02:58:33 +02:00
Nut.andor
89e36ad505 scroll repaired 2025-10-26 02:58:33 +02:00
Nut.andor
88b817961d New requirement "skillIncrease" to check if a skill increase for n levels is possible 2025-10-26 02:52:31 +02:00
gt
fc66726d3f Translated using Weblate (Portuguese)
Currently translated at 78.7% (16543 of 21007 strings)
2025-10-25 16:02:53 +02:00
Nut.andor
a6e6c2a6a0 0 gold items should not be buyable 2025-10-24 23:17:34 +02:00
Nut.andor
47f65b6617 another tiny scroll added 2025-10-24 14:59:30 +02:00
Nut.andor
f802a2a7a4 0 gold items should not be buyable 2025-10-24 14:52:39 +02:00
Nut.andor
d91e2191c4 2 tiny scrolls added 2025-10-24 14:52:38 +02:00
gt
7c592b6d31 Translated using Weblate (Portuguese)
Currently translated at 78.3% (16469 of 21007 strings)
2025-10-20 20:01:59 +02:00
Nut.andor
44c8323b0f 0 gold items should not be buyable 2025-10-17 11:39:43 +02:00
Frei Tags
b8323988db Translated using Weblate (German)
Currently translated at 86.1% (18089 of 21007 strings)
2025-10-16 15:07:38 +02:00
Raphi
e35624741c Translated using Weblate (German)
Currently translated at 86.1% (18089 of 21007 strings)
2025-10-16 15:07:37 +02:00
gt
88f131b610 Translated using Weblate (Portuguese)
Currently translated at 78.3% (16465 of 21007 strings)
2025-10-13 07:55:46 +02:00
Rasti K5
bb05a6342c Translated using Weblate (Kurdish (Central))
Currently translated at 0.2% (44 of 21006 strings)
2025-10-12 19:21:10 +02:00
Jinzhou Huang
d56204fed9 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 99.5% (611 of 614 strings)
2025-10-11 14:07:32 +00:00
gt
995e0eae45 Translated using Weblate (Portuguese)
Currently translated at 78.3% (16457 of 21007 strings)
2025-10-11 14:07:30 +00:00
Walter William Beckerleg Bruckman
638f53953d Translated using Weblate (Spanish)
Currently translated at 100.0% (614 of 614 strings)
2025-10-10 00:07:41 +00:00
Walter William Beckerleg Bruckman
599c4125b9 Translated using Weblate (Spanish)
Currently translated at 68.5% (14403 of 21007 strings)
2025-10-10 00:07:40 +00:00
Frei Tags
59560e25a9 Translated using Weblate (German)
Currently translated at 86.0% (18086 of 21007 strings)
2025-10-10 00:07:37 +00:00
Raphi
eb05c9a137 Translated using Weblate (German)
Currently translated at 86.0% (18086 of 21007 strings)
2025-10-10 00:07:35 +00:00
Raphi
e4a3060214 Translated using Weblate (German)
Currently translated at 86.0% (18086 of 21007 strings)
2025-10-10 00:07:34 +00:00
Raphi
3f4b40564f Translated using Weblate (German)
Currently translated at 86.0% (18086 of 21007 strings)
2025-10-10 00:07:33 +00:00
Raphi
1be5921ac9 Translated using Weblate (German)
Currently translated at 86.0% (18086 of 21007 strings)
2025-10-10 00:07:32 +00:00
Raphi
c2584be0f0 Translated using Weblate (German)
Currently translated at 86.0% (18086 of 21007 strings)
2025-10-10 00:07:30 +00:00
Raphi
825b2ddb04 Translated using Weblate (German)
Currently translated at 86.0% (18086 of 21007 strings)
2025-10-10 00:07:28 +00:00
Raphi
d33083b4c4 Translated using Weblate (German)
Currently translated at 86.0% (18086 of 21007 strings)
2025-10-10 00:07:27 +00:00
Renamed1986
8a9fe29259 Translated using Weblate (Russian)
Currently translated at 93.6% (19676 of 21007 strings)
2025-10-08 01:02:17 +02:00
gt
557b066a72 Translated using Weblate (Portuguese)
Currently translated at 78.1% (16425 of 21007 strings)
2025-10-08 01:02:15 +02:00
ilya
0ad4e5c701 Translated using Weblate (Russian)
Currently translated at 100.0% (614 of 614 strings)
2025-10-08 01:02:14 +02:00
xvy
c21e2313c3 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 94.7% (19909 of 21007 strings)
2025-10-06 16:02:06 +00:00
Nut.andor
9abec9d873 debug 2025-10-05 01:26:49 +02:00
Nut.andor
b2eccfa823 paper sword+shield 2025-10-04 02:10:18 +02:00
Nut.andor
d5def64e4a Parsnips for Raphi 2025-10-04 01:51:27 +02:00
Nut.andor
a264624a2f removed doublets, adding flip attribute 2025-10-03 23:55:06 +02:00
Nut.andor
1d5a3d1fe0 Merge branch 'pulls/1829009049/92' into AT_Source_Next_Release 2025-10-03 23:31:34 +02:00
xvy
34f00c043c Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 94.7% (19898 of 21007 strings)
2025-10-03 22:02:17 +02:00
Raphi
e5f433c143 Translated using Weblate (German)
Currently translated at 86.0% (18069 of 21007 strings)
2025-10-03 22:02:15 +02:00
Frei Tags
740eb2d963 Translated using Weblate (German)
Currently translated at 86.0% (18069 of 21007 strings)
2025-10-03 22:02:14 +02:00
Raphi
5ace9336d3 Translated using Weblate (German)
Currently translated at 86.0% (18069 of 21007 strings)
2025-10-03 22:02:14 +02:00
Raphi
6e23098cd4 Translated using Weblate (German)
Currently translated at 86.0% (18069 of 21007 strings)
2025-10-03 22:02:13 +02:00
Raphi
e9ec25a7a5 Translated using Weblate (German)
Currently translated at 86.0% (18069 of 21007 strings)
2025-10-03 22:02:13 +02:00
Raphi
b88a4b4c38 Translated using Weblate (German)
Currently translated at 86.0% (18069 of 21007 strings)
2025-10-03 22:02:12 +02:00
Raphi
d02a2ea596 Translated using Weblate (German)
Currently translated at 86.0% (18069 of 21007 strings)
2025-10-03 22:02:11 +02:00
Raphi
bc3ae1c030 Translated using Weblate (German)
Currently translated at 86.0% (18069 of 21007 strings)
2025-10-03 22:02:11 +02:00
Raphi
e8343925d4 Translated using Weblate (German)
Currently translated at 86.0% (18069 of 21007 strings)
2025-10-03 22:02:10 +02:00
Raphi
27e6214293 Translated using Weblate (German)
Currently translated at 86.0% (18069 of 21007 strings)
2025-10-03 22:02:10 +02:00
Nut.andor
5c518cfd40 typo 2025-10-03 16:50:15 +02:00
gt
38954dd68d Translated using Weblate (Portuguese)
Currently translated at 78.0% (16406 of 21007 strings)
2025-10-02 18:02:05 +02:00
xvy
bb861d612d Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 94.2% (19793 of 21007 strings)
2025-09-28 23:02:16 +02:00
Damien
110f8014dd Translated using Weblate (French)
Currently translated at 77.9% (16365 of 21007 strings)
2025-09-28 23:02:12 +02:00
Raphi
aa04017596 Translated using Weblate (German)
Currently translated at 85.9% (18048 of 21007 strings)
2025-09-28 23:02:09 +02:00
Frei Tags
328612cce8 Translated using Weblate (German)
Currently translated at 85.9% (18048 of 21007 strings)
2025-09-28 23:02:07 +02:00
Raphi
5b1e994941 Translated using Weblate (German)
Currently translated at 85.9% (18048 of 21007 strings)
2025-09-28 23:02:06 +02:00
Nut.andor
ba7c077fe7 missing , 2025-09-28 04:46:02 +02:00
gt
cf3069f919 Translated using Weblate (Portuguese)
Currently translated at 78.0% (16392 of 21007 strings)
2025-09-27 20:53:53 +02:00
Raphi
9693ecbe27 Translated using Weblate (German)
Currently translated at 85.8% (18045 of 21007 strings)
2025-09-26 20:02:27 +00:00
Frei Tags
1aad9229d9 Translated using Weblate (German)
Currently translated at 85.8% (18045 of 21007 strings)
2025-09-26 20:02:26 +00:00
Raphi
5a480f0c9c Translated using Weblate (German)
Currently translated at 85.8% (18045 of 21007 strings)
2025-09-26 20:02:24 +00:00
Raphi
0fbcc19916 Translated using Weblate (German)
Currently translated at 85.8% (18045 of 21007 strings)
2025-09-26 20:02:23 +00:00
Raphi
80a2f11a40 Translated using Weblate (German)
Currently translated at 85.8% (18045 of 21007 strings)
2025-09-26 20:02:22 +00:00
Raphi
83a7ceab8a Translated using Weblate (German)
Currently translated at 85.8% (18045 of 21007 strings)
2025-09-26 20:02:21 +00:00
Raphi
598f1458d2 Translated using Weblate (German)
Currently translated at 85.8% (18045 of 21007 strings)
2025-09-26 20:02:20 +00:00
Raphi
3282688d37 Translated using Weblate (German)
Currently translated at 85.8% (18045 of 21007 strings)
2025-09-26 20:02:19 +00:00
Raphi
2b4ac1ad71 Translated using Weblate (German)
Currently translated at 85.8% (18045 of 21007 strings)
2025-09-26 20:02:17 +00:00
Raphi
5f71026da9 Translated using Weblate (German)
Currently translated at 85.8% (18045 of 21007 strings)
2025-09-26 20:02:16 +00:00
Raphi
f61bf8607e Translated using Weblate (German)
Currently translated at 85.8% (18045 of 21007 strings)
2025-09-26 20:02:14 +00:00
Raphi
a2ae78664c Translated using Weblate (German)
Currently translated at 85.8% (18045 of 21007 strings)
2025-09-26 20:02:13 +00:00
Raphi
d6e5a8763c Translated using Weblate (German)
Currently translated at 85.8% (18045 of 21007 strings)
2025-09-26 20:02:11 +00:00
Raphi
8a0aefeecf Translated using Weblate (German)
Currently translated at 85.8% (18045 of 21007 strings)
2025-09-26 20:02:10 +00:00
Raphi
c4c72c4b10 Translated using Weblate (German)
Currently translated at 85.8% (18045 of 21007 strings)
2025-09-26 20:02:08 +00:00
Raphi
3d93553083 Translated using Weblate (German)
Currently translated at 85.8% (18045 of 21007 strings)
2025-09-26 20:02:07 +00:00
Raphi
49e451329c Translated using Weblate (German)
Currently translated at 85.8% (18045 of 21007 strings)
2025-09-26 20:02:05 +00:00
Artem
8f73d39716 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (21007 of 21007 strings)
2025-09-24 17:02:44 +02:00
gt
4cdda40373 Translated using Weblate (Portuguese)
Currently translated at 77.9% (16368 of 21007 strings)
2025-09-24 17:02:41 +02:00
Raphi
92d9f8e4ae Translated using Weblate (German)
Currently translated at 85.4% (17945 of 21007 strings)
2025-09-24 17:02:38 +02:00
Frei Tags
0f688f555b Translated using Weblate (German)
Currently translated at 85.4% (17945 of 21007 strings)
2025-09-24 17:02:37 +02:00
Raphi
0f5757baeb Translated using Weblate (German)
Currently translated at 85.4% (17945 of 21007 strings)
2025-09-24 17:02:35 +02:00
Raphi
d994e81c70 Translated using Weblate (German)
Currently translated at 85.4% (17945 of 21007 strings)
2025-09-24 17:02:33 +02:00
Raphi
c1b4343eb5 Translated using Weblate (German)
Currently translated at 85.4% (17945 of 21007 strings)
2025-09-24 17:02:27 +02:00
Raphi
0c5c7ac30c Translated using Weblate (German)
Currently translated at 85.4% (17945 of 21007 strings)
2025-09-24 17:02:24 +02:00
Raphi
0da64a6cbd Translated using Weblate (German)
Currently translated at 85.4% (17945 of 21007 strings)
2025-09-24 17:02:22 +02:00
Raphi
4cc0e7c1f1 Translated using Weblate (German)
Currently translated at 85.4% (17945 of 21007 strings)
2025-09-24 17:02:20 +02:00
Raphi
917b72282d Translated using Weblate (German)
Currently translated at 85.4% (17945 of 21007 strings)
2025-09-24 17:02:18 +02:00
Raphi
bac3e55ada Translated using Weblate (German)
Currently translated at 85.4% (17945 of 21007 strings)
2025-09-24 17:02:17 +02:00
Raphi
6089c67333 Translated using Weblate (German)
Currently translated at 85.4% (17945 of 21007 strings)
2025-09-24 17:02:15 +02:00
Raphi
c5795046f4 Translated using Weblate (German)
Currently translated at 85.4% (17945 of 21007 strings)
2025-09-24 17:02:13 +02:00
Raphi
e9d1272c1e Translated using Weblate (German)
Currently translated at 85.4% (17945 of 21007 strings)
2025-09-24 17:02:11 +02:00
Raphi
af994a15ce Translated using Weblate (German)
Currently translated at 85.4% (17945 of 21007 strings)
2025-09-24 17:02:09 +02:00
Raphi
0119f296cb Translated using Weblate (German)
Currently translated at 85.4% (17945 of 21007 strings)
2025-09-24 17:02:07 +02:00
Frei Tags
424402ae52 Translated using Weblate (German)
Currently translated at 84.8% (17834 of 21007 strings)
2025-09-23 09:01:02 +02:00
Raphi
fe27fd303d Translated using Weblate (German)
Currently translated at 84.8% (17834 of 21007 strings)
2025-09-23 09:01:01 +02:00
gt
1cb18db38a Translated using Weblate (Portuguese)
Currently translated at 77.7% (16328 of 21007 strings)
2025-09-21 22:02:13 +02:00
Nut.andor
aa05f73961 simplification of update and beta
by adding versionNameSuffix for debug and new beta build profile
2025-09-21 21:33:05 +02:00
Nut.andor
64450dca3a gradle update 2025-09-21 21:18:24 +02:00
Nut.andor
18288a5338 used overload 2025-09-21 19:47:07 +02:00
Nut.andor
dcf96d1a07 Adding cache function 2025-09-21 19:39:28 +02:00
Nut.andor
d2c73ad07a Possibility to flip a Monster Sprite horizontally 2025-09-21 19:21:53 +02:00
Nut.andor
3fd1b5904a Merge branch 'pulls/1829009049/91' into AT_Source_Next_Release 2025-09-21 19:17:33 +02:00
Nut.andor
a9861b1c41 Android upgrade (15) 2025-09-21 18:35:02 +02:00
gt
07bd912056 Translated using Weblate (Portuguese)
Currently translated at 77.3% (16252 of 21007 strings)
2025-09-20 21:29:47 +02:00
JohannesBoanerges
36b963628a Translated using Weblate (German)
Currently translated at 84.7% (17804 of 21007 strings)
2025-09-20 21:29:45 +02:00
Frei Tags
fb97c80bc4 Translated using Weblate (German)
Currently translated at 84.7% (17804 of 21007 strings)
2025-09-20 21:29:44 +02:00
Raphi
f45f4ac5d8 Translated using Weblate (German)
Currently translated at 84.7% (17804 of 21007 strings)
2025-09-20 21:29:44 +02:00
gt
dc47e6e73f Translated using Weblate (Portuguese)
Currently translated at 76.7% (16133 of 21007 strings)
2025-09-19 17:02:13 +00:00
Raphi
6c4f5b1488 Translated using Weblate (German)
Currently translated at 84.5% (17757 of 21007 strings)
2025-09-19 17:02:10 +00:00
Frei Tags
e08457d646 Translated using Weblate (German)
Currently translated at 84.5% (17757 of 21007 strings)
2025-09-19 17:02:08 +00:00
Raphi
8b9d1c725d Translated using Weblate (German)
Currently translated at 84.5% (17757 of 21007 strings)
2025-09-19 17:02:07 +00:00
gt
601bd747d0 Translated using Weblate (Portuguese)
Currently translated at 76.6% (16100 of 21007 strings)
2025-09-18 14:02:15 +00:00
ssantos
563a3b16c5 Translated using Weblate (Portuguese)
Currently translated at 76.6% (16100 of 21007 strings)
2025-09-18 14:02:12 +00:00
Frei Tags
6c52850d1d Translated using Weblate (German)
Currently translated at 84.4% (17744 of 21007 strings)
2025-09-18 14:02:06 +00:00
gt
80da982d4f Translated using Weblate (Portuguese)
Currently translated at 72.5% (15244 of 21007 strings)
2025-09-17 12:19:49 +02:00
Frei Tags
0bfca92eaa Translated using Weblate (German)
Currently translated at 100.0% (614 of 614 strings)
2025-09-17 12:19:48 +02:00
gt
86a7af6d5b Translated using Weblate (Portuguese)
Currently translated at 72.4% (15219 of 21007 strings)
2025-09-16 13:44:01 +02:00
gt
83a58c1113 Translated using Weblate (Portuguese)
Currently translated at 72.3% (15196 of 21007 strings)
2025-09-15 20:38:36 +02:00
Álvaro Palacios
c3d607981e Translated using Weblate (Spanish)
Currently translated at 68.5% (14401 of 21007 strings)
2025-09-15 20:38:33 +02:00
gt
51d563435a Translated using Weblate (Portuguese)
Currently translated at 100.0% (614 of 614 strings)
2025-09-15 20:38:32 +02:00
ssantos
1aa4b13809 Translated using Weblate (Portuguese)
Currently translated at 72.2% (15175 of 21007 strings)
2025-09-14 18:02:12 +00:00
gt
2e4a1d0d7f Translated using Weblate (Portuguese)
Currently translated at 72.2% (15175 of 21007 strings)
2025-09-14 18:02:10 +00:00
Frei Tags
1be14557d6 Translated using Weblate (German)
Currently translated at 84.4% (17743 of 21007 strings)
2025-09-14 18:02:06 +00:00
Nut.andor
e1a42d6dbf faction scores technic renewed 2025-09-13 19:09:16 +02:00
Nut.andor
6a264d6a8d itemCategories: Default: "other" 2025-09-13 18:23:10 +02:00
gt
d70f269c39 Translated using Weblate (Portuguese)
Currently translated at 71.9% (15112 of 21007 strings)
2025-09-13 12:14:38 +02:00
Raphi
030eb9edb1 Translated using Weblate (German)
Currently translated at 84.3% (17729 of 21007 strings)
2025-09-13 12:14:35 +02:00
Frei Tags
8c8902bb70 Translated using Weblate (German)
Currently translated at 84.3% (17729 of 21007 strings)
2025-09-13 12:14:35 +02:00
gt
b63b3ec63f Translated using Weblate (Portuguese)
Currently translated at 71.9% (15105 of 21007 strings)
2025-09-12 12:02:04 +00:00
gt
246501c2d6 Translated using Weblate (Portuguese)
Currently translated at 71.2% (14958 of 21007 strings)
2025-09-11 12:02:03 +02:00
gt
48a67c3951 Translated using Weblate (Portuguese)
Currently translated at 71.2% (14957 of 21007 strings)
2025-09-10 08:15:25 +02:00
Raphi
c3bcaf9827 Translated using Weblate (German)
Currently translated at 84.2% (17690 of 21007 strings)
2025-09-10 08:15:23 +02:00
Nut.andor
1e6907349a Pull Request #92: Possibility to flip a Monster Sprite horizontally 2025-09-09 14:23:16 +02:00
gt
211018d297 Translated using Weblate (Portuguese)
Currently translated at 71.1% (14947 of 21007 strings)
2025-09-09 13:02:14 +02:00
Ruben Rodriguez Martin
d8aa0ecdab Translated using Weblate (Spanish)
Currently translated at 68.5% (14394 of 21007 strings)
2025-09-09 13:02:09 +02:00
Nut.andor
84f30525bd map_trail-1 footprints 2025-09-07 18:24:31 +02:00
gt
f6fcbb111f Translated using Weblate (Portuguese)
Currently translated at 70.9% (14905 of 21007 strings)
2025-09-07 17:02:07 +02:00
ssantos
2b6e9f9eca Translated using Weblate (Portuguese)
Currently translated at 70.9% (14905 of 21007 strings)
2025-09-07 17:02:06 +02:00
gt
eb25cb5757 Translated using Weblate (Portuguese)
Currently translated at 70.9% (14905 of 21007 strings)
2025-09-07 17:02:05 +02:00
ssantos
e4abe957b1 Translated using Weblate (Portuguese)
Currently translated at 68.2% (14346 of 21007 strings)
2025-09-04 23:02:04 +02:00
gt
3ea586090b Translated using Weblate (Portuguese)
Currently translated at 68.2% (14346 of 21007 strings)
2025-09-04 23:02:03 +02:00
Raphi
c068fb1742 Revert monsterlist changes wilderness 2025-09-04 18:26:56 +02:00
Raphi
524e48b0fc Make Mikhail always look left 2025-09-04 18:26:12 +02:00
Raphi
fbfee0fb22 Revert monsterlist changes crossglen animals 2025-09-04 18:25:36 +02:00
Raphi
c761689bb6 deactivate debug 2025-09-04 18:08:21 +02:00
Raphi
07f7346cd6 more check 2025-09-04 18:07:38 +02:00
Raphi
127b897156 In debug it works??? 2025-09-04 17:51:41 +02:00
Raphi
5857b88dcb more check if I am dumb 2025-09-04 16:23:18 +02:00
Raphi
86cbac0096 trying stuff that doesn't work 2025-09-04 16:13:00 +02:00
Nut.andor
bdfbb70a40 Dbg 2025-09-04 01:21:31 +02:00
Raphi
73f5ede48e Changed boolean to int for random probability 2025-09-03 17:38:56 +02:00
Raphi
a2fccb3b72 Reverted testing parameter to false 2025-09-03 17:25:55 +02:00
Raphi
b824357bcb more fixes 2025-09-03 17:19:01 +02:00
Raphi
62cacf81ac fixes 2025-09-03 17:12:21 +02:00
Raphi
0050f70f1e Moved random to Monster constructor 2025-09-03 17:06:42 +02:00
Raphi
fd2c9c2b12 Added randomness to flip 2025-09-03 17:01:45 +02:00
Raphi
b0dd54801b Maybe I should uninstall before updating 2025-09-03 16:13:57 +02:00
Raphi
9e0546bae2 Nope, still not working 2025-09-03 16:03:01 +02:00
Raphi
342cbd7f43 Perhaps I am dumb 2025-09-03 15:54:50 +02:00
Raphi
091aa8b73a Just to make sure I am not extremely dumb 2025-09-03 15:52:35 +02:00
Raphi
071354c21e fixes 2025-09-03 15:49:11 +02:00
Raphi
520f6c2d2e Small code cleanup 2025-09-03 15:21:54 +02:00
Raphi
9164e9a900 created if statement in TileCollection.java 2025-09-03 14:39:31 +02:00
Raphi
e53172d18f I forgot stuff... 2025-09-03 14:30:39 +02:00
Raphi
cf7dd4d0f4 Added Matrix import 2025-09-03 13:57:49 +02:00
Raphi
fe329e1ed2 Assigned allow... to the rabid boar for testing purposes 2025-09-03 13:10:41 +02:00
Raphi
53f315dfe7 Add allow... to MonsterTypeParser with default value of false 2025-09-03 13:07:50 +02:00
Raphi
152816e3ca Add allowHorizontalSpriteFlip in Constructor of Monster.java 2025-09-03 12:16:41 +02:00
Raphi
e4230b5f51 Flip Sprite horizontally whenever allowHorizontalSpriteFlip is true 2025-09-03 11:35:14 +02:00
Raphi
ff65ec3023 Prepare flipping in TileCollection.java 2025-09-03 11:26:07 +02:00
Raphi
786a772998 Assign allowHorizontalSpriteFlip as a parameter to tiles.drawTiles 2025-09-03 11:24:39 +02:00
Raphi
b2c10b60c7 Add variable in Actor.java to allow horizontal flipping of sprite 2025-09-03 11:17:40 +02:00
ssantos
04db088df3 Translated using Weblate (Portuguese)
Currently translated at 65.9% (13851 of 21007 strings)
2025-09-03 02:02:09 +02:00
gt
cdfa3e532a Translated using Weblate (Portuguese)
Currently translated at 65.9% (13851 of 21007 strings)
2025-09-03 02:02:08 +02:00
Raphi
c454cda3e1 Translated using Weblate (German)
Currently translated at 84.1% (17687 of 21007 strings)
2025-09-03 02:02:04 +02:00
ilya
59c6f7e642 Translated using Weblate (Russian)
Currently translated at 100.0% (614 of 614 strings)
2025-09-03 02:02:01 +02:00
xvy
d7d2c8629f Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 94.1% (19769 of 21007 strings)
2025-09-01 14:02:15 +00:00
gt
1bb7397d9e Translated using Weblate (Portuguese)
Currently translated at 64.5% (13555 of 21007 strings)
2025-09-01 14:02:11 +00:00
Frei Tags
caca48752f Translated using Weblate (German)
Currently translated at 84.1% (17686 of 21007 strings)
2025-09-01 14:02:07 +00:00
xvy
9c3bb73cd5 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 93.5% (19652 of 21007 strings)
2025-08-31 09:03:30 +00:00
gt
b2db0c406b Translated using Weblate (Portuguese)
Currently translated at 64.2% (13506 of 21007 strings)
2025-08-31 09:03:27 +00:00
gt
1b22562602 Translated using Weblate (Portuguese)
Currently translated at 100.0% (614 of 614 strings)
2025-08-31 09:03:25 +00:00
xvy
807cd43a25 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (614 of 614 strings)
2025-08-30 00:02:06 +02:00
xvy
6da895e910 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 93.4% (19631 of 21007 strings)
2025-08-30 00:02:05 +02:00
gt
90eeab54d5 Translated using Weblate (Portuguese)
Currently translated at 64.1% (13480 of 21007 strings)
2025-08-30 00:02:02 +02:00
gt
e7f3022244 Translated using Weblate (Portuguese)
Currently translated at 99.8% (613 of 614 strings)
2025-08-30 00:02:00 +02:00
Nut.andor
f64981a0a6 prepared next version nbr 2025-08-28 18:16:20 +02:00
Nut.andor
7b290271ce Merge branch 'master' into AT_Source_Next_Release 2025-08-28 18:12:26 +02:00
Максим Горпиніч
70c9822475 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (614 of 614 strings)
2025-08-28 12:03:24 +00:00
gt
3a6158c1b0 Translated using Weblate (Portuguese)
Currently translated at 64.1% (13473 of 21007 strings)
2025-08-28 12:03:21 +00:00
gt
71601ccf8a Translated using Weblate (Portuguese)
Currently translated at 64.0% (13454 of 21007 strings)
2025-08-26 23:02:21 +00:00
Максим Горпиніч
66eafdd3d7 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (21007 of 21007 strings)
2025-08-26 00:02:43 +02:00
xvy
609ae07f3c Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 93.4% (19631 of 21007 strings)
2025-08-26 00:02:36 +02:00
gt
bbb6847f73 Translated using Weblate (Portuguese)
Currently translated at 63.9% (13428 of 21007 strings)
2025-08-26 00:02:31 +02:00
Nut.andor
4d8c3e669a whatsnew 2025-08-24 13:55:56 +02:00
Nut.andor
75ebcbcac8 translation state 2025-08-24 09:54:57 +02:00
Nut.andor
24bb835dd5 Merge branch 'v0.8.14' 2025-08-23 11:51:23 +02:00
Nut.andor
0d4e757af5 completion 2025-08-23 11:49:58 +02:00
Nut.andor
d576094221 potc 2025-08-23 11:46:26 +02:00
Nut.andor
c574a1be19 content 2025-08-23 11:38:50 +02:00
Nut.andor
f49bb528c0 Version 2025-08-23 11:14:03 +02:00
Nut.andor
829a8f31a0 Merge remote-tracking branch 'hosted.weblate/master' into v0.8.14 2025-08-23 10:55:05 +02:00
ilya
4344ad09fb Translated using Weblate (Russian)
Currently translated at 100.0% (19629 of 19629 strings)
2025-08-23 08:45:20 +02:00
gt
509af373f9 Translated using Weblate (Portuguese)
Currently translated at 67.9% (13339 of 19629 strings)
2025-08-23 08:45:19 +02:00
gt
edc83e4943 Translated using Weblate (Portuguese)
Currently translated at 67.5% (13254 of 19629 strings)
2025-08-21 17:02:05 +00:00
Nut.andor
fd3dfbb500 Pull Request #91: Android upgrade (15) 2025-08-20 17:07:58 +02:00
gt
3e80a5421e Translated using Weblate (Portuguese)
Currently translated at 66.7% (13107 of 19629 strings)
2025-08-19 19:02:06 +00:00
gt
c866b2b555 Translated using Weblate (Portuguese)
Currently translated at 66.1% (12994 of 19629 strings)
2025-08-18 19:02:03 +02:00
Daniel Stasiak
f652ec300a Translated using Weblate (Polish)
Currently translated at 86.2% (16923 of 19629 strings)
2025-08-18 19:01:59 +02:00
gt
2a6ffe882b Translated using Weblate (Portuguese)
Currently translated at 66.1% (12991 of 19629 strings)
2025-08-15 21:02:24 +00:00
Nut Andor
0e207fe63d Translated using Weblate (German)
Currently translated at 89.9% (17655 of 19629 strings)
2025-08-15 21:02:20 +00:00
gt
bdfa2ce4b1 Translated using Weblate (Portuguese)
Currently translated at 66.1% (12989 of 19629 strings)
2025-08-14 20:02:23 +02:00
ilya
b7c1239508 Translated using Weblate (Russian)
Currently translated at 100.0% (19629 of 19629 strings)
2025-08-12 19:02:06 +02:00
gt
15365cfd76 Translated using Weblate (Portuguese)
Currently translated at 66.1% (12986 of 19629 strings)
2025-08-12 19:02:02 +02:00
gt
b3ae501e67 Translated using Weblate (Portuguese)
Currently translated at 99.8% (611 of 612 strings)
2025-08-12 19:01:59 +02:00
xvy
e49828a549 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-08-11 05:02:09 +00:00
gt
91c21b6ae6 Translated using Weblate (Portuguese)
Currently translated at 65.2% (12810 of 19629 strings)
2025-08-11 05:02:05 +00:00
xvy
87e579b67c Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-08-09 21:11:02 +02:00
gt
a105a8e399 Translated using Weblate (Portuguese)
Currently translated at 64.9% (12743 of 19629 strings)
2025-08-09 21:11:00 +02:00
gt
23cb379df8 Translated using Weblate (Portuguese)
Currently translated at 63.5% (12469 of 19629 strings)
2025-08-08 22:02:11 +00:00
Raphi
496323efe0 Translated using Weblate (German)
Currently translated at 89.9% (17655 of 19629 strings)
2025-08-08 22:02:06 +00:00
Nut Andor
d422ccb6d5 Translated using Weblate (Thai)
Currently translated at 14.5% (89 of 612 strings)
2025-08-03 23:02:43 +00:00
OMGeeky
1d9dae18ff Translated using Weblate (Dutch)
Currently translated at 98.0% (600 of 612 strings)
2025-08-03 23:02:41 +00:00
Nut Andor
361a9fd5e6 Translated using Weblate (Swedish)
Currently translated at 91.3% (559 of 612 strings)
2025-08-03 23:02:39 +00:00
Nut.andor
810f5a2fc8 added graphic 2025-08-03 23:18:20 +02:00
OMGeeky
a4fbe20871 refactor window insets handling for fullscreen and touch area
Signed-off-by: OMGeeky <aalaalgmx@gmail.com>
2025-08-03 18:57:39 +02:00
xvy
c2f8074968 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-08-02 21:02:31 +02:00
Erick Ferraz Vieira
ee0b609df5 Translated using Weblate (Portuguese (Brazil))
Currently translated at 79.8% (15673 of 19629 strings)
2025-08-02 21:02:27 +02:00
Erick Ferraz Vieira
a7be2c7995 Translated using Weblate (Portuguese)
Currently translated at 63.3% (12434 of 19629 strings)
2025-08-02 21:02:24 +02:00
Erick Ferraz Vieira
da1c1e3339 Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.6% (610 of 612 strings)
2025-08-02 21:02:19 +02:00
xvy
e68b637140 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-31 14:02:12 +02:00
OMGeeky
0d73ee10fa set usable padding for title logo in StartScreenActivity 2025-07-29 05:52:29 +02:00
OMGeeky
f20529df62 setSystemBarsBehavior so it disappears automatically when in fullscreen
also don't run code, that is deprecated when on higher version
2025-07-29 05:38:01 +02:00
OMGeeky
ffef76b28b continue implementing edge-to-edge behaviour and insets 2025-07-29 05:05:40 +02:00
OMGeeky
cd49473e86 continue implementing edge-to-edge behaviour and insets (Start-Screen) 2025-07-29 04:06:06 +02:00
OMGeeky
363a395169 start implementing edge-to-edge behaviour and insets 2025-07-29 03:33:10 +02:00
OMGeeky
a09176d344 Refactor activity view setup to use app.setView for consistency 2025-07-29 03:05:50 +02:00
OMGeeky
f884af20b8 Replace custom Pair implementation with android.util.Pair 2025-07-29 00:08:02 +02:00
OMGeeky
a2859fbc56 Remove unnecessary @TargetApi annotations and remove unnecessary SDK-Version check 2025-07-28 23:33:23 +02:00
OMGeeky
11d5966a51 Sort summary output of errors and warnings by file path 2025-07-28 22:00:24 +02:00
OMGeeky
fd169e9f40 Add total error and warning summary to format specifier check output 2025-07-28 21:59:19 +02:00
OMGeeky
149ad3ae1c Differentiate between missing and extra format specifiers
Missing format specifiers in translated strings are now reported as warnings,
while extra format specifiers are reported as errors.
This change allows the script to pass if only warnings (missing specifiers)
are present, but still fail if there are errors (extra specifiers).

The summary now also includes counts for both errors and warnings per file.
2025-07-28 21:57:29 +02:00
OMGeeky
6e74243ea8 Refactor: Improve format specifier regex
The regular expression for identifying format specifiers in XML string resources has been updated. The new regex now correctly identifies specifiers like `%.2f` which include precision for floating point numbers. This change ensures more accurate validation of format specifiers.
2025-07-28 21:51:59 +02:00
OMGeeky
9c4009034f Enhance format specifier check script output
The script now provides a summary of errors per file at the end of its execution.
This makes it easier to identify which translation files have issues with format specifiers or non-escaped percentage signs.
2025-07-28 21:51:31 +02:00
OMGeeky
0422beb855 Update string formatter check script
- Add scanning for used keys in Java files.
- Refactor argument parsing to separate project root and res root.
- If no specific key is provided, check only keys used in Java code.
2025-07-28 21:35:38 +02:00
OMGeeky
2cc12b3530 Improve check_format_specifiers.py to check all keys if none specified 2025-07-28 21:25:28 +02:00
OMGeeky
80997ddc36 Exit with error code on specifier mismatches in format checker 2025-07-28 21:20:17 +02:00
OMGeeky
c244ba1390 Added checks for unescaped percent signs 2025-07-28 21:12:23 +02:00
OMGeeky
8a74ffd2ef Add Python script to check format specifier consistency in Android strings
This script, `check_format_specifiers.py`, helps ensure that format
specifiers (like `%s`, `%d`, `%1$s`) are used consistently across
different language versions of a string resource in an Android project.
2025-07-28 21:01:11 +02:00
OMGeeky
57f7a0dc91 Refactor fullscreen mode setting
Move fullscreen mode setting logic into a static method in AndorsTrailApplication and use it in Preferences and CustomDialogFactory.
2025-07-28 18:06:43 +02:00
Reptalica
c51eecc7c6 Translated using Weblate (Vietnamese)
Currently translated at 99.8% (611 of 612 strings)
2025-07-28 18:06:25 +02:00
Reptalica
1cf60ba813 Translated using Weblate (Vietnamese)
Currently translated at 3.6% (725 of 19628 strings)
2025-07-28 18:06:23 +02:00
Enayatullah Faizi
e1a4f44824 Translated using Weblate (Pashto)
Currently translated at 0.1% (3 of 19628 strings)
2025-07-28 18:06:21 +02:00
xvy
c8ba52bd7c Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-28 18:06:18 +02:00
Raphi
376037daa6 Translated using Weblate (German)
Currently translated at 89.9% (17650 of 19629 strings)
2025-07-28 18:06:15 +02:00
OMGeeky
78cf59c90c Updated full screen flag for API 30+ 2025-07-28 18:00:54 +02:00
Nut.andor
ec0d1b0775 whatsnew 2025-07-26 02:06:48 +02:00
Nut.andor
f9bdc0a0ab Merge remote-tracking branch 'hosted.weblate/master' into v0.8.14 2025-07-26 00:37:42 +02:00
Hodex99
cb3f60ae02 Translated using Weblate (Indonesian)
Currently translated at 84.4% (16583 of 19629 strings)
2025-07-26 00:31:36 +02:00
Nut.andor
e2db3ca914 Merge branch 'AT_Source_Next_Release' into v0.8.14 2025-07-26 00:29:22 +02:00
Nut.andor
c4ac6b1046 whatsnew 2025-07-26 00:18:21 +02:00
xvy
d0b93854e5 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-24 00:53:53 +02:00
Nut.andor
a5ed53a763 added graphic 2025-07-19 01:09:00 +02:00
xvy
e70302d39f Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-18 20:03:28 +00:00
Daniel Stasiak
10345d814d Translated using Weblate (Polish)
Currently translated at 86.1% (16918 of 19629 strings)
2025-07-18 20:03:24 +00:00
Nut Andor
e56748ea79 Translated using Weblate (Polish)
Currently translated at 86.1% (16918 of 19629 strings)
2025-07-18 20:03:23 +00:00
Thibaut Colin
62ab2c128e Translated using Weblate (French)
Currently translated at 83.1% (16318 of 19629 strings)
2025-07-17 21:03:46 +02:00
Thibaut Colin
5df6d4038d Translated using Weblate (French)
Currently translated at 83.1% (16318 of 19629 strings)
2025-07-17 21:03:46 +02:00
Thibaut Colin
e92a2f60e9 Translated using Weblate (French)
Currently translated at 83.1% (16318 of 19629 strings)
2025-07-17 21:03:45 +02:00
Nut.andor
d6b11d8242 added graphic 2025-07-17 20:48:09 +02:00
Nut.andor
d9e7509daa whatsnew 2025-07-17 20:48:09 +02:00
Nut.andor
e15583e3c5 settings 2025-07-17 20:48:08 +02:00
xvy
d03f6bda43 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-15 10:01:56 +02:00
xvy
0d858efb4e Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-15 10:01:54 +02:00
xvy
530b0b6c8f Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-15 10:01:51 +02:00
xvy
9a71461b93 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-15 10:01:50 +02:00
xvy
a54e70c539 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-14 07:02:07 +00:00
xvy
33f76fc970 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-14 07:02:06 +00:00
xvy
d081af6385 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-14 07:02:05 +00:00
xvy
7a41390c4c Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-14 07:02:04 +00:00
xvy
1ddd03aad3 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-14 07:02:03 +00:00
xvy
b1ce0f2c40 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-14 07:02:01 +00:00
xvy
3166dc5708 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-14 07:02:00 +00:00
xvy
2d5bd55733 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-14 07:01:58 +00:00
xvy
c21f23a377 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-14 07:01:57 +00:00
xvy
e236d6d025 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-14 07:01:56 +00:00
xvy
487dfa76db Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-11 17:12:14 +02:00
xvy
cc7e6b57b8 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-11 17:12:13 +02:00
xvy
18929a47c0 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-11 17:12:12 +02:00
xvy
57481e1ba2 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-11 17:12:11 +02:00
xvy
0ece679db0 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-11 17:12:09 +02:00
xvy
8b51be44db Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-11 17:12:08 +02:00
xvy
19689c1edf Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-11 17:12:07 +02:00
xvy
b8c082f06c Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-11 17:12:05 +02:00
xvy
7b4a01767f Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-11 17:12:03 +02:00
xvy
f268e284c3 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-11 17:12:02 +02:00
xvy
8533bcefb6 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-11 17:12:01 +02:00
xvy
0fa29efd97 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-11 17:12:00 +02:00
xvy
fc91f8e21b Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-11 17:11:58 +02:00
xvy
d36825377b Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-11 17:11:57 +02:00
xvy
55dd4950e0 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-11 17:11:56 +02:00
xvy
fe23eb4e6f Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-10 16:54:38 +02:00
xvy
cc45029502 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-10 16:54:38 +02:00
xvy
5ce621a5e2 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-10 16:54:38 +02:00
xvy
8770f936c6 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-10 16:54:37 +02:00
xvy
af818c2d4f Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-09 06:02:11 +00:00
xvy
1a6d694331 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-06 08:04:47 +00:00
xvy
11cfe5a29f Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-06 08:04:45 +00:00
xvy
61a3024c9a Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-06 08:04:44 +00:00
xvy
fbcd8826d8 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-06 08:04:43 +00:00
xvy
3335db78d8 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-06 08:04:41 +00:00
Flo
4c67b7f43f Translated using Weblate (French)
Currently translated at 83.0% (16300 of 19629 strings)
2025-07-05 00:01:52 +02:00
Bora Atıcı
a79b7ed228 Translated using Weblate (Turkish)
Currently translated at 99.5% (609 of 612 strings)
2025-07-02 16:15:00 +02:00
xvy
b543000eae Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-02 16:14:59 +02:00
xvy
a8f84da60e Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-02 16:14:59 +02:00
xvy
28ab26a191 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-07-02 16:14:58 +02:00
Bora Atıcı
8a2b7cf1d5 Translated using Weblate (Turkish)
Currently translated at 31.3% (6158 of 19629 strings)
2025-07-02 16:14:57 +02:00
xvy
5642aaaccc Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-06-30 14:02:02 +02:00
xvy
94229dcaec Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-06-30 14:02:00 +02:00
xvy
3b025b759b Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-06-30 14:01:59 +02:00
xvy
ff554e95b7 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-06-30 14:01:57 +02:00
xvy
31deb90ba3 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-06-30 14:01:56 +02:00
xvy
d0a9ec69d1 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-06-30 14:01:55 +02:00
Flo
4b54cba1fd Translated using Weblate (French)
Currently translated at 83.0% (16300 of 19629 strings)
2025-06-30 14:01:52 +02:00
thaddeus002
da9aafc9cd Translated using Weblate (French)
Currently translated at 83.0% (16300 of 19629 strings)
2025-06-30 14:01:48 +02:00
Flo
23be00403c Translated using Weblate (French)
Currently translated at 82.9% (16285 of 19629 strings)
2025-06-29 00:01:48 +02:00
xvy
d434dba616 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-06-26 15:05:58 +00:00
Flo
b2aac53c5a Translated using Weblate (French)
Currently translated at 82.9% (16285 of 19629 strings)
2025-06-26 15:05:55 +00:00
thaddeus002
4408163218 Translated using Weblate (French)
Currently translated at 82.9% (16285 of 19629 strings)
2025-06-26 15:05:54 +00:00
xvy
00a2eb7623 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19629 of 19629 strings)
2025-06-25 15:01:52 +00:00
Nut.andor
25b70ae818 typos 2025-06-24 00:00:27 +02:00
Nut.andor
1aa98de579 new png 2025-06-24 00:00:27 +02:00
xvy
c925bfadc7 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.6% (19552 of 19629 strings)
2025-06-23 17:01:54 +00:00
Flo
3b8aa60676 Translated using Weblate (French)
Currently translated at 82.8% (16262 of 19629 strings)
2025-06-23 17:01:51 +00:00
Flo
c4e0a896a8 Translated using Weblate (French)
Currently translated at 100.0% (612 of 612 strings)
2025-06-23 17:01:49 +00:00
Nut.andor
be027bb303 Item description could have $playername 2025-06-22 22:25:23 +02:00
Nut.andor
d2fe192466 settings 2025-06-22 22:25:23 +02:00
Lumiraptor
8ed9c1cd30 Translated using Weblate (French)
Currently translated at 82.6% (16218 of 19629 strings)
2025-06-21 03:25:07 +02:00
Nut.andor
469d2bfc46 new part of falsly extended map_cavewall_5 moved to new map_cavewall_6 2025-06-19 16:19:40 +02:00
Nut.andor
ce399ffe1f settings 2025-06-19 12:35:13 +02:00
Nut.andor
054c6e5d23 new map_outdoor_2.png 2025-06-17 22:15:54 +02:00
Renamed1986
dce00a76a1 Translated using Weblate (Russian)
Currently translated at 100.0% (19629 of 19629 strings)
2025-06-16 17:03:21 +00:00
xvy
70f4d591df Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.0% (19448 of 19629 strings)
2025-06-13 05:01:52 +02:00
ilya
6f3b6074b1 Translated using Weblate (Russian)
Currently translated at 100.0% (19629 of 19629 strings)
2025-06-13 05:01:49 +02:00
احمد
f6a8988598 Translated using Weblate (Arabic)
Currently translated at 10.2% (2015 of 19628 strings)
2025-06-11 20:04:43 +02:00
xvy
0ed1c53e3e Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.0% (19447 of 19629 strings)
2025-06-11 20:04:37 +02:00
Nut.andor
e4633c0689 exploding star item icon 2025-06-10 21:51:38 +02:00
Nut.andor
9b9d8a7c3a dbg 2025-06-10 21:51:38 +02:00
xvy
cd83e4cac3 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.0% (19436 of 19629 strings)
2025-06-08 06:01:47 +02:00
Nut.andor
0cfa6a97c9 Merge branch 'pulls/1829009049/90' into AT_Source_Next_Release 2025-06-06 22:10:10 +02:00
Nut.andor
9729d5a34f On miss effects 2025-06-06 22:09:19 +02:00
Nut.andor
c024474128 Merge branch 'pulls/1829009049/86' into AT_Source_Next_Release 2025-06-06 22:07:13 +02:00
Nut.andor
3100ffd717 Anti cheat checksum 2025-06-06 21:56:42 +02:00
xvy
a2eef713d8 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 98.9% (19424 of 19629 strings)
2025-06-06 16:01:51 +00:00
xvy
3a7c1c9e9a Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 98.9% (19422 of 19629 strings)
2025-06-05 15:01:50 +00:00
CharlyTheSneaky
7699ac6dd1 Translated using Weblate (French)
Currently translated at 82.6% (16218 of 19629 strings)
2025-06-05 15:01:47 +00:00
Anderson Paulo
7ea5823c37 Translated using Weblate (Portuguese)
Currently translated at 99.5% (609 of 612 strings)
2025-06-05 15:01:44 +00:00
gogu
437e0e1e09 Translated using Weblate (German (Austria))
Currently translated at 0.1% (39 of 19628 strings)
2025-06-04 02:04:27 +00:00
xvy
f98c591838 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 98.6% (19369 of 19629 strings)
2025-06-04 02:04:23 +00:00
Daniel Stasiak
bf4c7e56cc Translated using Weblate (Polish)
Currently translated at 86.1% (16918 of 19629 strings)
2025-06-04 02:04:20 +00:00
中野健次
3a669c8f32 Translated using Weblate (Japanese)
Currently translated at 71.0% (13945 of 19629 strings)
2025-06-04 02:04:17 +00:00
Daniel Stasiak
f8e9675d43 Translated using Weblate (Polish)
Currently translated at 86.1% (16904 of 19629 strings)
2025-05-30 18:09:44 +02:00
Jesus Romero
ba645ba4c2 Translated using Weblate (Spanish)
Currently translated at 73.3% (14395 of 19629 strings)
2025-05-29 14:01:46 +02:00
xvy
4b5a744b89 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 98.6% (19366 of 19629 strings)
2025-05-28 02:01:45 +00:00
xvy
3f6ac7c783 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 98.4% (19331 of 19629 strings)
2025-05-26 16:03:10 +02:00
Nikita Bretschneider
02d7c569cb Translated using Weblate (German)
Currently translated at 89.9% (17650 of 19629 strings)
2025-05-26 16:03:09 +02:00
VeridisQuo
863bfebeb7 Translated using Weblate (Esperanto)
Currently translated at 73.0% (447 of 612 strings)
2025-05-25 03:01:43 +02:00
sprin
0b5dc81038 Translated using Weblate (Catalan)
Currently translated at 13.2% (2595 of 19629 strings)
2025-05-23 14:01:48 +02:00
Ming Bi Si Ya
4f00fb386f Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 98.2% (19294 of 19629 strings)
2025-05-23 14:01:45 +02:00
xvy
9a3c96f4cf Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 98.2% (19291 of 19629 strings)
2025-05-21 21:22:53 +02:00
petter0011
ca29f8e08a Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 98.2% (19280 of 19629 strings)
2025-05-21 08:32:41 +02:00
petter0011
5278c7bf32 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 98.2% (19280 of 19629 strings)
2025-05-20 11:10:35 +02:00
petter0011
8e01fed388 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 98.2% (19280 of 19629 strings)
2025-05-20 04:23:53 +02:00
xvy
debdc8279e Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 98.2% (19280 of 19629 strings)
2025-05-19 21:07:44 +02:00
Hodex99
095fa8d06d Translated using Weblate (Indonesian)
Currently translated at 84.4% (16583 of 19629 strings)
2025-05-19 21:07:41 +02:00
Hodex99
bdcde78881 Translated using Weblate (Indonesian)
Currently translated at 84.4% (16583 of 19629 strings)
2025-05-19 01:41:19 +02:00
Hodex99
3a28703e88 Translated using Weblate (Indonesian)
Currently translated at 84.4% (16583 of 19629 strings)
2025-05-17 11:01:45 +00:00
Daniel Stasiak
967325abe9 Translated using Weblate (Polish)
Currently translated at 86.0% (16897 of 19629 strings)
2025-05-16 12:39:02 +02:00
Hodex99
9c3fff1337 Translated using Weblate (Indonesian)
Currently translated at 84.4% (16583 of 19629 strings)
2025-05-16 12:38:59 +02:00
mitaka mitaka
090aedc638 Translated using Weblate (Bulgarian)
Currently translated at 1.5% (296 of 19629 strings)
2025-05-15 11:57:28 +02:00
Hodex99
eee3805b50 Translated using Weblate (Indonesian)
Currently translated at 100.0% (612 of 612 strings)
2025-05-15 11:57:26 +02:00
xvy
9954e9d802 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 98.1% (19271 of 19629 strings)
2025-05-15 11:57:25 +02:00
Hodex99
bc34c1107a Translated using Weblate (Indonesian)
Currently translated at 84.4% (16583 of 19629 strings)
2025-05-15 11:57:22 +02:00
Hong Quan
5d468c812b Translated using Weblate (Vietnamese)
Currently translated at 3.5% (694 of 19628 strings)
2025-05-14 18:01:50 +02:00
Daniel Stasiak
3eb9d6188a Translated using Weblate (Polish)
Currently translated at 86.0% (16890 of 19629 strings)
2025-05-14 18:01:47 +02:00
Hodex99
679e3dea6f Translated using Weblate (Indonesian)
Currently translated at 83.5% (16403 of 19629 strings)
2025-05-14 18:01:45 +02:00
Hong Quan
56f5703e72 Translated using Weblate (Vietnamese)
Currently translated at 3.5% (692 of 19628 strings)
2025-05-13 15:02:38 +02:00
xvy
a38dc3d4c6 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 98.1% (19257 of 19629 strings)
2025-05-12 12:58:29 +02:00
Nut.andor
e3c8c0ecfb useful links 2025-05-11 18:10:32 +02:00
Hong Quan
b86f29b0a3 Translated using Weblate (Vietnamese)
Currently translated at 3.4% (670 of 19628 strings)
2025-05-11 14:03:08 +00:00
Miroslav Iliev
2724253013 Translated using Weblate (Bulgarian)
Currently translated at 93.3% (571 of 612 strings)
2025-05-11 14:03:05 +00:00
xvy
93c0330d27 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 97.8% (19211 of 19629 strings)
2025-05-11 14:03:03 +00:00
Nut.andor
cd35ad673f next version v0.8.14dev 2025-05-11 11:12:25 +02:00
Nut.andor
5f000ef210 Merge branch 'master' into AT_Source_Next_Release 2025-05-11 11:10:27 +02:00
Daniel Stasiak
2cddfec594 Translated using Weblate (Polish)
Currently translated at 86.0% (16886 of 19629 strings)
2025-05-09 18:01:43 +02:00
Mateusz Bergmann
8c46e16019 Translated using Weblate (Polish)
Currently translated at 85.9% (16876 of 19629 strings)
2025-05-08 17:20:34 +02:00
Daniel Stasiak
6a29fff72c Translated using Weblate (Polish)
Currently translated at 85.9% (16876 of 19629 strings)
2025-05-08 17:20:34 +02:00
Vũ Minh Long
ef0475b9dc Translated using Weblate (Vietnamese)
Currently translated at 99.8% (611 of 612 strings)
2025-05-08 17:13:56 +02:00
ilya
18e573c2ef Translated using Weblate (Russian)
Currently translated at 100.0% (19629 of 19629 strings)
2025-05-08 17:13:55 +02:00
Mateusz Bergmann
6c0678295b Translated using Weblate (Polish)
Currently translated at 85.9% (16875 of 19629 strings)
2025-05-08 17:13:43 +02:00
Daniel Stasiak
4f13d98652 Translated using Weblate (Polish)
Currently translated at 85.9% (16875 of 19629 strings)
2025-05-08 17:13:43 +02:00
Hong Quan
0c5811cf66 Translated using Weblate (Vietnamese)
Currently translated at 3.3% (654 of 19628 strings)
2025-05-07 19:03:14 +02:00
Hong Quan
e78a79e544 Translated using Weblate (Vietnamese)
Currently translated at 3.2% (643 of 19628 strings)
2025-05-07 15:06:03 +02:00
xvy
c2cfefa01f Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 97.8% (19204 of 19629 strings)
2025-05-07 15:06:01 +02:00
Hong Quan
f3bff7b1ba Translated using Weblate (Vietnamese)
Currently translated at 2.2% (442 of 19628 strings)
2025-05-06 08:06:20 +02:00
Максим Горпиніч
006d3854db Translated using Weblate (Ukrainian)
Currently translated at 100.0% (19629 of 19629 strings)
2025-05-06 08:06:18 +02:00
xvy
868cf6aa32 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 97.8% (19204 of 19629 strings)
2025-05-06 08:06:13 +02:00
Nut.andor
c09f5e3a6e whatsnew 2025-05-04 22:46:39 +02:00
Nut.andor
4d5a765522 translation status 2025-05-04 22:02:14 +02:00
Nut.andor
64500ed2fa Merge branch 'AT_Source_Next_Release' 2025-05-04 20:40:36 +02:00
Nut.andor
77af4079c5 whatsnew 2025-05-04 20:39:29 +02:00
Nut.andor
d885911b32 potc built 2025-05-04 20:20:06 +02:00
Nut.andor
99a0d4f40c potc 2025-05-04 20:18:22 +02:00
Nut.andor
656b95061b v0.8.13 Troubling Times content 2025-05-04 20:08:26 +02:00
Nut.andor
24760824b5 Authors 2025-05-04 19:27:49 +02:00
Nut.andor
8eef67bfe7 Merge branch 'master-hosted.weblate' into AT_Source_Next_Release 2025-05-04 19:12:23 +02:00
Nut.andor
d839604e38 version 2025-05-04 19:03:24 +02:00
Nut.andor
2078eedb94 Pull Request #90: On miss effects 2025-05-02 22:26:37 +02:00
OMGeeky
6f2ba0fe7a naming & accidental change 2025-05-02 22:25:09 +02:00
OMGeeky
06f1a791e3 implement on-miss and on-miss-received item effects
this should allow for something like a shield, that applies an actor condition to the attacker or the player, when it successfully blocks an attack (like a generic taunt for items), but also, when the player misses with his weapon, he could get an effect (for example something like embarrassed if we stay in the direction taunt is going)
2025-05-02 22:22:36 +02:00
Nut.andor
7d8301fbed dirty fix of French 2025-05-01 18:00:43 +02:00
Lacrom
f07f41d4e5 Translated using Weblate (French)
Currently translated at 100.0% (612 of 612 strings)
2025-04-29 19:01:43 +00:00
Nut.andor
ab540d7707 Merge branch 'master-hosted.weblate' into AT_Source_Next_Release 2025-04-27 22:38:01 +02:00
Максим Горпиніч
1e1b012a72 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (19203 of 19203 strings)
2025-04-27 22:34:16 +02:00
Максим Горпиніч
9a68c014a9 Translated using Weblate (Turkish)
Currently translated at 32.0% (6157 of 19203 strings)
2025-04-24 05:44:11 +02:00
Максим Горпиніч
ea436327d5 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (19203 of 19203 strings)
2025-04-22 20:18:14 +02:00
Максим Горпиніч
7c7b2f85ac Translated using Weblate (Ukrainian)
Currently translated at 95.3% (18303 of 19203 strings)
2025-04-22 15:38:50 +02:00
Максим Горпиніч
7c3f1c4a91 Translated using Weblate (Ukrainian)
Currently translated at 89.5% (17203 of 19203 strings)
2025-04-21 15:02:58 +02:00
Максим Горпиніч
5f88580ba3 Translated using Weblate (Ukrainian)
Currently translated at 84.3% (16203 of 19203 strings)
2025-04-20 20:03:55 +02:00
Максим Горпиніч
b0cc608091 Translated using Weblate (Turkish)
Currently translated at 32.0% (6158 of 19203 strings)
2025-04-20 20:03:42 +02:00
Prashanth Prash
441ecc1b1d Added translation using Weblate (Hindi (Latin script)) 2025-04-20 03:55:04 +02:00
Максим Горпиніч
d18df3c17c Translated using Weblate (Ukrainian)
Currently translated at 79.1% (15203 of 19203 strings)
2025-04-19 19:15:05 +02:00
Максим Горпиніч
7e7974a612 Translated using Weblate (Ukrainian)
Currently translated at 77.0% (14803 of 19203 strings)
2025-04-19 09:03:16 +02:00
Максим Горпиніч
3d7b09c3c5 Translated using Weblate (Ukrainian)
Currently translated at 68.7% (13203 of 19203 strings)
2025-04-17 23:05:55 +02:00
Максим Горпиніч
ce7ad3fdfe Translated using Weblate (Ukrainian)
Currently translated at 63.5% (12203 of 19203 strings)
2025-04-16 22:35:51 +02:00
Максим Горпиніч
85c2cb4c88 Translated using Weblate (Ukrainian)
Currently translated at 58.3% (11203 of 19203 strings)
2025-04-15 19:22:00 +02:00
Максим Горпиніч
43dbbfd984 Translated using Weblate (Ukrainian)
Currently translated at 53.1% (10203 of 19203 strings)
2025-04-14 19:41:34 +02:00
xvy
0286f70a25 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-04-14 19:41:15 +02:00
Максим Горпиніч
9e34fad7d6 Translated using Weblate (Ukrainian)
Currently translated at 47.9% (9203 of 19203 strings)
2025-04-13 18:32:04 +02:00
Максим Горпиніч
d910597f22 Translated using Weblate (Ukrainian)
Currently translated at 42.7% (8203 of 19203 strings)
2025-04-12 19:10:13 +02:00
Andriamihaja Tsiky Miangola Kevin
a8eb6acc3f Translated using Weblate (Malagasy)
Currently translated at 31.3% (192 of 612 strings)
2025-04-11 17:02:18 +02:00
Максим Горпиніч
3075951465 Translated using Weblate (Ukrainian)
Currently translated at 37.5% (7203 of 19203 strings)
2025-04-11 17:02:16 +02:00
ssantos
f2ef2d8ede Translated using Weblate (Portuguese)
Currently translated at 64.7% (12427 of 19203 strings)
2025-04-11 17:01:56 +02:00
Daniel Stasiak
6d4c701335 Translated using Weblate (Polish)
Currently translated at 87.8% (16872 of 19203 strings)
2025-04-11 17:01:42 +02:00
Максим Горпиніч
25d5c20abd Translated using Weblate (Ukrainian)
Currently translated at 28.3% (5448 of 19203 strings)
2025-04-10 14:01:44 +00:00
Andriamihaja Tsiky Miangola Kevin
012bbbb6c9 Translated using Weblate (Malagasy)
Currently translated at 30.8% (189 of 612 strings)
2025-04-09 16:00:03 +02:00
Максим Горпиніч
11ae4a3344 Translated using Weblate (Ukrainian)
Currently translated at 26.4% (5082 of 19203 strings)
2025-04-09 16:00:02 +02:00
Andriamihaja Tsiky Miangola Kevin
ec6227e795 Translated using Weblate (Malagasy)
Currently translated at 22.0% (135 of 612 strings)
2025-04-08 23:13:36 +02:00
Максим Горпиніч
9f6fde7476 Translated using Weblate (Ukrainian)
Currently translated at 21.8% (4203 of 19203 strings)
2025-04-08 23:13:35 +02:00
Andriamihaja Tsiky Miangola Kevin
3c16226999 Added translation using Weblate (Malagasy) 2025-04-08 17:47:11 +02:00
Andriamihaja Tsiky Miangola Kevin
4f839e5fda Translated using Weblate (Malagasy)
Currently translated at 0.1% (1 of 19202 strings)
2025-04-08 17:47:11 +02:00
Максим Горпиніч
53de823d40 Translated using Weblate (Ukrainian)
Currently translated at 19.9% (3838 of 19203 strings)
2025-04-08 17:47:10 +02:00
Andriamihaja Tsiky Miangola Kevin
04143af634 Added translation using Weblate (Malagasy) 2025-04-08 17:14:23 +02:00
Максим Горпиніч
833c824b36 Translated using Weblate (Ukrainian)
Currently translated at 19.8% (3803 of 19203 strings)
2025-04-08 17:14:19 +02:00
Максим Горпиніч
b1505721a8 Translated using Weblate (Ukrainian)
Currently translated at 16.6% (3203 of 19203 strings)
2025-04-07 19:05:38 +02:00
ssantos
70d3de4eb9 Translated using Weblate (Portuguese)
Currently translated at 99.5% (609 of 612 strings)
2025-04-07 19:05:34 +02:00
Nut.andor
f503aafb35 debug teleport #targets 2025-04-06 02:05:46 +02:00
Daniel Stasiak
7bd5d648d8 Translated using Weblate (Polish)
Currently translated at 87.8% (16862 of 19203 strings)
2025-04-03 18:39:51 +02:00
Daniel Stasiak
01ec5b1802 Translated using Weblate (Polish)
Currently translated at 87.7% (16856 of 19203 strings)
2025-04-03 17:16:04 +02:00
xvy
090a39991a Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-04-02 19:44:16 +02:00
Daniel Stasiak
2d761123ae Translated using Weblate (Polish)
Currently translated at 87.7% (16852 of 19203 strings)
2025-04-02 19:44:13 +02:00
Daniel Stasiak
4e066b4fc5 Translated using Weblate (Polish)
Currently translated at 87.7% (16847 of 19203 strings)
2025-04-01 22:34:11 +02:00
Daniel Stasiak
835293cdb2 Translated using Weblate (Polish)
Currently translated at 87.7% (16843 of 19203 strings)
2025-04-01 18:39:18 +02:00
xvy
9a1322ee46 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-04-01 17:15:24 +02:00
Daniel Stasiak
03b0cf77cd Translated using Weblate (Polish)
Currently translated at 87.6% (16837 of 19203 strings)
2025-03-27 23:47:51 +01:00
Daniel Stasiak
4744f9ffcc Translated using Weblate (Polish)
Currently translated at 87.6% (16830 of 19203 strings)
2025-03-27 00:06:27 +01:00
Ilian Iliev
37319f768c Translated using Weblate (Bulgarian)
Currently translated at 89.7% (549 of 612 strings)
2025-03-24 22:56:29 +01:00
Daniel Stasiak
8a75b08c2e Translated using Weblate (Polish)
Currently translated at 87.6% (16824 of 19203 strings)
2025-03-24 22:56:28 +01:00
Daniel Stasiak
2e3121008b Translated using Weblate (Polish)
Currently translated at 87.5% (16814 of 19203 strings)
2025-03-23 21:34:13 +01:00
Ilian Iliev
3fbbcdbdf2 Translated using Weblate (Bulgarian)
Currently translated at 79.5% (487 of 612 strings)
2025-03-23 20:34:06 +01:00
Daniel Stasiak
f948b8890a Translated using Weblate (Polish)
Currently translated at 87.4% (16797 of 19203 strings)
2025-03-22 20:39:49 +01:00
Nut.andor
5f97d644e0 Revert "map_indoor_3 (still needs to be reworked)"
This reverts commit 251764802b.
2025-03-22 15:55:15 +01:00
Nut.andor
251764802b map_indoor_3 (still needs to be reworked) 2025-03-22 15:54:58 +01:00
Daniel Stasiak
195214a367 Translated using Weblate (Polish)
Currently translated at 87.4% (16789 of 19203 strings)
2025-03-21 22:58:47 +01:00
Максим Горпиніч
7078a6c91a Translated using Weblate (Ukrainian)
Currently translated at 10.9% (2103 of 19203 strings)
2025-03-21 20:45:10 +01:00
Максим Горпиніч
21772ce12e Translated using Weblate (Ukrainian)
Currently translated at 9.9% (1903 of 19203 strings)
2025-03-21 11:07:48 +01:00
Максим Горпиніч
b3514abea2 Translated using Weblate (Ukrainian)
Currently translated at 8.8% (1703 of 19203 strings)
2025-03-20 22:19:04 +01:00
ilya
421a1d7458 Translated using Weblate (Russian)
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-20 21:33:16 +01:00
Daniel Stasiak
cfdd8be9ab Translated using Weblate (Polish)
Currently translated at 87.3% (16783 of 19203 strings)
2025-03-20 17:44:44 +01:00
Максим Горпиніч
0f91d45265 Translated using Weblate (Ukrainian)
Currently translated at 8.1% (1557 of 19203 strings)
2025-03-20 14:30:11 +01:00
Максим Горпиніч
47c3725671 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (612 of 612 strings)
2025-03-20 10:28:55 +01:00
Максим Горпиніч
6166378478 Translated using Weblate (Ukrainian)
Currently translated at 7.8% (1503 of 19203 strings)
2025-03-20 10:28:55 +01:00
xvy
af958bf242 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-20 09:00:35 +01:00
xvy
ec2c7ca98d Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-20 03:13:06 +01:00
Daniel Stasiak
7d2da8d21b Translated using Weblate (Polish)
Currently translated at 87.3% (16780 of 19203 strings)
2025-03-19 22:46:38 +01:00
xvy
d305fabac2 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-19 12:07:46 +01:00
xvy
7edc940de1 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-19 08:02:33 +01:00
xvy
e5a8cc1f10 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-19 07:43:59 +01:00
xvy
5fe07e25fe Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-19 04:02:09 +01:00
xvy
cf82f7f4a9 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-19 02:25:57 +01:00
Daniel Stasiak
fefe9d3618 Translated using Weblate (Polish)
Currently translated at 87.2% (16762 of 19203 strings)
2025-03-19 00:09:17 +01:00
Daniel Stasiak
b5f163f249 Translated using Weblate (Polish)
Currently translated at 87.2% (16748 of 19203 strings)
2025-03-18 18:08:13 +01:00
xvy
988be52a32 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-18 10:38:59 +01:00
xvy
cc2b510f08 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-18 02:26:08 +01:00
Daniel Stasiak
cb95eec05a Translated using Weblate (Polish)
Currently translated at 87.1% (16739 of 19203 strings)
2025-03-17 23:00:09 +01:00
Daniel Stasiak
1d16e47fc2 Translated using Weblate (Polish)
Currently translated at 87.1% (16733 of 19203 strings)
2025-03-17 22:16:03 +01:00
Daniel Stasiak
82a84018ba Translated using Weblate (Polish)
Currently translated at 87.1% (16730 of 19203 strings)
2025-03-17 22:05:40 +01:00
xvy
69373da1a5 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-17 02:14:37 +01:00
Daniel Stasiak
a22827993d Translated using Weblate (Polish)
Currently translated at 87.1% (16729 of 19203 strings)
2025-03-17 00:00:57 +01:00
Daniel Stasiak
d8630872ad Translated using Weblate (Polish)
Currently translated at 87.1% (16728 of 19203 strings)
2025-03-16 23:34:02 +01:00
Nut.andor
54f3cd5303 some bugs put to monsters_insects.png 2025-03-16 13:16:18 +01:00
Nut.andor
019f19d1b4 some bugs put to monsters_insects.png 2025-03-16 13:10:27 +01:00
xvy
12be936120 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-16 09:36:05 +01:00
Daniel Stasiak
26f9fbf7a6 Translated using Weblate (Polish)
Currently translated at 87.0% (16719 of 19203 strings)
2025-03-16 00:21:20 +01:00
xvy
ac5168bd7a Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-14 12:07:15 +01:00
xvy
2454285f7f Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-14 08:45:48 +01:00
xvy
a6c87856c0 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-14 05:41:27 +01:00
xvy
be8e164436 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-14 05:13:47 +01:00
xvy
01127733f5 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-14 04:03:07 +01:00
xvy
cdb8af5672 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-14 01:55:31 +01:00
Daniel Stasiak
346fdd7acc Translated using Weblate (Polish)
Currently translated at 87.0% (16714 of 19203 strings)
2025-03-14 00:10:00 +01:00
Nut.andor
a474684405 debug teleport #targets 2025-03-13 21:12:10 +01:00
Daniel Stasiak
98979f5d61 Translated using Weblate (Polish)
Currently translated at 87.0% (16710 of 19203 strings)
2025-03-13 18:04:50 +01:00
Daniel Stasiak
1cf308efa7 Translated using Weblate (Polish)
Currently translated at 86.9% (16695 of 19203 strings)
2025-03-13 03:06:13 +01:00
Daniel Stasiak
fd56b4434e Translated using Weblate (Polish)
Currently translated at 86.9% (16695 of 19203 strings)
2025-03-12 22:00:47 +01:00
Daniel Stasiak
fd15bd78f7 Translated using Weblate (Polish)
Currently translated at 86.8% (16682 of 19203 strings)
2025-03-12 20:33:22 +01:00
xvy
f830445a62 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-12 07:05:08 +01:00
Daniel Stasiak
2af0874c39 Translated using Weblate (Polish)
Currently translated at 86.8% (16678 of 19203 strings)
2025-03-12 04:08:37 +01:00
xvy
eda2755e38 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (612 of 612 strings)
2025-03-11 09:29:46 +01:00
xvy
81f0d701b5 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-11 09:29:45 +01:00
Daniel Stasiak
c6f93ffa11 Translated using Weblate (Polish)
Currently translated at 86.7% (16662 of 19203 strings)
2025-03-11 09:29:44 +01:00
xvy
d5d0b56593 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-10 10:45:10 +01:00
xvy
f328da34c1 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-10 04:22:49 +01:00
xvy
c6b34c8485 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-10 03:04:00 +01:00
Nut.andor
c926366fd5 debug teleport #targets 2025-03-09 21:59:04 +01:00
xvy
c6330e23e5 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-09 21:43:33 +01:00
Daniel Stasiak
a137247483 Translated using Weblate (Polish)
Currently translated at 86.6% (16647 of 19203 strings)
2025-03-09 21:43:31 +01:00
xvy
99e056b022 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-09 14:08:14 +01:00
xvy
f8314567f2 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-09 12:58:51 +01:00
xvy
cd430eb528 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-09 07:04:00 +01:00
Daniel Stasiak
929cb81ea5 Translated using Weblate (Polish)
Currently translated at 86.5% (16617 of 19203 strings)
2025-03-09 04:07:26 +01:00
xvy
dfc2b9410c Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-08 15:14:00 +01:00
Daniel Stasiak
c58095a689 Translated using Weblate (Polish)
Currently translated at 86.4% (16601 of 19203 strings)
2025-03-07 23:27:41 +01:00
Daniel Stasiak
1994ca69f2 Translated using Weblate (Polish)
Currently translated at 86.4% (16596 of 19203 strings)
2025-03-07 22:43:16 +01:00
Daniel Stasiak
34413664a5 Translated using Weblate (Polish)
Currently translated at 86.4% (16593 of 19203 strings)
2025-03-07 22:36:20 +01:00
Daniel Stasiak
af0c316d33 Translated using Weblate (Polish)
Currently translated at 86.3% (16590 of 19203 strings)
2025-03-07 20:05:32 +01:00
Daniel Stasiak
918838b7eb Translated using Weblate (Polish)
Currently translated at 86.3% (16589 of 19203 strings)
2025-03-06 23:09:29 +01:00
Daniel Stasiak
1ada919cf2 Translated using Weblate (Polish)
Currently translated at 86.3% (16579 of 19203 strings)
2025-03-06 19:27:42 +01:00
Daniel Stasiak
871b11ec2f Translated using Weblate (Polish)
Currently translated at 86.2% (16571 of 19203 strings)
2025-03-06 02:33:41 +01:00
xvy
ff9eebec79 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-05 06:58:23 +01:00
xvy
7c62660192 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-05 06:27:22 +01:00
xvy
86c177ddd8 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-05 06:08:33 +01:00
xvy
20a9e0170e Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-05 06:01:22 +01:00
xvy
3ee260800d Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-05 03:40:48 +01:00
xvy
4168d88f6c Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-05 02:49:36 +01:00
xvy
396b08d9c1 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-05 02:42:44 +01:00
Daniel Stasiak
1800c36918 Translated using Weblate (Polish)
Currently translated at 86.1% (16552 of 19203 strings)
2025-03-04 22:55:30 +01:00
JohannesBoanerges
dbbe58e780 Translated using Weblate (German)
Currently translated at 91.7% (17625 of 19203 strings)
2025-03-04 19:05:15 +01:00
Raphi
2b0a0e0662 Translated using Weblate (German)
Currently translated at 91.6% (17607 of 19203 strings)
2025-03-04 18:26:39 +01:00
JohannesBoanerges
0a3b6182bb Translated using Weblate (German)
Currently translated at 91.6% (17607 of 19203 strings)
2025-03-04 18:26:39 +01:00
xvy
795d44fe64 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-04 09:36:31 +01:00
xvy
7f41df5932 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-04 02:23:40 +01:00
Daniel Stasiak
012e0d12f7 Translated using Weblate (Polish)
Currently translated at 86.0% (16531 of 19203 strings)
2025-03-03 19:11:01 +01:00
xvy
93e2117b21 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-03 08:32:39 +01:00
Daniel Stasiak
b38ad51811 Translated using Weblate (Polish)
Currently translated at 85.9% (16506 of 19203 strings)
2025-03-03 05:55:04 +01:00
Kevin Rojas Costa Rica
ea14f8fd67 Translated using Weblate (Spanish)
Currently translated at 74.9% (14388 of 19203 strings)
2025-03-02 19:50:52 +01:00
Kevin Rojas Costa Rica
cecbe8aeb3 Translated using Weblate (Spanish)
Currently translated at 74.8% (14374 of 19203 strings)
2025-03-02 05:17:45 +01:00
Kevin Rojas Costa Rica
bde5140d00 Translated using Weblate (Spanish)
Currently translated at 74.8% (14372 of 19203 strings)
2025-03-02 04:11:21 +01:00
Daniel Stasiak
b4fdfb2184 Translated using Weblate (Polish)
Currently translated at 85.8% (16488 of 19203 strings)
2025-03-02 00:24:21 +01:00
Daniel Stasiak
05594baea5 Translated using Weblate (Polish)
Currently translated at 85.8% (16478 of 19203 strings)
2025-03-01 21:24:12 +01:00
xvy
406ee85a32 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-03-01 08:04:38 +01:00
Daniel Stasiak
f7d7aed8ff Translated using Weblate (Polish)
Currently translated at 85.7% (16457 of 19203 strings)
2025-03-01 00:19:26 +01:00
xvy
b3c2c92dbc Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-28 15:08:12 +01:00
xvy
abc9ac8b0a Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-28 04:46:53 +01:00
xvy
16ac1c1bc8 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-28 04:44:16 +01:00
xvy
8ed9e39e32 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-28 04:42:57 +01:00
xvy
f72242ed47 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-28 04:41:43 +01:00
xvy
e02bb34c95 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-28 02:59:25 +01:00
xvy
781731bb7d Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-28 02:54:23 +01:00
xvy
781cefa5d2 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-28 02:52:03 +01:00
xvy
a6669dff12 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-28 02:47:32 +01:00
xvy
136a867939 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-28 02:42:18 +01:00
Daniel Stasiak
ae22a78fc3 Translated using Weblate (Polish)
Currently translated at 85.6% (16439 of 19203 strings)
2025-02-28 02:42:15 +01:00
Kevin Rojas Costa Rica
53408496e5 Translated using Weblate (Spanish)
Currently translated at 74.8% (14367 of 19203 strings)
2025-02-28 02:42:13 +01:00
xvy
759635947d Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-27 15:31:18 +01:00
xvy
b0939becc9 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-27 09:21:28 +01:00
xvy
42d3b81f18 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-27 08:43:39 +01:00
xvy
bd5beff711 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-27 07:50:33 +01:00
xvy
4f298d55fc Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-27 04:45:19 +01:00
xvy
cddf1c8a3b Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-27 01:55:31 +01:00
Daniel Stasiak
5dbb45e08f Translated using Weblate (Polish)
Currently translated at 85.4% (16404 of 19203 strings)
2025-02-27 01:55:28 +01:00
ilya
dd13229ce4 Translated using Weblate (Russian)
Currently translated at 100.0% (612 of 612 strings)
2025-02-27 01:55:28 +01:00
xvy
4edeb85d97 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-26 09:05:50 +01:00
Burak Hüseyin Ekseli
59fc1a7cf5 Translated using Weblate (Turkish)
Currently translated at 32.0% (6157 of 19203 strings)
2025-02-26 09:05:48 +01:00
xvy
d690d061d2 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-26 06:51:49 +01:00
xvy
0ce85fe6c8 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-26 06:20:14 +01:00
Daniel Stasiak
fab0f57a28 Translated using Weblate (Polish)
Currently translated at 85.3% (16387 of 19203 strings)
2025-02-26 01:21:00 +01:00
Daniel Stasiak
b181555d23 Translated using Weblate (Polish)
Currently translated at 85.3% (16382 of 19203 strings)
2025-02-25 23:03:43 +01:00
Renamed1986
c02a8a37d3 Translated using Weblate (Russian)
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-25 16:39:06 +01:00
Nut.andor
b341d7e6f1 Pull Request #86: Anti cheat checksum 2025-02-25 15:32:58 +01:00
OMGeeky
31f25a963f fix whitespace formatting
Signed-off-by: OMGeeky <aalaalgmx@gmail.com>
2025-02-25 15:28:52 +01:00
Renamed1986
4e7ecb5c85 Translated using Weblate (Russian)
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-25 15:11:52 +01:00
xvy
aafff1dab6 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-25 09:43:21 +01:00
xvy
36c99a861d Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-25 08:47:01 +01:00
xvy
27c4de04db Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-25 07:14:41 +01:00
xvy
ae617c94fe Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-25 04:15:34 +01:00
xvy
3f6f76f5cd Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-25 03:15:57 +01:00
Burak Hüseyin Ekseli
adf3215e3a Translated using Weblate (Turkish)
Currently translated at 31.9% (6143 of 19203 strings)
2025-02-25 00:03:11 +01:00
Burak Hüseyin Ekseli
0b9be84c80 Translated using Weblate (Turkish)
Currently translated at 31.6% (6087 of 19203 strings)
2025-02-24 23:01:20 +01:00
Burak Hüseyin Ekseli
e58c0db0f2 Translated using Weblate (Turkish)
Currently translated at 31.6% (6082 of 19203 strings)
2025-02-24 22:56:04 +01:00
Daniel Stasiak
1f33eab415 Translated using Weblate (Polish)
Currently translated at 85.2% (16376 of 19203 strings)
2025-02-24 22:56:02 +01:00
ilya
c389100211 Translated using Weblate (Russian)
Currently translated at 100.0% (612 of 612 strings)
2025-02-24 22:56:00 +01:00
xvy
0544940b9b Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-24 21:21:13 +01:00
Daniel Stasiak
70acf9303f Translated using Weblate (Polish)
Currently translated at 85.2% (16372 of 19203 strings)
2025-02-24 21:21:11 +01:00
ilya
159b82a75e Translated using Weblate (Russian)
Currently translated at 100.0% (612 of 612 strings)
2025-02-24 21:21:09 +01:00
OMGeeky
30030031b2 add checksum to savegame to track if the savegame has been modified
Signed-off-by: OMGeeky <aalaalgmx@gmail.com>
2025-02-24 21:04:22 +01:00
Nut.andor
e548a8110e duplicates removed 2025-02-24 17:34:57 +01:00
xvy
4a33bac877 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-24 06:07:27 +01:00
Daniel Stasiak
6999e08d95 Translated using Weblate (Polish)
Currently translated at 85.1% (16352 of 19203 strings)
2025-02-24 06:07:26 +01:00
Daniel Stasiak
08357c227c Translated using Weblate (Polish)
Currently translated at 85.1% (16350 of 19203 strings)
2025-02-23 21:47:27 +01:00
ilya
c0b156a1e7 Translated using Weblate (Russian)
Currently translated at 100.0% (612 of 612 strings)
2025-02-23 21:47:25 +01:00
xvy
0ffae1e118 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-23 10:37:23 +01:00
Daniel Stasiak
d9af9e8883 Translated using Weblate (Polish)
Currently translated at 84.9% (16319 of 19203 strings)
2025-02-23 10:37:21 +01:00
ilya
57e3e16b89 Translated using Weblate (Russian)
Currently translated at 100.0% (612 of 612 strings)
2025-02-23 10:37:19 +01:00
Daniel Stasiak
806cc59521 Translated using Weblate (Polish)
Currently translated at 84.9% (16311 of 19203 strings)
2025-02-22 19:12:16 +01:00
Daniel Stasiak
0e42043b3d Translated using Weblate (Polish)
Currently translated at 84.8% (16289 of 19203 strings)
2025-02-22 03:16:37 +01:00
Daniel Stasiak
1020c7e0ed Translated using Weblate (Polish)
Currently translated at 84.7% (16279 of 19203 strings)
2025-02-21 22:21:35 +01:00
xvy
c65b99ad86 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-21 10:29:37 +01:00
Burak Hüseyin Ekseli
5bd06db0b0 Translated using Weblate (Turkish)
Currently translated at 31.6% (6081 of 19203 strings)
2025-02-21 10:29:36 +01:00
Daniel Stasiak
a6cd41c170 Translated using Weblate (Polish)
Currently translated at 84.7% (16275 of 19203 strings)
2025-02-20 21:59:18 +01:00
Burak Hüseyin Ekseli
5fb7ffef30 Translated using Weblate (Turkish)
Currently translated at 31.5% (6061 of 19203 strings)
2025-02-20 11:03:14 +01:00
xvy
8230667037 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-20 10:25:25 +01:00
Burak Hüseyin Ekseli
1a9bddfb08 Translated using Weblate (Turkish)
Currently translated at 31.4% (6047 of 19203 strings)
2025-02-20 10:25:24 +01:00
xvy
634ff7afaf Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-20 08:52:00 +01:00
xvy
25260bf8c1 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-20 06:58:55 +01:00
Daniel Stasiak
f52e88403c Translated using Weblate (Polish)
Currently translated at 84.6% (16252 of 19203 strings)
2025-02-20 02:36:47 +01:00
Daniel Stasiak
1623228c59 Translated using Weblate (Polish)
Currently translated at 84.5% (16230 of 19203 strings)
2025-02-19 21:31:01 +01:00
Daniel Stasiak
765b76d01c Translated using Weblate (Polish)
Currently translated at 84.5% (16227 of 19203 strings)
2025-02-19 21:10:24 +01:00
Burak Hüseyin Ekseli
3ace8c8163 Translated using Weblate (Turkish)
Currently translated at 30.9% (5939 of 19203 strings)
2025-02-19 18:15:38 +01:00
Burak Hüseyin Ekseli
263ba70577 Translated using Weblate (Turkish)
Currently translated at 30.8% (5922 of 19203 strings)
2025-02-19 18:09:09 +01:00
Burak Hüseyin Ekseli
7787b4fa88 Translated using Weblate (Turkish)
Currently translated at 30.4% (5855 of 19203 strings)
2025-02-19 17:27:24 +01:00
Burak Hüseyin Ekseli
54d358a912 Translated using Weblate (Turkish)
Currently translated at 30.4% (5854 of 19203 strings)
2025-02-19 17:26:37 +01:00
Burak Hüseyin Ekseli
f5a4cc6298 Translated using Weblate (Turkish)
Currently translated at 30.4% (5853 of 19203 strings)
2025-02-19 17:26:10 +01:00
Burak Hüseyin Ekseli
c71db30dc9 Translated using Weblate (Turkish)
Currently translated at 30.4% (5851 of 19203 strings)
2025-02-19 17:25:09 +01:00
Burak Hüseyin Ekseli
522d63a7d5 Translated using Weblate (Turkish)
Currently translated at 30.4% (5850 of 19203 strings)
2025-02-19 17:24:59 +01:00
Burak Hüseyin Ekseli
77e2e64ee8 Translated using Weblate (Turkish)
Currently translated at 30.4% (5848 of 19203 strings)
2025-02-19 11:26:29 +01:00
xvy
19c4ae6180 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-19 09:51:00 +01:00
xvy
51c71c0106 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-19 08:08:45 +01:00
Burak Hüseyin Ekseli
05528f223f Translated using Weblate (Turkish)
Currently translated at 30.3% (5826 of 19203 strings)
2025-02-19 07:31:32 +01:00
Burak Hüseyin Ekseli
9cc5ae0d06 Translated using Weblate (Turkish)
Currently translated at 30.2% (5802 of 19203 strings)
2025-02-19 07:20:44 +01:00
xvy
c535d5339b Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-19 06:16:40 +01:00
xvy
530c39bfe7 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-19 05:18:13 +01:00
xvy
ca8330936e Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-19 04:40:39 +01:00
xvy
16ab2a9000 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-19 04:11:34 +01:00
xvy
7ee8808930 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-19 03:36:12 +01:00
xvy
25ed3aa460 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-19 02:38:07 +01:00
Daniel Stasiak
e6af5b9ff8 Translated using Weblate (Polish)
Currently translated at 84.4% (16226 of 19203 strings)
2025-02-18 22:25:19 +01:00
Daniel Stasiak
d05f9f1f17 Translated using Weblate (Polish)
Currently translated at 84.4% (16219 of 19203 strings)
2025-02-18 20:29:29 +01:00
xvy
dea3386a8b Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-18 11:28:55 +01:00
xvy
dee12529d9 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-18 07:51:06 +01:00
xvy
ff83682d4a Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-18 01:56:23 +01:00
Daniel Stasiak
b5681143cb Translated using Weblate (Polish)
Currently translated at 84.3% (16201 of 19203 strings)
2025-02-18 00:33:46 +01:00
Nut.andor
476c972416 tel #9 2025-02-18 00:04:33 +01:00
xvy
2f6b6e115e Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-17 20:07:58 +01:00
Burak Hüseyin Ekseli
676e666f78 Translated using Weblate (Turkish)
Currently translated at 30.1% (5785 of 19203 strings)
2025-02-17 20:07:57 +01:00
xvy
d703dc2304 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-17 09:22:05 +01:00
xvy
ace4c2a65a Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-17 09:18:13 +01:00
xvy
23189efa79 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-17 07:38:55 +01:00
xvy
bdbacfe74c Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-17 04:44:10 +01:00
Daniel Stasiak
3dbc1f82e6 Translated using Weblate (Polish)
Currently translated at 84.3% (16197 of 19203 strings)
2025-02-16 21:47:38 +01:00
Daniel Stasiak
77709bfea2 Translated using Weblate (Polish)
Currently translated at 84.2% (16175 of 19203 strings)
2025-02-16 05:05:23 +01:00
Daniel Stasiak
db46ecf7af Translated using Weblate (Polish)
Currently translated at 84.1% (16160 of 19203 strings)
2025-02-15 20:47:35 +01:00
Daniel Stasiak
0dfbd223eb Translated using Weblate (Polish)
Currently translated at 84.1% (16155 of 19203 strings)
2025-02-14 22:11:38 +01:00
Daniel Stasiak
c166cb5c6d Translated using Weblate (Polish)
Currently translated at 84.0% (16146 of 19203 strings)
2025-02-14 21:09:41 +01:00
Burak Hüseyin Ekseli
49927184a2 Translated using Weblate (Turkish)
Currently translated at 29.8% (5728 of 19203 strings)
2025-02-14 14:04:48 +01:00
xvy
769600aff5 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-14 09:18:30 +01:00
Burak Hüseyin Ekseli
1aaa813f80 Translated using Weblate (Turkish)
Currently translated at 29.7% (5719 of 19203 strings)
2025-02-14 09:18:28 +01:00
Daniel Stasiak
e49e54dfb0 Translated using Weblate (Polish)
Currently translated at 84.0% (16143 of 19203 strings)
2025-02-14 09:18:25 +01:00
Arnaud
1c761123ef Translated using Weblate (Finnish)
Currently translated at 1.5% (301 of 19203 strings)
2025-02-13 18:02:01 +01:00
Burak Hüseyin Ekseli
dafd984f4f Translated using Weblate (Turkish)
Currently translated at 29.6% (5697 of 19203 strings)
2025-02-13 18:01:58 +01:00
Daniel Stasiak
dd7dc9e4de Translated using Weblate (Polish)
Currently translated at 83.9% (16123 of 19203 strings)
2025-02-13 18:01:55 +01:00
xvy
8d4b35c929 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-12 09:02:02 +01:00
Daniel Stasiak
f0b94fa560 Translated using Weblate (Polish)
Currently translated at 83.8% (16106 of 19203 strings)
2025-02-12 09:01:59 +01:00
xvy
b13a20de5a Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-11 03:01:40 +01:00
Daniel Stasiak
8223afb1b4 Translated using Weblate (Polish)
Currently translated at 83.7% (16092 of 19203 strings)
2025-02-11 03:01:38 +01:00
VeridisQuo
21f049fc49 Translated using Weblate (Esperanto)
Currently translated at 72.0% (441 of 612 strings)
2025-02-10 16:01:57 +01:00
xvy
13ce88d7dd Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-10 16:01:56 +01:00
Daniel Stasiak
5dc7c8d6a1 Translated using Weblate (Polish)
Currently translated at 83.7% (16078 of 19203 strings)
2025-02-10 16:01:53 +01:00
Daniel Stasiak
e989503238 Translated using Weblate (Polish)
Currently translated at 83.6% (16070 of 19203 strings)
2025-02-09 15:15:06 +01:00
xvy
0514f1facd Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-09 11:19:53 +01:00
Daniel Stasiak
6f81dcf97e Translated using Weblate (Polish)
Currently translated at 83.6% (16063 of 19203 strings)
2025-02-09 11:19:52 +01:00
xvy
5bb0290d10 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-08 19:10:15 +01:00
Anderson Nogueira Silva
a5a4d07282 Translated using Weblate (Portuguese (Brazil))
Currently translated at 81.4% (15647 of 19203 strings)
2025-02-08 19:10:13 +01:00
Daniel Stasiak
67a3670641 Translated using Weblate (Polish)
Currently translated at 83.5% (16039 of 19203 strings)
2025-02-08 19:10:12 +01:00
Miroslav Iliev
16bff85b1f Translated using Weblate (Bulgarian)
Currently translated at 75.0% (459 of 612 strings)
2025-02-07 21:02:09 +00:00
xvy
a14bcbf9a5 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-07 21:02:08 +00:00
Daniel Stasiak
948a785474 Translated using Weblate (Polish)
Currently translated at 83.4% (16026 of 19203 strings)
2025-02-07 21:02:05 +00:00
Nut.andor
dfeafef1a9 newb sprites 2025-02-06 16:07:49 +01:00
Nut.andor
71ce482587 newb sprites 2025-02-06 14:58:15 +01:00
Nut.andor
94672e2fc0 debug teleport #targets 2025-02-06 14:58:14 +01:00
VeridisQuo
d41e83dd86 Translated using Weblate (Esperanto)
Currently translated at 0.5% (109 of 19202 strings)
2025-02-06 12:02:17 +00:00
VeridisQuo
dea99e8770 Translated using Weblate (Esperanto)
Currently translated at 63.7% (390 of 612 strings)
2025-02-06 12:02:15 +00:00
xvy
e0d316f953 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-06 12:02:13 +00:00
Daniel Stasiak
b77eba6186 Translated using Weblate (Polish)
Currently translated at 83.2% (15978 of 19203 strings)
2025-02-06 12:02:10 +00:00
xvy
73e93046bc Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-05 07:02:06 +01:00
Daniel Stasiak
fd5568710c Translated using Weblate (Polish)
Currently translated at 83.1% (15966 of 19203 strings)
2025-02-04 04:13:31 +01:00
Ricky Tigg
6caf00b7ab Translated using Weblate (Finnish)
Currently translated at 1.5% (300 of 19203 strings)
2025-02-03 20:02:42 +00:00
xvy
59776a258e Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-03 20:02:40 +00:00
Daniel Stasiak
2cd76c4e5f Translated using Weblate (Polish)
Currently translated at 83.0% (15950 of 19203 strings)
2025-02-03 20:02:37 +00:00
xvy
59fdab737f Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-02 20:02:10 +01:00
Anderson Nogueira Silva
823959e801 Translated using Weblate (Portuguese (Brazil))
Currently translated at 81.3% (15624 of 19203 strings)
2025-02-02 20:02:08 +01:00
xvy
8c3fe791eb Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-01 19:10:04 +01:00
Anderson Nogueira Silva
2b98e295ed Translated using Weblate (Portuguese (Brazil))
Currently translated at 81.3% (15613 of 19203 strings)
2025-02-01 19:10:02 +01:00
xvy
dd0efabce9 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-02-01 05:40:17 +01:00
Daniel Stasiak
a0b5516608 Translated using Weblate (Polish)
Currently translated at 83.0% (15939 of 19203 strings)
2025-01-31 23:02:04 +01:00
Ricky Tigg
401fd815f1 Translated using Weblate (Finnish)
Currently translated at 33.3% (204 of 612 strings)
2025-01-31 19:23:15 +01:00
Ricky Tigg
b83f339052 Translated using Weblate (Finnish)
Currently translated at 1.5% (300 of 19203 strings)
2025-01-31 19:23:14 +01:00
VeridisQuo
f41a104aa2 Translated using Weblate (Esperanto)
Currently translated at 0.5% (101 of 19202 strings)
2025-01-31 05:58:56 +01:00
VeridisQuo
a58db0d7a0 Translated using Weblate (Esperanto)
Currently translated at 61.2% (375 of 612 strings)
2025-01-31 05:58:56 +01:00
xvy
576438c5d6 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-01-31 05:58:55 +01:00
Daniel Stasiak
20b89ac790 Translated using Weblate (Polish)
Currently translated at 82.9% (15938 of 19203 strings)
2025-01-31 05:58:53 +01:00
Ron McNair
b0e3156592 Translated using Weblate (Esperanto)
Currently translated at 56.2% (344 of 612 strings)
2025-01-30 10:21:44 +01:00
Ron McNair
ad624f42a0 Translated using Weblate (Esperanto)
Currently translated at 0.5% (100 of 19202 strings)
2025-01-30 06:57:47 +01:00
Ron McNair
7c5dc8bfcb Translated using Weblate (Esperanto)
Currently translated at 54.5% (334 of 612 strings)
2025-01-30 06:57:45 +01:00
Daniel Stasiak
c65f503a24 Translated using Weblate (Polish)
Currently translated at 82.9% (15933 of 19203 strings)
2025-01-30 06:57:44 +01:00
xvy
c91b30bdcf Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-01-29 16:02:58 +01:00
Daniel Stasiak
f7c078b873 Translated using Weblate (Polish)
Currently translated at 82.9% (15924 of 19203 strings)
2025-01-29 16:02:56 +01:00
Daniel Stasiak
eeccddaf9c Translated using Weblate (Polish)
Currently translated at 82.7% (15885 of 19203 strings)
2025-01-28 01:52:47 +01:00
Daniel Stasiak
6ff9098630 Translated using Weblate (Polish)
Currently translated at 82.6% (15864 of 19203 strings)
2025-01-27 20:01:53 +00:00
xvy
bdf8811ea1 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-01-26 20:01:53 +01:00
Daniel Stasiak
0e4ce207ad Translated using Weblate (Polish)
Currently translated at 82.4% (15836 of 19203 strings)
2025-01-26 20:01:51 +01:00
xvy
bb31dec6dd Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-01-25 19:11:14 +01:00
Daniel Stasiak
e63b684101 Translated using Weblate (Polish)
Currently translated at 82.2% (15804 of 19203 strings)
2025-01-25 00:06:28 +01:00
xvy
cac7ce19a0 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-01-24 11:23:57 +01:00
Daniel Stasiak
608e27cd92 Translated using Weblate (Polish)
Currently translated at 82.2% (15795 of 19203 strings)
2025-01-24 11:23:55 +01:00
xvy
5b6ef25d2c Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-01-23 13:02:40 +01:00
Daniel Stasiak
2551ef08a0 Translated using Weblate (Polish)
Currently translated at 82.0% (15761 of 19203 strings)
2025-01-23 13:02:36 +01:00
xvy
69ebcb3aff Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-01-22 11:34:32 +01:00
Daniel Stasiak
4e73ec5560 Translated using Weblate (Polish)
Currently translated at 82.0% (15757 of 19203 strings)
2025-01-22 11:34:30 +01:00
xvy
a50b29c9f0 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-01-22 05:47:00 +00:00
Daniel Stasiak
770ebc3819 Translated using Weblate (Polish)
Currently translated at 82.0% (15748 of 19203 strings)
2025-01-22 05:46:47 +00:00
Kevin Rojas Costa Rica
1ee2b3615b Translated using Weblate (Spanish)
Currently translated at 74.7% (14360 of 19203 strings)
2025-01-22 05:46:45 +00:00
Kevin Rojas Costa Rica
33b30cddd9 Translated using Weblate (Spanish)
Currently translated at 74.7% (14345 of 19203 strings)
2025-01-21 05:39:09 +01:00
Palkia
f29fa33aa0 Translated using Weblate (Spanish)
Currently translated at 74.7% (14345 of 19203 strings)
2025-01-21 05:39:09 +01:00
Kevin Rojas Costa Rica
37227533ef Translated using Weblate (Spanish)
Currently translated at 100.0% (612 of 612 strings)
2025-01-21 05:35:07 +01:00
Daniel Stasiak
082cd32d4e Translated using Weblate (Polish)
Currently translated at 81.8% (15718 of 19203 strings)
2025-01-21 05:35:07 +01:00
Palkia
322a1f77aa Translated using Weblate (Spanish)
Currently translated at 74.7% (14345 of 19203 strings)
2025-01-21 05:35:06 +01:00
Wladimir Castañeda Sánchez
6015408b76 Translated using Weblate (Spanish)
Currently translated at 74.7% (14345 of 19203 strings)
2025-01-21 05:35:05 +01:00
Alejandro Ruiz Medina
f60c35b2eb Translated using Weblate (Spanish)
Currently translated at 74.7% (14345 of 19203 strings)
2025-01-21 05:35:05 +01:00
Kevin Rojas Costa Rica
1e8e4bdf76 Translated using Weblate (Spanish)
Currently translated at 74.7% (14345 of 19203 strings)
2025-01-21 05:35:05 +01:00
Ricky Tigg
a041dcd4d5 Translated using Weblate (Finnish)
Currently translated at 30.5% (187 of 612 strings)
2025-01-20 10:20:21 +01:00
Ricky Tigg
b463422264 Translated using Weblate (Finnish)
Currently translated at 1.5% (300 of 19203 strings)
2025-01-20 10:20:20 +01:00
Daniel Stasiak
b039e4966e Translated using Weblate (Polish)
Currently translated at 81.7% (15707 of 19203 strings)
2025-01-20 10:20:19 +01:00
Ricky Tigg
fceaf6aa89 Translated using Weblate (Finnish)
Currently translated at 0.3% (69 of 19203 strings)
2025-01-19 12:00:23 +01:00
Ricky Tigg
a6ce31c499 Translated using Weblate (Finnish)
Currently translated at 8.1% (50 of 612 strings)
2025-01-19 11:59:50 +01:00
Ricky Tigg
025d6cb3c6 Translated using Weblate (Finnish)
Currently translated at 0.3% (67 of 19203 strings)
2025-01-19 11:59:50 +01:00
Ricky Tigg
448add9cda Translated using Weblate (Finnish)
Currently translated at 7.8% (48 of 612 strings)
2025-01-19 11:48:35 +01:00
Ricky Tigg
86b521e5ec Translated using Weblate (Finnish)
Currently translated at 0.2% (57 of 19203 strings)
2025-01-19 11:48:35 +01:00
Ricky Tigg
7986e5280d Translated using Weblate (Finnish)
Currently translated at 7.6% (47 of 612 strings)
2025-01-19 11:47:33 +01:00
Ricky Tigg
9aa216ea6d Translated using Weblate (Finnish)
Currently translated at 0.2% (55 of 19203 strings)
2025-01-19 11:47:33 +01:00
Ricky Tigg
e2ea022f69 Translated using Weblate (Finnish)
Currently translated at 7.1% (44 of 612 strings)
2025-01-19 11:43:38 +01:00
Ricky Tigg
01886f1f54 Translated using Weblate (Finnish)
Currently translated at 0.2% (51 of 19203 strings)
2025-01-19 11:43:38 +01:00
Ricky Tigg
fc35dc0d2b Translated using Weblate (Finnish)
Currently translated at 0.2% (41 of 19203 strings)
2025-01-19 11:34:54 +01:00
Ricky Tigg
063cd69354 Translated using Weblate (Finnish)
Currently translated at 0.2% (40 of 19203 strings)
2025-01-19 11:34:36 +01:00
Ricky Tigg
6126d2ebb6 Translated using Weblate (Finnish)
Currently translated at 0.2% (39 of 19203 strings)
2025-01-19 11:34:21 +01:00
Ricky Tigg
a43e8daaf3 Translated using Weblate (Finnish)
Currently translated at 0.1% (38 of 19203 strings)
2025-01-19 11:33:53 +01:00
Ricky Tigg
1b1b33c73f Translated using Weblate (Finnish)
Currently translated at 0.1% (37 of 19203 strings)
2025-01-19 11:32:44 +01:00
Ricky Tigg
4a86673a59 Translated using Weblate (Finnish)
Currently translated at 0.1% (36 of 19203 strings)
2025-01-19 11:32:24 +01:00
Patryck Cardozo
577d1b9d58 Translated using Weblate (Portuguese (Brazil))
Currently translated at 81.1% (15584 of 19203 strings)
2025-01-19 11:32:23 +01:00
Patryck Cardozo
cd008a5629 Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.6% (610 of 612 strings)
2025-01-19 11:32:22 +01:00
n1ck
0a7225ebb2 Translated using Weblate (Spanish)
Currently translated at 99.6% (610 of 612 strings)
2025-01-18 19:12:47 +01:00
xvy
1036c7b659 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-01-18 19:12:47 +01:00
Patryck Cardozo
7ccadb3acf Translated using Weblate (Portuguese (Brazil))
Currently translated at 80.9% (15542 of 19203 strings)
2025-01-18 19:12:45 +01:00
Patryck Cardozo
ac3f4b1957 Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.6% (610 of 612 strings)
2025-01-18 19:12:43 +01:00
Ricky Tigg
a024440fcc Translated using Weblate (Finnish)
Currently translated at 0.1% (35 of 19203 strings)
2025-01-17 19:00:55 +00:00
xvy
7c064ac9dc Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-01-17 19:00:53 +00:00
Filip
255fd90757 Translated using Weblate (Polish)
Currently translated at 81.7% (15695 of 19203 strings)
2025-01-17 19:00:50 +00:00
Daniel Stasiak
d81d5470a2 Translated using Weblate (Polish)
Currently translated at 81.7% (15695 of 19203 strings)
2025-01-17 19:00:49 +00:00
Renamed1986
6293f1e3c9 Translated using Weblate (Russian)
Currently translated at 100.0% (19203 of 19203 strings)
2025-01-16 19:00:37 +01:00
Daniel Stasiak
01d47c0ff7 Translated using Weblate (Polish)
Currently translated at 81.3% (15617 of 19203 strings)
2025-01-16 19:00:34 +01:00
Nut.andor
3405b7692c newb sprites 2025-01-16 16:16:31 +01:00
xvy
5edeecc6e4 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-01-15 14:04:12 +01:00
xvy
048433caeb Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-01-15 07:22:35 +01:00
xvy
7f5e8dbd1f Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-01-15 03:33:39 +01:00
Daniel Stasiak
3d7238e835 Translated using Weblate (Polish)
Currently translated at 81.1% (15586 of 19203 strings)
2025-01-15 03:33:38 +01:00
Bob Idle
300391b97b Translated using Weblate (German)
Currently translated at 91.6% (17597 of 19203 strings)
2025-01-15 03:33:36 +01:00
xvy
7795b12f85 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-01-14 05:00:47 +00:00
Daniel Stasiak
d94ec642ef Translated using Weblate (Polish)
Currently translated at 80.9% (15542 of 19203 strings)
2025-01-14 05:00:45 +00:00
Nut.andor
ed11bf58a3 debug teleport #targets 2025-01-13 04:39:31 +01:00
Nut.andor
f237694d21 broken_1 + entrance_1 2025-01-13 01:37:34 +01:00
Bob Idle
3642c425ca Translated using Weblate (Czech)
Currently translated at 99.6% (610 of 612 strings)
2025-01-12 23:24:12 +01:00
xvy
418b1827ab Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-01-12 23:24:12 +01:00
Daniel Stasiak
2293dc1f6d Translated using Weblate (Polish)
Currently translated at 80.8% (15517 of 19203 strings)
2025-01-12 23:24:09 +01:00
Bob Idle
b57f137334 Translated using Weblate (German)
Currently translated at 91.6% (17597 of 19203 strings)
2025-01-12 23:24:07 +01:00
Bob Idle
df7df92a7a Translated using Weblate (German)
Currently translated at 100.0% (612 of 612 strings)
2025-01-12 23:24:06 +01:00
Daniel Stasiak
6b1e74f2c9 Translated using Weblate (Polish)
Currently translated at 80.6% (15482 of 19203 strings)
2025-01-12 10:17:28 +01:00
Daniel Stasiak
a2c999e5af Translated using Weblate (Polish)
Currently translated at 80.4% (15445 of 19203 strings)
2025-01-11 20:19:36 +01:00
xvy
22426e4f39 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-01-11 19:14:14 +01:00
Daniel Stasiak
855aeed779 Translated using Weblate (Polish)
Currently translated at 80.3% (15426 of 19203 strings)
2025-01-11 02:04:15 +01:00
Filip
894bdb15c4 Translated using Weblate (Polish)
Currently translated at 80.1% (15390 of 19203 strings)
2025-01-10 20:40:45 +01:00
Lacrom
7208030e79 Translated using Weblate (French)
Currently translated at 84.3% (16207 of 19203 strings)
2025-01-10 20:40:43 +01:00
Lacrom
27dcd1bf5b Translated using Weblate (French)
Currently translated at 99.8% (611 of 612 strings)
2025-01-10 20:40:41 +01:00
A-Nicoladie[FR]
e8a7cd4bf7 Translated using Weblate (French)
Currently translated at 99.8% (611 of 612 strings)
2025-01-10 14:52:15 +01:00
Filip
2c5ec1179e Translated using Weblate (Polish)
Currently translated at 80.1% (15390 of 19203 strings)
2025-01-10 14:41:48 +01:00
Lacrom
e141383873 Translated using Weblate (French)
Currently translated at 99.8% (611 of 612 strings)
2025-01-10 14:41:46 +01:00
Filip
4b8a0d799f Translated using Weblate (Polish)
Currently translated at 80.1% (15390 of 19203 strings)
2025-01-09 23:37:10 +01:00
Daniel Stasiak
50a2f1c9ba Translated using Weblate (Polish)
Currently translated at 80.1% (15390 of 19203 strings)
2025-01-09 23:37:10 +01:00
Miroslav Iliev
67c872397a Translated using Weblate (Bulgarian)
Currently translated at 74.6% (457 of 612 strings)
2025-01-09 11:33:41 +01:00
Ludvík Remešek
9ddb4c9886 Translated using Weblate (Czech)
Currently translated at 76.3% (14653 of 19203 strings)
2025-01-09 11:33:39 +01:00
Filip
db8e186c67 Translated using Weblate (Polish)
Currently translated at 79.9% (15344 of 19203 strings)
2025-01-09 11:33:37 +01:00
Daniel Stasiak
39a428eeef Translated using Weblate (Polish)
Currently translated at 79.9% (15344 of 19203 strings)
2025-01-09 11:33:37 +01:00
Bob Idle
961bb44d0f Translated using Weblate (Arabic)
Currently translated at 99.6% (610 of 612 strings)
2025-01-08 21:40:07 +01:00
Bob Idle
aeca5fd252 Translated using Weblate (Czech)
Currently translated at 99.5% (609 of 612 strings)
2025-01-08 21:40:07 +01:00
Bob Idle
e57bc41353 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 99.6% (610 of 612 strings)
2025-01-08 21:40:07 +01:00
Bob Idle
9a758bd279 Translated using Weblate (Basque)
Currently translated at 60.4% (370 of 612 strings)
2025-01-08 21:40:06 +01:00
Filip
ed08c442ac Translated using Weblate (Polish)
Currently translated at 79.6% (15300 of 19203 strings)
2025-01-08 21:40:06 +01:00
Daniel Stasiak
409867553c Translated using Weblate (Polish)
Currently translated at 79.6% (15300 of 19203 strings)
2025-01-08 21:40:06 +01:00
Bob Idle
d8e73cac6b Translated using Weblate (German)
Currently translated at 91.6% (17591 of 19203 strings)
2025-01-08 21:40:04 +01:00
Raphi
074a3d088c Translated using Weblate (German)
Currently translated at 91.6% (17591 of 19203 strings)
2025-01-08 21:40:03 +01:00
Bob Idle
fb42410d7e Translated using Weblate (German)
Currently translated at 99.6% (610 of 612 strings)
2025-01-08 21:40:02 +01:00
Daniel Stasiak
d3323118e7 Translated using Weblate (Polish)
Currently translated at 79.5% (15283 of 19203 strings)
2025-01-07 22:48:41 +01:00
Bob Idle
5ae8027a18 Translated using Weblate (German)
Currently translated at 91.5% (17587 of 19203 strings)
2025-01-07 22:48:39 +01:00
Raphi
e390fcbdbc Translated using Weblate (German)
Currently translated at 91.5% (17587 of 19203 strings)
2025-01-07 22:48:39 +01:00
Daniel Stasiak
8f87fe8355 Translated using Weblate (Polish)
Currently translated at 79.4% (15257 of 19203 strings)
2025-01-07 02:08:54 +01:00
Daniel Stasiak
5fd930497b Translated using Weblate (Polish)
Currently translated at 100.0% (612 of 612 strings)
2025-01-07 02:08:52 +01:00
xvy
3da566d39c Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-01-05 22:01:23 +00:00
Daniel Stasiak
ea23161d42 Translated using Weblate (Polish)
Currently translated at 79.1% (15195 of 19203 strings)
2025-01-05 22:01:21 +00:00
Ruben Rodriguez Martin
a1e4b55597 Translated using Weblate (Spanish)
Currently translated at 74.5% (14321 of 19203 strings)
2025-01-05 22:01:19 +00:00
Nut.andor
de1f850cfd newb sprites 2025-01-04 20:43:47 +01:00
xvy
62a54d4ee7 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-01-04 19:12:37 +01:00
Daniel Stasiak
2714514680 Translated using Weblate (Polish)
Currently translated at 78.8% (15147 of 19203 strings)
2025-01-04 19:12:35 +01:00
Miroslav Iliev
a1cb6b3b35 Translated using Weblate (Bulgarian)
Currently translated at 73.6% (451 of 612 strings)
2025-01-03 21:01:37 +00:00
Daniel Stasiak
cc44cb7027 Translated using Weblate (Polish)
Currently translated at 78.8% (15135 of 19203 strings)
2025-01-03 21:01:35 +00:00
xvy
fc1dedc570 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (612 of 612 strings)
2025-01-02 21:00:43 +01:00
Filip
d64fa699b4 Translated using Weblate (Polish)
Currently translated at 78.6% (15110 of 19203 strings)
2025-01-02 21:00:41 +01:00
Daniel Stasiak
d22bb347fe Translated using Weblate (Polish)
Currently translated at 78.6% (15110 of 19203 strings)
2025-01-02 21:00:40 +01:00
xvy
d6739f3253 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2025-01-01 19:00:42 +00:00
Daniel Stasiak
d810aef5cd Translated using Weblate (Polish)
Currently translated at 78.4% (15072 of 19203 strings)
2025-01-01 19:00:40 +00:00
xvy
a23c4d2165 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2024-12-31 16:09:18 +01:00
Daniel Stasiak
eb2e2ced32 Translated using Weblate (Polish)
Currently translated at 78.1% (15015 of 19203 strings)
2024-12-30 23:17:46 +01:00
Daniel Stasiak
046aa71d6b Translated using Weblate (Polish)
Currently translated at 78.0% (14984 of 19203 strings)
2024-12-30 19:00:58 +00:00
xvy
6b6177e078 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (612 of 612 strings)
2024-12-29 19:05:38 +01:00
xvy
a14df5951e Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2024-12-29 19:05:37 +01:00
Daniel Stasiak
f312440541 Translated using Weblate (Polish)
Currently translated at 77.6% (14905 of 19203 strings)
2024-12-29 19:05:34 +01:00
Filip
b97cc203fd Translated using Weblate (Polish)
Currently translated at 100.0% (612 of 612 strings)
2024-12-29 19:05:33 +01:00
Nut.andor
1286c0802c debug teleport #targets 2024-12-29 02:41:17 +01:00
Daniel Stasiak
672cbc99db Translated using Weblate (Polish)
Currently translated at 77.5% (14883 of 19203 strings)
2024-12-28 19:11:56 +01:00
Nut.andor
35034b4e9f Merge branch 'pulls/1829009049/82' into AT_Source_Next_Release 2024-12-28 04:21:23 +01:00
Nut.andor
6f52c4b39d italic 2024-12-28 04:08:15 +01:00
Nut.andor
aa2c9c08e0 Actor condition descriptions 2024-12-28 03:09:19 +01:00
Nut.andor
c6e4bc90f9 Merge branch 'pulls/1829009049/81' into AT_Source_Next_Release 2024-12-28 03:07:53 +01:00
Nut.andor
e0053aedd0 lower the prerequisite levels on the internal bleeding for more critical and better critical from 3 to 2 2024-12-28 03:01:17 +01:00
Miroslav Iliev
0858ac8f7f Translated using Weblate (Bulgarian)
Currently translated at 1.5% (297 of 19203 strings)
2024-12-27 22:20:56 +01:00
Daniel Stasiak
783bc925df Translated using Weblate (Polish)
Currently translated at 77.4% (14881 of 19203 strings)
2024-12-27 22:20:54 +01:00
Frei Tags
a3cce7f3b3 Translated using Weblate (German)
Currently translated at 91.5% (17580 of 19203 strings)
2024-12-27 22:20:51 +01:00
Miroslav Iliev
ae8c0b6d1e Translated using Weblate (Bulgarian)
Currently translated at 1.3% (252 of 19203 strings)
2024-12-27 13:00:36 +01:00
xvy
129ccfea7b Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2024-12-27 13:00:32 +01:00
Daniel Stasiak
a58287e4d7 Translated using Weblate (Polish)
Currently translated at 77.3% (14852 of 19203 strings)
2024-12-27 13:00:29 +01:00
Daniel Stasiak
6bda903fe7 Translated using Weblate (Polish)
Currently translated at 100.0% (612 of 612 strings)
2024-12-27 13:00:26 +01:00
Nut.andor
559ed8a72c Pull Request #82: Actor condition descriptions 2024-12-27 12:58:19 +01:00
OMGeeky
7e525786fc cleanup 2024-12-27 12:56:37 +01:00
OMGeeky
0734d17b1e Add descriptions to actor conditions 2024-12-27 12:49:21 +01:00
xvy
034a4faef5 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2024-12-26 11:48:05 +01:00
Miroslav Iliev
4632ad011d Translated using Weblate (Bulgarian)
Currently translated at 73.2% (448 of 612 strings)
2024-12-26 07:00:47 +01:00
Miroslav Iliev
c9ce488c1b Translated using Weblate (Bulgarian)
Currently translated at 1.0% (206 of 19203 strings)
2024-12-26 07:00:46 +01:00
xvy
fe270d8c17 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2024-12-26 07:00:44 +01:00
Daniel Stasiak
bd971ff792 Translated using Weblate (Polish)
Currently translated at 77.1% (14815 of 19203 strings)
2024-12-26 07:00:41 +01:00
xvy
de7af46fb3 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2024-12-24 09:00:32 +01:00
aircqsj
b08e690150 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (19203 of 19203 strings)
2024-12-24 09:00:30 +01:00
Nut.andor
2a7c021572 Newb actorconditions 2024-12-23 01:42:34 +01:00
xvy
9b256c1fca Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 98.3% (18887 of 19203 strings)
2024-12-22 20:03:05 +01:00
aircqsj
597683ed35 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 98.3% (18887 of 19203 strings)
2024-12-22 20:03:04 +01:00
xvy
a195722f6f Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 97.8% (18783 of 19203 strings)
2024-12-22 10:05:34 +01:00
aircqsj
fa85588c48 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 97.8% (18783 of 19203 strings)
2024-12-22 10:05:33 +01:00
xvy
253d9bfd10 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 97.2% (18677 of 19203 strings)
2024-12-22 06:52:04 +01:00
aircqsj
7010321939 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 97.2% (18677 of 19203 strings)
2024-12-22 06:52:04 +01:00
xvy
59d63ad7f9 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 97.1% (18649 of 19203 strings)
2024-12-22 05:53:42 +01:00
aircqsj
961d91ae53 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 97.0% (18632 of 19203 strings)
2024-12-22 05:05:52 +01:00
xvy
dd54abe829 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 96.9% (18616 of 19203 strings)
2024-12-21 19:12:38 +01:00
aircqsj
fd33f93baa Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 96.9% (18616 of 19203 strings)
2024-12-21 19:12:38 +01:00
aircqsj
8d4fedd911 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 96.5% (18531 of 19203 strings)
2024-12-21 13:00:34 +01:00
Daniel Stasiak
c28da080da Translated using Weblate (Polish)
Currently translated at 76.9% (14772 of 19203 strings)
2024-12-21 13:00:31 +01:00
Nut.andor
9d3f5bfab5 Pull Request #81: lower the prerequisite levels on the internal bleeding for more critical and better critical from 3 to 2 2024-12-20 18:57:49 +01:00
jgemmajr
b505a4ea41 lower the prerequisite levels on the internal bleeding for more critical and better critical from 3 to 2 2024-12-20 12:56:06 -05:00
aircqsj
bfe41bc7c4 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 96.0% (18447 of 19203 strings)
2024-12-20 09:28:39 +01:00
Daniel Stasiak
ac739622e5 Translated using Weblate (Polish)
Currently translated at 76.9% (14769 of 19203 strings)
2024-12-20 09:28:37 +01:00
Mateusz Mendel
44d4ef7430 Translated using Weblate (Polish)
Currently translated at 76.8% (14765 of 19203 strings)
2024-12-19 20:23:03 +01:00
Daniel Stasiak
9322969adf Translated using Weblate (Polish)
Currently translated at 76.8% (14765 of 19203 strings)
2024-12-19 20:23:02 +01:00
Daniel Stasiak
b038a2b139 Translated using Weblate (Polish)
Currently translated at 76.8% (14764 of 19203 strings)
2024-12-19 20:21:38 +01:00
Mateusz Mendel
bbd1afc0bf Translated using Weblate (Polish)
Currently translated at 76.8% (14764 of 19203 strings)
2024-12-19 20:21:38 +01:00
Mateusz Mendel
c3e23bdc6b Translated using Weblate (Polish)
Currently translated at 76.8% (14763 of 19203 strings)
2024-12-19 20:18:03 +01:00
Daniel Stasiak
1de35e79d3 Translated using Weblate (Polish)
Currently translated at 76.8% (14763 of 19203 strings)
2024-12-19 20:18:03 +01:00
Mateusz Mendel
423b3d5cb6 Translated using Weblate (Polish)
Currently translated at 76.8% (14762 of 19203 strings)
2024-12-19 17:28:40 +01:00
Daniel Stasiak
bb08710f50 Translated using Weblate (Polish)
Currently translated at 76.8% (14762 of 19203 strings)
2024-12-19 17:28:40 +01:00
xvy
5166fb44bf Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 95.8% (18415 of 19203 strings)
2024-12-19 17:24:14 +01:00
aircqsj
21e237791e Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 95.8% (18415 of 19203 strings)
2024-12-19 17:24:13 +01:00
Mateusz Mendel
74cb3527d2 Translated using Weblate (Polish)
Currently translated at 76.8% (14761 of 19203 strings)
2024-12-19 17:24:12 +01:00
xvy
2ca1e8959c Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 95.8% (18407 of 19203 strings)
2024-12-19 13:35:20 +01:00
aircqsj
26f03e46df Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 95.8% (18407 of 19203 strings)
2024-12-19 13:35:20 +01:00
aircqsj
eba4eef677 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 95.6% (18376 of 19203 strings)
2024-12-19 07:58:45 +01:00
xvy
25070675e5 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 95.6% (18376 of 19203 strings)
2024-12-19 07:58:44 +01:00
Daniel Stasiak
8c2870dd2f Translated using Weblate (Polish)
Currently translated at 76.8% (14760 of 19203 strings)
2024-12-19 07:58:43 +01:00
Nut.andor
94f93391d0 dev version 2024-12-19 00:27:39 +01:00
Nut.andor
297c6fad79 map_cavewall_3 2024-12-19 00:25:48 +01:00
Mateusz Mendel
fb3ccfa95c Translated using Weblate (Polish)
Currently translated at 76.8% (14760 of 19203 strings)
2024-12-18 21:54:00 +01:00
Daniel Stasiak
30ef789bf8 Translated using Weblate (Polish)
Currently translated at 76.8% (14760 of 19203 strings)
2024-12-18 21:53:59 +01:00
Daniel Stasiak
a68721b89d Translated using Weblate (Polish)
Currently translated at 76.8% (14758 of 19203 strings)
2024-12-18 21:27:18 +01:00
Mateusz Mendel
b49dbea3c0 Translated using Weblate (Polish)
Currently translated at 76.8% (14758 of 19203 strings)
2024-12-18 21:27:18 +01:00
Mateusz Mendel
49b2d75d30 Translated using Weblate (Polish)
Currently translated at 76.8% (14757 of 19203 strings)
2024-12-18 21:26:29 +01:00
Daniel Stasiak
fd46024890 Translated using Weblate (Polish)
Currently translated at 76.8% (14757 of 19203 strings)
2024-12-18 21:26:29 +01:00
Mateusz Mendel
a6e1e8c5f3 Translated using Weblate (Polish)
Currently translated at 76.8% (14756 of 19203 strings)
2024-12-18 21:23:47 +01:00
xvy
dd786d561d Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (612 of 612 strings)
2024-12-18 21:00:25 +01:00
aircqsj
e4d395ff2f Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 95.6% (18367 of 19203 strings)
2024-12-18 21:00:23 +01:00
Daniel Stasiak
41bfd3186d Translated using Weblate (Polish)
Currently translated at 76.8% (14755 of 19203 strings)
2024-12-18 21:00:21 +01:00
Nut.andor
acdded3d97 next version 2024-12-18 00:44:57 +01:00
Mateusz Mendel
08992142ae Translated using Weblate (Polish)
Currently translated at 76.8% (14755 of 19203 strings)
2024-12-17 20:47:42 +01:00
Daniel Stasiak
89736c1dd2 Translated using Weblate (Polish)
Currently translated at 76.8% (14755 of 19203 strings)
2024-12-17 20:47:42 +01:00
Mateusz Mendel
469ee9435d Translated using Weblate (Polish)
Currently translated at 76.8% (14750 of 19203 strings)
2024-12-17 19:58:04 +01:00
Daniel Stasiak
8fcdb29078 Translated using Weblate (Polish)
Currently translated at 76.8% (14750 of 19203 strings)
2024-12-17 19:58:04 +01:00
Mateusz Mendel
ac861ff575 Translated using Weblate (Polish)
Currently translated at 76.8% (14749 of 19203 strings)
2024-12-17 17:28:44 +01:00
Daniel Stasiak
5be353d52c Translated using Weblate (Polish)
Currently translated at 76.8% (14749 of 19203 strings)
2024-12-17 17:28:43 +01:00
Daniel Stasiak
3f27b198ed Translated using Weblate (Polish)
Currently translated at 76.8% (14748 of 19203 strings)
2024-12-17 17:27:29 +01:00
Mateusz Mendel
24cbbd1149 Translated using Weblate (Polish)
Currently translated at 76.8% (14748 of 19203 strings)
2024-12-17 17:27:28 +01:00
Mateusz Mendel
68b495b753 Translated using Weblate (Polish)
Currently translated at 76.7% (14747 of 19203 strings)
2024-12-17 17:25:42 +01:00
Daniel Stasiak
47959f28a8 Translated using Weblate (Polish)
Currently translated at 76.7% (14747 of 19203 strings)
2024-12-17 17:25:42 +01:00
Daniel Stasiak
2f0c0cd3f6 Translated using Weblate (Polish)
Currently translated at 76.7% (14746 of 19203 strings)
2024-12-17 17:24:40 +01:00
Mateusz Mendel
da9b758f13 Translated using Weblate (Polish)
Currently translated at 76.7% (14746 of 19203 strings)
2024-12-17 17:24:40 +01:00
xvy
b141bc0ded Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (612 of 612 strings)
2024-12-17 17:19:14 +01:00
Ricky Tigg
5943ef866d Translated using Weblate (Finnish)
Currently translated at 6.8% (42 of 612 strings)
2024-12-17 17:19:14 +01:00
xvy
394f10be06 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 95.4% (18330 of 19203 strings)
2024-12-17 17:19:14 +01:00
Mateusz Mendel
2ee59101ef Translated using Weblate (Polish)
Currently translated at 76.7% (14745 of 19203 strings)
2024-12-17 17:19:12 +01:00
Daniel Stasiak
c1e250d801 Translated using Weblate (Polish)
Currently translated at 76.7% (14745 of 19203 strings)
2024-12-17 17:19:11 +01:00
Nut.andor
ad25c04cb2 translations 2024-12-17 00:52:12 +01:00
Nut.andor
c4fc48b1da translations 2024-12-17 00:46:40 +01:00
Nut.andor
9bce4f98fb Merge branch 'v0.8.12.1' 2024-12-16 23:58:39 +01:00
Nut.andor
4e0ead101d licence 2024-12-16 23:56:51 +01:00
Nut.andor
339ce72b53 mo 2024-12-16 23:47:34 +01:00
Nut.andor
d5a09c33c2 potc 2024-12-16 23:41:13 +01:00
Nut.andor
4e7a361271 content next_release 2024-12-16 23:25:08 +01:00
Nut.andor
613d521adf version, copyright until 2025 2024-12-16 23:22:14 +01:00
Mateusz Mendel
493014e350 Translated using Weblate (Polish)
Currently translated at 76.7% (14735 of 19195 strings)
2024-12-16 23:11:13 +01:00
Daniel Stasiak
7c1996b02b Translated using Weblate (Polish)
Currently translated at 76.7% (14735 of 19195 strings)
2024-12-16 23:11:13 +01:00
Mateusz Mendel
abe7200237 Translated using Weblate (Polish)
Currently translated at 76.7% (14734 of 19195 strings)
2024-12-16 20:18:58 +01:00
Daniel Stasiak
3d1d586224 Translated using Weblate (Polish)
Currently translated at 76.7% (14734 of 19195 strings)
2024-12-16 20:18:58 +01:00
Mateusz Mendel
e8abd8a66e Translated using Weblate (Polish)
Currently translated at 76.7% (14733 of 19195 strings)
2024-12-16 20:18:27 +01:00
Daniel Stasiak
8629fd4be9 Translated using Weblate (Polish)
Currently translated at 76.7% (14733 of 19195 strings)
2024-12-16 20:18:27 +01:00
Mateusz Mendel
05d3c4ab0b Translated using Weblate (Polish)
Currently translated at 76.7% (14732 of 19195 strings)
2024-12-16 20:07:03 +01:00
Mateusz Mendel
5bd303eb05 Translated using Weblate (Polish)
Currently translated at 76.7% (14731 of 19195 strings)
2024-12-16 20:06:20 +01:00
Daniel Stasiak
a8d7140e0d Translated using Weblate (Polish)
Currently translated at 76.7% (14731 of 19195 strings)
2024-12-16 20:06:19 +01:00
Mateusz Mendel
16a4be63e3 Translated using Weblate (Polish)
Currently translated at 76.7% (14730 of 19195 strings)
2024-12-16 20:05:44 +01:00
Daniel Stasiak
7c3a3b6eb2 Translated using Weblate (Polish)
Currently translated at 76.7% (14730 of 19195 strings)
2024-12-16 20:05:44 +01:00
Mateusz Mendel
af655ea2a3 Translated using Weblate (Polish)
Currently translated at 76.7% (14729 of 19195 strings)
2024-12-16 20:05:06 +01:00
Daniel Stasiak
ed7cb17370 Translated using Weblate (Polish)
Currently translated at 76.7% (14729 of 19195 strings)
2024-12-16 20:05:06 +01:00
xvy
0d7207ae29 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 95.4% (18328 of 19195 strings)
2024-12-16 20:02:49 +01:00
Mateusz Mendel
60be50a75a Translated using Weblate (Polish)
Currently translated at 76.7% (14728 of 19195 strings)
2024-12-16 20:02:48 +01:00
xvy
619c60c402 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 95.4% (18326 of 19195 strings)
2024-12-16 14:27:19 +01:00
Daniel Stasiak
d45bf048eb Translated using Weblate (Polish)
Currently translated at 76.7% (14727 of 19195 strings)
2024-12-16 14:27:17 +01:00
Nut.andor
8e9b1cee73 v0.8.12.1 2024-12-16 01:39:53 +01:00
Nut.andor
9679580b1e monsters_johny 2024-12-15 23:55:07 +01:00
Daniel Stasiak
1b37a12dc4 Translated using Weblate (Polish)
Currently translated at 76.7% (14727 of 19195 strings)
2024-12-15 21:47:24 +01:00
Mateusz Mendel
f5813f4897 Translated using Weblate (Polish)
Currently translated at 76.7% (14727 of 19195 strings)
2024-12-15 21:47:23 +01:00
Mateusz Mendel
e23ba310c5 Translated using Weblate (Polish)
Currently translated at 76.7% (14726 of 19195 strings)
2024-12-15 21:44:19 +01:00
Daniel Stasiak
65459a8c28 Translated using Weblate (Polish)
Currently translated at 76.7% (14726 of 19195 strings)
2024-12-15 21:44:19 +01:00
Mateusz Mendel
61ff33f6eb Translated using Weblate (Polish)
Currently translated at 76.7% (14725 of 19195 strings)
2024-12-15 21:43:16 +01:00
Daniel Stasiak
c94a220f1d Translated using Weblate (Polish)
Currently translated at 76.7% (14725 of 19195 strings)
2024-12-15 21:43:16 +01:00
Mateusz Mendel
342673ee60 Translated using Weblate (Polish)
Currently translated at 76.7% (14724 of 19195 strings)
2024-12-15 21:40:42 +01:00
Daniel Stasiak
e2a4b1575a Translated using Weblate (Polish)
Currently translated at 76.7% (14724 of 19195 strings)
2024-12-15 21:40:42 +01:00
Mateusz Mendel
a5fb4d8761 Translated using Weblate (Polish)
Currently translated at 76.7% (14723 of 19195 strings)
2024-12-15 21:31:31 +01:00
Daniel Stasiak
dfa31e8501 Translated using Weblate (Polish)
Currently translated at 76.7% (14723 of 19195 strings)
2024-12-15 21:31:30 +01:00
Mateusz Mendel
2603a0454a Translated using Weblate (Polish)
Currently translated at 76.6% (14722 of 19195 strings)
2024-12-15 21:26:16 +01:00
Daniel Stasiak
e7526d56ec Translated using Weblate (Polish)
Currently translated at 76.6% (14722 of 19195 strings)
2024-12-15 21:26:15 +01:00
Daniel Stasiak
6bd38fcfc1 Translated using Weblate (Polish)
Currently translated at 76.6% (14721 of 19195 strings)
2024-12-15 21:24:14 +01:00
Mateusz Mendel
a10d781d4b Translated using Weblate (Polish)
Currently translated at 76.6% (14721 of 19195 strings)
2024-12-15 21:24:14 +01:00
Mateusz Mendel
3c8d66b0cd Translated using Weblate (Polish)
Currently translated at 76.6% (14720 of 19195 strings)
2024-12-15 21:23:17 +01:00
Daniel Stasiak
bb36bbaca6 Translated using Weblate (Polish)
Currently translated at 76.6% (14720 of 19195 strings)
2024-12-15 21:23:17 +01:00
Mateusz Mendel
6f2ca0edc5 Translated using Weblate (Polish)
Currently translated at 76.6% (14719 of 19195 strings)
2024-12-15 21:20:23 +01:00
Daniel Stasiak
1ddc1ca6ef Translated using Weblate (Polish)
Currently translated at 76.6% (14719 of 19195 strings)
2024-12-15 21:20:23 +01:00
Mateusz Mendel
c6a89e52b0 Translated using Weblate (Polish)
Currently translated at 76.6% (14718 of 19195 strings)
2024-12-15 21:19:02 +01:00
Daniel Stasiak
275492e96c Translated using Weblate (Polish)
Currently translated at 76.6% (14718 of 19195 strings)
2024-12-15 21:19:01 +01:00
Mateusz Mendel
ccccb852d0 Translated using Weblate (Polish)
Currently translated at 76.6% (14717 of 19195 strings)
2024-12-15 21:16:24 +01:00
Daniel Stasiak
2638d996e6 Translated using Weblate (Polish)
Currently translated at 76.6% (14717 of 19195 strings)
2024-12-15 21:16:24 +01:00
Mateusz Mendel
b51eb8b88e Translated using Weblate (Polish)
Currently translated at 76.6% (14716 of 19195 strings)
2024-12-15 21:14:47 +01:00
Daniel Stasiak
86858e629a Translated using Weblate (Polish)
Currently translated at 76.6% (14716 of 19195 strings)
2024-12-15 21:14:47 +01:00
Nut.andor
ed83ff3e0e Merge branch 'pulls/1829009049/80' into AT_Source_Next_Release 2024-12-15 20:49:53 +01:00
Nut.andor
a44d104368 some more potential animation freeze fixes 2024-12-15 20:46:47 +01:00
Nut.andor
4be6aff55e Merge branch 'pulls/1829009049/78' into AT_Source_Next_Release 2024-12-15 20:45:25 +01:00
Nut.andor
0e66d836c8 fix getting stuck in combat when animations are disabled 2024-12-15 20:42:26 +01:00
Nut.andor
c0b44dd808 Pull Request #80: some more potential animation freeze fixes 2024-12-15 19:59:30 +01:00
Nut.andor
600c3fee23 Pull Request #78: fix getting stuck in combat when animations are disabled 2024-12-15 19:58:03 +01:00
OMGeeky
2e2983f527 some more potential animation freeze fixes 2024-12-15 19:57:46 +01:00
Mateusz Mendel
ce3f6c683b Translated using Weblate (Polish)
Currently translated at 76.6% (14715 of 19195 strings)
2024-12-14 22:17:08 +01:00
Daniel Stasiak
54be36ded1 Translated using Weblate (Polish)
Currently translated at 76.6% (14714 of 19195 strings)
2024-12-14 19:12:33 +01:00
Mateusz Mendel
3a3ba9e15e Translated using Weblate (Polish)
Currently translated at 76.6% (14714 of 19195 strings)
2024-12-13 20:41:45 +01:00
Daniel Stasiak
f1674682ca Translated using Weblate (Polish)
Currently translated at 76.6% (14714 of 19195 strings)
2024-12-13 20:41:45 +01:00
Mateusz Mendel
4bc7b06cdf Translated using Weblate (Polish)
Currently translated at 76.6% (14713 of 19195 strings)
2024-12-13 20:33:09 +01:00
Daniel Stasiak
e50a5c8abe Translated using Weblate (Polish)
Currently translated at 76.6% (14713 of 19195 strings)
2024-12-13 20:33:08 +01:00
Daniel Stasiak
becfe04039 Translated using Weblate (Polish)
Currently translated at 76.6% (14712 of 19195 strings)
2024-12-13 20:17:38 +01:00
Mateusz Mendel
0d013f051c Translated using Weblate (Polish)
Currently translated at 76.6% (14712 of 19195 strings)
2024-12-13 20:17:38 +01:00
Daniel Stasiak
f8c47f5db2 Translated using Weblate (Polish)
Currently translated at 76.6% (14711 of 19195 strings)
2024-12-13 20:08:57 +01:00
Mateusz Mendel
44863a8cce Translated using Weblate (Polish)
Currently translated at 76.6% (14711 of 19195 strings)
2024-12-13 20:08:57 +01:00
Mateusz Mendel
50e9de92b5 Translated using Weblate (Polish)
Currently translated at 76.6% (14710 of 19195 strings)
2024-12-13 20:08:27 +01:00
Daniel Stasiak
a543c2e0c9 Translated using Weblate (Polish)
Currently translated at 76.6% (14710 of 19195 strings)
2024-12-13 20:08:27 +01:00
Daniel Stasiak
e38b8b8a62 Translated using Weblate (Polish)
Currently translated at 76.6% (14709 of 19195 strings)
2024-12-13 20:07:03 +01:00
Mateusz Mendel
2dd73a7bd7 Translated using Weblate (Polish)
Currently translated at 76.6% (14709 of 19195 strings)
2024-12-13 20:07:03 +01:00
Mateusz Mendel
9796dcf14f Translated using Weblate (Polish)
Currently translated at 76.6% (14708 of 19195 strings)
2024-12-13 20:05:24 +01:00
Mateusz Mendel
a273e3e7cc Translated using Weblate (Polish)
Currently translated at 76.6% (14707 of 19195 strings)
2024-12-13 20:04:32 +01:00
Daniel Stasiak
4c4e4b8f87 Translated using Weblate (Polish)
Currently translated at 76.6% (14707 of 19195 strings)
2024-12-13 20:04:32 +01:00
Mateusz Mendel
93a1bbe799 Translated using Weblate (Polish)
Currently translated at 76.6% (14706 of 19195 strings)
2024-12-12 22:05:36 +01:00
Daniel Stasiak
bacdc49475 Translated using Weblate (Polish)
Currently translated at 76.6% (14706 of 19195 strings)
2024-12-12 22:05:36 +01:00
Daniel Stasiak
9d8202c6c2 Translated using Weblate (Polish)
Currently translated at 76.6% (14705 of 19195 strings)
2024-12-12 22:00:41 +01:00
Mateusz Mendel
c2da850956 Translated using Weblate (Polish)
Currently translated at 76.6% (14705 of 19195 strings)
2024-12-12 22:00:40 +01:00
Daniel Stasiak
c5f455dd3d Translated using Weblate (Polish)
Currently translated at 76.6% (14704 of 19195 strings)
2024-12-12 22:00:05 +01:00
Mateusz Mendel
96eddd238c Translated using Weblate (Polish)
Currently translated at 76.6% (14704 of 19195 strings)
2024-12-12 22:00:05 +01:00
Daniel Stasiak
9024a4cb88 Translated using Weblate (Polish)
Currently translated at 76.5% (14703 of 19195 strings)
2024-12-12 21:57:07 +01:00
Mateusz Mendel
6aab08e63b Translated using Weblate (Polish)
Currently translated at 76.5% (14703 of 19195 strings)
2024-12-12 21:57:06 +01:00
Mateusz Mendel
37d9825380 Translated using Weblate (Polish)
Currently translated at 76.5% (14702 of 19195 strings)
2024-12-12 21:55:11 +01:00
Daniel Stasiak
3244a981bb Translated using Weblate (Polish)
Currently translated at 76.5% (14702 of 19195 strings)
2024-12-12 21:55:11 +01:00
Daniel Stasiak
6b85391ea5 Translated using Weblate (Polish)
Currently translated at 76.5% (14701 of 19195 strings)
2024-12-12 21:41:52 +01:00
Mateusz Mendel
076bd83f48 Translated using Weblate (Polish)
Currently translated at 76.5% (14701 of 19195 strings)
2024-12-12 21:41:52 +01:00
xvy
d89051b156 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 95.3% (18305 of 19195 strings)
2024-12-12 21:41:04 +01:00
Daniel Stasiak
f7cbeb29cd Translated using Weblate (Polish)
Currently translated at 76.5% (14700 of 19195 strings)
2024-12-12 21:41:02 +01:00
Mateusz Mendel
0e8cf13c7b Translated using Weblate (Polish)
Currently translated at 76.5% (14700 of 19195 strings)
2024-12-12 21:41:02 +01:00
Mateusz Mendel
8ec4acc5fe Translated using Weblate (Polish)
Currently translated at 76.5% (14699 of 19195 strings)
2024-12-11 21:15:07 +01:00
Daniel Stasiak
ecc4d2ef56 Translated using Weblate (Polish)
Currently translated at 76.5% (14699 of 19195 strings)
2024-12-11 21:15:07 +01:00
Mateusz Mendel
b7c367a127 Translated using Weblate (Polish)
Currently translated at 76.5% (14698 of 19195 strings)
2024-12-11 21:03:29 +01:00
Daniel Stasiak
3b29116878 Translated using Weblate (Polish)
Currently translated at 76.5% (14698 of 19195 strings)
2024-12-11 21:03:29 +01:00
xvy
c4014ca1b8 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 95.1% (18266 of 19195 strings)
2024-12-10 13:00:37 +01:00
Renamed1986
a326797635 Translated using Weblate (Russian)
Currently translated at 100.0% (19195 of 19195 strings)
2024-12-10 13:00:34 +01:00
Mateusz Mendel
82908628e1 Translated using Weblate (Polish)
Currently translated at 76.5% (14697 of 19195 strings)
2024-12-10 13:00:30 +01:00
Daniel Stasiak
9e5831bbcd Translated using Weblate (Polish)
Currently translated at 76.5% (14697 of 19195 strings)
2024-12-08 23:09:42 +01:00
Mateusz Mendel
d0eae0a787 Translated using Weblate (Polish)
Currently translated at 76.5% (14697 of 19195 strings)
2024-12-08 23:09:42 +01:00
Daniel Stasiak
6240295643 Translated using Weblate (Polish)
Currently translated at 76.5% (14696 of 19195 strings)
2024-12-08 20:28:25 +01:00
Mateusz Mendel
0ce66f250c Translated using Weblate (Polish)
Currently translated at 76.5% (14696 of 19195 strings)
2024-12-08 20:28:24 +01:00
Mateusz Mendel
1f84e9688e Translated using Weblate (Polish)
Currently translated at 76.5% (14695 of 19195 strings)
2024-12-08 20:27:43 +01:00
Daniel Stasiak
864a2de665 Translated using Weblate (Polish)
Currently translated at 76.5% (14695 of 19195 strings)
2024-12-08 20:27:43 +01:00
Mateusz Mendel
b0365a4fb3 Translated using Weblate (Polish)
Currently translated at 76.5% (14694 of 19195 strings)
2024-12-08 16:47:40 +01:00
Daniel Stasiak
52b0f50813 Translated using Weblate (Polish)
Currently translated at 76.5% (14694 of 19195 strings)
2024-12-08 16:47:39 +01:00
Mateusz Mendel
4ae7c7e9b6 Translated using Weblate (Polish)
Currently translated at 76.5% (14693 of 19195 strings)
2024-12-08 16:45:02 +01:00
Daniel Stasiak
1c525cafc0 Translated using Weblate (Polish)
Currently translated at 76.5% (14693 of 19195 strings)
2024-12-08 16:45:02 +01:00
Daniel Stasiak
306089c2cf Translated using Weblate (Polish)
Currently translated at 76.5% (14692 of 19195 strings)
2024-12-08 16:43:20 +01:00
Mateusz Mendel
432149f832 Translated using Weblate (Polish)
Currently translated at 76.5% (14692 of 19195 strings)
2024-12-08 16:43:20 +01:00
Kanoero
835a3a2de9 Translated using Weblate (Spanish)
Currently translated at 74.4% (14290 of 19195 strings)
2024-12-08 16:43:19 +01:00
Daniel Stasiak
d778703497 Translated using Weblate (Polish)
Currently translated at 76.5% (14691 of 19195 strings)
2024-12-08 16:21:26 +01:00
Mateusz Mendel
dd1fd5c99a Translated using Weblate (Polish)
Currently translated at 76.5% (14691 of 19195 strings)
2024-12-08 16:21:26 +01:00
Kanoero
d18b9a9f4b Translated using Weblate (Spanish)
Currently translated at 74.4% (14289 of 19195 strings)
2024-12-08 16:21:25 +01:00
Mateusz Mendel
bedc4028a4 Translated using Weblate (Polish)
Currently translated at 76.5% (14690 of 19195 strings)
2024-12-08 16:19:14 +01:00
Daniel Stasiak
bf139e00b8 Translated using Weblate (Polish)
Currently translated at 76.5% (14690 of 19195 strings)
2024-12-08 16:19:14 +01:00
Kanoero
12c409723a Translated using Weblate (Spanish)
Currently translated at 74.4% (14284 of 19195 strings)
2024-12-08 16:19:12 +01:00
Mateusz Mendel
c098baee3d Translated using Weblate (Polish)
Currently translated at 76.5% (14689 of 19195 strings)
2024-12-08 16:18:00 +01:00
Daniel Stasiak
eda9cadfb2 Translated using Weblate (Polish)
Currently translated at 76.5% (14689 of 19195 strings)
2024-12-08 16:18:00 +01:00
Kanoero
b30c118ed2 Translated using Weblate (Spanish)
Currently translated at 74.4% (14283 of 19195 strings)
2024-12-08 16:17:59 +01:00
Mateusz Mendel
c409f95440 Translated using Weblate (Polish)
Currently translated at 76.5% (14688 of 19195 strings)
2024-12-08 16:16:35 +01:00
Daniel Stasiak
c49cf502e2 Translated using Weblate (Polish)
Currently translated at 76.5% (14688 of 19195 strings)
2024-12-08 16:16:34 +01:00
Kanoero
7de790a43c Translated using Weblate (Spanish)
Currently translated at 74.3% (14280 of 19195 strings)
2024-12-08 16:16:33 +01:00
Daniel Stasiak
e63ae7f231 Translated using Weblate (Polish)
Currently translated at 76.5% (14687 of 19195 strings)
2024-12-08 16:15:44 +01:00
Mateusz Mendel
a42cc9848f Translated using Weblate (Polish)
Currently translated at 76.5% (14687 of 19195 strings)
2024-12-08 16:15:43 +01:00
Kanoero
14011b2512 Translated using Weblate (Spanish)
Currently translated at 74.3% (14277 of 19195 strings)
2024-12-08 16:15:42 +01:00
Daniel Stasiak
0a14d737d6 Translated using Weblate (Polish)
Currently translated at 76.5% (14686 of 19195 strings)
2024-12-08 16:13:46 +01:00
Mateusz Mendel
a23e6e3961 Translated using Weblate (Polish)
Currently translated at 76.5% (14686 of 19195 strings)
2024-12-08 16:13:46 +01:00
Daniel Stasiak
0af2e2bb47 Translated using Weblate (Polish)
Currently translated at 76.5% (14685 of 19195 strings)
2024-12-08 16:09:45 +01:00
Mateusz Mendel
b24339d5bf Translated using Weblate (Polish)
Currently translated at 76.5% (14685 of 19195 strings)
2024-12-08 16:09:45 +01:00
Mateusz Mendel
13dbe214e8 Translated using Weblate (Polish)
Currently translated at 76.4% (14684 of 19195 strings)
2024-12-08 16:05:01 +01:00
Daniel Stasiak
30c34aa23a Translated using Weblate (Polish)
Currently translated at 76.4% (14684 of 19195 strings)
2024-12-08 16:05:01 +01:00
Daniel Stasiak
dc3b6e8a9a Translated using Weblate (Polish)
Currently translated at 76.4% (14683 of 19195 strings)
2024-12-08 16:01:08 +01:00
Mateusz Mendel
0440de6040 Translated using Weblate (Polish)
Currently translated at 76.4% (14683 of 19195 strings)
2024-12-08 16:01:07 +01:00
Daniel Stasiak
049b4923c5 Translated using Weblate (Polish)
Currently translated at 76.4% (14682 of 19195 strings)
2024-12-08 15:56:25 +01:00
Mateusz Mendel
729745d9b7 Translated using Weblate (Polish)
Currently translated at 76.4% (14682 of 19195 strings)
2024-12-08 15:56:24 +01:00
Daniel Stasiak
1ea442978c Translated using Weblate (Polish)
Currently translated at 76.4% (14681 of 19195 strings)
2024-12-08 15:54:51 +01:00
Mateusz Mendel
ee8fc07bd5 Translated using Weblate (Polish)
Currently translated at 76.4% (14681 of 19195 strings)
2024-12-08 15:54:51 +01:00
Mateusz Mendel
53942408fe Translated using Weblate (Polish)
Currently translated at 76.4% (14680 of 19195 strings)
2024-12-08 15:51:46 +01:00
Daniel Stasiak
da3600c64e Translated using Weblate (Polish)
Currently translated at 76.4% (14680 of 19195 strings)
2024-12-08 15:51:46 +01:00
Kanoero
b6b59156c8 Translated using Weblate (Spanish)
Currently translated at 74.3% (14275 of 19195 strings)
2024-12-08 15:51:45 +01:00
Daniel Stasiak
0ba4b4e986 Translated using Weblate (Polish)
Currently translated at 76.4% (14679 of 19195 strings)
2024-12-08 13:26:48 +01:00
Mateusz Mendel
84d9e84819 Translated using Weblate (Polish)
Currently translated at 76.4% (14679 of 19195 strings)
2024-12-08 13:26:47 +01:00
xvy
9d766567ed Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 95.0% (18236 of 19195 strings)
2024-12-08 13:23:34 +01:00
Mateusz Mendel
7bcabc2b8a Translated using Weblate (Polish)
Currently translated at 76.4% (14678 of 19195 strings)
2024-12-08 13:23:32 +01:00
Daniel Stasiak
0a4fa6a66c Translated using Weblate (Polish)
Currently translated at 76.4% (14678 of 19195 strings)
2024-12-08 13:23:32 +01:00
xvy
ce3e0abfb1 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 94.9% (18235 of 19195 strings)
2024-12-08 12:42:57 +01:00
Mateusz Mendel
b77fd7b6b8 Translated using Weblate (Polish)
Currently translated at 76.4% (14677 of 19195 strings)
2024-12-08 12:42:55 +01:00
Daniel Stasiak
9e4633ddc9 Translated using Weblate (Polish)
Currently translated at 76.4% (14677 of 19195 strings)
2024-12-08 12:42:55 +01:00
xvy
a18ffd913f Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 94.9% (18231 of 19195 strings)
2024-12-08 11:32:35 +01:00
Mateusz Mendel
8fe35fb802 Translated using Weblate (Polish)
Currently translated at 76.4% (14674 of 19195 strings)
2024-12-08 11:32:33 +01:00
Daniel Stasiak
6080a5c667 Translated using Weblate (Polish)
Currently translated at 76.4% (14674 of 19195 strings)
2024-12-08 11:32:33 +01:00
Daniel Stasiak
5da0007e34 Translated using Weblate (Polish)
Currently translated at 76.4% (14670 of 19195 strings)
2024-12-07 19:12:24 +01:00
Kanoero
948c7eab32 Translated using Weblate (Spanish)
Currently translated at 74.3% (14266 of 19195 strings)
2024-12-07 19:12:23 +01:00
Mateusz Mendel
77c228f4d7 Translated using Weblate (Polish)
Currently translated at 76.4% (14670 of 19195 strings)
2024-12-07 16:37:53 +01:00
Filip
fdeba4db23 Translated using Weblate (Polish)
Currently translated at 76.4% (14669 of 19195 strings)
2024-12-07 10:01:06 +00:00
Daniel Stasiak
0ab3237f41 Translated using Weblate (Polish)
Currently translated at 76.4% (14669 of 19195 strings)
2024-12-07 10:01:05 +00:00
Filip
4045acadbf Translated using Weblate (Polish)
Currently translated at 76.4% (14669 of 19195 strings)
2024-12-05 23:00:26 +00:00
Daniel Stasiak
de4d1013ca Translated using Weblate (Polish)
Currently translated at 76.4% (14669 of 19195 strings)
2024-12-05 23:00:24 +00:00
Filip
72957d74c6 Translated using Weblate (Polish)
Currently translated at 100.0% (612 of 612 strings)
2024-12-05 23:00:22 +00:00
Daniel Stasiak
48ec4290f9 Translated using Weblate (Polish)
Currently translated at 76.4% (14669 of 19195 strings)
2024-12-04 21:05:18 +01:00
Daniel Stasiak
5f98f09924 Translated using Weblate (Polish)
Currently translated at 76.4% (14669 of 19195 strings)
2024-12-03 18:10:41 +01:00
Daniel Stasiak
b2099b24ef Translated using Weblate (Polish)
Currently translated at 76.4% (14669 of 19195 strings)
2024-12-03 15:00:29 +01:00
Renamed1986
31c309e25c Translated using Weblate (Russian)
Currently translated at 100.0% (19195 of 19195 strings)
2024-12-02 14:34:39 +01:00
Mateusz Mendel
0294078887 Translated using Weblate (Polish)
Currently translated at 76.4% (14669 of 19195 strings)
2024-12-02 14:34:38 +01:00
Daniel Stasiak
dc8e933fc1 Translated using Weblate (Polish)
Currently translated at 76.4% (14669 of 19195 strings)
2024-12-02 14:34:38 +01:00
தமிழ்நேரம்
f84939d540 Translated using Weblate (Tamil)
Currently translated at 100.0% (612 of 612 strings)
2024-12-01 20:00:40 +01:00
தமிழ்நேரம்
a635cd9124 Translated using Weblate (Tamil)
Currently translated at 100.0% (19194 of 19194 strings)
2024-12-01 20:00:39 +01:00
Renamed1986
7551af1ef3 Translated using Weblate (Russian)
Currently translated at 100.0% (19195 of 19195 strings)
2024-12-01 20:00:21 +01:00
Renamed1986
9ed794211b Translated using Weblate (Russian)
Currently translated at 100.0% (612 of 612 strings)
2024-12-01 20:00:20 +01:00
தமிழ்நேரம்
34a21a117d Translated using Weblate (Tamil)
Currently translated at 99.8% (611 of 612 strings)
2024-11-30 19:21:49 +01:00
தமிழ்நேரம்
7d67052e5b Translated using Weblate (Tamil)
Currently translated at 94.4% (18122 of 19194 strings)
2024-11-30 19:21:43 +01:00
Renamed1986
c9afe544f6 Translated using Weblate (Russian)
Currently translated at 99.4% (19088 of 19195 strings)
2024-11-30 19:21:06 +01:00
தமிழ்நேரம்
712b358dca Translated using Weblate (Tamil)
Currently translated at 53.6% (10288 of 19194 strings)
2024-11-30 04:04:04 +01:00
Daniel Stasiak
9a1cc68e9b Translated using Weblate (Polish)
Currently translated at 76.3% (14661 of 19195 strings)
2024-11-30 04:03:47 +01:00
Mateusz Mendel
ae26fff462 Translated using Weblate (Polish)
Currently translated at 76.3% (14661 of 19195 strings)
2024-11-29 22:40:33 +01:00
Daniel Stasiak
99c2c91320 Translated using Weblate (Polish)
Currently translated at 76.3% (14661 of 19195 strings)
2024-11-29 22:40:33 +01:00
Mateusz Mendel
63c6433182 Translated using Weblate (Polish)
Currently translated at 76.3% (14660 of 19195 strings)
2024-11-29 22:38:42 +01:00
Daniel Stasiak
6e550282c3 Translated using Weblate (Polish)
Currently translated at 76.3% (14660 of 19195 strings)
2024-11-29 22:38:41 +01:00
Daniel Stasiak
74cdcc35eb Translated using Weblate (Polish)
Currently translated at 76.3% (14659 of 19195 strings)
2024-11-29 22:17:17 +01:00
Mateusz Mendel
bbad939e48 Translated using Weblate (Polish)
Currently translated at 76.3% (14659 of 19195 strings)
2024-11-29 22:17:17 +01:00
Daniel Stasiak
b71bbbaa31 Translated using Weblate (Polish)
Currently translated at 76.3% (14658 of 19195 strings)
2024-11-29 22:04:07 +01:00
Mateusz Mendel
4dd86f9091 Translated using Weblate (Polish)
Currently translated at 76.3% (14658 of 19195 strings)
2024-11-29 22:04:06 +01:00
Mateusz Mendel
95d93bb95c Translated using Weblate (Polish)
Currently translated at 76.3% (14657 of 19195 strings)
2024-11-29 21:57:57 +01:00
Daniel Stasiak
7f4e97905e Translated using Weblate (Polish)
Currently translated at 76.3% (14657 of 19195 strings)
2024-11-29 21:57:57 +01:00
Mateusz Mendel
0ebfd13818 Translated using Weblate (Polish)
Currently translated at 76.3% (14656 of 19195 strings)
2024-11-29 21:56:37 +01:00
Daniel Stasiak
b1d24ec3a6 Translated using Weblate (Polish)
Currently translated at 76.3% (14656 of 19195 strings)
2024-11-29 21:56:37 +01:00
Renamed1986
80021fc4b4 Translated using Weblate (Russian)
Currently translated at 98.8% (18975 of 19195 strings)
2024-11-29 21:55:04 +01:00
Daniel Stasiak
fd9ba71635 Translated using Weblate (Polish)
Currently translated at 76.3% (14655 of 19195 strings)
2024-11-29 21:55:03 +01:00
Mateusz Mendel
4f1cfcfc16 Translated using Weblate (Polish)
Currently translated at 76.3% (14655 of 19195 strings)
2024-11-29 21:55:02 +01:00
Renamed1986
e4af9b137f Translated using Weblate (Russian)
Currently translated at 98.5% (18926 of 19195 strings)
2024-11-29 20:36:24 +01:00
Mateusz Mendel
1c20a251d1 Translated using Weblate (Polish)
Currently translated at 76.3% (14654 of 19195 strings)
2024-11-29 20:36:24 +01:00
Daniel Stasiak
74b24fc1cf Translated using Weblate (Polish)
Currently translated at 76.3% (14654 of 19195 strings)
2024-11-29 20:36:23 +01:00
Daniel Stasiak
e9e49d6b5f Translated using Weblate (Polish)
Currently translated at 76.3% (14653 of 19195 strings)
2024-11-29 20:21:11 +01:00
Mateusz Mendel
d9e643c74d Translated using Weblate (Polish)
Currently translated at 76.3% (14653 of 19195 strings)
2024-11-29 20:21:10 +01:00
தமிழ்நேரம்
af1acf6242 Translated using Weblate (Tamil)
Currently translated at 17.2% (3317 of 19194 strings)
2024-11-29 20:15:58 +01:00
Mateusz Mendel
fbcc9cfbc9 Translated using Weblate (Polish)
Currently translated at 76.3% (14652 of 19195 strings)
2024-11-29 20:15:45 +01:00
Daniel Stasiak
45a5796aa5 Translated using Weblate (Polish)
Currently translated at 76.3% (14652 of 19195 strings)
2024-11-29 20:15:44 +01:00
Daniel Stasiak
4214186be6 Translated using Weblate (Polish)
Currently translated at 76.3% (14651 of 19195 strings)
2024-11-29 09:02:41 +01:00
Mateusz Mendel
5760a3215f Translated using Weblate (Polish)
Currently translated at 76.3% (14651 of 19195 strings)
2024-11-29 03:25:07 +01:00
தமிழ்நேரம்
19e63a1452 Added translation using Weblate (Tamil) 2024-11-29 03:20:17 +01:00
Daniel Stasiak
f4eaf5009d Translated using Weblate (Polish)
Currently translated at 76.3% (14650 of 19195 strings)
2024-11-29 03:20:06 +01:00
Daniel Stasiak
d5e3211f56 Translated using Weblate (Polish)
Currently translated at 76.3% (14650 of 19195 strings)
2024-11-29 03:18:46 +01:00
Mateusz Mendel
dcdd747f9a Translated using Weblate (Polish)
Currently translated at 76.3% (14650 of 19195 strings)
2024-11-29 03:18:46 +01:00
Mateusz Mendel
dc010dffd2 Translated using Weblate (Polish)
Currently translated at 76.3% (14649 of 19195 strings)
2024-11-29 03:10:36 +01:00
Daniel Stasiak
b5ec8028ab Translated using Weblate (Polish)
Currently translated at 76.3% (14649 of 19195 strings)
2024-11-29 03:10:36 +01:00
Daniel Stasiak
c4261edbe9 Translated using Weblate (Polish)
Currently translated at 76.3% (14648 of 19195 strings)
2024-11-29 03:00:32 +01:00
Mateusz Mendel
d5ae67a609 Translated using Weblate (Polish)
Currently translated at 76.3% (14648 of 19195 strings)
2024-11-29 03:00:32 +01:00
Renamed1986
ae17446a71 Translated using Weblate (Russian)
Currently translated at 98.5% (18925 of 19195 strings)
2024-11-29 02:35:20 +01:00
Greg
e47c43298c Translated using Weblate (Polish)
Currently translated at 76.3% (14646 of 19195 strings)
2024-11-29 02:35:11 +01:00
Daniel Stasiak
b0729b9f14 Translated using Weblate (Polish)
Currently translated at 76.3% (14646 of 19195 strings)
2024-11-29 02:35:11 +01:00
Renamed1986
fbf5c4a43f Translated using Weblate (Russian)
Currently translated at 98.3% (18884 of 19195 strings)
2024-11-28 21:04:44 +01:00
Mateusz Mendel
a03544cac4 Translated using Weblate (Polish)
Currently translated at 76.2% (14645 of 19195 strings)
2024-11-28 21:04:43 +01:00
Greg
34c64bc7b2 Translated using Weblate (Polish)
Currently translated at 76.2% (14645 of 19195 strings)
2024-11-28 21:04:43 +01:00
Daniel Stasiak
aa4297c290 Translated using Weblate (Polish)
Currently translated at 76.2% (14645 of 19195 strings)
2024-11-28 21:04:42 +01:00
Renamed1986
b51ab87986 Translated using Weblate (Russian)
Currently translated at 97.9% (18795 of 19195 strings)
2024-11-27 23:00:37 +01:00
Daniel Stasiak
71e99e7d33 Translated using Weblate (Polish)
Currently translated at 76.2% (14638 of 19195 strings)
2024-11-27 23:00:35 +01:00
Mateusz Mendel
4921a15f75 Translated using Weblate (Polish)
Currently translated at 76.2% (14638 of 19195 strings)
2024-11-26 22:10:29 +01:00
Daniel Stasiak
e2f6169576 Translated using Weblate (Polish)
Currently translated at 76.2% (14638 of 19195 strings)
2024-11-26 22:10:29 +01:00
Mateusz Mendel
91cc24a6d7 Translated using Weblate (Polish)
Currently translated at 76.2% (14637 of 19195 strings)
2024-11-26 22:08:02 +01:00
Daniel Stasiak
c372d88f01 Translated using Weblate (Polish)
Currently translated at 76.2% (14637 of 19195 strings)
2024-11-26 22:08:02 +01:00
Renamed1986
992aeaf1b1 Translated using Weblate (Russian)
Currently translated at 97.5% (18724 of 19195 strings)
2024-11-26 21:30:19 +01:00
Daniel Stasiak
469dbf0850 Translated using Weblate (Polish)
Currently translated at 76.2% (14636 of 19195 strings)
2024-11-26 21:30:18 +01:00
gmkeebiy
57c16b5081 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 94.9% (18231 of 19195 strings)
2024-11-26 08:56:44 +01:00
Daniel Stasiak
35da35512c Translated using Weblate (Polish)
Currently translated at 76.2% (14636 of 19195 strings)
2024-11-26 08:56:43 +01:00
Than
d1c2e582bf Translated using Weblate (Vietnamese)
Currently translated at 2.0% (401 of 19194 strings)
2024-11-25 21:00:34 +01:00
sprin
44a423297a Translated using Weblate (Catalan)
Currently translated at 13.4% (2580 of 19195 strings)
2024-11-25 21:00:32 +01:00
Renamed1986
81bc3ff6a0 Translated using Weblate (Russian)
Currently translated at 97.4% (18707 of 19195 strings)
2024-11-25 21:00:29 +01:00
Daniel Stasiak
17db1d77e6 Translated using Weblate (Polish)
Currently translated at 76.2% (14636 of 19195 strings)
2024-11-25 21:00:26 +01:00
Vi Quang Thanh
476c1f0688 Translated using Weblate (Vietnamese)
Currently translated at 99.5% (609 of 612 strings)
2024-11-24 20:00:28 +01:00
Vi Quang Thanh
530da597bb Translated using Weblate (Vietnamese)
Currently translated at 2.0% (391 of 19194 strings)
2024-11-24 20:00:26 +01:00
Renamed1986
cd1650da2b Translated using Weblate (Russian)
Currently translated at 97.0% (18626 of 19195 strings)
2024-11-24 20:00:25 +01:00
Daniel Stasiak
f6c608f95e Translated using Weblate (Polish)
Currently translated at 76.2% (14632 of 19195 strings)
2024-11-24 20:00:21 +01:00
Renamed1986
1a0d02c1b1 Translated using Weblate (Russian)
Currently translated at 100.0% (612 of 612 strings)
2024-11-24 20:00:19 +01:00
Renamed1986
84aa4c3637 Translated using Weblate (Russian)
Currently translated at 94.9% (18225 of 19195 strings)
2024-11-23 19:12:55 +01:00
Daniel Stasiak
e4467d006a Translated using Weblate (Polish)
Currently translated at 76.2% (14632 of 19195 strings)
2024-11-23 19:12:54 +01:00
Kanoero
f66685533e Translated using Weblate (Spanish)
Currently translated at 73.9% (14195 of 19195 strings)
2024-11-23 19:12:52 +01:00
Renamed1986
8271d76a61 Translated using Weblate (Russian)
Currently translated at 99.6% (610 of 612 strings)
2024-11-23 19:12:51 +01:00
Mateusz Mendel
e9b46bea86 Translated using Weblate (Polish)
Currently translated at 76.2% (14632 of 19195 strings)
2024-11-22 22:54:44 +01:00
Daniel Stasiak
c9b21f8af8 Translated using Weblate (Polish)
Currently translated at 76.2% (14632 of 19195 strings)
2024-11-22 22:54:44 +01:00
Daniel Stasiak
6499d247f8 Translated using Weblate (Polish)
Currently translated at 76.2% (14631 of 19195 strings)
2024-11-22 22:39:40 +01:00
Mateusz Mendel
90fdce0759 Translated using Weblate (Polish)
Currently translated at 76.2% (14631 of 19195 strings)
2024-11-22 22:39:40 +01:00
Daniel Stasiak
2a4de617b8 Translated using Weblate (Polish)
Currently translated at 76.2% (14630 of 19195 strings)
2024-11-22 22:33:19 +01:00
Mateusz Mendel
c368190ceb Translated using Weblate (Polish)
Currently translated at 76.2% (14630 of 19195 strings)
2024-11-22 22:33:19 +01:00
Daniel Stasiak
66aea0b0cb Translated using Weblate (Polish)
Currently translated at 76.2% (14629 of 19195 strings)
2024-11-22 22:27:47 +01:00
Mateusz Mendel
328eea4fbb Translated using Weblate (Polish)
Currently translated at 76.2% (14629 of 19195 strings)
2024-11-22 22:27:47 +01:00
Mateusz Mendel
d73cde51a7 Translated using Weblate (Polish)
Currently translated at 76.2% (14627 of 19195 strings)
2024-11-22 09:07:53 +01:00
Daniel Stasiak
9a70eb3d6c Translated using Weblate (Polish)
Currently translated at 76.2% (14627 of 19195 strings)
2024-11-22 09:07:52 +01:00
Mateusz Mendel
3d0bfa15ba Translated using Weblate (Polish)
Currently translated at 76.1% (14625 of 19195 strings)
2024-11-22 09:00:58 +01:00
Nut.andor
4f3fc4b4d3 Revert "fix walkable"
This reverts commit 76fc648a5f.
2024-11-21 23:17:30 +01:00
Nut.andor
76fc648a5f fix walkable 2024-11-21 23:16:32 +01:00
Daniel Stasiak
2c0b9d699e Translated using Weblate (Polish)
Currently translated at 76.1% (14624 of 19195 strings)
2024-11-21 21:52:58 +01:00
xvy
b4710cf7bf Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (612 of 612 strings)
2024-11-21 17:30:20 +01:00
xvy
20b0910845 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 94.9% (18232 of 19195 strings)
2024-11-21 17:30:20 +01:00
Mateusz Mendel
6fb4aadb0e Translated using Weblate (Polish)
Currently translated at 76.1% (14624 of 19195 strings)
2024-11-21 17:30:19 +01:00
Daniel Stasiak
ccd4e202d2 Translated using Weblate (Polish)
Currently translated at 76.1% (14624 of 19195 strings)
2024-11-21 17:30:18 +01:00
xvy
2077e3707f Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (612 of 612 strings)
2024-11-20 21:00:26 +01:00
xvy
f37db77423 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 94.9% (18230 of 19195 strings)
2024-11-20 21:00:25 +01:00
Daniel Stasiak
5836f0bf8a Translated using Weblate (Polish)
Currently translated at 76.1% (14618 of 19195 strings)
2024-11-20 21:00:22 +01:00
Mateusz Bergmann
486c8a903c Translated using Weblate (Polish)
Currently translated at 76.1% (14618 of 19195 strings)
2024-11-20 21:00:21 +01:00
Nut.andor
5e230c4700 Merge branch 'pulls/1829009049/78' into AT_Source_Next_Release 2024-11-19 22:56:57 +01:00
Nut.andor
807b95ae38 fix getting stuck in combat when animations are disabled 2024-11-19 22:53:14 +01:00
Nut.andor
21bbdcd9ba Prepare next dev version 2024-11-19 22:26:16 +01:00
Mateusz Bergmann
a536ec0012 Translated using Weblate (Polish)
Currently translated at 76.1% (14612 of 19195 strings)
2024-11-19 20:49:48 +01:00
Daniel Stasiak
0cd5e0daf7 Translated using Weblate (Polish)
Currently translated at 76.1% (14612 of 19195 strings)
2024-11-19 20:49:48 +01:00
Daniel Stasiak
9c97207f7c Translated using Weblate (Polish)
Currently translated at 76.1% (14611 of 19195 strings)
2024-11-19 20:45:40 +01:00
Mateusz Bergmann
491b15a95a Translated using Weblate (Polish)
Currently translated at 76.1% (14611 of 19195 strings)
2024-11-19 20:45:40 +01:00
Daniel Stasiak
56d1b22f66 Translated using Weblate (Polish)
Currently translated at 76.1% (14610 of 19195 strings)
2024-11-19 20:44:23 +01:00
Mateusz Bergmann
db1605abc0 Translated using Weblate (Polish)
Currently translated at 76.1% (14610 of 19195 strings)
2024-11-19 20:44:23 +01:00
Mateusz Bergmann
0279612052 Translated using Weblate (Polish)
Currently translated at 76.1% (14609 of 19195 strings)
2024-11-19 20:43:59 +01:00
Daniel Stasiak
45a7fd5ea6 Translated using Weblate (Polish)
Currently translated at 76.1% (14609 of 19195 strings)
2024-11-19 20:43:59 +01:00
Daniel Stasiak
b52670bc44 Translated using Weblate (Polish)
Currently translated at 76.0% (14607 of 19195 strings)
2024-11-19 20:42:23 +01:00
Mateusz Bergmann
a7c34e0832 Translated using Weblate (Polish)
Currently translated at 76.0% (14607 of 19195 strings)
2024-11-19 20:42:22 +01:00
Daniel Stasiak
1fc86e9ed6 Translated using Weblate (Polish)
Currently translated at 76.0% (14606 of 19195 strings)
2024-11-19 20:41:07 +01:00
Mateusz Bergmann
619a531279 Translated using Weblate (Polish)
Currently translated at 76.0% (14606 of 19195 strings)
2024-11-19 20:41:06 +01:00
Daniel Stasiak
6562a72e55 Translated using Weblate (Polish)
Currently translated at 76.0% (14605 of 19195 strings)
2024-11-19 20:40:15 +01:00
Mateusz Bergmann
09f5292e46 Translated using Weblate (Polish)
Currently translated at 76.0% (14605 of 19195 strings)
2024-11-19 20:40:14 +01:00
Mateusz Bergmann
0d021faaed Translated using Weblate (Polish)
Currently translated at 76.0% (14604 of 19195 strings)
2024-11-19 20:36:35 +01:00
Daniel Stasiak
6c5baa93b8 Translated using Weblate (Polish)
Currently translated at 76.0% (14604 of 19195 strings)
2024-11-19 20:36:34 +01:00
Mateusz Bergmann
666f7e7c35 Translated using Weblate (Polish)
Currently translated at 76.0% (14603 of 19195 strings)
2024-11-19 17:28:37 +01:00
Daniel Stasiak
7e56886659 Translated using Weblate (Polish)
Currently translated at 76.0% (14603 of 19195 strings)
2024-11-19 17:28:36 +01:00
Daniel Stasiak
1d5513fba3 Translated using Weblate (Polish)
Currently translated at 76.0% (14602 of 19195 strings)
2024-11-19 17:27:55 +01:00
Mateusz Bergmann
76e307a836 Translated using Weblate (Polish)
Currently translated at 76.0% (14602 of 19195 strings)
2024-11-19 17:27:54 +01:00
Mateusz Bergmann
517225e30f Translated using Weblate (Polish)
Currently translated at 76.0% (14601 of 19195 strings)
2024-11-19 17:21:47 +01:00
Daniel Stasiak
c49fc826af Translated using Weblate (Polish)
Currently translated at 76.0% (14601 of 19195 strings)
2024-11-19 17:21:47 +01:00
Mateusz Bergmann
1eca0493d8 Translated using Weblate (Polish)
Currently translated at 76.0% (14600 of 19195 strings)
2024-11-19 17:21:06 +01:00
Daniel Stasiak
9c2a1ca590 Translated using Weblate (Polish)
Currently translated at 76.0% (14600 of 19195 strings)
2024-11-19 17:21:06 +01:00
Daniel Stasiak
5481be03e6 Translated using Weblate (Polish)
Currently translated at 76.0% (14599 of 19195 strings)
2024-11-19 17:18:18 +01:00
Mateusz Bergmann
f5d70d6f56 Translated using Weblate (Polish)
Currently translated at 76.0% (14599 of 19195 strings)
2024-11-19 17:18:18 +01:00
Mateusz Bergmann
5ab714bb01 Translated using Weblate (Polish)
Currently translated at 76.0% (14597 of 19195 strings)
2024-11-19 17:17:22 +01:00
Daniel Stasiak
409a67b5be Translated using Weblate (Polish)
Currently translated at 76.0% (14597 of 19195 strings)
2024-11-19 17:17:22 +01:00
Daniel Stasiak
4e1a6ad392 Translated using Weblate (Polish)
Currently translated at 76.0% (14596 of 19195 strings)
2024-11-19 17:16:31 +01:00
Mateusz Bergmann
9d1e63bd90 Translated using Weblate (Polish)
Currently translated at 76.0% (14596 of 19195 strings)
2024-11-19 17:16:31 +01:00
Daniel Stasiak
62724cdd71 Translated using Weblate (Polish)
Currently translated at 76.0% (14595 of 19195 strings)
2024-11-19 17:15:27 +01:00
Mateusz Bergmann
176d4a3072 Translated using Weblate (Polish)
Currently translated at 76.0% (14595 of 19195 strings)
2024-11-19 17:15:27 +01:00
Daniel Stasiak
f771864875 Translated using Weblate (Polish)
Currently translated at 76.0% (14594 of 19195 strings)
2024-11-19 17:14:48 +01:00
Mateusz Bergmann
4a6707c7a8 Translated using Weblate (Polish)
Currently translated at 76.0% (14594 of 19195 strings)
2024-11-19 17:14:48 +01:00
Mateusz Bergmann
14ee38edf2 Translated using Weblate (Polish)
Currently translated at 76.0% (14593 of 19195 strings)
2024-11-19 17:14:14 +01:00
Nut.andor
a8e2462e47 Pull Request #78: fix getting stuck in combat when animations are disabled 2024-11-19 17:13:02 +01:00
OMGeeky
3faf696f46 fix getting stuck in combat when animations are disabled 2024-11-19 17:12:20 +01:00
Daniel Stasiak
d22530938d Translated using Weblate (Polish)
Currently translated at 76.0% (14592 of 19195 strings)
2024-11-19 17:09:14 +01:00
Mateusz Bergmann
9bfe080447 Translated using Weblate (Polish)
Currently translated at 76.0% (14592 of 19195 strings)
2024-11-19 17:09:14 +01:00
Mateusz Bergmann
b083b47781 Translated using Weblate (Polish)
Currently translated at 76.0% (14591 of 19195 strings)
2024-11-19 17:07:31 +01:00
Daniel Stasiak
0fc7709584 Translated using Weblate (Polish)
Currently translated at 76.0% (14591 of 19195 strings)
2024-11-19 17:07:31 +01:00
Daniel Stasiak
f31382698f Translated using Weblate (Polish)
Currently translated at 76.0% (14590 of 19195 strings)
2024-11-19 17:06:32 +01:00
Mateusz Bergmann
358594d9e4 Translated using Weblate (Polish)
Currently translated at 76.0% (14590 of 19195 strings)
2024-11-19 17:06:31 +01:00
Daniel Stasiak
6ced7c4c39 Translated using Weblate (Polish)
Currently translated at 76.0% (14589 of 19195 strings)
2024-11-19 17:05:34 +01:00
Mateusz Bergmann
dc83dd2d95 Translated using Weblate (Polish)
Currently translated at 76.0% (14589 of 19195 strings)
2024-11-19 17:05:33 +01:00
Mateusz Bergmann
e3b56d85cd Translated using Weblate (Polish)
Currently translated at 75.9% (14588 of 19195 strings)
2024-11-19 17:03:45 +01:00
Daniel Stasiak
448610894a Translated using Weblate (Polish)
Currently translated at 75.9% (14588 of 19195 strings)
2024-11-19 17:03:45 +01:00
Mateusz Bergmann
9953b315b5 Translated using Weblate (Polish)
Currently translated at 75.9% (14587 of 19195 strings)
2024-11-19 17:02:05 +01:00
Daniel Stasiak
8f669e0a33 Translated using Weblate (Polish)
Currently translated at 75.9% (14587 of 19195 strings)
2024-11-19 17:02:05 +01:00
Mateusz Bergmann
9fbafa29a2 Translated using Weblate (Polish)
Currently translated at 75.9% (14586 of 19195 strings)
2024-11-19 11:22:13 +01:00
Daniel Stasiak
461c40ed8c Translated using Weblate (Polish)
Currently translated at 75.9% (14586 of 19195 strings)
2024-11-19 11:22:13 +01:00
Nut.andor
a3401f05b4 Prepare next version 2024-11-19 07:26:29 +01:00
Nut.andor
2e3c134e09 Merge branch 'master' into AT_Source_Next_Release 2024-11-19 07:24:50 +01:00
Nut
e3b03fa3e5 Merge pull request #77 from AndorsTrailRelease/master_tmp20241119
Master tmp20241119
2024-11-19 07:17:44 +01:00
Nut.andor
d25d7916b0 Merge remote-tracking branch 'hosted.weblate/master' 2024-11-19 06:48:34 +01:00
Daniel Stasiak
1a43fad4bb Translated using Weblate (Polish)
Currently translated at 80.0% (14586 of 18227 strings)
2024-11-19 06:42:36 +01:00
Mateusz Bergmann
c5e1806b9f Translated using Weblate (Polish)
Currently translated at 80.0% (14586 of 18227 strings)
2024-11-19 06:42:35 +01:00
Mateusz Mendel
dee12635a1 Translated using Weblate (Polish)
Currently translated at 80.0% (14586 of 18227 strings)
2024-11-19 06:42:35 +01:00
Nut.andor
5fac187f80 Merge remote-tracking branch 'hosted.weblate/master' 2024-11-19 06:40:41 +01:00
Nut.andor
4d18951e94 version 2024-11-19 06:00:15 +01:00
Nut.andor
4986bbd9a2 Merge branch 'master' into AT_Source_Next_Release 2024-11-19 05:58:43 +01:00
Nut.andor
48ac678c9c Merge branch 'v0.8.12' 2024-11-19 05:49:38 +01:00
Than
3a343b12ee Translated using Weblate (Vietnamese)
Currently translated at 1.8% (346 of 18226 strings)
2024-11-18 17:00:32 +01:00
Daniel Stasiak
1174495f67 Translated using Weblate (Polish)
Currently translated at 79.9% (14564 of 18227 strings)
2024-11-18 17:00:30 +01:00
Than
e0b62484f4 Translated using Weblate (Vietnamese)
Currently translated at 1.8% (336 of 18226 strings)
2024-11-16 03:00:33 +00:00
Daniel Stasiak
a2c41fd470 Translated using Weblate (Polish)
Currently translated at 79.9% (14564 of 18227 strings)
2024-11-16 03:00:31 +00:00
Nut Andor
6633bf15e6 Translated using Weblate (German)
Currently translated at 96.3% (17568 of 18227 strings)
2024-11-16 03:00:29 +00:00
Nut.andor
64644ca5be whatsnew 2024-11-16 02:14:53 +01:00
Nut.andor
31d83b0f44 fix freeze bug
boat
(cherry picked from AT_Source_Next_Release)
2024-11-16 02:06:31 +01:00
Nut.andor
98ceed6ea6 potc 2024-11-15 03:08:20 +01:00
Nut.andor
85c71fb49f content feygard_1 2024-11-15 02:52:06 +01:00
Nut.andor
b91388c085 whatsnew 2024-11-15 02:33:44 +01:00
Nut.andor
6faf448a29 Merge remote-tracking branch 'hosted.weblate/master' into v0.8.12 2024-11-15 02:26:36 +01:00
Nut.andor
fbe17cdeab Merge remote-tracking branch 'hosted.weblate/master' into AT_Source_Next_Release 2024-11-15 02:25:40 +01:00
Nut.andor
d6fe78132a potcbeta 2024-11-15 02:19:33 +01:00
Nut.andor
58b52e9069 fix freeze bug 2024-11-15 02:12:16 +01:00
Anupam Malhotra
7359e55047 Translated using Weblate (Hindi)
Currently translated at 0.3% (70 of 18226 strings)
2024-11-14 21:00:28 +01:00
Daniel Stasiak
a5a97bedba Translated using Weblate (Polish)
Currently translated at 79.9% (14564 of 18227 strings)
2024-11-14 21:00:26 +01:00
Than
bcb317d799 Translated using Weblate (Vietnamese)
Currently translated at 1.7% (313 of 18226 strings)
2024-11-13 07:53:01 +01:00
xvy
521358a8b8 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (18227 of 18227 strings)
2024-11-13 07:53:00 +01:00
Daniel Stasiak
901bc3ba43 Translated using Weblate (Polish)
Currently translated at 79.8% (14563 of 18227 strings)
2024-11-13 07:52:58 +01:00
Than
3ea543213a Translated using Weblate (Vietnamese)
Currently translated at 1.5% (283 of 18226 strings)
2024-11-11 16:01:07 +00:00
Daniel Stasiak
e54ddf5d6c Translated using Weblate (Polish)
Currently translated at 79.8% (14563 of 18227 strings)
2024-11-11 16:01:04 +00:00
Nut.andor
6dac9a365d whatsnew 2024-11-10 22:33:37 +01:00
xvy
349baa17d3 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (18227 of 18227 strings)
2024-11-10 11:31:55 +01:00
xvy
00b84109c8 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (18227 of 18227 strings)
2024-11-09 19:12:25 +01:00
Than
01f2bcc8c6 Translated using Weblate (Vietnamese)
Currently translated at 1.3% (240 of 18226 strings)
2024-11-09 02:00:31 +01:00
xvy
78308b5d98 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (18227 of 18227 strings)
2024-11-09 02:00:23 +01:00
Daniel Stasiak
891664c8ff Translated using Weblate (Polish)
Currently translated at 79.8% (14563 of 18227 strings)
2024-11-09 02:00:21 +01:00
Than
07dd3d81ff Translated using Weblate (Vietnamese)
Currently translated at 0.8% (156 of 18226 strings)
2024-11-07 21:00:31 +00:00
Daniel Stasiak
9196b56a3d Translated using Weblate (Polish)
Currently translated at 79.8% (14563 of 18227 strings)
2024-11-07 21:00:30 +00:00
Than
fa70ba8fb6 Translated using Weblate (Vietnamese)
Currently translated at 0.7% (139 of 18226 strings)
2024-11-06 21:00:48 +01:00
Daniel Stasiak
6e4e60a713 Translated using Weblate (Polish)
Currently translated at 79.8% (14563 of 18227 strings)
2024-11-06 21:00:45 +01:00
Daniel Stasiak
2caff38db9 Translated using Weblate (Polish)
Currently translated at 79.8% (14563 of 18227 strings)
2024-11-05 18:00:23 +01:00
Nut.andor
103cefad0d fix actorcondition removal bug 2024-11-05 14:49:22 +01:00
Daniel Stasiak
1b6d1ce5f1 Translated using Weblate (Polish)
Currently translated at 79.8% (14563 of 18227 strings)
2024-11-02 19:14:14 +01:00
Kanoero
8fcd6c73b6 Translated using Weblate (Spanish)
Currently translated at 77.7% (14180 of 18227 strings)
2024-11-02 19:14:13 +01:00
Renamed1986
b5eb47aff8 Translated using Weblate (Russian)
Currently translated at 100.0% (18227 of 18227 strings)
2024-11-01 22:00:28 +01:00
Daniel Stasiak
87ddae5571 Translated using Weblate (Polish)
Currently translated at 79.8% (14563 of 18227 strings)
2024-11-01 22:00:26 +01:00
Nut.andor
58a47ad70c map_boats_1 should be bigger 2024-11-01 08:25:18 +01:00
Daniel Stasiak
e06de09e15 Translated using Weblate (Polish)
Currently translated at 79.8% (14563 of 18227 strings)
2024-10-30 21:00:15 +00:00
Daniel Stasiak
9ca3833117 Translated using Weblate (Polish)
Currently translated at 79.8% (14563 of 18227 strings)
2024-10-29 20:00:27 +01:00
Nut.andor
bd4efa9434 Credits 2024-10-27 22:56:15 +01:00
Nut.andor
c07bbb8ef6 Merge branch 'master-hosted.weblate' into AT_Source_Next_Release 2024-10-27 22:39:08 +01:00
Nut.andor
503a0725b9 Small boats added (prototype) 2024-10-27 18:51:30 +01:00
Daniel Stasiak
2760e081ac Translated using Weblate (Polish)
Currently translated at 79.8% (14563 of 18227 strings)
2024-10-26 19:12:37 +02:00
Nut.andor
8e2bea1f35 Add beagles 2024-10-25 21:29:54 +02:00
xvy
4369a3dfb3 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (18227 of 18227 strings)
2024-10-25 18:15:53 +02:00
Daniel Stasiak
a844e05946 Translated using Weblate (Polish)
Currently translated at 79.8% (14563 of 18227 strings)
2024-10-25 18:15:50 +02:00
Raphi
401b79fcf3 Translated using Weblate (German)
Currently translated at 96.3% (17568 of 18227 strings)
2024-10-25 18:15:44 +02:00
Nut.andor
0cf139035a FormatReference 2024-10-25 02:17:17 +02:00
Daniel Stasiak
a332b06266 Translated using Weblate (Polish)
Currently translated at 79.8% (14563 of 18227 strings)
2024-10-24 08:15:45 +02:00
Anupam Malhotra
0eb4a1512f Translated using Weblate (Hindi)
Currently translated at 0.2% (39 of 18226 strings)
2024-10-22 18:17:09 +02:00
Daniel Stasiak
0ecda7eb62 Translated using Weblate (Polish)
Currently translated at 79.8% (14563 of 18227 strings)
2024-10-22 18:17:04 +02:00
Daniel Stasiak
4cacf8de1e Translated using Weblate (Polish)
Currently translated at 79.8% (14563 of 18227 strings)
2024-10-21 14:41:00 +02:00
Daniel Stasiak
6086a54f0f Translated using Weblate (Polish)
Currently translated at 79.8% (14563 of 18227 strings)
2024-10-21 01:24:32 +02:00
Daniel Stasiak
f376bd3445 Translated using Weblate (Polish)
Currently translated at 79.8% (14563 of 18227 strings)
2024-10-20 19:15:48 +02:00
Daniel Stasiak
e722852f93 Translated using Weblate (Polish)
Currently translated at 79.8% (14561 of 18227 strings)
2024-10-19 19:14:23 +02:00
Mateusz Mendel
9e9102fdc0 Translated using Weblate (Polish)
Currently translated at 79.8% (14561 of 18227 strings)
2024-10-19 19:14:22 +02:00
Daniel Stasiak
491e95e4a1 Translated using Weblate (Polish)
Currently translated at 79.8% (14559 of 18227 strings)
2024-10-19 19:10:26 +02:00
Mateusz Mendel
31755b480a Translated using Weblate (Polish)
Currently translated at 79.8% (14559 of 18227 strings)
2024-10-19 18:42:01 +02:00
Daniel Stasiak
d89aed8dc5 Translated using Weblate (Polish)
Currently translated at 79.8% (14559 of 18227 strings)
2024-10-19 18:42:00 +02:00
Mateusz Mendel
931597abcb Translated using Weblate (Polish)
Currently translated at 79.8% (14558 of 18227 strings)
2024-10-19 13:45:05 +02:00
Daniel Stasiak
77ab35da91 Translated using Weblate (Polish)
Currently translated at 79.8% (14558 of 18227 strings)
2024-10-19 13:45:04 +02:00
Nut.andor
0684fd8e25 Revert "easy fixes"
This reverts commit 97cabf62b8.
2024-10-19 02:35:04 +02:00
Nut.andor
97cabf62b8 easy fixes 2024-10-19 02:30:40 +02:00
Nut.andor
53a1b513fb whatsnew 2024-10-19 00:58:57 +02:00
Mateusz Mendel
053336faca Translated using Weblate (Polish)
Currently translated at 79.8% (14554 of 18227 strings)
2024-10-18 22:10:52 +02:00
Daniel Stasiak
dbe096a8d5 Translated using Weblate (Polish)
Currently translated at 79.8% (14554 of 18227 strings)
2024-10-18 22:10:52 +02:00
Mateusz Mendel
f78d1a6d84 Translated using Weblate (Polish)
Currently translated at 79.8% (14553 of 18227 strings)
2024-10-18 22:09:14 +02:00
Daniel Stasiak
01d1cb6212 Translated using Weblate (Polish)
Currently translated at 79.8% (14553 of 18227 strings)
2024-10-18 22:09:14 +02:00
Daniel Stasiak
c606e7c296 Translated using Weblate (Polish)
Currently translated at 79.8% (14552 of 18227 strings)
2024-10-18 22:07:29 +02:00
Mateusz Mendel
5ac2f44d52 Translated using Weblate (Polish)
Currently translated at 79.8% (14552 of 18227 strings)
2024-10-18 22:07:29 +02:00
Mateusz Mendel
9b7b79ac9f Translated using Weblate (Polish)
Currently translated at 79.8% (14550 of 18227 strings)
2024-10-18 22:03:05 +02:00
Daniel Stasiak
99deee6a14 Translated using Weblate (Polish)
Currently translated at 79.8% (14550 of 18227 strings)
2024-10-18 22:03:05 +02:00
Daniel Stasiak
196302ed3e Translated using Weblate (Polish)
Currently translated at 79.8% (14549 of 18227 strings)
2024-10-18 22:00:44 +02:00
Mateusz Mendel
f40589a461 Translated using Weblate (Polish)
Currently translated at 79.8% (14549 of 18227 strings)
2024-10-18 22:00:44 +02:00
Mateusz Mendel
ef2e01085a Translated using Weblate (Polish)
Currently translated at 79.8% (14548 of 18227 strings)
2024-10-18 21:58:21 +02:00
Daniel Stasiak
8f939fd4af Translated using Weblate (Polish)
Currently translated at 79.8% (14548 of 18227 strings)
2024-10-18 21:58:20 +02:00
Daniel Stasiak
4a546d9ff1 Translated using Weblate (Polish)
Currently translated at 79.8% (14547 of 18227 strings)
2024-10-18 21:56:03 +02:00
Mateusz Mendel
d75c99f7ee Translated using Weblate (Polish)
Currently translated at 79.8% (14547 of 18227 strings)
2024-10-18 21:56:02 +02:00
Mateusz Mendel
f10a3d99c5 Translated using Weblate (Polish)
Currently translated at 79.7% (14545 of 18227 strings)
2024-10-18 21:52:12 +02:00
Daniel Stasiak
fb23e577e8 Translated using Weblate (Polish)
Currently translated at 79.7% (14545 of 18227 strings)
2024-10-18 21:52:12 +02:00
Mateusz Mendel
6861451f8f Translated using Weblate (Polish)
Currently translated at 79.7% (14544 of 18227 strings)
2024-10-18 21:51:14 +02:00
Daniel Stasiak
770082a811 Translated using Weblate (Polish)
Currently translated at 79.7% (14544 of 18227 strings)
2024-10-18 21:51:14 +02:00
Mateusz Mendel
43cf2b1105 Translated using Weblate (Polish)
Currently translated at 79.7% (14543 of 18227 strings)
2024-10-18 19:44:46 +02:00
Daniel Stasiak
88e2a65b5d Translated using Weblate (Polish)
Currently translated at 79.7% (14543 of 18227 strings)
2024-10-18 19:44:46 +02:00
Mateusz Mendel
1333610ef0 Translated using Weblate (Polish)
Currently translated at 79.7% (14540 of 18227 strings)
2024-10-18 07:41:11 +02:00
Daniel Stasiak
731411cdfa Translated using Weblate (Polish)
Currently translated at 79.7% (14540 of 18227 strings)
2024-10-18 07:41:10 +02:00
Mateusz Mendel
10da65860a Translated using Weblate (Polish)
Currently translated at 79.7% (14539 of 18227 strings)
2024-10-17 20:41:50 +02:00
Daniel Stasiak
6f637e01b6 Translated using Weblate (Polish)
Currently translated at 79.7% (14539 of 18227 strings)
2024-10-17 20:41:50 +02:00
Daniel Stasiak
a356a456d5 Translated using Weblate (Polish)
Currently translated at 79.7% (14538 of 18227 strings)
2024-10-17 20:38:52 +02:00
Mateusz Mendel
55f4141157 Translated using Weblate (Polish)
Currently translated at 79.7% (14538 of 18227 strings)
2024-10-17 20:38:52 +02:00
Mateusz Mendel
b2a3c926c5 Translated using Weblate (Polish)
Currently translated at 79.7% (14537 of 18227 strings)
2024-10-17 20:36:20 +02:00
xvy
e79c26e234 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (18227 of 18227 strings)
2024-10-16 15:15:48 +02:00
Daniel Stasiak
cb293885e2 Translated using Weblate (Polish)
Currently translated at 79.7% (14536 of 18227 strings)
2024-10-16 15:15:46 +02:00
Daniel Stasiak
92db832044 Translated using Weblate (Polish)
Currently translated at 79.7% (14534 of 18227 strings)
2024-10-15 14:48:43 +02:00
Mateusz Mendel
42f20efe3b Translated using Weblate (Polish)
Currently translated at 79.7% (14534 of 18227 strings)
2024-10-15 14:48:42 +02:00
Daniel Stasiak
14866a1432 Translated using Weblate (Polish)
Currently translated at 79.7% (14533 of 18227 strings)
2024-10-15 14:46:58 +02:00
Mateusz Mendel
7d61704575 Translated using Weblate (Polish)
Currently translated at 79.7% (14533 of 18227 strings)
2024-10-15 14:46:57 +02:00
Mateusz Mendel
c8e8d0b7b9 Translated using Weblate (Polish)
Currently translated at 79.7% (14532 of 18227 strings)
2024-10-15 14:46:03 +02:00
Daniel Stasiak
dda03b21d7 Translated using Weblate (Polish)
Currently translated at 79.7% (14532 of 18227 strings)
2024-10-15 14:46:02 +02:00
Daniel Stasiak
64e8bf3abb Translated using Weblate (Polish)
Currently translated at 79.7% (14530 of 18227 strings)
2024-10-15 14:44:52 +02:00
Mateusz Mendel
da671b00cf Translated using Weblate (Polish)
Currently translated at 79.7% (14530 of 18227 strings)
2024-10-15 14:44:52 +02:00
Mateusz Mendel
6d918bd3d5 Translated using Weblate (Polish)
Currently translated at 79.7% (14529 of 18227 strings)
2024-10-15 14:44:00 +02:00
Daniel Stasiak
dbf4e05d59 Translated using Weblate (Polish)
Currently translated at 79.7% (14529 of 18227 strings)
2024-10-15 14:44:00 +02:00
Mateusz Mendel
9224cf8b99 Translated using Weblate (Polish)
Currently translated at 79.7% (14527 of 18227 strings)
2024-10-15 14:39:37 +02:00
Daniel Stasiak
00051ec7fe Translated using Weblate (Polish)
Currently translated at 79.6% (14526 of 18227 strings)
2024-10-14 22:58:45 +02:00
Daniel Stasiak
44686c6459 Translated using Weblate (Polish)
Currently translated at 79.6% (14526 of 18227 strings)
2024-10-14 08:26:16 +02:00
Mateusz Mendel
09f3a7f27e Translated using Weblate (Polish)
Currently translated at 79.6% (14526 of 18227 strings)
2024-10-14 08:26:16 +02:00
Mateusz Mendel
51a09a7a99 Translated using Weblate (Polish)
Currently translated at 79.6% (14525 of 18227 strings)
2024-10-14 08:23:52 +02:00
Daniel Stasiak
ebdea1e9b1 Translated using Weblate (Polish)
Currently translated at 79.6% (14525 of 18227 strings)
2024-10-14 08:23:52 +02:00
Daniel Stasiak
f3d3adac2e Translated using Weblate (Polish)
Currently translated at 79.6% (14524 of 18227 strings)
2024-10-14 08:19:44 +02:00
Mateusz Mendel
b55f90efde Translated using Weblate (Polish)
Currently translated at 79.6% (14524 of 18227 strings)
2024-10-14 08:19:44 +02:00
Mateusz Mendel
c5e6e09071 Translated using Weblate (Polish)
Currently translated at 79.6% (14523 of 18227 strings)
2024-10-14 08:19:20 +02:00
Daniel Stasiak
9895847f8b Translated using Weblate (Polish)
Currently translated at 79.6% (14523 of 18227 strings)
2024-10-14 08:19:20 +02:00
Daniel Stasiak
992f265292 Translated using Weblate (Polish)
Currently translated at 79.6% (14522 of 18227 strings)
2024-10-14 08:17:19 +02:00
Mateusz Mendel
f4a4a7c124 Translated using Weblate (Polish)
Currently translated at 79.6% (14522 of 18227 strings)
2024-10-14 08:17:19 +02:00
Mateusz Mendel
129d037379 Translated using Weblate (Polish)
Currently translated at 79.6% (14519 of 18227 strings)
2024-10-13 16:23:29 +02:00
Daniel Stasiak
f0e438044f Translated using Weblate (Polish)
Currently translated at 79.6% (14519 of 18227 strings)
2024-10-13 16:23:29 +02:00
Mateusz Mendel
9ef0e56aa8 Translated using Weblate (Polish)
Currently translated at 79.6% (14518 of 18227 strings)
2024-10-13 16:22:07 +02:00
Raphi
6b74350edf Translated using Weblate (German)
Currently translated at 96.3% (17566 of 18227 strings)
2024-10-11 19:53:37 +02:00
Daniel Stasiak
5f6e38de30 Translated using Weblate (Polish)
Currently translated at 79.6% (14517 of 18227 strings)
2024-10-11 08:57:45 +02:00
Mateusz Mendel
1ee940c40c Translated using Weblate (Polish)
Currently translated at 79.6% (14517 of 18227 strings)
2024-10-11 08:57:44 +02:00
Mateusz Mendel
2ca5dd9b31 Translated using Weblate (Polish)
Currently translated at 79.6% (14515 of 18227 strings)
2024-10-11 08:11:59 +02:00
ACsediment
08a4c18c8f Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (18227 of 18227 strings)
2024-10-09 01:15:40 +02:00
Nut.andor
e4cc3bb89c rotated tiles doesn't crash the engine anymore (when VALIDATEDATA off) 2024-10-07 22:11:42 +02:00
Nut.andor
6f56e1fb3d ⩩johny(異邦人)(白人)(差別者)(右翼)筋骨隆々⩩ — heute um 14:26 Uhr
there are some spritesheets to be updated
2024-10-07 20:52:00 +02:00
Nut.andor
c49b63b50e Burhczyd typos 2024-10-05 01:47:41 +02:00
sprin
0fcb5aa2c6 Translated using Weblate (Catalan)
Currently translated at 14.1% (2578 of 18227 strings)
2024-10-05 01:16:29 +02:00
Nut Andor
d8c055dbb4 Translated using Weblate (German)
Currently translated at 96.2% (17546 of 18227 strings)
2024-10-05 01:16:26 +02:00
xvy
280c636823 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (18227 of 18227 strings)
2024-10-03 04:16:22 +00:00
Nut.andor
bce6cdb618 repair link to wiki
typo
whatsnew
2024-10-02 19:21:06 +02:00
Nut
3486f95a81 Update readme.md
repair link to (slightly outdated) wiki
2024-10-02 19:13:22 +02:00
Nut
ea427419ef Update contributors.md
it was about time to update the contributor list
2024-10-02 00:23:03 +02:00
Nut
38467803b8 Update readme.md
The team had changed a bit already ...
2024-10-02 00:02:51 +02:00
Nut.andor
6a25253698 Merge remote-tracking branch 'hosted.weblate/master' into AT_Source_Next_Release 2024-09-30 23:01:58 +02:00
Nut Andor
31b15baf90 Translated using Weblate (German)
Currently translated at 96.2% (17546 of 18227 strings)
2024-09-30 23:00:55 +02:00
Nut.andor
b906e4dd99 Merge remote-tracking branch 'hosted.weblate/master' into AT_Source_Next_Release 2024-09-30 19:09:25 +02:00
xvy
5022c94a13 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (18227 of 18227 strings)
2024-09-30 07:22:23 +02:00
Nut.andor
f6f3c2041b whatsnew 2024-09-29 02:17:55 +02:00
Nut.andor
5c3bdf40f9 whatsnew 2024-09-29 02:17:26 +02:00
Nut.andor
db3335513a FormatReference 2024-09-29 02:17:26 +02:00
xvy
a815562f82 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (18227 of 18227 strings)
2024-09-23 20:01:49 +02:00
xvy
36d4cb716e Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (18227 of 18227 strings)
2024-09-23 15:15:41 +02:00
Nut.andor
2a62f69623 wrong language 2024-09-22 14:37:02 +02:00
Nut.andor
6d1ffdedc8 Rebuild world map 2024-09-22 14:37:02 +02:00
Nut.andor
7f67ff266c Merge branch 'pulls/1829009049/24' into AT_Source_Next_Release
# Conflicts:
#	AndorsTrail/app/src/main/java/com/gpl/rpg/AndorsTrail/WorldSetup.java
#	AndorsTrail/app/src/main/java/com/gpl/rpg/AndorsTrail/controller/WorldMapController.java
#	AndorsTrail/app/src/main/java/com/gpl/rpg/AndorsTrail/savegames/Savegames.java
2024-09-22 03:10:49 +02:00
Nut.andor
5afdbd82bb further changes necessary 2024-09-22 03:07:13 +02:00
Nut.andor
21763301ca Rebuild world map
# Conflicts:
#	AndorsTrail/app/src/main/java/com/gpl/rpg/AndorsTrail/controller/WorldMapController.java
#	AndorsTrail/app/src/main/java/com/gpl/rpg/AndorsTrail/model/ModelContainer.java
2024-09-22 03:01:58 +02:00
Nut.andor
0268f4e707 Merge branch 'pulls/1829009049/76' into AT_Source_Next_Release 2024-09-22 01:25:36 +02:00
Nut.andor
b66e75027d Merge branch 'pulls/1829009049/75' into AT_Source_Next_Release 2024-09-22 01:25:23 +02:00
Nut.andor
934755cf4e map_cavewall_4 2024-09-22 01:23:46 +02:00
Nut.andor
148280d29e map_cavewall_4 2024-09-22 01:21:20 +02:00
Daniel Stasiak
0cc89d6e86 Translated using Weblate (Polish)
Currently translated at 79.6% (14514 of 18227 strings)
2024-09-20 21:40:47 +02:00
Filip
395bb7b213 Translated using Weblate (Polish)
Currently translated at 79.6% (14514 of 18227 strings)
2024-09-19 21:25:33 +02:00
Daniel Stasiak
af5a992cfc Translated using Weblate (Polish)
Currently translated at 79.6% (14514 of 18227 strings)
2024-09-19 21:25:32 +02:00
Filip
c76ae59ae2 Translated using Weblate (Polish)
Currently translated at 79.6% (14513 of 18227 strings)
2024-09-19 21:18:24 +02:00
xvy
2a884b7c7c Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (18227 of 18227 strings)
2024-09-19 09:40:55 +02:00
xvy
3a87e6159b Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (18227 of 18227 strings)
2024-09-18 07:48:05 +02:00
Ryan C
6ec5273d21 Translated using Weblate (Filipino)
Currently translated at 47.5% (291 of 612 strings)
2024-09-16 18:09:16 +02:00
Ryan C
bff5215bb9 Translated using Weblate (Filipino)
Currently translated at 1.6% (306 of 18226 strings)
2024-09-16 18:09:16 +02:00
Natalia N
f609d4132a Translated using Weblate (German)
Currently translated at 96.2% (17542 of 18227 strings)
2024-09-16 18:09:13 +02:00
Nut.andor
6cc3e428d3 remove en_devel.po 2024-09-16 01:51:13 +02:00
Daniel Stasiak
28eb643f49 Translated using Weblate (Polish)
Currently translated at 79.6% (14509 of 18227 strings)
2024-09-15 14:29:45 +02:00
Natalia N
b7d9dc08ec Translated using Weblate (German)
Currently translated at 95.9% (17491 of 18227 strings)
2024-09-15 14:29:43 +02:00
Nut.andor
2ca9a78280 Revert "Auxiliary commit to revert individual files from a24aaeb7e82ccd4fe1e2d0e4240e29bfedcfc028"
This reverts commit e8f8a9c9ddbb090e3c7e242d505500099e6bc771.
2024-09-15 03:44:37 +02:00
Nut.andor
2df651f342 Merge remote-tracking branch 'hosted.weblate/master' 2024-09-15 03:24:16 +02:00
Nut.andor
b16129abfa Merge branch 'pulls/1829009049/76' 2024-09-15 03:23:33 +02:00
Nut.andor
787b739fa3 Merge branch 'pulls/1829009049/75' 2024-09-15 03:23:08 +02:00
Nut.andor
f4d62d1590 Fix visual bugs 2024-09-15 03:16:12 +02:00
Nut.andor
03ca432a36 Visual Glitch Fix 2024-09-15 03:15:59 +02:00
Nut.andor
28804f9034 Merge remote-tracking branch 'hosted.weblate/master' into AT_Source_Next_Release 2024-09-15 02:10:37 +02:00
Nut Andor
7b276046ed Translated using Weblate (Czech)
Currently translated at 79.9% (14581 of 18227 strings)
2024-09-15 02:10:01 +02:00
Nut Andor
c538088760 Translated using Weblate (Portuguese (Brazil))
Currently translated at 84.9% (15476 of 18227 strings)
2024-09-15 02:10:00 +02:00
Nut Andor
1074bbb09e Translated using Weblate (Indonesian)
Currently translated at 89.6% (16345 of 18227 strings)
2024-09-15 02:09:58 +02:00
Nut Andor
2c503bdf88 Translated using Weblate (French)
Currently translated at 88.8% (16201 of 18227 strings)
2024-09-15 02:09:56 +02:00
Nut Andor
2f242e6607 Translated using Weblate (German)
Currently translated at 95.6% (17442 of 18227 strings)
2024-09-15 02:09:54 +02:00
Nut.andor
0cee97e5f6 Merge remote-tracking branch 'hosted.weblate/master' into AT_Source_Next_Release 2024-09-15 01:19:34 +02:00
Natalia N
90f12a94a8 Translated using Weblate (German)
Currently translated at 95.6% (17442 of 18227 strings)
2024-09-15 00:00:55 +02:00
Nut Andor
91fb604806 Translated using Weblate (Czech)
Currently translated at 80.0% (14582 of 18227 strings)
2024-09-14 19:11:20 +02:00
Nut Andor
a54df11cc7 Translated using Weblate (Turkish)
Currently translated at 30.6% (5584 of 18227 strings)
2024-09-14 19:11:18 +02:00
Nut Andor
b8e903af3e Translated using Weblate (Indonesian)
Currently translated at 89.6% (16345 of 18227 strings)
2024-09-14 19:11:16 +02:00
Natalia N
2c4491c707 Translated using Weblate (German)
Currently translated at 95.5% (17408 of 18227 strings)
2024-09-14 19:11:15 +02:00
Natalia N
d13865f599 Translated using Weblate (German)
Currently translated at 95.2% (17356 of 18227 strings)
2024-09-13 09:32:20 +00:00
Nut.andor
a0bfee0c6a whatsnew 2024-09-12 23:58:19 +02:00
Nut.andor
69eb9eda25 whatsnew 2024-09-12 23:52:27 +02:00
Nut.andor
ba3b37a0a3 fix duplicate tilesets 2024-09-12 22:27:08 +02:00
Nut.andor
bf13c485bd map_brightport 16x7 2024-09-12 00:54:19 +02:00
Natalia N
c537e7554a Translated using Weblate (German)
Currently translated at 94.5% (17237 of 18227 strings)
2024-09-11 22:23:11 +02:00
Natalia N
7b030434b9 Translated using Weblate (German)
Currently translated at 94.4% (17223 of 18227 strings)
2024-09-09 07:33:44 +02:00
Filip
03c45bf7f4 Translated using Weblate (Polish)
Currently translated at 79.6% (14509 of 18227 strings)
2024-09-08 18:09:19 +00:00
Natalia N
daed8ccfa7 Translated using Weblate (German)
Currently translated at 94.4% (17220 of 18227 strings)
2024-09-08 18:09:17 +00:00
Nut.andor
32b19fbb33 Pull Request #76: Fix visual bugs 2024-09-07 15:42:32 +02:00
OMGeeky
b1c2a4ef8c remove unused stuff 2024-09-07 15:36:00 +02:00
OMGeeky
af3109b9d9 Fix visual Bugs & slowdowns 2024-09-07 15:06:04 +02:00
Natalia N
130c694c8d Translated using Weblate (German)
Currently translated at 94.1% (17163 of 18227 strings)
2024-09-07 14:09:16 +02:00
Nut.andor
c6801505c2 Pull Request #75: Visual Glitch Fix 2024-09-07 12:30:48 +02:00
Ian
bac004ae33 Visual Glitch Fix
-Fix the issue where the application is not able to handle multiple effects simultanously
2024-09-07 18:23:07 +08:00
Nut.andor
abb8998117 map_brightport 8x5 2024-09-07 00:41:11 +02:00
xvy
9ca1188baa Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (18227 of 18227 strings)
2024-09-06 08:15:44 +02:00
Natalia N
61267a502a Translated using Weblate (German)
Currently translated at 93.7% (17088 of 18227 strings)
2024-09-06 08:15:42 +02:00
xvy
9dd287f16e Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (18227 of 18227 strings)
2024-09-05 16:09:29 +02:00
Natalia N
55989a4d55 Translated using Weblate (German)
Currently translated at 93.4% (17040 of 18227 strings)
2024-09-05 16:09:26 +02:00
xvy
0b0d433043 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (18227 of 18227 strings)
2024-09-04 14:47:48 +02:00
xvy
a6480db012 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (18227 of 18227 strings)
2024-09-03 19:09:23 +00:00
Natalia N
7c5b89766a Translated using Weblate (German)
Currently translated at 92.9% (16933 of 18227 strings)
2024-09-03 19:09:21 +00:00
xvy
1c8145116f Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (18227 of 18227 strings)
2024-09-02 18:09:21 +02:00
xvy
fdbf58dfa3 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (18227 of 18227 strings)
2024-09-01 11:09:03 +02:00
xvy
8730ebf67a Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (18227 of 18227 strings)
2024-08-31 19:10:07 +02:00
Nut.andor
4c1e1d68b5 Endless actorcondition 998 that gets removed by sleep 2024-08-30 23:51:23 +02:00
Nut.andor
e5acb89f1b authors 2024-08-30 22:56:00 +02:00
xvy
b8c3119481 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (18227 of 18227 strings)
2024-08-30 10:09:18 +00:00
xvy
15f3fd1206 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (18227 of 18227 strings)
2024-08-29 05:09:16 +00:00
Nut.andor
950310906e new map_brightport.png 2024-08-28 20:56:14 +02:00
xvy
7853718f29 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (18227 of 18227 strings)
2024-08-27 11:40:19 +02:00
Nut.andor
4f2733324f Merge branch 'pulls/1829009049/74' into AT_Source_Next_Release 2024-08-25 23:10:48 +02:00
Nut.andor
7379277b1d Pass time debug button 2024-08-25 23:05:59 +02:00
Nut.andor
6387b87ced Add tick-increase Debug-Button (for testing timers) 2024-08-25 23:04:31 +02:00
Nut.andor
f01c5ff237 Only add the loot once 2024-08-25 23:00:27 +02:00
Nut.andor
5843be57c0 Pull Request #74: Add tick-increase Debug-Button (for testing timers) 2024-08-25 14:04:07 +02:00
OMGeeky
4a62613375 Add tick-increase Debug-Button (for testing timers) 2024-08-25 14:00:39 +02:00
Nut.andor
bec17c65e4 Pull Request #73: Only add the loot once 2024-08-25 13:31:29 +02:00
OMGeeky
315e34185a Only add the loot once to the killedMonsterBags
without this, the loot might be added multiple times to the UI when showing what has been dropped, allowing the player to get more items than they should be allowed to
2024-08-25 13:23:25 +02:00
Daniel Stasiak
5510d88988 Translated using Weblate (Polish)
Currently translated at 79.6% (14509 of 18227 strings)
2024-08-25 08:11:13 +02:00
Mateusz Mendel
803e9a33e0 Translated using Weblate (Polish)
Currently translated at 79.6% (14509 of 18227 strings)
2024-08-24 19:36:28 +02:00
xvy
b346f32e77 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (18227 of 18227 strings)
2024-08-24 09:09:13 +00:00
Nut.andor
585852ecb1 items_misc_2 2024-08-23 00:32:40 +02:00
xvy
6fcc65acd7 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (18227 of 18227 strings)
2024-08-22 20:45:11 +02:00
Daniel Stasiak
19c67b23f1 Translated using Weblate (Polish)
Currently translated at 79.5% (14508 of 18227 strings)
2024-08-21 20:09:22 +02:00
Daniel Stasiak
bd59044951 Translated using Weblate (Polish)
Currently translated at 79.5% (14508 of 18227 strings)
2024-08-20 19:39:38 +02:00
Mateusz Mendel
6255808ed0 Translated using Weblate (Polish)
Currently translated at 79.5% (14508 of 18227 strings)
2024-08-20 19:39:38 +02:00
Frei Tags
77476364cc Translated using Weblate (German)
Currently translated at 92.5% (16865 of 18227 strings)
2024-08-20 19:39:36 +02:00
Bernhardus Z
25a6f050ef Translated using Weblate (German)
Currently translated at 92.5% (16865 of 18227 strings)
2024-08-20 19:39:36 +02:00
Bernhardus Z
990dd40414 Translated using Weblate (German)
Currently translated at 92.5% (16862 of 18227 strings)
2024-08-20 11:10:53 +02:00
Frei Tags
0d2574d31b Translated using Weblate (German)
Currently translated at 92.5% (16862 of 18227 strings)
2024-08-20 11:10:53 +02:00
Bernhardus Z
01dac76b85 Translated using Weblate (German)
Currently translated at 92.5% (16861 of 18227 strings)
2024-08-20 11:10:04 +02:00
xvy
d9602a5e41 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (18227 of 18227 strings)
2024-08-20 09:29:43 +02:00
xvy
5a0a90ca60 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (18227 of 18227 strings)
2024-08-19 12:38:40 +02:00
xvy
10284e801f Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (18227 of 18227 strings)
2024-08-18 22:50:39 +02:00
Neko Alpha
a060552907 Translated using Weblate (Spanish)
Currently translated at 77.7% (14172 of 18227 strings)
2024-08-18 22:50:37 +02:00
xvy
01a2cadcd3 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (18227 of 18227 strings)
2024-08-17 19:09:56 +02:00
Nut.andor
d87e584601 Teleport WX 2024-08-17 19:04:30 +02:00
xvy
fdf8a71acb Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (18227 of 18227 strings)
2024-08-17 15:09:34 +00:00
Daniel Stasiak
9d46fa2583 Translated using Weblate (Polish)
Currently translated at 79.5% (14505 of 18227 strings)
2024-08-17 15:09:31 +00:00
Nut.andor
bfeab1abfa Merge branch 'pulls/1829009049/72' into AT_Source_Next_Release 2024-08-17 12:15:45 +02:00
Nut.andor
7c30577374 Reduce the Item use cost penalty like the move and attack cost penalt… 2024-08-17 12:13:19 +02:00
Nut.andor
e164e50f93 Pull Request #72: Reduce the Item use cost penalty like the move and attack cost penalt… 2024-08-15 20:20:38 +02:00
OMGeeky
f6d3cd59c0 Reduce the Item use cost penalty like the move and attack cost penalties with the heavy armor skill 2024-08-15 20:18:57 +02:00
xvy
11196ce1d4 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (18227 of 18227 strings)
2024-08-15 16:09:21 +02:00
Vi Quang Thanh
db0cfd430c Translated using Weblate (Vietnamese)
Currently translated at 0.4% (88 of 18226 strings)
2024-08-14 03:26:32 +02:00
xvy
7353f44265 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (18227 of 18227 strings)
2024-08-14 03:26:30 +02:00
Vi Quang Thanh
3b19458c3d Translated using Weblate (Vietnamese)
Currently translated at 100.0% (612 of 612 strings)
2024-08-13 01:09:21 +00:00
Vi Quang Thanh
f2d1f8144c Translated using Weblate (Vietnamese)
Currently translated at 0.3% (72 of 18226 strings)
2024-08-13 01:09:18 +00:00
xvy
f39de931c8 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (18227 of 18227 strings)
2024-08-13 01:09:15 +00:00
Vi Quang Thanh
b1a25b485f Translated using Weblate (Vietnamese)
Currently translated at 44.1% (270 of 612 strings)
2024-08-11 21:44:31 +02:00
Vi Quang Thanh
98830faed4 Translated using Weblate (Vietnamese)
Currently translated at 0.2% (45 of 18226 strings)
2024-08-11 21:44:30 +02:00
xvy
198ab0c927 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (18227 of 18227 strings)
2024-08-11 21:44:28 +02:00
xvy
6e8f45b32b Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (18227 of 18227 strings)
2024-08-10 19:10:26 +02:00
xvy
5d534c9b0a Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (18227 of 18227 strings)
2024-08-10 05:09:27 +00:00
Renamed1986
15ba35fbb2 Translated using Weblate (Russian)
Currently translated at 100.0% (18227 of 18227 strings)
2024-08-10 05:09:24 +00:00
xvy
5258ffebbe Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (18227 of 18227 strings)
2024-08-09 05:25:52 +02:00
xvy
2733ccdf8a Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (18227 of 18227 strings)
2024-08-07 18:36:03 +02:00
Jason Cai
52ec176455 Translated using Weblate (English (Developer))
Currently translated at 2.1% (13 of 612 strings)
2024-08-07 08:09:16 +02:00
Jason Cai
a24aaeb7e8 Translated using Weblate (English (Developer))
Currently translated at 0.1% (8 of 18226 strings)
2024-08-07 08:09:15 +02:00
aircqsj
837dbf8393 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (18227 of 18227 strings)
2024-08-07 08:09:13 +02:00
xvy
da97a0857b Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (18227 of 18227 strings)
2024-08-07 08:09:13 +02:00
xvy
df30d586e2 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (18227 of 18227 strings)
2024-08-06 06:26:56 +02:00
xvy
49d7b2fbff Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (612 of 612 strings)
2024-08-05 14:09:38 +02:00
sprin
beec49c9e5 Translated using Weblate (Catalan)
Currently translated at 13.8% (2528 of 18227 strings)
2024-08-05 14:09:37 +02:00
xvy
3cdc6ae8c1 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (18227 of 18227 strings)
2024-08-05 14:09:35 +02:00
sprin
0dcb04e46b Translated using Weblate (Catalan)
Currently translated at 13.8% (2522 of 18227 strings)
2024-08-04 13:25:40 +02:00
xvy
60fe0f38bf Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (18227 of 18227 strings)
2024-08-04 13:25:38 +02:00
sprin
0cf8cdd4c1 Translated using Weblate (Spanish)
Currently translated at 77.6% (14159 of 18227 strings)
2024-08-04 13:25:36 +02:00
sprin
2d7c1ed049 Translated using Weblate (Catalan)
Currently translated at 100.0% (612 of 612 strings)
2024-08-03 19:09:56 +02:00
sprin
49f816be4e Translated using Weblate (Catalan)
Currently translated at 13.8% (2518 of 18227 strings)
2024-08-03 19:09:55 +02:00
xvy
433230dc19 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (18227 of 18227 strings)
2024-08-03 19:09:53 +02:00
sprin
59399e7819 Translated using Weblate (Spanish)
Currently translated at 77.5% (14127 of 18227 strings)
2024-08-03 19:09:50 +02:00
xvy
8342f05fb4 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (18227 of 18227 strings)
2024-08-02 23:18:57 +02:00
xvy
881f556c29 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (18227 of 18227 strings)
2024-08-02 13:07:22 +02:00
xvy
09808990ee Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (18227 of 18227 strings)
2024-08-01 16:09:23 +02:00
xvy
80d54af2a0 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (18227 of 18227 strings)
2024-07-31 15:09:31 +02:00
xvy
282fc90f98 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (18227 of 18227 strings)
2024-07-30 14:03:55 +02:00
xvy
f093b2d3ac Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (18227 of 18227 strings)
2024-07-30 04:09:25 +00:00
xvy
87ba301091 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (18227 of 18227 strings)
2024-07-29 05:09:23 +02:00
xvy
58eb2066f5 Translated using Weblate (Chinese (Simplified))
Currently translated at 99.6% (18164 of 18227 strings)
2024-07-27 19:10:48 +02:00
xvy
e43cead809 Translated using Weblate (Chinese (Simplified))
Currently translated at 98.9% (18037 of 18227 strings)
2024-07-27 06:09:28 +02:00
xvy
7f90039de7 Translated using Weblate (Chinese (Simplified))
Currently translated at 98.7% (17995 of 18227 strings)
2024-07-25 19:09:24 +02:00
xvy
8bafff9855 Translated using Weblate (Chinese (Simplified))
Currently translated at 98.3% (17927 of 18227 strings)
2024-07-24 18:08:13 +02:00
xvy
dc28c9787d Translated using Weblate (Chinese (Simplified))
Currently translated at 98.2% (17915 of 18227 strings)
2024-07-24 17:09:24 +02:00
Daniel Stasiak
4bc9e3e2bf Translated using Weblate (Polish)
Currently translated at 79.5% (14505 of 18227 strings)
2024-07-24 17:09:21 +02:00
xvy
dd71112dc6 Translated using Weblate (Chinese (Simplified))
Currently translated at 97.1% (17708 of 18227 strings)
2024-07-23 15:52:47 +02:00
xvy
29411ae0e8 Translated using Weblate (Chinese (Simplified))
Currently translated at 97.0% (17685 of 18227 strings)
2024-07-23 13:13:32 +02:00
xvy
ceb85adcd6 Translated using Weblate (Chinese (Simplified))
Currently translated at 96.8% (17653 of 18227 strings)
2024-07-23 05:23:24 +02:00
xvy
960525bb40 Translated using Weblate (Chinese (Simplified))
Currently translated at 96.8% (17653 of 18227 strings)
2024-07-22 19:37:46 +02:00
xvy
f9f46e38b4 Translated using Weblate (Chinese (Simplified))
Currently translated at 96.8% (17650 of 18227 strings)
2024-07-22 18:23:14 +02:00
xvy
64220c320b Translated using Weblate (Chinese (Simplified))
Currently translated at 96.7% (17637 of 18227 strings)
2024-07-22 15:30:34 +02:00
xvy
28262aeedf Translated using Weblate (Chinese (Simplified))
Currently translated at 96.7% (17629 of 18227 strings)
2024-07-22 14:44:29 +02:00
Bernhardus Z
4b5af87739 Translated using Weblate (German)
Currently translated at 92.4% (16855 of 18227 strings)
2024-07-22 14:44:28 +02:00
xvy
0d901b2472 Translated using Weblate (Chinese (Simplified))
Currently translated at 96.5% (17603 of 18227 strings)
2024-07-22 13:05:21 +02:00
xvy
a98c621931 Translated using Weblate (Chinese (Simplified))
Currently translated at 96.5% (17598 of 18227 strings)
2024-07-22 12:44:55 +02:00
xvy
83360aebc7 Translated using Weblate (Chinese (Simplified))
Currently translated at 96.3% (17559 of 18227 strings)
2024-07-22 06:08:55 +02:00
Daniel Stasiak
f47112c52e Translated using Weblate (Polish)
Currently translated at 79.5% (14502 of 18227 strings)
2024-07-22 03:26:32 +02:00
Anupam Malhotra
19bf9b0c3d Translated using Weblate (Hindi)
Currently translated at 0.1% (28 of 18226 strings)
2024-07-21 20:56:10 +02:00
xvy
a4f1cb7cfd Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (612 of 612 strings)
2024-07-21 20:56:09 +02:00
xvy
aed7a92340 Translated using Weblate (Chinese (Simplified))
Currently translated at 96.1% (17531 of 18227 strings)
2024-07-21 20:56:08 +02:00
Daniel Stasiak
3f6397a2a9 Translated using Weblate (Polish)
Currently translated at 79.5% (14493 of 18227 strings)
2024-07-21 20:56:07 +02:00
Kanoero
326a518630 Translated using Weblate (Spanish)
Currently translated at 77.5% (14126 of 18227 strings)
2024-07-21 20:56:05 +02:00
Nut.andor
84fa8e5547 debug buttons 2024-07-21 18:53:50 +02:00
xvy
1d5c1edad9 Translated using Weblate (Chinese (Simplified))
Currently translated at 95.7% (17447 of 18227 strings)
2024-07-20 19:12:36 +02:00
xvy
5b0e8d1d25 Translated using Weblate (Chinese (Simplified))
Currently translated at 95.4% (17390 of 18227 strings)
2024-07-20 07:20:36 +02:00
Nut.andor
c9b4da0823 better error message 2024-07-20 01:23:08 +02:00
Nut.andor
4c55c5c2a7 better error message 2024-07-20 00:37:42 +02:00
Nut.andor
ced33a4cda fixes that can't be done by ATCS 2024-07-19 23:48:39 +02:00
Nut.andor
50606e8424 Merge branch 'pulls/1829009049/69' into AT_Source_Next_Release 2024-07-19 23:47:24 +02:00
xvy
3a75b08962 Translated using Weblate (Chinese (Simplified))
Currently translated at 95.3% (17385 of 18227 strings)
2024-07-19 19:09:26 +02:00
Daniel Stasiak
5c0aa7acbb Translated using Weblate (Polish)
Currently translated at 79.5% (14493 of 18227 strings)
2024-07-19 19:09:22 +02:00
Nut.andor
845ea0926e debug buttons 2024-07-19 00:13:12 +02:00
xvy
b89cd7abc0 Translated using Weblate (Chinese (Simplified))
Currently translated at 94.8% (17292 of 18227 strings)
2024-07-18 15:09:28 +02:00
xvy
77659f6539 Translated using Weblate (Chinese (Simplified))
Currently translated at 94.7% (17266 of 18227 strings)
2024-07-17 14:09:23 +02:00
xvy
48343162f9 Translated using Weblate (Chinese (Simplified))
Currently translated at 94.1% (17165 of 18227 strings)
2024-07-16 13:09:38 +02:00
Renamed1986
d1be8b88d4 Translated using Weblate (Russian)
Currently translated at 100.0% (18227 of 18227 strings)
2024-07-16 13:09:35 +02:00
Daniel Stasiak
2aeea3aa13 Translated using Weblate (Polish)
Currently translated at 79.5% (14492 of 18227 strings)
2024-07-16 13:09:32 +02:00
Vũ Minh Long
f7ff8949c4 Translated using Weblate (Vietnamese)
Currently translated at 33.3% (204 of 612 strings)
2024-07-15 07:09:22 +02:00
Vũ Minh Long
565b69489a Translated using Weblate (Vietnamese)
Currently translated at 0.2% (44 of 18226 strings)
2024-07-15 07:09:21 +02:00
David Tamas Szabo
d5142d7f0a Translated using Weblate (Hungarian)
Currently translated at 22.9% (4191 of 18227 strings)
2024-07-15 07:09:20 +02:00
xvy
c83dbccdb7 Translated using Weblate (Chinese (Simplified))
Currently translated at 93.9% (17133 of 18227 strings)
2024-07-15 07:09:18 +02:00
Nut.andor
d60c6b3aa8 remove duplicates 2024-07-14 22:46:34 +02:00
xvy
c8d30efc63 Translated using Weblate (Chinese (Simplified))
Currently translated at 93.9% (17133 of 18227 strings)
2024-07-13 19:10:44 +02:00
Daniel Stasiak
274ae1d826 Translated using Weblate (Polish)
Currently translated at 79.5% (14492 of 18227 strings)
2024-07-13 19:10:42 +02:00
Remko van der Pluijm
085c66b7a4 Translated using Weblate (Dutch)
Currently translated at 6.6% (1214 of 18227 strings)
2024-07-13 19:10:41 +02:00
xvy
07ebbbd682 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (612 of 612 strings)
2024-07-13 08:09:21 +02:00
xvy
8e4f5a6ae7 Translated using Weblate (Chinese (Simplified))
Currently translated at 93.9% (17133 of 18227 strings)
2024-07-13 08:09:19 +02:00
xvy
cac8cf9d38 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (612 of 612 strings)
2024-07-11 20:09:29 +02:00
Cain Rover
4861557cdb Translated using Weblate (Swedish)
Currently translated at 91.5% (560 of 612 strings)
2024-07-11 20:09:29 +02:00
xvy
1f71f60bf9 Translated using Weblate (Chinese (Simplified))
Currently translated at 93.9% (17133 of 18227 strings)
2024-07-11 20:09:27 +02:00
Daniel Stasiak
9547e10def Translated using Weblate (Polish)
Currently translated at 79.5% (14492 of 18227 strings)
2024-07-11 20:09:24 +02:00
xvy
d51dfec557 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (612 of 612 strings)
2024-07-10 15:09:27 +00:00
Cain Rover
89f46e67bf Translated using Weblate (Swedish)
Currently translated at 88.2% (540 of 612 strings)
2024-07-10 15:09:26 +00:00
xvy
d180e233c5 Translated using Weblate (Chinese (Simplified))
Currently translated at 93.7% (17083 of 18227 strings)
2024-07-10 15:09:24 +00:00
Cain Rover
e0f7318ef3 Translated using Weblate (Swedish)
Currently translated at 82.8% (507 of 612 strings)
2024-07-09 15:38:22 +02:00
Cain Rover
29be76dcd5 Translated using Weblate (Swedish)
Currently translated at 82.8% (507 of 612 strings)
2024-07-09 15:02:34 +02:00
Cain Rover
32a9480fc0 Translated using Weblate (Swedish)
Currently translated at 3.8% (700 of 18227 strings)
2024-07-09 15:02:33 +02:00
xvy
e4c14dc6bb Translated using Weblate (Chinese (Simplified))
Currently translated at 93.7% (17083 of 18227 strings)
2024-07-09 15:02:31 +02:00
Kristoffer Grundström
4ef8e254c3 Translated using Weblate (Swedish)
Currently translated at 74.6% (457 of 612 strings)
2024-07-09 02:21:32 +02:00
Cain Rover
53d1cbc4a9 Translated using Weblate (Swedish)
Currently translated at 74.6% (457 of 612 strings)
2024-07-09 02:21:32 +02:00
Cain Rover
b2c345d052 Translated using Weblate (Swedish)
Currently translated at 3.8% (700 of 18227 strings)
2024-07-09 02:21:31 +02:00
xvy
383118f8ef Translated using Weblate (Chinese (Simplified))
Currently translated at 93.7% (17083 of 18227 strings)
2024-07-09 02:21:29 +02:00
xvy
8953854bb3 Translated using Weblate (Chinese (Simplified))
Currently translated at 93.7% (17083 of 18227 strings)
2024-07-08 06:28:01 +02:00
Renamed1986
d378681461 Translated using Weblate (Russian)
Currently translated at 100.0% (18227 of 18227 strings)
2024-07-08 06:27:59 +02:00
Otávio Napoli
039bbe5308 Translated using Weblate (Portuguese (Brazil))
Currently translated at 84.9% (15476 of 18227 strings)
2024-07-08 06:27:55 +02:00
Nut.andor
d4a8ab316e added rope 2024-07-07 23:19:07 +02:00
Otávio Napoli
ffa6a0d7d9 Translated using Weblate (Portuguese (Brazil))
Currently translated at 84.7% (15455 of 18227 strings)
2024-07-07 13:09:39 +02:00
xvy
8e9ceeb61a Translated using Weblate (Chinese (Simplified))
Currently translated at 93.7% (17083 of 18227 strings)
2024-07-06 15:56:18 +02:00
BlackWolf
dccba37195 Translated using Weblate (Hindi)
Currently translated at 0.1% (5 of 18226 strings)
2024-07-04 20:00:15 +02:00
Daniel Stasiak
7fc785c0a2 Translated using Weblate (Polish)
Currently translated at 79.5% (14492 of 18227 strings)
2024-07-03 17:09:13 +00:00
Daniel Stasiak
c5826dac0c Translated using Weblate (Polish)
Currently translated at 79.5% (14491 of 18227 strings)
2024-07-02 14:14:05 +02:00
xvy
a4986a87a3 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (612 of 612 strings)
2024-07-01 03:59:39 +02:00
yumin
e26b7ae6dd Translated using Weblate (Chinese (Traditional))
Currently translated at 5.6% (1030 of 18227 strings)
2024-07-01 03:59:38 +02:00
Renamed1986
190ea5dfe2 Translated using Weblate (Russian)
Currently translated at 97.0% (17686 of 18227 strings)
2024-07-01 03:59:36 +02:00
Renamed1986
984892ea85 Translated using Weblate (Russian)
Currently translated at 96.7% (17627 of 18227 strings)
2024-06-30 06:09:52 +02:00
xvy
e52177fe5c Translated using Weblate (Chinese (Simplified))
Currently translated at 93.7% (17083 of 18227 strings)
2024-06-29 19:12:10 +02:00
xvy
7e24bfc9d1 Translated using Weblate (Chinese (Simplified))
Currently translated at 93.7% (17083 of 18227 strings)
2024-06-29 07:24:16 +02:00
Daniel Stasiak
a52c01087e Translated using Weblate (Polish)
Currently translated at 79.5% (14491 of 18227 strings)
2024-06-28 22:01:16 +02:00
Renamed1986
a300a8f426 Translated using Weblate (Russian)
Currently translated at 95.8% (17477 of 18227 strings)
2024-06-28 18:48:23 +02:00
Mateusz Mendel
ed4ed55854 Translated using Weblate (Polish)
Currently translated at 79.4% (14490 of 18227 strings)
2024-06-28 18:48:21 +02:00
Daniel Stasiak
5889f57731 Translated using Weblate (Polish)
Currently translated at 79.4% (14490 of 18227 strings)
2024-06-28 18:48:21 +02:00
Daniel Stasiak
44e4de191e Translated using Weblate (Polish)
Currently translated at 79.4% (14489 of 18227 strings)
2024-06-28 14:33:04 +02:00
Mateusz Mendel
16f10facc3 Translated using Weblate (Polish)
Currently translated at 79.4% (14489 of 18227 strings)
2024-06-28 14:33:04 +02:00
Mateusz Mendel
efa8547c2a Translated using Weblate (Polish)
Currently translated at 79.4% (14488 of 18227 strings)
2024-06-28 14:32:26 +02:00
Daniel Stasiak
7037f0574b Translated using Weblate (Polish)
Currently translated at 79.4% (14488 of 18227 strings)
2024-06-28 14:32:25 +02:00
Daniel Stasiak
e59108291b Translated using Weblate (Polish)
Currently translated at 79.4% (14487 of 18227 strings)
2024-06-28 14:02:44 +02:00
Mateusz Mendel
55c671cc4b Translated using Weblate (Polish)
Currently translated at 79.4% (14487 of 18227 strings)
2024-06-28 14:02:44 +02:00
Daniel Stasiak
d8b6530e69 Translated using Weblate (Polish)
Currently translated at 79.4% (14486 of 18227 strings)
2024-06-28 14:01:54 +02:00
Mateusz Mendel
5d46a0419b Translated using Weblate (Polish)
Currently translated at 79.4% (14486 of 18227 strings)
2024-06-28 14:01:54 +02:00
Mateusz Mendel
d012f79822 Translated using Weblate (Polish)
Currently translated at 79.4% (14485 of 18227 strings)
2024-06-28 14:00:41 +02:00
Daniel Stasiak
818883a98a Translated using Weblate (Polish)
Currently translated at 79.4% (14485 of 18227 strings)
2024-06-28 14:00:40 +02:00
Mateusz Mendel
79669cb581 Translated using Weblate (Polish)
Currently translated at 79.4% (14484 of 18227 strings)
2024-06-28 14:00:16 +02:00
Daniel Stasiak
47f436e288 Translated using Weblate (Polish)
Currently translated at 79.4% (14484 of 18227 strings)
2024-06-28 14:00:15 +02:00
Daniel Stasiak
71ac706449 Translated using Weblate (Polish)
Currently translated at 79.4% (14482 of 18227 strings)
2024-06-28 13:58:38 +02:00
Mateusz Mendel
128c753057 Translated using Weblate (Polish)
Currently translated at 79.4% (14482 of 18227 strings)
2024-06-28 13:58:38 +02:00
Mateusz Mendel
b6a8074657 Translated using Weblate (Polish)
Currently translated at 79.4% (14481 of 18227 strings)
2024-06-28 13:57:45 +02:00
Daniel Stasiak
c2a347fb00 Translated using Weblate (Polish)
Currently translated at 79.4% (14481 of 18227 strings)
2024-06-28 13:57:44 +02:00
xvy
70709e0bf8 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (612 of 612 strings)
2024-06-28 13:55:34 +02:00
xvy
16992d9d43 Translated using Weblate (Chinese (Simplified))
Currently translated at 93.7% (17083 of 18227 strings)
2024-06-28 13:55:34 +02:00
Mateusz Mendel
aa819d7737 Translated using Weblate (Polish)
Currently translated at 79.4% (14480 of 18227 strings)
2024-06-28 13:55:33 +02:00
xvy
790749df12 Translated using Weblate (Chinese (Simplified))
Currently translated at 93.7% (17083 of 18227 strings)
2024-06-28 00:37:21 +02:00
Palkia
a2cb909b52 Translated using Weblate (Spanish)
Currently translated at 100.0% (612 of 612 strings)
2024-06-27 16:09:31 +02:00
xvy
4058450016 Translated using Weblate (Chinese (Simplified))
Currently translated at 93.6% (17066 of 18227 strings)
2024-06-27 16:09:30 +02:00
Daniel Stasiak
6233bad209 Translated using Weblate (Polish)
Currently translated at 79.4% (14479 of 18227 strings)
2024-06-27 16:09:27 +02:00
Mateusz Mendel
e52887b074 Translated using Weblate (Polish)
Currently translated at 79.4% (14479 of 18227 strings)
2024-06-27 16:09:26 +02:00
Palkia
f9f53d18fb Translated using Weblate (Spanish)
Currently translated at 77.3% (14101 of 18227 strings)
2024-06-27 16:09:23 +02:00
xvy
d4b30ecb15 Translated using Weblate (Chinese (Simplified))
Currently translated at 93.6% (17066 of 18227 strings)
2024-06-26 12:49:41 +02:00
xvy
1c0bafba6e Translated using Weblate (Chinese (Simplified))
Currently translated at 93.5% (17060 of 18227 strings)
2024-06-26 11:43:34 +02:00
Mateusz Mendel
67fd45ea54 Translated using Weblate (Polish)
Currently translated at 79.4% (14479 of 18227 strings)
2024-06-26 01:09:25 +02:00
Daniel Stasiak
12cefe3d84 Translated using Weblate (Polish)
Currently translated at 79.4% (14479 of 18227 strings)
2024-06-26 01:09:25 +02:00
xvy
3d24e79b9a Translated using Weblate (Chinese (Simplified))
Currently translated at 93.5% (17060 of 18227 strings)
2024-06-25 11:14:17 +02:00
Daniel Stasiak
43bbd1d95c Translated using Weblate (Polish)
Currently translated at 79.4% (14477 of 18227 strings)
2024-06-25 11:14:14 +02:00
xvy
2065a29d04 Translated using Weblate (Chinese (Simplified))
Currently translated at 93.5% (17060 of 18227 strings)
2024-06-25 05:05:57 +02:00
Daniel Stasiak
c45fae6ab1 Translated using Weblate (Polish)
Currently translated at 79.4% (14477 of 18227 strings)
2024-06-25 05:05:55 +02:00
Daniel Stasiak
0d3ee38d0e Translated using Weblate (Polish)
Currently translated at 79.4% (14477 of 18227 strings)
2024-06-24 18:16:34 +02:00
Mateusz Mendel
7de1fe0f75 Translated using Weblate (Polish)
Currently translated at 79.4% (14476 of 18227 strings)
2024-06-24 15:13:58 +02:00
Daniel Stasiak
f499ee52a9 Translated using Weblate (Polish)
Currently translated at 79.4% (14476 of 18227 strings)
2024-06-24 15:13:57 +02:00
Mateusz Mendel
0b9dd43505 Translated using Weblate (Polish)
Currently translated at 79.4% (14475 of 18227 strings)
2024-06-24 15:11:50 +02:00
Daniel Stasiak
09a856944d Translated using Weblate (Polish)
Currently translated at 79.4% (14475 of 18227 strings)
2024-06-24 15:11:50 +02:00
Mateusz Mendel
ef6e997665 Translated using Weblate (Polish)
Currently translated at 79.3% (14472 of 18227 strings)
2024-06-24 14:37:12 +02:00
Daniel Stasiak
f62ab4ca00 Translated using Weblate (Polish)
Currently translated at 79.3% (14472 of 18227 strings)
2024-06-24 14:37:12 +02:00
Mateusz Mendel
bd084d6a44 Translated using Weblate (Polish)
Currently translated at 79.3% (14471 of 18227 strings)
2024-06-24 14:36:53 +02:00
Daniel Stasiak
0462d8c85d Translated using Weblate (Polish)
Currently translated at 79.3% (14471 of 18227 strings)
2024-06-24 14:36:53 +02:00
Mateusz Mendel
b5444303b9 Translated using Weblate (Polish)
Currently translated at 79.3% (14470 of 18227 strings)
2024-06-24 14:36:09 +02:00
Daniel Stasiak
5ea73d795d Translated using Weblate (Polish)
Currently translated at 79.3% (14470 of 18227 strings)
2024-06-24 14:36:09 +02:00
Daniel Stasiak
5c7d4db3a7 Translated using Weblate (Polish)
Currently translated at 79.3% (14469 of 18227 strings)
2024-06-24 14:34:57 +02:00
Mateusz Mendel
d0df9b88e8 Translated using Weblate (Polish)
Currently translated at 79.3% (14469 of 18227 strings)
2024-06-24 14:34:57 +02:00
Daniel Stasiak
9adb719b13 Translated using Weblate (Polish)
Currently translated at 79.3% (14468 of 18227 strings)
2024-06-24 14:33:47 +02:00
Mateusz Mendel
ba101cf562 Translated using Weblate (Polish)
Currently translated at 79.3% (14468 of 18227 strings)
2024-06-24 14:33:47 +02:00
Daniel Stasiak
d6fe5c9fb8 Translated using Weblate (Polish)
Currently translated at 79.3% (14467 of 18227 strings)
2024-06-24 14:30:39 +02:00
Mateusz Mendel
cbdc47335c Translated using Weblate (Polish)
Currently translated at 79.3% (14467 of 18227 strings)
2024-06-24 14:30:39 +02:00
Mateusz Mendel
1d5c3efd83 Translated using Weblate (Polish)
Currently translated at 79.3% (14466 of 18227 strings)
2024-06-24 14:28:31 +02:00
Daniel Stasiak
64f7b3ff26 Translated using Weblate (Polish)
Currently translated at 79.3% (14466 of 18227 strings)
2024-06-24 14:28:31 +02:00
Mateusz Mendel
da604679de Translated using Weblate (Polish)
Currently translated at 79.3% (14465 of 18227 strings)
2024-06-24 14:26:58 +02:00
Daniel Stasiak
8a057b66a0 Translated using Weblate (Polish)
Currently translated at 79.3% (14465 of 18227 strings)
2024-06-24 14:26:58 +02:00
Mateusz Mendel
d3ad383d83 Translated using Weblate (Polish)
Currently translated at 79.3% (14464 of 18227 strings)
2024-06-24 14:25:25 +02:00
Daniel Stasiak
ff003eff27 Translated using Weblate (Polish)
Currently translated at 79.3% (14464 of 18227 strings)
2024-06-24 14:25:25 +02:00
Mateusz Mendel
56ec8e02b5 Translated using Weblate (Polish)
Currently translated at 79.3% (14463 of 18227 strings)
2024-06-24 14:23:15 +02:00
Renamed1986
ca9aba5ec1 Translated using Weblate (Russian)
Currently translated at 94.5% (17227 of 18227 strings)
2024-06-24 04:38:53 +02:00
Raphi
d88832677f Translated using Weblate (German)
Currently translated at 92.4% (16851 of 18227 strings)
2024-06-22 19:12:27 +02:00
Nut.andor
570d9da321 Pull Request #69: remove duplicates 2024-06-22 15:19:50 +02:00
OMGeeky
99f4ab5e6b remove duplicates 2024-06-22 15:13:30 +02:00
Daniel Stasiak
1f1e4302ae Translated using Weblate (Polish)
Currently translated at 79.3% (14462 of 18227 strings)
2024-06-21 22:50:21 +02:00
Renamed1986
e8ea1e391c Translated using Weblate (Russian)
Currently translated at 93.7% (17091 of 18227 strings)
2024-06-21 12:48:56 +02:00
Filip
1b80638e78 Translated using Weblate (Polish)
Currently translated at 79.2% (14446 of 18227 strings)
2024-06-21 12:48:49 +02:00
Mateusz Mendel
b3a5564585 Translated using Weblate (Polish)
Currently translated at 79.2% (14446 of 18227 strings)
2024-06-20 02:13:30 +02:00
Filip
675ff6f979 Translated using Weblate (Polish)
Currently translated at 79.2% (14446 of 18227 strings)
2024-06-20 02:13:29 +02:00
Filip
995ee74fce Translated using Weblate (Polish)
Currently translated at 100.0% (612 of 612 strings)
2024-06-20 02:13:28 +02:00
Nut.andor
bf13ac460d Debug buttons 2024-06-19 23:33:35 +02:00
Nut.andor
c4eb2b2d3a Debug buttons 2024-06-19 23:24:32 +02:00
Daniel Stasiak
f1afbb6b1c Translated using Weblate (Polish)
Currently translated at 79.2% (14446 of 18227 strings)
2024-06-18 23:09:27 +02:00
Filip
3cf383a0d1 Translated using Weblate (Polish)
Currently translated at 79.2% (14446 of 18227 strings)
2024-06-18 23:09:26 +02:00
Mateusz Mendel
39f5100c50 Translated using Weblate (Polish)
Currently translated at 79.2% (14446 of 18227 strings)
2024-06-18 23:09:25 +02:00
Palkia
21ae554f42 Translated using Weblate (Spanish)
Currently translated at 77.2% (14074 of 18227 strings)
2024-06-18 23:09:22 +02:00
Filip
f77bb731bf Translated using Weblate (Polish)
Currently translated at 100.0% (612 of 612 strings)
2024-06-18 23:09:20 +02:00
Mateusz Mendel
e879aeea24 Translated using Weblate (Polish)
Currently translated at 79.2% (14445 of 18227 strings)
2024-06-17 22:50:34 +02:00
Daniel Stasiak
aa41356aa7 Translated using Weblate (Polish)
Currently translated at 79.2% (14445 of 18227 strings)
2024-06-17 22:50:34 +02:00
Daniel Stasiak
05e51309ba Translated using Weblate (Polish)
Currently translated at 79.2% (14444 of 18227 strings)
2024-06-17 22:49:55 +02:00
Mateusz Mendel
82212cbb13 Translated using Weblate (Polish)
Currently translated at 79.2% (14444 of 18227 strings)
2024-06-17 22:49:55 +02:00
Mateusz Mendel
42d68399d8 Translated using Weblate (Polish)
Currently translated at 79.2% (14442 of 18227 strings)
2024-06-17 22:43:03 +02:00
Daniel Stasiak
19c5957601 Translated using Weblate (Polish)
Currently translated at 79.2% (14442 of 18227 strings)
2024-06-17 22:43:03 +02:00
Mateusz Mendel
8a16efa9f6 Translated using Weblate (Polish)
Currently translated at 79.2% (14441 of 18227 strings)
2024-06-17 22:39:26 +02:00
Daniel Stasiak
ba6d541682 Translated using Weblate (Polish)
Currently translated at 79.2% (14441 of 18227 strings)
2024-06-17 22:39:26 +02:00
Mateusz Mendel
ccc3bc0b0d Translated using Weblate (Polish)
Currently translated at 79.2% (14440 of 18227 strings)
2024-06-17 22:37:28 +02:00
Daniel Stasiak
9778aabaed Translated using Weblate (Polish)
Currently translated at 79.2% (14440 of 18227 strings)
2024-06-17 22:37:28 +02:00
Mateusz Mendel
d7db07529e Translated using Weblate (Polish)
Currently translated at 79.2% (14437 of 18227 strings)
2024-06-17 22:31:21 +02:00
Daniel Stasiak
f7ff05e6e9 Translated using Weblate (Polish)
Currently translated at 79.2% (14437 of 18227 strings)
2024-06-17 22:31:21 +02:00
Mateusz Mendel
b1497a3f79 Translated using Weblate (Polish)
Currently translated at 79.2% (14436 of 18227 strings)
2024-06-17 22:28:02 +02:00
Daniel Stasiak
8640cf5f28 Translated using Weblate (Polish)
Currently translated at 79.2% (14436 of 18227 strings)
2024-06-17 22:28:02 +02:00
Mateusz Mendel
86be492cee Translated using Weblate (Polish)
Currently translated at 79.1% (14435 of 18227 strings)
2024-06-17 22:24:06 +02:00
Daniel Stasiak
e105dc68dd Translated using Weblate (Polish)
Currently translated at 79.1% (14435 of 18227 strings)
2024-06-17 22:24:06 +02:00
Mateusz Mendel
e17197d518 Translated using Weblate (Polish)
Currently translated at 79.1% (14434 of 18227 strings)
2024-06-17 22:21:32 +02:00
Nut.andor
0b2dbe53e3 Next version numbers 2024-06-17 20:51:52 +02:00
Nut.andor
a64c45586f whatsnew 2024-06-17 20:28:28 +02:00
daudiffa
106b43b7fd Translated using Weblate (Indonesian)
Currently translated at 89.6% (16345 of 18227 strings)
2024-06-17 11:04:15 +02:00
Nut.andor
e4aa742882 Merge branch 'v0.8.11' 2024-06-16 20:10:22 +02:00
Nut.andor
a4f67e6feb whatsnew + translation status 2024-06-16 20:07:14 +02:00
Nut.andor
794303eacd potc 2024-06-16 19:43:41 +02:00
Nut.andor
2b53d200f0 laeroth content 2024-06-16 19:37:13 +02:00
Nut.andor
d288c23e53 Merge remote-tracking branch 'hosted.weblate/master' into v0.8.11 2024-06-16 19:15:19 +02:00
Nut.andor
1e0ee6fc7f release name 2024-06-16 19:14:57 +02:00
Daniel Stasiak
86af20dcc4 Translated using Weblate (Polish)
Currently translated at 84.4% (14413 of 17061 strings)
2024-06-16 17:12:17 +00:00
Daniel Stasiak
d0eb30ad02 Translated using Weblate (Polish)
Currently translated at 84.4% (14413 of 17061 strings)
2024-06-16 11:29:45 +02:00
Mateusz Mendel
d39fb1d6e8 Translated using Weblate (Polish)
Currently translated at 84.4% (14413 of 17061 strings)
2024-06-16 11:29:45 +02:00
Mateusz Mendel
c41a40894e Translated using Weblate (Polish)
Currently translated at 84.4% (14412 of 17061 strings)
2024-06-16 11:29:04 +02:00
Daniel Stasiak
e5a98bc252 Translated using Weblate (Polish)
Currently translated at 84.4% (14412 of 17061 strings)
2024-06-16 11:29:04 +02:00
Daniel Stasiak
45f770dcc1 Translated using Weblate (Polish)
Currently translated at 84.4% (14411 of 17061 strings)
2024-06-16 10:48:50 +02:00
Daniel Stasiak
5e79b15320 Translated using Weblate (Polish)
Currently translated at 84.4% (14411 of 17061 strings)
2024-06-16 10:48:49 +02:00
Mateusz Mendel
34ab4601e4 Translated using Weblate (Polish)
Currently translated at 84.4% (14411 of 17061 strings)
2024-06-16 10:48:49 +02:00
Mateusz Mendel
39303c0381 Translated using Weblate (Polish)
Currently translated at 84.4% (14409 of 17061 strings)
2024-06-16 10:37:47 +02:00
Daniel Stasiak
e4a2c925ef Translated using Weblate (Polish)
Currently translated at 84.4% (14409 of 17061 strings)
2024-06-16 10:37:47 +02:00
Mateusz Mendel
5e6e233a84 Translated using Weblate (Polish)
Currently translated at 84.4% (14408 of 17061 strings)
2024-06-16 10:36:29 +02:00
Daniel Stasiak
4a118451dd Translated using Weblate (Polish)
Currently translated at 84.4% (14408 of 17061 strings)
2024-06-16 10:36:28 +02:00
Mateusz Mendel
53de86e4f9 Translated using Weblate (Polish)
Currently translated at 84.4% (14407 of 17061 strings)
2024-06-16 10:35:44 +02:00
Daniel Stasiak
4c18ff2615 Translated using Weblate (Polish)
Currently translated at 84.4% (14407 of 17061 strings)
2024-06-16 10:35:44 +02:00
Daniel Stasiak
db9821956c Translated using Weblate (Polish)
Currently translated at 84.4% (14406 of 17061 strings)
2024-06-16 10:35:07 +02:00
Mateusz Mendel
90da983317 Translated using Weblate (Polish)
Currently translated at 84.4% (14406 of 17061 strings)
2024-06-16 10:35:06 +02:00
Mateusz Mendel
342441aa36 Translated using Weblate (Polish)
Currently translated at 84.4% (14405 of 17061 strings)
2024-06-16 10:32:19 +02:00
Daniel Stasiak
9250db38be Translated using Weblate (Polish)
Currently translated at 84.4% (14405 of 17061 strings)
2024-06-16 10:32:19 +02:00
Mateusz Mendel
8782190bdf Translated using Weblate (Polish)
Currently translated at 84.4% (14404 of 17061 strings)
2024-06-16 10:30:02 +02:00
Daniel Stasiak
7d58901811 Translated using Weblate (Polish)
Currently translated at 84.4% (14404 of 17061 strings)
2024-06-16 10:30:01 +02:00
Daniel Stasiak
9e885c6d7a Translated using Weblate (Polish)
Currently translated at 84.4% (14403 of 17061 strings)
2024-06-16 10:27:24 +02:00
Mateusz Mendel
ef1fc76f3c Translated using Weblate (Polish)
Currently translated at 84.4% (14403 of 17061 strings)
2024-06-16 10:27:23 +02:00
Daniel Stasiak
3e8fe3426d Translated using Weblate (Polish)
Currently translated at 84.4% (14402 of 17061 strings)
2024-06-16 10:26:23 +02:00
Mateusz Mendel
cb445ec643 Translated using Weblate (Polish)
Currently translated at 84.4% (14402 of 17061 strings)
2024-06-16 10:26:23 +02:00
Mateusz Mendel
6609a7b84a Translated using Weblate (Polish)
Currently translated at 84.4% (14400 of 17061 strings)
2024-06-16 10:21:54 +02:00
Daniel Stasiak
d6732bbe2e Translated using Weblate (Polish)
Currently translated at 84.4% (14400 of 17061 strings)
2024-06-16 10:21:54 +02:00
Palkia
2a188aa05d Translated using Weblate (Spanish)
Currently translated at 81.9% (13975 of 17061 strings)
2024-06-16 10:21:53 +02:00
Filip
bebe59537c Translated using Weblate (Polish)
Currently translated at 84.2% (14378 of 17061 strings)
2024-06-15 23:29:09 +02:00
Mateusz Mendel
cb7628c859 Translated using Weblate (Polish)
Currently translated at 84.2% (14378 of 17061 strings)
2024-06-15 23:29:09 +02:00
Mateusz Mendel
6cc167d9d4 Translated using Weblate (Polish)
Currently translated at 84.2% (14370 of 17061 strings)
2024-06-15 22:27:14 +02:00
Filip
62f5eb00ba Translated using Weblate (Polish)
Currently translated at 84.2% (14370 of 17061 strings)
2024-06-15 22:27:13 +02:00
Filip
762fbe5191 Translated using Weblate (Polish)
Currently translated at 84.2% (14370 of 17061 strings)
2024-06-15 22:26:17 +02:00
Filip
afe758fddb Translated using Weblate (Polish)
Currently translated at 84.2% (14369 of 17061 strings)
2024-06-15 22:25:01 +02:00
Filip
c05d9082f6 Translated using Weblate (Polish)
Currently translated at 84.2% (14367 of 17061 strings)
2024-06-15 22:24:40 +02:00
Mateusz Mendel
1f12c08ca3 Translated using Weblate (Polish)
Currently translated at 84.2% (14367 of 17061 strings)
2024-06-15 22:24:40 +02:00
Filip
dc6b17b77b Translated using Weblate (Polish)
Currently translated at 84.1% (14365 of 17061 strings)
2024-06-15 22:23:41 +02:00
Mateusz Mendel
38d8f205fc Translated using Weblate (Polish)
Currently translated at 84.1% (14365 of 17061 strings)
2024-06-15 22:23:41 +02:00
Filip
f6660ec7b0 Translated using Weblate (Polish)
Currently translated at 84.1% (14361 of 17061 strings)
2024-06-15 22:21:08 +02:00
Mateusz Mendel
851e9e1b40 Translated using Weblate (Polish)
Currently translated at 84.1% (14361 of 17061 strings)
2024-06-15 22:21:08 +02:00
Mateusz Mendel
b890c9b8f8 Translated using Weblate (Polish)
Currently translated at 84.1% (14359 of 17061 strings)
2024-06-15 22:19:11 +02:00
Filip
4d3606fe49 Translated using Weblate (Polish)
Currently translated at 84.1% (14359 of 17061 strings)
2024-06-15 22:19:11 +02:00
Filip
b51772e207 Translated using Weblate (Polish)
Currently translated at 84.1% (14354 of 17061 strings)
2024-06-15 22:14:26 +02:00
Mateusz Mendel
3ccf5eb3e1 Translated using Weblate (Polish)
Currently translated at 84.1% (14354 of 17061 strings)
2024-06-15 22:14:26 +02:00
Mateusz Mendel
5a6eb9b0fb Translated using Weblate (Polish)
Currently translated at 84.1% (14349 of 17061 strings)
2024-06-15 22:09:42 +02:00
Filip
1c3b3e5841 Translated using Weblate (Polish)
Currently translated at 84.1% (14349 of 17061 strings)
2024-06-15 22:09:42 +02:00
Filip
fe5de9c6d7 Translated using Weblate (Polish)
Currently translated at 84.0% (14346 of 17061 strings)
2024-06-15 22:05:04 +02:00
Mateusz Mendel
866ee65964 Translated using Weblate (Polish)
Currently translated at 84.0% (14346 of 17061 strings)
2024-06-15 22:05:04 +02:00
Filip
1b32b1f9b5 Translated using Weblate (Polish)
Currently translated at 84.0% (14344 of 17061 strings)
2024-06-15 22:03:35 +02:00
Mateusz Mendel
5708f1111a Translated using Weblate (Polish)
Currently translated at 84.0% (14344 of 17061 strings)
2024-06-15 22:03:35 +02:00
Filip
ae0bbb4b0b Translated using Weblate (Polish)
Currently translated at 84.0% (14333 of 17061 strings)
2024-06-15 21:45:54 +02:00
Filip
ada8ed6583 Translated using Weblate (Polish)
Currently translated at 83.9% (14327 of 17061 strings)
2024-06-15 19:13:04 +02:00
Palkia
a67edc6f2b Translated using Weblate (Spanish)
Currently translated at 81.5% (13917 of 17061 strings)
2024-06-15 19:13:03 +02:00
Dante Avila
dbf3eda49b Translated using Weblate (Spanish)
Currently translated at 81.2% (13867 of 17061 strings)
2024-06-15 13:11:19 +02:00
Palkia
abee648344 Translated using Weblate (Spanish)
Currently translated at 81.2% (13867 of 17061 strings)
2024-06-15 13:11:19 +02:00
Vũ Minh Long
4f77bbb69e Translated using Weblate (Vietnamese)
Currently translated at 29.7% (182 of 612 strings)
2024-06-15 10:09:27 +02:00
Vũ Minh Long
9383efdb9d Translated using Weblate (Vietnamese)
Currently translated at 0.2% (43 of 17060 strings)
2024-06-15 10:09:26 +02:00
Filip
32ab09aa36 Translated using Weblate (Polish)
Currently translated at 83.9% (14326 of 17061 strings)
2024-06-15 10:09:24 +02:00
Palkia
b81d381fc4 Translated using Weblate (Spanish)
Currently translated at 79.8% (13623 of 17061 strings)
2024-06-15 10:09:22 +02:00
Filip
4dec9dc7db Translated using Weblate (Polish)
Currently translated at 83.7% (14286 of 17061 strings)
2024-06-14 01:52:09 +02:00
Silence
a08bf5ed49 Translated using Weblate (French)
Currently translated at 94.9% (16201 of 17061 strings)
2024-06-14 01:52:06 +02:00
Mateusz Mendel
321085d3e9 Translated using Weblate (Polish)
Currently translated at 83.5% (14247 of 17061 strings)
2024-06-11 23:06:15 +02:00
Otávio Napoli
98fbdce95e Translated using Weblate (Portuguese (Brazil))
Currently translated at 90.5% (15446 of 17061 strings)
2024-06-09 22:09:27 +02:00
Ranforingus
5bd15e489b Translated using Weblate (Dutch)
Currently translated at 98.2% (601 of 612 strings)
2024-06-08 19:12:11 +02:00
Remko van der Pluijm
5531241ca4 Translated using Weblate (Dutch)
Currently translated at 98.2% (601 of 612 strings)
2024-06-08 19:12:11 +02:00
xvy
3bf9eca3a9 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (17061 of 17061 strings)
2024-06-08 19:12:10 +02:00
Ranforingus
90bdb77beb Translated using Weblate (Dutch)
Currently translated at 6.9% (1190 of 17061 strings)
2024-06-08 19:12:09 +02:00
Remko van der Pluijm
73ff117ddd Translated using Weblate (Dutch)
Currently translated at 6.9% (1190 of 17061 strings)
2024-06-08 19:12:08 +02:00
hugoalh
0c36d1b045 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (612 of 612 strings)
2024-06-07 09:17:50 +02:00
Burak Hüseyin Ekseli
2408171c9d Translated using Weblate (Turkish)
Currently translated at 32.7% (5584 of 17061 strings)
2024-06-06 03:14:19 +02:00
Mateusz Mendel
35ba477cd4 Translated using Weblate (Polish)
Currently translated at 83.5% (14246 of 17061 strings)
2024-06-04 06:06:33 +02:00
Daniel Stasiak
219acf7618 Translated using Weblate (Polish)
Currently translated at 83.5% (14246 of 17061 strings)
2024-06-02 23:43:21 +02:00
Daniel Stasiak
b619137ae3 Translated using Weblate (Polish)
Currently translated at 83.5% (14246 of 17061 strings)
2024-06-01 14:38:08 +02:00
Daniel Stasiak
1516381ec6 Translated using Weblate (Polish)
Currently translated at 83.5% (14246 of 17061 strings)
2024-06-01 13:24:07 +02:00
Nut.andor
40c816b4e9 debug buttons 2024-05-30 19:38:04 +02:00
Daniel Stasiak
1a0c36e179 Translated using Weblate (Polish)
Currently translated at 83.5% (14246 of 17061 strings)
2024-05-29 13:03:05 +02:00
Daniel Stasiak
399cd68643 Translated using Weblate (Polish)
Currently translated at 83.5% (14246 of 17061 strings)
2024-05-28 14:09:25 +02:00
Otávio Napoli
aa5872b022 Translated using Weblate (Portuguese (Brazil))
Currently translated at 90.4% (15431 of 17061 strings)
2024-05-26 10:18:56 +02:00
Nut.andor
c38357ff7f Merge remote-tracking branch 'hosted.weblate/master' into v0.8.11 2024-05-26 00:15:22 +02:00
xvy
feac4292af Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (17061 of 17061 strings)
2024-05-25 19:10:31 +02:00
xvy
11a9d15df0 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (17061 of 17061 strings)
2024-05-24 08:09:23 +02:00
Otávio Napoli
879a57e06d Translated using Weblate (Portuguese (Brazil))
Currently translated at 90.3% (15417 of 17061 strings)
2024-05-23 05:31:03 +02:00
xvy
2b3759151d Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (612 of 612 strings)
2024-05-22 17:24:26 +02:00
xvy
33487fe4c0 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (17061 of 17061 strings)
2024-05-22 17:24:25 +02:00
Otávio Napoli
7004d31aa9 Translated using Weblate (Portuguese (Brazil))
Currently translated at 90.3% (15416 of 17061 strings)
2024-05-22 17:24:22 +02:00
Otávio Napoli
b3cbe50138 Translated using Weblate (Portuguese (Brazil))
Currently translated at 90.3% (15414 of 17061 strings)
2024-05-22 09:09:00 +02:00
xvy
0fd7ef32ad Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (612 of 612 strings)
2024-05-17 06:01:57 +02:00
xvy
aff84a8054 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (17061 of 17061 strings)
2024-05-17 06:01:55 +02:00
Nut.andor
c3c74e9e56 debug 2024-05-16 01:35:59 +02:00
xvy
0113a57311 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (612 of 612 strings)
2024-05-15 22:46:02 +02:00
xvy
e03cd77f81 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (17061 of 17061 strings)
2024-05-15 22:46:02 +02:00
Derik Douglas Jesus da Silva
82be86bffb Translated using Weblate (Portuguese (Brazil))
Currently translated at 90.1% (15388 of 17061 strings)
2024-05-14 16:01:59 +02:00
Daniel Stasiak
f9cab276fb Translated using Weblate (Polish)
Currently translated at 83.5% (14246 of 17061 strings)
2024-05-14 16:01:57 +02:00
steve ross
5979cb4773 Translated using Weblate (Italian)
Currently translated at 97.0% (594 of 612 strings)
2024-05-14 16:01:55 +02:00
xvy
0df8568f37 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (612 of 612 strings)
2024-05-13 12:00:32 +02:00
xvy
88439ed08b Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (17061 of 17061 strings)
2024-05-13 12:00:30 +02:00
xvy
5b109cd5b9 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (17061 of 17061 strings)
2024-05-11 07:00:44 +02:00
xvy
5ae9d9e009 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (612 of 612 strings)
2024-05-09 22:59:20 +02:00
xvy
df093ba457 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (17061 of 17061 strings)
2024-05-09 22:59:15 +02:00
xvy
57c598227e Translated using Weblate (Chinese (Simplified))
Currently translated at 99.8% (17043 of 17061 strings)
2024-05-09 12:36:07 +02:00
Daniel Stasiak
e70580fcb1 Translated using Weblate (Polish)
Currently translated at 83.4% (14245 of 17061 strings)
2024-05-07 20:07:47 +02:00
xvy
8a8ad9b82b Translated using Weblate (Chinese (Simplified))
Currently translated at 99.1% (16908 of 17061 strings)
2024-05-05 22:51:12 +02:00
Nut.andor
2c395ca5e1 debug 2024-05-05 13:46:21 +02:00
xvy
51cd079680 Translated using Weblate (Chinese (Simplified))
Currently translated at 98.7% (16854 of 17061 strings)
2024-05-05 09:59:39 +02:00
Miroslav Iliev
4c97b65acf Translated using Weblate (Bulgarian)
Currently translated at 73.2% (448 of 612 strings)
2024-05-03 22:10:40 +02:00
Luca Benassi
13134ae67d Translated using Weblate (Italian)
Currently translated at 74.0% (12638 of 17061 strings)
2024-05-03 22:10:40 +02:00
xvy
3a446af265 Translated using Weblate (Chinese (Simplified))
Currently translated at 98.7% (16850 of 17061 strings)
2024-05-02 17:07:56 +02:00
Renamed1986
ae1f9b6015 Translated using Weblate (Russian)
Currently translated at 100.0% (17061 of 17061 strings)
2024-05-02 17:07:53 +02:00
tabby
313514ebe5 Translated using Weblate (Korean)
Currently translated at 8.2% (1409 of 17061 strings)
2024-05-02 17:07:50 +02:00
Renamed1986
b0caaeda1e Translated using Weblate (Russian)
Currently translated at 99.3% (16956 of 17061 strings)
2024-05-01 10:30:28 +02:00
Luca Benassi
c3924e7193 Translated using Weblate (Italian)
Currently translated at 74.0% (12626 of 17061 strings)
2024-04-30 14:07:30 +02:00
Raphi
5f42305af7 Translated using Weblate (German)
Currently translated at 98.7% (16851 of 17061 strings)
2024-04-30 14:07:27 +02:00
Nut.andor
9513c8a790 next version 2024-04-30 00:06:42 +02:00
Nut.andor
9b59b018f1 whats new 2024-04-28 12:13:05 +02:00
Nut.andor
fe7eb87f6d translation states 2024-04-28 03:14:09 +02:00
Nut.andor
e0093c31af Merge branch 'v0.8.10' 2024-04-28 03:07:59 +02:00
Nut.andor
00beaf68e8 missing gradle lines 2024-04-28 02:59:58 +02:00
Nut.andor
2594c9d096 potc 2024-04-28 01:09:12 +02:00
Nut.andor
23a122c093 preparation for release 2024-04-28 01:08:48 +02:00
Nut.andor
810a1e810c add new content 2024-04-28 00:44:06 +02:00
Nut.andor
a382008e9b Merge remote-tracking branch 'hosted.weblate/master' into v0.8.10 2024-04-28 00:02:00 +02:00
Nut.andor
bdd383c430 preparation for release 2024-04-27 20:14:26 +02:00
Daniel Stasiak
2672fa5e89 Translated using Weblate (Polish)
Currently translated at 84.5% (14245 of 16850 strings)
2024-04-24 18:07:27 +02:00
Artem
22f46c593e Translated using Weblate (Ukrainian)
Currently translated at 8.8% (1488 of 16850 strings)
2024-04-20 19:16:33 +02:00
Nut.andor
698f108262 preparation for beta 2024-04-17 23:54:19 +02:00
Nut.andor
37f71811ba weblate into v0.8.10 2024-04-15 22:31:09 +02:00
Nut.andor
1b60247c23 weblate 2024-04-15 22:29:19 +02:00
Letícia Gontijo
193a57de05 Translated using Weblate (Portuguese (Brazil))
Currently translated at 91.1% (15357 of 16850 strings)
2024-04-15 22:04:52 +02:00
Nut.andor
e8dfb0e658 gradle update fix 2024-04-13 22:56:18 +02:00
Nut.andor
0a2ceea8fa Merge branch 'pulls/1829009049/67' into v0.8.10
# Conflicts:
#	AndorsTrail/app/src/main/AndroidManifest.xml
2024-04-13 20:14:31 +02:00
Nut.andor
6f16729c53 Gradle upgrade to 8.3.1 2024-04-13 20:07:00 +02:00
Nut.andor
26f0e174f6 Revert "gradle: Upgrade AGP dependency from 7.4.0 to 8.2.2"
This reverts commit 5dfe12b527.
2024-04-13 20:06:12 +02:00
Nut.andor
11a1720900 Pull Request #67: Gradle upgrade to 8.3.1 2024-04-13 19:43:45 +02:00
OMGeeky
9721cca1e4 Gradle upgrade 2024-04-13 19:38:11 +02:00
Derik Douglas Jesus da Silva
6f20d1a164 Translated using Weblate (Portuguese (Brazil))
Currently translated at 91.0% (15350 of 16850 strings)
2024-04-13 19:14:48 +02:00
Nut.andor
5dfe12b527 gradle: Upgrade AGP dependency from 7.4.0 to 8.2.2 2024-04-13 15:39:45 +02:00
Derik Douglas Jesus da Silva
bef533556a Translated using Weblate (Portuguese (Brazil))
Currently translated at 89.7% (15129 of 16850 strings)
2024-04-11 21:02:08 +02:00
Derik Douglas Jesus da Silva
18618d527f Translated using Weblate (Portuguese (Brazil))
Currently translated at 88.3% (14890 of 16850 strings)
2024-04-08 19:02:09 +02:00
Daniel Stasiak
676b661e9e Translated using Weblate (Polish)
Currently translated at 84.5% (14245 of 16850 strings)
2024-04-03 00:08:26 +02:00
Nut.andor
3748668c11 new teleport 6-9 2024-03-30 00:35:53 +01:00
Nut.andor
caf699874a new teleport 6-9 2024-03-30 00:19:08 +01:00
Derik Douglas Jesus da Silva
67d214e8e7 Translated using Weblate (Portuguese (Brazil))
Currently translated at 87.8% (14796 of 16850 strings)
2024-03-29 10:54:05 +01:00
Daniel Stasiak
2a63cb8e70 Translated using Weblate (Polish)
Currently translated at 84.5% (14245 of 16850 strings)
2024-03-28 17:02:03 +01:00
Daniel Stasiak
2d5ff980df Translated using Weblate (Polish)
Currently translated at 84.5% (14245 of 16850 strings)
2024-03-26 19:01:59 +01:00
Nut.andor
5c8effb45b newb tree shadows 2024-03-24 23:31:47 +01:00
Raphi
113af685dc Translated using Weblate (German)
Currently translated at 100.0% (16850 of 16850 strings)
2024-03-24 23:02:02 +01:00
Nut.andor
6008e2d55f newb tree shadows 2024-03-24 20:30:14 +01:00
Nut.andor
c451da4300 fix newb boss sizes 2024-03-24 01:30:53 +01:00
Nut Andor
2a8f2a0f26 Translated using Weblate (German)
Currently translated at 99.2% (16729 of 16850 strings)
2024-03-23 22:20:00 +01:00
Frei Tags
46e396b74b Translated using Weblate (German)
Currently translated at 99.2% (16729 of 16850 strings)
2024-03-23 22:20:00 +01:00
Raphi
93f2e6d563 Translated using Weblate (German)
Currently translated at 99.2% (16729 of 16850 strings)
2024-03-23 22:19:59 +01:00
Daniel Stasiak
f38920e719 Translated using Weblate (Polish)
Currently translated at 84.5% (14245 of 16850 strings)
2024-03-23 19:16:25 +01:00
Raphi
b8c07be5bd Translated using Weblate (German)
Currently translated at 98.4% (16582 of 16850 strings)
2024-03-23 19:16:23 +01:00
Nut Andor
e0aa9f76a6 Translated using Weblate (German)
Currently translated at 98.4% (16582 of 16850 strings)
2024-03-23 19:16:23 +01:00
Nut.andor
bca41adbf4 Richard added more dark brown as a border to the bear 2024-03-23 12:21:14 +01:00
Raphi
86eb8775b2 Translated using Weblate (German)
Currently translated at 98.3% (16579 of 16850 strings)
2024-03-22 06:35:19 +01:00
Frei Tags
7b759fb71d Translated using Weblate (German)
Currently translated at 96.0% (16186 of 16850 strings)
2024-03-21 11:59:48 +01:00
Raphi
241b2d244d Translated using Weblate (German)
Currently translated at 96.0% (16186 of 16850 strings)
2024-03-21 11:59:48 +01:00
Frei Tags
252b42b1ee Translated using Weblate (German)
Currently translated at 95.2% (16046 of 16850 strings)
2024-03-21 07:30:41 +01:00
Frei Tags
792b9896b3 Translated using Weblate (German)
Currently translated at 95.0% (16012 of 16850 strings)
2024-03-20 16:58:21 +01:00
Raphi
13021da2d8 Translated using Weblate (German)
Currently translated at 95.0% (16012 of 16850 strings)
2024-03-20 16:58:21 +01:00
Frei Tags
ee0ff7de44 Translated using Weblate (German)
Currently translated at 93.8% (15811 of 16850 strings)
2024-03-20 11:50:58 +01:00
Raphi
e08ce9950d Translated using Weblate (German)
Currently translated at 93.8% (15811 of 16850 strings)
2024-03-20 11:50:57 +01:00
Frei Tags
8c65f8cbf1 Translated using Weblate (German)
Currently translated at 93.5% (15771 of 16850 strings)
2024-03-19 09:45:38 +01:00
Nut.andor
30f4ea1d44 Merge branch 'pulls/1829009049/65' into v0.8.10 2024-03-17 12:59:28 +01:00
Nut.andor
5561a8f7a1 Let Signs & Key fields not show an empty dialog if they have no message text 2024-03-17 12:57:09 +01:00
Nut.andor
0d26a532e3 Pull Request #65: Let Signs & Key fields not show an empty dialog if they have no message text 2024-03-16 23:57:12 +01:00
OMGeeky
6bc57ba54e Handle Signs and Keys like Scripts where no dialog will be opened when no message is there 2024-03-16 23:43:52 +01:00
Hugo Pérez
5b5fc4f782 Translated using Weblate (Galician)
Currently translated at 18.1% (111 of 612 strings)
2024-03-15 21:51:48 +01:00
gallegonovato
d23be31719 Translated using Weblate (Spanish)
Currently translated at 80.4% (13560 of 16850 strings)
2024-03-15 13:02:02 +01:00
Frei Tags
f4b81760fb Translated using Weblate (German)
Currently translated at 93.4% (15744 of 16850 strings)
2024-03-15 13:01:59 +01:00
Frei Tags
211c89d6ef Translated using Weblate (German)
Currently translated at 93.1% (15689 of 16850 strings)
2024-03-10 08:51:02 +01:00
Christoph Eder
d8a69fd700 Translated using Weblate (German (Austria))
Currently translated at 0.1% (1 of 16849 strings)
2024-03-08 22:01:57 +01:00
Frei Tags
1165cf3f98 Translated using Weblate (German)
Currently translated at 92.3% (15569 of 16850 strings)
2024-03-07 09:14:44 +01:00
Daniel Stasiak
40b04d8bb2 Translated using Weblate (Polish)
Currently translated at 84.5% (14245 of 16850 strings)
2024-03-05 20:01:58 +01:00
Jesus Barba
ef43997c0d Translated using Weblate (Spanish)
Currently translated at 80.4% (13560 of 16850 strings)
2024-03-05 20:01:56 +01:00
Ranforingus
75bddf5ab3 Translated using Weblate (Dutch)
Currently translated at 6.4% (1095 of 16850 strings)
2024-03-04 13:39:43 +01:00
Daniel Stasiak
220e46d9f7 Translated using Weblate (Polish)
Currently translated at 84.5% (14245 of 16850 strings)
2024-03-01 20:17:24 +01:00
Jesus Barba
07de076b26 Translated using Weblate (Spanish)
Currently translated at 80.3% (13547 of 16850 strings)
2024-03-01 20:17:22 +01:00
buba
79d72a1e93 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (16850 of 16850 strings)
2024-02-26 11:02:13 +01:00
buba
adea17d749 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (16850 of 16850 strings)
2024-02-25 10:30:51 +01:00
Nut.andor
ad28909118 test items in map 2024-02-24 18:54:45 +01:00
Nut.andor
93ed58c12d new teleport buttons 2024-02-24 18:54:45 +01:00
Daniel Stasiak
e912e452d8 Translated using Weblate (Polish)
Currently translated at 84.5% (14245 of 16850 strings)
2024-02-24 08:25:11 +01:00
Seven
b4c490f648 Translated using Weblate (Spanish)
Currently translated at 80.3% (13546 of 16850 strings)
2024-02-24 08:25:09 +01:00
عادل نصري
e6ef6728ac Translated using Weblate (Arabic)
Currently translated at 11.3% (1918 of 16849 strings)
2024-02-23 17:34:02 +01:00
ilya
53744b1897 Translated using Weblate (Russian)
Currently translated at 100.0% (16850 of 16850 strings)
2024-02-22 07:32:46 +01:00
Frei Tags
678737441a Translated using Weblate (German)
Currently translated at 92.2% (15549 of 16850 strings)
2024-02-22 07:32:43 +01:00
ilya
cb1801b486 Translated using Weblate (Russian)
Currently translated at 99.1% (16711 of 16850 strings)
2024-02-21 20:43:38 +01:00
Frei Tags
2ffa9f5f0b Translated using Weblate (German)
Currently translated at 92.0% (15507 of 16850 strings)
2024-02-20 07:52:04 +01:00
Bugra Bezgin
bde0339a80 Translated using Weblate (Turkish)
Currently translated at 100.0% (612 of 612 strings)
2024-02-19 10:10:01 +01:00
Bugra Bezgin
b81ec6883f Translated using Weblate (Turkish)
Currently translated at 33.1% (5580 of 16850 strings)
2024-02-19 10:10:00 +01:00
Frei Tags
8e8c02b038 Translated using Weblate (German)
Currently translated at 91.9% (15493 of 16850 strings)
2024-02-19 10:09:57 +01:00
Bugra Bezgin
37f17cddf6 Translated using Weblate (Turkish)
Currently translated at 32.9% (5553 of 16850 strings)
2024-02-18 14:16:34 +01:00
Frei Tags
5bbe529230 Translated using Weblate (German)
Currently translated at 91.6% (15447 of 16850 strings)
2024-02-17 22:02:09 +01:00
Frei Tags
856fdfcfba Translated using Weblate (German)
Currently translated at 91.5% (15430 of 16850 strings)
2024-02-16 21:02:13 +01:00
Daniel Stasiak
e78f16c342 Translated using Weblate (Polish)
Currently translated at 84.5% (14245 of 16850 strings)
2024-02-14 02:42:38 +01:00
Frei Tags
2776c33876 Translated using Weblate (German)
Currently translated at 91.3% (15391 of 16850 strings)
2024-02-14 02:42:35 +01:00
Jesus Barba
cc6de21dc1 Translated using Weblate (Spanish)
Currently translated at 80.2% (13526 of 16850 strings)
2024-02-11 19:02:16 +01:00
Frei Tags
511017a1de Translated using Weblate (German)
Currently translated at 88.7% (14958 of 16850 strings)
2024-02-11 19:02:13 +01:00
Daniel Stasiak
28ed52b263 Translated using Weblate (Polish)
Currently translated at 84.5% (14245 of 16850 strings)
2024-02-10 17:02:12 +01:00
Jesus Barba
a63e8ad034 Translated using Weblate (Spanish)
Currently translated at 80.2% (13522 of 16850 strings)
2024-02-10 17:02:09 +01:00
CloneWith
bda9556cd1 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (16850 of 16850 strings)
2024-02-08 04:01:57 +01:00
ilya
aaae2a3b51 Translated using Weblate (Russian)
Currently translated at 98.5% (16604 of 16850 strings)
2024-02-06 01:03:30 +01:00
Daniel Stasiak
3e9032de0d Translated using Weblate (Polish)
Currently translated at 84.5% (14245 of 16850 strings)
2024-02-06 01:03:28 +01:00
Daniel Stasiak
b778ed1207 Translated using Weblate (Polish)
Currently translated at 84.5% (14245 of 16850 strings)
2024-02-05 09:57:24 +01:00
ilya
439e0fcbd8 Translated using Weblate (Russian)
Currently translated at 98.5% (16602 of 16850 strings)
2024-02-04 16:01:57 +01:00
ilya
34416c5548 Translated using Weblate (Russian)
Currently translated at 98.5% (16600 of 16850 strings)
2024-01-31 09:01:57 +01:00
Aviya S
070cb5bafd Translated using Weblate (Hebrew)
Currently translated at 1.3% (231 of 16849 strings)
2024-01-27 19:08:11 +01:00
Ilian Iliev
7f50c4f444 Translated using Weblate (Bulgarian)
Currently translated at 73.2% (448 of 612 strings)
2024-01-26 19:04:02 +01:00
ilya
821ff0982e Translated using Weblate (Russian)
Currently translated at 98.3% (16573 of 16850 strings)
2024-01-25 19:02:00 +01:00
Nut.andor
4de87119bc slightly out of line trees 2024-01-21 18:14:07 +01:00
CloneWith
73eff8c748 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (612 of 612 strings)
2024-01-21 08:49:21 +01:00
CloneWith
15246d5270 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (16850 of 16850 strings)
2024-01-21 08:49:20 +01:00
Daniel Stasiak
a0564c05ed Translated using Weblate (Polish)
Currently translated at 84.5% (14245 of 16850 strings)
2024-01-21 08:49:18 +01:00
ilya
bea41af484 Translated using Weblate (Russian)
Currently translated at 98.2% (16557 of 16850 strings)
2024-01-19 21:13:16 +01:00
Patryck Cardozo
d7948ff076 Translated using Weblate (Portuguese (Brazil))
Currently translated at 87.5% (14760 of 16850 strings)
2024-01-19 07:50:48 +01:00
CloneWith
60e9df3141 Added translation using Weblate (Chinese (Literary)) 2024-01-16 15:28:02 +01:00
Ilian Iliev
7be2256672 Translated using Weblate (Bulgarian)
Currently translated at 70.5% (432 of 612 strings)
2024-01-15 22:06:16 +01:00
Ilian Iliev
af8cc33bff Translated using Weblate (Bulgarian)
Currently translated at 1.1% (199 of 16850 strings)
2024-01-15 22:06:15 +01:00
Daniel Stasiak
64e3009269 Translated using Weblate (Polish)
Currently translated at 84.5% (14245 of 16850 strings)
2024-01-15 22:06:13 +01:00
clementfourmis
ff456c2565 Translated using Weblate (French)
Currently translated at 92.5% (15590 of 16850 strings)
2024-01-15 22:06:10 +01:00
Daniel Stasiak
bc308df775 Translated using Weblate (Polish)
Currently translated at 84.5% (14245 of 16850 strings)
2024-01-14 21:06:26 +01:00
clementfourmis
b87a514187 Translated using Weblate (French)
Currently translated at 92.5% (15590 of 16850 strings)
2024-01-14 21:06:25 +01:00
Ilian Iliev
b28f4f4c42 Translated using Weblate (Bulgarian)
Currently translated at 52.9% (324 of 612 strings)
2024-01-13 19:07:39 +01:00
Nut.andor
cee90a077a debug btn
next version
debug btn
2024-01-13 00:49:47 +01:00
Ilian Iliev
3dcc1028c1 Translated using Weblate (Bulgarian)
Currently translated at 47.0% (288 of 612 strings)
2024-01-12 21:06:25 +01:00
clementfourmis
beb8ae4a11 Translated using Weblate (French)
Currently translated at 92.4% (15586 of 16850 strings)
2024-01-12 21:06:23 +01:00
Sitthichok Arsa
ac7303a7f2 Translated using Weblate (Thai)
Currently translated at 14.5% (89 of 612 strings)
2024-01-10 17:50:38 +01:00
Sitthichok Arsa
b8a6073e3d Translated using Weblate (Thai)
Currently translated at 1.1% (202 of 16850 strings)
2024-01-10 17:50:37 +01:00
Daniel Stasiak
27909b4b49 Translated using Weblate (Polish)
Currently translated at 84.5% (14245 of 16850 strings)
2024-01-08 07:40:20 +01:00
aircqsj
6cd268b969 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (16850 of 16850 strings)
2024-01-06 04:12:37 +01:00
aircqsj
657297ca4c Translated using Weblate (Chinese (Simplified))
Currently translated at 99.9% (16840 of 16850 strings)
2024-01-05 03:08:58 +01:00
n1ck
46d26478ca Translated using Weblate (Galician)
Currently translated at 17.8% (109 of 612 strings)
2024-01-04 15:10:14 +01:00
ilya
16bd9dc17a Translated using Weblate (Russian)
Currently translated at 97.8% (16484 of 16850 strings)
2024-01-04 15:10:12 +01:00
Daniel Stasiak
26e9bda24b Translated using Weblate (Polish)
Currently translated at 84.5% (14245 of 16850 strings)
2024-01-04 15:10:10 +01:00
Nut.andor
02beb88b3a whatsnew
# Conflicts:
#	AndorsTrail/play/listings/en-US/whatsnew.txt
whatsnew
2023-12-31 23:22:47 +01:00
Nut.andor
b33fcb0eeb Merge branch 'v0.8.9' 2023-12-31 21:20:24 +01:00
Nut.andor
94843d2e9e Merge branch 'master' into v0.8.9
# Conflicts:
#	AndorsTrail/app/src/main/AndroidManifest.xml
#	AndorsTrail/app/src/main/java/com/gpl/rpg/AndorsTrail/AndorsTrailApplication.java
2023-12-31 21:19:06 +01:00
Nut.andor
e6975c462b translations 2023-12-31 21:15:51 +01:00
Nut.andor
b13a8179d9 next_release content 2023-12-31 19:59:17 +01:00
Nut.andor
63f1d27ae8 authors 2023-12-31 19:43:28 +01:00
Nut.andor
185b94732f fix % in translations 2023-12-31 19:35:50 +01:00
Nut.andor
5264c23dc5 Merge remote-tracking branch 'hosted.weblate/master' into v0.8.9 2023-12-31 19:24:33 +01:00
CloneWith
216ae613c6 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (16839 of 16839 strings)
2023-12-30 19:08:28 +01:00
CloneWith
e129245866 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (16839 of 16839 strings)
2023-12-30 16:08:55 +01:00
Nut Andor
bdc9d41b90 Translated using Weblate (German)
Currently translated at 86.8% (14631 of 16839 strings)
2023-12-30 16:08:53 +01:00
ilya
dc80a3bbe9 Translated using Weblate (Russian)
Currently translated at 97.5% (16428 of 16839 strings)
2023-12-27 15:14:06 +01:00
Ilian Iliev
54170d7dd4 Translated using Weblate (Bulgarian)
Currently translated at 38.5% (236 of 612 strings)
2023-12-26 15:09:19 +01:00
Daniel Stasiak
3b3629c1bb Translated using Weblate (Polish)
Currently translated at 84.5% (14245 of 16839 strings)
2023-12-26 15:09:18 +01:00
Ilian Iliev
8c7ab49812 Translated using Weblate (Bulgarian)
Currently translated at 35.7% (219 of 612 strings)
2023-12-24 19:17:33 +01:00
aircqsj
8c3c069f17 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (16839 of 16839 strings)
2023-12-20 13:15:23 +01:00
aircqsj
d491a2db89 Translated using Weblate (Chinese (Simplified))
Currently translated at 97.4% (16410 of 16839 strings)
2023-12-18 05:21:32 +01:00
ilya
fcad74852a Translated using Weblate (Russian)
Currently translated at 96.9% (16330 of 16839 strings)
2023-12-18 05:21:30 +01:00
Nut.andor
04db185d75 next version 2023-12-17 22:21:02 +01:00
Nut.andor
eacf4b9ced next version 2023-12-17 17:31:14 +01:00
aircqsj
6678fc1c72 Translated using Weblate (Chinese (Simplified))
Currently translated at 97.2% (16384 of 16839 strings)
2023-12-14 16:03:24 +01:00
ilya
e7d8a37291 Translated using Weblate (Russian)
Currently translated at 96.7% (16285 of 16839 strings)
2023-12-14 16:03:22 +01:00
Nut.andor
591d368667 next version 2023-12-11 14:39:51 +01:00
Nut.andor
38e136d6f3 fix 2023-12-11 13:15:12 +01:00
Rey Evan
afe7766cad Translated using Weblate (Filipino)
Currently translated at 44.7% (274 of 612 strings)
2023-12-11 13:04:37 +01:00
aircqsj
6a1d927190 Translated using Weblate (Chinese (Simplified))
Currently translated at 96.8% (16301 of 16839 strings)
2023-12-11 13:04:37 +01:00
Nut.andor
063ce332a8 Whatsnew + Foruum Announcement 2023-12-11 12:30:14 +01:00
Nut.andor
239f03c5ec translation status
whatsNew
2023-12-10 23:13:46 +01:00
Nut.andor
add01e2508 release notes 2023-12-10 01:42:41 +01:00
Nut.andor
a2fb8bb2b9 Merge branch 'V0.8.8' 2023-12-10 00:48:39 +01:00
Nut.andor
56c57e7dba mo 2023-12-10 00:25:31 +01:00
Nut.andor
c34c5ecd5e potc 2023-12-10 00:20:33 +01:00
Nut.andor
14b9d00796 content exported from ATCS 2023-12-09 22:18:49 +01:00
Nut.andor
457c98cc0d version 2023-12-09 22:09:31 +01:00
Nut.andor
bb614278bb Merge branch 'master' into V0.8.8 2023-12-09 22:03:23 +01:00
Nut.andor
655d464677 content format reference 2023-12-09 21:54:08 +01:00
Nut.andor
1f63ae060f Merge remote-tracking branch 'hosted.weblate/master' 2023-12-09 21:51:14 +01:00
Nut.andor
b7cc23cb32 opt vegetable 2023-12-07 23:30:55 +01:00
g1zza
53b75f1c80 Added translation using Weblate (Albanian) 2023-12-06 16:21:35 +01:00
Daniel Stasiak
429bb7d61d Translated using Weblate (Polish)
Currently translated at 85.6% (13934 of 16269 strings)
2023-12-05 14:05:56 +01:00
Daniel Stasiak
8070329915 Translated using Weblate (Polish)
Currently translated at 85.6% (13934 of 16269 strings)
2023-12-02 18:06:07 +00:00
Daniel Stasiak
e9138d9cbf Translated using Weblate (Polish)
Currently translated at 85.6% (13934 of 16269 strings)
2023-11-28 15:05:44 +00:00
Raphi
209cf28224 Translated using Weblate (German)
Currently translated at 89.9% (14632 of 16269 strings)
2023-11-28 15:05:41 +00:00
Daniel Stasiak
5363d60ece Translated using Weblate (Polish)
Currently translated at 85.6% (13934 of 16269 strings)
2023-11-26 19:53:11 +01:00
Mateusz Mendel
5d273f7308 Translated using Weblate (Polish)
Currently translated at 85.6% (13934 of 16269 strings)
2023-11-26 19:53:11 +01:00
Mateusz Mendel
000c3e71e2 Translated using Weblate (Polish)
Currently translated at 85.6% (13933 of 16269 strings)
2023-11-26 19:47:51 +01:00
Daniel Stasiak
093c75da95 Translated using Weblate (Polish)
Currently translated at 85.6% (13933 of 16269 strings)
2023-11-26 19:47:50 +01:00
Nut.andor
979d3c81db duplicated dialogue IDs
Removal of xxx_next_release.json
2023-11-26 02:38:58 +01:00
Nut.andor
16c9378da4 content reference fixes 2023-11-26 01:57:54 +01:00
Nut.andor
bf62a3502f APK rename 2023-11-26 01:00:41 +01:00
Darren Crowlen
06d71caa1e Translated using Weblate (Indonesian)
Currently translated at 100.0% (612 of 612 strings)
2023-11-25 19:08:10 +01:00
Daniel Stasiak
aab900dc58 Translated using Weblate (Polish)
Currently translated at 85.6% (13932 of 16269 strings)
2023-11-25 19:08:08 +01:00
Mateusz Mendel
cdb02a8a7b Translated using Weblate (Polish)
Currently translated at 85.6% (13928 of 16269 strings)
2023-11-24 20:38:54 +01:00
Daniel Stasiak
01affa64b3 Translated using Weblate (Polish)
Currently translated at 85.6% (13928 of 16269 strings)
2023-11-24 20:38:53 +01:00
gallegonovato
cc34decd0f Translated using Weblate (Spanish)
Currently translated at 82.9% (13498 of 16269 strings)
2023-11-24 20:38:52 +01:00
Ranforingus
d971825cbd Translated using Weblate (Dutch)
Currently translated at 96.8% (593 of 612 strings)
2023-11-23 09:54:34 +01:00
Ilian Iliev
cbc4992f10 Translated using Weblate (Bulgarian)
Currently translated at 35.7% (219 of 612 strings)
2023-11-23 09:54:34 +01:00
Daniel Stasiak
89bac044f1 Translated using Weblate (Polish)
Currently translated at 85.5% (13924 of 16269 strings)
2023-11-23 09:54:34 +01:00
Ranforingus
dc933ba225 Translated using Weblate (Dutch)
Currently translated at 6.6% (1082 of 16269 strings)
2023-11-23 09:54:32 +01:00
Kevin Rojas Costa Rica
a7ac2ed657 Translated using Weblate (Spanish)
Currently translated at 82.9% (13497 of 16269 strings)
2023-11-23 09:54:31 +01:00
Ilian Iliev
8453f0e5f5 Translated using Weblate (Bulgarian)
Currently translated at 28.5% (175 of 612 strings)
2023-11-21 21:56:00 +01:00
Ilian Iliev
17f3c75fdf Translated using Weblate (Bulgarian)
Currently translated at 1.2% (199 of 16269 strings)
2023-11-21 21:56:00 +01:00
Daniel Stasiak
4f5952f24c Translated using Weblate (Polish)
Currently translated at 85.5% (13924 of 16269 strings)
2023-11-21 21:55:59 +01:00
Daniel Stasiak
2bf6e4c3b7 Translated using Weblate (Polish)
Currently translated at 85.5% (13924 of 16269 strings)
2023-11-20 08:51:36 +01:00
Ilian Iliev
90cb403196 Translated using Weblate (Bulgarian)
Currently translated at 25.1% (154 of 612 strings)
2023-11-19 21:33:35 +01:00
Ilian Iliev
d59b686d10 Translated using Weblate (Bulgarian)
Currently translated at 1.1% (180 of 16269 strings)
2023-11-19 21:33:34 +01:00
Daniel Stasiak
346187a80f Translated using Weblate (Polish)
Currently translated at 85.5% (13924 of 16269 strings)
2023-11-18 19:07:26 +01:00
Daniel Stasiak
f8b38d88aa Translated using Weblate (Polish)
Currently translated at 85.5% (13924 of 16269 strings)
2023-11-17 04:52:48 +01:00
Nut.andor
ad4432a2df Announcement 2023-11-16 22:49:16 +01:00
Mateusz Mendel
bf20d0dc6e Translated using Weblate (Polish)
Currently translated at 85.5% (13921 of 16269 strings)
2023-11-16 04:10:47 +01:00
Daniel Stasiak
d940229581 Translated using Weblate (Polish)
Currently translated at 85.5% (13921 of 16269 strings)
2023-11-16 04:10:47 +01:00
Daniel Stasiak
044c6fa4b1 Translated using Weblate (Polish)
Currently translated at 85.5% (13920 of 16269 strings)
2023-11-14 23:54:40 +01:00
Daniel Stasiak
d2b1e67bac Translated using Weblate (Polish)
Currently translated at 85.5% (13920 of 16269 strings)
2023-11-13 22:59:42 +01:00
Daniel Stasiak
7bb42e98b6 Translated using Weblate (Polish)
Currently translated at 85.5% (13920 of 16269 strings)
2023-11-13 12:56:11 +01:00
Daniel Stasiak
ea80cd11fe Translated using Weblate (Polish)
Currently translated at 85.5% (13920 of 16269 strings)
2023-11-12 17:13:48 +01:00
Jacque Fresco
1f00f4a86c Translated using Weblate (Malay)
Currently translated at 3.5% (579 of 16269 strings)
2023-11-12 17:13:45 +01:00
Nut.andor
12350f3fdb whatsNew 2023-11-12 01:10:43 +01:00
Nut.andor
c650e4aa75 whatsNew 2023-11-12 01:10:43 +01:00
Nut.andor
94f81db7ba Forum Announcement (actual version) 2023-11-12 01:10:43 +01:00
Mohamed Amaadour
8c80615659 Translated using Weblate (Arabic)
Currently translated at 11.4% (1864 of 16268 strings)
2023-11-10 10:10:40 +01:00
Mohamed Amaadour
bc5e956cb3 Translated using Weblate (Arabic)
Currently translated at 11.4% (1864 of 16268 strings)
2023-11-09 22:51:23 +01:00
Daniel Stasiak
fab9bdc298 Translated using Weblate (Polish)
Currently translated at 85.5% (13920 of 16269 strings)
2023-11-09 22:51:21 +01:00
Mateusz Mendel
1d90db1c1e Translated using Weblate (Polish)
Currently translated at 85.5% (13919 of 16269 strings)
2023-11-09 15:08:12 +01:00
Daniel Stasiak
9c3dd2e671 Translated using Weblate (Polish)
Currently translated at 85.5% (13919 of 16269 strings)
2023-11-09 15:08:12 +01:00
Daniel Stasiak
711285aab2 Translated using Weblate (Polish)
Currently translated at 85.5% (13918 of 16269 strings)
2023-11-09 15:07:43 +01:00
Mateusz Mendel
3d20a43a24 Translated using Weblate (Polish)
Currently translated at 85.5% (13918 of 16269 strings)
2023-11-09 15:07:43 +01:00
Mateusz Mendel
c3c491f72c Translated using Weblate (Polish)
Currently translated at 85.5% (13915 of 16269 strings)
2023-11-09 14:58:25 +01:00
Daniel Stasiak
489dfd55fb Translated using Weblate (Polish)
Currently translated at 85.5% (13915 of 16269 strings)
2023-11-09 14:58:25 +01:00
Daniel Stasiak
b84ffde283 Translated using Weblate (Polish)
Currently translated at 85.5% (13914 of 16269 strings)
2023-11-09 14:51:42 +01:00
Mateusz Mendel
5256868327 Translated using Weblate (Polish)
Currently translated at 85.5% (13914 of 16269 strings)
2023-11-09 14:51:41 +01:00
Mateusz Mendel
606e90e9bd Translated using Weblate (Polish)
Currently translated at 85.5% (13913 of 16269 strings)
2023-11-09 14:50:19 +01:00
Daniel Stasiak
c5b426af13 Translated using Weblate (Polish)
Currently translated at 85.5% (13913 of 16269 strings)
2023-11-09 14:50:18 +01:00
Daniel Stasiak
8ee1bf782c Translated using Weblate (Polish)
Currently translated at 85.5% (13912 of 16269 strings)
2023-11-09 14:37:13 +01:00
Mateusz Mendel
f4651a9bed Translated using Weblate (Polish)
Currently translated at 85.5% (13912 of 16269 strings)
2023-11-09 14:37:13 +01:00
Mateusz Mendel
c7a77f9c99 Translated using Weblate (Polish)
Currently translated at 85.5% (13911 of 16269 strings)
2023-11-09 14:36:13 +01:00
Daniel Stasiak
e42d2fcec8 Translated using Weblate (Polish)
Currently translated at 85.5% (13911 of 16269 strings)
2023-11-09 14:36:13 +01:00
Mateusz Mendel
2173fda575 Translated using Weblate (Polish)
Currently translated at 85.5% (13910 of 16269 strings)
2023-11-09 14:34:32 +01:00
Daniel Stasiak
dccb078060 Translated using Weblate (Polish)
Currently translated at 85.5% (13910 of 16269 strings)
2023-11-09 14:34:32 +01:00
Daniel Stasiak
9bc007349f Translated using Weblate (Polish)
Currently translated at 85.4% (13909 of 16269 strings)
2023-11-09 14:31:02 +01:00
Mateusz Mendel
435865f250 Translated using Weblate (Polish)
Currently translated at 85.4% (13909 of 16269 strings)
2023-11-09 14:31:02 +01:00
Mateusz Mendel
f7e64c5ab9 Translated using Weblate (Polish)
Currently translated at 85.4% (13908 of 16269 strings)
2023-11-09 14:29:53 +01:00
Daniel Stasiak
271a28887f Translated using Weblate (Polish)
Currently translated at 85.4% (13908 of 16269 strings)
2023-11-09 14:29:53 +01:00
Daniel Stasiak
e3955dac3a Translated using Weblate (Polish)
Currently translated at 85.4% (13907 of 16269 strings)
2023-11-09 14:26:46 +01:00
Mateusz Mendel
8971d671fe Translated using Weblate (Polish)
Currently translated at 85.4% (13907 of 16269 strings)
2023-11-09 14:26:46 +01:00
Mateusz Mendel
e03bc105b0 Translated using Weblate (Polish)
Currently translated at 85.4% (13906 of 16269 strings)
2023-11-09 14:26:25 +01:00
Daniel Stasiak
b5381d5d68 Translated using Weblate (Polish)
Currently translated at 85.4% (13906 of 16269 strings)
2023-11-09 14:26:24 +01:00
Mohamed Amaadour
40eb5ca761 Translated using Weblate (Arabic)
Currently translated at 11.4% (1863 of 16268 strings)
2023-11-09 14:25:03 +01:00
Mateusz Mendel
44298bf59d Translated using Weblate (Polish)
Currently translated at 85.4% (13905 of 16269 strings)
2023-11-09 14:25:02 +01:00
Daniel Stasiak
aab4771fcc Translated using Weblate (Polish)
Currently translated at 85.4% (13905 of 16269 strings)
2023-11-09 14:25:02 +01:00
Mateusz Mendel
b6dfb2eb7d Translated using Weblate (Polish)
Currently translated at 85.4% (13902 of 16269 strings)
2023-11-08 20:56:30 +01:00
Daniel Stasiak
1182bd84cd Translated using Weblate (Polish)
Currently translated at 85.4% (13902 of 16269 strings)
2023-11-08 20:56:30 +01:00
Mateusz Mendel
664f285e9a Translated using Weblate (Polish)
Currently translated at 85.4% (13896 of 16269 strings)
2023-11-08 18:41:42 +01:00
Daniel Stasiak
33717be65d Translated using Weblate (Polish)
Currently translated at 85.4% (13896 of 16269 strings)
2023-11-08 18:41:41 +01:00
Daniel Stasiak
eac69a5e67 Translated using Weblate (Polish)
Currently translated at 85.4% (13894 of 16269 strings)
2023-11-08 18:36:24 +01:00
Mateusz Mendel
9597363785 Translated using Weblate (Polish)
Currently translated at 85.4% (13894 of 16269 strings)
2023-11-08 18:36:24 +01:00
Mateusz Mendel
b7a06e04cb Translated using Weblate (Polish)
Currently translated at 85.3% (13890 of 16269 strings)
2023-11-08 13:16:26 +01:00
Lacrom
8984f35240 Translated using Weblate (French)
Currently translated at 95.9% (15603 of 16269 strings)
2023-11-06 10:36:23 +01:00
Nut.andor
4a8f784fd5 generate current translations 2023-11-05 12:09:01 +01:00
Nut.andor
7877fbdca7 Merge branch 'master' into V0.8.8 2023-11-05 11:59:39 +01:00
Nut.andor
2c67adcda2 Merge remote-tracking branch 'hosted.weblate/master' 2023-11-05 11:53:00 +01:00
Palkia
1ff1835feb Translated using Weblate (Spanish)
Currently translated at 82.9% (13495 of 16269 strings)
2023-11-05 08:46:04 +01:00
Nut.andor
6b24efc014 Release Notes 2023-11-05 02:26:37 +01:00
Nut.andor
894bf9ea8d date/time 2023-11-02 20:59:40 +01:00
Nut
dcbb525fb6 show zero ac
show zero ac
2023-11-02 20:59:37 +01:00
Mohamed Amaadour
689f7820eb Translated using Weblate (Arabic)
Currently translated at 11.2% (1830 of 16268 strings)
2023-10-31 16:30:32 +01:00
Mohamed Amaadour
d47f26d038 Translated using Weblate (Arabic)
Currently translated at 11.0% (1793 of 16268 strings)
2023-10-30 20:04:10 +01:00
Hakunek
3c5645156f Translated using Weblate (Polish)
Currently translated at 85.3% (13889 of 16269 strings)
2023-10-30 20:04:08 +01:00
Nut.andor
edd79b4e4e new sprite of Omicron 2023-10-30 01:23:30 +01:00
Mohamed Amaadour
8a95194465 Translated using Weblate (Arabic)
Currently translated at 10.9% (1788 of 16268 strings)
2023-10-29 22:10:42 +01:00
Nut.andor
80b55c1717 date/time addition 2023-10-29 15:29:39 +01:00
Mohamed Amaadour
faca85e283 Translated using Weblate (Arabic)
Currently translated at 10.8% (1758 of 16268 strings)
2023-10-29 05:19:19 +00:00
OMGeeky
40d84d8c78 add documentation to attack hit chance method 2023-10-28 14:10:06 +02:00
OMGeeky
f0988afaa5 Show a zero for AC 2023-10-28 14:09:34 +02:00
Mohamed
03b0ec16de Translated using Weblate (Arabic)
Currently translated at 10.7% (1742 of 16268 strings)
2023-10-28 03:32:33 +02:00
Mohamed
3a31b3d00c Translated using Weblate (Arabic)
Currently translated at 100.0% (612 of 612 strings)
2023-10-28 02:20:34 +02:00
Mohamed
50a697c85a Translated using Weblate (Arabic)
Currently translated at 10.6% (1737 of 16268 strings)
2023-10-28 02:20:34 +02:00
عادل نصري
af77d8e497 Translated using Weblate (Arabic)
Currently translated at 10.6% (1737 of 16268 strings)
2023-10-28 02:20:34 +02:00
Nut.andor
c6b80f1ff1 more teleport buttons 2023-10-27 00:40:29 +02:00
Sven Knoblach
edbccb62e5 Translated using Weblate (German)
Currently translated at 89.6% (14589 of 16269 strings)
2023-10-26 22:50:07 +02:00
Nut.andor
24a7578c67 vegetable added 2023-10-23 23:39:38 +02:00
Nut.andor
200e44ad15 debug certificate for easier debugging 2023-10-21 19:06:55 +02:00
Nut.andor
ac669f4aaa some debug messages 2023-10-21 18:56:31 +02:00
Nut.andor
f73d993934 Merge branch 'pulls/1829009049/62' into V0.8.8 2023-10-19 22:10:30 +02:00
Nut.andor
15657d08da Rats are too pink. 2023-10-19 22:08:54 +02:00
Raphi
b0829d7195 Translated using Weblate (German)
Currently translated at 89.6% (14589 of 16269 strings)
2023-10-17 04:18:20 +00:00
Nut.andor
e31cee7fef Pull Request #62: Rats are too pink. 2023-10-17 00:55:58 +02:00
Omicronrg9
ec2f4d74b2 • Tweaked some sprites (rats). 2023-10-17 00:53:19 +02:00
Reinhard Lackner
773a9dbbe3 Translated using Weblate (German)
Currently translated at 88.8% (14455 of 16269 strings)
2023-10-15 23:10:16 +02:00
Raphi
0de31eefd2 Translated using Weblate (German)
Currently translated at 88.8% (14455 of 16269 strings)
2023-10-15 23:10:16 +02:00
Nut.andor
cd764d4c10 cats 2023-10-14 01:10:56 +02:00
Nut.andor
283418d43a Pull Request #61: Cats 2023-10-14 01:03:36 +02:00
Daniel–Ømicrón Rodríguez García
e99da003d1 Merge branch 'AndorsTrailRelease:V0.8.8' into V0.8.8 2023-10-12 15:20:56 +02:00
Nut.andor
fc29346dee debugmessage 2023-10-11 22:19:10 +02:00
Daniel–Ømicrón Rodríguez García
6ee86d8c56 Merge branch 'AndorsTrailRelease:V0.8.8' into V0.8.8 2023-10-10 13:00:24 +02:00
Nut.andor
5f91d084ed debugmessage 2023-10-10 01:07:20 +02:00
Nut.andor
7989c84723 formatting 2023-10-08 13:36:02 +02:00
Nut.andor
e280ad1423 new engine enhancements 2023-10-08 13:15:42 +02:00
Nut.andor
35b762e891 bold and italic
bold
unordered lists
ode
img
headers
2023-10-08 13:01:27 +02:00
Omicronrg9
b40eb7dc66 Ignored tmx bak files. 2023-10-08 02:33:51 +02:00
Omicronrg9
a3b74eb08a Merge remote-tracking branch 'origin/V0.8.8' into V0.8.8 2023-10-08 02:29:38 +02:00
Mateusz Mendel
6b724c5e8d Translated using Weblate (Polish)
Currently translated at 85.3% (13889 of 16269 strings)
2023-10-07 20:21:47 +02:00
Nut.andor
a407260c33 Enhance log for better bug finding
sprite definitions again
2023-10-07 18:35:45 +02:00
Nut.andor
e0dc8e24b6 Revert "Auxiliary commit to revert individual files from c54ade42d967b775992c05117933cf7bead7b8c8"
This reverts commit 16f38a2e0dea0b8d1e887f5f0d06aefa2ebe7ef9.
2023-10-07 17:50:46 +02:00
Nut.andor
fcb21a1218 sprite definitions 2023-10-07 14:57:36 +02:00
Nut.andor
c54ade42d9 sprites for Erumentemple 2023-10-07 13:41:26 +02:00
Nut.andor
5460d52baf Merge branch 'pulls/1829009049/60' into V0.8.8 2023-10-07 13:30:11 +02:00
Nut.andor
84c5242195 • map_transition_6 completed (just 1 tile) 2023-10-07 13:27:43 +02:00
Mateusz Mendel
278e61cf7e Translated using Weblate (Polish)
Currently translated at 85.3% (13889 of 16269 strings)
2023-10-05 15:20:39 +02:00
Palkia
7537309cd3 Translated using Weblate (Spanish)
Currently translated at 82.9% (13489 of 16269 strings)
2023-10-05 15:20:38 +02:00
Kevin Rojas Costa Rica
7dc2bcaa59 Translated using Weblate (Spanish)
Currently translated at 82.9% (13489 of 16269 strings)
2023-10-05 15:20:37 +02:00
Raphi
1e99c026cb Translated using Weblate (German)
Currently translated at 88.8% (14449 of 16269 strings)
2023-10-05 15:20:36 +02:00
Nut.andor
ae23d99c7f Pull Request #60: • map_transition_6 completed (just 1 tile) 2023-10-04 10:04:50 +02:00
Omicronrg9
a97f3cee64 • map_transition_6 completed (just 1 tile more) 2023-10-04 10:03:32 +02:00
Nut.andor
c0e5f77d53 requirements date/time implementation 2023-10-03 20:41:33 +02:00
Nut.andor
7c8e269b09 Merge branch 'pulls/1829009049/59' into V0.8.8 2023-10-03 18:07:35 +02:00
Nut.andor
87bdd6036a 5 additions to blank tiles in existing spritesheets. 2023-10-03 17:55:30 +02:00
Nut.andor
4d222f7b06 Pull Request #59: 5 additions to blank tiles in existing spritesheets. 2023-10-03 05:16:43 +02:00
Omicronrg9
9b8d0665a1 • 3 variants of Newb's trees. 2023-10-03 05:16:39 +02:00
Erdem Kocamış
498600c6bd Translated using Weblate (Turkish)
Currently translated at 33.8% (5501 of 16269 strings)
2023-10-03 02:34:26 +02:00
Mateusz Mendel
b2031e0f50 Translated using Weblate (Polish)
Currently translated at 85.3% (13889 of 16269 strings)
2023-10-03 02:34:25 +02:00
Kevin Rojas Costa Rica
7536d14a34 Translated using Weblate (Spanish)
Currently translated at 82.3% (13391 of 16269 strings)
2023-10-03 02:34:23 +02:00
Nut.andor
10772abcb4 new requirements: date, dateEquals, time, timeEquals
new rewards: mapchange
2023-10-03 01:26:03 +02:00
Omicronrg9
b5996767c1 • NewbNewb's items added to the spritesheets. 2023-10-03 00:37:40 +02:00
Omicronrg9
1f7adadf78 • Vertical bridge (North-South) in map_bridge_2
• Pickaxe & shovel rusted variants in map_indoor_1
• Cacti high variants in map_plant_1
• Black salt rocks/crystals/remains in map_rock_1
• More shadows in map_trail_1
2023-10-02 01:42:06 +02:00
Erdem Kocamış
810bcff78c Translated using Weblate (Turkish)
Currently translated at 99.6% (610 of 612 strings)
2023-10-01 23:11:37 +02:00
Erdem Kocamış
e953d34d17 Translated using Weblate (Turkish)
Currently translated at 33.8% (5501 of 16269 strings)
2023-10-01 23:11:36 +02:00
Raphi
3b5fe2e622 Translated using Weblate (German)
Currently translated at 88.5% (14404 of 16269 strings)
2023-09-29 15:09:05 +02:00
Nut Andor
9f46492f86 Translated using Weblate (German)
Currently translated at 100.0% (612 of 612 strings)
2023-09-29 15:09:03 +02:00
Eduardo
f1e69677be Translated using Weblate (Portuguese (Brazil))
Currently translated at 90.5% (14733 of 16269 strings)
2023-09-27 08:13:59 +02:00
Mateusz Mendel
17e573a7a9 Translated using Weblate (Polish)
Currently translated at 85.3% (13889 of 16269 strings)
2023-09-24 21:03:15 +00:00
Raphi
4cb6c26363 Translated using Weblate (German)
Currently translated at 87.9% (14311 of 16269 strings)
2023-09-23 11:02:53 +02:00
Raphi
09974c67e4 Translated using Weblate (German)
Currently translated at 87.9% (14301 of 16269 strings)
2023-09-19 20:26:59 +02:00
Palkia
51b0554668 Translated using Weblate (Spanish)
Currently translated at 80.6% (13116 of 16269 strings)
2023-09-19 05:01:52 +00:00
Mateusz Mendel
3c3610d63c Translated using Weblate (Polish)
Currently translated at 85.3% (13889 of 16269 strings)
2023-09-16 21:53:29 +02:00
Eduardo
468ec1ee83 Translated using Weblate (Portuguese (Brazil))
Currently translated at 90.0% (14658 of 16269 strings)
2023-09-13 17:00:30 +02:00
Raphi
dcb6fcb3a6 Translated using Weblate (German)
Currently translated at 87.7% (14275 of 16269 strings)
2023-09-13 17:00:26 +02:00
Nut.andor
9c080c4334 broken bridge 2023-09-12 01:09:28 +02:00
Nut Andor
7b7fefb954 Translated using Weblate (Spanish)
Currently translated at 80.5% (13107 of 16269 strings)
2023-09-10 23:08:29 +02:00
Daniel-Ømicrón Rodríguez Garcí
616e43ce8f Translated using Weblate (Spanish)
Currently translated at 100.0% (612 of 612 strings)
2023-09-10 10:07:42 +02:00
Raphi
318d070e05 Translated using Weblate (German)
Currently translated at 87.6% (14263 of 16269 strings)
2023-09-09 09:29:45 +02:00
Raphi
4a7739a1bf Translated using Weblate (German)
Currently translated at 87.6% (14262 of 16269 strings)
2023-09-08 23:58:59 +02:00
Darren Crowlen
e12250509e Translated using Weblate (Indonesian)
Currently translated at 100.0% (16269 of 16269 strings)
2023-09-07 05:10:44 +02:00
Daniel Stasiak
afb025fd91 Translated using Weblate (Polish)
Currently translated at 85.3% (13886 of 16269 strings)
2023-09-06 15:58:55 +02:00
Daniel Stasiak
8899cb5ea4 Translated using Weblate (Polish)
Currently translated at 85.3% (13886 of 16269 strings)
2023-09-05 19:04:10 +02:00
Darren Crowlen
c6a7bc8c14 Translated using Weblate (Indonesian)
Currently translated at 100.0% (16269 of 16269 strings)
2023-09-05 19:04:07 +02:00
Daniel Stasiak
f2bb6d547b Translated using Weblate (Polish)
Currently translated at 85.3% (13886 of 16269 strings)
2023-09-05 10:42:48 +02:00
Darren Crowlen
1fdcb23d04 Translated using Weblate (Indonesian)
Currently translated at 100.0% (16269 of 16269 strings)
2023-09-05 10:42:45 +02:00
Raphi
131088ad22 Translated using Weblate (German)
Currently translated at 87.6% (14252 of 16269 strings)
2023-09-05 06:25:21 +02:00
Nut.andor
5d3a51e8f2 next version number 2023-09-04 20:42:57 +02:00
Nut.andor
d1cd8a8cef Merge branch 'v0.8.7(new)' 2023-09-04 20:39:10 +02:00
Daniel Stasiak
c2757dcbce Translated using Weblate (Polish)
Currently translated at 85.3% (13886 of 16269 strings)
2023-09-04 11:21:23 +02:00
Darren Crowlen
274ef6a44f Translated using Weblate (Indonesian)
Currently translated at 100.0% (16269 of 16269 strings)
2023-09-03 23:30:14 +02:00
Eduardo
efff180339 Translated using Weblate (Portuguese (Brazil))
Currently translated at 89.8% (14618 of 16269 strings)
2023-09-03 13:48:33 +02:00
Eduardo
8fb51c0647 Translated using Weblate (Portuguese)
Currently translated at 94.4% (578 of 612 strings)
2023-09-03 13:48:30 +02:00
Darren Crowlen
7db9cf50ca Translated using Weblate (Indonesian)
Currently translated at 100.0% (16269 of 16269 strings)
2023-09-03 06:31:19 +02:00
Nut.andor
8128707aa4 release version 2023-09-02 20:23:01 +02:00
Nut.andor
de7740ab14 Merge branch 'master' into v0.8.7(new) 2023-09-02 18:26:32 +02:00
Nut.andor
31633be812 etc 2023-09-02 18:23:59 +02:00
عادل نصري
bcb5d36999 Translated using Weblate (Arabic)
Currently translated at 10.3% (1680 of 16268 strings)
2023-09-02 17:06:23 +02:00
Raphi
7d847dfde5 Translated using Weblate (German)
Currently translated at 87.4% (14229 of 16269 strings)
2023-09-02 17:06:20 +02:00
Nut.andor
b703e774ae fix in/id 2023-09-02 00:55:36 +02:00
Nut.andor
f6207be9d4 translation objects 2023-09-02 00:45:28 +02:00
Nut.andor
7c87c53421 Merge remote-tracking branch 'hosted.weblate/master' 2023-09-02 00:38:28 +02:00
Hosted Weblate
a4ed3688a2 Merge branch 'origin/master' into Weblate. 2023-09-01 23:59:30 +02:00
Nut.andor
6ab8f5f836 fix Indonesian locale renaming in to id 2023-09-01 23:57:45 +02:00
عادل نصري
f9c1724228 Translated using Weblate (Arabic)
Currently translated at 9.8% (1610 of 16268 strings)
2023-09-01 19:35:12 +02:00
ilya
25c77fdf5e Translated using Weblate (Russian)
Currently translated at 100.0% (16269 of 16269 strings)
2023-09-01 19:35:08 +02:00
Eduardo
3bf9c6ae94 Translated using Weblate (Portuguese (Brazil))
Currently translated at 89.6% (14592 of 16269 strings)
2023-09-01 19:35:06 +02:00
Darren Crowlen
0e70b027f5 Translated using Weblate (Indonesian)
Currently translated at 100.0% (16269 of 16269 strings)
2023-09-01 19:35:01 +02:00
Nut.andor
17b17187ff Merge branch 'pulls/1829009049/58' into v0.8.7(new) 2023-08-31 17:51:07 +02:00
Nut.andor
dc226ebe5d rename spawnchance to respawnspeed 2023-08-31 17:35:24 +02:00
Nut.andor
55f5edbb6a Pull Request #58: rename spawnchance to respawnspeed 2023-08-31 17:13:07 +02:00
Nut.andor
29d65fbf64 Merge branch 'master' into v0.8.7(new) 2023-08-31 17:12:12 +02:00
Nut.andor
f3f35be0bf Merge remote-tracking branch 'hosted.weblate/master' 2023-08-31 01:24:10 +02:00
Nut.andor
204c8e046c id to in 2023-08-31 01:23:08 +02:00
Eduardo
1a1710a6c2 Translated using Weblate (Portuguese (Brazil))
Currently translated at 88.4% (14383 of 16269 strings)
2023-08-31 00:09:31 +02:00
Nut.andor
1a2cc00184 translation states 2023-08-30 15:15:31 +02:00
OMGeeky
b3b3f6ff98 rename spawnchance to respawnspeed
This reflects the actual effect it has better
2023-08-30 13:32:57 +02:00
Eduardo
7df8b0330c Translated using Weblate (Portuguese (Brazil))
Currently translated at 88.0% (14324 of 16269 strings)
2023-08-30 09:18:41 +02:00
Palkia
528dd2254e Translated using Weblate (Spanish)
Currently translated at 80.5% (13107 of 16269 strings)
2023-08-30 09:18:38 +02:00
Nut.andor
33fb7c83bf resource def for new png 2023-08-30 01:59:17 +02:00
Nut.andor
50ad382eed potc 2023-08-30 01:17:01 +02:00
Nut.andor
7d1c7cfd74 Merge branch 'v0.8.7(new)' 2023-08-30 00:56:24 +02:00
Nut.andor
5b637099a1 Changes from next_release 2023-08-30 00:40:14 +02:00
Nut.andor
0d6d725f87 debug off 2023-08-30 00:25:08 +02:00
Nut.andor
a98c5d5416 translations and authors 2023-08-30 00:22:59 +02:00
Nut.andor
3361973722 fix updated translations 2023-08-30 00:17:44 +02:00
Nut.andor
91bc6568ee Merge branch 'master' into v0.8.7(new) 2023-08-30 00:13:00 +02:00
Nut.andor
2e583fbfcf Merge remote-tracking branch 'hosted.weblate/master' 2023-08-30 00:08:59 +02:00
Eduardo
50eab6ff38 Translated using Weblate (Portuguese (Brazil))
Currently translated at 87.9% (14305 of 16268 strings)
2023-08-30 00:06:08 +02:00
Nut.andor
d743550cc7 enhanced and reorganized pngs 2023-08-29 23:54:34 +02:00
Eduardo
1c0efc8fa4 Translated using Weblate (Portuguese (Brazil))
Currently translated at 87.4% (14226 of 16268 strings)
2023-08-27 19:43:13 +02:00
Nut.andor
5ff38ea870 New teleport button 'gal' 2023-08-24 19:58:59 +02:00
Nut.andor
4c146f7896 new/added sprites 2023-08-19 03:18:07 +02:00
Nut
4e5aa4314e Merge pull request #57 from OMGeeky/v0.8.7(new)
AndroidX missed spot
2023-08-18 23:09:01 +02:00
OMGeeky
5223951db4 AndroidX missed spot 2023-08-18 21:34:35 +02:00
Nut.andor
ddcb355113 Versions
- next AndroidVersion 34
- 73 = 0.8.7beta
2023-08-18 20:22:29 +02:00
Nut.andor
7a80e15628 typo 2023-08-18 20:06:55 +02:00
Nut
34dc053011 Merge pull request #52 from OMGeeky/gradle-copy-v2
Improvements to the copy Gradle Tasks
2023-08-18 19:52:19 +02:00
Nut
0266449d67 Merge branch 'v0.8.7(new)' into gradle-copy-v2 2023-08-18 19:51:31 +02:00
Nut
ea3afcf99d Merge pull request #50 from OMGeeky/AndroidX-Migration
Android x migration
2023-08-18 19:45:39 +02:00
Nut
c84418186c Merge branch 'v0.8.7(new)' into AndroidX-Migration 2023-08-18 19:44:33 +02:00
Jiri Zizkin Zizka
956990dbd5 Translated using Weblate (Czech)
Currently translated at 89.6% (14583 of 16268 strings)
2023-08-16 03:59:31 +02:00
Hugo Rosa
08f6a2b289 Translated using Weblate (Portuguese (Brazil))
Currently translated at 87.2% (14192 of 16268 strings)
2023-08-11 06:51:38 +02:00
Darren Crowlen
741a4c02a0 Translated using Weblate (French)
Currently translated at 95.5% (15539 of 16268 strings)
2023-08-08 17:52:07 +02:00
Palkia
dcff4939f4 Translated using Weblate (Spanish)
Currently translated at 80.5% (13105 of 16268 strings)
2023-08-08 17:52:05 +02:00
Raphi
506ce02697 Translated using Weblate (German)
Currently translated at 87.4% (14228 of 16268 strings)
2023-08-06 18:08:28 +02:00
Raphi
95bd17b371 Translated using Weblate (German)
Currently translated at 87.4% (14228 of 16268 strings)
2023-08-06 12:10:47 +02:00
Salif Mehmed
16ef7088a6 Translated using Weblate (Bulgarian)
Currently translated at 0.5% (92 of 16268 strings)
2023-08-06 02:13:38 +02:00
Darren Crowlen
f70b0c8a41 Translated using Weblate (Indonesian)
Currently translated at 100.0% (16268 of 16268 strings)
2023-08-06 02:13:35 +02:00
Nut Andor
d68d45d7c7 Translated using Weblate (German)
Currently translated at 87.4% (14228 of 16268 strings)
2023-08-06 02:13:32 +02:00
Vanka
7af2844305 Translated using Weblate (German)
Currently translated at 87.4% (14228 of 16268 strings)
2023-08-06 02:13:31 +02:00
Raphi
fd8c5166b6 Translated using Weblate (German)
Currently translated at 87.4% (14228 of 16268 strings)
2023-08-06 02:13:31 +02:00
Andreas
2c931b6cd2 Translated using Weblate (German)
Currently translated at 100.0% (612 of 612 strings)
2023-08-06 02:13:26 +02:00
Raphi
210069f8e9 Translated using Weblate (German)
Currently translated at 100.0% (612 of 612 strings)
2023-08-06 02:13:26 +02:00
Darren Crowlen
2453897d31 Translated using Weblate (Indonesian)
Currently translated at 100.0% (16268 of 16268 strings)
2023-08-02 20:53:45 +02:00
Darren Crowlen
dc0e758f64 Translated using Weblate (Indonesian)
Currently translated at 93.5% (15224 of 16268 strings)
2023-08-02 06:52:03 +02:00
Darren Crowlen
ac3bf4a008 Translated using Weblate (Bulgarian)
Currently translated at 0.5% (92 of 16268 strings)
2023-07-31 22:51:24 +02:00
Darren Crowlen
caf16299e7 Translated using Weblate (Indonesian)
Currently translated at 73.8% (12020 of 16268 strings)
2023-07-31 22:51:21 +02:00
Darren Crowlen
cfa19ed9d9 Translated using Weblate (Belarusian)
Currently translated at 0.3% (56 of 16267 strings)
2023-07-31 17:04:04 +02:00
Darren Crowlen
6e5d82f340 Translated using Weblate (Arabic)
Currently translated at 9.6% (1567 of 16267 strings)
2023-07-31 17:04:02 +02:00
Jiri Zizkin Zizka
98456b99e8 Translated using Weblate (Czech)
Currently translated at 89.6% (14581 of 16268 strings)
2023-07-31 17:03:59 +02:00
Darren Crowlen
45c6e571cb Translated using Weblate (Indonesian)
Currently translated at 67.5% (10996 of 16268 strings)
2023-07-31 17:03:56 +02:00
Darren Crowlen
e6c5545cd3 Translated using Weblate (French)
Currently translated at 95.4% (15533 of 16268 strings)
2023-07-31 17:02:31 +02:00
LeJun
402c3ae538 Translated using Weblate (French)
Currently translated at 95.4% (15533 of 16268 strings)
2023-07-31 17:02:30 +02:00
Seven
f6018ab466 Translated using Weblate (Spanish (Argentina))
Currently translated at 0.3% (52 of 16267 strings)
2023-07-27 20:07:11 +02:00
Darren Crowlen
0ff738c85e Translated using Weblate (Indonesian)
Currently translated at 100.0% (612 of 612 strings)
2023-07-27 20:07:09 +02:00
Darren Crowlen
4876e6696d Translated using Weblate (Indonesian)
Currently translated at 21.6% (3518 of 16268 strings)
2023-07-27 20:07:09 +02:00
Palkia
167da0d70f Translated using Weblate (Spanish)
Currently translated at 80.4% (13080 of 16268 strings)
2023-07-27 20:07:00 +02:00
Seven
2748aded3f Translated using Weblate (Spanish)
Currently translated at 80.4% (13080 of 16268 strings)
2023-07-27 20:06:59 +02:00
ilya
103434baa0 Translated using Weblate (Russian)
Currently translated at 100.0% (16268 of 16268 strings)
2023-07-22 21:08:17 +02:00
Palkia
c2da7bcbe2 Translated using Weblate (Spanish)
Currently translated at 79.7% (12981 of 16268 strings)
2023-07-16 06:42:02 +02:00
عادل نصري
c64cf99d88 Translated using Weblate (Arabic)
Currently translated at 100.0% (612 of 612 strings)
2023-07-03 11:52:56 +02:00
Nut.andor
de59d8de8d Revert "worldmap bug check"
This reverts commit 718886ba3a.
2023-06-25 18:43:12 +02:00
Nut.andor
718886ba3a worldmap bug check 2023-06-25 13:27:09 +02:00
عادل نصري
3789f1fd0a Translated using Weblate (Arabic)
Currently translated at 100.0% (612 of 612 strings)
2023-06-24 08:41:19 +02:00
عادل نصري
1e6df02e45 Translated using Weblate (Arabic)
Currently translated at 9.4% (1543 of 16267 strings)
2023-06-24 08:41:18 +02:00
Jiri Zizkin Zizka
886a425aaf Translated using Weblate (Czech)
Currently translated at 89.3% (14542 of 16268 strings)
2023-06-24 08:41:14 +02:00
Jiri Zizkin Zizka
7e24d50c0c Translated using Weblate (Czech)
Currently translated at 89.3% (14535 of 16268 strings)
2023-06-13 07:14:38 +02:00
Jiri Zizkin Zizka
8f7d48c297 Translated using Weblate (Czech)
Currently translated at 89.3% (14531 of 16268 strings)
2023-06-12 12:57:53 +02:00
Jiri Zizkin Zizka
3cc81e2510 Translated using Weblate (Czech)
Currently translated at 89.3% (14528 of 16268 strings)
2023-06-11 11:53:28 +02:00
Nifou
0f0be1c18e Translated using Weblate (French)
Currently translated at 95.3% (15511 of 16268 strings)
2023-06-11 11:53:26 +02:00
A-Nicoladie[FR]
5f689e3d6c Translated using Weblate (French)
Currently translated at 95.3% (15511 of 16268 strings)
2023-06-11 11:53:25 +02:00
Jiri Zizkin Zizka
f04d3e40d4 Translated using Weblate (Czech)
Currently translated at 89.2% (14524 of 16268 strings)
2023-06-08 23:53:02 +02:00
Jiri Zizkin Zizka
68a74e07fa Translated using Weblate (Czech)
Currently translated at 89.2% (14516 of 16268 strings)
2023-06-07 09:53:06 +02:00
A-Nicoladie[FR]
199cdbb787 Translated using Weblate (French)
Currently translated at 93.6% (15227 of 16268 strings)
2023-06-07 09:53:03 +02:00
Jiri Zizkin Zizka
375fcb37a2 Translated using Weblate (Czech)
Currently translated at 89.2% (14514 of 16268 strings)
2023-06-04 01:18:50 +02:00
Rahul Shirke
bc1743dedf Translated using Weblate (Marathi)
Currently translated at 0.2% (40 of 16267 strings)
2023-06-02 15:00:22 +02:00
Rahul Shirke
f7771f79c2 Translated using Weblate (Marathi)
Currently translated at 0.2% (35 of 16267 strings)
2023-06-02 06:53:04 +02:00
gallegonovato
7ebce6b36b Translated using Weblate (Spanish)
Currently translated at 100.0% (612 of 612 strings)
2023-06-02 06:53:01 +02:00
Rahul Shirke
b4240eee3a Added translation using Weblate (Marathi) 2023-06-01 05:20:12 +02:00
Andreas
514acc2b65 Translated using Weblate (German)
Currently translated at 87.0% (14162 of 16268 strings)
2023-05-31 12:51:33 +02:00
Andreas
48bc854c8a Translated using Weblate (German)
Currently translated at 99.8% (611 of 612 strings)
2023-05-31 12:51:30 +02:00
Nut Andor
07391dc6c7 Translated using Weblate (German)
Currently translated at 99.8% (611 of 612 strings)
2023-05-31 12:51:29 +02:00
Jiri Zizkin Zizka
7e905e84b7 Translated using Weblate (Czech)
Currently translated at 89.2% (14513 of 16268 strings)
2023-05-30 00:51:29 +02:00
A-Nicoladie[FR]
200a45f0cb Translated using Weblate (French)
Currently translated at 86.5% (14075 of 16268 strings)
2023-05-30 00:51:25 +02:00
A-Nicoladie[FR]
ebff0554f7 Translated using Weblate (French)
Currently translated at 100.0% (612 of 612 strings)
2023-05-30 00:51:16 +02:00
Jiri Zizkin Zizka
e54487d0b0 Translated using Weblate (Czech)
Currently translated at 88.9% (14478 of 16268 strings)
2023-05-28 09:47:10 +02:00
A-Nicoladie[FR]
96a6e7ab20 Translated using Weblate (French)
Currently translated at 82.2% (13376 of 16268 strings)
2023-05-28 09:47:06 +02:00
A-Nicoladie[FR]
95ff8ceb7e Translated using Weblate (French)
Currently translated at 78.9% (12845 of 16268 strings)
2023-05-27 11:05:28 +02:00
Jiri Zizkin Zizka
5aa4308e27 Translated using Weblate (Czech)
Currently translated at 88.8% (14451 of 16268 strings)
2023-05-26 23:49:05 +02:00
Nico207[FR]
aa892be308 Translated using Weblate (French)
Currently translated at 78.5% (12771 of 16268 strings)
2023-05-26 23:49:02 +02:00
ilya
6971bcf9b5 Translated using Weblate (Russian)
Currently translated at 100.0% (612 of 612 strings)
2023-05-26 23:48:59 +02:00
Nico207[FR]
0581e98b55 Translated using Weblate (French)
Currently translated at 100.0% (612 of 612 strings)
2023-05-26 23:48:58 +02:00
Nico207[FR]
5c2e653cdf Translated using Weblate (French)
Currently translated at 78.3% (12750 of 16268 strings)
2023-05-25 22:04:03 +02:00
aircqsj
aa4cd722d2 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (16268 of 16268 strings)
2023-05-25 14:30:36 +02:00
Nico207[FR]
10b2f37ed8 Translated using Weblate (French)
Currently translated at 78.3% (12749 of 16268 strings)
2023-05-25 14:30:30 +02:00
Nico207[FR]
d7ae2a7082 Translated using Weblate (French)
Currently translated at 95.7% (586 of 612 strings)
2023-05-25 14:30:18 +02:00
Jiri Zizkin Zizka
c246a79726 Translated using Weblate (Czech)
Currently translated at 88.8% (14448 of 16268 strings)
2023-05-25 08:52:20 +02:00
ilya
8e4d75705e Translated using Weblate (Russian)
Currently translated at 100.0% (16268 of 16268 strings)
2023-05-25 08:52:15 +02:00
Jiri Zizkin Zizka
ffdaba2d8c Translated using Weblate (Czech)
Currently translated at 88.4% (14387 of 16268 strings)
2023-05-23 13:53:32 +02:00
aircqsj
97187071af Translated using Weblate (Chinese (Simplified))
Currently translated at 99.9% (16264 of 16268 strings)
2023-05-23 13:53:28 +02:00
ilya
dceab6b729 Translated using Weblate (Russian)
Currently translated at 96.9% (15771 of 16268 strings)
2023-05-23 13:53:24 +02:00
Mateusz Mendel
7771872947 Translated using Weblate (Polish)
Currently translated at 85.3% (13884 of 16268 strings)
2023-05-23 13:53:17 +02:00
Nut.andor
cc123f76d6 whatsnew 2023-05-21 20:12:38 +02:00
Nut.andor
a6ad03c534 next version 8.7
(the former 8.7 version was renamed to 8.6.1)
2023-05-21 19:50:13 +02:00
Nut.andor
45491871e6 version 2023-05-21 18:17:44 +02:00
Nut.andor
8988f37896 potc 2023-05-21 10:33:03 +02:00
Nut.andor
09b4324873 Merge branch 'v0.8.7' 2023-05-21 10:27:32 +02:00
Nut.andor
a5a2764cb4 whatsnew 2023-05-21 10:26:44 +02:00
Nut.andor
6de4d0c374 Merge remote-tracking branch 'hosted.weblate/master' 2023-05-21 10:05:40 +02:00
Nut.andor
48c33d766b fix quest "More rats!" 2023-05-21 10:03:23 +02:00
Nut Andor
22493ee0e9 Translated using Weblate (German)
Currently translated at 86.9% (14148 of 16267 strings)
2023-05-21 10:00:28 +02:00
Nut Andor
8afc3133c6 Translated using Weblate (German)
Currently translated at 99.8% (611 of 612 strings)
2023-05-21 10:00:24 +02:00
Jiri Zizkin Zizka
d0cfa29929 Translated using Weblate (Czech)
Currently translated at 88.2% (14358 of 16267 strings)
2023-05-19 04:13:15 +02:00
Ömer Faruk Çakmak
6a51d462d7 Translated using Weblate (Turkish)
Currently translated at 33.7% (5483 of 16267 strings)
2023-05-18 21:54:14 +02:00
Jiri Zizkin Zizka
4f7cc4942c Translated using Weblate (Czech)
Currently translated at 88.1% (14336 of 16267 strings)
2023-05-15 21:55:38 +02:00
Nut.andor
6631e01b64 next version 8.7 2023-05-14 23:14:04 +02:00
Nut.andor
133dffe330 whatsnew 2023-05-13 22:22:26 +02:00
Nut.andor
6e5d17173f potc 2023-05-13 22:13:10 +02:00
Nut.andor
7463d15159 Merge branch 'v0.8.6' 2023-05-13 22:07:16 +02:00
Nut.andor
beff0f1b71 Merge remote-tracking branch 'hosted.weblate/master' 2023-05-13 22:01:01 +02:00
Nut.andor
867ed36419 Ratdom bugfix content 2023-05-13 21:55:06 +02:00
Joan Josep
387c1e126f Translated using Weblate (Catalan)
Currently translated at 100.0% (612 of 612 strings)
2023-05-13 21:49:32 +02:00
Joan Josep
c9d7cda233 Translated using Weblate (Catalan)
Currently translated at 15.4% (2515 of 16264 strings)
2023-05-13 21:49:31 +02:00
ilya
b75521da59 Translated using Weblate (Russian)
Currently translated at 95.4% (15532 of 16264 strings)
2023-05-12 10:54:34 +02:00
aircqsj
5f9ee8a410 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (612 of 612 strings)
2023-05-11 08:51:18 +02:00
aircqsj
296c3b453c Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (16264 of 16264 strings)
2023-05-11 08:51:18 +02:00
aircqsj
6e2da63308 Translated using Weblate (Chinese (Simplified))
Currently translated at 99.9% (16262 of 16264 strings)
2023-05-09 17:53:16 +02:00
ilya
445cd9fe8e Translated using Weblate (Russian)
Currently translated at 95.2% (15496 of 16264 strings)
2023-05-09 17:52:52 +02:00
Erick Ferraz Vieira
a0cc567694 Translated using Weblate (Portuguese (Brazil))
Currently translated at 87.2% (14191 of 16264 strings)
2023-05-09 17:52:48 +02:00
Erick Ferraz Vieira
70d084fba7 Translated using Weblate (Portuguese)
Currently translated at 71.4% (11618 of 16264 strings)
2023-05-09 17:52:45 +02:00
Erick Ferraz Vieira
5236aa0bf9 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (612 of 612 strings)
2023-05-09 17:52:42 +02:00
Nut.andor
0eccb511db next version 2023-05-06 03:07:07 +02:00
Kristoffer Grundström
88c17db72b Translated using Weblate (Swedish)
Currently translated at 4.2% (690 of 16264 strings)
2023-05-03 01:48:24 +02:00
ilya
098fb95653 Translated using Weblate (Russian)
Currently translated at 93.1% (15146 of 16264 strings)
2023-05-03 01:48:21 +02:00
ilya
21d6bb7b7d Translated using Weblate (Russian)
Currently translated at 100.0% (612 of 612 strings)
2023-05-03 01:48:18 +02:00
Daniel Stasiak
ce91c5c7c8 Translated using Weblate (Polish)
Currently translated at 100.0% (612 of 612 strings)
2023-05-03 01:48:17 +02:00
Nut.andor
613ab9101e postfixes 2023-05-02 22:26:35 +02:00
Nut.andor
3fbc7cf65f authors + translation% 2023-05-01 20:57:16 +02:00
Nut.andor
dc18289d18 POTC 2023-05-01 03:03:36 +02:00
Nut.andor
6473e231e4 Mikhail basket 2023-05-01 02:56:49 +02:00
Nut.andor
33a61b7a57 Merge branch 'v0.8.5' 2023-05-01 02:09:07 +02:00
Nut.andor
c070a39f7c Ratdom content 2023-05-01 02:00:00 +02:00
Nut.andor
995ec0f697 active devs 2023-05-01 01:58:18 +02:00
Nut.andor
6cba6872c9 version name 2023-05-01 01:17:20 +02:00
Nut.andor
8812f664e7 authors 2023-05-01 01:15:09 +02:00
Nut.andor
d9113b2dab Merge branch 'master' into v0.8.5 2023-05-01 01:03:25 +02:00
Nut.andor
ad0025ba03 Merge remote-tracking branch 'hosted.weblate/master' 2023-05-01 00:56:15 +02:00
Nut.andor
984aa17cc0 Merge branch 'development' into v0.8.5 2023-05-01 00:45:33 +02:00
Seven
4cad05ce6b Translated using Weblate (Spanish (Argentina))
Currently translated at 0.3% (49 of 15108 strings)
2023-04-29 05:05:40 +02:00
Jiri Zizkin Zizka
197ab946be Translated using Weblate (Czech)
Currently translated at 94.5% (14291 of 15109 strings)
2023-04-29 05:05:37 +02:00
Daniel Stasiak
e4cdbc1840 Translated using Weblate (Polish)
Currently translated at 91.8% (13884 of 15109 strings)
2023-04-29 05:05:34 +02:00
Seven
04f00553ae Translated using Weblate (Spanish)
Currently translated at 84.4% (12763 of 15109 strings)
2023-04-29 05:05:30 +02:00
Daniel Stasiak
0c02902ceb Translated using Weblate (Polish)
Currently translated at 91.8% (13884 of 15109 strings)
2023-04-26 11:24:53 +02:00
Seven
aba93fb15b Translated using Weblate (Spanish)
Currently translated at 84.3% (12740 of 15109 strings)
2023-04-26 11:24:50 +02:00
Seven
1c8330b99a Translated using Weblate (Spanish)
Currently translated at 100.0% (610 of 610 strings)
2023-04-25 19:50:01 +02:00
Seven
a8de7c2860 Translated using Weblate (Spanish)
Currently translated at 84.2% (12727 of 15109 strings)
2023-04-25 19:50:00 +02:00
Seven
4ca8bbfc12 Translated using Weblate (Spanish)
Currently translated at 84.0% (12700 of 15109 strings)
2023-04-25 18:53:44 +02:00
Daniel Stasiak
a5c004e4d4 Translated using Weblate (Polish)
Currently translated at 91.8% (13884 of 15109 strings)
2023-04-25 18:19:25 +02:00
Seven
e957e409e0 Translated using Weblate (Spanish)
Currently translated at 83.9% (12684 of 15109 strings)
2023-04-25 18:19:21 +02:00
Jiri Zizkin Zizka
70d6340c11 Translated using Weblate (Czech)
Currently translated at 94.5% (14280 of 15109 strings)
2023-04-22 22:53:01 +02:00
Jiri Zizkin Zizka
bbbb69b175 Translated using Weblate (Czech)
Currently translated at 94.4% (14273 of 15109 strings)
2023-04-21 20:37:11 +02:00
ilya
4d5b7d8667 Translated using Weblate (Russian)
Currently translated at 100.0% (15109 of 15109 strings)
2023-04-21 20:37:08 +02:00
Daniel Stasiak
43da08f57d Translated using Weblate (Polish)
Currently translated at 91.8% (13884 of 15109 strings)
2023-04-21 20:37:04 +02:00
Jiri Zizkin Zizka
7b97367bdd Translated using Weblate (Czech)
Currently translated at 94.4% (14272 of 15109 strings)
2023-04-19 21:55:23 +02:00
Daniel Stasiak
e6fb647b99 Translated using Weblate (Polish)
Currently translated at 91.8% (13884 of 15109 strings)
2023-04-19 21:55:21 +02:00
Daniel Stasiak
5e4d7aba18 Translated using Weblate (Polish)
Currently translated at 91.8% (13884 of 15109 strings)
2023-04-18 10:35:09 +02:00
Daniel Stasiak
a96086b9af Translated using Weblate (Polish)
Currently translated at 91.8% (13884 of 15109 strings)
2023-04-17 21:14:23 +02:00
Joan Josep
0566cf899c Translated using Weblate (Catalan)
Currently translated at 100.0% (610 of 610 strings)
2023-04-17 12:49:15 +02:00
Jiri Zizkin Zizka
c8e87fb3d0 Translated using Weblate (Czech)
Currently translated at 94.4% (14265 of 15109 strings)
2023-04-17 12:49:14 +02:00
Nut.andor
0a56a0ba86 Credits for external products 2023-04-16 19:58:58 +02:00
Nut.andor
026ccde2ff Credits for external products 2023-04-16 10:33:28 +02:00
Nut.andor
7813994b81 Release Notes 2023-04-16 09:52:04 +02:00
Nut.andor
d3b070844f set high quality filters default to off 2023-04-16 09:18:45 +02:00
Emre Kaynak
7a879f99b1 Translated using Weblate (Turkish)
Currently translated at 97.5% (595 of 610 strings)
2023-04-16 06:51:16 +02:00
Jiri Zizkin Zizka
e810cdb3cb Translated using Weblate (Czech)
Currently translated at 94.3% (14257 of 15109 strings)
2023-04-16 06:51:15 +02:00
Emre Kaynak
398be07c31 Translated using Weblate (Turkish)
Currently translated at 36.1% (5455 of 15109 strings)
2023-04-16 06:51:13 +02:00
sefa mert katiç
6db4c7bb3c Translated using Weblate (Turkish)
Currently translated at 36.0% (5449 of 15109 strings)
2023-04-14 23:53:02 +02:00
Sarah Chiandotto
c402824641 Translated using Weblate (Italian)
Currently translated at 83.4% (12602 of 15109 strings)
2023-04-14 23:53:00 +02:00
Martin
abc020e8f5 Translated using Weblate (German)
Currently translated at 93.6% (14148 of 15109 strings)
2023-04-14 23:52:57 +02:00
sefa mert katiç
82caf260ce Translated using Weblate (Turkish)
Currently translated at 35.8% (5417 of 15109 strings)
2023-04-12 00:53:21 +02:00
Renald Afrenzia
cbcf5ff8ca Translated using Weblate (Indonesian)
Currently translated at 96.0% (586 of 610 strings)
2023-04-11 01:47:48 +02:00
Jiri Zizkin Zizka
39d07bf8a8 Translated using Weblate (Czech)
Currently translated at 94.2% (14245 of 15109 strings)
2023-04-11 01:47:47 +02:00
Lucas Araujo
93174f0d65 Translated using Weblate (Portuguese (Brazil))
Currently translated at 93.7% (14166 of 15109 strings)
2023-04-09 12:53:09 +02:00
Joan Josep
6afbeb9a2a Translated using Weblate (Catalan)
Currently translated at 100.0% (610 of 610 strings)
2023-04-08 11:52:57 +02:00
Lucas Araujo
a7cbd644f3 Translated using Weblate (Portuguese (Brazil))
Currently translated at 93.7% (14164 of 15109 strings)
2023-04-08 11:52:56 +02:00
Joan Josep
f674aff07c Translated using Weblate (Catalan)
Currently translated at 100.0% (610 of 610 strings)
2023-04-07 20:53:14 +02:00
Joan Josep
07b89a288c Translated using Weblate (Catalan)
Currently translated at 16.5% (2493 of 15109 strings)
2023-04-07 20:53:12 +02:00
Joan Josep
0264c418ca Translated using Weblate (Catalan)
Currently translated at 100.0% (610 of 610 strings)
2023-04-05 20:53:10 +02:00
Jiri Zizkin Zizka
494b9c47cc Translated using Weblate (Czech)
Currently translated at 94.1% (14225 of 15109 strings)
2023-04-05 20:53:09 +02:00
Pablo Jeldres
6ff6c6dd6c Translated using Weblate (Spanish)
Currently translated at 83.8% (12670 of 15109 strings)
2023-04-05 20:53:06 +02:00
Jiri Zizkin Zizka
00ab587265 Translated using Weblate (Czech)
Currently translated at 94.1% (14219 of 15109 strings)
2023-04-03 20:41:57 +02:00
Hong Quan
67fa480805 Translated using Weblate (Vietnamese)
Currently translated at 12.4% (76 of 610 strings)
2023-04-02 17:41:39 +02:00
Lucas Araujo
91db56e7a7 Translated using Weblate (Portuguese (Brazil))
Currently translated at 93.7% (14164 of 15109 strings)
2023-04-02 17:41:38 +02:00
Cicy Chen
36d52bedad Added translation using Weblate (Chinese (Literary)) 2023-03-31 06:27:20 +02:00
Hong Quan
c36b676720 Translated using Weblate (Vietnamese)
Currently translated at 1.4% (9 of 610 strings)
2023-03-29 15:40:40 +02:00
Lustheart Faezeiros
5e0a999249 Translated using Weblate (Thai)
Currently translated at 12.7% (78 of 610 strings)
2023-03-29 15:40:40 +02:00
Jiri Zizkin Zizka
8fff4aff60 Translated using Weblate (Czech)
Currently translated at 94.1% (14218 of 15109 strings)
2023-03-29 15:40:39 +02:00
Lustheart Faezeiros
8c5344ff37 Translated using Weblate (Thai)
Currently translated at 1.2% (195 of 15109 strings)
2023-03-29 15:40:36 +02:00
ssantos
91e49b6c4a Translated using Weblate (Portuguese)
Currently translated at 76.8% (11618 of 15109 strings)
2023-03-29 15:40:34 +02:00
Hong Quan
52cfb37b21 Added translation using Weblate (Vietnamese) 2023-03-27 16:12:56 +02:00
DragonChen TW
87886f08bb Translated using Weblate (Chinese (Traditional))
Currently translated at 6.6% (998 of 15109 strings)
2023-03-26 11:32:21 +02:00
Jiri Zizkin Zizka
a31d7f9589 Translated using Weblate (Czech)
Currently translated at 93.9% (14198 of 15109 strings)
2023-03-26 11:32:19 +02:00
DragonChen TW
5600957f32 Translated using Weblate (Chinese (Traditional))
Currently translated at 6.5% (996 of 15109 strings)
2023-03-25 11:39:22 +01:00
ilya
d6840a83c9 Translated using Weblate (Russian)
Currently translated at 100.0% (610 of 610 strings)
2023-03-25 11:39:20 +01:00
DragonChen TW
06fdd39648 Translated using Weblate (Chinese (Traditional))
Currently translated at 6.5% (990 of 15109 strings)
2023-03-23 22:42:13 +01:00
ilya
b5763e7f76 Translated using Weblate (Russian)
Currently translated at 100.0% (610 of 610 strings)
2023-03-23 22:42:10 +01:00
DragonChen TW
75f01f20b9 Translated using Weblate (Chinese (Traditional))
Currently translated at 6.4% (979 of 15109 strings)
2023-03-22 14:12:10 +01:00
Hong Quan
dd366ab69e Translated using Weblate (Vietnamese)
Currently translated at 0.1% (3 of 15108 strings)
2023-03-21 21:24:23 +01:00
DragonChen TW
6ab443ec2c Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (610 of 610 strings)
2023-03-21 21:24:21 +01:00
DragonChen TW
e0056cbf5c Translated using Weblate (Chinese (Traditional))
Currently translated at 6.4% (978 of 15109 strings)
2023-03-21 21:24:20 +01:00
ilya
9f9397e1f3 Translated using Weblate (Russian)
Currently translated at 100.0% (610 of 610 strings)
2023-03-21 21:24:18 +01:00
Hong Quan
d5a43cc7e1 Added translation using Weblate (Vietnamese) 2023-03-20 17:34:05 +01:00
DragonChen TW
408d8aa8b8 Translated using Weblate (Chinese (Traditional))
Currently translated at 97.5% (595 of 610 strings)
2023-03-19 08:40:41 +01:00
DragonChen TW
1e663069e8 Translated using Weblate (Chinese (Traditional))
Currently translated at 6.4% (977 of 15109 strings)
2023-03-19 08:40:40 +01:00
Nut.andor
dbcec1a199 James' PR 54 to master - redirected to branch development
Changed XP death penalty to 20%
Give the player 9 BC by default
2023-03-18 18:53:53 +01:00
Noza
04b4193548 Translated using Weblate (Indonesian)
Currently translated at 17.0% (2580 of 15109 strings)
2023-03-14 19:44:12 +01:00
Jiri Zizkin Zizka
058803184f Translated using Weblate (Czech)
Currently translated at 93.7% (14170 of 15109 strings)
2023-03-10 22:41:53 +01:00
Jiri Zizkin Zizka
5b5912c5bc Translated using Weblate (Czech)
Currently translated at 93.7% (14170 of 15109 strings)
2023-03-09 21:42:07 +01:00
Lacrom
759e632c07 Translated using Weblate (French)
Currently translated at 84.3% (12739 of 15109 strings)
2023-03-08 16:42:04 +01:00
Johny The Pvp God
6e311ecb64 Translated using Weblate (Romanian)
Currently translated at 56.2% (343 of 610 strings)
2023-03-07 00:41:35 +01:00
Jiri Zizkin Zizka
b480fd9173 Translated using Weblate (Czech)
Currently translated at 93.7% (14170 of 15109 strings)
2023-03-07 00:41:35 +01:00
Nut.andor
226459ddb8 skill improve text clarified 2023-03-05 18:05:46 +01:00
BE Kharel
92de033bc8 Translated using Weblate (Arabic)
Currently translated at 9.6% (1459 of 15108 strings)
2023-03-04 11:41:54 +01:00
BE Kharel
faf0dd061c Translated using Weblate (Bulgarian)
Currently translated at 0.5% (89 of 15109 strings)
2023-03-04 11:41:52 +01:00
Jiri Zizkin Zizka
9eaf9ea2ed Translated using Weblate (Czech)
Currently translated at 93.7% (14168 of 15109 strings)
2023-03-04 11:41:50 +01:00
ilya
00c4f77251 Translated using Weblate (Russian)
Currently translated at 100.0% (15109 of 15109 strings)
2023-03-04 11:41:47 +01:00
Nut.andor
96ef9eedbb Content format reference 2023-02-26 01:35:28 +01:00
Nut.andor
a5d94c03e2 Migration of links to git repo AndorsTrailRelease 2023-02-26 01:34:35 +01:00
Nut.andor
9d15d380a3 Migration of links to git repo AndorsTrailRelease 2023-02-26 01:27:10 +01:00
Nut.andor
bff780c837 reformat for better reading 2023-02-26 01:11:40 +01:00
Nut.andor
0c493952c8 Migration of links to git repo AndorsTrailRelease 2023-02-25 23:47:10 +01:00
Jiri Zizkin Zizka
a1f6e1d29c Translated using Weblate (Czech)
Currently translated at 93.5% (14135 of 15109 strings)
2023-02-25 05:40:05 +01:00
aircqsj
fc71f43755 Translated using Weblate (Chinese (Simplified))
Currently translated at 99.9% (15105 of 15109 strings)
2023-02-25 05:40:02 +01:00
Jiri Zizkin Zizka
16afcf4886 Translated using Weblate (Czech)
Currently translated at 93.4% (14114 of 15109 strings)
2023-02-23 02:46:02 +01:00
Daniel Stasiak
b64a3c2109 Translated using Weblate (Polish)
Currently translated at 91.8% (13884 of 15109 strings)
2023-02-23 02:45:59 +01:00
Casey Malessa
5c0dc66183 Translated using Weblate (Japanese)
Currently translated at 95.4% (582 of 610 strings)
2023-02-23 02:45:56 +01:00
Nut.andor
3047f653bd prep beta 2023-02-21 21:57:48 +01:00
Nut.andor
393a478d13 prep beta 2023-02-21 21:31:14 +01:00
Michael Bæk
560cb326f9 Added translation using Weblate (Danish) 2023-02-20 20:45:04 +01:00
Jiri Zizkin Zizka
3fe2d7260f Translated using Weblate (Czech)
Currently translated at 93.1% (14074 of 15109 strings)
2023-02-20 20:41:50 +01:00
Jiri Zizkin Zizka
2cd4bc7ee5 Translated using Weblate (Czech)
Currently translated at 92.6% (13997 of 15109 strings)
2023-02-15 23:40:12 +01:00
Daniel Stasiak
19468b591d Translated using Weblate (Polish)
Currently translated at 91.8% (13884 of 15109 strings)
2023-02-15 23:40:09 +01:00
ssantos
903117d32f Translated using Weblate (Portuguese)
Currently translated at 76.4% (11555 of 15109 strings)
2023-02-12 16:40:07 +01:00
Jiri Zizkin Zizka
f5bfc98c62 Translated using Weblate (Czech)
Currently translated at 92.6% (13995 of 15109 strings)
2023-02-10 11:39:33 +01:00
Daniel Stasiak
3274feb1e9 Translated using Weblate (Polish)
Currently translated at 91.8% (13884 of 15109 strings)
2023-02-10 11:39:30 +01:00
Daniel Stasiak
392b4d8577 Translated using Weblate (Polish)
Currently translated at 100.0% (610 of 610 strings)
2023-02-10 11:39:28 +01:00
Yan Chen
92e4afde4b Translated using Weblate (Esperanto)
Currently translated at 17.5% (107 of 610 strings)
2023-02-08 23:40:01 +01:00
Jiri Zizkin Zizka
0c7724fe33 Translated using Weblate (Czech)
Currently translated at 100.0% (610 of 610 strings)
2023-02-08 23:40:00 +01:00
Jiri Zizkin Zizka
ca5be34fc2 Translated using Weblate (Czech)
Currently translated at 92.5% (13986 of 15109 strings)
2023-02-08 23:40:00 +01:00
Daniel Stasiak
28c3c7a0ec Translated using Weblate (Polish)
Currently translated at 91.8% (13884 of 15109 strings)
2023-02-08 23:39:57 +01:00
Daniel Stasiak
7f39cf1a6f Translated using Weblate (Polish)
Currently translated at 91.8% (13884 of 15109 strings)
2023-02-07 15:40:44 +01:00
gallegonovato
365839571a Translated using Weblate (Spanish)
Currently translated at 100.0% (610 of 610 strings)
2023-02-04 20:39:45 +01:00
Daniel Stasiak
5c3a04ca77 Translated using Weblate (Polish)
Currently translated at 91.8% (13884 of 15109 strings)
2023-02-04 20:39:45 +01:00
Nut.andor
758a580063 changed png 2023-02-04 01:28:09 +01:00
Daniel Stasiak
ad5dbc9f9d Translated using Weblate (Polish)
Currently translated at 91.8% (13884 of 15109 strings)
2023-02-03 12:00:45 +01:00
Casey Malessa
4a86680928 Translated using Weblate (Japanese)
Currently translated at 92.2% (13933 of 15109 strings)
2023-02-03 12:00:42 +01:00
ilya
ece63cf442 Translated using Weblate (Russian)
Currently translated at 100.0% (15109 of 15109 strings)
2023-02-01 22:45:44 +01:00
Daniel Stasiak
b487140a1b Translated using Weblate (Polish)
Currently translated at 91.8% (13884 of 15109 strings)
2023-02-01 22:45:42 +01:00
Casey Malessa
ad72bf8895 Translated using Weblate (Japanese)
Currently translated at 92.1% (13928 of 15109 strings)
2023-02-01 22:45:40 +01:00
Nut.andor
5919c429d2 Next version 2023-01-31 22:14:49 +01:00
OMGeeky
1f365b170e improves the gradle tasks for copying the maps and translations
Instead of copying the files to the normal res folder they get copied
to the build folder, which gives the user the hint that they are
generated and should not be edited in this location.

> **Warning**
After pulling this commit both folders '/app/src/main/res' and 'app/src/main/assets'
should be deleted if they exist, since they are no longer ignored (since they don't get used anymore)!
2023-01-31 22:06:34 +01:00
Nut.andor
0b6580e7c9 whatsNew 69 v0.8.4.1 2023-01-31 21:14:03 +01:00
Nut.andor
6efb2b3860 unneeded files bloats the apk 2023-01-31 21:14:03 +01:00
ilya
7ae084073f Translated using Weblate (Russian)
Currently translated at 100.0% (15109 of 15109 strings)
2023-01-31 19:42:48 +01:00
Daniel Stasiak
36df0b1732 Translated using Weblate (Polish)
Currently translated at 91.8% (13884 of 15109 strings)
2023-01-31 19:42:45 +01:00
ilya
b8fb100bd5 Translated using Weblate (Russian)
Currently translated at 100.0% (610 of 610 strings)
2023-01-31 19:42:44 +01:00
Nut.andor
82b904d176 target 31 needed for Google Play + export 2023-01-30 22:04:10 +01:00
OMGeeky
44723978e1 Merge remote-tracking branch 'origin/AndroidX-Migration' into AndroidX-Migration
# Conflicts:
#	AndorsTrail/app/src/main/AndroidManifest.xml
#	AndorsTrail/app/src/main/java/com/gpl/rpg/AndorsTrail/util/AndroidStorage.java
#	AndorsTrail/build.gradle
#	AndorsTrail/gradle.properties
#	AndorsTrail/gradle/wrapper/gradle-wrapper.properties
2023-01-30 18:38:37 +01:00
OMGeeky
7c7b4829f6 gradle update 2023-01-30 18:29:06 +01:00
OMGeeky
050b027ff5 AndroidX-Migration 2023-01-30 18:02:23 +01:00
OMGeeky
8fac65e268 Upgrade Gradle & Build target version 2023-01-30 18:00:00 +01:00
Nut.andor
111aca868c hotfix 2023-01-29 22:40:51 +01:00
Nut.andor
2171c16d47 whatsNew 2023-01-29 18:38:37 +01:00
Nut.andor
acd4d84783 potc 2023-01-29 18:25:36 +01:00
Nut.andor
cc25cc97f1 Translations 2023-01-29 18:10:15 +01:00
Nut.andor
93ecebc448 Merge branch 'V0.8.4'
# Conflicts:
#	AndorsTrail/app/src/main/AndroidManifest.xml
#	AndorsTrail/app/src/main/java/com/gpl/rpg/AndorsTrail/AndorsTrailApplication.java
2023-01-29 17:58:55 +01:00
Nut.andor
f5713a3eb2 Merge remote-tracking branch 'hosted.weblate/master' 2023-01-29 17:51:49 +01:00
Jiri Zizkin Zizka
90001bb4d6 Translated using Weblate (Czech)
Currently translated at 93.0% (13958 of 14998 strings)
2023-01-29 17:48:01 +01:00
Daniel Stasiak
357cab9b1e Translated using Weblate (Polish)
Currently translated at 92.5% (13884 of 14998 strings)
2023-01-29 17:47:58 +01:00
Jiri Zizkin Zizka
5ea272f286 Translated using Weblate (Czech)
Currently translated at 100.0% (602 of 602 strings)
2023-01-28 00:57:24 +01:00
Jiri Zizkin Zizka
0c876bd1c5 Translated using Weblate (Czech)
Currently translated at 92.9% (13934 of 14998 strings)
2023-01-28 00:57:24 +01:00
Daniel Stasiak
0ac2999694 Translated using Weblate (Polish)
Currently translated at 92.5% (13884 of 14998 strings)
2023-01-28 00:57:22 +01:00
Nut.andor
49af3c4b6d some more map fixex 2023-01-24 21:30:37 +01:00
Nut.andor
2a54b31d31 beta version nbr 2023-01-24 21:29:05 +01:00
Nut.andor
64766ce50a potc 2023-01-24 20:47:39 +01:00
Nut.andor
311accfdd3 prep for beta 2023-01-24 20:21:38 +01:00
Nut.andor
2b5bf2fa4a Merge remote-tracking branch 'origin/V0.8.4' into V0.8.4 2023-01-21 13:32:42 +01:00
Nut
64342c96d7 Merge pull request #51 from OMGeeky/import-export-fix-1
Import/Export improvements
2023-01-21 13:31:28 +01:00
OMGeeky
f8649bb0a5 Cleanup 2023-01-21 12:55:16 +01:00
Nut.andor
fde6608c26 translations, copyright 2023-01-21 01:06:55 +01:00
Nut.andor
3f339c14a2 translations, copyright 2023-01-21 00:40:52 +01:00
Nut.andor
922db05c4d Merge remote-tracking branch 'hosted.weblate/master' into V0.8.4 2023-01-21 00:31:16 +01:00
Eduardo
b849de8b66 Translated using Weblate (Portuguese (Brazil))
Currently translated at 94.4% (14159 of 14998 strings)
2023-01-21 00:21:55 +01:00
Eduardo
f798b29729 Translated using Weblate (Portuguese)
Currently translated at 76.4% (11470 of 14998 strings)
2023-01-21 00:21:51 +01:00
MARCO ACORTE
e58e7a2588 Translated using Weblate (Italian)
Currently translated at 83.9% (12598 of 14998 strings)
2023-01-21 00:21:50 +01:00
Eduardo
a1ef339831 Translated using Weblate (Portuguese)
Currently translated at 76.4% (11466 of 14998 strings)
2023-01-20 00:59:15 +01:00
gallegonovato
2002d51f6b Translated using Weblate (Spanish)
Currently translated at 100.0% (602 of 602 strings)
2023-01-15 19:50:17 +01:00
Nut.andor
025283b70b ratdom graphics 2023-01-14 00:57:13 +01:00
Predrag
577b1aa034 Translated using Weblate (Serbian)
Currently translated at 1.8% (275 of 14997 strings)
2023-01-13 10:52:03 +01:00
Ömer Faruk Çakmak
da637c0cc8 Translated using Weblate (Turkish)
Currently translated at 36.1% (5416 of 14998 strings)
2023-01-13 10:52:01 +01:00
Vincenzo De Concilio
d026ff690a Translated using Weblate (Italian)
Currently translated at 96.8% (583 of 602 strings)
2023-01-13 10:51:59 +01:00
Predrag
d14ed56669 Added translation using Weblate (Serbian) 2023-01-12 09:31:54 +01:00
Predrag
64cfacb7ff Translated using Weblate (Serbian)
Currently translated at 0.9% (144 of 14997 strings)
2023-01-11 16:55:04 +01:00
Ömer Faruk Çakmak
98a800e070 Translated using Weblate (Turkish)
Currently translated at 100.0% (602 of 602 strings)
2023-01-11 16:55:02 +01:00
Predrag
35219c8e88 Translated using Weblate (Serbian)
Currently translated at 0.5% (89 of 14997 strings)
2023-01-11 16:22:50 +01:00
Predrag
b636cad347 Added translation using Weblate (Serbian) 2023-01-11 15:35:23 +01:00
Ian Lethe (Windseeker)
733328cd29 Translated using Weblate (Korean)
Currently translated at 9.3% (1408 of 14998 strings)
2023-01-09 12:13:27 +01:00
Ian Lethe (Windseeker)
36db28f805 Translated using Weblate (Korean)
Currently translated at 9.3% (1404 of 14998 strings)
2023-01-09 08:52:00 +01:00
Szabó Péter
6d4c1c3c14 Translated using Weblate (Hungarian)
Currently translated at 89.0% (536 of 602 strings)
2023-01-08 13:52:07 +01:00
David Tamas Szabo
eadb95f8e8 Translated using Weblate (Hungarian)
Currently translated at 27.8% (4177 of 14998 strings)
2023-01-08 13:52:07 +01:00
Szabó Péter
014f67f270 Translated using Weblate (Hungarian)
Currently translated at 27.8% (4177 of 14998 strings)
2023-01-08 13:52:06 +01:00
Nut.andor
cd8657adb4 QuickLearner 5% -> 10% 2023-01-08 00:57:36 +01:00
gallegonovato
c007fc4d1c Translated using Weblate (Spanish)
Currently translated at 100.0% (602 of 602 strings)
2023-01-01 19:52:07 +01:00
gallegonovato
7e6c864ba3 Translated using Weblate (Spanish)
Currently translated at 84.3% (12658 of 14998 strings)
2023-01-01 19:52:06 +01:00
Kristoffer Grundström
f2da8f767a Translated using Weblate (Swedish)
Currently translated at 4.5% (689 of 14998 strings)
2022-12-29 13:27:04 +01:00
Nut.andor
bd856541d6 fix Burhczyd 2022-12-25 01:34:00 +01:00
Dan
bdde2176d9 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (602 of 602 strings)
2022-12-15 21:48:06 +01:00
Dan
171893a2c1 Translated using Weblate (Ukrainian)
Currently translated at 9.8% (1478 of 14998 strings)
2022-12-14 13:51:22 +01:00
rabituwu
c6c1d6d03d Translated using Weblate (Filipino)
Currently translated at 1.9% (295 of 14997 strings)
2022-12-12 14:51:24 +01:00
Nut.andor
ec8b114782 fix Burhczyd 2022-12-12 08:52:43 +01:00
Nut.andor
aaecb8ae4a Reformatting json for better reading 2022-12-11 03:56:15 +01:00
OMGeeky
4e2e3b370c formatting 2022-12-08 17:56:41 +01:00
OMGeeky
c14f8f84a0 Import/Export of the worldmap changed to zip files & some clarifications 2022-12-08 00:18:28 +01:00
Lucas Araujo
13c8012710 Translated using Weblate (Portuguese (Brazil))
Currently translated at 92.9% (13935 of 14998 strings)
2022-12-03 16:48:55 +01:00
عادل نصري
3806d77b26 Translated using Weblate (Arabic)
Currently translated at 9.7% (1457 of 14997 strings)
2022-11-30 14:48:56 +01:00
عادل نصري
af94220715 Translated using Weblate (Arabic)
Currently translated at 100.0% (602 of 602 strings)
2022-11-29 20:48:04 +01:00
عادل نصري
af07c47832 Translated using Weblate (Arabic)
Currently translated at 9.7% (1456 of 14997 strings)
2022-11-29 20:48:03 +01:00
Nut.andor
322007e5ac Next version number v0-8-4 68 2022-11-19 00:23:26 +01:00
aircqsj
af5cdb9d49 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (602 of 602 strings)
2022-11-16 13:48:29 +01:00
Nut.andor
3ada8ceaa7 V0.8.3 2022-11-13 00:54:22 +01:00
3raven
68fa0068dc Translated using Weblate (French)
Currently translated at 84.8% (12733 of 14998 strings)
2022-11-09 22:50:27 +01:00
Nut.andor
7b5fc79375 fixes from beta 2022-11-09 07:30:19 +01:00
ilya
5dfa750227 Translated using Weblate (Russian)
Currently translated at 100.0% (602 of 602 strings)
2022-11-08 19:03:26 +01:00
ilya
cbe0773310 Translated using Weblate (Russian)
Currently translated at 100.0% (602 of 602 strings)
2022-11-07 14:03:24 +01:00
Nut.andor
72a19eeb80 fixes from beta 2022-11-06 21:47:25 +01:00
Nut.andor
a993cc5a08 translation state 2022-11-05 19:07:45 +01:00
Nut.andor
83724ba408 haunted content 2022-11-05 02:03:27 +01:00
Nut.andor
a4cd8f7460 Merge branch 'pulls/1829009049/48' 2022-11-05 00:43:35 +01:00
Nut.andor
7a52bbb9f3 Merge remote-tracking branch 'origin/v0.8.3' 2022-11-05 00:40:01 +01:00
Nut.andor
3552ff8a9f translations 2022-11-05 00:31:16 +01:00
Nut.andor
0e081f3319 authors 2022-11-05 00:30:56 +01:00
Nut.andor
1d94519e1c Merge remote-tracking branch 'hosted.weblate/master' into v0.8.3 2022-11-05 00:24:11 +01:00
Hosted Weblate
0bbc6adb4b Merge branch 'origin/master' into Weblate. 2022-11-05 00:21:51 +01:00
Nut.andor
b48ddd4999 whatsnew 2022-11-04 22:44:39 +01:00
Nut.andor
be8dad981d some new / fixed graphics 2022-11-04 22:44:38 +01:00
Nut.andor
f9708f48a4 whatsnew 2022-11-04 22:38:11 +01:00
Nut.andor
155b01bdea some new / fixed graphics 2022-11-04 22:07:10 +01:00
Nut.andor
19810b2099 Import Export 2022-11-04 21:57:27 +01:00
aircqsj
c6886f7a3e Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (14998 of 14998 strings)
2022-11-04 14:07:59 +01:00
OMGeeky
3bea24f9cc Fixed bug where the Logs folder would get exported instead of the Worldmap folder
+cleanup
+API level safety markers
2022-11-03 20:35:37 +01:00
Lacrom
4b8f5c4908 Translated using Weblate (French)
Currently translated at 84.7% (12717 of 14998 strings)
2022-10-29 06:34:15 +02:00
Nut
66d9618b1b Merge pull request #49 from OMGeeky/temp1
Remove ignored files
2022-10-28 22:16:00 +02:00
OMGeeky
488d6347d0 Remove ignore files that are still tracked 2022-10-28 21:39:41 +02:00
OMGeeky
d39d0c9265 AndroidX-Migration 2022-10-28 19:39:14 +02:00
OMGeeky
33fe96dada Upgrade Gradle & Build target version 2022-10-28 19:05:54 +02:00
OMGeeky
51fd0d0994 Add a loading animation. 2022-10-28 18:47:08 +02:00
Lacrom
50833af145 Translated using Weblate (French)
Currently translated at 84.7% (12704 of 14998 strings)
2022-10-28 07:50:32 +02:00
Lacrom
ca7c2388aa Translated using Weblate (French)
Currently translated at 83.2% (12479 of 14998 strings)
2022-10-27 08:48:11 +02:00
Lacrom
8e7d6adca5 Translated using Weblate (French)
Currently translated at 100.0% (582 of 582 strings)
2022-10-27 08:48:09 +02:00
aircqsj
17edb96ff8 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (14998 of 14998 strings)
2022-10-23 06:10:26 +02:00
ilya
3f3869916c Translated using Weblate (Russian)
Currently translated at 100.0% (14998 of 14998 strings)
2022-10-23 06:10:24 +02:00
Elton Viana Gonçalves da Luz
1d2fc7ade7 Translated using Weblate (Portuguese (Brazil))
Currently translated at 92.8% (13929 of 14998 strings)
2022-10-23 06:10:22 +02:00
OMGeeky
aa84e5a73d Improve import options when the target slot is already used. 2022-10-22 18:10:59 +02:00
OMGeeky
4ecf7d2dda Allow setting strings as message directly & add support for canceling the Dialog 2022-10-22 18:06:25 +02:00
Nut.andor
dca1cb676c New release version numbers and some basic files and settings 2022-10-20 00:14:37 +02:00
Nut.andor
9a4f41eac2 whatsnew 2022-10-19 23:21:43 +02:00
OMGeeky
23012b0d40 Update strings.xml 2022-10-19 22:33:06 +02:00
OMGeeky
916134bd9b Update strings.xml 2022-10-19 22:24:05 +02:00
Nut.andor
1d6777daae fix diamond 2022-10-19 20:14:29 +02:00
OMGeeky
4793751ba8 Improved error/success messages & fixed some bugs in 'Add as New' 2022-10-19 19:16:37 +02:00
OMGeeky
185c0eaf7c Enabling 'Load' button even if no saves exist (for imports) 2022-10-19 19:14:27 +02:00
Daniel Stasiak
4b50d13149 Translated using Weblate (Polish)
Currently translated at 92.5% (13884 of 14998 strings)
2022-10-19 18:07:41 +02:00
이정희
23b58c3e7c Translated using Weblate (Korean)
Currently translated at 9.3% (1403 of 14998 strings)
2022-10-19 18:07:39 +02:00
Ricardo
2d5ebc3b13 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (582 of 582 strings)
2022-10-19 18:07:38 +02:00
OMGeeky
59e2e3035c Hide the import/export options on devices with an Android version below 10 (Q or api level 29) 2022-10-18 22:34:08 +02:00
OMGeeky
6d5ddfdbfa Add option to 'Add as New' on import 2022-10-18 22:15:53 +02:00
OMGeeky
f8ae18721f Allow vertically stacked buttons in Dialogs 2022-10-18 22:13:17 +02:00
Nut.andor
63bc7c3a4e whatsnew and translation status 2022-10-17 23:44:05 +02:00
OMGeeky
8e72763314 Import Export 2022-10-17 23:20:16 +02:00
Nut.andor
9310d53362 potc 2022-10-17 23:15:48 +02:00
Nut.andor
a71dcc13a3 content 0.8.2 2022-10-17 23:06:34 +02:00
Nut.andor
ea95f4ff87 actual translations generated 2022-10-17 22:33:03 +02:00
Nut.andor
f35167d112 Merge remote-tracking branch 'hosted.weblate/master' 2022-10-17 22:27:58 +02:00
Daniel Stasiak
9f935190f2 Translated using Weblate (Polish)
Currently translated at 92.5% (13884 of 14995 strings)
2022-10-16 00:53:44 +02:00
Nut.andor
c11430cf6b beta icon and fileprovider 2022-10-15 22:46:16 +02:00
Daniel Stasiak
8f97a27ab7 Translated using Weblate (Polish)
Currently translated at 92.5% (13884 of 14995 strings)
2022-10-13 15:56:19 +02:00
Anupam Malhotra
9e36f848dc Translated using Weblate (Hindi)
Currently translated at 0.1% (4 of 14994 strings)
2022-10-12 08:50:37 +02:00
ilya
b24d52b1da Translated using Weblate (Russian)
Currently translated at 100.0% (14995 of 14995 strings)
2022-10-12 08:50:34 +02:00
Daniel Stasiak
e2a9307560 Translated using Weblate (Polish)
Currently translated at 92.5% (13884 of 14995 strings)
2022-10-12 08:50:31 +02:00
Nut.andor
e3ac804f61 Merge branch 'pulls/1829009049/47' 2022-10-11 19:20:06 +02:00
Nut.andor
fd504d2df5 Automated copying of files for build as gradle task 2022-10-11 18:58:05 +02:00
OMGeeky
0e615d3f11 Revert accidental wrong branch stuff 2022-10-11 18:31:01 +02:00
Nut.andor
47646457ab (Pull Request #46:) Fixed problems with older Android versions (below Android 7) 2022-10-11 00:00:00 +02:00
OMGeeky
8e393b93d8 Changed lint.xml to include StringFormatMatches and StringFormatInvalid 2022-10-10 15:43:34 +02:00
OMGeeky
3289bd6fb1 Configured lint-baseline file (for automatic builds on github) 2022-10-10 15:32:21 +02:00
OMGeeky
23a331d655 Merge remote-tracking branch 'origin/fix-older-android-versions' into gradle_copy_v1 2022-10-10 15:09:01 +02:00
OMGeeky
112301c444 Create build Action
(cherry picked from commit 462b6059218b1bdc1efa582ea2463d5eb3af1c22)
2022-10-10 15:05:01 +02:00
OMGeeky
f50e4f1d38 Migrate to AndroidX 2022-10-10 14:54:08 +02:00
OMGeeky
d623c22b38 Removed ignored files 2022-10-10 14:45:01 +02:00
OMGeeky
d11bf5b0aa Automated copying of files for build as gradle task 2022-10-10 09:22:18 +02:00
Nut.andor
e30f67e327 fix Master Ale bug 2022-10-09 02:43:01 +02:00
OMGeeky
6946b1f2b3 Fixed problems with older Android versions (below Android 7) 2022-10-09 02:00:52 +02:00
Nut Andor
96a1a5760a Translated using Weblate (German)
Currently translated at 94.0% (14096 of 14995 strings)
2022-10-09 01:15:46 +02:00
Nut.andor
58b802e911 whatsnew 2022-10-08 03:41:50 +02:00
Nut.andor
f9b095565b languages 2022-10-08 03:22:32 +02:00
Nut.andor
19817eb97d Merge branch 'v0.8.2' 2022-10-08 02:58:18 +02:00
Nut.andor
f46d2aedbf content v082 (Sullengard fixes) 2022-10-08 02:56:10 +02:00
Nut.andor
913b651953 Merge remote-tracking branch 'hosted.weblate/master' into v0.8.2 2022-10-08 01:04:59 +02:00
Nut Andor
5283eed28e Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (15016 of 15016 strings)
2022-10-08 01:04:14 +02:00
Nut Andor
deb824d50e Translated using Weblate (German)
Currently translated at 93.8% (14095 of 15016 strings)
2022-10-08 01:04:12 +02:00
Nut.andor
6841d862e4 Merge remote-tracking branch 'hosted.weblate/master' into v0.8.2 2022-10-08 00:43:26 +02:00
saoloer
f94723b0cd Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (15016 of 15016 strings)
2022-10-07 18:18:35 +02:00
Jr
ab41168736 Translated using Weblate (German)
Currently translated at 93.8% (14095 of 15016 strings)
2022-10-07 18:18:33 +02:00
Jr
2d73c4687a Translated using Weblate (German)
Currently translated at 100.0% (582 of 582 strings)
2022-10-07 18:18:30 +02:00
aircqsj
e454deb8b1 Translated using Weblate (Chinese (Simplified))
Currently translated at 99.9% (15015 of 15016 strings)
2022-10-05 20:56:26 +02:00
Lucas Araujo
074891805a Translated using Weblate (Portuguese (Brazil))
Currently translated at 92.7% (13928 of 15016 strings)
2022-10-05 20:56:21 +02:00
Daniel Stasiak
d2d32bc4ed Translated using Weblate (Polish)
Currently translated at 92.4% (13884 of 15016 strings)
2022-10-05 20:56:20 +02:00
Daniel Stasiak
22daeb0c33 Translated using Weblate (Polish)
Currently translated at 100.0% (582 of 582 strings)
2022-10-05 20:56:17 +02:00
Nut.andor
db30253baf v0.8.2 66 2022-10-03 00:47:11 +02:00
Nut.andor
312cb7dec7 ignore workspace.xml 2022-10-03 00:44:00 +02:00
Nut.andor
7befd27951 whatsnew release version 2022-10-02 21:05:38 +02:00
aircqsj
c1e3bfa7ed Translated using Weblate (Chinese (Simplified))
Currently translated at 94.0% (14128 of 15016 strings)
2022-10-02 07:56:33 +02:00
ilya
ddec991082 Translated using Weblate (Russian)
Currently translated at 100.0% (15016 of 15016 strings)
2022-10-02 07:56:02 +02:00
ilya
25e36dc535 Translated using Weblate (Russian)
Currently translated at 100.0% (15016 of 15016 strings)
2022-09-30 18:31:04 +02:00
Jiri Zizkin Zizka
83c579a929 Translated using Weblate (Czech)
Currently translated at 100.0% (582 of 582 strings)
2022-09-29 23:16:22 +02:00
Jiri Zizkin Zizka
0c694115ee Translated using Weblate (Czech)
Currently translated at 92.7% (13932 of 15016 strings)
2022-09-29 23:16:22 +02:00
ilya
bf9723b0c1 Translated using Weblate (Russian)
Currently translated at 96.2% (14449 of 15016 strings)
2022-09-29 23:16:20 +02:00
ilya
b81bacb1fe Translated using Weblate (Russian)
Currently translated at 100.0% (582 of 582 strings)
2022-09-29 23:16:17 +02:00
Nut.andor
1821fffc3b Pull Request #24: Rebuild world map 2020-09-23 00:18:49 +02:00
Javier Serrano Polo
1a3a5842dc Rebuild world map 2020-09-11 08:03:00 +02:00
1193 changed files with 2004395 additions and 111244 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
/AndorsTrail/.idea/workspace.xml

View File

@@ -1,6 +1,3 @@
# Android ignores
app/src/main/res
app/src/main/assets
gen/
bin/
target/
@@ -8,6 +5,7 @@ local.properties
app/build/intermediates/
build/
debug/
beta/
release/
.gradle/
@@ -52,4 +50,6 @@ gradle-app.setting
/AndorsTrail/gradle/wrapper
/AndorsTrail/app/build/
/AndorsTrail/app/debug/
/AndorsTrail/app/beta/
/AndorsTrail/app/release/
/AndorsTrail/app/beta/

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<bytecodeTargetLevel target="11" />
</component>
</project>

View File

@@ -1,20 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleMigrationSettings" migrationVersion="1" />
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="testRunner" value="GRADLE" />
<option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleJvm" value="1.8" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/app" />
</set>
</option>
</GradleProjectSettings>
</option>
</component>
</project>

View File

@@ -1,25 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
<remote-repository>
<option name="id" value="BintrayJCenter" />
<option name="name" value="BintrayJCenter" />
<option name="url" value="https://jcenter.bintray.com/" />
</remote-repository>
<remote-repository>
<option name="id" value="Google" />
<option name="name" value="Google" />
<option name="url" value="https://dl.google.com/dl/android/maven2/" />
</remote-repository>
</component>
</project>

View File

@@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" project-jdk-name="11" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
<option name="id" value="Android" />
</component>
</project>

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
</component>
</project>

View File

@@ -1,166 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AutoImportSettings">
<option name="autoReloadType" value="NONE" />
</component>
<component name="ChangeListManager">
<list default="true" id="fb7bf33b-30cf-40b9-a238-3e2f6f604a8f" name="Changes" comment="" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="ExecutionTargetManager" SELECTED_TARGET="device_and_snapshot_combo_box_target[C:\Users\chris\.android\avd\Nexus_5_API_30.avd]" />
<component name="ExternalProjectsData">
<projectState path="$PROJECT_DIR$">
<ProjectState />
</projectState>
</component>
<component name="ExternalProjectsManager">
<system id="GRADLE">
<state>
<projects_view>
<tree_state>
<expand>
<path>
<item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" />
<item name="AndorsTrail" type="f1a62948:ProjectNode" />
</path>
</expand>
<select />
</tree_state>
</projects_view>
</state>
</system>
</component>
<component name="GenerateSignedApkSettings">
<option name="KEY_STORE_PATH" value="C:\AT\sec\AndorsTrail.keystore" />
<option name="KEY_ALIAS" value="andorstrail" />
<option name="REMEMBER_PASSWORDS" value="true" />
<option name="BUILD_TARGET_KEY" value="apk" />
</component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$/.." />
</component>
<component name="ProjectId" id="2FG0LqADbxm6Q1t3yQ9BlX5APzJ" />
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
<component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent">
<property name="ApkExportedModule" value="AndorsTrail.app" />
<property name="ExportApk.ApkPath" value="C:\AT\AndorsTrailRelease\andors-trail\AndorsTrail\app" />
<property name="ExportApk.BuildVariants" value="release" />
<property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
<property name="RunOnceActivity.cidr.known.project.marker" value="true" />
<property name="android.sdk.path" value="$USER_HOME$/AppData/Local/Android/Sdk" />
<property name="cidr.known.project.marker" value="true" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/../../../sec/AndorsTrail.keystore" />
<property name="settings.editor.selected.configurable" value="device.file.explorer" />
<property name="show.inlinked.gradle.project.popup" value="false" />
</component>
<component name="RunManager">
<configuration name="&lt;template&gt;" type="Applet" default="true" selected="false">
<option name="MAIN_CLASS_NAME" />
<option name="HTML_FILE_NAME" />
<option name="HTML_USED" value="false" />
<option name="WIDTH" value="400" />
<option name="HEIGHT" value="300" />
<option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
<option name="VM_PARAMETERS" />
</configuration>
<configuration name="&lt;template&gt;" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" default="true" selected="false">
<option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -XX:MaxPermSize=250m -ea" />
</configuration>
<configuration name="app" type="AndroidRunConfigurationType" factoryName="Android App">
<module name="AndorsTrail.app" />
<option name="DEPLOY" value="true" />
<option name="DEPLOY_APK_FROM_BUNDLE" value="false" />
<option name="DEPLOY_AS_INSTANT" value="false" />
<option name="ARTIFACT_NAME" value="" />
<option name="PM_INSTALL_OPTIONS" value="" />
<option name="ALL_USERS" value="false" />
<option name="ALWAYS_INSTALL_WITH_PM" value="false" />
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="" />
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
<option name="MODE" value="default_activity" />
<option name="CLEAR_LOGCAT" value="false" />
<option name="SHOW_LOGCAT_AUTOMATICALLY" value="false" />
<option name="INSPECTION_WITHOUT_ACTIVITY_RESTART" value="false" />
<option name="TARGET_SELECTION_MODE" value="DEVICE_AND_SNAPSHOT_COMBO_BOX" />
<option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" />
<option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" />
<option name="DEBUGGER_TYPE" value="Auto" />
<Auto>
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
<option name="SHOW_STATIC_VARS" value="true" />
<option name="WORKING_DIR" value="" />
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
</Auto>
<Hybrid>
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
<option name="SHOW_STATIC_VARS" value="true" />
<option name="WORKING_DIR" value="" />
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
</Hybrid>
<Java />
<Native>
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
<option name="SHOW_STATIC_VARS" value="true" />
<option name="WORKING_DIR" value="" />
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
</Native>
<Profilers>
<option name="ADVANCED_PROFILING_ENABLED" value="false" />
<option name="STARTUP_PROFILING_ENABLED" value="false" />
<option name="STARTUP_CPU_PROFILING_ENABLED" value="false" />
<option name="STARTUP_CPU_PROFILING_CONFIGURATION_NAME" value="Java/Kotlin Method Sample (legacy)" />
<option name="STARTUP_NATIVE_MEMORY_PROFILING_ENABLED" value="false" />
<option name="NATIVE_MEMORY_SAMPLE_RATE_BYTES" value="2048" />
</Profilers>
<option name="DEEP_LINK" value="" />
<option name="ACTIVITY_CLASS" value="" />
<option name="SEARCH_ACTIVITY_IN_GLOBAL_SCOPE" value="false" />
<option name="SKIP_ACTIVITY_VALIDATION" value="false" />
<method v="2" />
</configuration>
<configuration default="true" type="Application" factoryName="Application">
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration default="true" type="JUnit" factoryName="JUnit">
<option name="TEST_OBJECT" value="class" />
<option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration default="true" type="TestNG">
<option name="TEST_OBJECT" value="CLASS" />
<option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
<properties />
<listeners />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
</component>
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="fb7bf33b-30cf-40b9-a238-3e2f6f604a8f" name="Changes" comment="" />
<created>1664103080085</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1664103080085</updated>
</task>
<servers />
</component>
</project>

View File

@@ -1,23 +1,91 @@
apply plugin: 'com.android.application'
android {
compileSdkVersion 30
buildToolsVersion "30.0.3"
compileSdkVersion 35
defaultConfig {
applicationId "com.gpl.rpg.AndorsTrail"
minSdkVersion 14
targetSdkVersion 30
targetSdkVersion 35
}
buildTypes {
release {
manifestPlaceholders icon_name: 'icon', fileproviderPath: 'AndorsTrail'
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
debug {
manifestPlaceholders icon_name: 'icon_beta', fileproviderPath: 'AndorsTrail.beta2'
applicationIdSuffix 'beta2'
versionNameSuffix = "dev"
signingConfig signingConfigs.debug
}
beta {
manifestPlaceholders icon_name: 'icon_beta', fileproviderPath: 'AndorsTrail.beta2'
applicationIdSuffix 'beta2'
versionNameSuffix = "beta"
signingConfig signingConfigs.debug
}
}
namespace 'com.gpl.rpg.AndorsTrail'
sourceSets {
main {
res.srcDirs = ['build/gen-res', 'src/main/res']
assets.srcDirs = ['build/gen-assets', 'src/main/assets']
}
}
}
dependencies {
implementation 'com.android.support:support-v4:28.0.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
}
task copyRes(type: Copy) {
description "Copies the res folder to the modules res folder (& renames .tmx to .xml)"
from "${rootDir}/res"
into "${projectDir}/build/gen-res"
rename "(.*)\\.tmx", "\$1.xml"
}
task copyResValuesIn(type: Copy) {
description "Exception Indonesian language code (Old IN was renamed to now ID)"
from "${rootDir}/res/values-id/"
into "${projectDir}/build/gen-res/values-in/"
}
task copyTranslation(type: Copy) {
description("Copies the translation files to the modules translations folder")
from "${rootDir}/assets/translation"
into "${projectDir}/build/gen-assets/translation"
}
task cleanup(type: Delete) {
description("Deletes the assets/translation and the res folder from the modules folder")
delete "${projectDir}/build/gen-res", "${projectDir}/build/gen-assets/translation"
}
afterEvaluate {
project.tasks.copyRes.dependsOn project.tasks.copyResValuesIn
mapReleaseSourceSetPaths.dependsOn project.tasks.copyRes
generateReleaseResources.dependsOn project.tasks.copyRes
generateDebugResources.dependsOn project.tasks.copyRes
mapDebugSourceSetPaths.dependsOn project.tasks.copyRes
mergeDebugResources.dependsOn project.tasks.copyRes
extractDeepLinksDebug.dependsOn project.tasks.copyRes
mergeReleaseResources.dependsOn project.tasks.copyRes
extractDeepLinksRelease.dependsOn project.tasks.copyRes
generateDebugResources.dependsOn project.tasks.copyTranslation
mapDebugSourceSetPaths.dependsOn project.tasks.copyTranslation
mergeDebugAssets.dependsOn project.tasks.copyTranslation
mergeReleaseAssets.dependsOn project.tasks.copyTranslation
extractDeepLinksDebug.dependsOn project.tasks.copyTranslation
extractDeepLinksRelease.dependsOn project.tasks.copyTranslation
clean.dependsOn project.tasks.cleanup
}

View File

@@ -3,15 +3,11 @@
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.gpl.rpg.AndorsTrail"
android:versionCode="65"
android:versionName="0.8.1"
android:versionCode="83"
android:versionName="0.8.16"
android:installLocation="auto"
>
<uses-sdk
android:minSdkVersion="4"
android:targetSdkVersion="30"
/>
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
@@ -27,7 +23,7 @@
<application
android:name="com.gpl.rpg.AndorsTrail.AndorsTrailApplication"
android:label="@string/app_name"
android:icon="@drawable/icon"
android:icon="@drawable/${icon_name}"
android:description="@string/app_description"
android:allowBackup="true"
android:theme="@style/AndorsTrailTheme_Blue"
@@ -35,7 +31,8 @@
android:hasFragileUserData="true"
android:preserveLegacyExternalStorage="true"
>
<activity
<activity
android:exported="true"
android:name="com.gpl.rpg.AndorsTrail.activity.StartScreenActivity"
android:clearTaskOnLaunch="true"
>
@@ -66,8 +63,8 @@
<activity android:name="com.gpl.rpg.AndorsTrail.activity.DisplayWorldMapActivity" />
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="com.gpl.rpg.AndorsTrail.fileprovider"
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.fileprovider"
android:grantUriPermissions="true"
android:exported="false">
<meta-data

View File

@@ -8,31 +8,41 @@ import com.gpl.rpg.AndorsTrail.context.ControllerContext;
import com.gpl.rpg.AndorsTrail.context.WorldContext;
import com.gpl.rpg.AndorsTrail.controller.Constants;
import com.gpl.rpg.AndorsTrail.util.AndroidStorage;
import com.gpl.rpg.AndorsTrail.util.Pair;
import android.app.Activity;
import android.app.Application;
import android.content.Context;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.graphics.Insets;
import android.os.Build;
import android.os.Environment;
import android.util.Pair;
import android.view.View;
import android.view.Window;
import android.view.WindowInsets;
import android.view.WindowInsetsController;
import android.view.WindowManager;
import androidx.annotation.RequiresApi;
public final class AndorsTrailApplication extends Application {
public static final String CURRENT_VERSION_DISPLAY = BuildConfig.VERSION_NAME;
public static final boolean IS_DEV_VERSION = CURRENT_VERSION_DISPLAY.endsWith("dev");
public static final boolean IS_BETA_VERSION = CURRENT_VERSION_DISPLAY.endsWith("beta");
public static final boolean IS_RELEASE_VERSION = !CURRENT_VERSION_DISPLAY.matches(".*[a-zA-Z].*");
public static final boolean DEVELOPMENT_DEBUGRESOURCES = false;
public static final boolean DEVELOPMENT_FORCE_STARTNEWGAME = false;
public static final boolean DEVELOPMENT_FORCE_CONTINUEGAME = false;
public static final boolean DEVELOPMENT_DEBUGBUTTONS = false;
public static final boolean DEVELOPMENT_DEBUGBUTTONS = IS_DEV_VERSION;
public static final boolean DEVELOPMENT_FASTSPEED = false;
public static final boolean DEVELOPMENT_VALIDATEDATA = false;
public static final boolean DEVELOPMENT_DEBUGMESSAGES = false;
public static final String CURRENT_VERSION_DISPLAY = "0.8.1";
public static final boolean IS_RELEASE_VERSION = !CURRENT_VERSION_DISPLAY.matches(".*[a-d].*");
public static final boolean DEVELOPMENT_VALIDATEDATA = IS_BETA_VERSION;
public static final boolean DEVELOPMENT_DEBUGMESSAGES = IS_DEV_VERSION;
public static final boolean DEVELOPMENT_INCOMPATIBLE_SAVEGAMES = DEVELOPMENT_DEBUGRESOURCES || DEVELOPMENT_DEBUGBUTTONS || DEVELOPMENT_FASTSPEED || !IS_RELEASE_VERSION;
public static final int DEVELOPMENT_INCOMPATIBLE_SAVEGAME_VERSION = 999;
public static final int CURRENT_VERSION = DEVELOPMENT_INCOMPATIBLE_SAVEGAMES ? DEVELOPMENT_INCOMPATIBLE_SAVEGAME_VERSION : 65;
public static final int CURRENT_VERSION = DEVELOPMENT_INCOMPATIBLE_SAVEGAMES ? DEVELOPMENT_INCOMPATIBLE_SAVEGAME_VERSION : BuildConfig.VERSION_CODE;
private final AndorsTrailPreferences preferences = new AndorsTrailPreferences();
private WorldContext world = new WorldContext();
@@ -57,13 +67,45 @@ public final class AndorsTrailApplication extends Application {
public void setWindowParameters(Activity activity) {
activity.requestWindowFeature(Window.FEATURE_NO_TITLE);
if (preferences.fullscreen) {
activity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
public void setFullscreenMode(Activity activity) {
setFullscreenMode(preferences.fullscreen, activity.getWindow());
}
public static void setFullscreenMode(boolean fullscreen, Window window) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
final WindowInsetsController insetsController = window.getInsetsController();
if (insetsController != null) {
insetsController.setSystemBarsBehavior(WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE);
int insetType = WindowInsets.Type.statusBars();
if (fullscreen) {
insetsController.hide(insetType);
} else {
insetsController.show(insetType);
}
}
} else {
activity.getWindow().setFlags(0, WindowManager.LayoutParams.FLAG_FULLSCREEN);
if (fullscreen) {
window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
} else {
window.setFlags(0, WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
}
}
@RequiresApi(Build.VERSION_CODES.R)
public int getUsableTouchAreaInsetMask(){
int i = 0;
i |= WindowInsets.Type.displayCutout();
i |= WindowInsets.Type.navigationBars();
if (!preferences.fullscreen) {
i |= WindowInsets.Type.statusBars();
}
return i;
}
//Get default locale at startup, as somehow it seems that changing the app's
//configured locale impacts the value returned by Locale.getDefault() nowadays.
private final Locale defaultLocale = Locale.getDefault();
@@ -166,4 +208,18 @@ public final class AndorsTrailApplication extends Application {
controllers = new ControllerContext(this, world);
setup = new WorldSetup(world, controllers, getApplicationContext());
}
public void setUsablePadding(View root) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
root.setOnApplyWindowInsetsListener((v, insets) -> {
Insets bars = insets.getInsets(getUsableTouchAreaInsetMask());
int left = Math.max(bars.left, v.getPaddingLeft());
int top = Math.max(bars.top, v.getPaddingTop());
int right = Math.max(bars.right, v.getPaddingRight());
int bottom = Math.max(bars.bottom, v.getPaddingBottom());
v.setPadding(left, top, right, bottom);
return WindowInsets.CONSUMED;
});
}
}
}

View File

@@ -78,7 +78,7 @@ public final class AndorsTrailPreferences {
dest.dpadTransparency = Integer.parseInt(prefs.getString("dpadtransparency", Integer.toString(DPAD_TRANSPARENCY_50_PERCENT)));
dest.dpadMinimizeable = prefs.getBoolean("dpadMinimizeable", true);
dest.optimizedDrawing = prefs.getBoolean("optimized_drawing", false);
dest.highQualityFilters = prefs.getBoolean("high_quality_filters", true);
dest.highQualityFilters = prefs.getBoolean("high_quality_filters", false);
dest.enableUiAnimations = prefs.getBoolean("enableUiAnimations", true);
dest.displayOverwriteSavegame = Integer.parseInt(prefs.getString("display_overwrite_savegame", Integer.toString(CONFIRM_OVERWRITE_SAVEGAME_ALWAYS)));
dest.quickslotsPosition = Integer.parseInt(prefs.getString("quickslots_placement", Integer.toString(QUICKSLOTS_POSITION_HORIZONTAL_CENTER_BOTTOM)));

View File

@@ -15,7 +15,7 @@ import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import androidx.fragment.app.Fragment;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
@@ -46,14 +46,15 @@ import com.gpl.rpg.AndorsTrail.model.item.Loot;
import com.gpl.rpg.AndorsTrail.model.map.MapObject;
import com.gpl.rpg.AndorsTrail.util.ThemeHelper;
import com.gpl.rpg.AndorsTrail.view.CustomDialogFactory;
import com.gpl.rpg.AndorsTrail.view.CustomDialogFactory.CustomDialog;
import com.gpl.rpg.AndorsTrail.view.ItemContainerAdapter;
public final class Dialogs {
private static void showDialogAndPause(Dialog d, final ControllerContext context) {
private static void showDialogAndPause(CustomDialog d, final ControllerContext context) {
showDialogAndPause(d, context, null);
}
private static void showDialogAndPause(Dialog d, final ControllerContext context, final OnDismissListener onDismiss) {
private static void showDialogAndPause(CustomDialog d, final ControllerContext context, final OnDismissListener onDismiss) {
context.gameRoundController.pause();
CustomDialogFactory.setDismissListener(d, new OnDismissListener() {
@Override
@@ -65,14 +66,6 @@ public final class Dialogs {
CustomDialogFactory.show(d);
}
public static void showKeyArea(final MainActivity currentActivity, final ControllerContext context, String phraseID) {
showConversation(currentActivity, context, phraseID, null);
}
public static void showMapSign(final MainActivity currentActivity, final ControllerContext context, String phraseID) {
showConversation(currentActivity, context, phraseID, null);
}
public static void showMapScriptMessage(final MainActivity currentActivity, final ControllerContext context, String phraseID) {
showConversation(currentActivity, context, phraseID, null, false);
}
@@ -195,7 +188,7 @@ public final class Dialogs {
// itemList.setPadding(20, 0, 20, 20);
itemList.setAdapter(new ItemContainerAdapter(mainActivity, world.tileManager, combinedLoot.items, world.model.player));
final Dialog d = CustomDialogFactory.createDialog(mainActivity,
final CustomDialog d = CustomDialogFactory.createDialog(mainActivity,
mainActivity.getResources().getString(title),
mainActivity.getResources().getDrawable(R.drawable.ui_icon_equipment),
msg,
@@ -249,7 +242,7 @@ public final class Dialogs {
}
public static void showHeroDied(final MainActivity mainActivity, final ControllerContext controllers) {
final Dialog d = CustomDialogFactory.createDialog(mainActivity,
final CustomDialog d = CustomDialogFactory.createDialog(mainActivity,
mainActivity.getResources().getString(R.string.dialog_game_over_title),
mainActivity.getResources().getDrawable(R.drawable.ui_icon_combat),
mainActivity.getResources().getString(R.string.dialog_game_over_text),
@@ -286,7 +279,7 @@ public final class Dialogs {
}
public static void showConfirmRest(final Activity currentActivity, final ControllerContext controllerContext, final MapObject area) {
final Dialog d = CustomDialogFactory.createDialog(currentActivity,
final CustomDialog d = CustomDialogFactory.createDialog(currentActivity,
currentActivity.getResources().getString(R.string.dialog_rest_title),
null,
currentActivity.getResources().getString(R.string.dialog_rest_confirm_message),
@@ -310,7 +303,7 @@ public final class Dialogs {
// .setMessage(R.string.dialog_rest_message)
// .setNeutralButton(android.R.string.ok, null)
// .create();
final Dialog d = CustomDialogFactory.createDialog(currentActivity,
final CustomDialog d = CustomDialogFactory.createDialog(currentActivity,
currentActivity.getResources().getString(R.string.dialog_rest_title),
null,
currentActivity.getResources().getString(R.string.dialog_rest_message),
@@ -336,7 +329,7 @@ public final class Dialogs {
text += currentActivity.getResources().getString(R.string.dialog_newversion_permission_information);
}
final Dialog d = CustomDialogFactory.createDialog(currentActivity,
final CustomDialog d = CustomDialogFactory.createDialog(currentActivity,
currentActivity.getResources().getString(R.string.dialog_newversion_title),
null,
text,
@@ -353,7 +346,6 @@ public final class Dialogs {
CustomDialogFactory.show(d);
}
@TargetApi(23)
private static boolean hasPermissions(final Activity activity) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (activity.getApplicationContext().checkSelfPermission(android.Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED
@@ -371,7 +363,7 @@ public final class Dialogs {
}
if (!world.model.statistics.hasUnlimitedSaves()) {
final Dialog d = CustomDialogFactory.createDialog(mainActivity,
final CustomDialog d = CustomDialogFactory.createDialog(mainActivity,
mainActivity.getResources().getString(R.string.menu_save_switch_character_title),
null,
mainActivity.getResources().getString(R.string.menu_save_switch_character),
@@ -460,7 +452,7 @@ public final class Dialogs {
itemList.setAdapter(new ArrayAdapter<String>(context, R.layout.combatlog_row, android.R.id.text1, combatLogMessages));
view = itemList;
final Dialog d = CustomDialogFactory.createDialog(context,
final CustomDialog d = CustomDialogFactory.createDialog(context,
context.getResources().getString(R.string.combat_log_title),
context.getResources().getDrawable(R.drawable.ui_icon_combat),
null,

View File

@@ -24,9 +24,7 @@ public final class AboutActivity extends AndorsTrailBaseActivity implements Imag
super.onCreate(savedInstanceState);
AndorsTrailApplication app = AndorsTrailApplication.getApplicationFromActivity(this);
app.setWindowParameters(this);
setContentView(R.layout.about);
initializeView(this, R.layout.about, R.id.about_root);
final Resources res = getResources();
final TextView tv = (TextView) findViewById(R.id.about_contents);

View File

@@ -30,14 +30,16 @@ public final class ActorConditionInfoActivity extends AndorsTrailBaseActivity {
String conditionTypeID = getIntent().getData().getLastPathSegment();
ActorConditionType conditionType = world.actorConditionsTypes.getActorConditionType(conditionTypeID);
setContentView(R.layout.actorconditioninfo);
initializeView(this, R.layout.actorconditioninfo, R.id.actorconditioninfo_root);
TextView tv = (TextView) findViewById(R.id.actorconditioninfo_title);
tv.setText(conditionType.name);
world.tileManager.setImageViewTile(getResources(), tv, conditionType);
TextView descriptionTv = (TextView) findViewById(R.id.actorconditioninfo_description);
if(conditionType.description != null && !conditionType.description.isEmpty()) descriptionTv.setText(conditionType.description);
else descriptionTv.setVisibility(View.GONE);
Button b = (Button) findViewById(R.id.actorconditioninfo_close);
b.setOnClickListener(new OnClickListener() {
@Override

View File

@@ -2,6 +2,10 @@ package com.gpl.rpg.AndorsTrail.activity;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import androidx.annotation.IdRes;
import androidx.annotation.LayoutRes;
import com.gpl.rpg.AndorsTrail.AndorsTrailApplication;
@@ -19,5 +23,13 @@ public abstract class AndorsTrailBaseActivity extends Activity {
AndorsTrailApplication app = AndorsTrailApplication.getApplicationFromActivity(this);
app.setLocale(this);
}
protected void initializeView(Activity activity, @LayoutRes int layoutId, @IdRes int rootViewId) {
AndorsTrailApplication app = AndorsTrailApplication.getApplicationFromActivity(activity);
app.setWindowParameters(activity);
activity.setContentView(layoutId);
View root = activity.findViewById(rootViewId);
app.setUsablePadding(root);
app.setFullscreenMode(activity);
}
}

View File

@@ -1,7 +1,12 @@
package com.gpl.rpg.AndorsTrail.activity;
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.View;
import androidx.annotation.IdRes;
import androidx.annotation.LayoutRes;
import androidx.fragment.app.FragmentActivity;
import com.gpl.rpg.AndorsTrail.AndorsTrailApplication;
@@ -19,4 +24,13 @@ public abstract class AndorsTrailBaseFragmentActivity extends FragmentActivity {
AndorsTrailApplication app = AndorsTrailApplication.getApplicationFromActivity(this);
app.setLocale(this);
}
protected void initializeView(Activity activity, @LayoutRes int layoutId, @IdRes int rootViewId) {
AndorsTrailApplication app = AndorsTrailApplication.getApplicationFromActivity(activity);
app.setWindowParameters(activity);
activity.setContentView(layoutId);
View root = activity.findViewById(rootViewId);
app.setUsablePadding(root);
app.setFullscreenMode(activity);
}
}

View File

@@ -23,6 +23,7 @@ import com.gpl.rpg.AndorsTrail.controller.ItemController;
import com.gpl.rpg.AndorsTrail.model.item.ItemType;
import com.gpl.rpg.AndorsTrail.util.ThemeHelper;
import com.gpl.rpg.AndorsTrail.view.CustomDialogFactory;
import com.gpl.rpg.AndorsTrail.view.CustomDialogFactory.CustomDialog;
/**
* @author ejwessel
@@ -88,8 +89,7 @@ public final class BulkSelectionInterface extends AndorsTrailBaseActivity implem
interfaceType = BulkInterfaceType.valueOf(params.getString("interfaceType"));
int intialSelection = 1;
setContentView(R.layout.bulkselection);
initializeView(this, R.layout.bulkselection, R.id.bulkselection_root);
// initialize UI variables
TextView bulkselection_action_type = (TextView)findViewById(R.id.bulkselection_action_type);
@@ -206,7 +206,7 @@ public final class BulkSelectionInterface extends AndorsTrailBaseActivity implem
// })
// .setNegativeButton(android.R.string.no, null)
// .show();
final Dialog d = CustomDialogFactory.createDialog(v.getContext(),
final CustomDialog d = CustomDialogFactory.createDialog(v.getContext(),
v.getContext().getResources().getString(R.string.bulkselection_sell_confirmation_title),
v.getContext().getResources().getDrawable(android.R.drawable.ic_dialog_info),
message,

View File

@@ -75,13 +75,11 @@ public final class ConversationActivity
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.conversation);
initializeView(this, R.layout.conversation, R.id.conversation_root);
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
setFinishOnTouchOutside(false);
}
setFinishOnTouchOutside(false);
replyGroup = new RadioGroup(this);
replyGroup = new RadioGroup(this);
replyGroup.setLayoutParams(new ListView.LayoutParams(ListView.LayoutParams.MATCH_PARENT, ListView.LayoutParams.WRAP_CONTENT));
statementList = (ListView) findViewById(R.id.conversation_statements);
statementList.addFooterView(replyGroup);

View File

@@ -29,8 +29,6 @@ public final class DebugInterface {
private final WorldContext world;
private DebugButton[] buttons;
private List<DebugButton> tpButtons = new ArrayList<DebugButton>();
private List<DebugButton> tpButtons2 = new ArrayList<DebugButton>();
public DebugInterface(ControllerContext controllers, WorldContext world, MainActivity mainActivity) {
this.controllerContext = controllers;
@@ -52,33 +50,23 @@ public final class DebugInterface {
for (int i = 1; i < buttons.length; i++) {
buttons[i].b.setVisibility(hidden ? View.GONE : View.VISIBLE);
}
for (DebugButton b : tpButtons) {
b.b.setVisibility(View.GONE);
}
for (DebugButton b : tpButtons2) {
b.b.setVisibility(View.GONE);
}
}
})
,new DebugButton("teleport", new OnClickListener() {
public void onClick(View arg0) {
for (int i = 0; i < buttons.length; i++) {
buttons[i].b.setVisibility(View.GONE);
}
for (DebugButton tpButton : tpButtons) {
tpButton.b.setVisibility(View.VISIBLE);
}
}
})
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "debugmap", "entry", 0, 0);
}
})
,new DebugButton("dmg", new OnClickListener() {
@Override
public void onClick(View arg0) {
world.model.player.damagePotential.set(500, 500);
world.model.player.attackChance = 500;
world.model.player.attackCost = 1;
showToast(mainActivity, "DEBUG: damagePotential=500, chance=500%, cost=1", Toast.LENGTH_SHORT);
}
})
@Override
public void onClick(View arg0) {
world.model.player.damagePotential.set(500, 500);
world.model.player.attackChance = 500;
world.model.player.attackCost = 1;
showToast(mainActivity, "DEBUG: damagePotential=500, chance=500%, cost=1", Toast.LENGTH_SHORT);
}
})
/*,new DebugButton("dmg=1", new OnClickListener() {
@Override
public void onClick(View arg0) {
@@ -87,208 +75,78 @@ public final class DebugInterface {
}
})*/
,new DebugButton("itm", new OnClickListener() {
@Override
public void onClick(View arg0) {
for (ItemType item : world.itemTypes.UNITTEST_getAllItemTypes().values()) {
world.model.player.inventory.addItem(item, 10);
}
world.model.player.inventory.gold += 50000;
showToast(mainActivity, "DEBUG: added items", Toast.LENGTH_SHORT);
}
})
@Override
public void onClick(View arg0) {
for (ItemType item : world.itemTypes.UNITTEST_getAllItemTypes().values()) {
world.model.player.inventory.addItem(item, 10);
}
world.model.player.inventory.gold += 50000;
showToast(mainActivity, "DEBUG: added items", Toast.LENGTH_SHORT);
}
})
,new DebugButton("xp", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.actorStatsController.addExperience(10000);
showToast(mainActivity, "DEBUG: given 10000 exp", Toast.LENGTH_SHORT);
}
})
@Override
public void onClick(View arg0) {
controllerContext.actorStatsController.addExperience(10000);
showToast(mainActivity, "DEBUG: given 10000 exp", Toast.LENGTH_SHORT);
}
})
,new DebugButton("rst", new OnClickListener() {
@Override
public void onClick(View arg0) {
for(PredefinedMap map : world.maps.getAllMaps()) {
map.resetTemporaryData();
}
showToast(mainActivity, "DEBUG: maps respawned", Toast.LENGTH_SHORT);
}
})
@Override
public void onClick(View arg0) {
for(PredefinedMap map : world.maps.getAllMaps()) {
map.resetTemporaryData();
}
showToast(mainActivity, "DEBUG: maps respawned", Toast.LENGTH_SHORT);
}
})
,new DebugButton("hp", new OnClickListener() {
@Override
public void onClick(View arg0) {
world.model.player.baseTraits.maxHP = 500;
world.model.player.health.max = world.model.player.baseTraits.maxHP;
controllerContext.actorStatsController.setActorMaxHealth(world.model.player);
world.model.player.conditions.clear();
showToast(mainActivity, "DEBUG: hp set to max", Toast.LENGTH_SHORT);
}
})
@Override
public void onClick(View arg0) {
world.model.player.baseTraits.maxHP = 500;
world.model.player.health.max = world.model.player.baseTraits.maxHP;
controllerContext.actorStatsController.setActorMaxHealth(world.model.player);
world.model.player.conditions.clear();
showToast(mainActivity, "DEBUG: hp set to max", Toast.LENGTH_SHORT);
}
})
,new DebugButton("skl", new OnClickListener() {
@Override
public void onClick(View arg0) {
world.model.player.availableSkillIncreases += 10;
showToast(mainActivity, "DEBUG: 10 skill points", Toast.LENGTH_SHORT);
}
})
@Override
public void onClick(View arg0) {
world.model.player.availableSkillIncreases += 10;
showToast(mainActivity, "DEBUG: 10 skill points", Toast.LENGTH_SHORT);
}
})
,new DebugButton("spd", new OnClickListener() {
boolean fast = Constants.MINIMUM_INPUT_INTERVAL == Constants.MINIMUM_INPUT_INTERVAL_FAST;
@Override
public void onClick(View arg0) {
fast = !fast;
if (fast) {
Constants.MINIMUM_INPUT_INTERVAL = Constants.MINIMUM_INPUT_INTERVAL_FAST;
} else {
Constants.MINIMUM_INPUT_INTERVAL = Constants.MINIMUM_INPUT_INTERVAL_STD;
}
MainView.SCROLL_DURATION = Constants.MINIMUM_INPUT_INTERVAL;
AndorsTrailApplication.getApplicationFromActivity(mainActivity).getControllerContext().movementController.resetMovementHandler();
}
})
boolean fast = Constants.MINIMUM_INPUT_INTERVAL == Constants.MINIMUM_INPUT_INTERVAL_FAST;
@Override
public void onClick(View arg0) {
fast = !fast;
if (fast) {
Constants.MINIMUM_INPUT_INTERVAL = Constants.MINIMUM_INPUT_INTERVAL_FAST;
} else {
Constants.MINIMUM_INPUT_INTERVAL = Constants.MINIMUM_INPUT_INTERVAL_STD;
}
MainView.SCROLL_DURATION = Constants.MINIMUM_INPUT_INTERVAL;
AndorsTrailApplication.getApplicationFromActivity(mainActivity).getControllerContext().movementController.resetMovementHandler();
}
})
,new DebugButton("map", new OnClickListener() {
@Override
public void onClick(View arg0) {
showToast(mainActivity, "DEBUG: map=" + world.model.currentMaps.map.name , Toast.LENGTH_SHORT);
}
})
}));
tpButtons.addAll(Arrays.asList(new DebugButton[] {
new DebugButton("teleport", new OnClickListener() {
@Override
public void onClick(View arg0) {
for (DebugButton tpButton : tpButtons2) {
tpButton.b.setVisibility(View.VISIBLE);
}
for (DebugButton tpButton : tpButtons) {
tpButton.b.setVisibility(View.GONE);
}
showToast(mainActivity, "DEBUG: map=" + world.model.currentMaps.map.name , Toast.LENGTH_SHORT);
}
})
,new DebugButton("cg", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "crossglen", "hall", 0, 0);
}
})
,new DebugButton("vg", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "vilegard_s", "tavern", 0, 0);
}
})
,new DebugButton("cr", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "houseatcrossroads4", "down", 0, 0);
}
})
,new DebugButton("lf", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "loneford9", "south", 0, 0);
}
})
,new DebugButton("fh", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "fallhaven_ne", "clothes", 0, 0);
}
})
,new DebugButton("prm", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "blackwater_mountain29", "south", 0, 0);
}
})
,new DebugButton("bwm", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "blackwater_mountain43", "south", 0, 0);
}
})
,new DebugButton("rmg", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "remgard0", "east", 0, 0);
}
})
,new DebugButton("chr", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "waytolostmine2", "minerhouse4", 0, 0);
}
})
,new DebugButton("ldr", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "lodarhouse0", "lodarhouse", 0, 0);
}
})
,new DebugButton("sf", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "wild20", "south2", 0, 0);
}
})
,new DebugButton("gm", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "guynmart_wood_1", "farmhouse", 0, 0);
}
})
}));
buttonList.addAll(tpButtons);
tpButtons2.addAll(Arrays.asList(new DebugButton[] {
new DebugButton("teleport", new OnClickListener() {
,new DebugButton("tim", new OnClickListener() {
@Override
public void onClick(View arg0) {
for (int i = 0; i < buttons.length; i++) {
buttons[i].b.setVisibility(View.VISIBLE);
}
for (DebugButton tpButton : tpButtons) {
tpButton.b.setVisibility(View.GONE);
}
for (DebugButton tpButton : tpButtons2) {
tpButton.b.setVisibility(View.GONE);
}
world.model.worldData.tickWorldTime(10);
}
})
,new DebugButton("brv", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "brimhaven4", "south2", 0, 0);
}
})
,new DebugButton("aru", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "mountainlake5", "north", 0, 0);
}
})
,new DebugButton("ws", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "woodsettlement0", "east", 0, 0);
}
})
,new DebugButton("sul", new OnClickListener() {
@Override
public void onClick(View arg0) {
controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, "sullengard2", "south", 0, 0);
}
})
}));
buttonList.addAll(tpButtons2);
buttons = buttonList.toArray(new DebugButton[buttonList.size()]);
addDebugButtons(buttons);
for (DebugButton b : tpButtons) {
b.b.setVisibility(View.GONE);
}
for (DebugButton b : tpButtons2) {
b.b.setVisibility(View.GONE);
}
}
private void showToast(Context context, String msg, int duration) {

View File

@@ -38,10 +38,7 @@ public final class DisplayWorldMapActivity extends AndorsTrailBaseActivity {
AndorsTrailApplication app = AndorsTrailApplication.getApplicationFromActivity(this);
if (!app.isInitialized()) { finish(); return; }
this.world = app.getWorld();
app.setWindowParameters(this);
setContentView(R.layout.displayworldmap);
initializeView(this, R.layout.displayworldmap, R.id.worldmap_root);
displayworldmap_webview = (WebView) findViewById(R.id.displayworldmap_webview);
displayworldmap_webview.setBackgroundColor(ThemeHelper.getThemeColor(this, R.attr.ui_theme_displayworldmap_bg_color));

View File

@@ -2,7 +2,7 @@ package com.gpl.rpg.AndorsTrail.activity;
import android.content.res.Resources;
import android.os.Bundle;
import android.support.v4.app.FragmentTabHost;
import androidx.fragment.app.FragmentTabHost;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import android.widget.ImageView;
@@ -29,10 +29,7 @@ public final class HeroinfoActivity extends AndorsTrailBaseFragmentActivity {
AndorsTrailApplication app = AndorsTrailApplication.getApplicationFromActivity(this);
if (!app.isInitialized()) { finish(); return; }
this.world = app.getWorld();
app.setWindowParameters(this);
setContentView(R.layout.tabbedlayout);
initializeView(this, R.layout.tabbedlayout, android.R.id.tabhost);
Resources res = getResources();

View File

@@ -14,6 +14,7 @@ import android.widget.TextView;
import com.gpl.rpg.AndorsTrail.AndorsTrailApplication;
import com.gpl.rpg.AndorsTrail.R;
import com.gpl.rpg.AndorsTrail.context.WorldContext;
import com.gpl.rpg.AndorsTrail.controller.Constants;
import com.gpl.rpg.AndorsTrail.model.item.ItemType;
import com.gpl.rpg.AndorsTrail.util.ThemeHelper;
import com.gpl.rpg.AndorsTrail.view.ItemEffectsView;
@@ -45,7 +46,7 @@ public final class ItemInfoActivity extends AndorsTrailBaseActivity {
boolean buttonEnabled = params.getBoolean("buttonEnabled");
boolean moreButtonEnabled = params.getBoolean("moreActions");
setContentView(R.layout.iteminfo);
initializeView(this, R.layout.iteminfo, R.id.iteminfo_root);
TextView tv = (TextView) findViewById(R.id.iteminfo_title);
tv.setText(itemType.getName(world.model.player));
@@ -54,7 +55,7 @@ public final class ItemInfoActivity extends AndorsTrailBaseActivity {
tv = (TextView) findViewById(R.id.iteminfo_description);
String description = itemType.getDescription();
if (description != null) {
tv.setText(description);
tv.setText(description.replace(Constants.PLACEHOLDER_PLAYERNAME, world.model.player.getName()));
tv.setVisibility(View.VISIBLE);
} else {
tv.setVisibility(View.GONE);
@@ -67,8 +68,10 @@ public final class ItemInfoActivity extends AndorsTrailBaseActivity {
itemType.effects_equip,
itemType.effects_use == null ? null : Collections.singletonList(itemType.effects_use),
itemType.effects_hit == null ? null : Collections.singletonList(itemType.effects_hit),
itemType.effects_miss == null ? null : Collections.singletonList(itemType.effects_miss),
itemType.effects_kill == null ? null : Collections.singletonList(itemType.effects_kill),
itemType.effects_hitReceived == null ? null : Collections.singletonList(itemType.effects_hitReceived),
itemType.effects_missReceived == null ? null : Collections.singletonList(itemType.effects_missReceived),
null,
itemType.isWeapon()
);

View File

@@ -37,7 +37,7 @@ public final class LevelUpActivity extends AndorsTrailBaseActivity {
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.levelup);
initializeView(this, R.layout.levelup, R.id.levelup_root);
levelup_title = (TextView) findViewById(R.id.levelup_title);
levelup_description = (TextView) findViewById(R.id.levelup_description);

View File

@@ -20,11 +20,12 @@ import com.gpl.rpg.AndorsTrail.savegames.Savegames;
import com.gpl.rpg.AndorsTrail.util.ThemeHelper;
import com.gpl.rpg.AndorsTrail.view.CloudsAnimatorView;
import com.gpl.rpg.AndorsTrail.view.CustomDialogFactory;
import com.gpl.rpg.AndorsTrail.view.CustomDialogFactory.CustomDialog;
public final class LoadingActivity extends AndorsTrailBaseActivity implements OnResourcesLoadedListener, OnSceneLoadedListener {
private WorldSetup setup;
private Dialog progressDialog;
private CustomDialog progressDialog;
private CloudsAnimatorView clouds_back, clouds_mid, clouds_front;
boolean loaded = false;
@@ -35,8 +36,7 @@ public final class LoadingActivity extends AndorsTrailBaseActivity implements On
setTheme(ThemeHelper.getBaseTheme());
super.onCreate(savedInstanceState);
AndorsTrailApplication app = AndorsTrailApplication.getApplicationFromActivity(this);
app.setWindowParameters(this);
setContentView(R.layout.startscreen);
initializeView(this, R.layout.startscreen, R.id.startscreen_fragment_container);
TextView tv = (TextView) findViewById(R.id.startscreen_version);
tv.setVisibility(View.GONE);
@@ -165,7 +165,7 @@ public final class LoadingActivity extends AndorsTrailBaseActivity implements On
}
private void showLoadingFailedDialog(int messageResourceID) {
final Dialog d = CustomDialogFactory.createDialog(this, getResources().getString(R.string.dialog_loading_failed_title), null, getResources().getString(messageResourceID), null, true);
final CustomDialog d = CustomDialogFactory.createDialog(this, getResources().getString(R.string.dialog_loading_failed_title), null, getResources().getString(messageResourceID), null, true);
CustomDialogFactory.addDismissButton(d, android.R.string.ok);
CustomDialogFactory.setDismissListener(d, new OnDismissListener() {
@Override

View File

@@ -43,6 +43,7 @@ import com.gpl.rpg.AndorsTrail.util.Coord;
import com.gpl.rpg.AndorsTrail.util.ThemeHelper;
import com.gpl.rpg.AndorsTrail.view.CombatView;
import com.gpl.rpg.AndorsTrail.view.CustomDialogFactory;
import com.gpl.rpg.AndorsTrail.view.CustomDialogFactory.CustomDialog;
import com.gpl.rpg.AndorsTrail.view.DisplayActiveActorConditionIcons;
import com.gpl.rpg.AndorsTrail.view.ItemContainerAdapter;
import com.gpl.rpg.AndorsTrail.view.MainView;
@@ -90,9 +91,9 @@ public final class MainActivity
AndorsTrailPreferences preferences = app.getPreferences();
this.world = app.getWorld();
this.controllers = app.getControllerContext();
app.setWindowParameters(this);
setContentView(R.layout.main);
initializeView(this, R.layout.main, R.id.main_container);
mainview = (MainView) findViewById(R.id.main_mainview);
statusview = (StatusView) findViewById(R.id.main_statusview);
combatview = (CombatView) findViewById(R.id.main_combatview);
@@ -247,7 +248,7 @@ public final class MainActivity
final ItemContainerAdapter inventoryListAdapter = new QuickslotsItemContainerAdapter(lv.getContext(), world.tileManager, world.model.player.inventory.usableItems(), world.model.player, wornTiles);
lv.setAdapter(inventoryListAdapter);
final Dialog d = CustomDialogFactory.createDialog(v.getContext(),
final CustomDialog d = CustomDialogFactory.createDialog(v.getContext(),
v.getResources().getString(R.string.inventory_assign),
v.getResources().getDrawable(R.drawable.ui_icon_equipment),
v.getResources().getString(R.string.inventory_selectitem), view, false);
@@ -396,12 +397,10 @@ public final class MainActivity
@Override
public void onPlayerSteppedOnMapSignArea(MapObject area) {
Dialogs.showMapSign(this, controllers, area.id);
}
@Override
public void onPlayerSteppedOnKeyArea(MapObject area) {
Dialogs.showKeyArea(this, controllers, area.id);
}
@Override

View File

@@ -34,7 +34,7 @@ public final class MonsterEncounterActivity extends AndorsTrailBaseActivity {
return;
}
setContentView(R.layout.monsterencounter);
initializeView(this, R.layout.monsterencounter, R.id.monsterencounter_root);
CharSequence difficulty = getText(MonsterInfoActivity.getMonsterDifficultyResource(controllers, monster));

View File

@@ -43,7 +43,7 @@ public final class MonsterInfoActivity extends AndorsTrailBaseActivity {
this.controllers = app.getControllerContext();
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.monsterinfo);
initializeView(this, R.layout.monsterinfo, R.id.monsterinfo_root);
monsterinfo_title = (TextView) findViewById(R.id.monsterinfo_title);
monsterinfo_difficulty = (TextView) findViewById(R.id.monsterinfo_difficulty);
@@ -90,8 +90,10 @@ public final class MonsterInfoActivity extends AndorsTrailBaseActivity {
null,
null,
monster.getOnHitEffectsAsList(),
monster.getOnMissEffectsAsList(),
null,
monster.getOnHitReceivedEffectsAsList(),
monster.getOnMissReceivedEffectsAsList(),
monster.getOnDeathEffects(),
false);
hp.update(monster.getMaxHP(), monster.getCurrentHP());

View File

@@ -13,17 +13,16 @@ public final class Preferences extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
setTheme(ThemeHelper.getBaseTheme());
requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
AndorsTrailApplication app = AndorsTrailApplication.getApplicationFromActivity(this);
if (app.getPreferences().fullscreen) {
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
} else {
getWindow().setFlags(0, WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
app.setWindowParameters(this);
super.onCreate(savedInstanceState);
app.setFullscreenMode(this);
app.setLocale(this);
addPreferencesFromResource(R.xml.preferences);
}
@Override

View File

@@ -2,7 +2,7 @@ package com.gpl.rpg.AndorsTrail.activity;
import android.content.res.Resources;
import android.os.Bundle;
import android.support.v4.app.FragmentTabHost;
import androidx.fragment.app.FragmentTabHost;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import android.widget.ImageView;
@@ -23,9 +23,8 @@ public final class ShopActivity extends AndorsTrailBaseFragmentActivity {
AndorsTrailApplication app = AndorsTrailApplication.getApplicationFromActivity(this);
if (!app.isInitialized()) { finish(); return; }
app.setWindowParameters(this);
setContentView(R.layout.tabbedlayout);
initializeView(this, R.layout.tabbedlayout, android.R.id.tabhost);
final Resources res = getResources();

View File

@@ -31,9 +31,7 @@ public final class SkillInfoActivity extends AndorsTrailBaseActivity {
final WorldContext world = app.getWorld();
final Player player = world.model.player;
app.setWindowParameters(this);
setContentView(R.layout.skill_info_view);
initializeView(this, R.layout.skill_info_view, R.id.skillinfo_root);
final Resources res = getResources();
final Intent intent = getIntent();
@@ -196,7 +194,7 @@ public final class SkillInfoActivity extends AndorsTrailBaseActivity {
case armorProficiencyShield: return res.getString(R.string.skill_longdescription_armor_prof_shield, SkillCollection.PER_SKILLPOINT_INCREASE_SHIELD_PROF_DR);
case armorProficiencyUnarmored: return res.getString(R.string.skill_longdescription_armor_prof_unarmored, SkillCollection.PER_SKILLPOINT_INCREASE_UNARMORED_BC);
case armorProficiencyLight: return res.getString(R.string.skill_longdescription_armor_prof_light, SkillCollection.PER_SKILLPOINT_INCREASE_LIGHT_ARMOR_BC_PERCENT);
case armorProficiencyHeavy: return res.getString(R.string.skill_longdescription_armor_prof_heavy, SkillCollection.PER_SKILLPOINT_INCREASE_HEAVY_ARMOR_BC_PERCENT, SkillCollection.PER_SKILLPOINT_INCREASE_HEAVY_ARMOR_MOVECOST_PERCENT, SkillCollection.PER_SKILLPOINT_INCREASE_HEAVY_ARMOR_ATKCOST_PERCENT);
case armorProficiencyHeavy: return res.getString(R.string.skill_longdescription_armor_prof_heavy, SkillCollection.PER_SKILLPOINT_INCREASE_HEAVY_ARMOR_BC_PERCENT, SkillCollection.PER_SKILLPOINT_INCREASE_HEAVY_ARMOR_MOVECOST_PERCENT, SkillCollection.PER_SKILLPOINT_INCREASE_HEAVY_ARMOR_ATKCOST_PERCENT, SkillCollection.PER_SKILLPOINT_INCREASE_HEAVY_ARMOR_USECOST_PERCENT);
case fightstyleDualWield: return res.getString(R.string.skill_longdescription_fightstyle_dualwield, SkillCollection.DUALWIELD_EFFICIENCY_LEVEL0, SkillCollection.DUALWIELD_EFFICIENCY_LEVEL1, SkillCollection.DUALWIELD_LEVEL1_OFFHAND_AP_COST_PERCENT, SkillCollection.DUALWIELD_EFFICIENCY_LEVEL2);
case fightstyle2hand: return res.getString(R.string.skill_longdescription_fightstyle_2hand, SkillCollection.PER_SKILLPOINT_INCREASE_FIGHTSTYLE_2HAND_DMG_PERCENT);
case fightstyleWeaponShield: return res.getString(R.string.skill_longdescription_fightstyle_weapon_shield, SkillCollection.PER_SKILLPOINT_INCREASE_FIGHTSTYLE_WEAPON_AC_PERCENT, SkillCollection.PER_SKILLPOINT_INCREASE_FIGHTSTYLE_SHIELD_BC_PERCENT);

View File

@@ -11,6 +11,7 @@ import com.gpl.rpg.AndorsTrail.resource.tiles.TileManager;
import com.gpl.rpg.AndorsTrail.util.ThemeHelper;
import com.gpl.rpg.AndorsTrail.view.CloudsAnimatorView;
import com.gpl.rpg.AndorsTrail.view.CustomDialogFactory;
import com.gpl.rpg.AndorsTrail.view.CustomDialogFactory.CustomDialog;
import android.app.Activity;
import android.app.Dialog;
@@ -20,8 +21,10 @@ import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager.OnBackStackChangedListener;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager.OnBackStackChangedListener;
import android.view.KeyEvent;
import android.view.View;
import android.view.ViewTreeObserver;
@@ -48,9 +51,9 @@ public final class StartScreenActivity extends AndorsTrailBaseFragmentActivity i
final Resources res = getResources();
TileManager tileManager = app.getWorld().tileManager;
tileManager.setDensity(res);
app.setWindowParameters(this);
setContentView(R.layout.startscreen);
initializeView(this, R.layout.startscreen, R.id.startscreen_fragment_container);
app.setFullscreenMode(this);
if (findViewById(R.id.startscreen_fragment_container) != null) {
StartScreenActivity_MainMenu mainMenu = new StartScreenActivity_MainMenu();
@@ -66,9 +69,11 @@ public final class StartScreenActivity extends AndorsTrailBaseFragmentActivity i
tv = (TextView) findViewById(R.id.startscreen_version);
app.setUsablePadding(tv);
tv.setText('v' + AndorsTrailApplication.CURRENT_VERSION_DISPLAY);
development_version = (TextView) findViewById(R.id.startscreen_dev_version);
app.setUsablePadding((View) development_version.getParent());
if (AndorsTrailApplication.DEVELOPMENT_INCOMPATIBLE_SAVEGAMES) {
development_version.setText(R.string.startscreen_incompatible_savegames);
development_version.setVisibility(View.VISIBLE);
@@ -95,6 +100,10 @@ public final class StartScreenActivity extends AndorsTrailBaseFragmentActivity i
}
});
}
View titleLogo = findViewById(R.id.title_logo);
if (titleLogo != null) {
app.setUsablePadding(titleLogo);
}
if (development_version.getVisibility() == View.VISIBLE) {
development_version.setText(development_version.getText()
@@ -111,10 +120,10 @@ public final class StartScreenActivity extends AndorsTrailBaseFragmentActivity i
}
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, int[] grantResults) {
if (grantResults.length > 0 && grantResults[0] != PackageManager.PERMISSION_GRANTED) {
final Dialog d = CustomDialogFactory.createDialog(this,
final CustomDialog d = CustomDialogFactory.createDialog(this,
getResources().getString(R.string.dialog_permission_information_title),
getResources().getDrawable(android.R.drawable.ic_dialog_info),
getResources().getString(R.string.dialog_permission_information),

View File

@@ -5,7 +5,7 @@ import java.util.Arrays;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;

View File

@@ -8,7 +8,7 @@ import java.util.Map;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

View File

@@ -5,7 +5,7 @@ import java.util.ArrayList;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

View File

@@ -5,7 +5,7 @@ import java.util.ArrayList;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
@@ -183,19 +183,25 @@ public final class HeroinfoActivity_Stats extends Fragment {
);
ArrayList<ItemTraits_OnUse> effects_hit = new ArrayList<ItemTraits_OnUse>();
ArrayList<ItemTraits_OnUse> effects_miss = new ArrayList<ItemTraits_OnUse>();
ArrayList<ItemTraits_OnUse> effects_kill = new ArrayList<ItemTraits_OnUse>();
ArrayList<ItemTraits_OnHitReceived> effects_hitReceived = new ArrayList<ItemTraits_OnHitReceived>();
ArrayList<ItemTraits_OnHitReceived> effects_missReceived = new ArrayList<ItemTraits_OnHitReceived>();
for (Inventory.WearSlot slot : Inventory.WearSlot.values()) {
ItemType type = player.inventory.getItemTypeInWearSlot(slot);
if (type == null) continue;
if (type.effects_hit != null) effects_hit.add(type.effects_hit);
if (type.effects_miss != null) effects_miss.add(type.effects_miss);
if (type.effects_kill != null) effects_kill.add(type.effects_kill);
if (type.effects_hitReceived != null) effects_hitReceived.add(type.effects_hitReceived);
if (type.effects_missReceived != null) effects_missReceived.add(type.effects_missReceived);
}
if (effects_hit.isEmpty()) effects_hit = null;
if (effects_miss.isEmpty()) effects_miss = null;
if (effects_kill.isEmpty()) effects_kill = null;
if (effects_hitReceived.isEmpty()) effects_hitReceived = null;
actorinfo_onhiteffects.update(null, null, effects_hit, effects_kill, effects_hitReceived, null, false);
if (effects_missReceived.isEmpty()) effects_missReceived = null;
actorinfo_onhiteffects.update(null, null, effects_hit, effects_miss, effects_kill, effects_hitReceived,effects_missReceived, null, false);
updateStatsTableRow(world.model.statistics.getNumberOfCompletedQuests(world), R.id.heroinfo_gamestats_quests, R.id.heroinfo_gamestats_quests_row);

View File

@@ -4,7 +4,7 @@ import java.util.HashSet;
import android.content.res.Resources;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

View File

@@ -24,7 +24,7 @@ public final class ShopActivity_Buy extends ShopActivityFragment {
@Override
public void onItemInfoClicked(int position, ItemType itemType) {
int price = ItemController.getBuyingPrice(player, itemType);
boolean enableButton = ItemController.canAfford(player, price);
boolean enableButton = (price > 0 && ItemController.canAfford(player, price));
String text = getResources().getString(R.string.shop_buyitem, price);
Intent intent = Dialogs.getIntentForItemInfo(getActivity(), itemType.id, ItemInfoActivity.ItemInfoAction.buy, text, enableButton, null);
startActivityForResult(intent, INTENTREQUEST_ITEMINFO);

View File

@@ -12,7 +12,7 @@ import android.content.SharedPreferences.Editor;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
@@ -38,37 +38,37 @@ import com.gpl.rpg.AndorsTrail.util.AndroidStorage;
import com.gpl.rpg.AndorsTrail.util.L;
import com.gpl.rpg.AndorsTrail.util.ThemeHelper;
import com.gpl.rpg.AndorsTrail.view.CustomDialogFactory;
import com.gpl.rpg.AndorsTrail.view.CustomDialogFactory.CustomDialog;
public class StartScreenActivity_MainMenu extends Fragment {
private static final int INTENTREQUEST_PREFERENCES = 7;
public static final int INTENTREQUEST_LOADGAME = 9;
private static final int INTENTREQUEST_PREFERENCES = 7;
public static final int INTENTREQUEST_LOADGAME = 9;
private boolean hasExistingGame = false;
private Button startscreen_continue;
private Button startscreen_newgame;
private Button startscreen_load;
private ViewGroup save_preview_holder;
private ImageView save_preview_hero_icon;
private TextView save_preview_hero_desc;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
updatePreferences(false);
super.onCreateView(inflater, container, savedInstanceState);
private boolean hasExistingGame = false;
private Button startscreen_continue;
private Button startscreen_newgame;
private Button startscreen_load;
private ViewGroup save_preview_holder;
private ImageView save_preview_hero_icon;
private TextView save_preview_hero_desc;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
updatePreferences(false);
super.onCreateView(inflater, container, savedInstanceState);
if (container != null) {
container.removeAllViews();
}
View root = inflater.inflate(R.layout.startscreen_mainmenu, container, false);
save_preview_holder = (ViewGroup) root.findViewById(R.id.save_preview_holder);
save_preview_hero_icon = (ImageView) root.findViewById(R.id.save_preview_hero_icon);
save_preview_hero_desc = (TextView) root.findViewById(R.id.save_preview_hero_desc);
startscreen_continue = (Button) root.findViewById(R.id.startscreen_continue);
startscreen_continue.setOnClickListener(new OnClickListener() {
@@ -114,7 +114,7 @@ public class StartScreenActivity_MainMenu extends Fragment {
AndorsTrailApplication app = AndorsTrailApplication.getApplicationFromActivity(getActivity());
if (hasExistingGame && app != null && app.getWorld() != null && app.getWorld().model != null
&& app.getWorld().model.statistics != null && !app.getWorld().model.statistics.hasUnlimitedSaves()) {
final Dialog d = CustomDialogFactory.createDialog(getActivity(),
final CustomDialog d = CustomDialogFactory.createDialog(getActivity(),
getString(R.string.startscreen_load_game),
getResources().getDrawable(android.R.drawable.ic_delete),
getString(R.string.startscreen_load_game_confirm),
@@ -134,7 +134,7 @@ public class StartScreenActivity_MainMenu extends Fragment {
}
}
});
if (AndorsTrailApplication.DEVELOPMENT_FORCE_STARTNEWGAME) {
if (AndorsTrailApplication.DEVELOPMENT_DEBUGRESOURCES) {
@@ -152,14 +152,14 @@ public class StartScreenActivity_MainMenu extends Fragment {
checkAndRequestPermissions(getActivity());
migrateDataOnDemand(getActivity());
}
return root;
}
@Override
public void onResume() {
super.onResume();
String playerName;
String displayInfo = null;
int iconID = TileManager.CHAR_HERO;
@@ -189,38 +189,26 @@ public class StartScreenActivity_MainMenu extends Fragment {
setCurrentVersionForVersionCheck();
checkAndRequestPermissions(getActivity());
migrateDataOnDemand(getActivity());
boolean hasSavegames = !Savegames.getUsedSavegameSlots(getActivity()).isEmpty();
startscreen_load.setEnabled(hasSavegames);
}
});
}
boolean hasSavegames = !Savegames.getUsedSavegameSlots(getActivity()).isEmpty();
startscreen_load.setEnabled(hasSavegames);
}
@TargetApi(29)
public void migrateDataOnDemand(final Activity activity) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
if (activity.getApplicationContext().checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
if (AndroidStorage.shouldMigrateToInternalStorage(activity.getApplicationContext())) {
final Dialog d = CustomDialogFactory.createDialog(activity,
final CustomDialog d = CustomDialogFactory.createDialog(activity,
getString(R.string.startscreen_migration_title),
activity.getResources().getDrawable(android.R.drawable.ic_dialog_alert),
getString(R.string.startscreen_migration_text),
null,
true);
CustomDialogFactory.addDismissButton(d, android.R.string.ok);
d.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface arg0) {
boolean hasSavegames = !Savegames.getUsedSavegameSlots(getActivity()).isEmpty();
startscreen_load.setEnabled(hasSavegames);
}
});
CustomDialogFactory.show(d);
if (!AndroidStorage.migrateToInternalStorage(activity.getApplicationContext())) {
final Dialog errorDlg = CustomDialogFactory.createDialog(activity,
final CustomDialog errorDlg = CustomDialogFactory.createDialog(activity,
getString(R.string.startscreen_migration_title),
activity.getResources().getDrawable(android.R.drawable.ic_dialog_alert),
getString(R.string.startscreen_migration_failure),
@@ -242,7 +230,6 @@ public class StartScreenActivity_MainMenu extends Fragment {
private static final int READ_EXTERNAL_STORAGE_REQUEST=1;
private static final int WRITE_EXTERNAL_STORAGE_REQUEST=2;
@TargetApi(23)
public static void checkAndRequestPermissions(final Activity activity) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && Build.VERSION.SDK_INT <= Build.VERSION_CODES.Q) {
if (activity.getApplicationContext().checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
@@ -259,13 +246,13 @@ public class StartScreenActivity_MainMenu extends Fragment {
super.onAttach(activity);
listener = (OnNewGameRequestedListener) activity;
}
@Override
public void onDetach() {
super.onDetach();
listener = null;
}
private void setButtonState(final String playerName, final String displayInfo, int iconID, boolean isDead) {
startscreen_continue.setEnabled(hasExistingGame && !isDead);
startscreen_newgame.setEnabled(true);
@@ -305,9 +292,9 @@ public class StartScreenActivity_MainMenu extends Fragment {
// .create().show();
//
//
final Dialog d = CustomDialogFactory.createDialog(getActivity(),
getString(R.string.startscreen_newgame),
getResources().getDrawable(android.R.drawable.ic_delete),
final CustomDialog d = CustomDialogFactory.createDialog(getActivity(),
getString(R.string.startscreen_newgame),
getResources().getDrawable(android.R.drawable.ic_delete),
getResources().getString(R.string.startscreen_newgame_confirm),
null,
true);
@@ -318,9 +305,9 @@ public class StartScreenActivity_MainMenu extends Fragment {
}
});
CustomDialogFactory.addDismissButton(d, android.R.string.cancel);
CustomDialogFactory.show(d);
}
private static final String versionCheck = "lastversion";
@@ -337,64 +324,90 @@ public class StartScreenActivity_MainMenu extends Fragment {
e.putInt(versionCheck, AndorsTrailApplication.CURRENT_VERSION);
e.commit();
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case INTENTREQUEST_LOADGAME:
if (resultCode != Activity.RESULT_OK) break;
final int slot = data.getIntExtra("slot", 1);
continueGame(false, slot, null);
break;
case INTENTREQUEST_PREFERENCES:
updatePreferences(true);
break;
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case INTENTREQUEST_LOADGAME:
boolean unsuccessful = resultCode != Activity.RESULT_OK;
if(data == null) break;
final boolean wasImportOrExport = data.getBooleanExtra("import_export", false);
if (wasImportOrExport) {
String message = getImportExportMessage(!unsuccessful, data);
Toast.makeText(getActivity(), message, Toast.LENGTH_LONG).show();
break;
}
if (unsuccessful) break;
final int slot = data.getIntExtra("slot", 1);
continueGame(false, slot, null);
break;
case INTENTREQUEST_PREFERENCES:
updatePreferences(true);
break;
}
}
private String getImportExportMessage(boolean successful, Intent data) {
String message = "";
boolean isImportWorldmap = data.getBooleanExtra("import_worldmap", false);
boolean isImportSaves = data.getBooleanExtra("import_savegames", false);
boolean isExport = data.getBooleanExtra("export", false);
if(isImportWorldmap) {
message = getString(successful ? R.string.loadsave_import_worldmap_successfull : R.string.loadsave_import_worldmap_unsuccessfull);
} else if(isImportSaves) {
message = getString(successful ? R.string.loadsave_import_save_successfull : R.string.loadsave_import_save_unsuccessfull);
} else if(isExport) {
message = getString(successful ? R.string.loadsave_export_successfull : R.string.loadsave_export_unsuccessfull);
}
return message;
}
private void updatePreferences(boolean alreadyStartedLoadingResources) {
AndorsTrailApplication app = AndorsTrailApplication.getApplicationFromActivity(getActivity());
AndorsTrailPreferences preferences = app.getPreferences();
preferences.read(getActivity());
if (app.setLocale(getActivity())) {
if (alreadyStartedLoadingResources) {
// Changing the locale after having loaded the game requires resources to
// be re-loaded. Therefore, we just exit here.
Toast.makeText(getActivity(), R.string.change_locale_requires_restart, Toast.LENGTH_LONG).show();
doFinish();
return;
}
}
if (ThemeHelper.changeTheme(preferences.selectedTheme)) {
// Changing the theme requires a restart to re-create all activities.
Toast.makeText(getActivity(), R.string.change_theme_requires_restart, Toast.LENGTH_LONG).show();
doFinish();
return;
}
app.getWorld().tileManager.updatePreferences(preferences);
}
@SuppressLint("NewApi")
private void doFinish() {
//For Lollipop and above
((AndorsTrailApplication)getActivity().getApplication()).discardWorld();
getActivity().finish();
}
AndorsTrailApplication app = AndorsTrailApplication.getApplicationFromActivity(getActivity());
AndorsTrailPreferences preferences = app.getPreferences();
preferences.read(getActivity());
if (app.setLocale(getActivity())) {
if (alreadyStartedLoadingResources) {
// Changing the locale after having loaded the game requires resources to
// be re-loaded. Therefore, we just exit here.
Toast.makeText(getActivity(), R.string.change_locale_requires_restart, Toast.LENGTH_LONG).show();
doFinish();
return;
}
}
if (ThemeHelper.changeTheme(preferences.selectedTheme)) {
// Changing the theme requires a restart to re-create all activities.
Toast.makeText(getActivity(), R.string.change_theme_requires_restart, Toast.LENGTH_LONG).show();
doFinish();
return;
}
app.getWorld().tileManager.updatePreferences(preferences);
}
@SuppressLint("NewApi")
private void doFinish() {
//For Lollipop and above
((AndorsTrailApplication) getActivity().getApplication()).discardWorld();
getActivity().finish();
}
public interface OnNewGameRequestedListener {
public void onNewGameRequested();
}
private OnNewGameRequestedListener listener = null;
private void createNewGame() {
if (listener != null) {
listener.onNewGameRequested();
}
}
}

View File

@@ -3,7 +3,8 @@ package com.gpl.rpg.AndorsTrail.activity.fragment;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
@@ -39,8 +40,7 @@ public class StartScreenActivity_NewGame extends Fragment {
}
View root = inflater.inflate(R.layout.startscreen_newgame, container, false);
startscreen_enterheroname = (TextView) root.findViewById(R.id.startscreen_enterheroname);
new SpinnerEmulator(root, R.id.startscreen_mode_selector_button, R.array.startscreen_mode_selector, R.string.startscreen_game_mode) {

View File

@@ -1,5 +1,6 @@
package com.gpl.rpg.AndorsTrail.context;
import com.gpl.rpg.AndorsTrail.model.ChecksumBuilder;
import com.gpl.rpg.AndorsTrail.model.ModelContainer;
import com.gpl.rpg.AndorsTrail.model.ability.ActorConditionTypeCollection;
import com.gpl.rpg.AndorsTrail.model.ability.SkillCollection;
@@ -13,6 +14,8 @@ import com.gpl.rpg.AndorsTrail.resource.ConversationLoader;
import com.gpl.rpg.AndorsTrail.resource.VisualEffectCollection;
import com.gpl.rpg.AndorsTrail.resource.tiles.TileManager;
import java.security.DigestException;
public final class WorldContext {
//Objectcollections
public final ConversationLoader conversationLoader;
@@ -62,4 +65,11 @@ public final class WorldContext {
public void resetForNewGame() {
maps.resetForNewGame();
}
public byte[] getChecksum() throws DigestException {
ChecksumBuilder checksumBuilder = new ChecksumBuilder();
model.addToChecksum(checksumBuilder);
maps.addToChecksum(checksumBuilder, this);
return checksumBuilder.build();
}
}

View File

@@ -76,8 +76,7 @@ public final class ActorStatsController {
c.magnitude -= magnitude;
actorConditionListeners.onActorConditionMagnitudeChanged(actor, c);
} else {
actor.conditions.remove(i);
actorConditionListeners.onActorConditionRemoved(actor, c);
actorConditionsRemove(actor, c, i);
}
break;
}
@@ -232,9 +231,9 @@ public final class ActorStatsController {
public void removeAllTemporaryConditions(final Actor actor) {
for(int i = actor.conditions.size() - 1; i >= 0; --i) {
ActorCondition c = actor.conditions.get(i);
if (!c.isTemporaryEffect()) continue;
actor.conditions.remove(i);
actorConditionListeners.onActorConditionRemoved(actor, c);
if (c.isTemporaryEffect() || c.isDurationForeverUntilSleep()) {
actorConditionsRemove(actor, c, i);
}
}
}
@@ -242,8 +241,7 @@ public final class ActorStatsController {
for(int i = actor.conditions.size() - 1; i >= 0; --i) {
ActorCondition c = actor.conditions.get(i);
if (!c.conditionType.conditionTypeID.equals(conditionTypeID)) continue;
actor.conditions.remove(i);
actorConditionListeners.onActorConditionRemoved(actor, c);
actorConditionsRemove(actor, c, i);
}
}
@@ -406,14 +404,14 @@ public final class ActorStatsController {
ActorCondition c = actor.conditions.get(i);
if (!c.isTemporaryEffect()) continue;
if (c.duration <= 1) {
actor.conditions.remove(i);
actorConditionListeners.onActorConditionRemoved(actor, c);
actorConditionsRemove(actor, c, i);
removedAnyConditions = true;
} else {
c.duration -= 1;
actorConditionListeners.onActorConditionDurationChanged(actor, c);
}
}
// Immunities
for(int i = actor.immunities.size() - 1; i >= 0; --i) {
ActorCondition c = actor.immunities.get(i);
if (!c.isTemporaryEffect()) continue;
@@ -457,6 +455,50 @@ public final class ActorStatsController {
}
}
int actorConditionsRemove(Actor actor, ActorCondition c, int i) {
int magnitude = 0; //default: No condition from worn items
if (actor instanceof Player) {
Player player = (Player) actor;
magnitude = gotConditionFromWornItem(player, c);
if (magnitude > 0) { //condition from worn items?
c.magnitude = magnitude; // -> readd condition
actorConditionListeners.onActorConditionMagnitudeChanged(actor, c);
c.duration = ActorCondition.DURATION_FOREVER;
actorConditionListeners.onActorConditionDurationChanged(actor, c);
}
}
if (magnitude == 0) {
actor.conditions.remove(i);
actorConditionListeners.onActorConditionRemoved(actor, c);
}
return magnitude;
}
int gotConditionFromWornItem(Player player, ActorCondition c) {
int magnitude = 0; //Default: No worn item with this condition
for (Inventory.WearSlot slot : Inventory.WearSlot.values()) {
ItemType t = player.inventory.getItemTypeInWearSlot(slot);
if (t == null) continue;
ItemTraits_OnEquip equipEffects = t.effects_equip;
if (equipEffects == null) continue;
if (equipEffects.addedConditions == null) continue;
for (ActorConditionEffect e : equipEffects.addedConditions) {
if (e.conditionType.conditionTypeID.equals(c.conditionType.conditionTypeID)) {
if (e.magnitude == ActorCondition.MAGNITUDE_REMOVE_ALL) {
return 0; //On an item-based immunity the result is always 0
}
if (magnitude < e.magnitude) {
magnitude = e.magnitude;
}
}
}
}
return magnitude;
}
public void applyUseEffect(Actor source, Actor target, ItemTraits_OnUse effect) {
if (effect == null) return;

View File

@@ -250,7 +250,8 @@ public final class CombatController implements VisualEffectCompletedCallback {
if (!loot.hasItemsOrGold()) {
world.model.currentMaps.map.removeGroundLoot(loot);
} else if (world.model.uiSelections.isInCombat) {
killedMonsterBags.add(loot);
if(!killedMonsterBags.contains(loot))
killedMonsterBags.add(loot);
}
combatActionListeners.onPlayerKilledMonster(killedMonster);
@@ -579,6 +580,13 @@ public final class CombatController implements VisualEffectCompletedCallback {
private static final int n = 50;
private static final int F = 40;
private static final float two_divided_by_PI = (float) (2f / Math.PI);
/**
* @implNote
* formula: 50 * (1 + (2 / pi) * atan((attackChance - blockChance - n) / F))
* <br/>
* n = {@value n}; F = {@value F}
* @return [0..100] . 100 == always hit.
*/
private static int getAttackHitChance(final Actor attacker, final Actor target) {
final int c = attacker.getAttackChance() - target.getBlockChance();
// (2/pi)*atan(..) will vary from -1 to +1 .
@@ -587,7 +595,10 @@ public final class CombatController implements VisualEffectCompletedCallback {
private AttackResult attack(final Actor attacker, final Actor target) {
int hitChance = getAttackHitChance(attacker, target);
if (!Constants.roll100(hitChance)) return AttackResult.MISS;
if (!Constants.roll100(hitChance)) {
applyAttackMissStatusEffects(attacker, target);
return AttackResult.MISS;
}
int damage = Constants.rollValue(attacker.getDamagePotential());
boolean isCriticalHit = false;
@@ -621,6 +632,21 @@ public final class CombatController implements VisualEffectCompletedCallback {
}
}
private void applyAttackMissStatusEffects(Actor attacker, Actor target) {
ItemTraits_OnUse[] onMissEffects = attacker.getOnMissEffects();
ItemTraits_OnHitReceived[] onMissReceivedEffects = target.getOnMissReceivedEffects();
if (onMissEffects != null) {
for (ItemTraits_OnUse e : onMissEffects) {
controllers.actorStatsController.applyUseEffect(attacker, target, e);
}
}
if (onMissReceivedEffects != null) {
for (ItemTraits_OnHitReceived e : onMissReceivedEffects) {
controllers.actorStatsController.applyHitReceivedEffect(target, attacker, e);
}
}
}
public void endOfCombatRound() {
world.model.worldData.tickWorldTime();
controllers.gameRoundController.resetRoundTimers();

View File

@@ -7,7 +7,7 @@ import com.gpl.rpg.AndorsTrail.util.ConstRange;
import com.gpl.rpg.AndorsTrail.util.Range;
public final class Constants {
public static final int PERCENT_EXP_LOST_WHEN_DIED = 30;
public static final int PERCENT_EXP_LOST_WHEN_DIED = 20;
public static final int LEVELUP_EFFECT_HEALTH = 5;
public static final int LEVELUP_EFFECT_ATK_CH = 5;
public static final int LEVELUP_EFFECT_ATK_DMG = 1;
@@ -48,9 +48,16 @@ public final class Constants {
public static final String FILENAME_WORLDMAP_HTMLFILE_SUFFIX = ".html";
public static final String FILENAME_SAVEGAME_FILENAME_PREFIX = "savegame";
public static final String PLACEHOLDER_PLAYERNAME = "$playername";
public static final String PLACEHOLDER_REG1 = "$reg1";
public static final String CHEAT_DETECTION_FOLDER = "dEAGyGE3YojqXjI3x4x7";
public static final String PASSIVE_ACHIEVEMENT_CHECK_PHRASE = "passive_achievement_check";
public static final String FACTION_SCORE_CALC_REGISTER_NAME = "reg1";
public static final String SAVEGAME_FILE_MIME_TYPE = "application/octet-stream";
public static final String WORLDMAP_FILE_MIME_TYPE = "image/png";
public static final String NO_FILE_EXTENSION_MIME_TYPE = "application/no_file_extension_mime_type";
public static final Random rnd = new Random();
public static int rollValue(final ConstRange r) { return rollValue(r.max, r.current); }
public static int rollValue(final ConstRange r, int bias) { return rollValue((r.max + 1) * 100 -1, r.current * 100 + bias)/100; }

View File

@@ -1,5 +1,7 @@
package com.gpl.rpg.AndorsTrail.controller;
import static com.gpl.rpg.AndorsTrail.controller.SkillController.canLevelupSkillWithQuest;
import java.util.ArrayList;
import android.content.res.Resources;
@@ -22,6 +24,7 @@ import com.gpl.rpg.AndorsTrail.model.conversation.Reply;
import com.gpl.rpg.AndorsTrail.model.item.ItemTypeCollection;
import com.gpl.rpg.AndorsTrail.model.item.Loot;
import com.gpl.rpg.AndorsTrail.model.map.LayeredTileMap;
import com.gpl.rpg.AndorsTrail.model.map.MapObject;
import com.gpl.rpg.AndorsTrail.model.map.MonsterSpawnArea;
import com.gpl.rpg.AndorsTrail.model.map.PredefinedMap;
import com.gpl.rpg.AndorsTrail.model.quest.QuestLogEntry;
@@ -97,6 +100,24 @@ public final class ConversationController {
case alignmentSet:
setAlignmentReward(player, effect.effectID, effect.value);
break;
case alignmentToReg1:
toAkkuAlignmentReward(player, effect.effectID);
break;
case alignmentFromReg1:
fromAkkuAlignmentReward(player, effect.effectID);
break;
case alignmentAdd:
addAlignmentReward(player, effect.effectID);
break;
case alignmentSub:
subAlignmentReward(player, effect.effectID);
break;
case alignmentDiv:
divAlignmentReward(player, effect.effectID, effect.value);
break;
case alignmentMult:
multAlignmentReward(player, effect.effectID, effect.value);
break;
case giveItem:
addItemReward(effect.effectID, effect.value, result);
break;
@@ -124,6 +145,9 @@ public final class ConversationController {
case changeMapFilter:
changeMapFilter(res, effect.mapName, effect.effectID);
break;
case mapchange:
mapchange(effect.mapName, effect.effectID);
break;
}
}
@@ -172,6 +196,13 @@ public final class ConversationController {
}
}
private void mapchange(String mapName, String place) {
PredefinedMap map = findMapForScriptEffect(mapName);
// controllers.mapController.activateMapObjectGroup(map, mapObjectGroupID);
// controllerContext.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, effect.mapName, effect.effectID, 0, 0); //cbcbcb check
controllers.movementController.placePlayerAsyncAt(MapObject.MapObjectType.newmap, mapName, place, 0, 0);
}
private void addAlignmentReward(Player player, String faction, int delta) {
player.addAlignment(faction, delta);
MovementController.refreshMonsterAggressiveness(world.model.currentMaps.map, world.model.player);
@@ -182,6 +213,47 @@ public final class ConversationController {
MovementController.refreshMonsterAggressiveness(world.model.currentMaps.map, world.model.player);
}
private void toAkkuAlignmentReward(Player player, String faction) {
Integer i = player.getAlignment(faction);
player.setAlignment("akku", i);
}
private void fromAkkuAlignmentReward(Player player, String faction) {
Integer i = player.getAlignment(Constants.FACTION_SCORE_CALC_REGISTER_NAME);
player.setAlignment(faction, i);
MovementController.refreshMonsterAggressiveness(world.model.currentMaps.map, world.model.player);
}
private void addAlignmentReward(Player player, String faction) {
Integer i = player.getAlignment(faction);
player.addAlignment(Constants.FACTION_SCORE_CALC_REGISTER_NAME, i);
}
private void subAlignmentReward(Player player, String faction) {
Integer i = -1 * player.getAlignment(faction);
player.addAlignment(Constants.FACTION_SCORE_CALC_REGISTER_NAME, i);
}
/// @param multiplier multiplies the faction alignment before dividing. Use 100 for percentages.
private void divAlignmentReward(Player player, String faction, int multiplier ) {
Integer i1, i2;
if (multiplier == 0) { multiplier = 1; }
i1 = player.getAlignment(Constants.FACTION_SCORE_CALC_REGISTER_NAME);
i2 = player.getAlignment(faction) * multiplier;
if (i2 != 0)
{
player.setAlignment(Constants.FACTION_SCORE_CALC_REGISTER_NAME, i1 / i2 );
}
}
/// @param multiplier the factor to multiply by. If 0, uses the faction score from the {@link Constants.FACTION_SCORE_CALC_REGISTER_NAME} as multiplier.
private void multAlignmentReward(Player player, String faction, int multiplier ) {
Integer i;
if (multiplier == 0) { multiplier = player.getAlignment(Constants.FACTION_SCORE_CALC_REGISTER_NAME); }
i = player.getAlignment(faction) * multiplier;
player.setAlignment(Constants.FACTION_SCORE_CALC_REGISTER_NAME, i );
}
private void addQuestProgressReward(Player player, String questID, int questProgress, ScriptEffectResult result) {
QuestProgress progress = new QuestProgress(questID, questProgress);
boolean added = player.addQuestProgress(progress);
@@ -311,6 +383,28 @@ public final class ConversationController {
case factionScoreEquals:
result = player.getAlignment(requirement.requireID) == requirement.value;
break;
case date:
result = world.model.worldData.getDate(requirement.requireID) >= requirement.value;
break;
case dateEquals:
result = world.model.worldData.getDate(requirement.requireID) == requirement.value;
break;
case time:
result = world.model.worldData.getTime(requirement.requireID) >= requirement.value;
break;
case timeEquals:
result = world.model.worldData.getTime(requirement.requireID) == requirement.value;
break;
case skillIncrease:
int levels;
if (requirement.value <= 0){
levels = 1;
}else{
levels = requirement.value;
}
SkillInfo skill = world.skills.getSkill(SkillCollection.SkillID.valueOf(requirement.requireID));
result = canLevelupSkillWithQuest(player, skill, levels);
break;
default:
result = true;
}
@@ -337,7 +431,8 @@ public final class ConversationController {
private static String getDisplayMessage(Phrase phrase, Player player) { return replacePlayerName(phrase.message, player); }
private static String getDisplayMessage(Reply reply, Player player) { return replacePlayerName(reply.text, player); }
private static String replacePlayerName(String s, Player player) {
return s.replace(Constants.PLACEHOLDER_PLAYERNAME, player.getName());
return s.replace(Constants.PLACEHOLDER_PLAYERNAME, player.getName())
.replace(Constants.PLACEHOLDER_REG1, String.valueOf(player.getAlignment(Constants.FACTION_SCORE_CALC_REGISTER_NAME)));
}
public static final class ConversationStatemachine {

View File

@@ -2,6 +2,7 @@ package com.gpl.rpg.AndorsTrail.controller;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.util.SparseIntArray;
import android.view.KeyEvent;
import android.view.View;
@@ -98,28 +99,36 @@ public final class InputController implements OnClickListener, OnLongClickListen
// Keys mapping to UP_LEFT
key = KEY_MOVE_UP_LEFT;
keyMap.put(KeyEvent.KEYCODE_DPAD_UP_LEFT, key);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
keyMap.put(KeyEvent.KEYCODE_DPAD_UP_LEFT, key);
}
keyMap.put(KeyEvent.KEYCODE_NUMPAD_7, key);
keyMap.put(KeyEvent.KEYCODE_7, key);
keyMap.put(KeyEvent.KEYCODE_MOVE_HOME, key);
// Keys mapping to UP_RIGHT
key = KEY_MOVE_UP_RIGHT;
keyMap.put(KeyEvent.KEYCODE_DPAD_UP_RIGHT, key);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
keyMap.put(KeyEvent.KEYCODE_DPAD_UP_RIGHT, key);
}
keyMap.put(KeyEvent.KEYCODE_NUMPAD_9, key);
keyMap.put(KeyEvent.KEYCODE_9, key);
keyMap.put(KeyEvent.KEYCODE_PAGE_UP, key);
// Keys mapping to DOWN_LEFT
key = KEY_MOVE_DOWN_LEFT;
keyMap.put(KeyEvent.KEYCODE_DPAD_DOWN_LEFT, key);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
keyMap.put(KeyEvent.KEYCODE_DPAD_DOWN_LEFT, key);
}
keyMap.put(KeyEvent.KEYCODE_NUMPAD_1, key);
keyMap.put(KeyEvent.KEYCODE_1, key);
keyMap.put(KeyEvent.KEYCODE_MOVE_END, key);
// Keys mapping to DOWN_RIGHT
key = KEY_MOVE_DOWN_RIGHT;
keyMap.put(KeyEvent.KEYCODE_DPAD_DOWN_RIGHT, key);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
keyMap.put(KeyEvent.KEYCODE_DPAD_DOWN_RIGHT, key);
}
keyMap.put(KeyEvent.KEYCODE_NUMPAD_3, key);
keyMap.put(KeyEvent.KEYCODE_3, key);
keyMap.put(KeyEvent.KEYCODE_PAGE_DOWN, key);

View File

@@ -195,19 +195,27 @@ public final class ItemController {
public static void recalculateHitEffectsFromWornItems(Player player) {
ArrayList<ItemTraits_OnUse> effects_onHit = null;
ArrayList<ItemTraits_OnUse> effects_onMiss = null;
ArrayList<ItemTraits_OnHitReceived> effects_onHitReceived = null;
ArrayList<ItemTraits_OnHitReceived> effects_onMissReceived = null;
for (Inventory.WearSlot slot : Inventory.WearSlot.values()) {
ItemType type = player.inventory.getItemTypeInWearSlot(slot);
if (type == null) continue;
ItemTraits_OnUse eh = type.effects_hit;
ItemTraits_OnHitReceived ehr = type.effects_hitReceived;
if (eh == null && ehr == null) continue;
ItemTraits_OnUse em = type.effects_miss;
ItemTraits_OnHitReceived emr = type.effects_missReceived;
if (eh == null && ehr == null && em == null && emr == null) continue;
if (effects_onHit == null) effects_onHit = new ArrayList<ItemTraits_OnUse>();
if (eh != null) effects_onHit.add(eh);
if (effects_onMiss == null) effects_onMiss = new ArrayList<ItemTraits_OnUse>();
if (em != null) effects_onMiss.add(em);
if (effects_onHitReceived == null) effects_onHitReceived = new ArrayList<ItemTraits_OnHitReceived>();
if (ehr != null) effects_onHitReceived.add(ehr);
if (effects_onMissReceived == null) effects_onMissReceived = new ArrayList<ItemTraits_OnHitReceived>();
if (emr != null) effects_onMissReceived.add(emr);
}
if (effects_onHit != null) {
@@ -217,6 +225,13 @@ public final class ItemController {
} else {
player.onHitEffects = null;
}
if (effects_onMiss != null) {
ItemTraits_OnUse[] effects_ = new ItemTraits_OnUse[effects_onMiss.size()];
effects_ = effects_onMiss.toArray(effects_);
player.onMissEffects = effects_;
} else {
player.onMissEffects = null;
}
if (effects_onHitReceived != null) {
ItemTraits_OnHitReceived[] effects_ = new ItemTraits_OnHitReceived[effects_onHitReceived.size()];
@@ -225,6 +240,13 @@ public final class ItemController {
} else {
player.onHitReceivedEffects = null;
}
if (effects_onMissReceived != null) {
ItemTraits_OnHitReceived[] effects_ = new ItemTraits_OnHitReceived[effects_onMissReceived.size()];
effects_ = effects_onMissReceived.toArray(effects_);
player.onMissReceivedEffects = effects_;
} else {
player.onMissReceivedEffects = null;
}
}
public void consumeNonItemLoot(Loot loot) {

View File

@@ -68,6 +68,7 @@ public final class MapController {
case sign:
if (o.id == null || o.id.length() <= 0) return;
worldEventListeners.onPlayerSteppedOnMapSignArea(o);
runScriptInArea(o);
break;
case newmap:
if (o.map == null || o.place == null) return;
@@ -79,7 +80,7 @@ public final class MapController {
steppedOnRestArea(o);
break;
case script:
runScriptArea(o);
runScriptInArea(o);
break;
}
}
@@ -93,7 +94,7 @@ public final class MapController {
return true;
}
private void runScriptArea(MapObject o) {
private void runScriptInArea(MapObject o) {
Resources res = controllers.getResources();
mapScriptExecutor.proceedToPhrase(res, o.id, true, true);
controllers.mapController.applyCurrentMapReplacements(res, true);
@@ -164,6 +165,7 @@ public final class MapController {
return true;
}
worldEventListeners.onPlayerSteppedOnKeyArea(area);
runScriptInArea(area);
return false;
}

View File

@@ -1,5 +1,6 @@
package com.gpl.rpg.AndorsTrail.controller;
import com.gpl.rpg.AndorsTrail.AndorsTrailApplication;
import com.gpl.rpg.AndorsTrail.context.ControllerContext;
import com.gpl.rpg.AndorsTrail.context.WorldContext;
import com.gpl.rpg.AndorsTrail.controller.listeners.CombatActionListeners;
@@ -17,6 +18,7 @@ import com.gpl.rpg.AndorsTrail.model.item.ItemCategory;
import com.gpl.rpg.AndorsTrail.model.item.ItemType;
import com.gpl.rpg.AndorsTrail.model.item.ItemTypeCollection;
import com.gpl.rpg.AndorsTrail.util.ConstRange;
import com.gpl.rpg.AndorsTrail.util.L;
public final class SkillController {
private final ControllerContext controllers;
@@ -58,6 +60,9 @@ public final class SkillController {
public static int getDropChanceRollBias(DropItem item, Player player) {
if (player == null) return 0;
if(item.itemType == null && AndorsTrailApplication.DEVELOPMENT_DEBUGMESSAGES){
L.log("Item type missing: " + item + " " + player.id);
}
if (ItemTypeCollection.isGoldItemType(item.itemType.id)) {
return getRollBias(item, player, SkillID.coinfinder, SkillCollection.PER_SKILLPOINT_INCREASE_COINFINDER_CHANCE_PERCENT);
@@ -86,17 +91,17 @@ public final class SkillController {
}
private static boolean canLevelupSkillWithQuest(Player player, SkillInfo skill) {
static boolean canLevelupSkillWithQuest(Player player, SkillInfo skill, int levels) {
final int playerSkillLevel = player.getSkillLevel(skill.id);
if (skill.hasMaxLevel()) {
if (playerSkillLevel >= skill.maxLevel) return false;
if (playerSkillLevel + levels > skill.maxLevel) return false;
}
if (!skill.canLevelUpSkillTo(player, playerSkillLevel + 1)) return false;
if (!skill.canLevelUpSkillTo(player, playerSkillLevel + levels)) return false;
return true;
}
public static boolean canLevelupSkillManually(Player player, SkillInfo skill) {
if (!player.hasAvailableSkillpoints()) return false;
if (!canLevelupSkillWithQuest(player, skill)) return false;
if (!canLevelupSkillWithQuest(player, skill, 1)) return false;
if (skill.levelupVisibility == SkillInfo.LevelUpType.onlyByQuests) return false;
if (skill.levelupVisibility == SkillInfo.LevelUpType.firstLevelRequiresQuest) {
if (!player.hasSkill(skill.id)) return false;
@@ -109,7 +114,7 @@ public final class SkillController {
addSkillLevel(skill.id);
}
public boolean levelUpSkillByQuest(Player player, SkillInfo skill) {
if (!canLevelupSkillWithQuest(player, skill)) return false;
if (!canLevelupSkillWithQuest(player, skill, 1)) return false;
addSkillLevel(skill.id);
return true;
}
@@ -248,6 +253,7 @@ public final class SkillController {
addPercentBlockChance(player, itemType, SkillCollection.PER_SKILLPOINT_INCREASE_HEAVY_ARMOR_BC_PERCENT * skillLevelHeavyArmor, 0);
playerTraits.moveCost -= getPercentage(itemType.effects_equip.stats.increaseMoveCost, SkillCollection.PER_SKILLPOINT_INCREASE_HEAVY_ARMOR_MOVECOST_PERCENT * skillLevelHeavyArmor, 0);
playerTraits.attackCost -= getPercentage(itemType.effects_equip.stats.increaseAttackCost, SkillCollection.PER_SKILLPOINT_INCREASE_HEAVY_ARMOR_ATKCOST_PERCENT * skillLevelHeavyArmor, 0);
playerTraits.useItemCost -= getPercentage(itemType.effects_equip.stats.increaseUseItemCost, SkillCollection.PER_SKILLPOINT_INCREASE_HEAVY_ARMOR_USECOST_PERCENT * skillLevelHeavyArmor, 0);
}
}
}

View File

@@ -21,14 +21,21 @@ import com.gpl.rpg.AndorsTrail.util.Coord;
import com.gpl.rpg.AndorsTrail.util.CoordRect;
import com.gpl.rpg.AndorsTrail.util.Size;
public final class VisualEffectController {
private int effectCount = 0;
import java.util.ArrayList;
import java.util.List;
public final class VisualEffectController {
private static final long EFFECT_UPDATE_INTERVAL = 25;
private final ControllerContext controllers;
private final WorldContext world;
private final VisualEffectCollection effectTypes;
private final Handler animationHandler = new Handler();
private final List<VisualEffectAnimation> activeAnimations = new ArrayList<>();
public final VisualEffectFrameListeners visualEffectFrameListeners = new VisualEffectFrameListeners();
private long getEffectUpdateInterval() {
return EFFECT_UPDATE_INTERVAL * controllers.preferences.attackspeed_milliseconds / AndorsTrailPreferences.ATTACKSPEED_DEFAULT_MILLISECONDS;
}
public VisualEffectController(ControllerContext controllers, WorldContext world) {
this.controllers = controllers;
@@ -37,11 +44,41 @@ public final class VisualEffectController {
}
public void startEffect(Coord position, VisualEffectCollection.VisualEffectID effectID, String displayValue, VisualEffectCompletedCallback callback, int callbackValue) {
++effectCount;
(new VisualEffectAnimation(effectTypes.getVisualEffect(effectID), position, displayValue, callback, callbackValue))
.start();
VisualEffectAnimation animation = new VisualEffectAnimation(effectTypes.getVisualEffect(effectID), position, displayValue, callback, callbackValue);
animation.start();
}
private void startAnimation(VisualEffectAnimation animation) {
activeAnimations.add(animation);
animation.update();
if (activeAnimations.size() == 1) {
animationHandler.postDelayed(animationRunnable, 0);
}
}
private final Runnable animationRunnable = new Runnable() {
@Override
public void run() {
if(!activeAnimations.isEmpty()) {
long updateInterval = getEffectUpdateInterval();
if(updateInterval > 0) animationHandler.postDelayed(this, updateInterval);
for (int i = 0; i < activeAnimations.size(); i++) {
VisualEffectAnimation animation = activeAnimations.get(i);
animation.durationPassed += updateInterval;
animation.updateFrame();
animation.update();
if (controllers.preferences.attackspeed_milliseconds <= 0 || animation.currentFrame >= animation.effect.lastFrame) {
animation.onCompleted();
activeAnimations.remove(i);
i--;
}
}
visualEffectFrameListeners.onNewAnimationFrames(activeAnimations);
}
}
};
private VisualEffectCollection.VisualEffectID enqueuedEffectID = null;
private int enqueuedEffectValue = 0;
public void enqueueEffect(VisualEffectCollection.VisualEffectID effectID, int displayValue) {
@@ -60,15 +97,13 @@ public final class VisualEffectController {
}
public void startActorMoveEffect(Actor actor, PredefinedMap map, Coord origin, Coord destination, int duration, VisualEffectCompletedCallback callback, int callbackValue) {
++effectCount;
(new SpriteMoveAnimation(origin, destination, duration, actor, map, callback, callbackValue))
.start();
}
public final class SpriteMoveAnimation extends Handler implements Runnable {
// private static final int millisecondsPerFrame=25;
public final class SpriteMoveAnimation implements Runnable {
private final Handler handler = new Handler();
private final VisualEffectCompletedCallback callback;
private final int callbackValue;
@@ -82,11 +117,6 @@ public final class VisualEffectController {
@Override
public void run() {
onCompleted();
// update();
// if (System.currentTimeMillis() - actor.vfxStartTime >= duration) {
// } else {
// postDelayed(this, millisecondsPerFrame);
// }
}
public SpriteMoveAnimation(Coord origin, Coord destination, int duration, Actor actor, PredefinedMap map, VisualEffectCompletedCallback callback, int callbackValue) {
@@ -99,19 +129,12 @@ public final class VisualEffectController {
this.destination = destination;
}
// private void update() {
//
// visualEffectFrameListeners.onNewSpriteMoveFrame(this);
// }
private void onCompleted() {
--effectCount;
actor.hasVFXRunning = false;
if (callback != null) callback.onVisualEffectCompleted(callbackValue);
visualEffectFrameListeners.onSpriteMoveCompleted(this);
}
public void start() {
actor.hasVFXRunning = true;
@@ -120,12 +143,9 @@ public final class VisualEffectController {
visualEffectFrameListeners.onSpriteMoveStarted(this);
if (duration == 0 || !controllers.preferences.enableUiAnimations) onCompleted();
else {
postDelayed(this, duration);
handler.postDelayed(this, duration);
}
}
}
public static final Paint textPaint = new Paint();
@@ -134,41 +154,45 @@ public final class VisualEffectController {
textPaint.setAlpha(255);
textPaint.setTextAlign(Align.CENTER);
}
public final class VisualEffectAnimation extends Handler implements Runnable {
@Override
public void run() {
if (currentFrame >= effect.lastFrame) {
onCompleted();
} else {
postDelayed(this, effect.millisecondPerFrame * controllers.preferences.attackspeed_milliseconds / AndorsTrailPreferences.ATTACKSPEED_DEFAULT_MILLISECONDS);
update();
/// only for combat effects, movement & blood splatters etc. are handled elsewhere.
public final class VisualEffectAnimation {
public int tileID;
public int textYOffset;
public long durationPassed = 0;
private void updateFrame() {
long frameDuration = (long) effect.millisecondPerFrame * controllers.preferences.attackspeed_milliseconds / AndorsTrailPreferences.ATTACKSPEED_DEFAULT_MILLISECONDS;
while (frameDuration > 0 && durationPassed > frameDuration) {
currentFrame++;
durationPassed -= frameDuration;
}
}
private void update() {
++currentFrame;
int frame = currentFrame;
int tileID = effect.frameIconIDs[frame];
int textYOffset = -2 * (frame);
if (frame >= beginFadeAtFrame && displayText != null) {
textPaint.setAlpha(255 * (effect.lastFrame - frame) / (effect.lastFrame - beginFadeAtFrame));
if (currentFrame >= effect.lastFrame) {
return;
}
tileID = effect.frameIconIDs[currentFrame];
textYOffset = -2 * (currentFrame);
if (currentFrame >= beginFadeAtFrame && displayText != null) {
textPaint.setAlpha(255 * (effect.lastFrame - currentFrame) / (effect.lastFrame - beginFadeAtFrame));
}
area.topLeft.y = position.y - 1;
visualEffectFrameListeners.onNewAnimationFrame(this, tileID, textYOffset);
}
private void onCompleted() {
--effectCount;
visualEffectFrameListeners.onAnimationCompleted(this);
if (callback != null) callback.onVisualEffectCompleted(callbackValue);
}
public void start() {
if (!controllers.preferences.enableUiAnimations) onCompleted();
else postDelayed(this, 0);
if (!controllers.preferences.enableUiAnimations
|| effect.duration == 0
|| controllers.preferences.attackspeed_milliseconds <= 0) onCompleted();
else startAnimation(this);
}
private int currentFrame = 0;
@@ -197,7 +221,7 @@ public final class VisualEffectController {
this.area = new CoordRect(new Coord(position.x - (widthNeededInTiles / 2), position.y - 1), new Size(widthNeededInTiles, 2));
this.beginFadeAtFrame = effect.lastFrame / 2;
}
public Paint getTextPaint(){
return textPaint;
}
@@ -208,7 +232,7 @@ public final class VisualEffectController {
}
public boolean isRunningVisualEffect() {
return effectCount > 0;
return !activeAnimations.isEmpty();
}
@@ -268,10 +292,10 @@ public final class VisualEffectController {
return -1;
}
}
public void asyncUpdateArea(CoordRect area) {
visualEffectFrameListeners.onAsyncAreaUpdate(area);
}
}

View File

@@ -25,6 +25,7 @@ import com.gpl.rpg.AndorsTrail.context.WorldContext;
import com.gpl.rpg.AndorsTrail.model.map.LayeredTileMap;
import com.gpl.rpg.AndorsTrail.model.map.MapLayer;
import com.gpl.rpg.AndorsTrail.model.map.PredefinedMap;
import com.gpl.rpg.AndorsTrail.model.map.TMXMapTranslator;
import com.gpl.rpg.AndorsTrail.model.map.WorldMapSegment;
import com.gpl.rpg.AndorsTrail.model.map.WorldMapSegment.NamedWorldMapArea;
import com.gpl.rpg.AndorsTrail.model.map.WorldMapSegment.WorldMapSegmentMap;
@@ -314,4 +315,32 @@ public final class WorldMapController {
return true;
}
public static void populateWorldMap(Context context, WorldContext world, Resources res) throws IOException {
ensureWorldmapDirectoryExists(context);
File dir = getWorldmapDirectory(context);
File idFile = new File(dir, world.model.player.id);
if (idFile.exists()) return;
idFile.createNewFile();
for (PredefinedMap map : world.maps.getAllMaps()) {
if (!map.visited) continue;
String worldMapSegmentName = world.maps.getWorldMapSegmentNameForMap(map.name);
if (worldMapSegmentName == null) continue;
boolean mapFileExists = fileForMapExists(context, map);
File worldMapFile = getCombinedWorldMapFile(context, worldMapSegmentName);
if (mapFileExists && worldMapFile.exists()) continue;
LayeredTileMap mapTiles = TMXMapTranslator.readLayeredTileMap(res, world.tileManager.tileCache, map);
mapTiles.changeColorFilter(map.currentColorFilter);
TileCollection cachedTiles = world.tileManager.loadTilesFor(map, mapTiles, world, res);
MapRenderer renderer = new MapRenderer(world, map, mapTiles, cachedTiles);
updateCachedBitmap(context, map, renderer);
updateWorldMapSegment(context, res, world, worldMapSegmentName);
}
}
}

View File

@@ -4,8 +4,10 @@ import com.gpl.rpg.AndorsTrail.controller.VisualEffectController.SpriteMoveAnima
import com.gpl.rpg.AndorsTrail.controller.VisualEffectController.VisualEffectAnimation;
import com.gpl.rpg.AndorsTrail.util.CoordRect;
import java.util.List;
public interface VisualEffectFrameListener {
void onNewAnimationFrame(VisualEffectAnimation animation, int tileID, int textYOffset);
void onNewAnimationFrames(List<VisualEffectAnimation> effects);
void onAnimationCompleted(VisualEffectAnimation animation);
void onSpriteMoveStarted(SpriteMoveAnimation animation);
void onNewSpriteMoveFrame(SpriteMoveAnimation animation);

View File

@@ -5,10 +5,12 @@ import com.gpl.rpg.AndorsTrail.controller.VisualEffectController.VisualEffectAni
import com.gpl.rpg.AndorsTrail.util.CoordRect;
import com.gpl.rpg.AndorsTrail.util.ListOfListeners;
import java.util.List;
public final class VisualEffectFrameListeners extends ListOfListeners<VisualEffectFrameListener> implements VisualEffectFrameListener {
private final Function3<VisualEffectFrameListener, VisualEffectAnimation, Integer, Integer> onNewAnimationFrame = new Function3<VisualEffectFrameListener, VisualEffectAnimation, Integer, Integer>() {
@Override public void call(VisualEffectFrameListener listener, VisualEffectAnimation animation, Integer tileID, Integer textYOffset) { listener.onNewAnimationFrame(animation, tileID, textYOffset); }
private final Function1<VisualEffectFrameListener, List<VisualEffectAnimation>> onNewAnimationFrames = new Function1<VisualEffectFrameListener, List<VisualEffectAnimation>>() {
@Override public void call(VisualEffectFrameListener listener, List<VisualEffectAnimation> effects) { listener.onNewAnimationFrames(effects); }
};
private final Function1<VisualEffectFrameListener, VisualEffectAnimation> onAnimationCompleted = new Function1<VisualEffectFrameListener, VisualEffectAnimation>() {
@@ -30,10 +32,10 @@ public final class VisualEffectFrameListeners extends ListOfListeners<VisualEffe
private final Function1<VisualEffectFrameListener, CoordRect> onAsyncAreaUpdate = new Function1<VisualEffectFrameListener, CoordRect>() {
@Override public void call(VisualEffectFrameListener listener, CoordRect area) { listener.onAsyncAreaUpdate(area); }
};
@Override
public void onNewAnimationFrame(VisualEffectAnimation animation, int tileID, int textYOffset) {
callAllListeners(this.onNewAnimationFrame, animation, tileID, textYOffset);
public void onNewAnimationFrames(List<VisualEffectAnimation> effects) {
callAllListeners(this.onNewAnimationFrames, effects);
}
@Override

View File

@@ -0,0 +1,115 @@
package com.gpl.rpg.AndorsTrail.model;
import android.os.Build;
import com.gpl.rpg.AndorsTrail.util.L;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.charset.StandardCharsets;
import java.security.DigestException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class ChecksumBuilder {
public static final int CHECKSUM_LENGTH = 32;// 256 bits (depends on the hash algorithm)
public static final String CHECKSUM_ALGORITHM = "SHA-256"; //Should be available in all Android versions
private ByteBuffer buffer;
private final MessageDigest digest;
private ChecksumBuilder(int initialCapacity, ByteOrder byteOrder) {
buffer = ByteBuffer.allocate(initialCapacity);
buffer.order(byteOrder);
try {
digest = MessageDigest.getInstance(CHECKSUM_ALGORITHM); // Or SHA-512 for even stronger hash
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException("Hash algorithm not found", e);
}
}
private ChecksumBuilder(int initialCapacity) {
this(initialCapacity, ByteOrder.BIG_ENDIAN); // Default to big-endian
}
public ChecksumBuilder() {
this(1024*10); // A reasonable default initial capacity
}
// --- Methods for adding different data types ---
public ChecksumBuilder add(String value) {
if (value != null) {
byte[] bytes;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
bytes = value.getBytes(StandardCharsets.UTF_8);
} else {
bytes = value.getBytes();
}
add(bytes);
} else {
add(-1); // Use -1 to represent a null string
}
return this;
}
public ChecksumBuilder add(byte[] bytes) {
add(bytes.length); // Add length prefix
ensureCapacity(bytes.length + 4); // +4 for length prefix (int)
buffer.put(bytes);
return this;
}
public ChecksumBuilder add(boolean value) {
ensureCapacity(1);
buffer.put(value ? (byte) 1 : (byte) 0);
return this;
}
public ChecksumBuilder add(long value) {
ensureCapacity(8);
buffer.putLong(value);
return this;
}
public ChecksumBuilder add(int value) {
ensureCapacity(4);
buffer.putInt(value);
return this;
}
public ChecksumBuilder add(float value) {
ensureCapacity(8);
buffer.putFloat(value);
return this;
}
public ChecksumBuilder add(double value) {
ensureCapacity(4);
buffer.putDouble(value);
return this;
}
// --- Method to finalize and get the checksum ---
public byte[] build() throws DigestException {
buffer.flip(); // Prepare for reading
digest.update(buffer);// Only use the actually used part of the buffer
buffer.flip(); // Prepare for further writing
return digest.digest();
}
// --- Utility method to ensure sufficient capacity ---
private void ensureCapacity(int required) {
if (buffer.remaining() < required) {
int newCapacity = Math.max(buffer.capacity() * 2, buffer.capacity() + required);
ByteBuffer newBuffer = ByteBuffer.allocate(newCapacity);
newBuffer.order(buffer.order());
buffer.flip(); // Prepare for reading
newBuffer.put(buffer); // Copy existing data
buffer = newBuffer; // Assign the new buffer to the field
}
}
}

View File

@@ -3,6 +3,7 @@ package com.gpl.rpg.AndorsTrail.model;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.security.MessageDigest;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
@@ -19,8 +20,11 @@ import com.gpl.rpg.AndorsTrail.model.actor.MonsterType;
import com.gpl.rpg.AndorsTrail.model.item.ItemType;
import com.gpl.rpg.AndorsTrail.model.map.PredefinedMap;
import com.gpl.rpg.AndorsTrail.model.quest.Quest;
import com.gpl.rpg.AndorsTrail.util.HashMapHelper;
public final class GameStatistics {
private boolean isAlteredSavegame = false;
private byte[] checksum = new byte[ChecksumBuilder.CHECKSUM_LENGTH];
private int deaths = 0;
private final HashMap<String, Integer> killedMonstersByTypeID = new HashMap<String, Integer>();
private final HashMap<String, Integer> killedMonstersByName = new HashMap<String, Integer>();
@@ -36,10 +40,10 @@ public final class GameStatistics {
public void addMonsterKill(MonsterType monsterType) {
// Track monster kills by type ID, for savegame file
killedMonstersByTypeID.put(monsterType.id, killedMonstersByTypeID.getOrDefault((monsterType.id), 0) + 1);
killedMonstersByTypeID.put(monsterType.id, getNumberOfKillsForMonsterType(monsterType.id) + 1);
// Also track by name, for statistics display (multiple IDs w/same name don't matter to player)
killedMonstersByName.put(monsterType.name, killedMonstersByName.getOrDefault(monsterType.name, 0) + 1);
killedMonstersByName.put(monsterType.name, getNumberOfKillsForMonsterName(monsterType.name) + 1);
}
public void addPlayerDeath(int lostExp) {
@@ -50,8 +54,7 @@ public final class GameStatistics {
}
public void addItemUsage(ItemType type) {
final String n = type.id;
if (!usedItems.containsKey(n)) usedItems.put(n, 1);
else usedItems.put(n, usedItems.get(n) + 1);
usedItems.put(n, HashMapHelper.getOrDefault(usedItems, n,0) + 1);
}
public int getDeaths() {
@@ -67,21 +70,18 @@ public final class GameStatistics {
public boolean hasUnlimitedLives() { return startLives == -1; }
public int getStartLives() { return startLives; }
public boolean getIsAlteredSavegame() { return isAlteredSavegame; }
public int getLivesLeft() { return hasUnlimitedLives() ? -1 : startLives - deaths; }
public boolean isDead() { return !hasUnlimitedLives() && getLivesLeft() < 1; }
public int getNumberOfKillsForMonsterType(String monsterTypeID) {
Integer v = killedMonstersByTypeID.get(monsterTypeID);
if (v == null) return 0;
return v;
return HashMapHelper.getOrDefault(killedMonstersByTypeID, monsterTypeID, 0);
}
public int getNumberOfKillsForMonsterName(String monsterName) {
Integer v = killedMonstersByName.get(monsterName);
if (v == null) return 0;
return v;
return HashMapHelper.getOrDefault(killedMonstersByName, monsterName, 0);
}
public String getTop5MostCommonlyKilledMonsters(WorldContext world, Resources res) {
@@ -144,20 +144,15 @@ public final class GameStatistics {
}
public int getNumberOfUsedItems() {
int result = 0;
for (int v : usedItems.values()) result += v;
return result;
return HashMapHelper.sumIntegerValues(usedItems);
}
public int getNumberOfTimesItemHasBeenUsed(String itemId) {
if (!usedItems.containsKey(itemId)) return 0;
return usedItems.get(itemId);
return HashMapHelper.getOrDefault(usedItems, itemId, 0);
}
public int getNumberOfKilledMonsters() {
int result = 0;
for (int v : killedMonstersByTypeID.values()) result += v;
return result;
return HashMapHelper.sumIntegerValues(killedMonstersByTypeID);
}
private static final Comparator<Entry<String, Integer>> descendingValueComparator = new Comparator<Entry<String, Integer>>() {
@@ -167,6 +162,18 @@ public final class GameStatistics {
}
};
public void setChecksum(byte[] checksum) {
if (checksum.length != ChecksumBuilder.CHECKSUM_LENGTH) throw new IllegalArgumentException("Invalid checksum length.");
this.checksum = checksum;
}
public boolean compareChecksum(byte[] checksum) {
return this.checksum.length == checksum.length && MessageDigest.isEqual(this.checksum, checksum);
}
public void markAsAlteredSavegame() {
isAlteredSavegame = true;
}
// ====== PARCELABLE ===================================================================
@@ -186,7 +193,7 @@ public final class GameStatistics {
// Also track by name, for statistics display (multiple IDs w/same name don't matter to player)
MonsterType t = world.monsterTypes.getMonsterType(id);
if (t != null) killedMonstersByName.put(t.name, killedMonstersByName.getOrDefault(t.name, 0) + value);
if (t != null) killedMonstersByName.put(t.name, getNumberOfKillsForMonsterName(t.name) + value);
}
if (fileversion <= 17) return;
@@ -203,6 +210,11 @@ public final class GameStatistics {
this.startLives = src.readInt();
this.unlimitedSaves = src.readBoolean();
if (fileversion < 81) return;
this.isAlteredSavegame = src.readBoolean();
final int checksumLength = src.readInt();
this.checksum = new byte[checksumLength];
if( src.read(checksum) != checksumLength) throw new IOException("Failed to read full checksum.");
}
public void writeToParcel(DataOutputStream dest) throws IOException {
@@ -222,5 +234,29 @@ public final class GameStatistics {
dest.writeInt(spentGold);
dest.writeInt(startLives);
dest.writeBoolean(unlimitedSaves);
dest.writeBoolean(isAlteredSavegame);
dest.writeInt(checksum.length);
dest.write(checksum);
}
public void addToChecksum(ChecksumBuilder builder) {
builder.add(deaths);
Set<Entry<String, Integer> > set = killedMonstersByTypeID.entrySet();
builder.add(set.size());
for (Entry<String, Integer> e : set) {
builder.add(e.getKey());
builder.add(e.getValue());
}
set = usedItems.entrySet();
builder.add(set.size());
for (Entry<String, Integer> e : set) {
builder.add(e.getKey());
builder.add(e.getValue());
}
builder.add(spentGold);
builder.add(startLives);
builder.add(unlimitedSaves);
builder.add(isAlteredSavegame);
}
}

View File

@@ -51,4 +51,12 @@ public final class InterfaceData {
}
dest.writeUTF(selectedTabHeroInfo);
}
public void addToChecksum(ChecksumBuilder builder) {
builder.add(isMainActivityVisible);
builder.add(isInCombat);
builder.add(selectedPosition != null);
if (selectedPosition != null) selectedPosition.addToChecksum(builder);
builder.add(selectedTabHeroInfo);
}
}

View File

@@ -49,4 +49,11 @@ public final class ModelContainer {
statistics.writeToParcel(dest);
worldData.writeToParcel(dest);
}
public void addToChecksum(ChecksumBuilder builder){
player.addToChecksum(builder);
builder.add(currentMaps.map.name);
uiSelections.addToChecksum(builder);
statistics.addToChecksum(builder);
worldData.addToChecksum(builder);
}
}

View File

@@ -6,6 +6,8 @@ import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Calendar;
public final class WorldData {
private long worldTime = 0; // Measured in number of game rounds
private final HashMap<String, Long> timers = new HashMap<String, Long>();
@@ -36,6 +38,62 @@ public final class WorldData {
return v + duration <= worldTime;
}
public int getDate(String format) {
Calendar now = Calendar.getInstance();
int ret;
switch (format) {
case "YYYYMMDD":
ret = now.get(Calendar.YEAR)*10000 + (now.get(Calendar.MONTH) + 1)*100 + now.get(Calendar.DAY_OF_MONTH);
break;
case "YYYYMM":
ret = now.get(Calendar.YEAR)*100 + (now.get(Calendar.MONTH) + 1);
break;
case "YYYY":
ret = now.get(Calendar.YEAR);
break;
case "MMDD":
ret = (now.get(Calendar.MONTH) + 1)*100 + now.get(Calendar.DAY_OF_MONTH);
break;
case "MM":
ret = (now.get(Calendar.MONTH) + 1);
break;
case "DD":
ret = now.get(Calendar.DAY_OF_MONTH);
break;
default:
ret = 99999999; //never true
}
return ret;
}
public int getTime(String format) {
Calendar now = Calendar.getInstance();
int ret;
switch (format) {
case "HHMMSS":
ret = now.get(Calendar.HOUR_OF_DAY)*10000 + now.get(Calendar.MINUTE)*100 + now.get(Calendar.SECOND);
break;
case "HHMM":
ret = now.get(Calendar.HOUR_OF_DAY)*100 + now.get(Calendar.MINUTE);
break;
case "HH":
ret = now.get(Calendar.HOUR_OF_DAY);
break;
case "MMSS":
ret = now.get(Calendar.MINUTE)*100 + now.get(Calendar.SECOND);
break;
case "MM":
ret = now.get(Calendar.MINUTE);
break;
case "SS":
ret = now.get(Calendar.SECOND);
break;
default:
ret = 99999999; //never true
}
return ret;
}
// ====== PARCELABLE ===================================================================
public WorldData(DataInputStream src, int fileversion) throws IOException {
@@ -56,4 +114,13 @@ public final class WorldData {
dest.writeLong(e.getValue());
}
}
public void addToChecksum(ChecksumBuilder builder) {
builder.add(worldTime);
builder.add(timers.size());
for(Map.Entry<String, Long> e : timers.entrySet()) {
builder.add(e.getKey());
builder.add(e.getValue());
}
}
}

View File

@@ -5,10 +5,12 @@ import java.io.DataOutputStream;
import java.io.IOException;
import com.gpl.rpg.AndorsTrail.context.WorldContext;
import com.gpl.rpg.AndorsTrail.model.ChecksumBuilder;
public final class ActorCondition {
public static final int MAGNITUDE_REMOVE_ALL = -99;
public static final int DURATION_FOREVER = 999;
public static final int DURATION_FOREVER_UNTIL_SLEEP = 998;
public static final int DURATION_NONE = 0;
public final ActorConditionType conditionType;
@@ -27,7 +29,12 @@ public final class ActorCondition {
public boolean isTemporaryEffect() { return isTemporaryEffect(duration); }
public static boolean isTemporaryEffect(int duration) {
return duration != DURATION_FOREVER;
return ( duration != DURATION_FOREVER && duration != DURATION_FOREVER_UNTIL_SLEEP );
}
public boolean isDurationForeverUntilSleep() { return isDurationForeverUntilSleep(duration); }
public static boolean isDurationForeverUntilSleep(int duration) {
return ( duration == DURATION_FOREVER_UNTIL_SLEEP );
}
@@ -45,4 +52,11 @@ public final class ActorCondition {
dest.writeInt(magnitude);
dest.writeInt(duration);
}
public void addToChecksum(ChecksumBuilder builder) {
builder.add(conditionType.conditionTypeID);
builder.add(magnitude);
builder.add(duration);
}
}

View File

@@ -10,6 +10,7 @@ public final class ActorConditionType {
public final String conditionTypeID;
public final String name;
public final String description;
public final int iconID;
public final ConditionCategory conditionCategory;
public final boolean isStacking;
@@ -21,6 +22,7 @@ public final class ActorConditionType {
public ActorConditionType(
String conditionTypeID
, String name
, String description
, int iconID
, ConditionCategory conditionCategory
, boolean isStacking
@@ -31,6 +33,7 @@ public final class ActorConditionType {
) {
this.conditionTypeID = conditionTypeID;
this.name = name;
this.description = description;
this.iconID = iconID;
this.conditionCategory = conditionCategory;
this.isStacking = isStacking;

View File

@@ -83,7 +83,7 @@ public final class SkillCollection {
public static final int PER_SKILLPOINT_INCREASE_COINFINDER_CHANCE_PERCENT = 30;
public static final int PER_SKILLPOINT_INCREASE_MAGICFINDER_CHANCE_PERCENT = 50;
public static final int PER_SKILLPOINT_INCREASE_COINFINDER_QUANTITY_PERCENT = 50;
public static final int PER_SKILLPOINT_INCREASE_MORE_EXP_PERCENT = 5;
public static final int PER_SKILLPOINT_INCREASE_MORE_EXP_PERCENT = 10;
public static final int PER_SKILLPOINT_INCREASE_CLEAVE_AP = 3;
public static final int PER_SKILLPOINT_INCREASE_EATER_HEALTH = 1;
public static final int PER_SKILLPOINT_INCREASE_FORTITUDE_HEALTH = 1;
@@ -112,6 +112,7 @@ public final class SkillCollection {
public static final int PER_SKILLPOINT_INCREASE_HEAVY_ARMOR_BC_PERCENT = 20;
public static final int PER_SKILLPOINT_INCREASE_HEAVY_ARMOR_MOVECOST_PERCENT = 25;
public static final int PER_SKILLPOINT_INCREASE_HEAVY_ARMOR_ATKCOST_PERCENT = 25;
public static final int PER_SKILLPOINT_INCREASE_HEAVY_ARMOR_USECOST_PERCENT = 25;
public static final int PER_SKILLPOINT_INCREASE_FIGHTSTYLE_2HAND_DMG_PERCENT = 30;
public static final int PER_SKILLPOINT_INCREASE_SPECIALIZATION_2HAND_DMG_PERCENT = 50;
public static final int PER_SKILLPOINT_INCREASE_SPECIALIZATION_2HAND_AC_PERCENT = 20;
@@ -186,12 +187,12 @@ public final class SkillCollection {
initializeSkill(new SkillInfo(SkillID.resistanceBlood, MAX_LEVEL_RESISTANCE, SkillInfo.LevelUpType.alwaysShown, SkillCategory.immunity, null, position++));
initializeSkill(new SkillInfo(SkillID.shadowBless, 1, SkillInfo.LevelUpType.onlyByQuests, SkillCategory.immunity, null, position++));
initializeSkill(new SkillInfo(SkillID.crit1, 1, SkillInfo.LevelUpType.alwaysShown, SkillCategory.criticals, new SkillLevelRequirement[] {
SkillLevelRequirement.requireOtherSkill(SkillID.moreCriticals, 3)
,SkillLevelRequirement.requireOtherSkill(SkillID.betterCriticals, 3)
SkillLevelRequirement.requireOtherSkill(SkillID.moreCriticals, 2)
,SkillLevelRequirement.requireOtherSkill(SkillID.betterCriticals, 2)
}, position++));
initializeSkill(new SkillInfo(SkillID.crit2, 1, SkillInfo.LevelUpType.alwaysShown, SkillCategory.criticals, new SkillLevelRequirement[] {
SkillLevelRequirement.requireOtherSkill(SkillID.moreCriticals, 6)
,SkillLevelRequirement.requireOtherSkill(SkillID.betterCriticals, 6)
SkillLevelRequirement.requireOtherSkill(SkillID.moreCriticals, 4)
,SkillLevelRequirement.requireOtherSkill(SkillID.betterCriticals, 4)
,SkillLevelRequirement.requireOtherSkill(SkillID.crit1, 1)
}, position++));
initializeSkill(new SkillInfo(SkillID.rejuvenation, 1, SkillInfo.LevelUpType.alwaysShown, SkillCategory.immunity, new SkillLevelRequirement[] {

View File

@@ -35,7 +35,9 @@ public class Actor {
public int blockChance;
public int damageResistance;
public ItemTraits_OnUse[] onHitEffects;
public ItemTraits_OnUse[] onMissEffects;
public ItemTraits_OnHitReceived[] onHitReceivedEffects;
public ItemTraits_OnHitReceived[] onMissReceivedEffects;
public ItemTraits_OnUse onDeathEffects;
public boolean hasVFXRunning = false;
public long vfxStartTime = 0;
@@ -69,8 +71,12 @@ public class Actor {
public int getDamageResistance() { return damageResistance; }
public ItemTraits_OnUse[] getOnHitEffects() { return onHitEffects; }
public List<ItemTraits_OnUse> getOnHitEffectsAsList() { return onHitEffects == null ? null : Arrays.asList(onHitEffects); }
public ItemTraits_OnUse[] getOnMissEffects() { return onMissEffects; }
public List<ItemTraits_OnUse> getOnMissEffectsAsList() { return onMissEffects == null ? null : Arrays.asList(onMissEffects); }
public ItemTraits_OnHitReceived[] getOnHitReceivedEffects() { return onHitReceivedEffects; }
public List<ItemTraits_OnHitReceived> getOnHitReceivedEffectsAsList() { return onHitReceivedEffects == null ? null : Arrays.asList(onHitReceivedEffects); }
public ItemTraits_OnHitReceived[] getOnMissReceivedEffects() { return onMissReceivedEffects; }
public List<ItemTraits_OnHitReceived> getOnMissReceivedEffectsAsList() { return onMissReceivedEffects == null ? null : Arrays.asList(onMissReceivedEffects); }
public ItemTraits_OnUse getOnDeathEffects() { return onDeathEffects; }
public boolean hasCriticalSkillEffect() { return getCriticalSkill() != 0; }

View File

@@ -6,6 +6,7 @@ import java.io.IOException;
import com.gpl.rpg.AndorsTrail.context.WorldContext;
import com.gpl.rpg.AndorsTrail.controller.Constants;
import com.gpl.rpg.AndorsTrail.model.ChecksumBuilder;
import com.gpl.rpg.AndorsTrail.model.ability.ActorCondition;
import com.gpl.rpg.AndorsTrail.model.ability.SkillCollection;
import com.gpl.rpg.AndorsTrail.model.item.DropList;
@@ -29,11 +30,14 @@ public final class Monster extends Actor {
public final MonsterType monsterType;
public final MonsterSpawnArea area;
public final boolean isFlippedX;
public Monster(MonsterType monsterType, MonsterSpawnArea area) {
super(monsterType.tileSize, false, monsterType.isImmuneToCriticalHits());
this.monsterType = monsterType;
this.area = area;
this.iconID = monsterType.iconID;
this.isFlippedX = Constants.roll100(monsterType.horizontalFlipChance);
this.nextPosition = new CoordRect(new Coord(), monsterType.tileSize);
resetStatsToBaseTraits();
this.ap.setMax();
@@ -193,4 +197,43 @@ public final class Monster extends Actor {
dest.writeBoolean(false);
}
}
public void addToChecksum(ChecksumBuilder builder) {
builder.add(getMonsterTypeID());
if (attackCost == monsterType.attackCost
&& attackChance == monsterType.attackChance
&& criticalSkill == monsterType.criticalSkill
&& criticalMultiplier == monsterType.criticalMultiplier
&& damagePotential.equals(monsterType.damagePotential)
&& blockChance == monsterType.blockChance
&& damageResistance == monsterType.damageResistance
) {
builder.add(false);
} else {
builder.add(true);
builder.add(attackCost);
builder.add(attackChance);
builder.add(criticalSkill);
builder.add(criticalMultiplier);
damagePotential.addToChecksum(builder);
builder.add(blockChance);
builder.add(damageResistance);
}
ap.addToChecksum(builder);
health.addToChecksum(builder);
position.addToChecksum(builder);
builder.add(conditions.size());
for (ActorCondition c : conditions) {
c.addToChecksum(builder);
}
builder.add(moveCost);
builder.add(forceAggressive);
if (shopItems != null) {
builder.add(true);
shopItems.addToChecksum(builder);
} else {
builder.add(false);
}
}
}

View File

@@ -37,6 +37,7 @@ public final class MonsterType {
public final Size tileSize;
public final int iconID;
public final int horizontalFlipChance;
public final int maxAP;
public final int maxHP;
public final int moveCost;
@@ -64,6 +65,7 @@ public final class MonsterType {
, AggressionType aggressionType
, Size tileSize
, int iconID
, int horizontalFlipChance
, int maxAP
, int maxHP
, int moveCost
@@ -90,6 +92,7 @@ public final class MonsterType {
this.aggressionType = aggressionType;
this.tileSize = tileSize;
this.iconID = iconID;
this.horizontalFlipChance = horizontalFlipChance;
this.maxAP = maxAP;
this.maxHP = maxHP;
this.moveCost = moveCost;

View File

@@ -19,6 +19,7 @@ import com.gpl.rpg.AndorsTrail.AndorsTrailApplication;
import com.gpl.rpg.AndorsTrail.context.ControllerContext;
import com.gpl.rpg.AndorsTrail.context.WorldContext;
import com.gpl.rpg.AndorsTrail.controller.Constants;
import com.gpl.rpg.AndorsTrail.model.ChecksumBuilder;
import com.gpl.rpg.AndorsTrail.model.ability.ActorCondition;
import com.gpl.rpg.AndorsTrail.model.ability.SkillCollection;
import com.gpl.rpg.AndorsTrail.model.item.DropListCollection;
@@ -111,7 +112,7 @@ public final class Player extends Actor {
baseTraits.criticalSkill = 0;
baseTraits.criticalMultiplier = 1;
baseTraits.damagePotential.set(1, 1);
baseTraits.blockChance = 0;
baseTraits.blockChance = 9;
baseTraits.damageResistance = 0;
baseTraits.useItemCost = 5;
baseTraits.reequipCost = 5;
@@ -475,5 +476,62 @@ public final class Player extends Actor {
dest.writeUTF(id);
dest.writeLong(savedVersion);
}
public void addToChecksum(ChecksumBuilder builder) {
//builder.add(baseTraits.iconID);// Do not add to checksum so that it can be changed without invalidating checksums
builder.add(baseTraits.maxAP);
builder.add(baseTraits.maxHP);
//builder.add(name);// Do not add to checksum so that it can be changed without invalidating checksums
builder.add(moveCost); // TODO: Should we really write this?
builder.add(baseTraits.attackCost);
builder.add(baseTraits.attackChance);
builder.add(baseTraits.criticalSkill);
builder.add(baseTraits.criticalMultiplier);
baseTraits.damagePotential.addToChecksum(builder);
builder.add(baseTraits.blockChance);
builder.add(baseTraits.damageResistance);
builder.add(baseTraits.moveCost);
ap.addToChecksum(builder);
health.addToChecksum(builder);
position.addToChecksum(builder);
builder.add(conditions.size());
for (ActorCondition c : conditions) {
c.addToChecksum(builder);
}
builder.add(immunities.size());
for (ActorCondition c : immunities) {
c.addToChecksum(builder);
}
lastPosition.addToChecksum(builder);
nextPosition.addToChecksum(builder);
builder.add(level);
builder.add(totalExperience);
inventory.addToChecksum(builder);
builder.add(baseTraits.useItemCost);
builder.add(baseTraits.reequipCost);
builder.add(skillLevels.size());
for (int i = 0; i < skillLevels.size(); ++i) {
builder.add(skillLevels.keyAt(i));
builder.add(skillLevels.valueAt(i));
}
builder.add(spawnMap);
builder.add(spawnPlace);
builder.add(questProgress.size());
for(Entry<String, LinkedHashSet<Integer> > e : questProgress.entrySet()) {
builder.add(e.getKey());
builder.add(e.getValue().size());
for(int progress : e.getValue()) {
builder.add(progress);
}
}
builder.add(availableSkillIncreases);
builder.add(alignments.size());
for(Entry<String, Integer> e : alignments.entrySet()) {
builder.add(e.getKey());
builder.add(e.getValue());
}
builder.add(id);
builder.add(savedVersion);
}
}

View File

@@ -5,6 +5,7 @@ import java.io.DataOutputStream;
import java.io.IOException;
import com.gpl.rpg.AndorsTrail.context.WorldContext;
import com.gpl.rpg.AndorsTrail.model.ChecksumBuilder;
import com.gpl.rpg.AndorsTrail.savegames.LegacySavegameFormatReaderForItemContainer;
public final class Inventory extends ItemContainer {
@@ -208,4 +209,21 @@ public final class Inventory extends ItemContainer {
}
}
}
public void addToChecksum(ChecksumBuilder builder) {
super.addToChecksum(builder);
builder.add(gold);
builder.add(NUM_WORN_SLOTS);
for(int i = 0; i < NUM_WORN_SLOTS; ++i) {
if (wear[i] != null) {
builder.add(wear[i].id);
}
}
builder.add(NUM_QUICK_SLOTS);
for(int i = 0; i < NUM_QUICK_SLOTS; ++i) {
if (quickitem[i] != null) {
builder.add(quickitem[i].id);
}
}
}
}

View File

@@ -8,6 +8,7 @@ import java.util.Collections;
import java.util.Comparator;
import com.gpl.rpg.AndorsTrail.context.WorldContext;
import com.gpl.rpg.AndorsTrail.model.ChecksumBuilder;
import com.gpl.rpg.AndorsTrail.model.actor.Player;
public class ItemContainer {
@@ -42,6 +43,10 @@ public class ItemContainer {
dest.writeUTF(itemType.id);
dest.writeInt(quantity);
}
public void addToChecksum(ChecksumBuilder builder) {
builder.add(itemType.id);
builder.add(quantity);
}
}
public void addItem(ItemType itemType, int quantity) {
@@ -280,4 +285,10 @@ public class ItemContainer {
e.writeToParcel(dest);
}
}
public void addToChecksum(ChecksumBuilder builder) {
builder.add(items.size());
for (ItemEntry e : items) {
e.addToChecksum(builder);
}
}
}

View File

@@ -33,8 +33,10 @@ public final class ItemType {
public final ItemTraits_OnEquip effects_equip;
public final ItemTraits_OnUse effects_use;
public final ItemTraits_OnUse effects_hit;
public final ItemTraits_OnUse effects_miss;
public final ItemTraits_OnUse effects_kill;
public final ItemTraits_OnHitReceived effects_hitReceived;
public final ItemTraits_OnHitReceived effects_missReceived;
public ItemType(
String id
@@ -48,8 +50,10 @@ public final class ItemType {
, ItemTraits_OnEquip effects_equip
, ItemTraits_OnUse effects_use
, ItemTraits_OnUse effects_hit
, ItemTraits_OnUse effects_miss
, ItemTraits_OnUse effects_kill
, ItemTraits_OnHitReceived effects_hitReceived
, ItemTraits_OnHitReceived effects_missReceived
) {
this.id = id;
this.iconID = iconID;
@@ -63,8 +67,10 @@ public final class ItemType {
this.effects_equip = effects_equip;
this.effects_use = effects_use;
this.effects_hit = effects_hit;
this.effects_miss = effects_miss;
this.effects_kill = effects_kill;
this.effects_hitReceived = effects_hitReceived;
this.effects_missReceived = effects_missReceived;
this.hasPersonalizedName = name.contains(Constants.PLACEHOLDER_PLAYERNAME);
}

View File

@@ -5,6 +5,7 @@ import java.io.DataOutputStream;
import java.io.IOException;
import com.gpl.rpg.AndorsTrail.context.WorldContext;
import com.gpl.rpg.AndorsTrail.model.ChecksumBuilder;
import com.gpl.rpg.AndorsTrail.savegames.LegacySavegameFormatReaderForItemContainer;
import com.gpl.rpg.AndorsTrail.util.Coord;
@@ -88,4 +89,12 @@ public final class Loot {
position.writeToParcel(dest);
dest.writeBoolean(isVisible);
}
public void addToChecksum(ChecksumBuilder builder) {
builder.add(exp);
builder.add(gold);
items.addToChecksum(builder);
position.addToChecksum(builder);
builder.add(isVisible);
}
}

View File

@@ -11,6 +11,7 @@ import java.util.List;
import com.gpl.rpg.AndorsTrail.AndorsTrailApplication;
import com.gpl.rpg.AndorsTrail.context.ControllerContext;
import com.gpl.rpg.AndorsTrail.context.WorldContext;
import com.gpl.rpg.AndorsTrail.model.ChecksumBuilder;
import com.gpl.rpg.AndorsTrail.savegames.LegacySavegameFormatReaderForMap;
import com.gpl.rpg.AndorsTrail.util.L;
@@ -99,4 +100,16 @@ public final class MapCollection {
map.writeToParcel(dest, world);
}
}
public void addToChecksum(ChecksumBuilder checksumBuilder, WorldContext world) {
List<PredefinedMap> mapsToExport = new ArrayList<PredefinedMap>();
for(PredefinedMap map : getAllMaps()) {
if (shouldSaveMap(world, map)) mapsToExport.add(map);
}
checksumBuilder.add(mapsToExport.size());
for(PredefinedMap map : mapsToExport) {
checksumBuilder.add(map.name);
map.addToChecksum(checksumBuilder, world);
}
}
}

View File

@@ -8,6 +8,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
import com.gpl.rpg.AndorsTrail.context.WorldContext;
import com.gpl.rpg.AndorsTrail.controller.Constants;
import com.gpl.rpg.AndorsTrail.model.ChecksumBuilder;
import com.gpl.rpg.AndorsTrail.model.actor.Monster;
import com.gpl.rpg.AndorsTrail.model.actor.MonsterType;
import com.gpl.rpg.AndorsTrail.util.Coord;
@@ -17,7 +18,7 @@ import com.gpl.rpg.AndorsTrail.util.Range;
public final class MonsterSpawnArea {
public final CoordRect area;
public final Range quantity;
private final Range spawnChance;
private final Range respawnspeed;
public final String areaID;
public final String[] monsterTypeIDs;
public final List<Monster> monsters = new CopyOnWriteArrayList<Monster>();
@@ -30,7 +31,7 @@ public final class MonsterSpawnArea {
public MonsterSpawnArea(
CoordRect area
, Range quantity
, Range spawnChance
, Range respawnspeed
, String areaID
, String[] monsterTypeIDs
, boolean isUnique
@@ -40,7 +41,7 @@ public final class MonsterSpawnArea {
) {
this.area = area;
this.quantity = quantity;
this.spawnChance = spawnChance;
this.respawnspeed = respawnspeed;
this.areaID = areaID;
this.monsterTypeIDs = monsterTypeIDs;
this.isUnique = isUnique;
@@ -101,7 +102,7 @@ public final class MonsterSpawnArea {
}
public boolean rollShouldSpawn() {
return Constants.rollResult(spawnChance);
return Constants.rollResult(respawnspeed);
}
public void removeAllMonsters() {
@@ -140,4 +141,12 @@ public final class MonsterSpawnArea {
m.writeToParcel(dest);
}
}
public void addToChecksum(ChecksumBuilder builder) {
builder.add(isSpawning);
builder.add(monsters.size());
for (Monster m : monsters) {
m.addToChecksum(builder);
}
}
}

View File

@@ -12,6 +12,7 @@ import com.gpl.rpg.AndorsTrail.context.ControllerContext;
import com.gpl.rpg.AndorsTrail.context.WorldContext;
import com.gpl.rpg.AndorsTrail.controller.Constants;
import com.gpl.rpg.AndorsTrail.controller.VisualEffectController.BloodSplatter;
import com.gpl.rpg.AndorsTrail.model.ChecksumBuilder;
import com.gpl.rpg.AndorsTrail.model.actor.Monster;
import com.gpl.rpg.AndorsTrail.model.item.ItemType;
import com.gpl.rpg.AndorsTrail.model.item.Loot;
@@ -398,4 +399,30 @@ public final class PredefinedMap {
dest.writeBoolean(visited);
dest.writeUTF(lastSeenLayoutHash);
}
public void addToChecksum(ChecksumBuilder builder, WorldContext world) {
if (shouldSaveMapData(world)) {
builder.add(true);
builder.add(spawnAreas.length);
for(MonsterSpawnArea a : spawnAreas) {
builder.add(a.areaID);
a.addToChecksum(builder);
}
builder.add(activeMapObjectGroups.size());
for(String s : activeMapObjectGroups) {
builder.add(s);
}
builder.add(groundBags.size());
for(Loot l : groundBags) {
l.addToChecksum(builder);
}
builder.add(currentColorFilter != null);
if (currentColorFilter != null) builder.add(currentColorFilter);
builder.add(lastVisitTime);
} else {
builder.add(false);
}
builder.add(visited);
builder.add(lastSeenLayoutHash);
}
}

View File

@@ -115,7 +115,7 @@ public final class TMXMapTranslator {
boolean isActiveForNewGame = true;
boolean ignoreAreas = false;
int maxQuantity = 1;
int spawnChance = 10;
int respawnspeed = 10;
String spawnGroup = object.name;
for (TMXProperty p : object.properties) {
if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) {
@@ -126,8 +126,8 @@ public final class TMXMapTranslator {
}
if (p.name.equalsIgnoreCase("quantity")) {
maxQuantity = Integer.parseInt(p.value);
} else if (p.name.equalsIgnoreCase("spawnchance")) {
spawnChance = Integer.parseInt(p.value);
} else if (p.name.equalsIgnoreCase("respawnspeed")) {
respawnspeed = Integer.parseInt(p.value);
} else if (p.name.equalsIgnoreCase("active")) {
isActiveForNewGame = Boolean.parseBoolean(p.value);
} else if (p.name.equalsIgnoreCase("ignoreAreas")) {
@@ -155,7 +155,7 @@ public final class TMXMapTranslator {
MonsterSpawnArea area = new MonsterSpawnArea(
position
,new Range(maxQuantity, 0)
,new Range(1000, spawnChance)
,new Range(1000, respawnspeed)
,object.name
,monsterTypeIDs
,isUnique
@@ -405,6 +405,11 @@ public final class TMXMapTranslator {
int tileID = tileCache.getTileID(tile.tilesetName, tile.localId);
result.tiles[dx][dy] = tileID;
usedTileIDs.add(tileID);
if(AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA){
if(tileID == 0){
L.log("Tileid 0 in "+ tile.tilesetName);
}
}
}
}
return result;

View File

@@ -21,6 +21,11 @@ public final class Requirement {
,random
,factionScoreEquals
,wearRemove
,date
,dateEquals
,time
,timeEquals
,skillIncrease // Check if possible to increase
}
public final RequirementType requireType;
@@ -81,8 +86,13 @@ public final class Requirement {
case questProgress:
return requireID != null && value >= 0;
case skillLevel:
case skillIncrease:
return requireID != null && value >= 0;
case spentGold:
case date:
case dateEquals:
case time:
case timeEquals:
return value >= 0;
case random:
return chance != null;

View File

@@ -9,6 +9,12 @@ public final class ScriptEffect {
, actorConditionImmunity
, alignmentChange
, alignmentSet
, alignmentToReg1
, alignmentFromReg1
, alignmentAdd
, alignmentSub
, alignmentMult
, alignmentDiv
, giveItem
, createTimer
, spawnAll
@@ -18,6 +24,7 @@ public final class ScriptEffect {
, deactivateMapObjectGroup
, removeQuestProgress
, changeMapFilter
, mapchange
}
public final ScriptEffectType type;

View File

@@ -137,7 +137,8 @@ public final class ResourceLoader {
final ItemTypeParser itemTypeParser = new ItemTypeParser(loader, world.actorConditionsTypes, world.itemCategories, translationLoader);
final TypedArray itemsToLoad = r.obtainTypedArray(itemsResourceId);
for (int i = 0; i < itemsToLoad.length(); ++i) {
world.itemTypes.initialize(itemTypeParser, readStringFromRaw(r, itemsToLoad, i));
String s = readStringFromRaw(r, itemsToLoad, i);
world.itemTypes.initialize(itemTypeParser, s);
}
itemsToLoad.recycle();
if (AndorsTrailApplication.DEVELOPMENT_DEBUGMESSAGES) timingCheckpoint("ItemTypeParser");
@@ -250,14 +251,21 @@ public final class ResourceLoader {
private static void prepareTilesets(DynamicTileLoader loader, int mTileSize) {
final Size sz1x1 = new Size(1, 1);
final Size sz1x2 = new Size(1, 2);
final Size sz2x1 = new Size(2, 1);
final Size sz2x2 = new Size(2, 2);
final Size sz2x3 = new Size(2, 3);
final Size sz3x1 = new Size(3, 1);
final Size sz4x1 = new Size(4, 1);
final Size sz5x1 = new Size(5, 1);
final Size sz6x1 = new Size(6, 1);
final Size sz7x1 = new Size(7, 1);
final Size sz7x4 = new Size(7, 4);
final Size sz8x3 = new Size(8, 3);
final Size sz8x4 = new Size(8, 4);
final Size sz10x2 = new Size(10, 2);
final Size sz16x8 = new Size(16, 8);
final Size sz16x10 = new Size(16, 10);
final Size sz20x12 = new Size(20, 12);
final Size mapTileSize = new Size(16, 8);
final Size sz8x8 = new Size(8, 8);
@@ -277,6 +285,7 @@ public final class ResourceLoader {
loader.prepareTileset(R.drawable.actorconditions_1, "actorconditions_1", new Size(14, 8), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.actorconditions_2, "actorconditions_2", sz3x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.actorconditions_japozero, "actorconditions_japozero", new Size(16, 4), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.actorconditions_newb, "actorconditions_newb", new Size(20, 1), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.actorconditions_omi1, "actorconditions_omi1", sz2x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.actorconditions_omi2, "actorconditions_omi2", sz5x1, sz1x1, mTileSize);
/*INSERT_ACTORCONDITIONS_TILESETS_HERE*/
@@ -299,33 +308,38 @@ public final class ResourceLoader {
loader.prepareTileset(R.drawable.items_necklaces_1, "items_necklaces_1", new Size(10, 3), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_weapons_2, "items_weapons_2", new Size(7, 1), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_weapons_3, "items_weapons_3", new Size(13, 5), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_armours_2, "items_armours_2", sz7x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_armours_3, "items_armours_3", new Size(10, 4), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_rings_1, "items_rings_1", new Size(10, 3), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_japozero, "items_japozero", new Size(16, 37), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_rijackson_1, "items_rijackson_1", new Size(5, 4), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_g03_package_omi1, "items_g03_package_omi1", sz1x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_consumables_omi1, "items_consumables_omi1", sz1x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_feygard1, "items_feygard1", new Size(6, 2), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_g03_package_omi1, "items_g03_package_omi1", sz1x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_japozero, "items_japozero", new Size(16, 37), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_newb, "items_newb", new Size(32, 27), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_omi2, "items_omi2", new Size(6, 5), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_omgeeky, "items_omgeeky", new Size(10, 3), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_phoenix01, "items_phoenix01", sz16x8, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_rijackson_1, "items_rijackson_1", new Size(5, 4), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_rings_1, "items_rings_1", new Size(10, 3), sz1x1, mTileSize);
/*INSERT_ITEMS_TILESETS_HERE*/
loader.prepareTileset(R.drawable.monsters_armor1, "monsters_armor1", sz1x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_cyclops, "monsters_cyclops", sz1x1, sz2x3, mTileSize);
loader.prepareTileset(R.drawable.monsters_demon1, "monsters_demon1", sz1x1, sz2x2, mTileSize);
loader.prepareTileset(R.drawable.monsters_demon2, "monsters_demon2", sz1x1, sz2x2, mTileSize);
loader.prepareTileset(R.drawable.monsters_dogs, "monsters_dogs", sz7x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_dogs, "monsters_dogs", sz7x4, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_eye1, "monsters_eye1", sz1x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_eye2, "monsters_eye2", sz1x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_eye3, "monsters_eye3", sz1x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_eye4, "monsters_eye4", sz1x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_ghost1, "monsters_ghost1", sz1x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_hydra1, "monsters_hydra1", sz1x1, sz2x2, mTileSize);
loader.prepareTileset(R.drawable.monsters_insects, "monsters_insects", sz6x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_insects, "monsters_insects", sz16x8, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_johny, "monsters_johny", sz20x12, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_karvis1, "monsters_karvis1", sz2x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_karvis2, "monsters_karvis2", new Size(9, 1), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_ld1, "monsters_ld1", new Size(20, 12), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_ld2, "monsters_ld2", new Size(20, 12), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_ld1, "monsters_ld1", sz20x12, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_ld2, "monsters_ld2", sz20x12, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_liches, "monsters_liches", new Size(4, 1), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_mage, "monsters_mage", sz1x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_mage2, "monsters_mage2", sz1x1, sz1x1, mTileSize);
@@ -333,6 +347,10 @@ public final class ResourceLoader {
loader.prepareTileset(R.drawable.monsters_men, "monsters_men", new Size(9, 1), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_men2, "monsters_men2", new Size(10, 1), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_misc, "monsters_misc", new Size(13, 1), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_newb_1, "monsters_newb_1", new Size(40, 34), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_newb_2, "monsters_newb_2", new Size(8, 2), sz1x2, mTileSize);
loader.prepareTileset(R.drawable.monsters_newb_3, "monsters_newb_3", new Size(10, 10), sz2x2, mTileSize);
loader.prepareTileset(R.drawable.monsters_newb_4, "monsters_newb_4", new Size(4, 1), sz2x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_rats, "monsters_rats", new Size(5, 1), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_redshrike1, "monsters_redshrike1", sz7x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_rltiles1, "monsters_rltiles1", new Size(20, 8), sz1x1, mTileSize);
@@ -362,22 +380,30 @@ public final class ResourceLoader {
loader.prepareTileset(R.drawable.monsters_omi1_b, "monsters_omi1_b", sz1x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_unknown, "monsters_unknown", sz1x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_arulirs, "monsters_arulirs", new Size(8, 2), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_fatboy73, "monsters_fatboy73", new Size(20, 12), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_fatboy73, "monsters_fatboy73", sz20x12, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_giantbasilisk, "monsters_giantbasilisk", sz1x1, sz2x2, mTileSize);
loader.prepareTileset(R.drawable.monsters_gisons, "monsters_gisons", new Size(8, 2), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_bosses_2x2, "monsters_bosses_2x2", sz1x1, sz2x2, mTileSize);
loader.prepareTileset(R.drawable.monsters_bosses_2x2, "monsters_bosses_2x2", sz8x4, sz2x2, mTileSize);
loader.prepareTileset(R.drawable.monsters_omi2, "monsters_omi2", sz8x3, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_phoenix01, "monsters_phoenix01", sz16x8, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_cats, "monsters_cats", new Size(10, 2), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_1x2, "monsters_1x2", new Size(10, 5), sz1x2, mTileSize);
loader.prepareTileset(R.drawable.monsters_antison, "monsters_antison", sz10x2, sz1x1, mTileSize);
/*INSERT_NPCS_TILESETS_HERE*/
loader.prepareTileset(R.drawable.map_bed_1, "map_bed_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_bed_1, "map_bed_1", sz16x10, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_boats_1, "map_boats_1", new Size(16, 9), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_border_1, "map_border_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_bridge_1, "map_bridge_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_bridge_2, "map_bridge_2", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_brightport, "map_brightport", new Size(16, 7), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_broken_1, "map_broken_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_cavewall_1, "map_cavewall_1", new Size(18, 6), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_cavewall_2, "map_cavewall_2", new Size(18, 6), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_cavewall_3, "map_cavewall_3", new Size(18, 6), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_cavewall_4, "map_cavewall_4", new Size(18, 6), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_cavewall_5, "map_cavewall_5", new Size(6, 6), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_cavewall_6, "map_cavewall_6", new Size(18, 6), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_chair_table_1, "map_chair_table_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_chair_table_2, "map_chair_table_2", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_crate_1, "map_crate_1", mapTileSize, sz1x1, mTileSize);
@@ -385,6 +411,7 @@ public final class ResourceLoader {
loader.prepareTileset(R.drawable.map_curtain_1, "map_curtain_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_entrance_1, "map_entrance_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_entrance_2, "map_entrance_2", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_entrance_3, "map_entrance_3", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_fence_1, "map_fence_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_fence_2, "map_fence_2", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_fence_3, "map_fence_3", mapTileSize, sz1x1, mTileSize);
@@ -397,44 +424,59 @@ public final class ResourceLoader {
loader.prepareTileset(R.drawable.map_ground_6, "map_ground_6", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_ground_7, "map_ground_7", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_ground_8, "map_ground_8", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_ground_9, "map_ground_9", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_ground_10, "map_ground_10", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_guynmart, "map_guynmart", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_house_1, "map_house_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_house_2, "map_house_2", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_indoor_1, "map_indoor_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_indoor_2, "map_indoor_2", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_items, "map_items", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_kitchen_1, "map_kitchen_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_outdoor_1, "map_outdoor_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_outdoor_2, "map_outdoor_2", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_pillar_1, "map_pillar_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_pillar_2, "map_pillar_2", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_pillar_3, "map_pillar_3", new Size(16, 10), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_plant_1, "map_plant_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_plant_2, "map_plant_2", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_plant_3, "map_plant_3", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_plateau, "map_plateau", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_plateau_2, "map_plateau_2", new Size(8, 8), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_ratdom, "map_ratdom", new Size(18, 6), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_rock_1, "map_rock_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_rock_2, "map_rock_2", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_rock_3, "map_rock_3", new Size(6, 5), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_roof_1, "map_roof_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_roof_2, "map_roof_2", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_roof_3, "map_roof_3", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_roof_4, "map_roof_4", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_roof_5, "map_roof_5", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_shop_1, "map_shop_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_sign_ladder_1, "map_sign_ladder_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_sign_ladder_omi2, "map_sign_ladder_omi2", new Size(8, 4), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_table_1, "map_table_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_table_2, "map_table_2", new Size(14, 8), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_table_3, "map_table_3", new Size(12, 10), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_temple_1, "map_temple_1", new Size(23, 16), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_trail_1, "map_trail_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_transition_1, "map_transition_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_transition_2, "map_transition_2", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_transition_3, "map_transition_3", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_transition_4, "map_transition_4", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_transition_5, "map_transition_5", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_transition_6, "map_transition_6", new Size(18, 8), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_tree_1, "map_tree_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_tree_2, "map_tree_2", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_tree_3, "map_tree_3", new Size(32, 17), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_tree_4, "map_tree_4", new Size(16, 8), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_wall_1, "map_wall_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_wall_2, "map_wall_2", new Size(15, 8), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_wall_3, "map_wall_3", new Size(15, 8), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_wall_4, "map_wall_4", new Size(15, 8), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_window_1, "map_window_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_window_2, "map_window_2", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_guynmart, "map_guynmart", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_cavewall_5, "map_cavewall_5", new Size(6, 6), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_rock_3, "map_rock_3", new Size(6, 5), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_sign_ladder_omi2, "map_sign_ladder_omi2", new Size(8, 4), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_transition_6, "map_transition_6", new Size(18, 8), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_items_japozero, "map_items_japozero", new Size(16, 37), sz1x1, mTileSize);
/*INSERT_MAP_TILESETS_HERE*/
loader.prepareTileset(R.drawable.effect_blood4, "effect_blood4", new Size(7, 2), sz1x1, mTileSize);

View File

@@ -8,7 +8,7 @@ import com.gpl.rpg.AndorsTrail.resource.DynamicTileLoader;
import com.gpl.rpg.AndorsTrail.resource.TranslationLoader;
import com.gpl.rpg.AndorsTrail.resource.parsers.json.JsonCollectionParserFor;
import com.gpl.rpg.AndorsTrail.resource.parsers.json.JsonFieldNames;
import com.gpl.rpg.AndorsTrail.util.Pair;
import android.util.Pair;
public final class ActorConditionsTypeParser extends JsonCollectionParserFor<ActorConditionType> {
@@ -26,6 +26,7 @@ public final class ActorConditionsTypeParser extends JsonCollectionParserFor<Act
ActorConditionType result = new ActorConditionType(
conditionTypeID
,translationLoader.translateActorConditionName(o.getString(JsonFieldNames.ActorCondition.name))
,translationLoader.translateActorConditionName(o.optString(JsonFieldNames.ActorCondition.description))
,ResourceParserUtils.parseImageID(tileLoader, o.getString(JsonFieldNames.ActorCondition.iconID))
,ActorConditionType.ConditionCategory.valueOf(o.getString(JsonFieldNames.ActorCondition.category))
,o.optInt(JsonFieldNames.ActorCondition.isStacking) > 0

View File

@@ -13,7 +13,7 @@ import com.gpl.rpg.AndorsTrail.resource.parsers.json.JsonArrayParserFor;
import com.gpl.rpg.AndorsTrail.resource.parsers.json.JsonCollectionParserFor;
import com.gpl.rpg.AndorsTrail.resource.parsers.json.JsonFieldNames;
import com.gpl.rpg.AndorsTrail.util.L;
import com.gpl.rpg.AndorsTrail.util.Pair;
import android.util.Pair;
public final class ConversationListParser extends JsonCollectionParserFor<Phrase> {

View File

@@ -11,7 +11,7 @@ import com.gpl.rpg.AndorsTrail.resource.parsers.json.JsonArrayParserFor;
import com.gpl.rpg.AndorsTrail.resource.parsers.json.JsonCollectionParserFor;
import com.gpl.rpg.AndorsTrail.resource.parsers.json.JsonFieldNames;
import com.gpl.rpg.AndorsTrail.util.L;
import com.gpl.rpg.AndorsTrail.util.Pair;
import android.util.Pair;
public final class DropListParser extends JsonCollectionParserFor<DropList> {
@@ -39,6 +39,12 @@ public final class DropListParser extends JsonCollectionParserFor<DropList> {
if (items == null) {
L.log("OPTIMIZE: Droplist \"" + droplistID + "\" has no dropped items.");
}
for (int i = 0; i < items.length; i++) {
DropItem item = items[i];
if (item.itemType == null) {
L.log("Item at index " + i + " in droplist " + droplistID + " was null");
}
}
}
return new Pair<String, DropList>(droplistID, new DropList(items));

View File

@@ -8,7 +8,7 @@ import com.gpl.rpg.AndorsTrail.model.item.ItemCategory;
import com.gpl.rpg.AndorsTrail.resource.TranslationLoader;
import com.gpl.rpg.AndorsTrail.resource.parsers.json.JsonCollectionParserFor;
import com.gpl.rpg.AndorsTrail.resource.parsers.json.JsonFieldNames;
import com.gpl.rpg.AndorsTrail.util.Pair;
import android.util.Pair;
public final class ItemCategoryParser extends JsonCollectionParserFor<ItemCategory> {

View File

@@ -13,7 +13,7 @@ import com.gpl.rpg.AndorsTrail.resource.DynamicTileLoader;
import com.gpl.rpg.AndorsTrail.resource.TranslationLoader;
import com.gpl.rpg.AndorsTrail.resource.parsers.json.JsonCollectionParserFor;
import com.gpl.rpg.AndorsTrail.resource.parsers.json.JsonFieldNames;
import com.gpl.rpg.AndorsTrail.util.Pair;
import android.util.Pair;
public final class ItemTypeParser extends JsonCollectionParserFor<ItemType> {
@@ -41,9 +41,11 @@ public final class ItemTypeParser extends JsonCollectionParserFor<ItemType> {
final ItemTraits_OnEquip equipEffect = itemTraitsParser.parseItemTraits_OnEquip(o.optJSONObject(JsonFieldNames.ItemType.equipEffect));
final ItemTraits_OnUse useEffect = itemTraitsParser.parseItemTraits_OnUse(o.optJSONObject(JsonFieldNames.ItemType.useEffect));
final ItemTraits_OnUse hitEffect = itemTraitsParser.parseItemTraits_OnUse(o.optJSONObject(JsonFieldNames.ItemType.hitEffect));
final ItemTraits_OnUse missEffect = itemTraitsParser.parseItemTraits_OnUse(o.optJSONObject(JsonFieldNames.ItemType.missEffect));
final ItemTraits_OnUse killEffect = itemTraitsParser.parseItemTraits_OnUse(o.optJSONObject(JsonFieldNames.ItemType.killEffect));
final ItemTraits_OnHitReceived hitReceivedEffect = itemTraitsParser.parseItemTraits_OnHitReceived(o.optJSONObject(JsonFieldNames.ItemType.hitReceivedEffect));
final ItemTraits_OnHitReceived missReceivedEffect = itemTraitsParser.parseItemTraits_OnHitReceived(o.optJSONObject(JsonFieldNames.ItemType.missReceivedEffect));
final int baseMarketCost = o.optInt(JsonFieldNames.ItemType.baseMarketCost);
final boolean hasManualPrice = o.optInt(JsonFieldNames.ItemType.hasManualPrice, 0) > 0;
final ItemType itemType = new ItemType(
@@ -51,15 +53,17 @@ public final class ItemTypeParser extends JsonCollectionParserFor<ItemType> {
, ResourceParserUtils.parseImageID(tileLoader, o.getString(JsonFieldNames.ItemType.iconID))
, itemTypeName
, description
, itemCategories.getItemCategory(o.getString(JsonFieldNames.ItemType.category))
, itemCategories.getItemCategory(o.optString(JsonFieldNames.ItemType.category, "other"))
, ItemType.DisplayType.fromString(o.optString(JsonFieldNames.ItemType.displaytype, null), ItemType.DisplayType.ordinary)
, hasManualPrice
, baseMarketCost
, equipEffect
, useEffect
, hitEffect
, missEffect
, killEffect
, hitReceivedEffect
, missReceivedEffect
);
return new Pair<String, ItemType>(id, itemType);
}

View File

@@ -14,7 +14,7 @@ import com.gpl.rpg.AndorsTrail.resource.TranslationLoader;
import com.gpl.rpg.AndorsTrail.resource.parsers.json.JsonCollectionParserFor;
import com.gpl.rpg.AndorsTrail.resource.parsers.json.JsonFieldNames;
import com.gpl.rpg.AndorsTrail.util.ConstRange;
import com.gpl.rpg.AndorsTrail.util.Pair;
import android.util.Pair;
import com.gpl.rpg.AndorsTrail.util.Size;
public final class MonsterTypeParser extends JsonCollectionParserFor<MonsterType> {
@@ -55,6 +55,8 @@ public final class MonsterTypeParser extends JsonCollectionParserFor<MonsterType
final int exp = getExpectedMonsterExperience(attackCost, attackChance, damagePotential, criticalSkill, criticalMultiplier, blockChance, damageResistance, hitEffect, maxHP, maxAP);
final int horizontalFlipChance = o.optInt(JsonFieldNames.Monster.horizontalFlipChance, 0);
return new Pair<String, MonsterType>(monsterTypeID, new MonsterType(
monsterTypeID
, translationLoader.translateMonsterTypeName(o.getString(JsonFieldNames.Monster.name))
@@ -68,6 +70,7 @@ public final class MonsterTypeParser extends JsonCollectionParserFor<MonsterType
, MonsterType.AggressionType.fromString(o.optString(JsonFieldNames.Monster.movementAggressionType, null), MonsterType.AggressionType.none)
, ResourceParserUtils.parseTilesetTileSize(tileLoader, o.optString(JsonFieldNames.Monster.iconID, null), size1x1)
, ResourceParserUtils.parseImageID(tileLoader, o.getString(JsonFieldNames.Monster.iconID))
, horizontalFlipChance
, maxAP
, maxHP
, o.optInt(JsonFieldNames.Monster.moveCost, 10)

View File

@@ -12,7 +12,7 @@ import com.gpl.rpg.AndorsTrail.resource.TranslationLoader;
import com.gpl.rpg.AndorsTrail.resource.parsers.json.JsonArrayParserFor;
import com.gpl.rpg.AndorsTrail.resource.parsers.json.JsonCollectionParserFor;
import com.gpl.rpg.AndorsTrail.resource.parsers.json.JsonFieldNames;
import com.gpl.rpg.AndorsTrail.util.Pair;
import android.util.Pair;
public final class QuestParser extends JsonCollectionParserFor<Quest> {
private final TranslationLoader translationLoader;

View File

@@ -8,6 +8,7 @@ import org.xmlpull.v1.XmlPullParserException;
import android.content.res.Resources;
import android.content.res.XmlResourceParser;
import com.gpl.rpg.AndorsTrail.AndorsTrailApplication;
import com.gpl.rpg.AndorsTrail.model.map.MapCollection;
import com.gpl.rpg.AndorsTrail.model.map.WorldMapSegment;
import com.gpl.rpg.AndorsTrail.model.map.WorldMapSegment.NamedWorldMapArea;
@@ -15,7 +16,7 @@ import com.gpl.rpg.AndorsTrail.model.map.WorldMapSegment.WorldMapSegmentMap;
import com.gpl.rpg.AndorsTrail.resource.TranslationLoader;
import com.gpl.rpg.AndorsTrail.util.Coord;
import com.gpl.rpg.AndorsTrail.util.L;
import com.gpl.rpg.AndorsTrail.util.Pair;
import android.util.Pair;
import com.gpl.rpg.AndorsTrail.util.XmlResourceParserUtils;
public final class WorldMapParser {
@@ -24,11 +25,13 @@ public final class WorldMapParser {
}
private static void read(XmlResourceParser xrp, final MapCollection maps, final TranslationLoader translationLoader) {
String s = "";
if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) L.log("WorldMapParser:");
try {
int eventType;
while ((eventType = xrp.next()) != XmlResourceParser.END_DOCUMENT) {
if (eventType == XmlResourceParser.START_TAG) {
String s = xrp.getName();
s = xrp.getName();
if (s.equals("segment")) {
WorldMapSegment segment = parseSegment(xrp, maps, translationLoader);
maps.worldMapSegments.put(segment.name, segment);
@@ -37,7 +40,7 @@ public final class WorldMapParser {
}
xrp.close();
} catch (Exception e) {
L.log("Error reading worldmap: " + e.toString());
L.log("Error reading worldmap: " + s + " " + e.toString());
}
}
@@ -46,11 +49,13 @@ public final class WorldMapParser {
final WorldMapSegment segment = new WorldMapSegment(segmentName);
final ArrayList<Pair<String, String>> mapsInNamedAreas = new ArrayList<Pair<String,String>>();
if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) L.log("segment: " + segmentName);
XmlResourceParserUtils.readCurrentTagUntilEnd(xrp, new XmlResourceParserUtils.TagHandler() {
@Override
public void handleTag(XmlResourceParser xrp, String tagName) throws XmlPullParserException, IOException {
if (tagName.equals("map")) {
String mapName = xrp.getAttributeValue(null, "id");
if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) L.log(" map: " + mapName);
if (maps.findPredefinedMap(mapName) == null) return;
Coord mapPosition = new Coord(
xrp.getAttributeIntValue(null, "x", -1),
@@ -65,6 +70,7 @@ public final class WorldMapParser {
String id = xrp.getAttributeValue(null, "id");
String name = translationLoader.translateWorldmapLocation(xrp.getAttributeValue(null, "name"));
String type = xrp.getAttributeValue(null, "type");
if (AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA) L.log(" namedarea: id=" + id + " name=" + name + " type=" + type);
segment.namedAreas.put(id, new NamedWorldMapArea(id, name, type));
}
}

View File

@@ -11,7 +11,7 @@ import org.json.JSONException;
import com.gpl.rpg.AndorsTrail.AndorsTrailApplication;
import com.gpl.rpg.AndorsTrail.util.L;
import com.gpl.rpg.AndorsTrail.util.Pair;
import android.util.Pair;
public abstract class JsonCollectionParserFor<T> extends JsonParserFor<Pair<String, T>> {
public HashSet<String> parseRows(String input, HashMap<String, T> dest) {

View File

@@ -4,6 +4,7 @@ public final class JsonFieldNames {
public static final class ActorCondition {
public static final String conditionTypeID = "id";
public static final String name = "name";
public static final String description = "description";
public static final String iconID = "iconID";
public static final String category = "category";
public static final String isStacking = "isStacking";
@@ -104,6 +105,7 @@ public final class JsonFieldNames {
public static final class Monster {
public static final String monsterTypeID = "id";
public static final String iconID = "iconID";
public static final String horizontalFlipChance = "horizontalFlipChance";
public static final String name = "name";
public static final String spawnGroup = "spawnGroup";
public static final String monsterClass = "monsterClass";
@@ -166,8 +168,10 @@ public final class JsonFieldNames {
public static final String equipEffect = "equipEffect";
public static final String useEffect = "useEffect";
public static final String hitEffect = "hitEffect";
public static final String missEffect = "missEffect";
public static final String killEffect = "killEffect";
public static final String hitReceivedEffect = "hitReceivedEffect";
public static final String missReceivedEffect = "missReceivedEffect";
}

View File

@@ -12,6 +12,8 @@ import android.graphics.Bitmap;
import android.util.SparseArray;
import android.util.SparseIntArray;
import com.gpl.rpg.AndorsTrail.AndorsTrailApplication;
import com.gpl.rpg.AndorsTrail.util.L;
import com.gpl.rpg.AndorsTrail.util.LruCache;
public final class TileCache {
@@ -39,7 +41,12 @@ public final class TileCache {
tileIDsPerLocalID.put(localID, tileID);
}
public int getTileID(String tileSetName, int localID) {
return tileIDsPerTilesetAndLocalID.get(tileSetName).get(localID);
SparseIntArray sparseIntArray = tileIDsPerTilesetAndLocalID.get(tileSetName);
if(AndorsTrailApplication.DEVELOPMENT_DEBUGMESSAGES && sparseIntArray == null){
L.log("Could not get tile " + tileSetName + " " + localID);
}
return sparseIntArray.get(localID);
}
private static final class ResourceFileTile {
@@ -67,13 +74,19 @@ public final class TileCache {
HashMap<ResourceFileTileset, SparseArray<ResourceFileTile>> tilesToLoadPerSourceFile = new HashMap<ResourceFileTileset, SparseArray<ResourceFileTile>>();
for(int tileID : iconIDs) {
ResourceFileTile tile = resourceTiles[tileID];
SparseArray<ResourceFileTile> tiles = tilesToLoadPerSourceFile.get(tile.tileset);
if (tiles == null) {
tiles = new SparseArray<TileCache.ResourceFileTile>();
tilesToLoadPerSourceFile.put(tile.tileset, tiles);
if(tile == null && AndorsTrailApplication.DEVELOPMENT_DEBUGMESSAGES){
L.log("could not find resourceTiles for id: " + tileID);
L.log("iconIDs: " + iconIDs);
}
if(tile != null || AndorsTrailApplication.DEVELOPMENT_VALIDATEDATA){
SparseArray<ResourceFileTile> tiles = tilesToLoadPerSourceFile.get(tile.tileset);
if (tiles == null) {
tiles = new SparseArray<TileCache.ResourceFileTile>();
tilesToLoadPerSourceFile.put(tile.tileset, tiles);
}
tiles.put(tileID, tile);
maxTileID = Math.max(maxTileID, tileID);
}
tiles.put(tileID, tile);
maxTileID = Math.max(maxTileID, tileID);
}
boolean hasLoadedTiles = false;

View File

@@ -2,14 +2,20 @@ package com.gpl.rpg.AndorsTrail.resource.tiles;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Matrix;
import android.graphics.Paint;
import java.util.HashMap;
import java.util.Map;
public final class TileCollection {
private final Bitmap[] bitmaps;
private final Map<Integer, Bitmap> flippedBitmaps;
public final int maxTileID;
public TileCollection(int maxTileID) {
this.bitmaps = new Bitmap[maxTileID+1];
this.flippedBitmaps = new HashMap<>();
this.maxTileID = maxTileID;
}
@@ -19,9 +25,30 @@ public final class TileCollection {
public void setBitmap(int tileID, Bitmap bitmap) {
bitmaps[tileID] = bitmap;
flippedBitmaps.remove(tileID); // Remove cached flipped version if it exists
}
public void drawTile(Canvas canvas, int tile, int px, int py, Paint mPaint) {
canvas.drawBitmap(bitmaps[tile], px, py, mPaint);
drawTile(canvas, tile, px, py, mPaint, false);
}
public void drawTile(Canvas canvas, int tile, int px, int py, Paint mPaint, boolean isFlippedX) {
if (isFlippedX) {
canvas.drawBitmap(getFlippedBitmap(tile), px, py, mPaint);
} else canvas.drawBitmap(bitmaps[tile], px, py, mPaint);
}
private Bitmap getFlippedBitmap(int tile) {
if (flippedBitmaps.containsKey(tile)) {
return flippedBitmaps.get(tile);
}
Bitmap flipped = flipBitmapX(bitmaps[tile]);
flippedBitmaps.put(tile, flipped);
return flipped;
}
private static Bitmap flipBitmapX(Bitmap source) {
Matrix matrix = new Matrix();
matrix.postScale(-1, 1, source.getWidth() / 2f, source.getHeight() / 2f);
return Bitmap.createBitmap(source, 0, 0, source.getWidth(), source.getHeight(), matrix, true);
}
}

View File

@@ -18,6 +18,7 @@ import android.os.AsyncTask;
import android.widget.ImageView;
import android.widget.TextView;
import com.gpl.rpg.AndorsTrail.AndorsTrailApplication;
import com.gpl.rpg.AndorsTrail.AndorsTrailPreferences;
import com.gpl.rpg.AndorsTrail.R;
import com.gpl.rpg.AndorsTrail.context.WorldContext;
@@ -33,6 +34,7 @@ import com.gpl.rpg.AndorsTrail.model.map.MapObject;
import com.gpl.rpg.AndorsTrail.model.map.MonsterSpawnArea;
import com.gpl.rpg.AndorsTrail.model.map.PredefinedMap;
import com.gpl.rpg.AndorsTrail.model.map.TMXMapTranslator;
import com.gpl.rpg.AndorsTrail.util.L;
import com.gpl.rpg.AndorsTrail.util.ThemeHelper;
public final class TileManager {
@@ -374,6 +376,10 @@ public final class TileManager {
cachedTileIDs = getTileIDsFor(adjacentMap, adjacentMapTiles, world);
tileIDsPerMap.put(mapName, cachedTileIDs);
}
if(AndorsTrailApplication.DEVELOPMENT_DEBUGMESSAGES){
L.log("TileIDsFor " + mapName + "\n" + cachedTileIDs);
}
dest.addAll(cachedTileIDs);
}
public void cacheAdjacentMaps(final Resources res, final WorldContext world, final PredefinedMap nextMap) {
@@ -391,6 +397,9 @@ public final class TileManager {
HashSet<Integer> tileIDs = new HashSet<Integer>();
for (String mapName : adjacentMapNames) {
if(AndorsTrailApplication.DEVELOPMENT_DEBUGMESSAGES){
L.log("addTileIDsFor " + mapName);
}
addTileIDsFor(tileIDs, mapName, res, world);
}

View File

@@ -12,6 +12,7 @@ import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.security.DigestException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -27,6 +28,7 @@ import com.gpl.rpg.AndorsTrail.R;
import com.gpl.rpg.AndorsTrail.context.ControllerContext;
import com.gpl.rpg.AndorsTrail.context.WorldContext;
import com.gpl.rpg.AndorsTrail.controller.Constants;
import com.gpl.rpg.AndorsTrail.controller.WorldMapController;
import com.gpl.rpg.AndorsTrail.model.ModelContainer;
import com.gpl.rpg.AndorsTrail.resource.tiles.TileManager;
import com.gpl.rpg.AndorsTrail.util.AndroidStorage;
@@ -78,7 +80,7 @@ public final class Savegames {
}
return true;
} catch (IOException e) {
} catch (IOException | DigestException e) {
L.log("Error saving world: " + e.toString());
return false;
}
@@ -86,7 +88,7 @@ public final class Savegames {
private static void writeBackup(Context androidContext, byte[] savegame, String playerId) throws IOException {
File cheatDetectionFolder = AndroidStorage.getStorageDirectory(androidContext, Constants.CHEAT_DETECTION_FOLDER);
if (!cheatDetectionFolder.exists()) cheatDetectionFolder.mkdir();
ensureDirExists(cheatDetectionFolder);
File backupFile = new File(cheatDetectionFolder, playerId + "X");
FileOutputStream fileOutputStream = new FileOutputStream(backupFile);
fileOutputStream.write(savegame);
@@ -104,18 +106,18 @@ public final class Savegames {
}
FileInputStream fos = getInputFile(androidContext, slot);
LoadSavegameResult result = loadWorld(androidContext.getResources(), world, controllers, fos, fh);
LoadSavegameResult result = loadWorld(androidContext.getResources(), world, controllers, androidContext, fos, fh);
fos.close();
if (result == LoadSavegameResult.success && slot != SLOT_QUICKSAVE && !world.model.statistics.hasUnlimitedSaves()) {
// save to the quicksave slot before deleting the file
if (!saveWorld(world, androidContext, SLOT_QUICKSAVE)) {
// save to the quicksave slot before deleting the file
if (!saveWorld(world, androidContext, SLOT_QUICKSAVE)) {
return LoadSavegameResult.unknownError;
}
getSlotFile(slot, androidContext).delete();
writeCheatCheck(androidContext, DENY_LOADING_BECAUSE_GAME_IS_CURRENTLY_PLAYED, fh.playerId);
}
return result;
} catch (IOException e) {
} catch (IOException | DigestException e) {
if (AndorsTrailApplication.DEVELOPMENT_DEBUGMESSAGES) {
L.log("Error loading world: " + e.toString());
StringWriter sw = new StringWriter();
@@ -130,13 +132,13 @@ public final class Savegames {
private static boolean triedToCheat(Context androidContext, FileHeader fh) throws IOException {
long savedVersionToCheck = 0;
File cheatDetectionFolder = AndroidStorage.getStorageDirectory(androidContext, Constants.CHEAT_DETECTION_FOLDER);
if (!cheatDetectionFolder.exists()) cheatDetectionFolder.mkdir();
ensureDirExists(cheatDetectionFolder);
File cheatDetectionFile = new File(cheatDetectionFolder, fh.playerId);
if (cheatDetectionFile.exists()) {
FileInputStream fileInputStream = new FileInputStream(cheatDetectionFile);
DataInputStream dataInputStream = new DataInputStream(fileInputStream);
final CheatDetection cheatDetection = new CheatDetection(dataInputStream);
savedVersionToCheck = cheatDetection.savedVersion;
savedVersionToCheck = cheatDetection.savedVersion;
dataInputStream.close();
fileInputStream.close();
}
@@ -151,8 +153,7 @@ public final class Savegames {
final CheatDetection cheatDetection = new CheatDetection(dataInputStream);
if (cheatDetection.savedVersion == DENY_LOADING_BECAUSE_GAME_IS_CURRENTLY_PLAYED) {
savedVersionToCheck = DENY_LOADING_BECAUSE_GAME_IS_CURRENTLY_PLAYED;
}
else if (cheatDetection.savedVersion > savedVersionToCheck) {
} else if (cheatDetection.savedVersion > savedVersionToCheck) {
savedVersionToCheck = cheatDetection.savedVersion;
}
@@ -175,10 +176,20 @@ public final class Savegames {
return new FileOutputStream(getSlotFile(slot, androidContext));
}
}
private static void ensureSavegameDirectoryExists(Context context) {
File dir = AndroidStorage.getStorageDirectory(context, Constants.FILENAME_SAVEGAME_DIRECTORY);
if (!dir.exists()) dir.mkdir();
ensureDirExists(dir);
}
public static boolean ensureDirExists(File dir) {
if (!dir.exists()) {
boolean worked = dir.mkdir();
return worked;
}
return true;
}
private static FileInputStream getInputFile(Context androidContext, int slot) throws IOException {
if (slot == SLOT_QUICKSAVE) {
return androidContext.openFileInput(Constants.FILENAME_SAVEGAME_QUICKSAVE);
@@ -189,42 +200,66 @@ public final class Savegames {
public static File getSlotFile(int slot, Context context) {
File root = AndroidStorage.getStorageDirectory(context, Constants.FILENAME_SAVEGAME_DIRECTORY);
return new File(root, Constants.FILENAME_SAVEGAME_FILENAME_PREFIX + slot);
return getSlotFile(slot, root);
}
public static File getSlotFile(int slot, File directory) {
return new File(directory, getSlotFileName(slot));
}
public static String getSlotFileName(int slot) {
return Constants.FILENAME_SAVEGAME_FILENAME_PREFIX + slot;
}
public static void saveWorld(WorldContext world, OutputStream outStream, String displayInfo) throws IOException {
public static void saveWorld(WorldContext world, OutputStream outStream, String displayInfo) throws IOException, DigestException {
DataOutputStream dest = new DataOutputStream(outStream);
FileHeader.writeToParcel(dest, world.model.player.getName(),
displayInfo, world.model.player.iconID,
world.model.statistics.isDead(),
world.model.statistics.hasUnlimitedSaves(),
world.model.player.id,
world.model.player.savedVersion);
world.model.player.savedVersion,
world.model.statistics.getIsAlteredSavegame());
byte[] checksum = world.getChecksum();
world.model.statistics.setChecksum(checksum);
world.maps.writeToParcel(dest, world);
world.model.writeToParcel(dest);
dest.close();
}
public static LoadSavegameResult loadWorld(Resources res, WorldContext world, ControllerContext controllers, InputStream inState, FileHeader fh) throws IOException {
public static LoadSavegameResult loadWorld(Resources res, WorldContext world, ControllerContext controllers, Context androidContext, InputStream inState, FileHeader fh) throws IOException, DigestException {
DataInputStream src = new DataInputStream(inState);
final FileHeader header = new FileHeader(src, fh.skipIcon);
if (header.fileversion > AndorsTrailApplication.CURRENT_VERSION) return LoadSavegameResult.savegameIsFromAFutureVersion;
if (header.fileversion > AndorsTrailApplication.CURRENT_VERSION)
return LoadSavegameResult.savegameIsFromAFutureVersion;
world.maps.readFromParcel(src, world, controllers, header.fileversion);
world.model = new ModelContainer(src, world, controllers, header.fileversion);
src.close();
if (header.fileversion >= 81) {
checkChecksum(world);
}
WorldMapController.populateWorldMap(androidContext, world, controllers.getResources());
if (header.fileversion < 45) {
LegacySavegamesContentAdaptations.adaptToNewContentForVersion45(world, controllers, res);
}
onWorldLoaded(res, world, controllers);
return LoadSavegameResult.success;
}
private static void checkChecksum(WorldContext world) throws DigestException {
byte[] checksum = world.getChecksum();
if (!world.model.statistics.compareChecksum(checksum)) {
world.model.statistics.markAsAlteredSavegame();
}
}
private static void onWorldLoaded(Resources res, WorldContext world, ControllerContext controllers) {
controllers.actorStatsController.recalculatePlayerStats(world.model.player);
controllers.mapController.resetMapsNotRecentlyVisited();
@@ -251,7 +286,7 @@ public final class Savegames {
private static void writeCheatCheck(Context androidContext, long savedVersion, String playerId) throws IOException {
File cheatDetectionFolder = AndroidStorage.getStorageDirectory(androidContext, Constants.CHEAT_DETECTION_FOLDER);
if (!cheatDetectionFolder.exists()) cheatDetectionFolder.mkdir();
ensureDirExists(cheatDetectionFolder);
File cheatDetectionFile = new File(cheatDetectionFolder, playerId);
FileOutputStream fileOutputStream = new FileOutputStream(cheatDetectionFile);
DataOutputStream dataOutputStream = new DataOutputStream(fileOutputStream);
@@ -285,7 +320,7 @@ public final class Savegames {
Collections.sort(result);
return result;
} catch (Exception e) {
return null;
return new ArrayList<Integer>();
}
}
@@ -307,12 +342,12 @@ public final class Savegames {
}
public static final class FileHeader {
public final int fileversion;
public final String playerName;
public final String displayInfo;
public final int iconID;
public final boolean isAlteredSavegame;
public boolean skipIcon = false;
public final boolean isDead;
public final boolean hasUnlimitedSaves;
@@ -328,7 +363,8 @@ public final class Savegames {
public FileHeader(DataInputStream src, boolean skipIcon) throws IOException {
int fileversion = src.readInt();
if (fileversion == 11) fileversion = 5; // Fileversion 5 had no version identifier, but the first byte was 11.
if (fileversion == 11)
fileversion = 5; // Fileversion 5 had no version identifier, but the first byte was 11.
this.fileversion = fileversion;
if (fileversion >= 14) { // Before fileversion 14 (0.6.7), we had no file header.
this.playerName = src.readUTF();
@@ -361,9 +397,14 @@ public final class Savegames {
this.playerId = "";
this.savedVersion = 0;
}
if(fileversion >= 81){
this.isAlteredSavegame = src.readBoolean();
}else{
this.isAlteredSavegame = false;
}
}
public static void writeToParcel(DataOutputStream dest, String playerName, String displayInfo, int iconID, boolean isDead, boolean hasUnlimitedSaves, String playerId, long savedVersion) throws IOException {
public static void writeToParcel(DataOutputStream dest, String playerName, String displayInfo, int iconID, boolean isDead, boolean hasUnlimitedSaves, String playerId, long savedVersion, boolean isAlteredSavegame) throws IOException {
dest.writeInt(AndorsTrailApplication.CURRENT_VERSION);
dest.writeUTF(playerName);
dest.writeUTF(displayInfo);
@@ -372,6 +413,7 @@ public final class Savegames {
dest.writeBoolean(hasUnlimitedSaves);
dest.writeUTF(playerId);
dest.writeLong(savedVersion);
dest.writeBoolean(isAlteredSavegame);
}
}
}

View File

@@ -1,42 +1,58 @@
package com.gpl.rpg.AndorsTrail.util;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.os.Environment;
import android.support.v4.content.FileProvider;
import androidx.annotation.RequiresApi;
import androidx.core.content.FileProvider;
import androidx.documentfile.provider.DocumentFile;
import android.os.Handler;
import android.os.Looper;
import com.gpl.rpg.AndorsTrail.R;
import com.gpl.rpg.AndorsTrail.controller.Constants;
import com.gpl.rpg.AndorsTrail.util.BackgroundWorker.BackgroundWorkerCallback;
import com.gpl.rpg.AndorsTrail.view.CustomDialogFactory;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.concurrent.CancellationException;
import java.util.function.Consumer;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;
public final class AndroidStorage {
public static File getStorageDirectory(Context context, String name) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO && Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
return context.getExternalFilesDir(name);
}
else {
} else {
File root = Environment.getExternalStorageDirectory();
return new File(root, name);
}
}
public static boolean shouldMigrateToInternalStorage(Context context) {
boolean ret = false;
File externalSaveGameDirectory = new File(Environment.getExternalStorageDirectory(), Constants.FILENAME_SAVEGAME_DIRECTORY);
File externalSaveGameDirectory = new File(Environment.getExternalStorageDirectory(),
Constants.FILENAME_SAVEGAME_DIRECTORY);
File internalSaveGameDirectory = getStorageDirectory(context, Constants.FILENAME_SAVEGAME_DIRECTORY);
if (externalSaveGameDirectory.exists()
&& externalSaveGameDirectory.isDirectory()
&& externalSaveGameDirectory.listFiles().length > 0
&& (
!internalSaveGameDirectory.exists()
|| internalSaveGameDirectory.isDirectory() && internalSaveGameDirectory.listFiles().length < 2)
) {
&& externalSaveGameDirectory.isDirectory()
&& externalSaveGameDirectory.listFiles().length > 0
&& (!internalSaveGameDirectory.exists()
|| internalSaveGameDirectory.isDirectory()
&& internalSaveGameDirectory.listFiles().length < 2)) {
ret = true;
}
return ret;
@@ -45,11 +61,11 @@ public final class AndroidStorage {
public static boolean migrateToInternalStorage(Context context) {
try {
copy(new File(Environment.getExternalStorageDirectory(), Constants.CHEAT_DETECTION_FOLDER),
getStorageDirectory(context, Constants.CHEAT_DETECTION_FOLDER));
getStorageDirectory(context, Constants.CHEAT_DETECTION_FOLDER));
copy(new File(Environment.getExternalStorageDirectory(), Constants.FILENAME_SAVEGAME_DIRECTORY),
getStorageDirectory(context, Constants.FILENAME_SAVEGAME_DIRECTORY));
getStorageDirectory(context, Constants.FILENAME_SAVEGAME_DIRECTORY));
} catch (IOException e) {
L.log("Error migrating data: " + e.toString());
L.log("Error migrating data: " + e);
return false;
}
return true;
@@ -76,33 +92,381 @@ public final class AndroidStorage {
}
}
private static void copyFile(File source, File target) throws IOException {
InputStream in = null;
OutputStream out = null;
try {
in = new FileInputStream(source);
out = new FileOutputStream(target);
byte[] buf = new byte[1024];
int length;
while ((length = in.read(buf)) > 0) {
out.write(buf, 0, length);
public static void copyFile(File source, File target) throws IOException {
try (InputStream in = new FileInputStream(source); OutputStream out = new FileOutputStream(target)) {
copyStream(in, out);
}
}
public static void copyStream(InputStream in, OutputStream out) throws IOException {
byte[] buf = new byte[1024];
int length;
while ((length = in.read(buf)) > 0) {
out.write(buf, 0, length);
}
}
@RequiresApi(api = Build.VERSION_CODES.P)
public static void createZipDocumentFileFromFilesAsync(File[] files,
Context context,
DocumentFile targetDirectory,
String fileName,
String loadingMessage,
Consumer<Boolean> callback) {
BackgroundWorker<Boolean> worker = new BackgroundWorker<>();
CustomDialogFactory.CustomDialog progressDialog = getLoadingDialog(context, loadingMessage);
progressDialog.setOnCancelListener(dialog -> worker.cancel());
ContentResolver resolver = context.getContentResolver();
Handler handler = Handler.createAsync(Looper.getMainLooper());
worker.setTask(workerCallback -> {
try {
workerCallback.onInitialize();
//region create zip file
File zip = File.createTempFile("temp_worldmap", ".zip");
try (OutputStream out = new FileOutputStream(zip)) {
ZipOutputStream zipOut = new ZipOutputStream(out);
for (int i = 0; i < files.length; i++) {
File file = files[i];
try (FileInputStream fis = new FileInputStream(file)) {
workerCallback.onProgress((float) i / files.length);
zipOut.putNextEntry(new ZipEntry(file.getName()));
copyStream(fis, zipOut);
zipOut.closeEntry();
}
}
zipOut.close();
}
//endregion
DocumentFile worldmapZip = DocumentFile.fromFile(zip);
DocumentFile worldmapTarget = targetDirectory.createFile("application/zip", fileName);
if (worldmapTarget != null && worldmapTarget.exists()) {
AndroidStorage.copyDocumentFile(worldmapZip, resolver, worldmapTarget);
workerCallback.onComplete(true);
} else {
throw new FileNotFoundException("Could not create File");
}
} catch (NullPointerException e) {
if (worker.isCancelled()) {
workerCallback.onFailure(new CancellationException("Cancelled"));
} else {
workerCallback.onFailure(e);
}
} catch (Exception e) {
workerCallback.onFailure(e);
}
} finally {
if (in != null) {
in.close();
});
worker.setCallback(getDefaultBackgroundWorkerCallback(handler, progressDialog, callback));
worker.run();
}
public static void unzipToDirectory(File zipFile,
File targetDirectory,
boolean overwriteNotSkip) throws IOException {
try (ZipInputStream zis = new ZipInputStream(new FileInputStream(zipFile))) {
unzipStreamToDirectory(targetDirectory, overwriteNotSkip, zis);
}
}
@RequiresApi(api = Build.VERSION_CODES.P)
public static void unzipDocumentFileToDirectoryAsync(DocumentFile zipFile,
Context context,
File targetDirectory,
boolean overwriteNotSkip,
String loadingMessage,
Consumer<Boolean> callback) {
BackgroundWorker<Boolean> worker = new BackgroundWorker<>();
CustomDialogFactory.CustomDialog progressDialog = getLoadingDialog(context, loadingMessage);
progressDialog.setOnCancelListener(dialog -> worker.cancel());
ContentResolver resolver = context.getContentResolver();
Handler handler = Handler.createAsync(Looper.getMainLooper());
worker.setTask(workerCallback -> {
try {
workerCallback.onInitialize();
workerCallback.onProgress(-1);//set dummy progress since we don't know the
// progress of the unzip
unzipDocumentFileToDirectory(zipFile, resolver, targetDirectory, overwriteNotSkip);
workerCallback.onComplete(true);
} catch (IOException e) {
workerCallback.onFailure(e);
}
if (out != null) {
out.close();
});
worker.setCallback(getDefaultBackgroundWorkerCallback(handler, progressDialog, callback));
worker.run();
}
public static void unzipDocumentFileToDirectory(DocumentFile zipFile,
ContentResolver resolver,
File targetDirectory,
boolean overwriteNotSkip) throws IOException {
try (ZipInputStream zis = new ZipInputStream(resolver.openInputStream(zipFile.getUri()))) {
unzipStreamToDirectory(targetDirectory, overwriteNotSkip, zis);
}
}
private static void unzipStreamToDirectory(File targetDirectory,
boolean overwriteNotSkip,
ZipInputStream zis) throws IOException {
ZipEntry entry;
while ((entry = zis.getNextEntry()) != null) {
File file = new File(targetDirectory, entry.getName());
if (entry.isDirectory()) {
file.mkdirs();
} else {
file.getParentFile().mkdirs();
if (file.exists() && !overwriteNotSkip) {
continue;
}
try (FileOutputStream fos = new FileOutputStream(file)) {
copyStream(zis, fos);
}
}
}
}
public static void copyDocumentFileToNewOrExistingFile(DocumentFile sourceFile,
ContentResolver resolver,
DocumentFile targetFolder) throws IOException {
copyDocumentFileToNewOrExistingFile(sourceFile,
resolver,
targetFolder,
Constants.NO_FILE_EXTENSION_MIME_TYPE);
}
public static void copyDocumentFileToNewOrExistingFile(DocumentFile sourceFile,
ContentResolver resolver,
DocumentFile targetFolder,
String mimeType) throws IOException {
String fileName = sourceFile.getName();
DocumentFile file = targetFolder.findFile(fileName);
if (file == null) {
file = targetFolder.createFile(mimeType, fileName);
}
if (file == null) {
return;
}
AndroidStorage.copyDocumentFile(sourceFile, resolver, file);
}
public static void copyDocumentFile(DocumentFile sourceFile,
ContentResolver resolver,
DocumentFile targetFile) throws IOException {
try (OutputStream outputStream = resolver.openOutputStream(targetFile.getUri());
InputStream inputStream = resolver.openInputStream(sourceFile.getUri())) {
copyStream(inputStream, outputStream);
}
}
public static String getUrlForFile(Context context, File worldmap) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO && Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
Uri uri = FileProvider.getUriForFile(context, "com.gpl.rpg.AndorsTrail.fileprovider", worldmap);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
String applicationId = context.getPackageName();
Uri uri = FileProvider.getUriForFile(context, applicationId + ".fileprovider", worldmap);
return uri.toString();
} else {
return "file://" + worldmap.getAbsolutePath();
}
}
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public static Intent getNewOpenDirectoryIntent() {
return new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
}
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public static Intent getNewSelectMultipleSavegameFilesIntent() {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
intent.setType(Constants.SAVEGAME_FILE_MIME_TYPE);
return intent;
}
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public static Intent getNewSelectZipIntent() {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("application/zip");
return intent;
}
@RequiresApi(api = Build.VERSION_CODES.P)
public static void copyDocumentFilesFromToAsync(DocumentFile[] sources,
Context context,
DocumentFile[] targets,
String loadingMessage,
Consumer<Boolean> callback) {
if (sources.length != targets.length) {
throw new IllegalArgumentException("Both arrays, target & source have to have the same size");
}
BackgroundWorker<Boolean> worker = new BackgroundWorker<>();
CustomDialogFactory.CustomDialog progressDialog = getLoadingDialog(context, loadingMessage);
progressDialog.setOnCancelListener(dialog -> worker.cancel());
ContentResolver resolver = context.getContentResolver();
Handler handler = Handler.createAsync(Looper.getMainLooper());
worker.setTask(workerCallback -> {
try {
workerCallback.onInitialize();
for (int i = 0; i < sources.length; i++) {
if (worker.isCancelled()) {
workerCallback.onFailure(new CancellationException("Cancelled"));
return;
}
DocumentFile source = sources[i];
DocumentFile target = targets[i];
if (source == null || target == null) {
continue;
}
copyDocumentFile(source, resolver, target);
float progress = i / (float) sources.length;
workerCallback.onProgress(progress);
}
workerCallback.onComplete(true);
} catch (NullPointerException e) {
if (worker.isCancelled()) {
workerCallback.onFailure(new CancellationException("Cancelled"));
return;
}
} catch (Exception e) {
workerCallback.onFailure(e);
}
});
worker.setCallback(getDefaultBackgroundWorkerCallback(handler, progressDialog, callback));
worker.run();
}
@RequiresApi(api = Build.VERSION_CODES.P)
public static void copyDocumentFilesToDirAsync(DocumentFile[] files,
Context context,
DocumentFile targetDirectory,
String loadingMessage,
Consumer<Boolean> callback) {
BackgroundWorker<Boolean> worker = new BackgroundWorker<>();
CustomDialogFactory.CustomDialog progressDialog = getLoadingDialog(context, loadingMessage);
progressDialog.setOnCancelListener(dialog -> worker.cancel());
ContentResolver resolver = context.getContentResolver();
Handler handler = Handler.createAsync(Looper.getMainLooper());
worker.setTask(workerCallback -> {
try {
workerCallback.onInitialize();
for (int i = 0; i < files.length; i++) {
if (worker.isCancelled()) {
workerCallback.onFailure(new CancellationException("Cancelled"));
return;
}
DocumentFile file = files[i];
if (file == null) {
continue;
}
copyDocumentFileToNewOrExistingFile(file, resolver, targetDirectory);
float progress = i / (float) files.length;
workerCallback.onProgress(progress);
}
workerCallback.onComplete(true);
} catch (NullPointerException e) {
if (worker.isCancelled()) {
workerCallback.onFailure(new CancellationException("Cancelled"));
}
} catch (Exception e) {
workerCallback.onFailure(e);
}
});
worker.setCallback(getDefaultBackgroundWorkerCallback(handler, progressDialog, callback));
worker.run();
}
private static BackgroundWorkerCallback<Boolean> getDefaultBackgroundWorkerCallback(Handler handler,
CustomDialogFactory.CustomDialog progressDialog,
Consumer<Boolean> callback) {
return new BackgroundWorkerCallback<Boolean>() {
private int progress = -1;
@Override
public void onInitialize() {
handler.post(() -> {
CustomDialogFactory.show(progressDialog);
});
}
@Override
public void onProgress(float progress) {
handler.post(() -> {
int intProgress = (int) (progress * 100);
if (this.progress == intProgress) {
return;
}
this.progress = intProgress;
if (progress == -1) {
CustomDialogFactory.setDesc(progressDialog, null);
return;
}
CustomDialogFactory.setDesc(progressDialog, intProgress + "%");
});
}
@RequiresApi(api = Build.VERSION_CODES.N)
@Override
public void onFailure(Exception e) {
this.onComplete(false);
}
@RequiresApi(api = Build.VERSION_CODES.N)
@Override
public void onComplete(Boolean result) {
handler.post(() -> {
progressDialog.dismiss();
callback.accept(result);
});
}
};
}
private static CustomDialogFactory.CustomDialog getLoadingDialog(Context context) {
return getLoadingDialog(context, null);
}
private static CustomDialogFactory.CustomDialog getLoadingDialog(Context context, String message) {
if (message == null) {
message = context.getResources().getString(R.string.dialog_loading_message);
}
CustomDialogFactory.CustomDialog dialog = CustomDialogFactory.createDialog(context,
message,
context.getResources()
.getDrawable(R.drawable.loading_anim),
null,
null,
true,
false);
CustomDialogFactory.addCancelButton(dialog, android.R.string.no);
return dialog;
}
}

View File

@@ -0,0 +1,46 @@
package com.gpl.rpg.AndorsTrail.util;
import java.util.concurrent.Executors;
public final class BackgroundWorker<T> {
boolean cancelled = false;
worker<T> task;
BackgroundWorkerCallback<T> callback;
public void setTask(worker<T> task) {
this.task = task;
}
public void setCallback(BackgroundWorkerCallback<T> callback) {
this.callback = callback;
}
public void cancel() {
cancelled = true;
}
interface worker<T> {
void doWork(BackgroundWorkerCallback<T> callback);
}
interface BackgroundWorkerCallback<T> {
void onInitialize();
default void onProgress(float progress) {
}
void onFailure(Exception e);
void onComplete(T result);
}
public void run() {
Executors.newSingleThreadExecutor().execute(() -> {
task.doWork(callback);
});
}
public boolean isCancelled() {
return cancelled;
}
}

View File

@@ -1,5 +1,7 @@
package com.gpl.rpg.AndorsTrail.util;
import com.gpl.rpg.AndorsTrail.model.ChecksumBuilder;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
@@ -47,4 +49,9 @@ public final class Coord {
dest.writeInt(x);
dest.writeInt(y);
}
public void addToChecksum(ChecksumBuilder builder) {
builder.add(x);
builder.add(y);
}
}

View File

@@ -30,6 +30,18 @@ public final class CoordRect {
return true;
}
public static CoordRect union(CoordRect r1, CoordRect r2) {
int left = Math.min(r1.topLeft.x, r2.topLeft.x);
int top = Math.min(r1.topLeft.y, r2.topLeft.y);
int right = Math.max(r1.topLeft.x + r1.size.width, r2.topLeft.x + r2.size.width);
int bottom = Math.max(r1.topLeft.y + r1.size.height, r2.topLeft.y + r2.size.height);
int width = right - left;
int height = bottom - top;
return new CoordRect(new Coord(left, top), new Size(width, height));
}
/*
public static boolean contains(final int x, final int y, final Size size, final Coord p) {
if (p.x < x) return false;

Some files were not shown because too many files have changed in this diff Show More