mirror of
https://github.com/AndorsTrailRelease/andors-trail.git
synced 2026-01-05 19:16:47 +01:00
Compare commits
1729 Commits
stoutford_
...
as3_migrat
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
62858836c1 | ||
|
|
cbb9254432 | ||
|
|
dc4f8e8590 | ||
|
|
97a81e3d8e | ||
|
|
176cf1dd76 | ||
|
|
9a0f183392 | ||
|
|
fc569d841f | ||
|
|
2623fe6517 | ||
|
|
6deca064d4 | ||
|
|
f856b03c37 | ||
|
|
43831ae7e0 | ||
|
|
a4b2dc8b4e | ||
|
|
cdbfd5f9b2 | ||
|
|
03958eb3f1 | ||
|
|
65d2a73efa | ||
|
|
0492bfbde0 | ||
|
|
efe06255a3 | ||
|
|
1dbf4bf5cb | ||
|
|
72a36a7c12 | ||
|
|
cac9237d9e | ||
|
|
586c632118 | ||
|
|
0e8602ff87 | ||
|
|
83d88deba7 | ||
|
|
57ed67b87a | ||
|
|
9f77828e98 | ||
|
|
94ad7706c3 | ||
|
|
db0364e35d | ||
|
|
52ddeb406a | ||
|
|
a8955c7799 | ||
|
|
1cfbb06835 | ||
|
|
e91b059225 | ||
|
|
80e93e4e5f | ||
|
|
595ec93738 | ||
|
|
574f8b964f | ||
|
|
a35020d9e3 | ||
|
|
8e8b695871 | ||
|
|
1996dde697 | ||
|
|
b154c65872 | ||
|
|
c15ebdf6c9 | ||
|
|
d97f64c2fa | ||
|
|
d4bda98b09 | ||
|
|
d041d4bbc4 | ||
|
|
ea885c746f | ||
|
|
37ba6a5fc8 | ||
|
|
94619f7640 | ||
|
|
b060b3797d | ||
|
|
ff7359e630 | ||
|
|
3733bfb432 | ||
|
|
a4fb5fd664 | ||
|
|
25b1c9ae38 | ||
|
|
a7dda1a393 | ||
|
|
a2238d84d2 | ||
|
|
bbe788af86 | ||
|
|
330c375fb8 | ||
|
|
cdefa3da24 | ||
|
|
486e0ea25d | ||
|
|
d3b461a5a0 | ||
|
|
3c40c1738a | ||
|
|
d1f6db4e74 | ||
|
|
fa1ff06629 | ||
|
|
a869f7aaf3 | ||
|
|
5ec63ff1f2 | ||
|
|
c04534f8a8 | ||
|
|
dda4350775 | ||
|
|
dbe3eba475 | ||
|
|
03f295da41 | ||
|
|
c95e6ec9b7 | ||
|
|
eebd2808ea | ||
|
|
763b613f53 | ||
|
|
5764ae70ca | ||
|
|
d146e5ddfc | ||
|
|
552a2aea4c | ||
|
|
30e9e3677b | ||
|
|
a0b20ca400 | ||
|
|
6eeae2bda7 | ||
|
|
aff4ebc98c | ||
|
|
8b8ea1b4c0 | ||
|
|
a80423872c | ||
|
|
bb23acb7f8 | ||
|
|
9227790c6e | ||
|
|
21abb700a0 | ||
|
|
2daa43574e | ||
|
|
07af87e484 | ||
|
|
275159a785 | ||
|
|
735dfa0ba4 | ||
|
|
f4a796c49d | ||
|
|
7504811fa4 | ||
|
|
0ee9017f1c | ||
|
|
2919b3ca4b | ||
|
|
4bf668d658 | ||
|
|
4550525399 | ||
|
|
6e114cabb9 | ||
|
|
3d437000c4 | ||
|
|
d25f05c7e7 | ||
|
|
32ebdef061 | ||
|
|
54005108ca | ||
|
|
bbdd25b957 | ||
|
|
9081bad8f9 | ||
|
|
35fa3d358f | ||
|
|
c045851415 | ||
|
|
f037889c87 | ||
|
|
b4ce92d55b | ||
|
|
2b11cf3418 | ||
|
|
035db07607 | ||
|
|
af3a81f694 | ||
|
|
1c51489d5e | ||
|
|
2c40f27bb4 | ||
|
|
0ea56843e2 | ||
|
|
1d6de6918b | ||
|
|
90f882ebe7 | ||
|
|
65456e197f | ||
|
|
f8f0938014 | ||
|
|
dc2615f826 | ||
|
|
a765536953 | ||
|
|
424e6b2a47 | ||
|
|
9323bcae85 | ||
|
|
4441485dad | ||
|
|
10c681d868 | ||
|
|
6db77e67d3 | ||
|
|
33dad47f97 | ||
|
|
137d2dfd45 | ||
|
|
7ecf9c9304 | ||
|
|
f41546c740 | ||
|
|
b07332f3de | ||
|
|
b3d61b32d5 | ||
|
|
ef628f6467 | ||
|
|
4b45e0109a | ||
|
|
82a55c8164 | ||
|
|
018c315c8c | ||
|
|
321d83f95b | ||
|
|
8a740dba1c | ||
|
|
97ae4d0878 | ||
|
|
1df0534dc8 | ||
|
|
48147c9611 | ||
|
|
6a3b4edf1d | ||
|
|
11b3efe397 | ||
|
|
e315df64ed | ||
|
|
70d9e3efbd | ||
|
|
f80166498e | ||
|
|
1fac338767 | ||
|
|
b5a6cb9c94 | ||
|
|
0be0bc53e3 | ||
|
|
9c0d396cb7 | ||
|
|
8d8f4f7c95 | ||
|
|
52570ebff7 | ||
|
|
ae6f3112af | ||
|
|
2860a6947e | ||
|
|
2aef469ebe | ||
|
|
84b8750024 | ||
|
|
f401d0cf1a | ||
|
|
250bfc6770 | ||
|
|
9ed0144f9f | ||
|
|
8e67707f65 | ||
|
|
69fef10ca5 | ||
|
|
0a875570e0 | ||
|
|
fa27515aec | ||
|
|
b2d09977b3 | ||
|
|
3536c7d37c | ||
|
|
dad7221917 | ||
|
|
84381eb55b | ||
|
|
a8b43778b3 | ||
|
|
177ab58203 | ||
|
|
27fc83b984 | ||
|
|
0ec84d4bd4 | ||
|
|
17c9035580 | ||
|
|
abb0453308 | ||
|
|
a89bda6d57 | ||
|
|
eb5cd5fad8 | ||
|
|
d0dea9fdbc | ||
|
|
28691a673d | ||
|
|
75b3dd3f3c | ||
|
|
6a65e00189 | ||
|
|
08d75a5d5f | ||
|
|
db90c06bf6 | ||
|
|
7d2706fc39 | ||
|
|
a70ea2a280 | ||
|
|
16a625ae28 | ||
|
|
144a47d570 | ||
|
|
74ffd7192e | ||
|
|
aae253de06 | ||
|
|
91b769f8ce | ||
|
|
feb8d1f509 | ||
|
|
cb222e1f6a | ||
|
|
2827faff0f | ||
|
|
a7f0dffff7 | ||
|
|
d23f52f67a | ||
|
|
f05bb8d3fa | ||
|
|
59ae56fe43 | ||
|
|
5118bd2f9f | ||
|
|
56113089ab | ||
|
|
f1e67024c5 | ||
|
|
261b1f2559 | ||
|
|
46f4fad15a | ||
|
|
4448dc81c4 | ||
|
|
33c0c1cc4f | ||
|
|
edbe61edaf | ||
|
|
8d2117c50d | ||
|
|
018566622a | ||
|
|
89cae935b4 | ||
|
|
44e076388f | ||
|
|
583c0b369f | ||
|
|
40af145912 | ||
|
|
c8b30cb225 | ||
|
|
f24d5bb701 | ||
|
|
fc088c96bb | ||
|
|
f31fae008d | ||
|
|
eba9c68b92 | ||
|
|
7f6b00e9e3 | ||
|
|
45de12dc5b | ||
|
|
7abf38d96f | ||
|
|
5a9cc41b0a | ||
|
|
db41b0d138 | ||
|
|
76a4844bd1 | ||
|
|
0825c42af3 | ||
|
|
f48a83cb8e | ||
|
|
925ce48c5d | ||
|
|
92bfae56d8 | ||
|
|
b50c743be9 | ||
|
|
94a78b8360 | ||
|
|
9ee12e90cb | ||
|
|
20cc37f574 | ||
|
|
8651cb19ef | ||
|
|
489099b00e | ||
|
|
2573ae49ca | ||
|
|
ccb1c39620 | ||
|
|
c75bd8220a | ||
|
|
d47729899f | ||
|
|
19e4f3fc60 | ||
|
|
dd5b66e659 | ||
|
|
a0107c9fc7 | ||
|
|
12b91c79ec | ||
|
|
735094869a | ||
|
|
3d3d2bdc95 | ||
|
|
3a61166fa3 | ||
|
|
49c0bd40a9 | ||
|
|
46d00ab269 | ||
|
|
0dbef41533 | ||
|
|
e3f1e41a42 | ||
|
|
da63d70434 | ||
|
|
ac14203053 | ||
|
|
fc145945d3 | ||
|
|
e5baba3fa9 | ||
|
|
5a6d52a2d5 | ||
|
|
a8abcd42f8 | ||
|
|
205d28c4c7 | ||
|
|
65a94a2328 | ||
|
|
0b111acaca | ||
|
|
fb3c783a16 | ||
|
|
464f3b7b52 | ||
|
|
f32d49c099 | ||
|
|
3922ada983 | ||
|
|
cc7dcef1d5 | ||
|
|
d80ddb9c32 | ||
|
|
1e77395ea8 | ||
|
|
0ca641842b | ||
|
|
16c37653d6 | ||
|
|
8d6762c5d6 | ||
|
|
dc99489e34 | ||
|
|
9b51178a0a | ||
|
|
1bc699b54d | ||
|
|
e28c143682 | ||
|
|
742af05990 | ||
|
|
8cc2f85837 | ||
|
|
e199322a03 | ||
|
|
72c59d0361 | ||
|
|
a9d7091a8b | ||
|
|
0651e96920 | ||
|
|
477f8a4434 | ||
|
|
352147261f | ||
|
|
7715733f3d | ||
|
|
f8604613bf | ||
|
|
409b525a2f | ||
|
|
cfb25c636b | ||
|
|
3fab230cbf | ||
|
|
40637a2dd1 | ||
|
|
43550b5360 | ||
|
|
a731613159 | ||
|
|
daeeef9fb9 | ||
|
|
b67fd5e15a | ||
|
|
5a482b65d0 | ||
|
|
c08d950c27 | ||
|
|
8ecad6b015 | ||
|
|
c50f3231b7 | ||
|
|
7bd4bc3c83 | ||
|
|
2a9b42b074 | ||
|
|
5c0bfb4fa3 | ||
|
|
3e17092802 | ||
|
|
4f211efa85 | ||
|
|
d7fb163c12 | ||
|
|
675abbcdc9 | ||
|
|
e13e85179d | ||
|
|
e37fa0a6d9 | ||
|
|
ec05a34afd | ||
|
|
49212ee9d7 | ||
|
|
5966a4757d | ||
|
|
4f5dc68e15 | ||
|
|
29cf71c675 | ||
|
|
96f02e8d85 | ||
|
|
f3a50625f4 | ||
|
|
0fd970694f | ||
|
|
eeff817b9d | ||
|
|
4ab03286f9 | ||
|
|
52aea0daec | ||
|
|
8b463d1e8b | ||
|
|
c293b5379f | ||
|
|
e9be9981d6 | ||
|
|
7840a95040 | ||
|
|
eb6c74bbac | ||
|
|
79ad3bf37c | ||
|
|
ffe65f389f | ||
|
|
7893943f12 | ||
|
|
fda6104b16 | ||
|
|
468b23b52d | ||
|
|
782fe027a5 | ||
|
|
76bd61178d | ||
|
|
ebcc6d07c6 | ||
|
|
f8eddffc1e | ||
|
|
1a4ca170e3 | ||
|
|
9433870374 | ||
|
|
176a60e1d5 | ||
|
|
06861867df | ||
|
|
de254e6b00 | ||
|
|
a29aca541d | ||
|
|
18b5866beb | ||
|
|
7a9b845468 | ||
|
|
b22490e9a8 | ||
|
|
6b6c917dcc | ||
|
|
36be89cd43 | ||
|
|
2565c78d2f | ||
|
|
a5bb7a4f9a | ||
|
|
05f9b9d34c | ||
|
|
7cd6f6c120 | ||
|
|
41325629da | ||
|
|
ac72f50214 | ||
|
|
6f98acaa5c | ||
|
|
a052cfd81a | ||
|
|
ad2343b684 | ||
|
|
a2be12f830 | ||
|
|
ad38a3388e | ||
|
|
6a00653faf | ||
|
|
7321ecacaf | ||
|
|
6249e6e213 | ||
|
|
db7caafe50 | ||
|
|
1dbace6a99 | ||
|
|
5814a7ef16 | ||
|
|
de3248be32 | ||
|
|
fc3bc450fd | ||
|
|
137f8e6cea | ||
|
|
2805e051f7 | ||
|
|
7b692f699a | ||
|
|
618dc2c10f | ||
|
|
dfc6eb78f0 | ||
|
|
64f2ac4549 | ||
|
|
2725824f53 | ||
|
|
8d66a5a5da | ||
|
|
19c092c377 | ||
|
|
c90ce373dc | ||
|
|
af3bf14b2f | ||
|
|
67ae6c5274 | ||
|
|
3a7b02c1de | ||
|
|
0887294062 | ||
|
|
cab459b67f | ||
|
|
7af6b08b7d | ||
|
|
a92ad21ed9 | ||
|
|
9962db69d7 | ||
|
|
4d4afe6258 | ||
|
|
3d32883d6b | ||
|
|
aaddb05830 | ||
|
|
75dde642bc | ||
|
|
9505e16892 | ||
|
|
eb448883fc | ||
|
|
79f68c1a0a | ||
|
|
a7b0c3fe77 | ||
|
|
057164e54f | ||
|
|
dc1854553c | ||
|
|
89c53ed112 | ||
|
|
ef9deb8903 | ||
|
|
825f326f5d | ||
|
|
73c6b2263f | ||
|
|
af114e50b6 | ||
|
|
f020da1a44 | ||
|
|
4ee5c91ad9 | ||
|
|
39179d257c | ||
|
|
a7f566ce6e | ||
|
|
c7c0d66be1 | ||
|
|
a1f765a3ee | ||
|
|
c9b741e96f | ||
|
|
a21c49771a | ||
|
|
162fd57aaf | ||
|
|
de65c8d936 | ||
|
|
68cc233a01 | ||
|
|
830c06ad1c | ||
|
|
d025420b8a | ||
|
|
1551e006ef | ||
|
|
77bbdd4b02 | ||
|
|
f6b63f62f0 | ||
|
|
5aee6491ed | ||
|
|
1b3b6e1d59 | ||
|
|
7e6c3aee12 | ||
|
|
09957070fb | ||
|
|
28bc34a635 | ||
|
|
9e424830fa | ||
|
|
51408765d2 | ||
|
|
028994d1ad | ||
|
|
d973f8867d | ||
|
|
5d9ea466a9 | ||
|
|
52e3e3a6b7 | ||
|
|
24fc7e5bd1 | ||
|
|
80a0340856 | ||
|
|
7d9e3ad792 | ||
|
|
c4d0798ba0 | ||
|
|
52375231a6 | ||
|
|
2962633abb | ||
|
|
36a991658a | ||
|
|
5f8a11ca02 | ||
|
|
6eb05a39a2 | ||
|
|
138d390636 | ||
|
|
9205a0f903 | ||
|
|
03a5316386 | ||
|
|
10f050e31c | ||
|
|
97a4ec605c | ||
|
|
963dd09ec0 | ||
|
|
b42585af96 | ||
|
|
baf69bc3b8 | ||
|
|
cd49aa6fa4 | ||
|
|
c49fceb42b | ||
|
|
e72d8e85f4 | ||
|
|
4e8cb27a06 | ||
|
|
b1e2aa2ee8 | ||
|
|
bf573db8e3 | ||
|
|
6ac7e0b754 | ||
|
|
6dc6dec0ae | ||
|
|
9dab270c17 | ||
|
|
2d5eb75b30 | ||
|
|
eb6b3f0ae2 | ||
|
|
97c82bd5f9 | ||
|
|
e7a42a4298 | ||
|
|
2f4b9a7020 | ||
|
|
9fa5c42407 | ||
|
|
b3b89ec704 | ||
|
|
ada8c4943c | ||
|
|
bca3338cb3 | ||
|
|
da883c1d56 | ||
|
|
be3fc864fc | ||
|
|
9369ed934f | ||
|
|
e2844dd7fd | ||
|
|
a16df109eb | ||
|
|
1d3792ee2a | ||
|
|
9c6fdb6a91 | ||
|
|
878fd059f6 | ||
|
|
4af20697c8 | ||
|
|
1cff497e20 | ||
|
|
448826095a | ||
|
|
b30ca1924d | ||
|
|
fa3dad4dbf | ||
|
|
e3db2598cb | ||
|
|
4fb49606b0 | ||
|
|
9a36b0dfea | ||
|
|
f6fca6b20d | ||
|
|
5ee457195f | ||
|
|
c419701ce5 | ||
|
|
6621fa0526 | ||
|
|
aa9ae2c037 | ||
|
|
5b0e4e3e91 | ||
|
|
9df0ae4472 | ||
|
|
8d0bacb112 | ||
|
|
aaf6eea654 | ||
|
|
dcc258a7f3 | ||
|
|
d00cfa5c40 | ||
|
|
e54d5a5613 | ||
|
|
22700df598 | ||
|
|
7dd2b55cc0 | ||
|
|
b104e865c0 | ||
|
|
c5d79987dc | ||
|
|
712848ac8a | ||
|
|
6a5456aa4c | ||
|
|
80d824e7b7 | ||
|
|
e21ea0e0dd | ||
|
|
4a087ba817 | ||
|
|
70453fc137 | ||
|
|
23c20afc6d | ||
|
|
a436855ff7 | ||
|
|
80768fa2b7 | ||
|
|
d9b137b6e7 | ||
|
|
2dba27f9be | ||
|
|
fb538e6031 | ||
|
|
52b3437f80 | ||
|
|
791800dd96 | ||
|
|
dee1b8def3 | ||
|
|
c13c888b3e | ||
|
|
f8cd20f734 | ||
|
|
7710849950 | ||
|
|
d5e1b9662e | ||
|
|
0e8b3b6ac1 | ||
|
|
1b32b6c40f | ||
|
|
ce5f286efb | ||
|
|
b8bb1581aa | ||
|
|
28596579e7 | ||
|
|
77883c66c8 | ||
|
|
a8f1b48718 | ||
|
|
b5407780c6 | ||
|
|
77bc43ceda | ||
|
|
b62d92adbe | ||
|
|
7537ef2967 | ||
|
|
227759ae55 | ||
|
|
6fb95d0897 | ||
|
|
37add11c9a | ||
|
|
95a51f8d7b | ||
|
|
4d2c3a6862 | ||
|
|
221631bc26 | ||
|
|
ce9000f97d | ||
|
|
f2c37c5cd2 | ||
|
|
bd5b92fbcb | ||
|
|
6edeb9a7cc | ||
|
|
d7ff9eb181 | ||
|
|
b6e52d95f9 | ||
|
|
87b58d9b0b | ||
|
|
8691ae0f4f | ||
|
|
33181b9a1b | ||
|
|
d416139e63 | ||
|
|
6e0d2d58b7 | ||
|
|
d6d6329e70 | ||
|
|
76accb3f8c | ||
|
|
1501243c2c | ||
|
|
b2a45e3ee9 | ||
|
|
083f7c114b | ||
|
|
424a6cc0c0 | ||
|
|
5594349252 | ||
|
|
7ab0a882dc | ||
|
|
add5bb81b6 | ||
|
|
21c7bd2696 | ||
|
|
cc8a633a89 | ||
|
|
ab72e1a8ba | ||
|
|
d0d3083092 | ||
|
|
6e67e868f3 | ||
|
|
0867ee505d | ||
|
|
f373b2c0c1 | ||
|
|
1949406d8d | ||
|
|
410a60a247 | ||
|
|
fe5db2a7b5 | ||
|
|
64910df46a | ||
|
|
c38ce9a98e | ||
|
|
0f6f22cf3b | ||
|
|
ce4cb3bcdf | ||
|
|
7d5a736b32 | ||
|
|
a4ac8e67f5 | ||
|
|
c9bc376572 | ||
|
|
265a92081a | ||
|
|
0933da5715 | ||
|
|
134d677f68 | ||
|
|
2f8478ef29 | ||
|
|
5d1eae2002 | ||
|
|
135b094ed5 | ||
|
|
5bffbdddf0 | ||
|
|
0e7266ed19 | ||
|
|
e40ec37ed5 | ||
|
|
a4847ef8e9 | ||
|
|
806b2bc683 | ||
|
|
83045d5d7f | ||
|
|
0dc7a182b6 | ||
|
|
ff1d72ad1d | ||
|
|
f55c67f23a | ||
|
|
5d51fb325a | ||
|
|
28ee26e3c0 | ||
|
|
8d77cdb0fd | ||
|
|
fe279024b0 | ||
|
|
a3f5af59c5 | ||
|
|
1f5d1916fc | ||
|
|
c65d08c1b5 | ||
|
|
2dce1f1e70 | ||
|
|
e59b0cb49a | ||
|
|
510b43f01d | ||
|
|
9c04bc75dd | ||
|
|
4fe066fac9 | ||
|
|
54ef3c03b2 | ||
|
|
0424bb2c84 | ||
|
|
47e062b03b | ||
|
|
aef6be006e | ||
|
|
faf21e17d7 | ||
|
|
82ecea3ab6 | ||
|
|
7a864b4b5e | ||
|
|
3b96144ba3 | ||
|
|
4723fb65ed | ||
|
|
c4b776554d | ||
|
|
b24f47f392 | ||
|
|
5aa197b911 | ||
|
|
9a7b3e4701 | ||
|
|
5d02175b07 | ||
|
|
b09e4d2f5e | ||
|
|
4f8563f28e | ||
|
|
8861346bd4 | ||
|
|
f360e1ca56 | ||
|
|
0c2baa2320 | ||
|
|
a0fcae4b63 | ||
|
|
cb19f4aa52 | ||
|
|
572989fe51 | ||
|
|
c365d19eb7 | ||
|
|
60a52eb76a | ||
|
|
a9a446006e | ||
|
|
a2ffb6a74e | ||
|
|
1882beb180 | ||
|
|
2aad740a70 | ||
|
|
e18168b5b4 | ||
|
|
b5c5129adf | ||
|
|
3c4f9e3ada | ||
|
|
003f31aeeb | ||
|
|
dd8b37ae72 | ||
|
|
895c8eab4e | ||
|
|
8cfa76d64c | ||
|
|
bc47dbc153 | ||
|
|
0604e1dd67 | ||
|
|
4f4cebb0a3 | ||
|
|
34107514ba | ||
|
|
06cbceb537 | ||
|
|
98eba96aa5 | ||
|
|
e7e8491287 | ||
|
|
4f4aa6bffa | ||
|
|
c3312397c2 | ||
|
|
cf70b49808 | ||
|
|
914a65f796 | ||
|
|
09f54e5bce | ||
|
|
544ef58ed5 | ||
|
|
fb7e68e028 | ||
|
|
0a45ccd7e2 | ||
|
|
74c217ba19 | ||
|
|
b54b903483 | ||
|
|
5982f2cd1b | ||
|
|
257ab1f478 | ||
|
|
deff761136 | ||
|
|
c63f8bb5c7 | ||
|
|
f635b92baa | ||
|
|
bf48a3592d | ||
|
|
a203ef5926 | ||
|
|
3ca9ba9690 | ||
|
|
dec8797249 | ||
|
|
537fd78171 | ||
|
|
6dc54e0a1a | ||
|
|
bf749bbff1 | ||
|
|
2786421ce1 | ||
|
|
53c9a6f9ed | ||
|
|
fe7108eb09 | ||
|
|
a9f2c0f4e1 | ||
|
|
5c803c2fba | ||
|
|
6079ca77a7 | ||
|
|
8b1447ebf7 | ||
|
|
25798df7fd | ||
|
|
d2c9e79d7d | ||
|
|
13ac7a86bd | ||
|
|
57b1963900 | ||
|
|
59bc334ee2 | ||
|
|
802c00f1bb | ||
|
|
5a0d5541bb | ||
|
|
6cda283bbd | ||
|
|
507c825b7e | ||
|
|
247c933840 | ||
|
|
0ed1b16750 | ||
|
|
afe6d3c1a6 | ||
|
|
1d9bbab735 | ||
|
|
66864d6edd | ||
|
|
de94db870c | ||
|
|
88dc1c7491 | ||
|
|
793cac9d0d | ||
|
|
cfe21a171a | ||
|
|
618d075bc2 | ||
|
|
a5637f846c | ||
|
|
69e9b8cc88 | ||
|
|
a19213a864 | ||
|
|
9f0f285e14 | ||
|
|
139834bded | ||
|
|
575e531927 | ||
|
|
6132d7f766 | ||
|
|
7b08f01997 | ||
|
|
79c5896e79 | ||
|
|
0fda75f4d4 | ||
|
|
d447948a48 | ||
|
|
e623acb1b9 | ||
|
|
be260377d4 | ||
|
|
f065670fcf | ||
|
|
c262d23761 | ||
|
|
babf9772e1 | ||
|
|
bebb72679b | ||
|
|
4a553dea4d | ||
|
|
80dda063ff | ||
|
|
5c5fdee949 | ||
|
|
e878a5ac62 | ||
|
|
d104d7a72c | ||
|
|
fff36b7068 | ||
|
|
52c46614b1 | ||
|
|
224d123c31 | ||
|
|
2d29dab07d | ||
|
|
9ac7d4673d | ||
|
|
f20b59efd3 | ||
|
|
6a5aec997e | ||
|
|
fefc73be64 | ||
|
|
a83f8c96da | ||
|
|
4089c5cfad | ||
|
|
98be3b2e09 | ||
|
|
70cdc53150 | ||
|
|
a95eed7bf8 | ||
|
|
acd17ee183 | ||
|
|
fd31e7c1ec | ||
|
|
c9114faac4 | ||
|
|
821482d73c | ||
|
|
6bdbe5ad81 | ||
|
|
221a886d51 | ||
|
|
36bba14876 | ||
|
|
c9113f2e73 | ||
|
|
08cab146c0 | ||
|
|
2e280e26bc | ||
|
|
3720f2c4a2 | ||
|
|
ff84734968 | ||
|
|
c7901171dd | ||
|
|
7cdb2f33ec | ||
|
|
53ddf899c1 | ||
|
|
b81b33279b | ||
|
|
40718a61d2 | ||
|
|
0d810e7724 | ||
|
|
6a54b46b5b | ||
|
|
0871301657 | ||
|
|
d7da828da2 | ||
|
|
ec4696d1de | ||
|
|
a0eab35d64 | ||
|
|
b48e9141ef | ||
|
|
a179499b1b | ||
|
|
ec3eda47bd | ||
|
|
4d0000e4e9 | ||
|
|
ea9189be08 | ||
|
|
5a5efd9068 | ||
|
|
1f4b98602e | ||
|
|
5b0bbc6491 | ||
|
|
88e47701f1 | ||
|
|
85aade0db3 | ||
|
|
67b1618d80 | ||
|
|
fc04f124d3 | ||
|
|
17b4bddac1 | ||
|
|
7561b89d5d | ||
|
|
2059b2c9e8 | ||
|
|
9d7d2e1503 | ||
|
|
93a8af0c82 | ||
|
|
581190bcd1 | ||
|
|
a9cac251c0 | ||
|
|
04b0ef5e3d | ||
|
|
3a607187ad | ||
|
|
be1130293a | ||
|
|
737dd397ad | ||
|
|
57aba5f10a | ||
|
|
010bd81d21 | ||
|
|
cddc58a4cd | ||
|
|
b3d1428344 | ||
|
|
65974eca18 | ||
|
|
4258ed3e8f | ||
|
|
6adac0480c | ||
|
|
af91b79017 | ||
|
|
f95fea7e86 | ||
|
|
6c52e39dd9 | ||
|
|
4dc28b40d7 | ||
|
|
9cb388d987 | ||
|
|
b4166634e9 | ||
|
|
5a32397b2a | ||
|
|
422cc26b8b | ||
|
|
1f201854b1 | ||
|
|
a6c1934c9e | ||
|
|
4680507991 | ||
|
|
f988d6394d | ||
|
|
c3d71c8883 | ||
|
|
7294f037ad | ||
|
|
1cf5e96891 | ||
|
|
6f18bd5780 | ||
|
|
9ecfc30c4b | ||
|
|
e7fdc579bc | ||
|
|
7eda63a028 | ||
|
|
adce0e0b84 | ||
|
|
08f19f35bf | ||
|
|
d3c99049b3 | ||
|
|
dcb1bbcbe1 | ||
|
|
4cca198ea7 | ||
|
|
edeab2eab9 | ||
|
|
e6663a6ec6 | ||
|
|
86c2dd926c | ||
|
|
fa8f763db4 | ||
|
|
dba3c62fde | ||
|
|
374aee5df3 | ||
|
|
4712564007 | ||
|
|
e53de04027 | ||
|
|
63b8fdfe0a | ||
|
|
ff508fb20c | ||
|
|
30b78715a2 | ||
|
|
4b6a05bb0a | ||
|
|
e598be0db2 | ||
|
|
4e15889265 | ||
|
|
a7c0a9a83d | ||
|
|
f1039814bb | ||
|
|
129134f4d8 | ||
|
|
e812b83bd7 | ||
|
|
a80e4b2557 | ||
|
|
2d0d2cd3da | ||
|
|
09ed78e51f | ||
|
|
2e1963f76b | ||
|
|
661f7536d7 | ||
|
|
17aee85321 | ||
|
|
647199131e | ||
|
|
900d55dcc0 | ||
|
|
bce19afcbd | ||
|
|
b55917f087 | ||
|
|
d080d0fd37 | ||
|
|
6216df0e24 | ||
|
|
e1e73955a4 | ||
|
|
7017432b9f | ||
|
|
7cc4341bdc | ||
|
|
3f9ad36a2e | ||
|
|
187e44a289 | ||
|
|
b1922122f7 | ||
|
|
7a9f78558e | ||
|
|
01948289a6 | ||
|
|
0a7aff98ad | ||
|
|
84d8ea365f | ||
|
|
a0cc1d19a1 | ||
|
|
1c16f09772 | ||
|
|
b423b3cf69 | ||
|
|
665d140f04 | ||
|
|
cf3a40072f | ||
|
|
7d0d637546 | ||
|
|
cbb919d395 | ||
|
|
555dfd97f1 | ||
|
|
59ad00b5a9 | ||
|
|
aa1312dbf2 | ||
|
|
8db986141e | ||
|
|
287c38b2b6 | ||
|
|
df14527ef5 | ||
|
|
c55b74a551 | ||
|
|
32cd7ec2db | ||
|
|
89bf42d561 | ||
|
|
a0afe99d89 | ||
|
|
860e4f1bf4 | ||
|
|
716176cd97 | ||
|
|
4c44fc78f6 | ||
|
|
ed7ed31df9 | ||
|
|
9bc4a324d9 | ||
|
|
ea919c8c7d | ||
|
|
1cb64e240c | ||
|
|
d00e22b6d8 | ||
|
|
590601621b | ||
|
|
8599a6ba6f | ||
|
|
01d1fc2cba | ||
|
|
09d6c7efa9 | ||
|
|
06ce9c8463 | ||
|
|
55e0456b2b | ||
|
|
b99ee81579 | ||
|
|
deecb226ef | ||
|
|
b28029a8de | ||
|
|
9c3d508398 | ||
|
|
55496d7cf6 | ||
|
|
9929a226ed | ||
|
|
ec9fbb56f1 | ||
|
|
7dfbff2855 | ||
|
|
a88db43c34 | ||
|
|
d01f2d533c | ||
|
|
6eeaf0a3a7 | ||
|
|
944dc770fb | ||
|
|
b9a12763b9 | ||
|
|
6c2a42edbe | ||
|
|
5f7023a88b | ||
|
|
7b25c3b297 | ||
|
|
a559347488 | ||
|
|
dab7be303d | ||
|
|
2296c8b1a5 | ||
|
|
327b23d3d8 | ||
|
|
b73087223c | ||
|
|
ba0c94d131 | ||
|
|
097d0ba4da | ||
|
|
0ffc49033e | ||
|
|
633841f4f7 | ||
|
|
4b393e3277 | ||
|
|
a68e2248dc | ||
|
|
f26386dcaf | ||
|
|
ebad56f638 | ||
|
|
1481cb3e8f | ||
|
|
f205de869d | ||
|
|
1185b37ce8 | ||
|
|
e1e3f49c25 | ||
|
|
00582d55c3 | ||
|
|
5af80a5943 | ||
|
|
198e7ec4ad | ||
|
|
b37c73902d | ||
|
|
df483081f5 | ||
|
|
937b2c9341 | ||
|
|
531c90273c | ||
|
|
8e1b7d1749 | ||
|
|
67717db967 | ||
|
|
feb9e3fe07 | ||
|
|
76d5af542f | ||
|
|
92fe572328 | ||
|
|
20a3d327e9 | ||
|
|
962f9b1b42 | ||
|
|
a1e0ae05ab | ||
|
|
f4b0a2d1de | ||
|
|
4ecce49bb4 | ||
|
|
6074135705 | ||
|
|
fa8ade752e | ||
|
|
a9d53fc8f7 | ||
|
|
6db8eb014e | ||
|
|
8db207038b | ||
|
|
201ef811b3 | ||
|
|
f3ecd9ce86 | ||
|
|
9b91ded26e | ||
|
|
dbc93a21f9 | ||
|
|
1d9c27275f | ||
|
|
ea51f388be | ||
|
|
435db747ca | ||
|
|
34b84b9483 | ||
|
|
7edabecbad | ||
|
|
8d6aeca9d6 | ||
|
|
1842c865c6 | ||
|
|
86567aee83 | ||
|
|
98dfa7afca | ||
|
|
663db0f2d3 | ||
|
|
6c214351cb | ||
|
|
88a1eac76e | ||
|
|
32eaac0f13 | ||
|
|
e43fbdfd00 | ||
|
|
32d040bedc | ||
|
|
753ca989db | ||
|
|
3d6301f2d9 | ||
|
|
4b18cbaaa7 | ||
|
|
d5eea1e73c | ||
|
|
b6575393ed | ||
|
|
b90de2fdf4 | ||
|
|
068d7b9c0a | ||
|
|
8aa186acab | ||
|
|
69a4e08c2b | ||
|
|
c942181eef | ||
|
|
7c864ac17f | ||
|
|
ac6fc022e4 | ||
|
|
acf1c77f07 | ||
|
|
071d555e19 | ||
|
|
7ba33d451a | ||
|
|
62b4a37792 | ||
|
|
f5ff1a512a | ||
|
|
0bd61c6877 | ||
|
|
95529b0aba | ||
|
|
daa47e89fc | ||
|
|
8c67a63252 | ||
|
|
503dd1dc5e | ||
|
|
120fdd49cd | ||
|
|
d3e079260d | ||
|
|
e4d1df1753 | ||
|
|
d12a044e8c | ||
|
|
d24ca240c6 | ||
|
|
756b183bff | ||
|
|
84c0a226a4 | ||
|
|
4f083dcef4 | ||
|
|
dea46a718b | ||
|
|
6e783b023c | ||
|
|
cb9808d554 | ||
|
|
424a31d906 | ||
|
|
458b469a82 | ||
|
|
8a9661f0d0 | ||
|
|
e2bd2f0530 | ||
|
|
20234655e6 | ||
|
|
9676e075cf | ||
|
|
17dcbcb791 | ||
|
|
027e64481d | ||
|
|
4c4df687ce | ||
|
|
103e7468d0 | ||
|
|
011cc3a109 | ||
|
|
3a7a39e149 | ||
|
|
6afdbe5154 | ||
|
|
1285499380 | ||
|
|
fc7255576e | ||
|
|
0457f54de5 | ||
|
|
8fd6785db3 | ||
|
|
e975f8f1f1 | ||
|
|
fc557b7ba5 | ||
|
|
b9f79d6e6b | ||
|
|
25b871c211 | ||
|
|
a8b48fcdc1 | ||
|
|
67dc1b8cd4 | ||
|
|
c6ad2ee16b | ||
|
|
60cdc118ae | ||
|
|
8d014b8bb4 | ||
|
|
c3a46d0610 | ||
|
|
e7c063ff5e | ||
|
|
a002497ce1 | ||
|
|
0611b1a0d5 | ||
|
|
358f84b1ee | ||
|
|
60c842b7d3 | ||
|
|
20bf067e3d | ||
|
|
f1d6dd63b8 | ||
|
|
0ad1f29228 | ||
|
|
e1bbc19806 | ||
|
|
f21f5aea95 | ||
|
|
60943350c1 | ||
|
|
8aeddfcd67 | ||
|
|
31e82da318 | ||
|
|
8c67f79abd | ||
|
|
48e5bb871f | ||
|
|
df244c5c15 | ||
|
|
7f4a68ea1d | ||
|
|
28095dab98 | ||
|
|
383f64810b | ||
|
|
99fcfee213 | ||
|
|
a0bd3e74e6 | ||
|
|
01a326a0d5 | ||
|
|
8e2085cf27 | ||
|
|
621fbf592d | ||
|
|
85b59a8f6b | ||
|
|
239851b03d | ||
|
|
9a3085ee7d | ||
|
|
bfe243f670 | ||
|
|
e28a3dc41a | ||
|
|
9b12abdc7d | ||
|
|
37cbb5b2fe | ||
|
|
6bf096355b | ||
|
|
ba9bf508cf | ||
|
|
e96f15e380 | ||
|
|
2ff9dfb0f4 | ||
|
|
b10cda47e5 | ||
|
|
c99b7f2745 | ||
|
|
b1ac3be369 | ||
|
|
d3a426b6ba | ||
|
|
560ee0c4d1 | ||
|
|
732775e649 | ||
|
|
49a408bcc6 | ||
|
|
849f9f7732 | ||
|
|
1cec5e6601 | ||
|
|
ff6a7b3942 | ||
|
|
ccd1f31127 | ||
|
|
533215b6bc | ||
|
|
a14723fb15 | ||
|
|
73426fe1c9 | ||
|
|
f7620a7da5 | ||
|
|
3e0cd463d8 | ||
|
|
e6aa091800 | ||
|
|
a2cb1f2aeb | ||
|
|
629a680b2b | ||
|
|
ad3f034997 | ||
|
|
126eaa517e | ||
|
|
8772e17be4 | ||
|
|
347dedf9bf | ||
|
|
60752578b8 | ||
|
|
df3743ed03 | ||
|
|
ce67238fd9 | ||
|
|
98d1ab6790 | ||
|
|
170e43de24 | ||
|
|
6a857dd290 | ||
|
|
6b1e03f362 | ||
|
|
e792d8d663 | ||
|
|
621a45653e | ||
|
|
9ead1d8a13 | ||
|
|
97fbf8c6e5 | ||
|
|
7ae2d45fc6 | ||
|
|
11902f6bd6 | ||
|
|
65e2b02a84 | ||
|
|
6c6fdf9ed4 | ||
|
|
296bf02466 | ||
|
|
3ef4e501f9 | ||
|
|
6466f7f936 | ||
|
|
245cf4ccf2 | ||
|
|
c9ea6c286d | ||
|
|
17e33fecc3 | ||
|
|
54286bb0d2 | ||
|
|
00ac1b2b36 | ||
|
|
9e0960ebf2 | ||
|
|
f027d9a9cd | ||
|
|
03b2de6c61 | ||
|
|
c611ef8c01 | ||
|
|
0db5bf24ac | ||
|
|
7576648105 | ||
|
|
62a7ed79d5 | ||
|
|
b4e57e5481 | ||
|
|
1c7f081f18 | ||
|
|
f97a8bc5ce | ||
|
|
e9e75acf52 | ||
|
|
4b1bcabafa | ||
|
|
d301076f2b | ||
|
|
0c1afc0370 | ||
|
|
0af042f94d | ||
|
|
2997109258 | ||
|
|
4c4369da50 | ||
|
|
46177d0962 | ||
|
|
5846e37769 | ||
|
|
28ad027fa1 | ||
|
|
a6775a1e95 | ||
|
|
47e47f9804 | ||
|
|
ed699333a4 | ||
|
|
90abe8d769 | ||
|
|
66344e4ced | ||
|
|
d2f238c825 | ||
|
|
c5059dce19 | ||
|
|
5375f5115a | ||
|
|
be2c5e70b2 | ||
|
|
bf5af914f3 | ||
|
|
18d7a5c212 | ||
|
|
9126677e69 | ||
|
|
e2ab2d484b | ||
|
|
896b0a1647 | ||
|
|
e537ed3d7e | ||
|
|
39013ceef4 | ||
|
|
981d90eb66 | ||
|
|
efc24cfb05 | ||
|
|
e0c967b367 | ||
|
|
6164028b2e | ||
|
|
44bbd1d24f | ||
|
|
517c187ca4 | ||
|
|
d205fbc73b | ||
|
|
0e3a17ef21 | ||
|
|
49b59dabbe | ||
|
|
2d9463dcee | ||
|
|
759e1c69e2 | ||
|
|
978d69a58a | ||
|
|
716d6cb8ec | ||
|
|
7ae175ec5e | ||
|
|
4f56cf6170 | ||
|
|
0cdc1c5c2f | ||
|
|
24ba5b3eed | ||
|
|
cdd59b5615 | ||
|
|
8dcf2df43b | ||
|
|
1e11a008ee | ||
|
|
e45c38ca78 | ||
|
|
3ad385e02f | ||
|
|
15fe6c871e | ||
|
|
b51b1393b7 | ||
|
|
2f612e8897 | ||
|
|
bcbddb60cf | ||
|
|
87f00e1531 | ||
|
|
48a66c0966 | ||
|
|
36e4fff813 | ||
|
|
ce115014cb | ||
|
|
b26fada91d | ||
|
|
867125e52f | ||
|
|
cc113fad27 | ||
|
|
2e7d3fa9d0 | ||
|
|
8facfd4b95 | ||
|
|
f07c2f5ce1 | ||
|
|
52f74066d0 | ||
|
|
b9ce62a559 | ||
|
|
5d38ccbb68 | ||
|
|
717f5c39e5 | ||
|
|
36da8ac0b9 | ||
|
|
d11efef9b6 | ||
|
|
329fd116f9 | ||
|
|
ff990691b5 | ||
|
|
cb71dc6e50 | ||
|
|
66dc9c4254 | ||
|
|
19a54623eb | ||
|
|
676383b3ad | ||
|
|
c5c5fb1392 | ||
|
|
91a529497e | ||
|
|
8dfe47d0ca | ||
|
|
e7aaf68531 | ||
|
|
1b75000ceb | ||
|
|
e198cdfbbb | ||
|
|
16d07316bb | ||
|
|
275c39e8ff | ||
|
|
ba75477e0d | ||
|
|
8c2464019c | ||
|
|
00f819d2f8 | ||
|
|
051ee25e3a | ||
|
|
a50a3aab9c | ||
|
|
b7e26f66b0 | ||
|
|
e29a0317f1 | ||
|
|
82f5606151 | ||
|
|
2fb996e021 | ||
|
|
03307d50ce | ||
|
|
986815b169 | ||
|
|
166698a592 | ||
|
|
dcb8837fff | ||
|
|
92ebd89bb0 | ||
|
|
897a2e0939 | ||
|
|
9dac47e8e5 | ||
|
|
1d460f514b | ||
|
|
84ef943864 | ||
|
|
a43d59f60b | ||
|
|
cb900594cb | ||
|
|
32d91760ed | ||
|
|
d66bd0e55e | ||
|
|
1cacdc9ccf | ||
|
|
a8a70eff92 | ||
|
|
278e1f0f33 | ||
|
|
43c9a55283 | ||
|
|
b92d0f8e45 | ||
|
|
42f7b29f54 | ||
|
|
3abd004a02 | ||
|
|
1ee6c142e9 | ||
|
|
15323932c1 | ||
|
|
c5e0e3a924 | ||
|
|
120b4af46d | ||
|
|
072627ffd2 | ||
|
|
ed152dc849 | ||
|
|
40f74bb1bd | ||
|
|
08897342ba | ||
|
|
93b0288c51 | ||
|
|
a05621feeb | ||
|
|
698195400e | ||
|
|
25867e6e6a | ||
|
|
9cf0c10ff0 | ||
|
|
8050ce4ed6 | ||
|
|
e75afa0494 | ||
|
|
97c0e4fc9f | ||
|
|
ac9c8d9121 | ||
|
|
df89a1001a | ||
|
|
ba094b4b95 | ||
|
|
f780f37d3d | ||
|
|
451093d156 | ||
|
|
26877aeda8 | ||
|
|
c7523ac420 | ||
|
|
1fe9973398 | ||
|
|
aa6f02aa9f | ||
|
|
775b34822c | ||
|
|
ead9b6e6e2 | ||
|
|
1a5e7ea630 | ||
|
|
8dd8644540 | ||
|
|
94f72eac9d | ||
|
|
e1b3512240 | ||
|
|
b86802c03d | ||
|
|
5abe94f6bd | ||
|
|
817d61c732 | ||
|
|
d8f73c57f2 | ||
|
|
cf6dbbf6c4 | ||
|
|
0b79deeaf8 | ||
|
|
5164f31fba | ||
|
|
d104cfc66a | ||
|
|
b9febdc396 | ||
|
|
796883c8c2 | ||
|
|
8f3151368a | ||
|
|
ef2c7d4107 | ||
|
|
90623e0711 | ||
|
|
3e8a2a47fd | ||
|
|
81eb55a58d | ||
|
|
f43a9d5ce2 | ||
|
|
2affab346f | ||
|
|
9028367707 | ||
|
|
10fd46bbc2 | ||
|
|
fd03b91a18 | ||
|
|
02ec3cc003 | ||
|
|
8254db89a5 | ||
|
|
fafbf5e412 | ||
|
|
55e7abb282 | ||
|
|
1b941be8b7 | ||
|
|
441d305504 | ||
|
|
2b0164a398 | ||
|
|
27dee8b368 | ||
|
|
da396d86d5 | ||
|
|
0f9b7c11aa | ||
|
|
cfaea1e184 | ||
|
|
1c7ebe478d | ||
|
|
8c4e6f441e | ||
|
|
2e3f0f0558 | ||
|
|
8555475e6e | ||
|
|
a516f83aff | ||
|
|
7b6ff3e22f | ||
|
|
a32fdbd6f3 | ||
|
|
6c5513cdac | ||
|
|
7eb59689f8 | ||
|
|
f6db9cb01c | ||
|
|
1e3f3310c2 | ||
|
|
4d672fae45 | ||
|
|
0e0914e302 | ||
|
|
ff1e7a4dd3 | ||
|
|
afbd46eed0 | ||
|
|
822a628269 | ||
|
|
8c12109d97 | ||
|
|
35abe99c02 | ||
|
|
43ec6da9a2 | ||
|
|
adc6a704fc | ||
|
|
47d0f01a57 | ||
|
|
666bf3887e | ||
|
|
f9e57cf0a3 | ||
|
|
bcfd599ca7 | ||
|
|
0a4480820c | ||
|
|
dbd917d0ff | ||
|
|
09544b61b4 | ||
|
|
d0c73a5fe2 | ||
|
|
1770240d45 | ||
|
|
8fec093497 | ||
|
|
41cccd2d1b | ||
|
|
efdbadcb8e | ||
|
|
39f6f08319 | ||
|
|
2ed9b72c81 | ||
|
|
2b656f51ff | ||
|
|
3bfb4ff735 | ||
|
|
945f4ead36 | ||
|
|
a5b5b80466 | ||
|
|
5f812bbac1 | ||
|
|
c17b096c08 | ||
|
|
684c22e9e9 | ||
|
|
b0befdc750 | ||
|
|
2b1cec8e09 | ||
|
|
50fd314f6a | ||
|
|
c0805aa081 | ||
|
|
a7f36b4537 | ||
|
|
dc2ecda57e | ||
|
|
aed13e9839 | ||
|
|
2a1a002956 | ||
|
|
d946b4e55f | ||
|
|
da2858c126 | ||
|
|
19ab49c582 | ||
|
|
f792ad3c62 | ||
|
|
7daeacd211 | ||
|
|
301f3ca22c | ||
|
|
e7663095a2 | ||
|
|
e9344dae9d | ||
|
|
544ec3f2ff | ||
|
|
3fcd4c3168 | ||
|
|
6af9a6f067 | ||
|
|
ed338e0a9c | ||
|
|
283050ba06 | ||
|
|
fcd0d75014 | ||
|
|
5f1affcb9e | ||
|
|
3e58e1d451 | ||
|
|
6f95aae5b0 | ||
|
|
91e237137f | ||
|
|
ee714c4d75 | ||
|
|
2ec4b49d3a | ||
|
|
407adbc782 | ||
|
|
55d45e7dc1 | ||
|
|
e75a4c59cb | ||
|
|
066658625b | ||
|
|
ae8630e6e3 | ||
|
|
ede0aaf615 | ||
|
|
22a05e6ea9 | ||
|
|
2379d54e10 | ||
|
|
4aac49aac9 | ||
|
|
5235961871 | ||
|
|
9feb321a1f | ||
|
|
d329d24094 | ||
|
|
c091ef3cdc | ||
|
|
39a7dfdd24 | ||
|
|
277821fc91 | ||
|
|
d188b08c32 | ||
|
|
311fc5e07a | ||
|
|
61cf342db2 | ||
|
|
403eaa8a9a | ||
|
|
63dacda4c6 | ||
|
|
96a9c17a2a | ||
|
|
eab06e1768 | ||
|
|
aa492fb424 | ||
|
|
3567f67daa | ||
|
|
53f03bab95 | ||
|
|
896ed2b4fd | ||
|
|
037363c20a | ||
|
|
f99ca4518d | ||
|
|
0e082a44c8 | ||
|
|
bb12a5f235 | ||
|
|
0df601e6fb | ||
|
|
50fff520ab | ||
|
|
7063f2a764 | ||
|
|
5f39ee5c62 | ||
|
|
51cf939bf7 | ||
|
|
8e75fd56d2 | ||
|
|
c099460c69 | ||
|
|
f4ba07e626 | ||
|
|
88b1462787 | ||
|
|
54bfc20b36 | ||
|
|
2c6d543e6b | ||
|
|
4904bd8c1c | ||
|
|
a678de68b8 | ||
|
|
3b31a877d0 | ||
|
|
f8ecb81116 | ||
|
|
56908d34dc | ||
|
|
1c4b2ab5d3 | ||
|
|
d2d33625c0 | ||
|
|
aa65d79715 | ||
|
|
0d384fd495 | ||
|
|
1290d178c2 | ||
|
|
4fcf77f855 | ||
|
|
4256059cab | ||
|
|
c9e4352962 | ||
|
|
22933d24a6 | ||
|
|
9a4a1610c4 | ||
|
|
a3398a1754 | ||
|
|
54115a7d07 | ||
|
|
b5be8aee96 | ||
|
|
a8d601600e | ||
|
|
014fcc02fe | ||
|
|
2527b95924 | ||
|
|
0cba627a37 | ||
|
|
1561d3e8db | ||
|
|
d162e3dedd | ||
|
|
37ba066a3b | ||
|
|
ce462c57a8 | ||
|
|
ced979131a | ||
|
|
479aac3fd7 | ||
|
|
40529f645d | ||
|
|
3bd12be85d | ||
|
|
010c17b6d5 | ||
|
|
1b90e1c892 | ||
|
|
0bc8ceb06c | ||
|
|
d23bf6fdba | ||
|
|
bf935ac921 | ||
|
|
2634beb2f4 | ||
|
|
b38aeeb04f | ||
|
|
1e5bec8636 | ||
|
|
06ab5d5dd9 | ||
|
|
e0fa887adb | ||
|
|
487c18618f | ||
|
|
ec9be04f79 | ||
|
|
b8bb814765 | ||
|
|
7b02fbfeb8 | ||
|
|
f06c478a6d | ||
|
|
c345f379b2 | ||
|
|
c7cf064842 | ||
|
|
18eb0774e8 | ||
|
|
a3f179531b | ||
|
|
ca0ce0ef7c | ||
|
|
a2bd8494ab | ||
|
|
6c314abc1a | ||
|
|
3c2de5b976 | ||
|
|
ce6548211d | ||
|
|
01d2b5acc6 | ||
|
|
f50d6e9c0c | ||
|
|
e7726ac218 | ||
|
|
071370a282 | ||
|
|
7aebf5d8ab | ||
|
|
23adec8978 | ||
|
|
c1321ee330 | ||
|
|
1cfc567b03 | ||
|
|
5349605541 | ||
|
|
4596690358 | ||
|
|
09f9ef723f | ||
|
|
bc0d2ce2a7 | ||
|
|
93ca7dc46f | ||
|
|
9b3884d44c | ||
|
|
0b36691872 | ||
|
|
c15e22a17b | ||
|
|
237c155a8d | ||
|
|
ae4e4141de | ||
|
|
9a3f982fc2 | ||
|
|
6576746f80 | ||
|
|
89ecede9d9 | ||
|
|
3b95c93bd3 | ||
|
|
28e30a13c0 | ||
|
|
ab905fb8dc | ||
|
|
0692e7d337 | ||
|
|
b2579e935f | ||
|
|
0903c53b92 | ||
|
|
7b8a92068d | ||
|
|
d5ca4f58c8 | ||
|
|
15f5b40bce | ||
|
|
a954f95c22 | ||
|
|
61cd183aee | ||
|
|
7320a1bf20 | ||
|
|
9e484d252e | ||
|
|
9503c9f97f | ||
|
|
3c89637be2 | ||
|
|
00979552b7 | ||
|
|
59a77b163d | ||
|
|
7b69ae210e | ||
|
|
4900035692 | ||
|
|
b38b550da7 | ||
|
|
f45f05e330 | ||
|
|
2dba00f966 | ||
|
|
535873a970 | ||
|
|
f4525038b3 | ||
|
|
ccd6026731 | ||
|
|
a5b3dac370 | ||
|
|
ac812adc87 | ||
|
|
6ead76fb8c | ||
|
|
b068242d5e | ||
|
|
a3649588d4 | ||
|
|
043a4c500b | ||
|
|
0f559f629f | ||
|
|
97e5a6c457 | ||
|
|
40fcb970bf | ||
|
|
c2b3072c46 | ||
|
|
235ce500dd | ||
|
|
4e6fd4b89f | ||
|
|
56a1800fb9 | ||
|
|
2c46fad3b0 | ||
|
|
d43eaa4bf9 | ||
|
|
423299ab46 | ||
|
|
e8ae841347 | ||
|
|
bb1c1adc88 | ||
|
|
b0fb6d8561 | ||
|
|
27bd1d3f5f | ||
|
|
aed6d774a8 | ||
|
|
d0baee2b90 | ||
|
|
16265689d5 | ||
|
|
d2204367a2 | ||
|
|
c485690c45 | ||
|
|
950cbe6794 | ||
|
|
d0c7dc7843 | ||
|
|
2f0c9a7e97 | ||
|
|
ebbf3b4a5a | ||
|
|
33feeee396 | ||
|
|
35b39ff15c | ||
|
|
f9c009116d | ||
|
|
43be5f994c | ||
|
|
347eb64b40 | ||
|
|
ed286d8f5b | ||
|
|
9d1bff8c80 | ||
|
|
99a820325e | ||
|
|
3a811023fe | ||
|
|
c2dfbb3f0a | ||
|
|
d6aaad9447 | ||
|
|
ab7195fca5 | ||
|
|
654f6d603a | ||
|
|
0645a28e21 | ||
|
|
b12713ab34 | ||
|
|
7a008ef1c5 | ||
|
|
5a5e35f54f | ||
|
|
88fa699c77 | ||
|
|
06b519e0b5 | ||
|
|
ce67397087 | ||
|
|
cd48fb3ab2 | ||
|
|
60eb7203fe | ||
|
|
4ba42ec044 | ||
|
|
786743f918 | ||
|
|
ae419d6f87 | ||
|
|
4d75c71870 | ||
|
|
de372ee79b | ||
|
|
c8ddc89614 | ||
|
|
4a25e16016 | ||
|
|
857da0b154 | ||
|
|
f6346d1678 | ||
|
|
91899c5f19 | ||
|
|
502d9066c1 | ||
|
|
11057f41d3 | ||
|
|
c38dc7b628 | ||
|
|
6ba8769e35 | ||
|
|
bf012cc01a | ||
|
|
3b7be0c3b4 | ||
|
|
d282acf17d | ||
|
|
18e4b9019a | ||
|
|
ab7a1a7229 | ||
|
|
925b4a6010 | ||
|
|
b754cb650b | ||
|
|
0b8526b5df | ||
|
|
066592623e | ||
|
|
46cfe8d789 | ||
|
|
f81e212431 | ||
|
|
e802bcc8fc | ||
|
|
8bc27c1eb4 | ||
|
|
8615b5a57b | ||
|
|
95e6e409fc | ||
|
|
d3eb408502 | ||
|
|
4c670d230c | ||
|
|
5cd992bf16 | ||
|
|
64a6b64698 | ||
|
|
1cd4910fa5 | ||
|
|
feceab1016 | ||
|
|
544bb975b2 | ||
|
|
5045b9d945 | ||
|
|
a9a8d81b8a | ||
|
|
bf053e8f19 | ||
|
|
614e154e62 | ||
|
|
98f515a836 | ||
|
|
dd70b31dd3 | ||
|
|
44b5411d5f | ||
|
|
cae9b66e5a | ||
|
|
01e6720d96 | ||
|
|
16a05ec9be | ||
|
|
8b75805f06 | ||
|
|
0820244331 | ||
|
|
13ab26b29d | ||
|
|
cdb194d0e7 | ||
|
|
7c00de886c | ||
|
|
75a0b02de6 | ||
|
|
39ae81fd3c | ||
|
|
a9dc96b6a1 | ||
|
|
73e023ccb8 | ||
|
|
9ba854af7b | ||
|
|
afd925108a | ||
|
|
5522c70f26 | ||
|
|
5ccc500eca | ||
|
|
726830f897 | ||
|
|
de2214bbce | ||
|
|
ff4abcae9a | ||
|
|
ea4c50a16f | ||
|
|
8c8c1f4267 | ||
|
|
e20775f1d9 | ||
|
|
0f4ac5ca69 | ||
|
|
bd5050a59a | ||
|
|
5ea5091597 | ||
|
|
55c58af7ad | ||
|
|
a895a0aa09 | ||
|
|
2a41d175fd | ||
|
|
fa5a4be7ea | ||
|
|
02e5453e41 | ||
|
|
aeb094d51b | ||
|
|
465b92acc5 | ||
|
|
8becd081c8 | ||
|
|
b80bfbc1dc | ||
|
|
89fadd1967 | ||
|
|
b7d36efc64 | ||
|
|
417ef77459 | ||
|
|
f5684edf71 | ||
|
|
469e7ec41a | ||
|
|
e1988f72ab | ||
|
|
74e13310be | ||
|
|
8ad7314910 | ||
|
|
dbf7427608 | ||
|
|
97c2e6e4bf | ||
|
|
68ab47a5ef | ||
|
|
087cf49058 | ||
|
|
f23025cae6 | ||
|
|
08fab207fc | ||
|
|
c1bd7a1def | ||
|
|
eb40ce0bea | ||
|
|
60f250621a | ||
|
|
df417bc9bf | ||
|
|
e7cb8e3da7 | ||
|
|
d60b777d1f | ||
|
|
f0ed3d7753 | ||
|
|
0da4a88d79 | ||
|
|
1b97d99a7e | ||
|
|
784642e3a5 | ||
|
|
6f77632e17 | ||
|
|
ac9b109e9f | ||
|
|
c57552f731 | ||
|
|
fcce7facf2 | ||
|
|
47ef3891da | ||
|
|
2a49b9e2d4 | ||
|
|
7c6476596f | ||
|
|
661a395eb5 | ||
|
|
686e861d08 | ||
|
|
a2ab0ba4e4 | ||
|
|
8aac4975c8 | ||
|
|
1b1991a743 | ||
|
|
a6b59da3cc | ||
|
|
c19c78991f | ||
|
|
3e8eea1755 | ||
|
|
d2b00d5eda | ||
|
|
7ea38a50f4 | ||
|
|
4626cee6fb | ||
|
|
719e8e1c55 | ||
|
|
0662e854cd | ||
|
|
fca16b356e | ||
|
|
7f7cdbaadc | ||
|
|
11cfb2dc0f | ||
|
|
04c72ca541 | ||
|
|
0e7cc17c15 | ||
|
|
6fc6609c7b | ||
|
|
e61c4195ea | ||
|
|
c580c54e70 | ||
|
|
8d6aa5d301 | ||
|
|
799af7ebe5 | ||
|
|
ca0b9db25f | ||
|
|
9e84a0fabf | ||
|
|
cb1977f690 | ||
|
|
f8a02acfc1 | ||
|
|
6c73e3b6ff | ||
|
|
0f92254533 | ||
|
|
1cd8fa7e36 | ||
|
|
9702f11125 | ||
|
|
0eb81af705 | ||
|
|
3fbf8cca93 | ||
|
|
5c68a0ee39 | ||
|
|
21de495ae4 | ||
|
|
e482af9ba7 | ||
|
|
579756f084 | ||
|
|
73e56def0a | ||
|
|
67114eb468 | ||
|
|
fcfaf89bbc | ||
|
|
105afcc58e | ||
|
|
1d697c73b4 | ||
|
|
655c2032ff | ||
|
|
0f1c4b3d2d | ||
|
|
d9552338af | ||
|
|
03b10712c3 | ||
|
|
bbceda2bc2 | ||
|
|
a954340626 | ||
|
|
89c05ff140 | ||
|
|
635e253661 | ||
|
|
727c89ea9d | ||
|
|
591b36ef11 | ||
|
|
c564c850d7 | ||
|
|
e4eeada959 | ||
|
|
bb302f62d5 | ||
|
|
9a85d5ca66 | ||
|
|
5409b8daa1 | ||
|
|
63e83f83b9 | ||
|
|
003236da18 | ||
|
|
f4b5ec7aa0 | ||
|
|
fc73536416 | ||
|
|
c2b57ad752 | ||
|
|
605cfc618a | ||
|
|
7d8de725a9 | ||
|
|
aec7744fb1 | ||
|
|
7401ba6ef5 | ||
|
|
ec56382174 | ||
|
|
e6c0e1efe0 | ||
|
|
668dc948b4 | ||
|
|
d7bc5e4a88 | ||
|
|
57edf47785 | ||
|
|
32c57ebcd4 | ||
|
|
4f89c94d4e | ||
|
|
3906e92051 | ||
|
|
5ed57bdcef | ||
|
|
581d706361 | ||
|
|
bc8d763777 | ||
|
|
6aefedbf42 | ||
|
|
27506b2547 | ||
|
|
99168d96a9 | ||
|
|
354e82eaed | ||
|
|
208a51fafb | ||
|
|
4276923e3a | ||
|
|
d848186c74 | ||
|
|
814647850a | ||
|
|
42b80239df | ||
|
|
b77bb16d50 | ||
|
|
e06f8e9706 | ||
|
|
daf7a027e1 | ||
|
|
2977a54005 | ||
|
|
c276207691 | ||
|
|
1b6f34c398 | ||
|
|
6783551d96 | ||
|
|
0be80ed7be | ||
|
|
410d6003e2 | ||
|
|
bd7bc31f6f | ||
|
|
8eb9b03a68 | ||
|
|
0634e535e2 | ||
|
|
7fbac52aa6 | ||
|
|
fc6f4f427a | ||
|
|
f7b237b8ce | ||
|
|
2d11372423 | ||
|
|
c68efc879d | ||
|
|
8802607c62 | ||
|
|
e57c2e8606 | ||
|
|
7a1e639720 | ||
|
|
c8735a6aed | ||
|
|
53be0a0747 | ||
|
|
71994826d6 | ||
|
|
67cb67cbb8 | ||
|
|
9fab560c4b | ||
|
|
9467d915ad | ||
|
|
0f71c72e0a | ||
|
|
08224f87d7 | ||
|
|
6778958999 |
86
.gitignore
vendored
Normal file
86
.gitignore
vendored
Normal file
@@ -0,0 +1,86 @@
|
||||
### Android ###
|
||||
# Built application files
|
||||
*.apk
|
||||
*.ap_
|
||||
|
||||
# Files for the ART/Dalvik VM
|
||||
*.dex
|
||||
|
||||
# Java class files
|
||||
*.class
|
||||
|
||||
# Generated files
|
||||
bin/
|
||||
gen/
|
||||
out/
|
||||
|
||||
# Gradle files
|
||||
.gradle/
|
||||
build/
|
||||
|
||||
# Local configuration file (sdk path, etc)
|
||||
local.properties
|
||||
|
||||
# Proguard folder generated by Eclipse
|
||||
proguard/
|
||||
|
||||
# Log Files
|
||||
*.log
|
||||
|
||||
# Android Studio Navigation editor temp files
|
||||
.navigation/
|
||||
|
||||
# Android Studio captures folder
|
||||
captures/
|
||||
|
||||
# Built application files
|
||||
/*/build/
|
||||
|
||||
# Local configuration file (sdk path, etc)
|
||||
local.properties
|
||||
|
||||
### Gradle ###
|
||||
.gradle
|
||||
/build/
|
||||
|
||||
# Ignore Gradle GUI config
|
||||
gradle-app.setting
|
||||
|
||||
# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
|
||||
!gradle-wrapper.jar
|
||||
|
||||
# Cache of project
|
||||
.gradletasknamecache
|
||||
|
||||
# # Work around https://youtrack.jetbrains.com/issue/IDEA-116898
|
||||
# gradle/wrapper/gradle-wrapper.properties
|
||||
|
||||
# Signing files
|
||||
.signing/*.keystore
|
||||
!.signing/debug.keystore
|
||||
|
||||
# User-specific configurations
|
||||
.idea/libraries/
|
||||
.idea/workspace.xml
|
||||
.idea/tasks.xml
|
||||
.idea/.name
|
||||
.idea/compiler.xml
|
||||
.idea/copyright/profiles_settings.xml
|
||||
.idea/encodings.xml
|
||||
.idea/misc.xml
|
||||
.idea/modules.xml
|
||||
.idea/scopes/scope_settings.xml
|
||||
.idea/caches/build_file_checksums.ser
|
||||
.idea/caches/gradle_models.ser
|
||||
.idea/vcs.xml
|
||||
.idea/assetWizardSettings.xml
|
||||
*.iml
|
||||
|
||||
# OS-specific files
|
||||
.DS_Store
|
||||
.DS_Store?
|
||||
._*
|
||||
.Spotlight-V100
|
||||
.Trashes
|
||||
ehthumbs.db
|
||||
Thumbs.db
|
||||
14
.idea/assetWizardSettings.xml
generated
Normal file
14
.idea/assetWizardSettings.xml
generated
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="WizardSettings">
|
||||
<option name="children">
|
||||
<map>
|
||||
<entry key="imageWizard">
|
||||
<value>
|
||||
<PersistentState />
|
||||
</value>
|
||||
</entry>
|
||||
</map>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
||||
29
.idea/codeStyles/Project.xml
generated
Normal file
29
.idea/codeStyles/Project.xml
generated
Normal file
@@ -0,0 +1,29 @@
|
||||
<component name="ProjectCodeStyleConfiguration">
|
||||
<code_scheme name="Project" version="173">
|
||||
<Objective-C-extensions>
|
||||
<file>
|
||||
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Import" />
|
||||
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Macro" />
|
||||
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Typedef" />
|
||||
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Enum" />
|
||||
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Constant" />
|
||||
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Global" />
|
||||
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Struct" />
|
||||
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="FunctionPredecl" />
|
||||
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Function" />
|
||||
</file>
|
||||
<class>
|
||||
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Property" />
|
||||
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Synthesize" />
|
||||
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InitMethod" />
|
||||
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="StaticMethod" />
|
||||
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InstanceMethod" />
|
||||
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="DeallocMethod" />
|
||||
</class>
|
||||
<extensions>
|
||||
<pair source="cpp" header="h" fileNamingConvention="NONE" />
|
||||
<pair source="c" header="h" fileNamingConvention="NONE" />
|
||||
</extensions>
|
||||
</Objective-C-extensions>
|
||||
</code_scheme>
|
||||
</component>
|
||||
15
.idea/gradle.xml
generated
Normal file
15
.idea/gradle.xml
generated
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="GradleSettings">
|
||||
<option name="linkedExternalProjectsSettings">
|
||||
<GradleProjectSettings>
|
||||
<compositeConfiguration>
|
||||
<compositeBuild compositeDefinitionSource="SCRIPT" />
|
||||
</compositeConfiguration>
|
||||
<option name="distributionType" value="DEFAULT_WRAPPED" />
|
||||
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||
<option name="resolveModulePerSourceSet" value="false" />
|
||||
</GradleProjectSettings>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
||||
12
.idea/runConfigurations.xml
generated
Normal file
12
.idea/runConfigurations.xml
generated
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="RunConfigurationProducerService">
|
||||
<option name="ignoredProducers">
|
||||
<set>
|
||||
<option value="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer" />
|
||||
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer" />
|
||||
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer" />
|
||||
</set>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
||||
BIN
.signing/debug.keystore
Normal file
BIN
.signing/debug.keystore
Normal file
Binary file not shown.
@@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="src" path="gen"/>
|
||||
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
|
||||
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
|
||||
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
|
||||
<classpathentry kind="output" path="bin/classes"/>
|
||||
</classpath>
|
||||
16
AndorsTrail/.gitignore
vendored
16
AndorsTrail/.gitignore
vendored
@@ -1,16 +0,0 @@
|
||||
# Android ignores
|
||||
gen/
|
||||
bin/
|
||||
target/
|
||||
local.properties
|
||||
|
||||
#IntelliJ
|
||||
.idea/
|
||||
out/production/
|
||||
out/test/
|
||||
*.iws
|
||||
*.ipr
|
||||
|
||||
# Other
|
||||
.metadata
|
||||
.svn/
|
||||
@@ -1,33 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>AndorsTrail</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>com.android.ide.eclipse.adt.ApkBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
@@ -1,36 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="JAVA_MODULE" version="4">
|
||||
<component name="EclipseModuleManager" forced_jdk="true">
|
||||
<conelement value="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK" />
|
||||
<conelement value="com.android.ide.eclipse.adt.LIBRARIES" />
|
||||
<src_description expected_position="1">
|
||||
<src_folder value="file://$MODULE_DIR$/src" expected_position="0" />
|
||||
<src_folder value="file://$MODULE_DIR$/gen" expected_position="1" />
|
||||
</src_description>
|
||||
</component>
|
||||
<component name="FacetManager">
|
||||
<facet type="android" name="Android">
|
||||
<configuration />
|
||||
</facet>
|
||||
</component>
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="false">
|
||||
<output url="file://$MODULE_DIR$/bin/classes" />
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/gen" isTestSource="false" generated="true" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MODULE_DIR$/libs/android-support-v4.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
</component>
|
||||
</module>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -1,11 +0,0 @@
|
||||
# This file is automatically generated by Android Tools.
|
||||
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
|
||||
#
|
||||
# This file must be checked in Version Control Systems.
|
||||
#
|
||||
# To customize properties used by the Ant build system use,
|
||||
# "ant.properties", and override values to adapt the script to your
|
||||
# project structure.
|
||||
|
||||
# Project target.
|
||||
target=android-21
|
||||
@@ -1,116 +0,0 @@
|
||||
[ {
|
||||
"id":"guynmart_wine",
|
||||
"iconID":"items_consumables:50",
|
||||
"name":"Wine",
|
||||
"hasManualPrice":1,
|
||||
"baseMarketCost":25,
|
||||
"category":"food",
|
||||
"useEffect":{ "conditionsSource":[{ "condition":"food", "magnitude":2, "duration":2, "chance":"100" }] }
|
||||
},
|
||||
{
|
||||
"id":"guynmart_herbs",
|
||||
"iconID":"items_japozero:579",
|
||||
"name":"Hannah's special herbs",
|
||||
"displaytype":"quest",
|
||||
"hasManualPrice":1,
|
||||
"baseMarketCost":0,
|
||||
"category":"other"
|
||||
},
|
||||
{
|
||||
"id":"guynmart_lunch",
|
||||
"iconID":"items_consumables:27",
|
||||
"name":"Hannah's lunch",
|
||||
"hasManualPrice":1,
|
||||
"baseMarketCost":100,
|
||||
"category":"food",
|
||||
"useEffect":{ "conditionsSource":[{ "condition":"food", "magnitude":5, "duration":10, "chance":"100" }] }
|
||||
},
|
||||
{
|
||||
"id":"ring_shadow1",
|
||||
"iconID":"items_jewelry:2",
|
||||
"name":"Ring of far lesser Shadow",
|
||||
"displaytype":"legendary",
|
||||
"hasManualPrice":1,
|
||||
"baseMarketCost":0,
|
||||
"category":"ring",
|
||||
"description":"The glow of the Shadow guides my path. It follows me wherever I go, and aids the dangers against me that others might not see. I am Shadow, and Shadow is in me.",
|
||||
"equipEffect":
|
||||
{ "increaseAttackDamage":{ "min":5, "max":8 },
|
||||
"increaseAttackChance":26,
|
||||
"increaseCriticalSkill":7,
|
||||
"increaseBlockChance":6,
|
||||
"addedConditions":[{ "condition":"regenNeg", "magnitude":1 }]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "guynmart_rose",
|
||||
"iconID": "items_japozero:549",
|
||||
"name": "Rose",
|
||||
"category": "other",
|
||||
"displaytype": "extraordinary",
|
||||
"hasManualPrice": 1,
|
||||
"baseMarketCost": 6,
|
||||
"equipEffect":{ "addedConditions":[{ "condition":"courage", "magnitude":1 }] }
|
||||
},
|
||||
{
|
||||
"id": "guynmart_flute",
|
||||
"iconID": "items_japozero:371",
|
||||
"name": "Lovis' Flute",
|
||||
"category": "other",
|
||||
"displaytype": "extraordinary"
|
||||
},
|
||||
{
|
||||
"id": "guynmart_bonering",
|
||||
"iconID": "items_rings_1:12",
|
||||
"name": "Old man's ring of bone",
|
||||
"category": "ring",
|
||||
"displaytype": "quest"
|
||||
},
|
||||
{
|
||||
"id": "guynmart_bonemealbox",
|
||||
"iconID": "items_japozero:304",
|
||||
"name": "Andors bonemeal box",
|
||||
"category": "other",
|
||||
"displaytype": "quest"
|
||||
},
|
||||
{
|
||||
"id": "guynmart_marble",
|
||||
"iconID": "items_misc_6:29",
|
||||
"name": "Stuephants marble",
|
||||
"category": "other",
|
||||
"displaytype": "quest"
|
||||
},
|
||||
{
|
||||
"id":"guynmart_shield",
|
||||
"iconID":"items_armours:12",
|
||||
"name":"Guynmart shield",
|
||||
"hasManualPrice":1,
|
||||
"baseMarketCost":0,
|
||||
"category":"shld_mtl_li",
|
||||
"equipEffect":
|
||||
{ "increaseAttackCost":0,
|
||||
"increaseAttackChance":-6,
|
||||
"increaseBlockChance":10,
|
||||
"increaseDamageResistance":1,
|
||||
"addedConditions":[
|
||||
{ "condition":"barkskin",
|
||||
"magnitude":3,
|
||||
"chance":"20"
|
||||
}]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id":"guynmart_scroll",
|
||||
"iconID":"items_books:7",
|
||||
"name":"Scroll of wisdom",
|
||||
"hasManualPrice":1,
|
||||
"baseMarketCost":0,
|
||||
"category":"other"
|
||||
},
|
||||
{
|
||||
"id": "guynmart_doll",
|
||||
"iconID": "map_indoor_1:106",
|
||||
"name": "Old Teddy Bear",
|
||||
"category": "other"
|
||||
}
|
||||
]
|
||||
@@ -1,289 +0,0 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources><string name="app_name">Sendero de Andor</string>
|
||||
<string name="app_description">RPG de fantasía basado en búsquedas</string>
|
||||
|
||||
<string name="exit_to_menu">Salir al menú</string>
|
||||
<string name="menu_settings">Preferencias</string>
|
||||
<string name="menu_save">Guardar</string>
|
||||
<string name="menu_save_gamesaved">Partida guardada en ranura %1$d</string>
|
||||
<string name="menu_save_failed">Error al guardar partida. ¿Está la trajeta SD insertada y se puede escribir en ella?</string>
|
||||
|
||||
<string name="loadsave_title_save">Guardar partida</string>
|
||||
<string name="loadsave_title_load">Cargar partida</string>
|
||||
<string name="loadsave_selectslot">Seleccionar ranura</string>
|
||||
<string name="savegame_currenthero_displayinfo">nivel %1$d, %2$d exp, %3$d oro</string>
|
||||
|
||||
<string name="dialog_loading_message">Cargando recursos…</string>
|
||||
<string name="dialog_loading_failed_title">Error de carga</string>
|
||||
<string name="dialog_loading_failed_message">La aplicación no pudo cargar el archivo de partida guardada.\n\n:(\n\nEl archivo puede estar dañado o incompleto.</string>
|
||||
<string name="dialog_loading_failed_incorrectversion">La aplicación no pudo cargar el archivo de partida guardada. Esta partida fue creada con una versión más reciente del juego.</string>
|
||||
|
||||
<string name="dialog_close">Cerrar</string>
|
||||
|
||||
<string name="dialog_monsterencounter_title">Enfrentamiento</string>
|
||||
<string name="dialog_monsterencounter_message">¿Quieres atacar?\nDificultad %1$s</string>
|
||||
<string name="dialog_monsterencounter_info">Información</string>
|
||||
|
||||
<string name="status_hp">PV:</string>
|
||||
<string name="status_ap">PA:</string>
|
||||
<string name="status_exp">Nivel:</string>
|
||||
|
||||
<string name="heroinfo_char">Resumen</string>
|
||||
<string name="heroinfo_inv">Objetos</string>
|
||||
<string name="heroinfo_skill">Habilidades</string>
|
||||
<string name="heroinfo_levelup">Subir de nivel</string>
|
||||
<string name="heroinfo_level">Nivel</string>
|
||||
<string name="heroinfo_totalexperience">Experiencia total</string>
|
||||
<string name="heroinfo_wornequipment">Equipamiento equipado</string>
|
||||
<string name="heroinfo_inventory">Inventario</string>
|
||||
<string name="heroinfo_gold">Oro: %1$d</string>
|
||||
<string name="heroinfo_actionpoints">Puntos de acción (PA):</string>
|
||||
<string name="heroinfo_quests">Misiones</string>
|
||||
|
||||
<string name="combat_attack">Atacar (%1$d AP)</string>
|
||||
<string name="combat_move">Mover (%1$d AP)</string>
|
||||
<string name="combat_use">Usar objeto</string>
|
||||
<string name="combat_endturn">Finalizar turno</string>
|
||||
<string name="combat_flee">Huir</string>
|
||||
<string name="combat_begin_flee">Ahora puedes huir combate pulsando en la dirección en la que quieres moverte.</string>
|
||||
<string name="combat_flee_failed">¡No pudiste huir!</string>
|
||||
<string name="combat_status_ap">PA: %1$d</string>
|
||||
<string name="combat_monsterhealth">PV:</string>
|
||||
<string name="combat_monsteraction">%1$s está atacando.</string>
|
||||
<string name="combat_result_monstermiss">¡%1$s falla el golpe!</string>
|
||||
<string name="combat_result_monsterhit">¡%1$s golpea por %2$d PV!</string>
|
||||
<string name="combat_result_monsterhitcritical">¡%1$s consigue un golpe crítico por %2$d PV!</string>
|
||||
<string name="combat_result_heromiss">Tu ataque falla.</string>
|
||||
<string name="combat_result_herohit">¡Golpeas a %1$s por %2$d PV!</string>
|
||||
<string name="combat_result_herohitcritical">¡Golpe crítico a %1$s por %2$d PV!</string>
|
||||
<string name="combat_result_herokillsmonster">¡%1$s muere!</string>
|
||||
<string name="combat_not_enough_ap">No tienes suficientes PA este turno.</string>
|
||||
<string name="combat_hero_dies">Caes incosciente, pero afortunadamente despiertas vivo, aturdido y fatigado. Perdiste %1$d puntos de experiencia.</string>
|
||||
<string name="combat_miss_animation_message">FALLO</string>
|
||||
|
||||
<string name="inventory_info">Información</string>
|
||||
<string name="inventory_equip">Equipar</string>
|
||||
<string name="inventory_unequip">Quitar</string>
|
||||
<string name="inventory_use">Usar</string>
|
||||
<string name="inventory_drop">Tirar</string>
|
||||
<string name="inventory_item_used">Se usa %1$s.</string>
|
||||
<string name="inventory_item_dropped">Tiras %1$s.</string>
|
||||
<string name="inventory_item_equipped">Te equipas con %1$s.</string>
|
||||
|
||||
<string name="dialog_loot_pickall">Recoger todo</string>
|
||||
<string name="dialog_loot_foundgold">Encontraste %1$d monedas de oro.</string>
|
||||
<string name="dialog_loot_pickedupitem">Recogiste un objeto.</string>
|
||||
<string name="dialog_loot_pickedupitems">Recogiste %1$d objetos.</string>
|
||||
<string name="dialog_groundloot_title">Objetos</string>
|
||||
<string name="dialog_groundloot_message">Encontraste algunos objetos.</string>
|
||||
<string name="dialog_monsterloot_title">Victoria</string>
|
||||
<string name="dialog_monsterloot_message">Sobreviviste al enfrentamiento.</string>
|
||||
<string name="dialog_monsterloot_gainedexp">Ganaste %1$d puntos de experiencia.</string>
|
||||
|
||||
<string name="monster_difficulty_veryeasy">Muy fácil</string>
|
||||
<string name="monster_difficulty_easy">Fácil</string>
|
||||
<string name="monster_difficulty_normal">Normal</string>
|
||||
<string name="monster_difficulty_hard">Difícil</string>
|
||||
<string name="monster_difficulty_veryhard">Muy difícil</string>
|
||||
<string name="monster_difficulty_impossible">Imposible</string>
|
||||
|
||||
<string name="actorinfo_class">Clase:</string>
|
||||
<string name="actorinfo_difficulty">Dificultad:</string>
|
||||
<string name="actorinfo_health">Salud:</string>
|
||||
<string name="actorinfo_attack">Ataque:</string>
|
||||
<string name="actorinfo_defense">Defensa:</string>
|
||||
<string name="actorinfo_movecost">Coste de movimiento (PA):</string>
|
||||
<string name="actorinfo_basetraits">Estadísticas base (Sin equipamiento ni habilidades)</string>
|
||||
<string name="actorinfo_currenttraits">Estadísticas actuales (Con equipamiento y habilidades)</string>
|
||||
|
||||
<string name="traitsinfo_attack_cost">Coste de ataque (PA):</string>
|
||||
<string name="traitsinfo_attack_chance">Posibilidad de ataque:</string>
|
||||
<string name="traitsinfo_attack_damage">Daño de ataque:</string>
|
||||
<string name="traitsinfo_criticalhit_skill">Habilidad de golpe crítico:</string>
|
||||
<string name="traitsinfo_criticalhit_multiplier">Multiplicador de golpe crítico:</string>
|
||||
<string name="traitsinfo_defense_chance">Posibilidad de bloqueo:</string>
|
||||
<string name="traitsinfo_defense_damageresist">Resistencia al daño:</string>
|
||||
|
||||
<string name="iteminfo_category">Categoría: </string>
|
||||
<string name="iteminfo_action_use">Usar</string>
|
||||
<string name="iteminfo_action_equip">Equipar</string>
|
||||
<string name="iteminfo_action_unequip">Quitar</string>
|
||||
<string name="iteminfo_action_use_ap">Usar (%1$d PA)</string>
|
||||
<string name="iteminfo_action_equip_ap">Equipar (%1$d PA)</string>
|
||||
<string name="iteminfo_action_unequip_ap">Quitar (%1$d PA)</string>
|
||||
|
||||
<string name="startscreen_continue">Continuar partida</string>
|
||||
<string name="startscreen_newgame">Nuevo juego</string>
|
||||
<string name="startscreen_newgame_confirm">Perderás tu partida y personaje actual, estás seguro de querer empezar un juego nuevo?"</string>
|
||||
<string name="startscreen_about">Acerca/Ayuda</string>
|
||||
<string name="startscreen_enterheroname">Introduzcir nombre del héroe</string>
|
||||
<string name="startscreen_load">Cargar</string>
|
||||
|
||||
<string name="conversation_rewardexp">[Obtuviste %1$d puntos de experiencia]</string>
|
||||
<string name="conversation_rewardgold">[Obtuviste %1$d monedas de oro]</string>
|
||||
<string name="conversation_lostgold">[Perdiste %1$d monedas de oro]</string>
|
||||
<string name="conversation_rewarditem">[Obtuviste un objeto]</string>
|
||||
<string name="conversation_rewarditems">[Obtuviste %1$d objetos]</string>
|
||||
<string name="conversation_next">Siguiente</string>
|
||||
<string name="conversation_leave">Salir</string>
|
||||
|
||||
<string name="shop_buy">Comprar</string>
|
||||
<string name="shop_sell">Vender</string>
|
||||
<string name="shop_infoitem">Info</string>
|
||||
<string name="shop_buyitem">Comprar (%1$d oro)</string>
|
||||
<string name="shop_sellitem">Vender (%1$d oro)</string>
|
||||
<string name="shop_yourgold">Oro actual: %1$d</string>
|
||||
<string name="shop_item_bought">Compraste %1$s.</string>
|
||||
<string name="shop_item_sold">Vendiste %1$s.</string>
|
||||
|
||||
<string name="levelup_title">Subir de nivel</string>
|
||||
<string name="levelup_description">¡Bienvenido a nivel %1$d!</string>
|
||||
<string name="levelup_buttontext">Subir de nivel</string>
|
||||
<string name="levelup_add_health">Aumentar salud (+%1$d PV)</string>
|
||||
<string name="levelup_add_health_description">Añade %1$d puntos a tu salud máxima.</string>
|
||||
<string name="levelup_add_attackchance">Aumentar posibilidad de ataque (+%1$d)</string>
|
||||
<string name="levelup_add_attackchance_description">Añade %1$d puntos a tu posibilidad de ataque.</string>
|
||||
<string name="levelup_add_attackdamage">Aumentar daño de ataque (+%1$d)</string>
|
||||
<string name="levelup_add_attackdamage_description">Añade %1$d punto a tu daño de ataque (Mínimo y máximo).</string>
|
||||
<string name="levelup_add_blockchance">Aumentar posibilidad del bloqueo (+%1$d)</string>
|
||||
<string name="levelup_add_blockchance_description">Añade %1$d puntos a tu posibilidad de bloqueo base.</string>
|
||||
|
||||
<string name="dialog_rest_title">Descansar</string>
|
||||
<string name="dialog_rest_confirm_message">¿Quieres descansar aquí?</string>
|
||||
<string name="dialog_rest_message">Has descansado y recuperado tu salud al completo.</string>
|
||||
|
||||
<string name="about_button1">Ayuda</string>
|
||||
<string name="about_button2">Autores</string>
|
||||
<string name="about_button3">Licencia</string>
|
||||
<string name="about_contents1">
|
||||
Bienvenido a "El sendero de Andor" (Andor\'s Trail), un RPG "roguelike" de código abierto para Android.
|
||||
<br /><br />
|
||||
<a href=http://andorstrail.com/>Foros de juego en andorstrail.com para preguntas y discusiones de juego.</a><br />
|
||||
<br />
|
||||
<a href=http://andorstrail.com/wiki>Wiki Juego para información sobre el mundo de Trail del Andor, entre otras cosas.</a><br /> <br /> <a href=https://github.com/Zukero/andors-trail/>Código fuente del proyecto en github.com para los desarrolladores.</a><br /> <br /> Por favor visite los foros para discutir el juego con otros jugadores.<br />
|
||||
</string>
|
||||
|
||||
<string name="about_contents3">
|
||||
Este programa es software libre; puedes redistribuirlo y / o modificarlo bajo los términos de la Licencia Pública General GNU publicada por la Fundación para el Software Libre; . ya sea la versión 2 de la Licencia, o (a su elección) cualquier versión posterior <br /> <br /> Este programa se distribuye con la esperanza de que sea útil, pero SIN NINGUNA GARANTÍA; ni siquiera la garantía implícita de COMERCIALIZACIÓN o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Vea la Licencia Pública General GNU para más detalles <br /> <br /> Usted debería haber recibido una copia de la Licencia Pública General de GNU junto con este programa.; si no, ver <a href=http://www.gnu.org/licenses> http://www.gnu.org/licenses </a> <br /> <br /> Para las solicitudes de código fuente y de la característica, por favor visite la página del proyecto en <a href=https://github.com/Zukero/andors-trail/> https://github.com/Zukero/andors-trail/ </a> <br />
|
||||
</string>
|
||||
|
||||
<string name="dialog_newversion_title">Bienvenido</string>
|
||||
<string name="dialog_newversion_message">
|
||||
Gracias por descargar El sendero de Andor (Andor\'s Trail)!
|
||||
\n\n
|
||||
Tenga en cuenta que esta versión del Camino de Andor es un trabajo en progreso, lo que significa que todos los mapas aún no se han completado.
|
||||
\n
|
||||
Por favor visite los foros del proyecto para discutir el juego con otros jugadores o para ayudar a hacer el juego aún mejor (véase sobre).
|
||||
\n\n
|
||||
¡Gracias por todos los comentarios!
|
||||
</string>
|
||||
|
||||
<string name="questlog_includecompleted_prompt">Selecciona que misiones mostrar</string>
|
||||
<string name="questlog_includecompleted_hidecompleted">Ocultar misiones completadas</string>
|
||||
<string name="questlog_includecompleted_includecompleted">Incluir misiones completadas</string>
|
||||
<string name="questlog_includecompleted_onlycompleted">Sólo misiones completadas</string>
|
||||
<string name="questlog_queststatus">Estado: %1$s</string>
|
||||
<string name="questlog_queststatus_inprogress">En progreso</string>
|
||||
<string name="questlog_queststatus_completed">Completo</string>
|
||||
|
||||
<string name="preferences_display_category">Mostrar</string>
|
||||
<string name="preferences_display_fullscreen_title">Pantalla completa</string>
|
||||
<string name="preferences_display_fullscreen">Muestra el juego en modo de pantalla completa. (Requiere reiniciar)</string>
|
||||
<string name="preferences_dialog_category">Confirmación de diálogo</string>
|
||||
<string name="preferences_dialog_confirmrest_title">Confirmación al descansar</string>
|
||||
<string name="preferences_dialog_confirmrest">Muestra pregunta al entrar en una cama. De lo contrario, descansarás automáticamente.</string>
|
||||
<string name="preferences_dialog_confirmattack_title">Confirmación de ataque</string>
|
||||
<string name="preferences_dialog_confirmattack">Muestraa el cuadro de diálogo \'¿Desea atacar..?\' antes de atacar a un monstruo.</string>
|
||||
<string name="preferences_dialog_monsterloot_title">Monstruo de exhibición *loot</string>
|
||||
<string name="preferences_dialog_monsterloot">Elija cómo desea mostrar los resultados de una lucha (Oro, Experiencia, Objetos).</string>
|
||||
<string name="preferences_combat_category">Combate</string>
|
||||
<string name="preferences_combat_speed_title">Velocidad de combate</string>
|
||||
<string name="preferences_combat_speed">Determina como de rápido atacan los monstruos.</string>
|
||||
|
||||
<string name="preferences_display_loot_dialog">Mostrar siempre cuadro de dialogo de botín.</string>
|
||||
<string name="preferences_display_loot_dialog_on_items">Mostrar cuadro de diálogo de botín al encontrar objetos</string>
|
||||
<string name="preferences_display_loot_dialog_on_items_or_toast">Diálogo de botín sólo para ojetos y notificación para el resto</string>
|
||||
<string name="preferences_display_loot_toast">Mostrar notificación corta</string>
|
||||
<string name="preferences_display_loot_toast_on_items">Mostrar sólo notificación cuando encuentres objetos</string>
|
||||
<string name="preferences_display_loot_never">No mostrar</string>
|
||||
|
||||
<string name="preferences_attackspeed_instant">Instantánea (sin animaciones)</string>
|
||||
<string name="preferences_attackspeed_fast">Rápido</string>
|
||||
<string name="preferences_attackspeed_normal">Normal</string>
|
||||
<string name="preferences_attackspeed_slow">Lento</string>
|
||||
|
||||
<string name="preferences_movement_category">Movimiento</string>
|
||||
<string name="preferences_movementmethod_title">Modo de movimiento</string>
|
||||
<string name="preferences_movementmethod">Tipo de movimiento y manejo de los obstáculos.</string>
|
||||
<string name="preferences_movementmethods_straight">Derecho (original)</string>
|
||||
<string name="preferences_movementmethods_avoid">Evitando los obstáculos</string>
|
||||
|
||||
|
||||
<string name="actorinfo_currentconditions">Condiciones activadas</string> <string name="actorcondition_info_removes_all">Elimina todo el %1$s</string>
|
||||
<string name="iteminfo_effect_chance_of">%1$s posibilidad de %2$s</string>
|
||||
<string name="iteminfo_effect_duration">(%1$d rondas)</string>
|
||||
|
||||
<string name="iteminfo_effect_works_on_source">En fuente</string>
|
||||
<string name="iteminfo_effect_works_on_target">En blanco</string>
|
||||
<string name="iteminfo_effect_works_when_hitting_target">Al golpear al objetivo</string>
|
||||
<string name="iteminfo_effect_works_when_killing_target">En cada muerte</string>
|
||||
<string name="iteminfo_effect_works_when_used">Cuándo se use</string>
|
||||
<string name="iteminfo_effect_works_when_equipped">Cuándo se equipe</string>
|
||||
|
||||
<string name="iteminfo_effect_decrease_current_hp">Drena %1$s PV</string>
|
||||
<string name="iteminfo_effect_increase_current_hp">Restaura %1$s PV</string>
|
||||
<string name="iteminfo_effect_decrease_current_ap">Drena %1$s PA</string>
|
||||
<string name="iteminfo_effect_increase_current_ap">Restaura %1$s PA</string>
|
||||
|
||||
<string name="iteminfo_effect_increase_max_hp">Aumenta PV máximo +%1$d</string>
|
||||
<string name="iteminfo_effect_decrease_max_hp">Reduce PV máximo en %1$d</string>
|
||||
<string name="iteminfo_effect_increase_max_ap">Aumenta PA máximo +%1$d</string>
|
||||
<string name="iteminfo_effect_decrease_max_ap">Reduce PA máximo en %1$d</string>
|
||||
<string name="iteminfo_effect_increase_movecost">Aumenta coste de movimiento +%1$d AP</string>
|
||||
<string name="iteminfo_effect_decrease_movecost">Reduce coste de movimiento en %1$d AP</string>
|
||||
|
||||
<string name="preferences_display_scaling_factor_title">Factor de escala</string>
|
||||
<string name="preferences_display_scaling_factor">Hace la vista juego más grande.</string>
|
||||
<string name="preferences_display_scaling_factor_normal">Tamaño normal</string>
|
||||
<string name="preferences_display_scaling_factor_50_percent_larger">1,5 x tamaño</string>
|
||||
<string name="preferences_display_scaling_factor_double">Tamaño doble</string>
|
||||
|
||||
<string name="inventory_assign">Asignar ranura rápida</string>
|
||||
<string name="inventory_assign_slot1">Ranura 1</string>
|
||||
<string name="inventory_assign_slot2">Ranura 2</string>
|
||||
<string name="inventory_assign_slot3">Ranura 3</string>
|
||||
<string name="inventory_unassign">Desasignar ranura rápida</string>
|
||||
|
||||
<string name="preferences_movement_dpad_position_title">D-pad virtual</string>
|
||||
<string name="preferences_movement_dpad_position">Muetra un pad virtual en pantalla para guiar el movimiento.</string>
|
||||
<string name="preferences_movement_dpad_minimizeable_title">D-pad minimizable</string>
|
||||
<string name="preferences_movement_dpad_minimizeable">Si el d-pad virtual está habilitado, esta configuración permite al d-pad minimizarse presionando su centro.</string>
|
||||
|
||||
<string name="preferences_movement_dpad_positions_disabled">Desactivado</string>
|
||||
<string name="preferences_movement_dpad_positions_lower_right">Esquina inferior derecha</string>
|
||||
<string name="preferences_movement_dpad_positions_lower_left">Esquina inferior izquierda</string>
|
||||
<string name="preferences_movement_dpad_positions_center_bottom">Centro inferior</string>
|
||||
<string name="preferences_movement_dpad_positions_center_left">Centro izquierda</string>
|
||||
<string name="preferences_movement_dpad_positions_center_right">Centro derecha</string>
|
||||
<string name="preferences_movement_dpad_positions_upper_left">Esquina superior izquierda</string>
|
||||
<string name="preferences_movement_dpad_positions_upper_right">Esquina superior derecha</string>
|
||||
<string name="preferences_movement_dpad_positions_center_top">Centro superior</string>
|
||||
|
||||
<string name="actorconditioninfo_constant_effect">Efecto constante</string>
|
||||
<string name="actorconditioninfo_effect_every_round">Cada ronda</string>
|
||||
<string name="actorconditioninfo_effect_every_full_round">Cada ronda completa</string>
|
||||
<string name="bulkselection_totalcost_buy">Coste total: %1$d monedas de oro</string>
|
||||
<string name="bulkselection_totalcost_sell">Coste total: %1$d monedas de oro</string>
|
||||
<string name="bulkselection_select_all">Todos</string>
|
||||
<string name="bulkselection_sell_confirmation_title">¿Estás seguro?</string>
|
||||
<string name="bulkselection_sell_confirmation">¿Estás seguro que deseas vender %1$s? Este artículo es %2$s y quizas no puedas recuperarlo.</string>
|
||||
|
||||
<string name="skill_title_weapon_chance">Exactitud de la arma</string>
|
||||
<string name="skill_title_weapon_dmg">Golpe duro</string>
|
||||
<string name="skill_title_barter">Mercante</string>
|
||||
<string name="skill_title_dodge">Evadir</string>
|
||||
<string name="skill_title_barkskin">Piel de corteza</string>
|
||||
<string name="skill_title_more_criticals">Más críticos</string>
|
||||
<string name="skill_title_better_criticals">Mejor Criticals</string>
|
||||
<string name="skill_title_speed">Combatir la velocidad</string>
|
||||
</resources>
|
||||
@@ -1,267 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<resources>
|
||||
<string name="app_name">Andor\'s Trail</string>
|
||||
|
||||
<string name="exit_to_menu">Menu</string>
|
||||
<string name="menu_settings">Opzioni</string>
|
||||
<string name="menu_save">Salva</string>
|
||||
<string name="menu_save_gamesaved">Partita salvata sullo slot %1$d</string>
|
||||
<string name="menu_save_failed">Impossibile salvare! La sceda SD è caricata e scrivibile?</string>
|
||||
|
||||
<string name="loadsave_title_save">Salva gioco</string>
|
||||
<string name="loadsave_title_load">Carica salvataggio</string>
|
||||
<string name="loadsave_selectslot">Scegli Slot</string>
|
||||
<string name="savegame_currenthero_displayinfo">Livello %1$d, %2$d esp, %3$d oro</string>
|
||||
|
||||
<string name="dialog_loading_message">Carica risorse...</string>
|
||||
<string name="dialog_loading_failed_title">Caricamento fallito</string>
|
||||
<string name="dialog_loading_failed_message">Andor\'s Trail non ha caricato il salvataggio.\n\n:(\n\nIl file può essere incompleto o danneggiato)</string>
|
||||
<string name="dialog_loading_failed_incorrectversion">Andor\'s Trail non ha caricato il salvataggio. Il salvataggio è stato creato con una versione precedente di quella installata.</string>
|
||||
|
||||
<string name="dialog_close">Chiudi</string>
|
||||
|
||||
<string name="dialog_monsterencounter_title">Combattimento</string>
|
||||
<string name="dialog_monsterencounter_message">Vuoi attaccare? Difficoltà: %1$s</string>
|
||||
<string name="dialog_monsterencounter_info">Info</string>
|
||||
|
||||
<string name="status_hp">HP:</string>
|
||||
<string name="status_ap">AP:</string>
|
||||
<string name="status_exp">Livello:</string>
|
||||
|
||||
<string name="heroinfo_char">Panoramica</string>
|
||||
<string name="heroinfo_inv">Inventario</string>
|
||||
<string name="heroinfo_skill">Abilità</string>
|
||||
<string name="heroinfo_levelup">Nuovo Livello</string>
|
||||
<string name="heroinfo_level">Livello</string>
|
||||
<string name="heroinfo_totalexperience">Esperienza Totale</string>
|
||||
<string name="heroinfo_wornequipment">Equipaggiamento indossato</string>
|
||||
<string name="heroinfo_inventory">Inventario</string>
|
||||
<string name="heroinfo_gold">Oro: %1$d</string>
|
||||
<string name="heroinfo_actionpoints">Punti azione (AP):</string>
|
||||
<string name="heroinfo_quests">Missioni</string>
|
||||
|
||||
<string name="combat_attack">Attacco (%1$d AP)</string>
|
||||
<string name="combat_move">Movimento (%1$d AP)</string>
|
||||
<string name="combat_use">Usare oggetti</string>
|
||||
<string name="combat_endturn">Fine turno</string>
|
||||
<!-- <string name="combat_endcombat">End combat</string>-->
|
||||
<string name="combat_flee">Fuggi</string>
|
||||
<string name="combat_begin_flee">Ora puoi fuggire dal combattimento cliccando nella direzione in cui vuoi fuggire.</string>
|
||||
<string name="combat_flee_failed">La tua fuga è fallita!</string>
|
||||
<string name="combat_status_ap">AP: %1$d</string>
|
||||
<string name="combat_monsterhealth">HP:</string>
|
||||
<string name="combat_monsteraction">%1$s sta attaccando.</string>
|
||||
<!-- <string name="combat_cannotexitcombat">You cannot exit combat since there are adjacent monsters. You first have to move by longclicking a place with no adjacent monster, before you may end the combat.</string> -->
|
||||
<string name="combat_result_monstermiss">%1$s manca il colpo!</string>
|
||||
<string name="combat_result_monsterhit">%1$s colpisce per %2$d hp!</string>
|
||||
<string name="combat_result_monsterhitcritical">%1$s effettua un colpo critico per %2$d hp!</string>
|
||||
<string name="combat_result_heromiss">Il tuo attacco è fallito.</string>
|
||||
<string name="combat_result_herohit">Hai colpito %1$s per %2$d hp!</string>
|
||||
<string name="combat_result_herohitcritical">Sferri un colpo critico %1$s per %2$d hp!</string>
|
||||
<string name="combat_result_herokillsmonster">%1$s muore!</string>
|
||||
<string name="combat_not_enough_ap">Non hai abbastanza AP attendi il prossimo turno.</string>
|
||||
<string name="combat_hero_dies">Cadi svenuto ma fortunatamente ti risvegli vivo. Hai perso %1$d esperienza.</string>
|
||||
|
||||
<string name="inventory_info">Info</string>
|
||||
<string name="inventory_equip">Oggetti in uso</string>
|
||||
<string name="inventory_unequip">Oggetti non usati</string>
|
||||
<string name="inventory_use">Usa</string>
|
||||
<string name="inventory_drop">Scarica</string>
|
||||
<string name="inventory_item_used">Hai usato %1$s.</string>
|
||||
<string name="inventory_item_dropped">%1$s è stato abbandonato.</string>
|
||||
<string name="inventory_item_equipped">Stai usando %1$s.</string>
|
||||
|
||||
<string name="dialog_loot_pickall">Raccogli tutto</string>
|
||||
<string name="dialog_loot_foundgold">Hai %1$d Oro. </string>
|
||||
<string name="dialog_loot_pickedupitems">Hai raccolto %1$d oggetti.</string>
|
||||
<string name="dialog_groundloot_title">Oggetti</string>
|
||||
<string name="dialog_groundloot_message">Hai trovato alcuni oggetti. </string>
|
||||
<string name="dialog_monsterloot_title">Vittoria</string>
|
||||
<string name="dialog_monsterloot_message">Sei sopravvissuto all\'incontro.</string>
|
||||
<string name="dialog_monsterloot_gainedexp">Hai aumentato %1$d di esperienza.</string>
|
||||
|
||||
<string name="monster_difficulty_veryeasy">Facilissimo</string>
|
||||
<string name="monster_difficulty_easy">Facile</string>
|
||||
<string name="monster_difficulty_normal">Normale</string>
|
||||
<string name="monster_difficulty_hard">Difficile</string>
|
||||
<string name="monster_difficulty_veryhard">Difficilissimo</string>
|
||||
<string name="monster_difficulty_impossible">Impossibile</string>
|
||||
|
||||
<string name="actorinfo_class">Classe:</string>
|
||||
<string name="actorinfo_difficulty">Difficoltà:</string>
|
||||
<string name="actorinfo_health">Salute:</string>
|
||||
<string name="actorinfo_attack">Attacco:</string>
|
||||
<string name="actorinfo_defense">Difesa:</string>
|
||||
<string name="actorinfo_movecost">Costo mossa (AP):</string>
|
||||
<string name="actorinfo_basetraits">Statistiche oggetti non indossati (base)</string>
|
||||
<string name="actorinfo_currenttraits">Statistiche oggetti indossati (correnti)</string>
|
||||
|
||||
<string name="traitsinfo_attack_cost">Costo attacco (AP):</string>
|
||||
<string name="traitsinfo_attack_chance">Possibilità attacco:</string>
|
||||
<string name="traitsinfo_attack_damage">Possibilità danni:</string>
|
||||
<string name="traitsinfo_criticalhit_skill">colpo critico:</string>
|
||||
<string name="traitsinfo_criticalhit_multiplier">moltiplicatore critico:</string>
|
||||
<string name="traitsinfo_defense_chance">Possibilità difesa:</string>
|
||||
<string name="traitsinfo_defense_damageresist">Resistenza ai danni:</string>
|
||||
|
||||
<!-- <string name="key_required">E\' richiesta una chiave specifica per passare.</string> -->
|
||||
|
||||
<string name="iteminfo_category">Categoria: </string>
|
||||
<string name="iteminfo_action_use">Usa</string>
|
||||
<string name="iteminfo_action_equip">Indossa</string>
|
||||
<string name="iteminfo_action_unequip">Togli</string>
|
||||
<string name="iteminfo_action_use_ap">Usa (%1$d AP)</string>
|
||||
<string name="iteminfo_action_equip_ap">Indossa (%1$d AP)</string>
|
||||
<string name="iteminfo_action_unequip_ap">Togli (%1$d AP)</string>
|
||||
|
||||
<string name="startscreen_continue">Continua la partita in corso</string>
|
||||
<string name="startscreen_newgame">Nuovo</string>
|
||||
<string name="startscreen_newgame_confirm">Perderai la partita attuale e il tuo personaggio corrente, sei sicuro di voler iniziare una nuova partita?</string>
|
||||
<string name="startscreen_about">Info/Aiuto</string>
|
||||
<string name="startscreen_enterheroname">Nome dell\'eroe</string>
|
||||
<string name="startscreen_load">Carica</string>
|
||||
|
||||
<string name="conversation_rewardexp"> [Hai guadagnato %1$d esperienza]</string>
|
||||
<string name="conversation_rewardgold"> [Hai guadagnato %1$d oro]</string>
|
||||
<string name="conversation_lostgold"> [Hai perso %1$d oro]</string>
|
||||
<string name="conversation_rewarditem"> [Hai guadagnato un oggetto]</string>
|
||||
<string name="conversation_rewarditems"> [Hai guadagnato %1$d oggetti]</string>
|
||||
<string name="conversation_next">Avanti</string>
|
||||
|
||||
<string name="shop_buy">Compra</string>
|
||||
<string name="shop_sell">Vendi</string>
|
||||
<string name="shop_infoitem">Info</string>
|
||||
<string name="shop_buyitem">Compra (%1$d oro)</string>
|
||||
<string name="shop_sellitem">Vendi (%1$d oro)</string>
|
||||
<string name="shop_yourgold">Tuo Oro: %1$d</string>
|
||||
<string name="shop_item_bought">%1$s Comprato.</string>
|
||||
<string name="shop_item_sold">%1$s Venduo.</string>
|
||||
|
||||
<string name="levelup_title">Nuovo Livello</string>
|
||||
<string name="levelup_description">Benvenuto nel livello %1$d!</string>
|
||||
<string name="levelup_buttontext">Nuovo Livello</string>
|
||||
<string name="levelup_add_health">Aumenta salute (+%1$d HP)</string>
|
||||
<string name="levelup_add_health_description">Aggiungi %1$d alla salute massima</string>
|
||||
<string name="levelup_add_attackchance">Aumenta possibilità attacco (+%1$d)</string>
|
||||
<string name="levelup_add_attackchance_description">Aggiungi %1$d alla tua possibilità attacco</string>
|
||||
<string name="levelup_add_attackdamage">Aumenta danni attacco (+%1$d)</string>
|
||||
<string name="levelup_add_attackdamage_description">Aggiungi %1$d al tuo attacco base</string>
|
||||
<string name="levelup_add_blockchance">Aumenta possibilità difesa (+%1$d)</string>
|
||||
<string name="levelup_add_blockchance_description">Aggiungi %1$d alla tua possibilità difesa base</string>
|
||||
|
||||
<string name="dialog_rest_title">Riposa</string>
|
||||
<string name="dialog_rest_confirm_message">Vuoi riposare qui?</string>
|
||||
<string name="dialog_rest_message">Hai riposato e la tua salute è tornata al massimo.</string>
|
||||
|
||||
<string name="about_button1">Aiuto</string>
|
||||
<string name="about_button2">Autori</string>
|
||||
<string name="about_button3">Licenza</string>
|
||||
<string name="about_contents1">
|
||||
Benvenuto in Andor\'s Trail, un gioco RPG per Android.<br />
|
||||
<br />
|
||||
<a href="http://andorstrail.com/">Forum del gioco su andorstrail.com per domande e discussioni riguardo il gameplay.</a><br />
|
||||
<br />
|
||||
<a href="http://andorstrail.com/wiki">Game wiki for info about the Andor\'s Trail world, among other things.</a><br />
|
||||
<br />
|
||||
<a href="http://code.google.com/p/andors-trail/">Homepage del progetto su code.google.com</a><br />
|
||||
<br />
|
||||
Visita il forum per le discussioni con gli altri giocatori.<br />
|
||||
</string>
|
||||
<string name="about_contents3">
|
||||
Questo programma è un software libero,ed è possibile ridistribuirlo e / o modificarlo secondo i termini della GNU General Public License come pubblicata dalla Free Software Foundation, nella versione 2 della licenza o (a scelta) una versione successiva.<br />
|
||||
<br />
|
||||
Questo programma è distribuito nella speranza che possa essere utile, ma SENZA ALCUNA GARANZIA, nemmeno la garanzia implicita di COMMERCIABILITÀ o IDONEITÀ PER UN PARTICOLARE SCOPO. Vedere la GNU General Public License per ulteriori dettagli.<br />
|
||||
<br />
|
||||
Si dovrebbe aver ricevuto una copia della GNU General Public License insieme a questo programma, se no, vedere <a href="http://www.gnu.org/licenses">http://www.gnu.org/licenses</a><br />
|
||||
<br />
|
||||
Per il codice sorgente e le richieste di funzionalità, visita la pagina del progetto su <a href="http://code.google.com/p/andors-trail/">http://code.google.com/p/andors-trail/</a><br />
|
||||
</string>
|
||||
|
||||
<string name="dialog_newversion_title">Benvenuto</string>
|
||||
<string name="dialog_newversion_message">
|
||||
Grazie per aver scaricato Andor\'s Trail!\n\n
|
||||
Si prega di notare che questa versione di Andor\'s Trail è un WORK IN PROGRESS, il che significa che tutte le mappe non sono ancora complete.\n
|
||||
Siete comunque liberi di esplorare villaggio Crossglen quanto vi pare.\n
|
||||
Poiché questo è un work in progress, può contenere bug e un gameplay non correttamente bilanciato. Il presente comunicato è da intendersi come una caccia al bug prima di iniziare ad aggiungere altri contenuti.\n
|
||||
Si prega di visitare la pagina del progetto per ottenere maggiori informazioni o per contribuire al progetto (vedi "about").\n
|
||||
\n
|
||||
Grazie per tutti i Feedback!
|
||||
</string>
|
||||
|
||||
<string name="questlog_includecompleted_prompt">Seleziona le missioni da mostrare</string>
|
||||
<string name="questlog_includecompleted_hidecompleted">Nascondi le missioni complete</string>
|
||||
<string name="questlog_includecompleted_includecompleted">Includi le missioni complete</string>
|
||||
<string name="questlog_includecompleted_onlycompleted">Solo missioni complete</string>
|
||||
<string name="questlog_queststatus">Stato: %1$s</string>
|
||||
<string name="questlog_queststatus_inprogress">In corso</string>
|
||||
<string name="questlog_queststatus_completed">Completato</string>
|
||||
|
||||
<string name="preferences_display_category">Schermo</string>
|
||||
<string name="preferences_display_fullscreen_title">Schermo intero</string>
|
||||
<string name="preferences_display_fullscreen">Visualizza il gioco a schermo intero. (Richiede il riavvio del gioco)</string>
|
||||
<string name="preferences_dialog_category">Conferme dialoghi</string>
|
||||
<string name="preferences_dialog_confirmrest_title">Conferma riposo</string>
|
||||
<string name="preferences_dialog_confirmrest">Chiedi una conferma prima di fermarsi a riposare in un letto. Altrimenti, appena vai su di un letto riposerai automaticamente.</string>
|
||||
<string name="preferences_dialog_confirmattack_title">Conferma attacco</string>
|
||||
<string name="preferences_dialog_confirmattack">Abilita la richiesta \'Vuoi attaccare?\' quando ti avvicini ad un nemico.</string>
|
||||
<string name="preferences_dialog_monsterloot_title">Visualizza il bottino</string>
|
||||
<string name="preferences_dialog_monsterloot">Scegli se mostrare il bottino conquistato dopo un combattimento (oro, esperienza, oggetti).</string>
|
||||
<string name="preferences_combat_category">Combattimento</string>
|
||||
<string name="preferences_combat_speed_title">Velocità di combattimento</string>
|
||||
<string name="preferences_combat_speed">Determina quanto la velocità di combattimento dei nemici.</string>
|
||||
|
||||
<string name="preferences_display_loot_dialog">Mostra il resoconto del bottino</string>
|
||||
<string name="preferences_display_loot_toast">Mostra notifica corta</string>
|
||||
<string name="preferences_display_loot_never">Non mostrare</string>
|
||||
<string name="preferences_attackspeed_instant">Istantanea (nessuna animazione)</string>
|
||||
<string name="preferences_attackspeed_fast">Veloce</string>
|
||||
<string name="preferences_attackspeed_normal">Normale</string>
|
||||
<string name="preferences_attackspeed_slow">Lenta</string>
|
||||
|
||||
<string name="preferences_movement_category">Movimento</string>
|
||||
<string name="preferences_movementmethod_title">Tipo di movimento</string>
|
||||
<string name="preferences_movementmethod">Tipo di movimento e manovre sugli ostacoli.</string>
|
||||
<string name="preferences_movementmethods_straight">Diritto (originale)</string>
|
||||
<string name="preferences_movementmethods_avoid">Direzionale</string>
|
||||
|
||||
|
||||
<!-- =========================================== -->
|
||||
<!-- Added in v0.6.9 -->
|
||||
|
||||
<string name="actorinfo_currentconditions">Condizioni attive</string> <!-- Translated as: affliction / statuseffect / temporary effect -->
|
||||
<string name="actorcondition_info_removes_all">Rimuovi tutte %1$s</string>
|
||||
<string name="iteminfo_effect_chance_of">%1$s cambio di %2$s</string>
|
||||
<string name="iteminfo_effect_duration">(%1$d turni)</string>
|
||||
|
||||
<string name="iteminfo_effect_works_on_source">Sulla sorgente</string>
|
||||
<string name="iteminfo_effect_works_on_target">Sul bersaglio</string>
|
||||
<string name="iteminfo_effect_works_when_hitting_target">Quando colpisci il bersaglio</string>
|
||||
<string name="iteminfo_effect_works_when_killing_target">Ogni uccisione</string>
|
||||
<string name="iteminfo_effect_works_when_used">Quando usata</string>
|
||||
<string name="iteminfo_effect_works_when_equipped">Quando equipaggiata</string>
|
||||
|
||||
<string name="iteminfo_effect_decrease_current_hp">Prosciuga %1$s HP</string>
|
||||
<string name="iteminfo_effect_increase_current_hp">Ripristina %1$s HP</string>
|
||||
<string name="iteminfo_effect_decrease_current_ap">Prosciuga %1$s AP</string>
|
||||
<string name="iteminfo_effect_increase_current_ap">Ripristina %1$s AP</string>
|
||||
|
||||
<string name="iteminfo_effect_increase_max_hp">Aumenta gli HP max +%1$d</string>
|
||||
<string name="iteminfo_effect_decrease_max_hp">Diminuisce gli HP max di %1$d</string>
|
||||
<string name="iteminfo_effect_increase_max_ap">Aumenta gli AP max +%1$d</string>
|
||||
<string name="iteminfo_effect_decrease_max_ap">Aumenta gli AP max %1$d</string>
|
||||
<string name="iteminfo_effect_increase_movecost">Il movimento è penalizzato di +%1$d AP</string>
|
||||
<string name="iteminfo_effect_decrease_movecost">Il movimento è migliorato di %1$d AP</string>
|
||||
|
||||
<string name="preferences_display_scaling_factor_title">Fattore di scala</string>
|
||||
<string name="preferences_display_scaling_factor">Tutto il gioco viene visualizzato più grande.</string>
|
||||
<string name="preferences_display_scaling_factor_normal">Normale</string>
|
||||
<string name="preferences_display_scaling_factor_50_percent_larger">1.5x normale</string>
|
||||
<string name="preferences_display_scaling_factor_double">Raddoppia</string>
|
||||
|
||||
<!-- =========================================== -->
|
||||
<!-- Added in v0.7.0 -->
|
||||
|
||||
<string name="localize_resources_from_mo_filename">it.mo</string>
|
||||
|
||||
</resources>
|
||||
@@ -1,94 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<resources>
|
||||
<string name="exit_to_menu">יציאה לתפריט ראשי</string>
|
||||
<string name="menu_settings">העדפות</string>
|
||||
<string name="menu_save">שמור</string>
|
||||
<string name="menu_save_gamesaved">המשחק נשמר לתא %1$d</string>
|
||||
<string name="menu_save_failed">לא הצליח לשמור! Is the SD card mounted and writable?</string>
|
||||
|
||||
<string name="loadsave_title_save">שמור משחק</string>
|
||||
<string name="loadsave_title_load">טען משחק שמור</string>
|
||||
<string name="loadsave_selectslot">בחר תא</string>
|
||||
<string name="savegame_currenthero_displayinfo">דרגה %1$d, %2$d נסיון, %3$d זהב</string>
|
||||
|
||||
<string name="dialog_loading_message">טוען משאבם...</string>
|
||||
<string name="dialog_loading_failed_title">נכשל בטעינה</string>
|
||||
<string name="dialog_loading_failed_message">המשחק לא הצליח לטעון שמירה.\n\n:(\n\nהקובץ עשוי להיות פגום או לא שלם.</string>
|
||||
<string name="dialog_loading_failed_incorrectversion">המשחק לא הצליח לטעון שמירה. השמירה נעשתה בגרסא חדשה יותר של המשחק מזו שרצה.</string>
|
||||
|
||||
<string name="dialog_close">סגור</string>
|
||||
|
||||
<string name="dialog_monsterencounter_title">מפגש</string>
|
||||
<string name="dialog_monsterencounter_message">האם ברצונך לתקוף?\nדרגת קושי: %1$s</string>
|
||||
<string name="dialog_monsterencounter_info">מידע</string>
|
||||
|
||||
<string name="status_hp">חיים:</string>
|
||||
<string name="status_ap">פעילות:</string>
|
||||
<string name="status_exp">דרגה:</string>
|
||||
|
||||
<string name="heroinfo_char">מבט כולל</string>
|
||||
<string name="heroinfo_inv">מלאי</string>
|
||||
<string name="heroinfo_skill">מיומנויות</string>
|
||||
<string name="heroinfo_levelup">עלייה בדרגה</string>
|
||||
<string name="heroinfo_level">דרגה</string>
|
||||
<string name="heroinfo_totalexperience">נסיון כולל</string>
|
||||
<string name="heroinfo_wornequipment">Worn equipment</string>
|
||||
<string name="heroinfo_inventory">ציוד</string>
|
||||
<string name="heroinfo_gold">זהב: %1$d</string>
|
||||
<string name="heroinfo_actionpoints">נקודות פעילות (פעילות):</string>
|
||||
<string name="heroinfo_quests">Quests</string>
|
||||
|
||||
<string name="combat_attack">תקיפה (%1$d פעילות)</string>
|
||||
<string name="combat_move">תנועה (%1$d פעילות)</string>
|
||||
<string name="combat_use">השתמש בחפץ</string>
|
||||
<string name="combat_endturn">סוף תור</string>
|
||||
<string name="combat_flee">ברח</string>
|
||||
<string name="combat_begin_flee">אתה יכול כעת לברוח מהקרב על ידי לחיצה בכיוון הרצוי.</string>
|
||||
<string name="combat_flee_failed">לא הצלחת לברוח!</string>
|
||||
<string name="combat_status_ap">פעילות: %1$d</string>
|
||||
<string name="combat_monsterhealth">חיים:</string>
|
||||
<string name="combat_monsteraction">%1$s תוקף.</string>
|
||||
<string name="combat_result_monstermiss">%1$s מחטיא!</string>
|
||||
<string name="combat_result_monsterhit">%1$s פגע בך עם נזק של %2$d חיים!</string>
|
||||
<string name="combat_result_monsterhitcritical">%1$s פגע באופן קריטי עם נזק של %2$d חיים!</string>
|
||||
<string name="combat_result_heromiss">התקפתך החטיאה.</string>
|
||||
<string name="combat_result_herohit">פגעת %1$s בנזק של %2$d חיים!</string>
|
||||
<string name="combat_result_herohitcritical">פגעת באופן קריטיב %1$s וגרמת לנזק של %2$d חיים!</string>
|
||||
<string name="combat_result_herokillsmonster">%1$s מת!</string>
|
||||
<string name="combat_not_enough_ap">לא מספיק נקודות פעילות בסיבוב זה.</string>
|
||||
<string name="combat_hero_dies">אתה מאבד את ההכרה ובמזל מתעורר בחיים. הפסדת %1$d נסיון.</string>
|
||||
|
||||
<string name="inventory_info">מידע</string>
|
||||
<string name="inventory_equip">צייד</string>
|
||||
<string name="inventory_unequip">הסר ציוד</string>
|
||||
<string name="inventory_use">השתמש</string>
|
||||
<string name="inventory_drop">תפיל</string>
|
||||
<string name="inventory_item_used">השתמשת ב %1$s.</string>
|
||||
<string name="inventory_item_dropped">%1$s נפל.</string>
|
||||
<string name="inventory_item_equipped">הציידת ב %1$s.</string>
|
||||
|
||||
<string name="dialog_loot_pickall">אסוף הכל</string>
|
||||
<string name="dialog_loot_foundgold">מצאת %1$d זהב. </string>
|
||||
<string name="dialog_loot_pickedupitems">הרמת %1$d חפצים.</string>
|
||||
<string name="dialog_groundloot_title">חפצים</string>
|
||||
<string name="dialog_groundloot_message">מצאת כמה חפצים. </string>
|
||||
<string name="dialog_monsterloot_title">ניצחון</string>
|
||||
<string name="dialog_monsterloot_message">שרדת את המפגש. </string>
|
||||
<string name="dialog_monsterloot_gainedexp">צברת %1$d נסיון. </string>
|
||||
|
||||
<string name="monster_difficulty_veryeasy">קל מאוד</string>
|
||||
<string name="monster_difficulty_easy">קל</string>
|
||||
<string name="monster_difficulty_normal">רגיל</string>
|
||||
<string name="monster_difficulty_hard">קשה</string>
|
||||
<string name="monster_difficulty_veryhard">קשה מאוד</string>
|
||||
<string name="monster_difficulty_impossible">בלתי אפשרי</string>
|
||||
|
||||
<string name="actorinfo_class">סוג:</string>
|
||||
<string name="actorinfo_difficulty">קושי:</string>
|
||||
<string name="actorinfo_health">בריאות:</string>
|
||||
<string name="actorinfo_attack">תקיפה:</string>
|
||||
<string name="actorinfo_defense">הגנה:</string>
|
||||
<string name="actorinfo_movecost">עלות תנועה (פעילות):</string>
|
||||
|
||||
</resources>
|
||||
@@ -1,481 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<resources>
|
||||
<string name="app_name">След Эндора</string>
|
||||
<string name="app_description">Квестово-фэнтезийная RPG</string>
|
||||
|
||||
<string name="exit_to_menu">В меню</string>
|
||||
<string name="menu_settings">Настройки</string>
|
||||
<string name="menu_save">Сохранить</string>
|
||||
<string name="menu_save_gamesaved">Игра сохранена в слот №%1$d</string>
|
||||
<string name="menu_save_failed">Ошибка сохранения! SD карта на месте?</string>
|
||||
|
||||
<string name="loadsave_title_save">Сохранить игру</string>
|
||||
<string name="loadsave_title_load">Загрузить игру</string>
|
||||
<string name="loadsave_selectslot">Выбери слот</string>
|
||||
<string name="savegame_currenthero_displayinfo">уровень: %1$d, опыт: %2$d, золото: %3$d</string>
|
||||
|
||||
<string name="dialog_loading_message">Загрузка ресурсов...</string>
|
||||
<string name="dialog_loading_failed_title">Ошибка загрузки</string>
|
||||
<string name="dialog_loading_failed_message">Невозможно загрузить файл сохранения.\n\n:(\n\nВозможно файл испорчен или удален.</string>
|
||||
<string name="dialog_loading_failed_incorrectversion">Невозможно загрузить файл сохранения. Данный файл создан более новой версией игры, чем запущенная в данный момент.</string>
|
||||
|
||||
<string name="dialog_close">Закрыть</string>
|
||||
|
||||
<string name="dialog_monsterencounter_title">Схватка</string>
|
||||
<string name="dialog_monsterencounter_message">Атаковать?\nСложность: %1$s</string>
|
||||
<string name="dialog_monsterencounter_info">Информация</string>
|
||||
|
||||
<string name="status_hp">ОЗ:</string>
|
||||
<string name="status_ap">ОД:</string>
|
||||
<string name="status_exp">Ур.:</string>
|
||||
|
||||
<string name="heroinfo_char">Обзор</string>
|
||||
<string name="heroinfo_inv">Инвентарь</string>
|
||||
<string name="heroinfo_skill">Навыки</string>
|
||||
<string name="heroinfo_levelup">Уровень повышен</string>
|
||||
<string name="heroinfo_level">Уровень</string>
|
||||
<string name="heroinfo_totalexperience">Всего опыта</string>
|
||||
<string name="heroinfo_wornequipment">Экипировка</string>
|
||||
<string name="heroinfo_inventory">Инвентарь</string>
|
||||
<string name="heroinfo_gold">Золото: %1$d</string>
|
||||
<string name="heroinfo_actionpoints">Очки действия (ОД):</string>
|
||||
<string name="heroinfo_quests">Задания</string>
|
||||
|
||||
<string name="combat_attack">Атака (%1$d ОД)</string>
|
||||
<string name="combat_move">Движение (%1$d ОД)</string>
|
||||
<string name="combat_use">Вещь</string>
|
||||
<string name="combat_endturn">Конец хода</string>
|
||||
<!-- <string name="combat_endcombat">End combat</string>-->
|
||||
<string name="combat_flee">Сбежать</string>
|
||||
<string name="combat_begin_flee">Вы можете покинуть место схватки, указав направление, в котором хотите убежать.</string>
|
||||
<string name="combat_flee_failed">Вы не смогли сбежать!</string>
|
||||
<string name="combat_status_ap">ОД: %1$d</string>
|
||||
<string name="combat_monsterhealth">ОЗ:</string>
|
||||
<string name="combat_monsteraction">%1$s атакует.</string>
|
||||
<!-- <string name="combat_cannotexitcombat">You cannot exit combat since there are adjacent monsters. You first have to move by long-clicking a place with no adjacent monster, before you may end the combat.</string> -->
|
||||
<string name="combat_result_monstermiss">%1$s промахивается!</string>
|
||||
<string name="combat_result_monsterhit">%1$s нанес вам повреждение на %2$d ОЗ!</string>
|
||||
<string name="combat_result_monsterhitcritical">%1$s наносит критический удар на %2$d ОЗ!</string>
|
||||
<string name="combat_result_heromiss">Ваша атака неудачна.</string>
|
||||
<string name="combat_result_herohit">Вы атакуете, %1$s теряет %2$d ОЗ!</string>
|
||||
<string name="combat_result_herohitcritical">Вы наносите критический удар! %1$s теряет %2$d ОЗ!</string>
|
||||
<string name="combat_result_herokillsmonster">%1$s убит!</string>
|
||||
<string name="combat_not_enough_ap">Не хватает ОД для этого действия.</string>
|
||||
<string name="combat_hero_dies">Вы падаете без сознания, но к счастью остались живы. Вы потеряли %1$d опыта.</string>
|
||||
|
||||
<string name="inventory_info">Инфо</string>
|
||||
<string name="inventory_equip">Надеть</string>
|
||||
<string name="inventory_unequip">Снять</string>
|
||||
<string name="inventory_use">Использовать</string>
|
||||
<string name="inventory_drop">Выбросить</string>
|
||||
<string name="inventory_item_used">Вы использовали %1$s.</string>
|
||||
<string name="inventory_item_dropped">%1$s был выброшен.</string>
|
||||
<string name="inventory_item_equipped">Вы надели %1$s.</string>
|
||||
|
||||
<string name="dialog_loot_pickall">Подобрать все</string>
|
||||
<string name="dialog_loot_foundgold">Вы нашли %1$d золота. </string>
|
||||
<string name="dialog_loot_pickedupitem">Вы подобрали предмет. </string>
|
||||
<string name="dialog_loot_pickedupitems">Вы подобрали %1$d предмет. </string>
|
||||
<string name="dialog_groundloot_title">Предметы</string>
|
||||
<string name="dialog_groundloot_message">Вы нашли несколько предметов. </string>
|
||||
<string name="dialog_monsterloot_title">Победа</string>
|
||||
<string name="dialog_monsterloot_message">Вы выиграли бой. </string>
|
||||
<string name="dialog_monsterloot_gainedexp">Вы получили %1$d опыта. </string>
|
||||
|
||||
<string name="monster_difficulty_veryeasy">Очень легко</string>
|
||||
<string name="monster_difficulty_easy">Легко</string>
|
||||
<string name="monster_difficulty_normal">Нормально</string>
|
||||
<string name="monster_difficulty_hard">Сложно</string>
|
||||
<string name="monster_difficulty_veryhard">Очень сложно</string>
|
||||
<string name="monster_difficulty_impossible">Невозможно</string>
|
||||
|
||||
<string name="actorinfo_class">Класс:</string>
|
||||
<string name="actorinfo_difficulty">Сложность:</string>
|
||||
<string name="actorinfo_health">Здоровье:</string>
|
||||
<string name="actorinfo_attack">Атака:</string>
|
||||
<string name="actorinfo_defense">Защита:</string>
|
||||
<string name="actorinfo_movecost">Цена движения (ОД):</string>
|
||||
<string name="actorinfo_basetraits">Боевая статистика без экипировки (базовая)</string>
|
||||
<string name="actorinfo_currenttraits">Боевая статистика в экипировке (текущая)</string>
|
||||
|
||||
<string name="traitsinfo_attack_cost">Цена атаки (ОД):</string>
|
||||
<string name="traitsinfo_attack_chance">Шанс атаки:</string>
|
||||
<string name="traitsinfo_attack_damage">Сила атаки:</string>
|
||||
<string name="traitsinfo_criticalhit_skill">Шанс критического удара:</string>
|
||||
<string name="traitsinfo_criticalhit_multiplier">Критический умножитель:</string>
|
||||
<string name="traitsinfo_defense_chance">Шанс блока:</string>
|
||||
<string name="traitsinfo_defense_damageresist">Сопротивление урону:</string>
|
||||
|
||||
<!-- <string name="key_required">Специальный ключ требуется для прохода.</string> -->
|
||||
|
||||
<string name="iteminfo_category">Категория: </string>
|
||||
<string name="iteminfo_action_use">Использовать</string>
|
||||
<string name="iteminfo_action_equip">Надеть</string>
|
||||
<string name="iteminfo_action_unequip">Снять</string>
|
||||
<string name="iteminfo_action_use_ap">Использовать (%1$d ОД)</string>
|
||||
<string name="iteminfo_action_equip_ap">Надеть (%1$d ОД)</string>
|
||||
<string name="iteminfo_action_unequip_ap">Снять (%1$d ОД)</string>
|
||||
|
||||
<string name="startscreen_continue">Продолжить игру</string>
|
||||
<string name="startscreen_newgame">Новая игра</string>
|
||||
<string name="startscreen_newgame_confirm">Вы потеряете текущую игру и героя. Вы уверены, что хотите начать новую игру?</string>
|
||||
<string name="startscreen_about">Об игре/помощь</string>
|
||||
<string name="startscreen_enterheroname">Введите имя героя</string>
|
||||
<string name="startscreen_load">Загрузить</string>
|
||||
|
||||
<!-- <string name="conversation_title">%1$s сказал</string> -->
|
||||
<string name="conversation_rewardexp"> [Вы получили %1$d опыта]</string>
|
||||
<string name="conversation_rewardgold"> [Вы получили %1$d золота]</string>
|
||||
<string name="conversation_lostgold"> [Вы утратили %1$d золота]</string>
|
||||
<string name="conversation_rewarditem"> [Вы получили предмет]</string>
|
||||
<string name="conversation_rewarditems"> [Вы получили %1$d предметов]</string>
|
||||
<string name="conversation_next">Дальше</string>
|
||||
<string name="conversation_leave">Уйти</string>
|
||||
|
||||
<string name="shop_buy">Купить</string>
|
||||
<string name="shop_sell">Продать</string>
|
||||
<string name="shop_infoitem">Инфо</string>
|
||||
<string name="shop_buyitem">Купить (%1$d зол.)</string>
|
||||
<string name="shop_sellitem">Продать (%1$d зол.)</string>
|
||||
<string name="shop_yourgold">Ваше золото: %1$d</string>
|
||||
<string name="shop_item_bought">%1$s куплен.</string>
|
||||
<string name="shop_item_sold">%1$s продан.</string>
|
||||
|
||||
<string name="levelup_title">Уровень повышен</string>
|
||||
<string name="levelup_description">Добро пожаловать на уровень %1$d!</string>
|
||||
<string name="levelup_buttontext">Новый уровень</string>
|
||||
<string name="levelup_add_health">Увеличить здоровье (+%1$d ОЗ)</string>
|
||||
<string name="levelup_add_health_description">Добавить %1$d к максимальному здоровью.</string>
|
||||
<string name="levelup_add_attackchance">Увеличить шанс атаки (+%1$d)</string>
|
||||
<string name="levelup_add_attackchance_description">Добавить %1$d к базовому шансу атаки.</string>
|
||||
<string name="levelup_add_attackdamage">Увеличить силу атаки (+%1$d)</string>
|
||||
<string name="levelup_add_attackdamage_description">Добавить %1$d к базовой силе атаки.</string>
|
||||
<string name="levelup_add_blockchance">Увеличить шанс блока (+%1$d)</string>
|
||||
<string name="levelup_add_blockchance_description">Добавить %1$d к базовому шансу на блок.</string>
|
||||
|
||||
<string name="dialog_rest_title">Отдых</string>
|
||||
<string name="dialog_rest_confirm_message">Вы хотите отдохнуть здесь?</string>
|
||||
<string name="dialog_rest_message">Вы отдохнули и восстановили свое здоровье полностью.</string>
|
||||
|
||||
<string name="about_button1">Помощь</string>
|
||||
<string name="about_button2">Авторы</string>
|
||||
<string name="about_button3">Лицензия</string>
|
||||
<string name="about_contents1">
|
||||
Добро пожаловать в След Эндора, RPG с открытым исходным кодом на Android.<br />
|
||||
<br />
|
||||
<a href="http://andorstrail.com/">Форум игры andorstrail.com для вопросов и обсуждения.</a><br />
|
||||
<br />
|
||||
<a href="http://andorstrail.com/wiki">Game wiki for info about the Andor\'s Trail world, among other things.</a><br />
|
||||
<br />
|
||||
<a href="http://code.google.com/p/andors-trail/">Страница проекта на code.google.com для разработчиков.</a><br />
|
||||
<br />
|
||||
Пожалуйста, посещайте форум, чтобы обсуждать игру с другими игроками.<br />
|
||||
</string>
|
||||
|
||||
<!--
|
||||
This is the GNU GPL v2 text, originally from
|
||||
http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||
For translation of this text, you might be able to find a version in your language here:
|
||||
http://www.gnu.org/licenses/old-licenses/gpl-2.0-translations.html
|
||||
-->
|
||||
<string name="about_contents3">
|
||||
Это бесплатное приложение; вы можете изменять ее и модифицировать согласно правилам GNU General Public License изданных Free Software Foundation; либо версии 2 лицензии, либо более позней версией.<br />
|
||||
<br />
|
||||
Игра создана с надеждой что она будет интересна, но БЕЗ ВСЯКИХ ГАРАНТИЙ; даже без подразумеваемых гарантии ТОВАРНОЙ ПРИГОДНОСТИ или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННЫХ ЦЕЛЕЙ. Смотрите GNU General Public License для больших подробностей.<br />
|
||||
<br />
|
||||
Вы принимаете условия GNU General Public License вместе с установкой этой программы; если нет, смотрите <a href="http://www.gnu.org/licenses">http://www.gnu.org/licenses</a><br />
|
||||
<br />
|
||||
За исходным кодом и пожеланиями, пожалуйста, посетите страницу проекта на <a href="http://code.google.com/p/andors-trail/">http://code.google.com/p/andors-trail/</a><br />
|
||||
</string>
|
||||
|
||||
<string name="dialog_newversion_title">Приветствуем</string>
|
||||
<string name="dialog_newversion_message">
|
||||
Спасибо за загрузку игры След Эндора!\n\n
|
||||
Запомните, игра находится в СТАДИИ РАЗРАБОТКИ, это означает что не все карты еще закончены.\n
|
||||
Пожалуйста, посещайте форум проекта, чтобы получить более подробную информацию или внести свой вклад в проект (см. Об игре).\n
|
||||
\n
|
||||
Спасибо за отзывы!
|
||||
</string>
|
||||
|
||||
<string name="questlog_includecompleted_prompt">Выберите задания для отображения</string>
|
||||
<string name="questlog_includecompleted_hidecompleted">Спрятать завершенные задания</string>
|
||||
<string name="questlog_includecompleted_includecompleted">Включая завершенные задания</string>
|
||||
<string name="questlog_includecompleted_onlycompleted">Только завершенные задания</string>
|
||||
<string name="questlog_queststatus">Статус: %1$s</string>
|
||||
<string name="questlog_queststatus_inprogress">В процессе</string>
|
||||
<string name="questlog_queststatus_completed">Выполнено</string>
|
||||
|
||||
<string name="preferences_display_category">Показ</string>
|
||||
<string name="preferences_display_fullscreen_title">Весь экран</string>
|
||||
<string name="preferences_display_fullscreen">Показывать игру в полноэкранном режиме (необходим перезапуск).</string>
|
||||
<string name="preferences_dialog_category">Диалоги подтверждения</string>
|
||||
<string name="preferences_dialog_confirmrest_title">Подтверждение отдыха</string>
|
||||
<string name="preferences_dialog_confirmrest">Задавать вопрос, хотите ли вы отдыхать при попадании в кровать. Иначе вы всегда будете автоматически отдыхать.</string>
|
||||
<string name="preferences_dialog_confirmattack_title">Подтверждение атаки</string>
|
||||
<string name="preferences_dialog_confirmattack">Показывать диалог \'Вы хотите напасть на ...?\' при атаке монстра.</string>
|
||||
<string name="preferences_dialog_monsterloot_title">Показ результатов победы</string>
|
||||
<string name="preferences_dialog_monsterloot">Выберите способ показа результатов схватки с монстром (золото, опыт, предметы).</string>
|
||||
<string name="preferences_combat_category">Схватка</string>
|
||||
<string name="preferences_combat_speed_title">Скорость схватки</string>
|
||||
<string name="preferences_combat_speed">Выбор скорости атаки монстров.</string>
|
||||
|
||||
<string name="preferences_display_loot_dialog">Показывать диалог</string>
|
||||
<string name="preferences_display_loot_toast">Короткое уведомление</string>
|
||||
<string name="preferences_display_loot_never">Не показывать</string>
|
||||
<string name="preferences_attackspeed_instant">Мгновенно (без анимации)</string>
|
||||
<string name="preferences_attackspeed_fast">Быстро</string>
|
||||
<string name="preferences_attackspeed_normal">Нормально</string>
|
||||
<string name="preferences_attackspeed_slow">Медленно</string>
|
||||
|
||||
<string name="preferences_movement_category">Движение</string>
|
||||
<string name="preferences_movementmethod_title">Способ движения</string>
|
||||
<string name="preferences_movementmethod">Способ движения и обхода препятствий.</string>
|
||||
<string name="preferences_movementmethods_straight">Прямо (базовый)</string>
|
||||
<string name="preferences_movementmethods_avoid">Обходить препятствия</string>
|
||||
|
||||
|
||||
<!-- =========================================== -->
|
||||
<!-- Added in v0.6.9 -->
|
||||
|
||||
<string name="actorinfo_currentconditions">Активные воздействия</string> <!-- Translated as: affliction / statuseffect / temporary effect -->
|
||||
<string name="actorcondition_info_removes_all">Убрать все %1$s</string>
|
||||
<string name="iteminfo_effect_chance_of">%1$s шанс из %2$s</string>
|
||||
<string name="iteminfo_effect_duration">(%1$d ходов)</string>
|
||||
|
||||
<string name="iteminfo_effect_works_on_source">На источник</string>
|
||||
<string name="iteminfo_effect_works_on_target">На цель</string>
|
||||
<string name="iteminfo_effect_works_when_hitting_target">При ударе цели</string>
|
||||
<string name="iteminfo_effect_works_when_killing_target">За каждое убийство</string>
|
||||
<string name="iteminfo_effect_works_when_used">Когда используется</string>
|
||||
<string name="iteminfo_effect_works_when_equipped">Когда надет</string>
|
||||
|
||||
<string name="iteminfo_effect_decrease_current_hp">Лишает %1$s ОЗ</string>
|
||||
<string name="iteminfo_effect_increase_current_hp">Восстанавливает %1$s ОЗ</string>
|
||||
<string name="iteminfo_effect_decrease_current_ap">Лишает %1$s ОД</string>
|
||||
<string name="iteminfo_effect_increase_current_ap">Восстанавливает %1$s ОД</string>
|
||||
|
||||
<string name="iteminfo_effect_increase_max_hp">Поднимает макс. ОЗ +%1$d</string>
|
||||
<string name="iteminfo_effect_decrease_max_hp">Понижает макс. ОЗ на %1$d</string>
|
||||
<string name="iteminfo_effect_increase_max_ap">Поднимает макс. ОД +%1$d</string>
|
||||
<string name="iteminfo_effect_decrease_max_ap">Понижает макс. ОД на %1$d</string>
|
||||
<string name="iteminfo_effect_increase_movecost">Цена движения +%1$d ОД</string>
|
||||
<string name="iteminfo_effect_decrease_movecost">Уменьшает цену движения на %1$d ОД</string>
|
||||
|
||||
<string name="preferences_display_scaling_factor_title">Масштаб</string>
|
||||
<string name="preferences_display_scaling_factor">Сделать все изображения на поле игры крупнее.</string>
|
||||
<string name="preferences_display_scaling_factor_normal">Нормальный размер</string>
|
||||
<string name="preferences_display_scaling_factor_50_percent_larger">Крупнее в 1.5 раза</string>
|
||||
<string name="preferences_display_scaling_factor_double">Двойной размер</string>
|
||||
|
||||
<string name="inventory_assign">Назначить быстрый слот</string>
|
||||
<string name="inventory_assign_slot1">Слот №1</string>
|
||||
<string name="inventory_assign_slot2">Слот №2</string>
|
||||
<string name="inventory_assign_slot3">Слот №3</string>
|
||||
<string name="inventory_unassign">Убрать из быстрого слота</string>
|
||||
|
||||
<!-- =========================================== -->
|
||||
<!-- Added in v0.6.10 -->
|
||||
|
||||
<string name="preferences_movement_dpad_position_title">Виртуальный джойстик</string>
|
||||
<string name="preferences_movement_dpad_position">Показать на экране виртуальные кнопки для управления движением.</string>
|
||||
<string name="preferences_movement_dpad_minimizeable_title">Минимизировать джойстик</string>
|
||||
<string name="preferences_movement_dpad_minimizeable">Если виртуальный джойстик включен, позволить минимизировать джойстик нажатием на его центр.</string>
|
||||
|
||||
<string name="preferences_movement_dpad_positions_disabled">Выключен</string>
|
||||
<string name="preferences_movement_dpad_positions_lower_right">Правый нижний угол</string>
|
||||
<string name="preferences_movement_dpad_positions_lower_left">Левый нижний угол</string>
|
||||
<string name="preferences_movement_dpad_positions_center_bottom">Внизу в центре</string>
|
||||
<string name="preferences_movement_dpad_positions_center_left">Слева в центре</string>
|
||||
<string name="preferences_movement_dpad_positions_center_right">Справа в центре</string>
|
||||
<string name="preferences_movement_dpad_positions_upper_left">Левый верхний угол</string>
|
||||
<string name="preferences_movement_dpad_positions_upper_right">Правый верхний угол</string>
|
||||
<string name="preferences_movement_dpad_positions_center_top">Сверху в центре</string>
|
||||
|
||||
<string name="actorconditioninfo_constant_effect">Постоянный эффект</string>
|
||||
<string name="actorconditioninfo_effect_every_round">Каждый ход</string>
|
||||
<string name="actorconditioninfo_effect_every_full_round">Каждый полный ход</string>
|
||||
<string name="bulkselection_totalcost_buy">Сумма покупки: %1$d зол.</string>
|
||||
<string name="bulkselection_totalcost_sell">Сумма продажи: %1$d зол.</string>
|
||||
<string name="bulkselection_select_all">Всё</string>
|
||||
<string name="bulkselection_sell_confirmation_title">Вы уверены?</string>
|
||||
<string name="bulkselection_sell_confirmation">Вы действительно хотит продать %1$s? Этот предмет %2$s и вы не сможете его вернуть.</string>
|
||||
|
||||
<string name="skill_title_weapon_chance">Точность удара</string>
|
||||
<string name="skill_title_weapon_dmg">Сила удара</string>
|
||||
<string name="skill_title_barter">Торговец</string>
|
||||
<string name="skill_title_dodge">Финты</string>
|
||||
<string name="skill_title_barkskin">Дубленая кожа</string>
|
||||
<string name="skill_title_more_criticals">Ловкость</string>
|
||||
<string name="skill_title_better_criticals">Жестокость</string>
|
||||
<string name="skill_title_speed">Скорость в бою</string>
|
||||
<string name="skill_title_coinfinder">Охотник за сокровищами</string>
|
||||
<string name="skill_title_more_exp">Способный ученик</string>
|
||||
<string name="skill_title_cleave">Ближний бой</string>
|
||||
<string name="skill_title_eater">Пожиратель трупов</string>
|
||||
<string name="skill_title_fortitude">Выносливость</string>
|
||||
<string name="skill_title_evasion">Трусость</string>
|
||||
<string name="skill_title_regeneration">Регенерация</string>
|
||||
<string name="skill_title_lower_exploss">Неудачник</string>
|
||||
<string name="skill_title_magicfinder">Искатель магии</string>
|
||||
<string name="skill_title_resistance_mental">Сильный разум</string>
|
||||
<string name="skill_title_resistance_physical_capacity">Несокрушимое тело</string>
|
||||
<string name="skill_title_resistance_blood_disorder">Безупречная кровь</string>
|
||||
|
||||
<string name="skill_shortdescription_weapon_chance">Увеличение шанса атаки</string>
|
||||
<string name="skill_shortdescription_weapon_dmg">Увеличение силы атаки</string>
|
||||
<string name="skill_shortdescription_barter">Хорошие цены при торговле</string>
|
||||
<string name="skill_shortdescription_dodge">Увеличение шанса блока</string>
|
||||
<string name="skill_shortdescription_barkskin">Сопротивление урону</string>
|
||||
<string name="skill_shortdescription_more_criticals">Увеличение шанса критического удара</string>
|
||||
<string name="skill_shortdescription_better_criticals">Увеличение силы критического удара</string>
|
||||
<string name="skill_shortdescription_speed">Увеличение количества очков действия</string>
|
||||
<string name="skill_shortdescription_coinfinder">Высокий шанс найти золото</string>
|
||||
<string name="skill_shortdescription_more_exp">Больше опыта при убийстве монстра</string>
|
||||
<string name="skill_shortdescription_cleave">Восстановление очков действия за каждое убийство</string>
|
||||
<string name="skill_shortdescription_eater">Восстановление очков здоровья за каждое убийство</string>
|
||||
<string name="skill_shortdescription_fortitude">Увеличение здоровья при каждом повышении уровня</string>
|
||||
<string name="skill_shortdescription_evasion">Увеличение шансов при бегстве</string>
|
||||
<string name="skill_shortdescription_regeneration">Восстановление очков здоровья каждый ход</string>
|
||||
<string name="skill_shortdescription_lower_exploss">Уменьшение количества потерянного опыта при смерти героя</string>
|
||||
<string name="skill_shortdescription_magicfinder">Увеличение шансов найти магические предметы</string>
|
||||
<string name="skill_shortdescription_resistance_mental">Устойчивость к психическим воздействиям</string>
|
||||
<string name="skill_shortdescription_resistance_physical_capacity">Устойчивость к физическим воздействиям</string>
|
||||
<string name="skill_shortdescription_resistance_blood_disorder">Устойчивость к воздействиям на кровь</string>
|
||||
|
||||
<string name="skill_longdescription_weapon_chance">Увеличивает шанс атаки на %1$d на каждый уровень навыка.</string>
|
||||
<string name="skill_longdescription_weapon_dmg">Увеличивает мин. и макс. силу атаки на %1$d на каждый уровень навыка.</string>
|
||||
<string name="skill_longdescription_barter">Уменьшает разницу между ценой покупки или продажи и базовой ценой на %1$d процентов на каждый уровень навыка.</string>
|
||||
<string name="skill_longdescription_dodge">Увеличивает шанс блока на %1$d на каждый уровень навыка.</string>
|
||||
<string name="skill_longdescription_barkskin">Увеличивает сопротивление урону на %1$d на каждый уровень навыка.</string>
|
||||
<string name="skill_longdescription_more_criticals">Увеличивает любой существующий шанс критического удара используемой экипировки на %1$d %% на каждый уровень навыка.</string>
|
||||
<string name="skill_longdescription_better_criticals">Увеличивает любой существующий критического умножитель используемой экипировки на %1$d %% на каждый уровень навыка.</string>
|
||||
<string name="skill_longdescription_speed">Увеличивает колчество очков действия (ОД) на %1$d на каждый уровень навыка.</string>
|
||||
<string name="skill_longdescription_coinfinder">Увеличивает шансы найти золото в останках монстра на %1$d %%, и увеличивает количество найденного золота на %2$d %% на каждый уровень навыка (но не более верхнего лимита на золото для этого монстра).</string>
|
||||
<string name="skill_longdescription_more_exp">Увеличивает количество очков опыта, дающегося за победу монстрами на %1$d %% на каждый уровень навыка.</string>
|
||||
<string name="skill_longdescription_cleave">Дает +%1$d очков действия (ОД) за каждое убийство на каждый уровень навыка.</string>
|
||||
<string name="skill_longdescription_eater">Дает +%1$d очков здоровья (ОД) за каждое убийство на каждый уровень навыка.</string>
|
||||
<string name="skill_longdescription_fortitude">На каждом последующем уровне максимальное количество очков здоровья (ОЗ) будет повышаться на %1$d на каждый уровень навыка. Это не применяется задним числом, только к последующим уровням.</string>
|
||||
<string name="skill_longdescription_evasion">Уменьшает вероятность неудач при попытке бежать %1$d %% и шанс, что ближайший монстр будет атаковать, на %2$d %% на каждый уровень навыка.</string>
|
||||
<string name="skill_longdescription_regeneration">Дает +%1$d очков здоровья (ОЗ) каждый ход на каждый уровень навыка.</string>
|
||||
<string name="skill_longdescription_lower_exploss">Уменьшает потери очков опыта при смерти героя на %1$d %% на каждый уровень навыка (процент существующего значения, а не процентных пунктов). После %2$d уровней навыка исчезают все потери опыта, вызванные смертью.</string>
|
||||
<string name="skill_longdescription_magicfinder">Увеличивает шансы найти неординарные предметы на %1$d %% на каждый уровень навыка.</string>
|
||||
<string name="skill_longdescription_resistance_mental">Снижает шансы пострадать от психических воздействий на %1$d %% на каждый уровень навыка, но не более %2$d %%. К таким воздействиям относятся, например, ошеломление или слабость.</string>
|
||||
<string name="skill_longdescription_resistance_physical_capacity">Снижает шансы пострадать от физических воздействий на %1$d %% на каждый уровень навыка, но не более %2$d %%. К таким воздействиям относится, например, усталость.</string>
|
||||
<string name="skill_longdescription_resistance_blood_disorder">Снижает шансы пострадать от воздействий на кровь на %1$d %% на каждый уровень навыка, но не более %2$d %%. К таким воздействиям относятся, например, яд или кровотечение.</string>
|
||||
|
||||
<string name="skillinfo_action_levelup">Повышение уровня</string>
|
||||
<string name="skill_current_level">Текущий уровень: %1$d</string>
|
||||
<string name="skill_current_level_with_maximum">Текущий уровень: %1$d / %2$d</string>
|
||||
<string name="skill_prerequisite_other_skill">Чтобы повысить уровень этого навыка вам нужно иметь уровень не менее %1$d навыка %2$s.</string>
|
||||
<string name="skill_prerequisite_level">Чтобы повысить уровень этого навыка вам нужно иметь уровень опыта не менее %1$d.</string>
|
||||
<string name="skill_prerequisite_stat">Чтобы повысить уровень этого навыка вам нужно иметь не менее %1$d %2$s (базовых характеристик).</string>
|
||||
<string name="skill_number_of_increases_one">Вы можете выбрать один навык для увеличения.</string>
|
||||
<string name="skill_number_of_increases_several">Вы можете выбрать %1$d навыков для увеличения.</string>
|
||||
<string name="levelup_adds_new_skillpoint">Этот уровень дает вам очко для увеличения навыков!</string>
|
||||
|
||||
<string name="loadsave_save_to_new_slot">Создать новый слот для сохранения игры</string>
|
||||
<string name="loadsave_save_overwrite_confirmation_title">Перезаписать сохраненную игру?</string>
|
||||
<string name="loadsave_save_overwrite_confirmation">Это игра содержит героя с другим именем (%1$s), не совпадающим с именем тегущего героя (%2$s). Вы уверены, что хотите перезаписать сохраненную игру?</string>
|
||||
|
||||
<string name="iteminfo_displaytypes_ordinary">Обычный</string>
|
||||
<string name="iteminfo_displaytypes_quest">Необходимый для задания</string>
|
||||
<string name="iteminfo_displaytypes_legendary">Легендарный</string>
|
||||
<string name="iteminfo_displaytypes_extraordinary">Экстраординарный</string>
|
||||
<string name="iteminfo_displaytypes_rare">Редкий</string>
|
||||
|
||||
<string name="actorconditioninfo_category">Условия болезни: %1$s</string>
|
||||
<string name="actorcondition_categories_spiritual">Духовное</string>
|
||||
<string name="actorcondition_categories_mental">Психическое</string>
|
||||
<string name="actorcondition_categories_physical">Физическое</string>
|
||||
<string name="actorcondition_categories_blood">Поражение крови</string>
|
||||
|
||||
<string name="traitsinfo_base_max_hp">Макс. ОЗ:</string>
|
||||
<string name="traitsinfo_base_max_ap">Макс. ОД:</string>
|
||||
<string name="menu_save_saving_not_allowed_in_combat">Невозможно сохранить игру во время боя.</string>
|
||||
|
||||
<string name="preferences_optimized_drawing_title">Оптимизация рисования</string>
|
||||
<string name="preferences_optimized_drawing">Отключить, если вы видите графические глюки. Включение этой опции приводит к перерисовыванию только измененных участков экрана в каждом кадре.</string>
|
||||
|
||||
<!-- =========================================== -->
|
||||
<!-- Added in v0.6.11 -->
|
||||
|
||||
<string name="skill_title_shadow_bless">Тёмное благословение Тени</string>
|
||||
<string name="skill_shortdescription_shadow_bless">Сопротивление против всех типов болезней</string>
|
||||
<string name="skill_longdescription_shadow_bless">Снижает шансы подцепить любую заразу на %1$d %%. Включая все вредные атаки монстров, такие как Отравления, Ошеломления и Усталость.</string>
|
||||
|
||||
<string name="inventory_movetop">Положить вверх</string>
|
||||
<string name="inventory_movebottom">Положить вниз</string>
|
||||
<string name="actorinfo_immune_criticals">Иммунитет к критическим ударам</string>
|
||||
<string name="traitsinfo_criticalhit_effectivechance">Эффективный шанс крит. удара:</string>
|
||||
|
||||
|
||||
<string name="skill_title_crit1">Внутренние кровотечение</string>
|
||||
<string name="skill_shortdescription_crit1">Вероятность внутренних кровотечений</string>
|
||||
<string name="skill_longdescription_crit1">При каждом критическом ударе, есть шанс %1$d %% что он вызовет внутренние кровотечение у цели. Внутреннее кровотечение сильно снижает боевые способности, что делает цель менее способной к удачному завершению своих атак.</string>
|
||||
<string name="skill_title_crit2">Перелом</string>
|
||||
<string name="skill_shortdescription_crit2">Вероятность перелома костей</string>
|
||||
<string name="skill_longdescription_crit2">При каждом критическом ударе, есть шанс %1$d %% сломать цели несколько костей. Переломы сильно снижают возможность цели защищать себя.</string>
|
||||
<string name="skill_title_rejuvenation">Восстановление</string>
|
||||
<string name="skill_shortdescription_rejuvenation">Возможен эффект удаления</string>
|
||||
<string name="skill_longdescription_rejuvenation">Каждый раунд (6 секунд), есть шанс %1$d %% что один из негативных эффектов будет уменьшен на один шаг. Это относится ко всем временным эффектам влияющим на тело; психику, напрмер Ошеломление; физическим воздействиям, таким как Усталость и конечно заболевания крови, например отравление.</string>
|
||||
<string name="skill_title_taunt">Насмешка</string>
|
||||
<string name="skill_shortdescription_taunt">Атакующий теряет ОД при промахе</string>
|
||||
<string name="skill_longdescription_taunt">Когда атакующий промахивается, есть шанс %1$d %% что он потеряет %2$d очков движения (ОД). Это относится ко всем атакам ближнего боя.</string>
|
||||
<string name="skill_title_concussion">Сотрясение</string>
|
||||
<string name="skill_shortdescription_concussion">Вероятность сотрясение мозга</string>
|
||||
<string name="skill_longdescription_concussion">Во время атаки цели чей шанс блока (ШБ), по крайней мере на %1$d меньше вашего шанса атаки (ША), есть возможность в %2$d %%, что цель получит сотрясение. Сотрясение сильно снижает боевые способности, что делает цель менее способной к удачному завершению своих атак.</string>
|
||||
|
||||
<string name="about_button4">О игре</string>
|
||||
|
||||
<!-- =========================================== -->
|
||||
<!-- Added in v0.6.12 -->
|
||||
|
||||
<string name="preferences_ui_category">Интерфейс</string>
|
||||
<string name="preferences_ui_enable_animations_title">Включить анимацию</string>
|
||||
<string name="preferences_ui_enable_animations">Использовать анимацию разных элементов интерфейса, например строка боя.</string>
|
||||
<string name="menu_button_worldmap">Карта</string>
|
||||
<string name="menu_button_worldmap_failed">Карта не может быть показана.</string>
|
||||
<string name="display_worldmap_not_available">Карта не может быть показана из этой локации.</string>
|
||||
<string name="display_worldmap_title">Карта</string>
|
||||
|
||||
<string name="inventory_equip_offhand">Equip (offhand)</string>
|
||||
|
||||
<string name="iteminfo_effect_weapon_attack_cost">Атака стоит: %1$d ОД</string>
|
||||
<string name="iteminfo_effect_increase_attack_cost">Увеличивает стоимости атаки на %1$d ОД</string>
|
||||
<string name="iteminfo_effect_decrease_attack_cost">Уменьшает стоимости атаки на %1$d ОД</string>
|
||||
<string name="iteminfo_effect_weapon_attack_chance">Шанс атаки: %1$d</string>
|
||||
<string name="iteminfo_effect_increase_attack_chance">Увеличивает шанс атаки на %1$d</string>
|
||||
<string name="iteminfo_effect_decrease_attack_chance">Уменьшает шанс атаки на %1$d</string>
|
||||
<string name="iteminfo_effect_weapon_attack_damage">Сила атаки: %1$d</string>
|
||||
<string name="iteminfo_effect_weapon_attack_damage_minmax">Сила атаки: %1$d-%2$d</string>
|
||||
<string name="iteminfo_effect_increase_attack_damage">Увеличивает силу атаки на %1$d</string>
|
||||
<string name="iteminfo_effect_increase_attack_damage_minmax">Увеличивает силу атаки на %1$d-%2$d</string>
|
||||
<string name="iteminfo_effect_decrease_attack_damage">Уменьшает силу атаки на %1$d</string>
|
||||
<string name="iteminfo_effect_decrease_attack_damage_minmax">Уменьшает силу атаки на %1$d-%2$d</string>
|
||||
<string name="iteminfo_effect_increase_critical_skill">Увеличивает шанс крит. удара на %1$d</string>
|
||||
<string name="iteminfo_effect_decrease_critical_skill">Уменьшает шанс крит. удара на %1$d</string>
|
||||
<string name="iteminfo_effect_critical_multiplier">Увеличивает повреждения при крит. ударе в %1$.1f раз(а)</string>
|
||||
<string name="iteminfo_effect_increase_block_chance">Увеличивает шанс блока на %1$d</string>
|
||||
<string name="iteminfo_effect_decrease_block_chance">Уменьшает шанс блока на %1$d</string>
|
||||
<string name="iteminfo_effect_increase_damage_resistance">Увеличивает сопротивление повреждениям на %1$d</string>
|
||||
<string name="iteminfo_effect_decrease_damage_resistance">Уменьшает сопротивление повреждениям на %1$d</string>
|
||||
<string name="iteminfo_effect_increase_use_cost">Увеличивает необходимое кол-во ОД для использования предметов в бою на %1$d ОД</string>
|
||||
<string name="iteminfo_effect_decrease_use_cost">Уменьшает необходимое кол-во ОД для использования предметов в бою на %1$d ОД</string>
|
||||
<string name="iteminfo_effect_increase_reequip_cost">Увеличивает необходимое кол-во ОД для одевания предметов в бою на %1$d ОД</string>
|
||||
<string name="iteminfo_effect_decrease_reequip_cost">Уменьшает необходимое кол-во ОД для одевания предметов в бою на %1$d ОД</string>
|
||||
|
||||
<string name="loadsave_save_overwrite_confirmation_all">Вы точно хотите перезаписать это сохранение?</string>
|
||||
<string name="loadsave_save_overwrite_confirmation_slot">(слот %1$d)</string>
|
||||
<string name="preferences_display_overwrite_savegame_entries_always_confirm">Всегда показывать диалог подтверждения</string>
|
||||
<string name="preferences_display_overwrite_savegame_entries_confirm_overwrite">Показывать только при перезаписи игроком с другим именем</string>
|
||||
<string name="preferences_display_overwrite_savegame_entries_never_confirm">Не показывать диалог подтверждения</string>
|
||||
<string name="preferences_dialog_overwrite_savegame_title">Перезаписать сохранение</string>
|
||||
<string name="preferences_dialog_overwrite_savegame">Настройка диалога подтверждения при попытке перезаписать сохранение</string>
|
||||
|
||||
<!-- =========================================== -->
|
||||
<!-- Added in v0.7.0 -->
|
||||
|
||||
<string name="localize_resources_from_mo_filename">ru.mo</string>
|
||||
|
||||
</resources>
|
||||
@@ -1,251 +0,0 @@
|
||||
<?xml version="1.0" ?><map height="18" orientation="orthogonal" tileheight="32" tilewidth="32" version="1.0" width="18">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<tileset firstgid="1" name="map_bed_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_bed_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="129" name="map_border_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_border_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="257" name="map_bridge_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_bridge_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="385" name="map_bridge_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_bridge_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="513" name="map_broken_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_broken_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="641" name="map_cavewall_1" tileheight="32" tilewidth="32">
|
||||
<image height="192" source="../drawable/map_cavewall_1.png" width="576"/>
|
||||
</tileset><tileset firstgid="749" name="map_cavewall_2" tileheight="32" tilewidth="32">
|
||||
<image height="192" source="../drawable/map_cavewall_2.png" width="576"/>
|
||||
</tileset><tileset firstgid="857" name="map_cavewall_3" tileheight="32" tilewidth="32">
|
||||
<image height="192" source="../drawable/map_cavewall_3.png" width="576"/>
|
||||
</tileset><tileset firstgid="965" name="map_cavewall_4" tileheight="32" tilewidth="32">
|
||||
<image height="192" source="../drawable/map_cavewall_4.png" width="576"/>
|
||||
</tileset><tileset firstgid="1073" name="map_chair_table_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_chair_table_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1201" name="map_chair_table_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_chair_table_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="1329" name="map_crate_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_crate_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1457" name="map_cupboard_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_cupboard_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1585" name="map_curtain_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_curtain_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1713" name="map_entrance_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_entrance_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1841" name="map_entrance_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_entrance_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="1969" name="map_fence_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_fence_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="2097" name="map_fence_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_fence_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="2225" name="map_fence_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_fence_3.png" width="512"/>
|
||||
</tileset><tileset firstgid="2353" name="map_fence_4" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_fence_4.png" width="512"/>
|
||||
</tileset><tileset firstgid="2481" name="map_ground_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="2609" name="map_ground_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="2737" name="map_ground_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_3.png" width="512"/>
|
||||
</tileset><tileset firstgid="2865" name="map_ground_4" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_4.png" width="512"/>
|
||||
</tileset><tileset firstgid="2993" name="map_ground_5" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_5.png" width="512"/>
|
||||
</tileset><tileset firstgid="3121" name="map_ground_6" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_6.png" width="512"/>
|
||||
</tileset><tileset firstgid="3249" name="map_ground_7" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_7.png" width="512"/>
|
||||
</tileset><tileset firstgid="3377" name="map_ground_8" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_8.png" width="512"/>
|
||||
</tileset><tileset firstgid="3505" name="map_house_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_house_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="3633" name="map_house_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_house_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="3761" name="map_indoor_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_indoor_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="3889" name="map_indoor_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_indoor_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="4017" name="map_kitchen_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_kitchen_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4145" name="map_outdoor_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_outdoor_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4273" name="map_pillar_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_pillar_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4401" name="map_pillar_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_pillar_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="4529" name="map_plant_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_plant_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4657" name="map_plant_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_plant_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="4785" name="map_rock_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_rock_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4913" name="map_rock_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_rock_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="5041" name="map_roof_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_roof_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5169" name="map_roof_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_roof_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="5297" name="map_roof_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_roof_3.png" width="512"/>
|
||||
</tileset><tileset firstgid="5425" name="map_shop_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_shop_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5553" name="map_sign_ladder_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_sign_ladder_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5681" name="map_table_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_table_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5809" name="map_trail_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_trail_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5937" name="map_transition_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="6065" name="map_transition_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="6193" name="map_transition_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_3.png" width="512"/>
|
||||
</tileset><tileset firstgid="6321" name="map_transition_4" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_4.png" width="512"/>
|
||||
</tileset><tileset firstgid="6449" name="map_transition_5" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_5.png" width="512"/>
|
||||
</tileset><tileset firstgid="6577" name="map_tree_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_tree_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="6705" name="map_tree_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_tree_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="6833" name="map_wall_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_wall_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="6961" name="map_wall_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_wall_2.png" width="480"/>
|
||||
</tileset><tileset firstgid="7081" name="map_wall_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_wall_3.png" width="480"/>
|
||||
</tileset><tileset firstgid="7201" name="map_wall_4" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_wall_4.png" width="480"/>
|
||||
</tileset><tileset firstgid="7321" name="map_window_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_window_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="7449" name="map_window_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_window_2.png" width="512"/>
|
||||
</tileset><layer height="18" name="Ground" width="18">
|
||||
<data compression="zlib" encoding="base64">eJzbyMnAsHEU48Q53AwMFwaBO2B4CxIezOYcGyD3jOJRTAkGAOdR634=</data>
|
||||
</layer>
|
||||
<layer height="18" name="Objects" width="18">
|
||||
<data compression="zlib" encoding="base64">eJzjFGOAg5OiCLYrK8OAg3AW6pt5VZSwGnqBvUwD7QLaAS4xwmpGweAEJ/kH2gUDBwCdIQRE</data>
|
||||
</layer>
|
||||
<layer height="18" name="Above" width="18">
|
||||
<data compression="zlib" encoding="base64">eJxjYBgFo2AUjIJRAAIABRAAAQ==</data>
|
||||
</layer>
|
||||
<layer height="18" name="Walkable" width="18">
|
||||
<data compression="zlib" encoding="base64">eJxjYBgFAwU2ig20C0bBKBgFyAAAzSQAyA==</data>
|
||||
</layer>
|
||||
<objectgroup height="18" name="Object Layer 1" width="18">
|
||||
<object height="32" name="debugsign" type="sign" width="32" x="192" y="96"/>
|
||||
<object height="32" name="start" type="rest" width="32" x="96" y="64"/>
|
||||
<object height="32" name="Unopenable key area" type="key" width="32" x="32" y="128">
|
||||
<properties>
|
||||
<property name="phrase" value="debugrequireskey"/>
|
||||
<property name="requireId" value="no_quest"/>
|
||||
<property name="requireType" value="questProgress"/>
|
||||
<property name="requireValue" value="10"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="Openable by quest" type="key" width="32" x="0" y="128">
|
||||
<properties>
|
||||
<property name="phrase" value="debugrequireskey"/>
|
||||
<property name="requireId" value="debugquest"/>
|
||||
<property name="requireType" value="questProgress"/>
|
||||
<property name="requireValue" value="100"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="place2" type="mapchange" width="32" x="192" y="256">
|
||||
<properties>
|
||||
<property name="map" value="debugmap"/>
|
||||
<property name="place" value="place1"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="place1" type="mapchange" width="32" x="0" y="0">
|
||||
<properties>
|
||||
<property name="map" value="debugmap"/>
|
||||
<property name="place" value="place2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="startitems" type="container" width="32" x="192" y="0"/>
|
||||
<object height="32" name="Toll both. 10 gold." type="key" width="32" x="96" y="0">
|
||||
<properties>
|
||||
<property name="phrase" value="debugrequires10gold"/>
|
||||
<property name="requireId" value="gold"/>
|
||||
<property name="requireType" value="inventoryRemove"/>
|
||||
<property name="requireValue" value="10"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup height="18" name="Spawn" width="18">
|
||||
<object height="160" name="debug_insect" type="spawn" width="192" x="384" y="128">
|
||||
<properties>
|
||||
<property name="quantity" value="15"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="64" name="debug_troll" type="spawn" width="64" x="512" y="256">
|
||||
<properties>
|
||||
<property name="quantity" value="3"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="debugNPC1" type="spawn" width="32" x="288" y="0"/>
|
||||
<object height="32" name="debugNPC2" type="spawn" width="32" x="256" y="0"/>
|
||||
<object height="32" name="debugNPC3" type="spawn" width="32" x="32" y="448"/>
|
||||
<object name="chaotic_dialogue" type="spawn" x="256" y="64" width="32" height="32">
|
||||
<properties>
|
||||
<property name="spawngroup" value="chaotic_rewarder"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup height="18" name="Inactive" width="18">
|
||||
<properties>
|
||||
<property name="active" value="false"/>
|
||||
</properties>
|
||||
<object height="32" name="signbeer" type="sign" width="32" x="288" y="448"/>
|
||||
<object height="96" name="debug_insect_inactive" type="spawn" width="160" x="96" y="416">
|
||||
<properties>
|
||||
<property name="active" value="false"/>
|
||||
<property name="quantity" value="11"/>
|
||||
<property name="spawngroup" value="debug_insect"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup height="18" name="Active" width="18">
|
||||
<object height="32" name="signnobeer" type="sign" width="32" x="288" y="448"/>
|
||||
</objectgroup>
|
||||
</map>
|
||||
@@ -1,204 +0,0 @@
|
||||
<?xml version="1.0" ?><map height="20" orientation="orthogonal" tileheight="32" tilewidth="32" version="1.0" width="20">
|
||||
<properties>
|
||||
<property name="outdoors" value="1"/>
|
||||
</properties>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<tileset firstgid="1" name="map_bed_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_bed_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="129" name="map_border_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_border_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="257" name="map_bridge_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_bridge_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="385" name="map_bridge_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_bridge_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="513" name="map_broken_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_broken_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="641" name="map_cavewall_1" tileheight="32" tilewidth="32">
|
||||
<image height="192" source="../drawable/map_cavewall_1.png" width="576"/>
|
||||
</tileset><tileset firstgid="749" name="map_cavewall_2" tileheight="32" tilewidth="32">
|
||||
<image height="192" source="../drawable/map_cavewall_2.png" width="576"/>
|
||||
</tileset><tileset firstgid="857" name="map_cavewall_3" tileheight="32" tilewidth="32">
|
||||
<image height="192" source="../drawable/map_cavewall_3.png" width="576"/>
|
||||
</tileset><tileset firstgid="965" name="map_cavewall_4" tileheight="32" tilewidth="32">
|
||||
<image height="192" source="../drawable/map_cavewall_4.png" width="576"/>
|
||||
</tileset><tileset firstgid="1073" name="map_chair_table_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_chair_table_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1201" name="map_chair_table_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_chair_table_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="1329" name="map_crate_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_crate_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1457" name="map_cupboard_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_cupboard_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1585" name="map_curtain_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_curtain_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1713" name="map_entrance_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_entrance_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1841" name="map_entrance_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_entrance_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="1969" name="map_fence_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_fence_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="2097" name="map_fence_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_fence_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="2225" name="map_fence_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_fence_3.png" width="512"/>
|
||||
</tileset><tileset firstgid="2353" name="map_fence_4" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_fence_4.png" width="512"/>
|
||||
</tileset><tileset firstgid="2481" name="map_ground_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="2609" name="map_ground_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="2737" name="map_ground_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_3.png" width="512"/>
|
||||
</tileset><tileset firstgid="2865" name="map_ground_4" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_4.png" width="512"/>
|
||||
</tileset><tileset firstgid="2993" name="map_ground_5" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_5.png" width="512"/>
|
||||
</tileset><tileset firstgid="3121" name="map_ground_6" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_6.png" width="512"/>
|
||||
</tileset><tileset firstgid="3249" name="map_ground_7" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_7.png" width="512"/>
|
||||
</tileset><tileset firstgid="3377" name="map_ground_8" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_8.png" width="512"/>
|
||||
</tileset><tileset firstgid="3505" name="map_house_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_house_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="3633" name="map_house_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_house_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="3761" name="map_indoor_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_indoor_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="3889" name="map_indoor_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_indoor_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="4017" name="map_kitchen_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_kitchen_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4145" name="map_outdoor_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_outdoor_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4273" name="map_pillar_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_pillar_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4401" name="map_pillar_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_pillar_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="4529" name="map_plant_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_plant_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4657" name="map_plant_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_plant_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="4785" name="map_rock_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_rock_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4913" name="map_rock_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_rock_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="5041" name="map_roof_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_roof_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5169" name="map_roof_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_roof_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="5297" name="map_roof_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_roof_3.png" width="512"/>
|
||||
</tileset><tileset firstgid="5425" name="map_shop_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_shop_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5553" name="map_sign_ladder_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_sign_ladder_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5681" name="map_table_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_table_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5809" name="map_trail_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_trail_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5937" name="map_transition_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="6065" name="map_transition_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="6193" name="map_transition_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_3.png" width="512"/>
|
||||
</tileset><tileset firstgid="6321" name="map_transition_4" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_4.png" width="512"/>
|
||||
</tileset><tileset firstgid="6449" name="map_transition_5" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_5.png" width="512"/>
|
||||
</tileset><tileset firstgid="6577" name="map_tree_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_tree_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="6705" name="map_tree_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_tree_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="6833" name="map_wall_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_wall_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="6961" name="map_wall_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_wall_2.png" width="480"/>
|
||||
</tileset><tileset firstgid="7081" name="map_wall_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_wall_3.png" width="480"/>
|
||||
</tileset><tileset firstgid="7201" name="map_wall_4" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_wall_4.png" width="480"/>
|
||||
</tileset><tileset firstgid="7321" name="map_window_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_window_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="7449" name="map_window_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_window_2.png" width="512"/>
|
||||
</tileset><layer height="20" name="Ground" width="20">
|
||||
<data compression="zlib" encoding="base64">eJy7J8nA8A6I72GhN3JixyfwYGxmkWoGMt7Iid0MYvVjM49SM0Yq3kxlsyg1bzMaJjVO0fXDzCAljRDST6x5pJiBnL8ocQsMI+dVcs3AZSa5+kfx0MAAIVQ3rw==</data>
|
||||
</layer>
|
||||
<layer height="20" name="Objects" width="20">
|
||||
<data compression="zlib" encoding="base64">eJxjYMAN3koyMLwB4mdiDAwvoPg1EN8C4p9ieDSiAWT9yGb8gGJ8ZoHsRzcDXT8hM5ABOW7AB8hxAz0ALLyoZdZrCs1Cjz9K9OMy4xYBc4lxAzFp4hkBNxCTJvC5BZcbTghimkMoPJDNOIlFPyx/4QK43HIcySyQGW8lUfkw8ANLeMDccUwQ01/IbJgdIPUwO8w4qItluTDxMTHs4sSok8OCt4thFx8O6gAN+IBp</data>
|
||||
</layer>
|
||||
<layer height="20" name="Above" width="20">
|
||||
<data compression="zlib" encoding="base64">eJxjYCAM3koSoQgPuCdJPTPeUMEsapgxCkYBseAOMK3dlYTQ1DCLWu4ZBQwMNwQZGG4JQtgg+gaUbSBEGIPAV0FUjGwWMk2KeYJMCPNgbkQH2PSD1BFy3w00d1HqXwA8vjJC</data>
|
||||
</layer>
|
||||
<layer height="20" name="Walkable" visible="0" width="20">
|
||||
<data compression="zlib" encoding="base64">eJzbKMbAsHEUj2IiMAhQ0yxKzcMGKNVPqnmkAmqYQy23YDOLEjOwmUktMNBpfxRjxwAPNfQX</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" visible="0">
|
||||
<object height="64" name="west" type="mapchange" width="32" x="0" y="416">
|
||||
<properties>
|
||||
<property name="map" value="fields7"/>
|
||||
<property name="place" value="east"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="160" name="east" type="mapchange" width="32" x="608" y="192">
|
||||
<properties>
|
||||
<property name="map" value="fields12"/>
|
||||
<property name="place" value="west"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" visible="0">
|
||||
<object height="160" name="frog_1" type="spawn" width="256" x="64" y="320">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="288" name="frog_2" type="spawn" width="352" x="224" y="192">
|
||||
<properties>
|
||||
<property name="quantity" value="3"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys" visible="0"/>
|
||||
</map>
|
||||
@@ -1,278 +0,0 @@
|
||||
<?xml version="1.0" ?><!DOCTYPE map SYSTEM 'http://mapeditor.org/dtd/1.0/map.dtd'><map height="28" orientation="orthogonal" tileheight="32" tilewidth="32" version="1.0" width="28">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<tileset firstgid="1" name="map_bed_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_bed_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="129" name="map_border_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_border_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="257" name="map_bridge_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_bridge_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="385" name="map_bridge_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_bridge_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="513" name="map_broken_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_broken_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="641" name="map_cavewall_1" tileheight="32" tilewidth="32">
|
||||
<image height="192" source="../drawable/map_cavewall_1.png" width="576"/>
|
||||
</tileset><tileset firstgid="749" name="map_cavewall_2" tileheight="32" tilewidth="32">
|
||||
<image height="192" source="../drawable/map_cavewall_2.png" width="576"/>
|
||||
</tileset><tileset firstgid="857" name="map_cavewall_3" tileheight="32" tilewidth="32">
|
||||
<image height="192" source="../drawable/map_cavewall_3.png" width="576"/>
|
||||
</tileset><tileset firstgid="965" name="map_cavewall_4" tileheight="32" tilewidth="32">
|
||||
<image height="192" source="../drawable/map_cavewall_4.png" width="576"/>
|
||||
</tileset><tileset firstgid="1073" name="map_chair_table_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_chair_table_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1201" name="map_chair_table_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_chair_table_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="1329" name="map_crate_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_crate_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1457" name="map_cupboard_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_cupboard_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1585" name="map_curtain_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_curtain_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1713" name="map_entrance_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_entrance_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1841" name="map_entrance_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_entrance_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="1969" name="map_fence_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_fence_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="2097" name="map_fence_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_fence_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="2225" name="map_fence_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_fence_3.png" width="512"/>
|
||||
</tileset><tileset firstgid="2353" name="map_fence_4" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_fence_4.png" width="512"/>
|
||||
</tileset><tileset firstgid="2481" name="map_ground_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="2609" name="map_ground_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="2737" name="map_ground_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_3.png" width="512"/>
|
||||
</tileset><tileset firstgid="2865" name="map_ground_4" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_4.png" width="512"/>
|
||||
</tileset><tileset firstgid="2993" name="map_ground_5" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_5.png" width="512"/>
|
||||
</tileset><tileset firstgid="3121" name="map_ground_6" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_6.png" width="512"/>
|
||||
</tileset><tileset firstgid="3249" name="map_ground_7" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_7.png" width="512"/>
|
||||
</tileset><tileset firstgid="3377" name="map_ground_8" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_8.png" width="512"/>
|
||||
</tileset><tileset firstgid="3505" name="map_house_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_house_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="3633" name="map_house_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_house_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="3761" name="map_indoor_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_indoor_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="3889" name="map_indoor_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_indoor_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="4017" name="map_kitchen_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_kitchen_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4145" name="map_outdoor_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_outdoor_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4273" name="map_pillar_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_pillar_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4401" name="map_pillar_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_pillar_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="4529" name="map_plant_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_plant_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4657" name="map_plant_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_plant_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="4785" name="map_rock_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_rock_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4913" name="map_rock_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_rock_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="5041" name="map_roof_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_roof_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5169" name="map_roof_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_roof_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="5297" name="map_roof_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_roof_3.png" width="512"/>
|
||||
</tileset><tileset firstgid="5425" name="map_shop_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_shop_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5553" name="map_sign_ladder_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_sign_ladder_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5681" name="map_table_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_table_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5809" name="map_trail_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_trail_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5937" name="map_transition_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="6065" name="map_transition_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="6193" name="map_transition_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_3.png" width="512"/>
|
||||
</tileset><tileset firstgid="6321" name="map_transition_4" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_4.png" width="512"/>
|
||||
</tileset><tileset firstgid="6449" name="map_transition_5" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_5.png" width="512"/>
|
||||
</tileset><tileset firstgid="6577" name="map_tree_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_tree_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="6705" name="map_tree_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_tree_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="6833" name="map_wall_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_wall_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="6961" name="map_wall_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_wall_2.png" width="480"/>
|
||||
</tileset><tileset firstgid="7081" name="map_wall_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_wall_3.png" width="480"/>
|
||||
</tileset><tileset firstgid="7201" name="map_wall_4" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_wall_4.png" width="480"/>
|
||||
</tileset><tileset firstgid="7321" name="map_window_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_window_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="7449" name="map_window_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_window_2.png" width="512"/>
|
||||
</tileset><layer height="28" name="Ground" width="28">
|
||||
<data compression="zlib" encoding="base64">eJytVkFqAzEMND4Umgc0/3+DN4c8IHE/ELbJLb0U8orYUMFkkGTtbg4D9mJ57NGs5CmnNL0ZZ8La2Mj62nBp+AH0+SkYi3GnAf+h4drw13D/SOn3H30+NxSHS2IfgFnh55jymdLRwIhPi2H+EojZwuftMYrxcmfFsl6Y05rH97D8aMXyOTCnPd9fuzhfpVg+P/P1vTsknzKP8LEftfOLHwtwaYjw1WznGf0onPudjejdIn6cnZzzWJtzToriQc/XB9D7m7SvWa8NL3yGBt4/IHrf8qv216zXhggfruF/AL0a8VFdyIcewm+yL8+Rj73i+SriJ41fwDWd+43Wc9bwoW5WXqyeE7073svi434jvorWXtxnr2gZ1UjTOfrOYC6Pszg6r9Hcq29WDdUgdXXpW2yL90UDT/t3c2pvKsSSvh/RfKT9Fr6Rx3g8ql1rOa1eJuuffSkylg==</data>
|
||||
</layer>
|
||||
<layer height="28" name="Objects" width="28">
|
||||
<data compression="zlib" encoding="base64">eJzVlrFqwzAQhoUKhSRL6oCgbp66b1DyBPHeKYO9dChZSjKVQuqmY8GkW3Xkfnw+LFlOu/QD4diW/Et3v04x5v/zODfm+bptdJ9Kbo2Z+HZr08c8zeP3Q2itmHbh3+2cMd++vWbGNP564jZEwd89+L4fvq39/YyfTQOae9+v8u3lpn22zYa1pE7D86X7mp8R6x5N9L23bVv59pCQDz22YZ3KtfPR1AlxC9H3PQJr/eT3lM+c55+SJ8md8GITGFuzFnwx4f7FCA9rDiJP2o8bofWedfu+JXoD80N/5G4d8KP0g25j1lQrD0KX6PPjpdDaSnf2Lc2xcl0/yz3YB3LYVwvuAmNC/sA7+FIzZY8tbVebWAa0tlnY/0DuAQJrobgcef06J9oHAO9iyFoI/2DcnjWxT1DXQlRuuOZsXLfGnYSX5FzoWcl6cr2gsPG5gIkN10fianG+Iu4V6+7Ut+U8CcpLn6di5xBpLlgPGljnUenR2YE4yfMm5K0QWG/JWivbxlmyET4KnT2XEqo3Oh+lOnuIXIyN7e9LkP47CP/PlM7YmIegGOva3Xfex2rcWGJnALwgdUEuPEdY93dxJ7THtG4mfP8bKOZf4nyVHsNv7MOU/0spyBiXrj3LpN/knvgB577X6g==</data>
|
||||
</layer>
|
||||
<layer height="28" name="Above" width="28">
|
||||
<data compression="zlib" encoding="base64">eJxjYBjZ4LAYaeovk6geXe8lEvWD3HdbAFUMxN/IRJxeUgE5eii1byERfiFG7yQgezEBs2jhP3xpgpz4JqQXWQ0x6QAXQE6Pm/CYAwrTz0Lk2wMDpIYFJYCSfEoOQE8bk0iIF2S96OaA+Nr8hO1DB/jyAbp9z5HKF2LSHC6AK8xBZl4Gpp83TBD2d2j5BUpz7IIMDIqC5NkHU4OcB7Cl4+cCmGLvkcSILZcJlS0w8B2LfcjlFCllECgdEUpL2PyHDCgp87ABmP9u4rAXW7xQAtDDAL2+wBcv1HLDYAOXqVQHEAuITfsDBegRBtjKN1raO9BhDstzsPyHrSwCAN+FR5g=</data>
|
||||
</layer>
|
||||
<layer height="28" name="Walkable" visible="0" width="28">
|
||||
<data compression="zlib" encoding="base64">eJzbKMbAsHEUk4yRwWC3jxR91LAHG8Cnh5IwwSeOTZ5W9uHy53Cwj1D8kmsXJW4lxQ5qupvc8KOFncTG10DbBxMjxT3EqMVnH6lxT6q7CJlNLfvIdRO90h697CMUbvjigh6Y3nYOhB/xhfNICHNi7aVl2h/oMEfHALCX9jo=</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents">
|
||||
<object height="32" name="up lostmine9" type="mapchange" width="32" x="800" y="800">
|
||||
<properties>
|
||||
<property name="map" value="lostmine8"/>
|
||||
<property name="place" value="down lostmine8"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="north" type="mapchange" width="96" x="704" y="64">
|
||||
<properties>
|
||||
<property name="map" value="lostmine10"/>
|
||||
<property name="place" value="south"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn">
|
||||
<object height="32" name="fire2" type="spawn" width="128" x="640" y="832">
|
||||
<properties>
|
||||
<property name="spawngroup" value="fire2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="fire2_1" type="spawn" width="32" x="576" y="800">
|
||||
<properties>
|
||||
<property name="spawngroup" value="fire2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="64" name="fire3" type="spawn" width="64" x="480" y="736">
|
||||
<properties>
|
||||
<property name="spawngroup" value="fire3"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="fire3_1" type="spawn" width="128" x="320" y="736">
|
||||
<properties>
|
||||
<property name="spawngroup" value="fire3"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="128" name="fire2_2" type="spawn" width="96" x="192" y="640">
|
||||
<properties>
|
||||
<property name="spawngroup" value="fire2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="fire2_3" type="spawn" width="64" x="96" y="640">
|
||||
<properties>
|
||||
<property name="spawngroup" value="fire2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="64" name="fire3_2" type="spawn" width="32" x="64" y="512">
|
||||
<properties>
|
||||
<property name="spawngroup" value="fire3"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="96" name="fire2_4" type="spawn" width="32" x="96" y="384">
|
||||
<properties>
|
||||
<property name="spawngroup" value="fire2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="64" name="fire3_3" type="spawn" width="192" x="128" y="320">
|
||||
<properties>
|
||||
<property name="spawngroup" value="fire3"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="192" name="fire2_5" type="spawn" width="96" x="320" y="352">
|
||||
<properties>
|
||||
<property name="spawngroup" value="fire2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="fire2_6" type="spawn" width="64" x="448" y="512">
|
||||
<properties>
|
||||
<property name="spawngroup" value="fire2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="192" name="ash4" type="spawn" width="288" x="544" y="448">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
<property name="spawngroup" value="ash4"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="128" name="fire2_7" type="spawn" width="32" x="224" y="192">
|
||||
<properties>
|
||||
<property name="spawngroup" value="fire2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="128" name="fire2_8" type="spawn" width="128" x="416" y="192">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
<property name="spawngroup" value="fire2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="fire2_9" type="spawn" width="96" x="544" y="288">
|
||||
<properties>
|
||||
<property name="spawngroup" value="fire2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="128" name="fire3_4" type="spawn" width="32" x="640" y="160">
|
||||
<properties>
|
||||
<property name="spawngroup" value="fire3"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="fire3_5" type="spawn" width="32" x="704" y="128">
|
||||
<properties>
|
||||
<property name="spawngroup" value="fire3"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys"/>
|
||||
</map>
|
||||
@@ -1,227 +0,0 @@
|
||||
<?xml version="1.0" ?><!DOCTYPE map SYSTEM 'http://mapeditor.org/dtd/1.0/map.dtd'><map height="30" orientation="orthogonal" tileheight="32" tilewidth="32" version="1.0" width="20">
|
||||
<properties>
|
||||
<property name="outdoors" value="1"/>
|
||||
</properties>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<tileset firstgid="1" name="map_bed_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_bed_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="129" name="map_border_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_border_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="257" name="map_bridge_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_bridge_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="385" name="map_bridge_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_bridge_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="513" name="map_broken_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_broken_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="641" name="map_cavewall_1" tileheight="32" tilewidth="32">
|
||||
<image height="192" source="../drawable/map_cavewall_1.png" width="576"/>
|
||||
</tileset><tileset firstgid="749" name="map_cavewall_2" tileheight="32" tilewidth="32">
|
||||
<image height="192" source="../drawable/map_cavewall_2.png" width="576"/>
|
||||
</tileset><tileset firstgid="857" name="map_cavewall_3" tileheight="32" tilewidth="32">
|
||||
<image height="192" source="../drawable/map_cavewall_3.png" width="576"/>
|
||||
</tileset><tileset firstgid="965" name="map_cavewall_4" tileheight="32" tilewidth="32">
|
||||
<image height="192" source="../drawable/map_cavewall_4.png" width="576"/>
|
||||
</tileset><tileset firstgid="1073" name="map_chair_table_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_chair_table_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1201" name="map_chair_table_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_chair_table_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="1329" name="map_crate_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_crate_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1457" name="map_cupboard_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_cupboard_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1585" name="map_curtain_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_curtain_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1713" name="map_entrance_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_entrance_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1841" name="map_entrance_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_entrance_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="1969" name="map_fence_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_fence_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="2097" name="map_fence_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_fence_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="2225" name="map_fence_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_fence_3.png" width="512"/>
|
||||
</tileset><tileset firstgid="2353" name="map_fence_4" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_fence_4.png" width="512"/>
|
||||
</tileset><tileset firstgid="2481" name="map_ground_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="2609" name="map_ground_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="2737" name="map_ground_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_3.png" width="512"/>
|
||||
</tileset><tileset firstgid="2865" name="map_ground_4" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_4.png" width="512"/>
|
||||
</tileset><tileset firstgid="2993" name="map_ground_5" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_5.png" width="512"/>
|
||||
</tileset><tileset firstgid="3121" name="map_ground_6" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_6.png" width="512"/>
|
||||
</tileset><tileset firstgid="3249" name="map_ground_7" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_7.png" width="512"/>
|
||||
</tileset><tileset firstgid="3377" name="map_ground_8" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_8.png" width="512"/>
|
||||
</tileset><tileset firstgid="3505" name="map_house_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_house_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="3633" name="map_house_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_house_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="3761" name="map_indoor_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_indoor_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="3889" name="map_indoor_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_indoor_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="4017" name="map_kitchen_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_kitchen_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4145" name="map_outdoor_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_outdoor_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4273" name="map_pillar_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_pillar_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4401" name="map_pillar_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_pillar_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="4529" name="map_plant_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_plant_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4657" name="map_plant_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_plant_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="4785" name="map_rock_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_rock_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4913" name="map_rock_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_rock_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="5041" name="map_roof_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_roof_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5169" name="map_roof_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_roof_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="5297" name="map_roof_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_roof_3.png" width="512"/>
|
||||
</tileset><tileset firstgid="5425" name="map_shop_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_shop_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5553" name="map_sign_ladder_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_sign_ladder_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5681" name="map_table_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_table_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5809" name="map_trail_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_trail_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5937" name="map_transition_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="6065" name="map_transition_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="6193" name="map_transition_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_3.png" width="512"/>
|
||||
</tileset><tileset firstgid="6321" name="map_transition_4" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_4.png" width="512"/>
|
||||
</tileset><tileset firstgid="6449" name="map_transition_5" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_5.png" width="512"/>
|
||||
</tileset><tileset firstgid="6577" name="map_tree_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_tree_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="6705" name="map_tree_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_tree_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="6833" name="map_wall_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_wall_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="6961" name="map_wall_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_wall_2.png" width="480"/>
|
||||
</tileset><tileset firstgid="7081" name="map_wall_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_wall_3.png" width="480"/>
|
||||
</tileset><tileset firstgid="7201" name="map_wall_4" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_wall_4.png" width="480"/>
|
||||
</tileset><tileset firstgid="7321" name="map_window_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_window_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="7449" name="map_window_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_window_2.png" width="512"/>
|
||||
</tileset><layer height="30" name="Ground" width="20">
|
||||
<data compression="zlib" encoding="base64">eJzVlEEOhCAMRQ27uf+WKwzGE8x4BOQKcxBpggnTtPItuHDxVtKX2sIPbpoCyJxZXv+8lbNfhuZEfGtmY3zAHrmPvqfMjxGLk/fMfchMDqLQ8+p0V8tH8J5TOY/OA4Xc0i6svrO7MtpH+MIon6XfnndF+Oo/UJfmu1IvvT/LnDRXGuSbBVevr2ePiK/OmBG+OmO0DED3yjMmXnBKe9VypeVEXa2sOrsj1iyw5t9TfeEGn8WJ3EGtzjt7llrrDna2+quW</data>
|
||||
</layer>
|
||||
<layer height="30" name="Objects" width="20">
|
||||
<data compression="zlib" encoding="base64">eJydlE1OwzAQha3syi4LkHpKjsBBUG7QDfQElCMg0ZosI6oGFtmxrkfy4JdhnhPxpChWYn+e/xCKYlvW77AOzp4j+b9G+21Zv979n/PLyDy0/9SW7542TQg36XlKe54r+1TnxHts/H87+P6SWIf0DPnbPTmDLBvruC13ooT5kO3ewPmTkwuMxZh4346P0eF/EnutlNmn5yuzpSYupC4G4GL+5YzWwJhZ4jf61MNdnh+1PHfN3E/L6uFOpr3hd02x12NNTq1gjtVem3fxWWMwEp9sztb8E1uwX60/zE4r1vO1+KveVuxhdy+dlf7TupsI40+PtfM3slA2j2v8sPd5/VmTjbOXL+w7JpZnmy+t4488t2JeL52raYRe0PVAZgurK83FxYml9itjWt932S82Q9AGZUanZz0Wm09n8L2mGguZLE62tu1sZnNqSXqfzGeczT+38zmFLLHF9pTtGdnTQd6OJqfYL94sZRLmBKylc2gnxrY2Y1W1OYm6AkEZr9A=</data>
|
||||
</layer>
|
||||
<layer height="30" name="Above" width="20">
|
||||
<data compression="zlib" encoding="base64">eJxjYCANHBYjUQMBMJcJwd4siVvdZRLsJaQWJH+JBPMI+ZnUMCHGvFt4woIc80AAZOZNScJmEwobQvbB7CDGLhBATgPYzEIHpIQNIbMGC0BPs7PxhAkxgNr5lJrmkZr/6GUWCNAq3IjNC8SYR810PNjjlRrhhs1duMonYuwjFGakupeYOKBmfUAqwFc+jwL8AAAj+DYE</data>
|
||||
</layer>
|
||||
<layer height="30" name="Walkable" width="20">
|
||||
<data compression="zlib" encoding="base64">eJzbKMbAsJFEjAxI1UtP86hhFrHmkWInMeqwAUrMw2YmrrAnJ+wIAUrMokb8UisMKQkjaqUfUsNwJJk32NxGST6gVzqhllm0ch8+QAtzB1P6oVU6IteduNRTYha144LaYU8JBgCpRnwv</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents">
|
||||
<object height="32" name="down south" type="mapchange" width="32" x="160" y="832">
|
||||
<properties>
|
||||
<property name="map" value="waytolake5"/>
|
||||
<property name="place" value="up north"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="north" type="mapchange" width="96" x="416" y="0">
|
||||
<properties>
|
||||
<property name="map" value="mountainlake1"/>
|
||||
<property name="place" value="south"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn">
|
||||
<object height="32" name="plaguespider_3" type="spawn" width="96" x="224" y="864">
|
||||
<properties>
|
||||
<property name="spawngroup" value="plaguespider_3"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="160" name="plaguespider_2" type="spawn" width="128" x="320" y="736">
|
||||
<properties>
|
||||
<property name="spawngroup" value="plaguespider_2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="maonit_1" type="spawn" width="32" x="128" y="608">
|
||||
<properties>
|
||||
<property name="spawngroup" value="maonit_1"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="192" name="plaguespider_2_1" type="spawn" width="128" x="192" y="384">
|
||||
<properties>
|
||||
<property name="spawngroup" value="plaguespider_2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="96" name="maonit_1_1" type="spawn" width="32" x="416" y="128">
|
||||
<properties>
|
||||
<property name="spawngroup" value="maonit_1"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn2">
|
||||
<object height="256" name="plaguespider_3_1" type="spawn" width="448" x="32" y="128">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
<property name="spawngroup" value="plaguespider_3"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys"/>
|
||||
</map>
|
||||
@@ -1,227 +0,0 @@
|
||||
<?xml version="1.0" ?><!DOCTYPE map SYSTEM 'http://mapeditor.org/dtd/1.0/map.dtd'><map height="29" orientation="orthogonal" tileheight="32" tilewidth="32" version="1.0" width="30">
|
||||
<properties>
|
||||
<property name="outdoors" value="1"/>
|
||||
</properties>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<tileset firstgid="1" name="map_bed_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_bed_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="129" name="map_border_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_border_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="257" name="map_bridge_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_bridge_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="385" name="map_bridge_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_bridge_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="513" name="map_broken_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_broken_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="641" name="map_cavewall_1" tileheight="32" tilewidth="32">
|
||||
<image height="192" source="../drawable/map_cavewall_1.png" width="576"/>
|
||||
</tileset><tileset firstgid="749" name="map_cavewall_2" tileheight="32" tilewidth="32">
|
||||
<image height="192" source="../drawable/map_cavewall_2.png" width="576"/>
|
||||
</tileset><tileset firstgid="857" name="map_cavewall_3" tileheight="32" tilewidth="32">
|
||||
<image height="192" source="../drawable/map_cavewall_3.png" width="576"/>
|
||||
</tileset><tileset firstgid="965" name="map_cavewall_4" tileheight="32" tilewidth="32">
|
||||
<image height="192" source="../drawable/map_cavewall_4.png" width="576"/>
|
||||
</tileset><tileset firstgid="1073" name="map_chair_table_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_chair_table_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1201" name="map_chair_table_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_chair_table_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="1329" name="map_crate_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_crate_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1457" name="map_cupboard_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_cupboard_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1585" name="map_curtain_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_curtain_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1713" name="map_entrance_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_entrance_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1841" name="map_entrance_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_entrance_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="1969" name="map_fence_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_fence_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="2097" name="map_fence_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_fence_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="2225" name="map_fence_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_fence_3.png" width="512"/>
|
||||
</tileset><tileset firstgid="2353" name="map_fence_4" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_fence_4.png" width="512"/>
|
||||
</tileset><tileset firstgid="2481" name="map_ground_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="2609" name="map_ground_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="2737" name="map_ground_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_3.png" width="512"/>
|
||||
</tileset><tileset firstgid="2865" name="map_ground_4" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_4.png" width="512"/>
|
||||
</tileset><tileset firstgid="2993" name="map_ground_5" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_5.png" width="512"/>
|
||||
</tileset><tileset firstgid="3121" name="map_ground_6" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_6.png" width="512"/>
|
||||
</tileset><tileset firstgid="3249" name="map_ground_7" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_7.png" width="512"/>
|
||||
</tileset><tileset firstgid="3377" name="map_ground_8" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_8.png" width="512"/>
|
||||
</tileset><tileset firstgid="3505" name="map_house_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_house_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="3633" name="map_house_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_house_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="3761" name="map_indoor_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_indoor_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="3889" name="map_indoor_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_indoor_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="4017" name="map_kitchen_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_kitchen_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4145" name="map_outdoor_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_outdoor_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4273" name="map_pillar_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_pillar_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4401" name="map_pillar_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_pillar_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="4529" name="map_plant_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_plant_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4657" name="map_plant_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_plant_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="4785" name="map_rock_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_rock_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4913" name="map_rock_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_rock_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="5041" name="map_roof_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_roof_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5169" name="map_roof_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_roof_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="5297" name="map_roof_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_roof_3.png" width="512"/>
|
||||
</tileset><tileset firstgid="5425" name="map_shop_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_shop_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5553" name="map_sign_ladder_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_sign_ladder_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5681" name="map_table_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_table_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5809" name="map_trail_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_trail_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5937" name="map_transition_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="6065" name="map_transition_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="6193" name="map_transition_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_3.png" width="512"/>
|
||||
</tileset><tileset firstgid="6321" name="map_transition_4" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_4.png" width="512"/>
|
||||
</tileset><tileset firstgid="6449" name="map_transition_5" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_5.png" width="512"/>
|
||||
</tileset><tileset firstgid="6577" name="map_tree_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_tree_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="6705" name="map_tree_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_tree_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="6833" name="map_wall_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_wall_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="6961" name="map_wall_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_wall_2.png" width="480"/>
|
||||
</tileset><tileset firstgid="7081" name="map_wall_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_wall_3.png" width="480"/>
|
||||
</tileset><tileset firstgid="7201" name="map_wall_4" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_wall_4.png" width="480"/>
|
||||
</tileset><tileset firstgid="7321" name="map_window_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_window_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="7449" name="map_window_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_window_2.png" width="512"/>
|
||||
</tileset><layer height="29" name="Ground" width="30">
|
||||
<data compression="zlib" encoding="base64">eJzd08ENgCAMhWHizf33wLiBvXHWFRxESCQhRApIacXDf31fSIqelNKd2jL1cMC2I1G9I3YO24nUup9y1hkv5ZXulzo5F4j3S1wIPKr9OHPnzeU2e3mY29uUco2Aaz7mgoALDLccu9z/J3S5zT+7T6aL+4597qYMsxknYVK6NSalP5rbare4Lf7I7hubyq21S/Yua2ON3A==</data>
|
||||
</layer>
|
||||
<layer height="29" name="Objects" width="30">
|
||||
<data compression="zlib" encoding="base64">eJytls9OwzAMxqPeBgIpO1SaxCsCTwC80G48Aoch7TJpEm2387p2O3Cb4Eas2qrnOX9a9klRIJv88+c4yYzp9GWNqsqzTlrPwmu+uKmxQO8zPZchsX0xpXjMD893pJ6zbq7c9zezfp7g+k12GXNM7k8szq37+82NnRuti3l0Y4szqR7A4LGlj1fkyPWKMWE+uFE4Zml1f4/Z+f8PWRd74vGhMeQMzDo3psGh6YXyD9QjxmgVnwvH27jxg1zeU3P0WjKm9Bdj3k2NuZ+e72uN3E/mlXqKmN/IXOEMvjW29MV7R6vxUXBJ/NwWyGwDvpe2yy1UD86EGv8ybsrZIb6MrfmTny8UpuT66llGfIX8yn0d6ony0vbVxyyVfpIKeeKiPoidIZLGpRrP2V3hO4N1Qq1BcB5S+piYexaXzqDMnWoSqzV83lh/T1F+oELsL2hpL2tdiHPtu59CXkEtrq8TPIDf2vZ3yprlRzmQQl5Bh7xnLxN7S6rBPErMKeYVtM17duM5S6E+kvLdT1zw7pzyjg257UfeDzSnMLkW6LlB36GeDfVybE+lTvgubtmeQE9K/9o7x+fY3RTzDZ7hfYQe4e8gyed/LJf2mtdcY/F5xXpxLJfYvObNgHf/P1wSrzlI+21R2evsr/TNz3bst8W1/Gpsrb/Pzlwi9w8httk8</data>
|
||||
</layer>
|
||||
<layer height="29" name="Above" width="30">
|
||||
<data compression="zlib" encoding="base64">eJzdldENg1AIRZ3CxP1H6AhuUL9aJ9AuoUlDQggIyH029f68GCMHLuDruvtp6n/DGcFcqw7JeYrn94CNb3GyIl6r+BaT4tL5Gr4e8bMVsyqem9dXxPyd8SPLjc5nhKv1kuJrdXj1RXJD73lUVK8Uyk9N3ixzr6Oz4+XLmdXdzMyz1leZawuvOVfue2b/K9wrFeVae43iZmarkgvyXvsAfDijeWeuRe7j4HurF63q9f4LiHq5vDuH3v9zfz1pnt+5XqklwdwABXxjzg==</data>
|
||||
</layer>
|
||||
<layer height="29" name="Walkable" width="30">
|
||||
<data compression="zlib" encoding="base64">eJztklEKACEIRDtF979CN9yvIKKFcRwzdhP6Kn0+s9VS2j2fOmNksU/1fYsITy+D8ex36h1AuKrZKpgsG8lD5s/6Mr1l+1rZaA7y/1E7FeHrnckcqnrWP+s5c66ytxUTCcaD8ffUsO7sqo71vYrN9pvRw8jb7e7ZE7V7lvef2OqZP0KXLXo=</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents">
|
||||
<object height="96" name="east" type="mapchange" width="32" x="928" y="96">
|
||||
<properties>
|
||||
<property name="map" value="mountainlake12"/>
|
||||
<property name="place" value="west"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="south" type="mapchange" width="64" x="352" y="896">
|
||||
<properties>
|
||||
<property name="map" value="mountainlake13a"/>
|
||||
<property name="place" value="north"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn">
|
||||
<object height="32" name="mwolf_1" type="spawn" width="32" x="320" y="352">
|
||||
<properties>
|
||||
<property name="spawngroup" value="mwolf_1"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="mwolf_1_1" type="spawn" width="32" x="352" y="448">
|
||||
<properties>
|
||||
<property name="spawngroup" value="mwolf_1"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="mwolf_1_2" type="spawn" width="32" x="800" y="352">
|
||||
<properties>
|
||||
<property name="spawngroup" value="mwolf_1"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="mwolf_1_3" type="spawn" width="32" x="96" y="416">
|
||||
<properties>
|
||||
<property name="spawngroup" value="mwolf_1"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="mwolf_1_4" type="spawn" width="32" x="96" y="352">
|
||||
<properties>
|
||||
<property name="spawngroup" value="mwolf_1"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn2">
|
||||
<object height="608" name="mwolf_1_5" type="spawn" width="864" x="32" y="96">
|
||||
<properties>
|
||||
<property name="quantity" value="4"/>
|
||||
<property name="spawngroup" value="mwolf_1"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys"/>
|
||||
</map>
|
||||
@@ -1,229 +0,0 @@
|
||||
<?xml version="1.0" ?><!DOCTYPE map SYSTEM 'http://mapeditor.org/dtd/1.0/map.dtd'><map height="30" orientation="orthogonal" tileheight="32" tilewidth="32" version="1.0" width="30">
|
||||
<properties>
|
||||
<property name="outdoors" value="1"/>
|
||||
</properties>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<tileset firstgid="1" name="map_bed_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_bed_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="129" name="map_border_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_border_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="257" name="map_bridge_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_bridge_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="385" name="map_bridge_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_bridge_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="513" name="map_broken_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_broken_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="641" name="map_cavewall_1" tileheight="32" tilewidth="32">
|
||||
<image height="192" source="../drawable/map_cavewall_1.png" width="576"/>
|
||||
</tileset><tileset firstgid="749" name="map_cavewall_2" tileheight="32" tilewidth="32">
|
||||
<image height="192" source="../drawable/map_cavewall_2.png" width="576"/>
|
||||
</tileset><tileset firstgid="857" name="map_cavewall_3" tileheight="32" tilewidth="32">
|
||||
<image height="192" source="../drawable/map_cavewall_3.png" width="576"/>
|
||||
</tileset><tileset firstgid="965" name="map_cavewall_4" tileheight="32" tilewidth="32">
|
||||
<image height="192" source="../drawable/map_cavewall_4.png" width="576"/>
|
||||
</tileset><tileset firstgid="1073" name="map_chair_table_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_chair_table_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1201" name="map_chair_table_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_chair_table_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="1329" name="map_crate_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_crate_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1457" name="map_cupboard_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_cupboard_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1585" name="map_curtain_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_curtain_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1713" name="map_entrance_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_entrance_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1841" name="map_entrance_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_entrance_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="1969" name="map_fence_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_fence_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="2097" name="map_fence_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_fence_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="2225" name="map_fence_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_fence_3.png" width="512"/>
|
||||
</tileset><tileset firstgid="2353" name="map_fence_4" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_fence_4.png" width="512"/>
|
||||
</tileset><tileset firstgid="2481" name="map_ground_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="2609" name="map_ground_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="2737" name="map_ground_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_3.png" width="512"/>
|
||||
</tileset><tileset firstgid="2865" name="map_ground_4" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_4.png" width="512"/>
|
||||
</tileset><tileset firstgid="2993" name="map_ground_5" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_5.png" width="512"/>
|
||||
</tileset><tileset firstgid="3121" name="map_ground_6" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_6.png" width="512"/>
|
||||
</tileset><tileset firstgid="3249" name="map_ground_7" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_7.png" width="512"/>
|
||||
</tileset><tileset firstgid="3377" name="map_ground_8" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_8.png" width="512"/>
|
||||
</tileset><tileset firstgid="3505" name="map_house_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_house_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="3633" name="map_house_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_house_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="3761" name="map_indoor_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_indoor_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="3889" name="map_indoor_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_indoor_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="4017" name="map_kitchen_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_kitchen_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4145" name="map_outdoor_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_outdoor_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4273" name="map_pillar_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_pillar_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4401" name="map_pillar_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_pillar_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="4529" name="map_plant_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_plant_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4657" name="map_plant_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_plant_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="4785" name="map_rock_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_rock_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4913" name="map_rock_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_rock_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="5041" name="map_roof_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_roof_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5169" name="map_roof_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_roof_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="5297" name="map_roof_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_roof_3.png" width="512"/>
|
||||
</tileset><tileset firstgid="5425" name="map_shop_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_shop_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5553" name="map_sign_ladder_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_sign_ladder_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5681" name="map_table_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_table_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5809" name="map_trail_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_trail_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5937" name="map_transition_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="6065" name="map_transition_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="6193" name="map_transition_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_3.png" width="512"/>
|
||||
</tileset><tileset firstgid="6321" name="map_transition_4" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_4.png" width="512"/>
|
||||
</tileset><tileset firstgid="6449" name="map_transition_5" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_5.png" width="512"/>
|
||||
</tileset><tileset firstgid="6577" name="map_tree_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_tree_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="6705" name="map_tree_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_tree_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="6833" name="map_wall_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_wall_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="6961" name="map_wall_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_wall_2.png" width="480"/>
|
||||
</tileset><tileset firstgid="7081" name="map_wall_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_wall_3.png" width="480"/>
|
||||
</tileset><tileset firstgid="7201" name="map_wall_4" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_wall_4.png" width="480"/>
|
||||
</tileset><tileset firstgid="7321" name="map_window_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_window_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="7449" name="map_window_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_window_2.png" width="512"/>
|
||||
</tileset><layer height="30" name="Ground" width="30">
|
||||
<data compression="zlib" encoding="base64">eJzdlkEKgzAQRYUipdlmF+gRuvAuHkHEg3ghwV1XhS6E7nqH3qMRDApmJjOZhGIXD0Qz84IZP06XopgQhgBYrYRfeEPOXH6ON+UeYr2SPXB6X9WeWP+/eKnuHF6KO5cX83NnFvRqAMQ7ahyK96H9+Lyu11PjULx34wfzQjXbWsdN7Znvv8zK6bxeY163pi7hWgnYPLXW2VgqS1fKXVRvTo7qnc+/jjgDqbdZZkDqpWbFQFiP9eHkhc8byheoDycvcnq3OUHJipTebqEizMvb8MG8LXFGod7ze6J4nZv7TXwAegU/S/H9QvSBf46j5mQsX0/gkVI=</data>
|
||||
</layer>
|
||||
<layer height="30" name="Objects" width="30">
|
||||
<data compression="zlib" encoding="base64">eJytl99r1EAQx4PSEnyol2IPFoL/hT9BfFL00QoWfWv7F4pgQUVQQcUT4az0ehfxpVDvrlULhUN9coZkyHcns0nkbmCYzSa7n53Z2dm7KArLu24UvSfdT8q+70n1/SLlkOY7UvO+VQzmTknHpJMF8XnOEekfmG8H2l/WomhGz79JM+DPuwaJ4c04is6Rbi7nXLb8fCPO392KS/68a7BifJj4/opsxP5zaA1t+FaMWT7Q81PQ592cO0uqimvIWuYf5mnmyHdnf7fTwB0m5XzTFj4LV5jaau7fpKoDOG8ziHkdW7gWE9l1XC3IHhtszKkQk+3UNXOP6ZsfrrSYc5avklM898TZFv09u1pVlIsXwrHVvjaNY14dd2DEWmS7E/a1SZB7ZrWqIi/T3J4ul22Li75+Tf02j32yVuXWyScad3/JbyMXY/zC5e+PgYtt5F4ie1nplWItW0u5bpOeUNxvF+3zEA+Mcc/l77WcwJ4Jl2VP1TFd07QMAncpc9chFnsqR9jHB7Ffr3+pb8bFs66toiHultp7vc5nHJcF3LnI/ej8PZgUvFfU/xrOLgrnwyRQX3S/xdU5YuWM5SvnQ7/rM6S+9BK/7gjbqhd1Nca6h/9HMlf62qZeSOzn5R4BF339Rme1v5JbrhWPi1qx2Slj3Kupg02SBbg/U99epb27RnqvM7+vLCF/UbhW3CHm3SJvhLuv/D1IfctxsvpZ0F/rt0DfWEvI39PUt3X94q/8FhCf++CT7KPUf+GOWu7vkBgj59sMznDTf46NwLllGcMaMN8+d8M1RHPfFH1DGL/r/HtAz6W/l/9Quk7tunK85obqlNwDuh49pP7rAX0U27WT7T9aGGkH</data>
|
||||
</layer>
|
||||
<layer height="30" name="Above" width="30">
|
||||
<data compression="zlib" encoding="base64">eJzVljEOwjAMRQMS0JUFKQehTByCowJH4ASwBcEAG3CDTiQqEVFQ7V+5ScuTIrdK7B8P/q1Sw+U5U+oVLPeeg8rqbKb1s4tVYt11gZ0ri9+1AnOHhtFKnXV+TY/TznEHQ9RPqf1gaiPaF3vmqr8RgepXgpnT+1y/HDdixu8Ne1QOl+sZEfM7btijcrhchMMib245qeNJoNs29yjQkuT+I1s7WztivryPcrEvQu3l57vZB5xfxF6B+AtSh/OL2CsQf0HqcMRe0VW/HLFXpOw3hVdI/FmCxJ8R2vS1B/wE9Z8u/1kktfxdQ3L71RtR5kL3</data>
|
||||
</layer>
|
||||
<layer height="30" name="Walkable" width="30">
|
||||
<data compression="zlib" encoding="base64">eJztk0sOACEIQz3F3P8K3nBWkxgD2kLRzZCw8cNrQfvTWl/kLlZ3M3mDy0SV709HZX3G7+5cVY8ZfQx3pwPdU8wy4pdho/1gQvm+UYaCi/it/Gc/1+ZmdDC11NzRSyZQjnUnoyPCVQTD9Xxm30l0zqp/wfRdwUTq3OZm5oRw57VTfse1U/NFIvpGrbNzXWtdzV35Qv0jujy/Vu+9Wp6u7OwjvdvlC3/Mzc4=</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents">
|
||||
<object height="32" name="north" type="mapchange" width="256" x="256" y="0">
|
||||
<properties>
|
||||
<property name="map" value="mountainlake13a"/>
|
||||
<property name="place" value="south"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="128" name="east" type="mapchange" width="32" x="928" y="480">
|
||||
<properties>
|
||||
<property name="map" value="remgard1"/>
|
||||
<property name="place" value="west"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="remgard_farmer1" type="mapchange" width="32" x="832" y="416">
|
||||
<properties>
|
||||
<property name="map" value="remgard_farmer1"/>
|
||||
<property name="place" value="south"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="remgard_church" type="mapchange" width="32" x="704" y="800">
|
||||
<properties>
|
||||
<property name="map" value="remgard_church"/>
|
||||
<property name="place" value="south"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="remgard_armour" type="mapchange" width="32" x="352" y="448">
|
||||
<properties>
|
||||
<property name="map" value="remgard_armour"/>
|
||||
<property name="place" value="south"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="remgard_weapon" type="mapchange" width="32" x="256" y="736">
|
||||
<properties>
|
||||
<property name="map" value="remgard_weapon"/>
|
||||
<property name="place" value="south"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="south" type="mapchange" width="32" x="352" y="928">
|
||||
<properties>
|
||||
<property name="map" value="remgard3"/>
|
||||
<property name="place" value="north"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="sign_remgard0" type="sign" width="32" x="448" y="64"/>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn">
|
||||
<object height="128" name="ingus" type="spawn" width="256" x="448" y="480"/>
|
||||
<object height="320" name="caeda" type="spawn" width="224" x="544" y="128"/>
|
||||
<object height="256" name="remgard_villager1" type="spawn" width="160" x="352" y="608"/>
|
||||
<object height="32" name="taylin" type="spawn" width="32" x="96" y="704"/>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys"/>
|
||||
</map>
|
||||
@@ -1,233 +0,0 @@
|
||||
<?xml version="1.0" ?><!DOCTYPE map SYSTEM 'http://mapeditor.org/dtd/1.0/map.dtd'><map height="30" orientation="orthogonal" tileheight="32" tilewidth="32" version="1.0" width="30">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<tileset firstgid="1" name="map_bed_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_bed_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="129" name="map_border_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_border_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="257" name="map_bridge_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_bridge_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="385" name="map_bridge_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_bridge_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="513" name="map_broken_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_broken_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="641" name="map_cavewall_1" tileheight="32" tilewidth="32">
|
||||
<image height="192" source="../drawable/map_cavewall_1.png" width="576"/>
|
||||
</tileset><tileset firstgid="749" name="map_cavewall_2" tileheight="32" tilewidth="32">
|
||||
<image height="192" source="../drawable/map_cavewall_2.png" width="576"/>
|
||||
</tileset><tileset firstgid="857" name="map_cavewall_3" tileheight="32" tilewidth="32">
|
||||
<image height="192" source="../drawable/map_cavewall_3.png" width="576"/>
|
||||
</tileset><tileset firstgid="965" name="map_cavewall_4" tileheight="32" tilewidth="32">
|
||||
<image height="192" source="../drawable/map_cavewall_4.png" width="576"/>
|
||||
</tileset><tileset firstgid="1073" name="map_chair_table_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_chair_table_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1201" name="map_chair_table_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_chair_table_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="1329" name="map_crate_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_crate_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1457" name="map_cupboard_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_cupboard_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1585" name="map_curtain_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_curtain_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1713" name="map_entrance_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_entrance_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1841" name="map_entrance_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_entrance_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="1969" name="map_fence_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_fence_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="2097" name="map_fence_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_fence_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="2225" name="map_fence_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_fence_3.png" width="512"/>
|
||||
</tileset><tileset firstgid="2353" name="map_fence_4" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_fence_4.png" width="512"/>
|
||||
</tileset><tileset firstgid="2481" name="map_ground_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="2609" name="map_ground_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="2737" name="map_ground_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_3.png" width="512"/>
|
||||
</tileset><tileset firstgid="2865" name="map_ground_4" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_4.png" width="512"/>
|
||||
</tileset><tileset firstgid="2993" name="map_ground_5" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_5.png" width="512"/>
|
||||
</tileset><tileset firstgid="3121" name="map_ground_6" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_6.png" width="512"/>
|
||||
</tileset><tileset firstgid="3249" name="map_ground_7" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_7.png" width="512"/>
|
||||
</tileset><tileset firstgid="3377" name="map_ground_8" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_8.png" width="512"/>
|
||||
</tileset><tileset firstgid="3505" name="map_house_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_house_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="3633" name="map_house_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_house_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="3761" name="map_indoor_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_indoor_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="3889" name="map_indoor_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_indoor_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="4017" name="map_kitchen_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_kitchen_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4145" name="map_outdoor_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_outdoor_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4273" name="map_pillar_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_pillar_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4401" name="map_pillar_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_pillar_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="4529" name="map_plant_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_plant_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4657" name="map_plant_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_plant_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="4785" name="map_rock_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_rock_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4913" name="map_rock_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_rock_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="5041" name="map_roof_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_roof_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5169" name="map_roof_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_roof_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="5297" name="map_roof_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_roof_3.png" width="512"/>
|
||||
</tileset><tileset firstgid="5425" name="map_shop_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_shop_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5553" name="map_sign_ladder_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_sign_ladder_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5681" name="map_table_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_table_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5809" name="map_trail_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_trail_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5937" name="map_transition_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="6065" name="map_transition_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="6193" name="map_transition_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_3.png" width="512"/>
|
||||
</tileset><tileset firstgid="6321" name="map_transition_4" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_4.png" width="512"/>
|
||||
</tileset><tileset firstgid="6449" name="map_transition_5" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_5.png" width="512"/>
|
||||
</tileset><tileset firstgid="6577" name="map_tree_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_tree_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="6705" name="map_tree_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_tree_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="6833" name="map_wall_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_wall_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="6961" name="map_wall_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_wall_2.png" width="480"/>
|
||||
</tileset><tileset firstgid="7081" name="map_wall_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_wall_3.png" width="480"/>
|
||||
</tileset><tileset firstgid="7201" name="map_wall_4" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_wall_4.png" width="480"/>
|
||||
</tileset><tileset firstgid="7321" name="map_window_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_window_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="7449" name="map_window_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_window_2.png" width="512"/>
|
||||
</tileset><layer height="30" name="Ground" width="30">
|
||||
<data compression="zlib" encoding="base64">eJy9ljFuwzAMRQNvzdhL9KI9g65gdyw6uenYIYDjHqFnaQX4Ix/EFylZRoYPGLGiJ5KflKfhdJocfXbI29fjXf5169DcyAdv7eQuAZ9zcyHex9Nd1wbx/zx+2oQY9/JKbMtX+T2CWWJnjYJ5VKweew6Y8/b70ey0Mb8EE+9Xh/tupNbknL7R3pzfVIgV79V+L+eYC+/CM7aukzlTVvbdSO+iWBUX3kVMcwWXz6e4Kl7F5hmwDJpta2F7fE+uracWE+sq+hd5yvX/KdSZmfkcEVfFO+3wF7Nr+sjmGjFbLtbBl/Bpa1+XPOv5i30Jn3p9XTOzIi5y8ts5txQXeeQet3luyau6C9QsxP0H76o8c15r9vWk5hZk10Y54/okc34bS/StU7oH1bkz9/v5Xiv4YjT74UzJ4ZZqynuzL9j3qA3WvA5135q4j71Zj2fusdug1yvZ7zs7t9Ss52fLUusjrrqLe/rWU+TnR3IfwS5x0ZPsfdubagaV1rRwvdnCZyu9t/OD9Qc3GaEt</data>
|
||||
</layer>
|
||||
<layer height="30" name="Objects" width="30">
|
||||
<data compression="zlib" encoding="base64">eJzNVrtOG0EUHU1CkS67iEFKFyH+J5+QHokfANHwDcj8APmB0CCnM5KN6MEyWBbNikdBKgJd5jJz5LPXM+OFNDnSasfrmXvu49y7a8z/iVFljLVhvRXvu/7+zYb/vtAz7Lvwz519H99jFe6f/PmV1cCxQ7a+J+yOqvl6Pf7/Hv5ZPLPmeSfOmOcO15Wbn5/685dV2jaj5/cN3JxPAL4Xf23WxlxHO7IGNmj9FLnHcZ/wTsneQSZ+cDZV4Hwh/3938J25G7V/muEcEIf4xZxduBG37AE3x/6zXjwjmpjZtjZyaLytW3XducDXxLXgSdV7oHh1TVGDHj1DnGL3wbV1JrZHxCV5OlQ5TdV1kMgnAG7oaOjmdZ95X86q8GxUsFEC8ntTl3sOHH8+G/O1Cnd5dk/53UjUMQeJGbEd2cX/mJc5hqQhjlm026j6vQV9f+5XPMs6BfdjIddD5UeudwVj0nNKXwLNDa0JL/cSeMeFHukr2zrX4BZfZM3c0Lfud91HKRzYsq41jutgF72UmjECxCx6lVyXNHsTcyUxH2b2nhY0i16XnHONZW6UzgH7VF/ocmrbGuX3Q2qOPbh2fSWmk0QciPVc+SV5TdnVHNoOMIncrOkeaZxrzNo6rdu1AqAzQGv3Iv7+2KGP2c4R5fV1RpLfvE/ykYsF++Ss5Fj3juZGb4hO0I+aD9hXz9h2f8nM0CjNnxTsG2yXgHkkmp0kZs428eBb4odd1DzwwbbPMJAfnNOznm3v0W8GZiX2cx72MrzoVWgWvKXvm03VM7wXPvBse87Ui3uJ33lsp+s3XsqXEqBZ6cf7JfOiy8W+6/xo5LSP3uR3VMnvW7eYt3/Fsr7sZXr3LxDXFT4=</data>
|
||||
</layer>
|
||||
<layer height="30" name="Above" width="30">
|
||||
<data compression="zlib" encoding="base64">eJztVjsOwjAMjSqxQyu4JEgcgJEzVHCPsjGWgTlIbAwMiBOwkwgimSh2ncSUDrwlVT959vOzU6WGiXYW9/68kOGL4R1VSq0yeC2X49NmPU54300r/BlnD8upI/Xtwq2U5ezajwtYz02mR7h8oVxPjNwfSM518Rl7HchDI/q6e1xvhYDFHqunze8+fl27lQLVi5SeoWfLd6wLRswUb0h7h22ivxqjy67EZ8Ae7IvlzfGXj9ZwHog+g7limkjPEQjYR1LzgAPf11ePO0VriIbIhdob1iA1hgviUcrztgZOf+l6x57zUoA1PoOey61tKr7ZR0OBr+26x/MYgz9v3SyW4Iypadcs5vL+wkd9/Ff90Q+eAMFKGA==</data>
|
||||
</layer>
|
||||
<layer height="30" name="Walkable" width="30">
|
||||
<data compression="zlib" encoding="base64">eJztk1EKwDAIQ3uK3f8KveHYx2CUahK1HYMFpD/Rp871o7X+x+tx6fky/ltR3qiVebPccfYIG+UiD8NewbX24TGYWVSmxWd3pOxjfJl5KrjWHq1cVJPxIGVvkWVWzpuZGfWY4Xpsz8PWU9kV98pwmdvcwWWlcisUuS2vDsNDXIvN9p35T9B8K2MXJ7Obr3Mjt6jcStSn9qH4q1X9PbK73RknvnP8cg==</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents" visible="0">
|
||||
<object height="32" name="east" type="mapchange" width="32" x="928" y="800">
|
||||
<properties>
|
||||
<property name="map" value="waytobrimhavencave1a"/>
|
||||
<property name="place" value="west"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="sign_brimcave4" type="sign" width="32" x="480" y="352"/>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn">
|
||||
<object height="256" name="erumen_3" type="spawn" width="640" x="192" y="672">
|
||||
<properties>
|
||||
<property name="quantity" value="3"/>
|
||||
<property name="spawngroup" value="erumen_3"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="288" name="skeleton2" type="spawn" width="128" x="128" y="384">
|
||||
<properties>
|
||||
<property name="quantity" value="3"/>
|
||||
<property name="spawngroup" value="skeleton2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="288" name="erumen_3_1" type="spawn" width="288" x="64" y="96">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
<property name="spawngroup" value="erumen_3"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="128" name="skeleton2_1" type="spawn" width="384" x="384" y="544">
|
||||
<properties>
|
||||
<property name="quantity" value="3"/>
|
||||
<property name="spawngroup" value="skeleton2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="128" name="erumen_3_2" type="spawn" width="32" x="800" y="288">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
<property name="spawngroup" value="erumen_3"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="160" name="erumen_2" type="spawn" width="224" x="640" y="96">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
<property name="spawngroup" value="erumen_2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="256" name="undeadrat1" type="spawn" width="192" x="736" y="416">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
<property name="spawngroup" value="undeadrat1"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="ulirfendor" type="spawn" width="32" x="480" y="352">
|
||||
<properties>
|
||||
<property name="spawngroup" value="ulirfendor"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys"/>
|
||||
</map>
|
||||
@@ -1,266 +0,0 @@
|
||||
<?xml version="1.0" ?><!DOCTYPE map SYSTEM 'http://mapeditor.org/dtd/1.0/map.dtd'><map height="19" orientation="orthogonal" tileheight="32" tilewidth="32" version="1.0" width="30">
|
||||
<properties>
|
||||
<property name="outdoors" value="1"/>
|
||||
</properties>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<tileset firstgid="1" name="map_bed_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_bed_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="129" name="map_border_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_border_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="257" name="map_bridge_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_bridge_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="385" name="map_bridge_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_bridge_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="513" name="map_broken_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_broken_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="641" name="map_cavewall_1" tileheight="32" tilewidth="32">
|
||||
<image height="192" source="../drawable/map_cavewall_1.png" width="576"/>
|
||||
</tileset><tileset firstgid="749" name="map_cavewall_2" tileheight="32" tilewidth="32">
|
||||
<image height="192" source="../drawable/map_cavewall_2.png" width="576"/>
|
||||
</tileset><tileset firstgid="857" name="map_cavewall_3" tileheight="32" tilewidth="32">
|
||||
<image height="192" source="../drawable/map_cavewall_3.png" width="576"/>
|
||||
</tileset><tileset firstgid="965" name="map_cavewall_4" tileheight="32" tilewidth="32">
|
||||
<image height="192" source="../drawable/map_cavewall_4.png" width="576"/>
|
||||
</tileset><tileset firstgid="1073" name="map_chair_table_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_chair_table_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1201" name="map_chair_table_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_chair_table_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="1329" name="map_crate_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_crate_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1457" name="map_cupboard_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_cupboard_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1585" name="map_curtain_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_curtain_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1713" name="map_entrance_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_entrance_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="1841" name="map_entrance_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_entrance_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="1969" name="map_fence_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_fence_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="2097" name="map_fence_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_fence_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="2225" name="map_fence_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_fence_3.png" width="512"/>
|
||||
</tileset><tileset firstgid="2353" name="map_fence_4" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_fence_4.png" width="512"/>
|
||||
</tileset><tileset firstgid="2481" name="map_ground_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="2609" name="map_ground_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="2737" name="map_ground_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_3.png" width="512"/>
|
||||
</tileset><tileset firstgid="2865" name="map_ground_4" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_4.png" width="512"/>
|
||||
</tileset><tileset firstgid="2993" name="map_ground_5" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_5.png" width="512"/>
|
||||
</tileset><tileset firstgid="3121" name="map_ground_6" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_6.png" width="512"/>
|
||||
</tileset><tileset firstgid="3249" name="map_ground_7" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_7.png" width="512"/>
|
||||
</tileset><tileset firstgid="3377" name="map_ground_8" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_ground_8.png" width="512"/>
|
||||
</tileset><tileset firstgid="3505" name="map_house_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_house_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="3633" name="map_house_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_house_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="3761" name="map_indoor_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_indoor_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="3889" name="map_indoor_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_indoor_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="4017" name="map_kitchen_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_kitchen_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4145" name="map_outdoor_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_outdoor_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4273" name="map_pillar_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_pillar_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4401" name="map_pillar_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_pillar_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="4529" name="map_plant_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_plant_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4657" name="map_plant_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_plant_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="4785" name="map_rock_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_rock_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="4913" name="map_rock_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_rock_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="5041" name="map_roof_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_roof_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5169" name="map_roof_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_roof_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="5297" name="map_roof_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_roof_3.png" width="512"/>
|
||||
</tileset><tileset firstgid="5425" name="map_shop_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_shop_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5553" name="map_sign_ladder_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_sign_ladder_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5681" name="map_table_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_table_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5809" name="map_trail_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_trail_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="5937" name="map_transition_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="6065" name="map_transition_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="6193" name="map_transition_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_3.png" width="512"/>
|
||||
</tileset><tileset firstgid="6321" name="map_transition_4" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_4.png" width="512"/>
|
||||
</tileset><tileset firstgid="6449" name="map_transition_5" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_transition_5.png" width="512"/>
|
||||
</tileset><tileset firstgid="6577" name="map_tree_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_tree_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="6705" name="map_tree_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_tree_2.png" width="512"/>
|
||||
</tileset><tileset firstgid="6833" name="map_wall_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_wall_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="6961" name="map_wall_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_wall_2.png" width="480"/>
|
||||
</tileset><tileset firstgid="7081" name="map_wall_3" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_wall_3.png" width="480"/>
|
||||
</tileset><tileset firstgid="7201" name="map_wall_4" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_wall_4.png" width="480"/>
|
||||
</tileset><tileset firstgid="7321" name="map_window_1" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_window_1.png" width="512"/>
|
||||
</tileset><tileset firstgid="7449" name="map_window_2" tileheight="32" tilewidth="32">
|
||||
<image height="256" source="../drawable/map_window_2.png" width="512"/>
|
||||
</tileset><layer height="19" name="Ground" width="30">
|
||||
<data compression="zlib" encoding="base64">eJy9VcERgCAM4+sI7D8BCzECM/jyrnJNmxTPRw9UaJKS4rhaGyZmfz/b96v7o7fei9Uxlv0WYamYe75n/hUWWoe0RTkZTI8jqvEE80ow+xGnSii51Lqd5vJyVjR7WKpetf+Unos8t3saefDkvD1OkadRDyvYSH+mt3JHZXwZvZV+ye475XzVWmec1PONODG4J/3LamL1/hnVeiEfZd7O/KdwYf7Z+3gDYgnVug==</data>
|
||||
</layer>
|
||||
<layer height="19" name="Objects" width="30">
|
||||
<data compression="zlib" encoding="base64">eJydVUluhDAQ5AMTCW78/x25gqMQRpqjnzBKJB6QQ2jFJWpqum2SumC795Wue8bX2HVvvUMIYPz3wp9IbirnvH8/x+P9Y7+v4yEL2m34m00g8jU1YthOxggf2WbLJ5bTs+r0dNt9JdosOfTAdMS29L/5hk6r02XP88tw6GY7a8VG5PPk+IY347E6zI1cs74oTuujSfosi95EPHOJPdJnfVPrEeQdwPnaqIXGwvm6Bva0PwCNL5JVpDJjS4nR6z3wRTYin4B1fO451juTbdP1LXf+Kmpxm8xlOM6I9Qy4P3QveXaUjjt6oSVvNnjPtHaSAfPJevg8BfuTwXZg35vTGrhvzN7W+zsmkgVy/7hjWvW3t1eKzxDtD5Zf6T/EYD9B93xnHzPV1/PZ5ngJerm263UWQde+4Lncyhk8iXoqy1smnzhOrQHAc8Z0/UecmVnNMYP1eXgP6nGXOvwXP+3S4tU=</data>
|
||||
</layer>
|
||||
<layer height="19" name="Above" width="30">
|
||||
<data compression="zlib" encoding="base64">eJytVdsRwCAI6xruvweT6C7tR7mjNAR85K6nUo0BFKVdV3++8bYWkX0Hyoc4d/ayWkf72pmOCsTxZnGZ9UH5xKyTCY7R/uNeiAHTYvun8h/lKAOb67X53KO13nbKz0inAE1sLxsj1CJ+dO4rMd7x2/JrX31F2md4M02oVlV07oD5O4tK/tF83W/V39W6ktUYa7caV2IvxH8Gr4ndI8R56pxkiHJg34HoPmdtxIn+o3j5dV4vq6msRlVrntdSfc8z3Kr3lbw=</data>
|
||||
</layer>
|
||||
<layer height="19" name="Walkable" visible="0" width="30">
|
||||
<data compression="zlib" encoding="base64">eJzNktEVwCAIA5nC/Vdwwy6gcLSJlff4gxwE5oiYgqxCwegyHexK27VvptlhkrqOh5kPnTtl89Fecp9KT+lFxX/7119v5kjCdM1FuUqPaL+LfZpJuBnb/VurGUnc8qvK2Gk6d6S+/pUPVCw4jg==</data>
|
||||
</layer>
|
||||
<objectgroup name="Mapevents">
|
||||
<object height="64" name="west" type="mapchange" width="32" x="0" y="160">
|
||||
<properties>
|
||||
<property name="map" value="wild0"/>
|
||||
<property name="place" value="east"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="north" type="mapchange" width="256" x="576" y="0">
|
||||
<properties>
|
||||
<property name="map" value="roadbeforecrossroads"/>
|
||||
<property name="place" value="south"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Spawn" visible="0">
|
||||
<object height="32" name="larva_2" type="spawn" width="64" x="64" y="192">
|
||||
<properties>
|
||||
<property name="spawngroup" value="larva_2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="larva_2_1" type="spawn" width="32" x="128" y="160">
|
||||
<properties>
|
||||
<property name="spawngroup" value="larva_2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="larva_2_2" type="spawn" width="32" x="160" y="160">
|
||||
<properties>
|
||||
<property name="spawngroup" value="larva_2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="larva_2_3" type="spawn" width="32" x="128" y="128">
|
||||
<properties>
|
||||
<property name="spawngroup" value="larva_2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="256" name="larva_2_4" type="spawn" width="96" x="128" y="288">
|
||||
<properties>
|
||||
<property name="quantity" value="4"/>
|
||||
<property name="spawngroup" value="larva_2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="160" name="fox1" type="spawn" width="224" x="416" y="320">
|
||||
<properties>
|
||||
<property name="quantity" value="2"/>
|
||||
<property name="spawngroup" value="fox1"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="larva_1" type="spawn" width="32" x="512" y="96">
|
||||
<properties>
|
||||
<property name="spawngroup" value="larva_1"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="larva_2_5" type="spawn" width="32" x="448" y="160">
|
||||
<properties>
|
||||
<property name="spawngroup" value="larva_2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="96" name="larva_2_6" type="spawn" width="96" x="288" y="160">
|
||||
<properties>
|
||||
<property name="spawngroup" value="larva_2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="128" name="fox1_1" type="spawn" width="256" x="608" y="128">
|
||||
<properties>
|
||||
<property name="spawngroup" value="fox1"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="larva_2_7" type="spawn" width="128" x="256" y="512">
|
||||
<properties>
|
||||
<property name="spawngroup" value="larva_2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="larva_2_8" type="spawn" width="96" x="416" y="512">
|
||||
<properties>
|
||||
<property name="spawngroup" value="larva_2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="larva_2_9" type="spawn" width="96" x="544" y="512">
|
||||
<properties>
|
||||
<property name="spawngroup" value="larva_2"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object height="32" name="larva_2_10" type="spawn" width="64" x="768" y="512">
|
||||
<properties>
|
||||
<property name="spawngroup" value="larva_2"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
<objectgroup name="Keys" visible="0"/>
|
||||
</map>
|
||||
@@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>AndorsTrailEdit</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
@@ -1,448 +0,0 @@
|
||||
function IncludeJavascript(jsFile) {
|
||||
document.write('<script type="text/javascript" src="' + jsFile + '"></scr' + 'ipt>');
|
||||
}
|
||||
|
||||
IncludeJavascript("FieldList.js");
|
||||
IncludeJavascript("DataStore.js");
|
||||
|
||||
var translateFiles = [
|
||||
'strings.xml',
|
||||
'strings_about.xml',
|
||||
'content_actorconditions.xml',
|
||||
'content_conversationlist.xml',
|
||||
'content_droplist.xml',
|
||||
'content_itemlist.xml',
|
||||
'content_itemcategories.xml',
|
||||
'content_monsterlist.xml',
|
||||
'content_questlist.xml'
|
||||
];
|
||||
|
||||
var translations = [
|
||||
{ name: 'French', id: 'values-fr', files: [
|
||||
'content_actorconditions.xml',
|
||||
'content_conversationlist.xml',
|
||||
'content_itemlist.xml',
|
||||
'content_monsterlist.xml',
|
||||
'content_questlist.xml',
|
||||
'strings.xml'
|
||||
]},
|
||||
{ name: 'Italian', id: 'values-it', files: [
|
||||
'content_actorconditions.xml',
|
||||
'content_conversationlist.xml',
|
||||
'content_itemlist.xml',
|
||||
'content_questlist.xml',
|
||||
'strings.xml'
|
||||
]},
|
||||
{ name: 'German', id: 'values-de', files: [
|
||||
'content_actorconditions.xml',
|
||||
'content_conversationlist.xml',
|
||||
'content_itemlist.xml',
|
||||
'content_itemcategories.xml',
|
||||
'content_monsterlist.xml',
|
||||
'content_questlist.xml',
|
||||
'strings_about.xml',
|
||||
'strings.xml'
|
||||
]},
|
||||
{ name: 'Hebrew', id: 'values-iw', files: [
|
||||
'strings.xml'
|
||||
]},
|
||||
{ name: 'Russian', id: 'values-ru', files: [
|
||||
'content_actorconditions.xml',
|
||||
'content_conversationlist.xml',
|
||||
'content_itemlist.xml',
|
||||
'content_monsterlist.xml',
|
||||
'content_questlist.xml',
|
||||
'strings.xml'
|
||||
]},
|
||||
{ name: 'Portugese', id: 'values-pt', files: [
|
||||
'content_actorconditions.xml',
|
||||
'content_monsterlist.xml',
|
||||
'strings.xml'
|
||||
]},
|
||||
{ name: 'Japanese', id: 'values-ja', files: [
|
||||
'content_conversationlist.xml',
|
||||
'strings.xml'
|
||||
]},
|
||||
{ name: 'Brazilian Portugese', id: 'values-pt-rBR', files: [
|
||||
'content_actorconditions.xml',
|
||||
'content_conversationlist.xml',
|
||||
'content_itemlist.xml',
|
||||
'content_monsterlist.xml',
|
||||
'content_questlist.xml',
|
||||
'strings.xml'
|
||||
]}
|
||||
];
|
||||
|
||||
function stepRight(divToHide, divToShow, onComplete) {
|
||||
$(divToHide).hide('slow');
|
||||
$(divToShow).fadeIn('slow', onComplete);
|
||||
}
|
||||
function stepLeft(divToHide, divToShow) {
|
||||
$(divToHide).fadeOut('slow');
|
||||
$(divToShow).show('slow');
|
||||
}
|
||||
|
||||
function loadResourceFile(filename, onSuccess) {
|
||||
var url = document.location.href;
|
||||
url = url.substring(0, url.lastIndexOf('/'));
|
||||
url = url.substring(0, url.lastIndexOf('/'));
|
||||
url += "/AndorsTrail/res/" + filename;
|
||||
//var url = "http://andors-trail.googlecode.com/git/AndorsTrail/res/" + filename;
|
||||
$.get(url, function(data) {
|
||||
onSuccess(data);
|
||||
}, 'text');
|
||||
}
|
||||
|
||||
function addSelectOption(sel, val, text) {
|
||||
if (!text) { text = val; }
|
||||
sel.append($("<option/>").attr("value", val).text(text));
|
||||
}
|
||||
|
||||
function addSelectOptions(sel, array) {
|
||||
array.forEach(function(obj) { addSelectOption( sel , obj); } );
|
||||
}
|
||||
|
||||
function loadStep2() {
|
||||
var possibleExistingFiles = [];
|
||||
var selectedSourceFile = $("#englishFiles").val();
|
||||
translations.forEach(function(t) {
|
||||
if ($.inArray(selectedSourceFile, t.files) > -1) {
|
||||
possibleExistingFiles.push(t.id + "/" + selectedSourceFile);
|
||||
}
|
||||
});
|
||||
$("#compareToExisting").empty();
|
||||
addSelectOptions( $("#compareToExisting"), possibleExistingFiles );
|
||||
stepRight("#validate1", "#validate2");
|
||||
}
|
||||
|
||||
function pushMessage(res, msg) {
|
||||
res.class2 = "yellow";
|
||||
res.messages.push(msg);
|
||||
return res;
|
||||
}
|
||||
|
||||
function isTranslatableField(fieldName) {
|
||||
return fieldName == "name" || fieldName == "logText" || fieldName == "message" || fieldName == "text";
|
||||
}
|
||||
|
||||
function compareAndorsTrailResourceHeader(result, id, header1, header2) {
|
||||
if (header1.length != header2.length) {
|
||||
pushMessage(result, "Row \"" + id + "\" was expected to contain " + f1.length + " sub-entries, but only " + f2.length + " was found.");
|
||||
return;
|
||||
}
|
||||
for (var i = 0; i < header1._fields.length; ++i) {
|
||||
var f1 = header1._fields[i];
|
||||
var fieldName1 = header1.getFieldName(i);
|
||||
var f2 = header2._fields[i];
|
||||
var fieldName2 = header2.getFieldName(i);
|
||||
if (fieldName1 != fieldName2) {
|
||||
pushMessage(result, "Row \"" + id + "\", field \"" + fieldName + "\" was expected to contain \"" + f1 + "\", but \"" + f2 + "\" was found.");
|
||||
}
|
||||
var fieldName2 = header2.getFieldName(i);
|
||||
if (f1 instanceof FieldList) {
|
||||
compareAndorsTrailResourceHeader(result, id+":"+fieldName1, f1, f2);
|
||||
}
|
||||
}
|
||||
}
|
||||
function extractTranslatableFields_(id, result, fieldList, prefix, obj) {
|
||||
if (!result) {
|
||||
result = {};
|
||||
result.id = id;
|
||||
result.fields = [];
|
||||
}
|
||||
if (!prefix) {
|
||||
prefix = "";
|
||||
}
|
||||
for (var i = 0; i < fieldList._fields.length; ++i) {
|
||||
var f = fieldList._fields[i];
|
||||
if (f instanceof FieldList) {
|
||||
// f is subfieldlist
|
||||
$.each(obj[f._name], function(j, elem) {
|
||||
extractTranslatableFields_(id, result, f, prefix+f._name+"["+j+"].", elem);
|
||||
});
|
||||
} else {
|
||||
// f is field name
|
||||
if (isTranslatableField(f)) {
|
||||
result.fields.push({
|
||||
"name":prefix+f,
|
||||
"value":obj[f]
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
function extractTranslatableFields(id, fieldList, obj) {
|
||||
return extractTranslatableFields_(id, undefined, fieldList, "", obj);
|
||||
}
|
||||
|
||||
function compareAndorsTrailResourceRow(result, fieldList, id, obj1, obj2) {
|
||||
// Assume the headers of both objects are correctly matched
|
||||
trans1 = extractTranslatableFields(id, fieldList, obj1);
|
||||
trans2 = extractTranslatableFields(id, fieldList, obj2);
|
||||
$.each(trans1.fields, function(i, f1) {
|
||||
f2 = trans2.fields[i];
|
||||
if (f1.name != f2.name) {
|
||||
pushMessage(result, "Row \"" + id + "\", field \"" + f1.name + "\" does not match in translated data field\"" + f2.name + "\".");
|
||||
}
|
||||
if (f1.value.length > 1) {
|
||||
if (f1.value == f2.value) {
|
||||
pushMessage(result, "Row \"" + id + "\", field \"" + f1.name + "\" does not seem to be translated. Both texts are \"" + f1.value + "\".");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function compareAndorsTrailResourceFormat(text1, text2) {
|
||||
var result = {
|
||||
isResource: true,
|
||||
class1: "ok",
|
||||
class2: "ok",
|
||||
messages: [],
|
||||
header: undefined,
|
||||
ds_english: undefined,
|
||||
ds_translated: undefined
|
||||
};
|
||||
|
||||
var header1 = findHeader(text1);
|
||||
if (!header1) { return { isResource: false }; }
|
||||
result.header = header1;
|
||||
|
||||
var header2 = findHeader(text2);
|
||||
if (!header2) { result.class2 = "red"; return result; }
|
||||
|
||||
compareAndorsTrailResourceHeader(result, "", header1, header2);
|
||||
if (result.class2 != "ok") { return result; }
|
||||
|
||||
var ds1 = new DataStore({});
|
||||
var ds2 = new DataStore({});
|
||||
ds1.deserialize(text1);
|
||||
ds2.deserialize(text2);
|
||||
$.each(ds1.items, function(i, obj) {
|
||||
var obj1 = obj;
|
||||
var obj2 = ds2.get(i);
|
||||
var id1 = obj1[header1._fields[0]];
|
||||
if (!obj2) { return pushMessage(result, "Row " + i + ": expected to find an object with id \"" + id1 + "\", but such row was not found."); }
|
||||
var id2 = obj2[header1._fields[0]];
|
||||
if (id2 != id1) { return pushMessage(result, "Row " + i + ": Expected to find id \"" + id1 + "\", but found \"" + id2 + "\" instead."); }
|
||||
|
||||
compareAndorsTrailResourceRow(result, header1, id1, obj1, obj2);
|
||||
});
|
||||
|
||||
result.ds_english = ds1;
|
||||
result.ds_translated = ds2;
|
||||
return result;
|
||||
}
|
||||
|
||||
function applyChangeToObject(trans_obj, fieldName, newValue) {
|
||||
(new Function("x", "v", "x."+fieldName+" = v;"))(trans_obj, newValue);
|
||||
}
|
||||
|
||||
function appendEditRow(editTable, updateHook, trans_obj, id, fieldName, english_text, translated_text) {
|
||||
if (english_text.length <= 1) {
|
||||
// there's no meaningful text
|
||||
return;
|
||||
}
|
||||
var row_id = name+"__row";
|
||||
var cell_id = name+"__cell";
|
||||
var edit_id = name+"__edit";
|
||||
var cell = $("<span />").text(translated_text)
|
||||
.attr("id", cell_id)
|
||||
.attr("class", "clickToEdit");
|
||||
var editor = $("<textarea />").val(translated_text)
|
||||
.attr("id", cell_id)
|
||||
.hide();
|
||||
cell.click(function() {
|
||||
editor.val(cell.text());
|
||||
editor.show().focus();
|
||||
cell.hide();
|
||||
});
|
||||
editor.blur(function() {
|
||||
var new_text = editor.val();
|
||||
cell.text(new_text);
|
||||
editor.hide(); cell.show();
|
||||
applyChangeToObject(trans_obj, fieldName, new_text);
|
||||
updateHook();
|
||||
});
|
||||
editTable.append(
|
||||
$("<tr />")
|
||||
.attr("id", name+"__row")
|
||||
.append($("<td />").text(id))
|
||||
.append($("<td />").text(fieldName))
|
||||
.append($("<td />").text(english_text))
|
||||
.append($("<td />").append(cell).append(editor))
|
||||
);
|
||||
}
|
||||
|
||||
function clearEditTable() {
|
||||
var editTable = $("#editTranslation tbody");
|
||||
editTable.children().remove();
|
||||
$("#export_text").val("");
|
||||
}
|
||||
|
||||
function editTranslationHandler(data2, name, resourceComparison) {
|
||||
var updateHook = function () {
|
||||
var header = resourceComparison.header;
|
||||
var ds2 = resourceComparison.ds_translated;
|
||||
var text2 = ds2.serialize();
|
||||
data2.find("string[name=\"" + name + "\"]").text(text2);
|
||||
};
|
||||
return function () {
|
||||
clearEditTable();
|
||||
var editTable = $("#editTranslation tbody");
|
||||
var header = resourceComparison.header;
|
||||
var ds1 = resourceComparison.ds_english;
|
||||
var ds2 = resourceComparison.ds_translated;
|
||||
$.each(ds1.items, function(i, obj1) {
|
||||
var obj2 = ds2.get(i);
|
||||
var id = obj1["id"];
|
||||
var english_list = extractTranslatableFields(id, header, obj1);
|
||||
var translated_list = extractTranslatableFields(id, header, obj2);
|
||||
|
||||
$.each(english_list.fields, function(j, f1) {
|
||||
var f2 = translated_list.fields[j];
|
||||
appendEditRow(
|
||||
editTable, updateHook, obj2, id,
|
||||
f1.name, f1.value, f2.value
|
||||
);
|
||||
});
|
||||
});
|
||||
};
|
||||
}
|
||||
function initTranslationHandler(data1, data2, name) {
|
||||
var f = function() {
|
||||
if (!confirm("Create new translation unit in this resouce?")) {
|
||||
// if canceled
|
||||
return;
|
||||
}
|
||||
clearEditTable();
|
||||
// create new node in resource xml by copying english ver.
|
||||
var node1 = data1.find("string[name=\"" + name + "\"]");
|
||||
var text1 = node1.text();
|
||||
data2.find("resources").append($("<string name=\""+name+"\" />").text(text1));
|
||||
var resourceComparison = compareAndorsTrailResourceFormat(text1, text1);
|
||||
// repalce this handler with "edit" event handler (and etc.)
|
||||
var editHandler = editTranslationHandler(data2, name, resourceComparison);
|
||||
$(this).parent().attr("class","yellow");
|
||||
$(this).text("Edit").unbind('click', f).click(editHandler);
|
||||
$(this).click();
|
||||
}
|
||||
return f;
|
||||
}
|
||||
function exportHandler(data2) {
|
||||
var xmlString = function (data) {
|
||||
var xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n";
|
||||
xml += "<resources>\n";
|
||||
$.each(data.find("string"), function() {
|
||||
xml += "\t<string name=\""+$(this).attr("name")+"\">\n";
|
||||
xml += $(this).text();
|
||||
xml += "\n\t</string>\n\n";
|
||||
});
|
||||
xml += "</resources>\n";
|
||||
return xml;
|
||||
}
|
||||
return function () {
|
||||
$("#export_text").val(xmlString(data2));
|
||||
};
|
||||
}
|
||||
|
||||
function appendOutputRow(outputTable, name, data1, data2) {
|
||||
if ($("#" + name, outputTable).size() > 0) return;
|
||||
|
||||
var text1 = data1.find("string[name=\"" + name + "\"]").text();
|
||||
var text2 = data2.find("string[name=\"" + name + "\"]").text();
|
||||
var class2 = text2 ? "ok" : "red";
|
||||
var tdTranslated = $("<td />");
|
||||
if (text1) {
|
||||
if (text2) {
|
||||
var resourceComparison = compareAndorsTrailResourceFormat(text1, text2);
|
||||
if (resourceComparison.isResource) {
|
||||
class2 = resourceComparison.class2;
|
||||
if (resourceComparison.messages.length > 0 || class2 == "ok") {
|
||||
// yellow || ok
|
||||
var d = $("<span />").text("Edit");
|
||||
d.click(editTranslationHandler(data2, name, resourceComparison));
|
||||
tdTranslated.append(d);
|
||||
}
|
||||
}
|
||||
} else /* if (class2 == "red") */ {
|
||||
var d = $("<span />").text("Init");
|
||||
d.click(initTranslationHandler(data1, data2, name));
|
||||
tdTranslated.append(d);
|
||||
}
|
||||
}
|
||||
|
||||
outputTable.append(
|
||||
$("<tr />")
|
||||
.attr("id", name)
|
||||
.append($("<td />").text(name))
|
||||
.append(tdTranslated.attr("class", class2))
|
||||
);
|
||||
}
|
||||
|
||||
function validateTranslation_(englishData) {
|
||||
$("#englishData").text(englishData);
|
||||
var compareData1 = $( $.parseXML(englishData) );
|
||||
var compareData2 = $( $.parseXML($("#compareToInput").val()) );
|
||||
|
||||
var resultTable = $("#validateResultContent #result");
|
||||
var outputTable = $("tbody", resultTable );
|
||||
outputTable.empty();
|
||||
|
||||
compareData1.find("string").each(function() {
|
||||
appendOutputRow(outputTable, $(this).attr("name"), compareData1, compareData2);
|
||||
});
|
||||
compareData2.find("string").each(function() {
|
||||
appendOutputRow(outputTable, $(this).attr("name"), compareData1, compareData2);
|
||||
});
|
||||
|
||||
var sectionCount = $("tr", outputTable).size();
|
||||
var errors1 = sectionCount - $("td:nth-child(2).ok", outputTable).size();
|
||||
$("th #count2", resultTable).text( (errors1 > 0) ? " (" + errors1 + ")" : "" );
|
||||
|
||||
$("#export").click(exportHandler(compareData2));
|
||||
|
||||
$("#validateResultContent #loading").hide();
|
||||
$("#validateResultContent #result").show();
|
||||
}
|
||||
function validateTranslation(englishData) {
|
||||
try {
|
||||
validateTranslation_(englishData);
|
||||
} catch (err) {
|
||||
alert(err);
|
||||
}
|
||||
}
|
||||
|
||||
function loadStep3() {
|
||||
var compareToContent = $("#compareToInput").val();
|
||||
if (compareToContent.length <= 0) {
|
||||
alert("You must enter (or import) some translated content to compare.");
|
||||
return;
|
||||
}
|
||||
|
||||
$("#validateResultContent #loading").show();
|
||||
$("#validateResultContent #result").hide();
|
||||
stepRight("#validate2", "#validateResult", function() {
|
||||
loadResourceFile( "values/" + $("#englishFiles").val() , validateTranslation )
|
||||
});
|
||||
}
|
||||
|
||||
function startTranslationValidator() {
|
||||
addSelectOptions( $("#englishFiles"), translateFiles );
|
||||
|
||||
$("#next1").button({ icons: {primary:'ui-icon-arrowthick-1-e'} }).click(loadStep2);
|
||||
$("#prev2").button({ icons: {primary:'ui-icon-arrowthick-1-w'} }).click(function() { stepLeft("#validate2", "#validate1"); });
|
||||
$("#btnImportFromSVN").button().click(function() {
|
||||
$("#compareToInput").val("Loading...");
|
||||
loadResourceFile( $("#compareToExisting").val(), function(data) { $("#compareToInput").val(data); } );
|
||||
});
|
||||
$("#next2").button({ icons: {primary:'ui-icon-arrowthick-1-e'} }).click(loadStep3);
|
||||
$("#prev3").button({ icons: {primary:'ui-icon-arrowthick-1-w'} }).click(function() {
|
||||
if (confirm("Leaving the result page will discard any modifications on current resource. Leave anyway?")) {
|
||||
stepLeft("#validateResult", "#validate2");
|
||||
clearEditTable();
|
||||
}
|
||||
});
|
||||
$("#export").button({ icons: {primary:'ui-icon-arrowthick-1-e'} })
|
||||
}
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 769 B |
@@ -1,136 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" ng-app="ateditor">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<link rel="shortcut icon" href="http://andorstrail.com/favicon.ico"/>
|
||||
<link rel="stylesheet" href="lib/bootstrap/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="lib/hint.min.css" />
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
<title>Andor's Trail Content Editor</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div id="screen">
|
||||
<div id="top">
|
||||
<div class="andorsTrailLogo" id="title">
|
||||
Andor's Trail Content Editor
|
||||
<span id="version">
|
||||
v0.7.2dev
|
||||
</span>
|
||||
</div>
|
||||
<div id="buttons">
|
||||
<a href="#import" class="btn"><i class="icon-upload"></i> Import</a>
|
||||
<a href="#export" class="btn"><i class="icon-download"></i> Export</a>
|
||||
</div>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
|
||||
<div id="left" class="workarea">
|
||||
<div id="tools" ng-controller="ATEditor.controllers.NavigationController" ng-init="$('.collapse').collapse()">
|
||||
<div class="accordion" id="accordion-nav">
|
||||
<div class="accordion-group" ng-show="previousItems.length > 0">
|
||||
<div class="accordion-heading">
|
||||
<a class="accordion-toggle" data-toggle="collapse" href="#collapse-nav-previous">Recently opened</a>
|
||||
</div>
|
||||
<div id="collapse-nav-previous" class="accordion-body collapse">
|
||||
<div class="accordion-inner">
|
||||
<ul class="itemlist">
|
||||
<li ng-repeat="p in previousItems" ng-click="editObj(p.section, p.obj)" fadey>
|
||||
<img ng-tile-image="p.obj.iconID" ng-tile-image-scale="0.7" ng-show="p.section.hasIcon()" />
|
||||
{{getName(p.section, p.obj)}}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="accordion-group" ng-repeat="section in sections">
|
||||
<div class="accordion-heading">
|
||||
<a class="accordion-toggle" data-toggle="collapse" ng-href="#collapse-nav-{{section.id}}">
|
||||
{{section.name}}
|
||||
</a>
|
||||
</div>
|
||||
<div id="collapse-nav-{{section.id}}" class="accordion-body collapse">
|
||||
<div class="accordion-inner">
|
||||
<div class="tools-buttons">
|
||||
<button ng-click="addObj(section)" class="btn"><i class="icon-plus-sign"></i> Add</button>
|
||||
<button ng-click="editAsTable(section)" class="btn" ng-show="supportsTableEdit(section)"><i class="icon-list"></i> Table</button>
|
||||
<button ng-click="clear(section)" class="btn"><i class="icon-trash"></i> Clear</button>
|
||||
</div>
|
||||
<ul class="itemlist" ui:sortable ng:model="section.items">
|
||||
<li ng-repeat="obj in section.items" ng-click="editObj(section, obj)" fadey>
|
||||
<div style="float: left;">
|
||||
<img ng-tile-image="obj.iconID" ng-tile-image-scale="0.7" ng-show="section.hasIcon()" />
|
||||
{{getName(section, obj)}}
|
||||
</div>
|
||||
<div style="float: right;">
|
||||
<a ng-click="dupObj(section, obj)" class="btn btn-mini" title="Duplicate"><i class="icon-plus"></i></a>
|
||||
<a ng-click="delObj(section, obj)" class="btn btn-mini" title="Remove"><i class="icon-trash"></i></a>
|
||||
</div>
|
||||
<div style="clear: both;"> </div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<form class="form-inline">
|
||||
<div id="center" class="workarea" ng-view></div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div id="selectIconModal" class="modal hide fade" role="dialog" tabindex="-1" ng-controller="ATEditor.controllers.SelectIconController">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||
<h3>Select icon</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div ng-repeat="section in sections">
|
||||
<div ng-show="section.id == selectedSection">
|
||||
<div ng-repeat="imageID in section.imageIDs" ng-tile-image="imageID" ng-click="imageSelected(imageID)" class="at-input-icon"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn" data-dismiss="modal">Cancel</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<script src="lib/jquery.min.js"></script>
|
||||
<script src="lib/jquery-ui.min.js"></script>
|
||||
<script src="lib/underscore-min.js"></script>
|
||||
<script src="lib/angular.min.js"></script>
|
||||
<script src="lib/ng-sortable.js"></script>
|
||||
<script src="lib/bootstrap/js/bootstrap.min.js"></script>
|
||||
<script src="js/utils.js"></script>
|
||||
<script src="js/settings.js"></script>
|
||||
<script src="js/tilesets.js"></script>
|
||||
<script src="js/fieldlist.js"></script>
|
||||
<script src="js/datastore.js"></script>
|
||||
<script src="js/defaults.js"></script>
|
||||
<script src="js/importexport.js"></script>
|
||||
<script src="js/model.js"></script>
|
||||
<script src="js/exampledata.js"></script>
|
||||
<script src="js/modelfunctions.js"></script>
|
||||
<script src="js/controllers/navigation.js"></script>
|
||||
<script src="js/controllers/actorcondition.js"></script>
|
||||
<script src="js/controllers/quest.js"></script>
|
||||
<script src="js/controllers/item.js"></script>
|
||||
<script src="js/controllers/droplist.js"></script>
|
||||
<script src="js/controllers/dialogue.js"></script>
|
||||
<script src="js/controllers/dialoguetree.js"></script>
|
||||
<script src="js/controllers/monster.js"></script>
|
||||
<script src="js/controllers/itemcategory.js"></script>
|
||||
<script src="js/controllers/import.js"></script>
|
||||
<script src="js/controllers/export.js"></script>
|
||||
<script src="js/controllers/selecticon.js"></script>
|
||||
<script src="js/app.js"></script>
|
||||
<script src="js/directives.js"></script>
|
||||
<script src="js/legacyimport.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 863 B |
Binary file not shown.
|
Before Width: | Height: | Size: 1.1 KiB |
@@ -1,25 +0,0 @@
|
||||
var ATEditor = (function(ATEditor, controllers) {
|
||||
|
||||
var htmldir = 'partials/';
|
||||
|
||||
ATEditor.app = angular
|
||||
.module('ateditor', ['ui.sortable'])
|
||||
.config(['$routeProvider', function($routeProvider) {
|
||||
$routeProvider
|
||||
.when('/actorcondition/edit/:id', {templateUrl: htmldir+'edit_actorcondition.html', controller: controllers.ActorConditionController})
|
||||
.when('/quest/edit/:id', {templateUrl: htmldir+'edit_quest.html', controller: controllers.QuestController})
|
||||
.when('/item/edit/:id', {templateUrl: htmldir+'edit_item.html', controller: controllers.ItemController})
|
||||
.when('/item/table', {templateUrl: htmldir+'table_item.html', controller: controllers.ItemTableController})
|
||||
.when('/droplist/edit/:id', {templateUrl: htmldir+'edit_droplist.html', controller: controllers.DropListController})
|
||||
.when('/dialogue/edit/:id', {templateUrl: htmldir+'edit_dialogue.html', controller: controllers.DialogueController})
|
||||
.when('/dialogue/tree/:id', {templateUrl: htmldir+'tree_dialogue.html', controller: controllers.DialogueShowTreeController})
|
||||
.when('/monster/edit/:id', {templateUrl: htmldir+'edit_monster.html', controller: controllers.MonsterController})
|
||||
.when('/monster/table', {templateUrl: htmldir+'table_monster.html', controller: controllers.MonsterTableController})
|
||||
.when('/itemcategory/edit/:id', {templateUrl: htmldir+'edit_itemcategory.html', controller: controllers.ItemCategoryController})
|
||||
.when('/import', {templateUrl: htmldir+'import.html', controller: controllers.ImportController})
|
||||
.when('/export', {templateUrl: htmldir+'export.html', controller: controllers.ExportController})
|
||||
.when('/start', {templateUrl: htmldir+'start.html'})
|
||||
.otherwise({redirectTo: '/start'});
|
||||
}]);
|
||||
return ATEditor;
|
||||
})(ATEditor, ATEditor.controllers);
|
||||
@@ -1,14 +0,0 @@
|
||||
var ATEditor = (function(ATEditor, model) {
|
||||
|
||||
function ActorConditionController($scope, $routeParams) {
|
||||
$scope.datasource = model.actorConditions;
|
||||
$scope.obj = $scope.datasource.findById($routeParams.id);
|
||||
$scope.previous = ATEditor.navigationFunctions.editByIndexOffset($scope.datasource, $scope.obj, -1);
|
||||
$scope.next = ATEditor.navigationFunctions.editByIndexOffset($scope.datasource, $scope.obj, 1);
|
||||
};
|
||||
|
||||
ATEditor.controllers = ATEditor.controllers || {};
|
||||
ATEditor.controllers.ActorConditionController = ActorConditionController;
|
||||
|
||||
return ATEditor;
|
||||
})(ATEditor, ATEditor.model);
|
||||
@@ -1,66 +0,0 @@
|
||||
var ATEditor = (function(ATEditor, model, defaults, importExport) {
|
||||
|
||||
function DialogueController($scope, $routeParams) {
|
||||
$scope.datasource = model.dialogue;
|
||||
$scope.rootPhrase = $scope.datasource.findById($routeParams.id);
|
||||
$scope.phrase = $scope.rootPhrase;
|
||||
$scope.reply = null;
|
||||
|
||||
$scope.removeReward = function(phrase, reward) {
|
||||
var idx = phrase.rewards.indexOf(reward);
|
||||
phrase.rewards.splice(idx, 1);
|
||||
};
|
||||
$scope.addReward = function(phrase) {
|
||||
phrase.rewards.push({});
|
||||
};
|
||||
$scope.removeRequirement = function(reply, requirement) {
|
||||
var idx = reply.requires.indexOf(requirement);
|
||||
reply.requires.splice(idx, 1);
|
||||
};
|
||||
$scope.addRequirement = function(reply) {
|
||||
reply.requires.push({});
|
||||
};
|
||||
$scope.proceedToPhrase = function(obj, prop) {
|
||||
var phraseId = obj[prop];
|
||||
if (phraseId) {
|
||||
var nextPhrase = model.dialogue.findById(phraseId);
|
||||
if (nextPhrase) {
|
||||
ATEditor.navigationFunctions.editObjId(model.dialogue, phraseId);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
phraseId = $scope.phrase.id;
|
||||
}
|
||||
var newPhrase = model.dialogue.addNew(phraseId);
|
||||
importExport.prepareObjectsForEditor(model.dialogue, [ newPhrase ]);
|
||||
newPhrase.hasOnlyNextReply = true;
|
||||
|
||||
phraseId = newPhrase.id;
|
||||
obj[prop] = phraseId;
|
||||
|
||||
ATEditor.navigationFunctions.editObjId(model.dialogue, phraseId);
|
||||
};
|
||||
$scope.selectReply = function(reply) {
|
||||
$scope.reply = reply;
|
||||
};
|
||||
$scope.removeReply = function(phrase, reply) {
|
||||
var idx = phrase.replies.indexOf(reply);
|
||||
phrase.replies.splice(idx, 1);
|
||||
if ($scope.reply === reply) { $scope.reply = null; }
|
||||
};
|
||||
$scope.addReply = function(phrase) {
|
||||
var reply = {};
|
||||
defaults.addDefaults('reply', reply);
|
||||
phrase.replies.push(reply);
|
||||
$scope.reply = reply;
|
||||
};
|
||||
$scope.showPhraseTree = function(phrase) {
|
||||
window.location = "#/" + model.dialogue.id + "/tree/" + phrase.id;
|
||||
};
|
||||
};
|
||||
|
||||
ATEditor.controllers = ATEditor.controllers || {};
|
||||
ATEditor.controllers.DialogueController = DialogueController;
|
||||
|
||||
return ATEditor;
|
||||
})(ATEditor, ATEditor.model, ATEditor.defaults, ATEditor.importExport);
|
||||
@@ -1,61 +0,0 @@
|
||||
var ATEditor = (function(ATEditor, model, _) {
|
||||
|
||||
function DialogueShowTreeController($scope, $routeParams) {
|
||||
$scope.datasource = model.dialogue;
|
||||
$scope.rootPhrase = $scope.datasource.findById($routeParams.id);
|
||||
$scope.onclick = function(node) {
|
||||
ATEditor.navigationFunctions.editObjId(model.dialogue, node.id);
|
||||
};
|
||||
|
||||
function buildSingleTreeNode(type, id, text, children) {
|
||||
return {
|
||||
id: id || ""
|
||||
,text: text || ""
|
||||
,type: type
|
||||
,children: children || []
|
||||
};
|
||||
}
|
||||
|
||||
function singleChild(n) { return n ? [n] : []; }
|
||||
|
||||
function buildPhraseTree(phrase, visitedPhrases) {
|
||||
if (!phrase) { return; }
|
||||
if (visitedPhrases[phrase.id]) {
|
||||
return buildSingleTreeNode("loop", phrase.id, phrase.message);
|
||||
}
|
||||
visitedPhrases[phrase.id] = true;
|
||||
|
||||
var children;
|
||||
if (phrase.hasOnlyNextReply) {
|
||||
var nextNode = model.dialogue.findById(phrase.nextPhraseID);
|
||||
children = singleChild(buildPhraseTree(nextNode, visitedPhrases));
|
||||
} else {
|
||||
children = _.map(phrase.replies, function(reply) {
|
||||
var replyChild;
|
||||
if (reply.nextPhraseID.length == 1) {
|
||||
replyChild = buildSingleTreeNode("action");
|
||||
} else {
|
||||
var nextNode = model.dialogue.findById(reply.nextPhraseID);
|
||||
replyChild = buildPhraseTree(nextNode, visitedPhrases);
|
||||
}
|
||||
|
||||
if (!reply.text) {
|
||||
return replyChild || buildSingleTreeNode("reply", phrase.id, "(no text)");
|
||||
}
|
||||
|
||||
return buildSingleTreeNode("reply", phrase.id, reply.text, singleChild(replyChild));
|
||||
});
|
||||
}
|
||||
|
||||
var phraseText = phrase.message || "(conditional evaluation)";
|
||||
return buildSingleTreeNode("phrase", phrase.id, phraseText, children);
|
||||
}
|
||||
|
||||
$scope.node = buildPhraseTree($scope.rootPhrase, {});
|
||||
};
|
||||
|
||||
ATEditor.controllers = ATEditor.controllers || {};
|
||||
ATEditor.controllers.DialogueShowTreeController = DialogueShowTreeController;
|
||||
|
||||
return ATEditor;
|
||||
})(ATEditor, ATEditor.model, _);
|
||||
@@ -1,19 +0,0 @@
|
||||
var ATEditor = (function(ATEditor, model) {
|
||||
|
||||
function DropListController($scope, $routeParams) {
|
||||
$scope.datasource = model.droplists;
|
||||
$scope.obj = $scope.datasource.findById($routeParams.id);
|
||||
$scope.addDropItem = function() {
|
||||
$scope.obj.items.push({quantity: {}});
|
||||
};
|
||||
$scope.removeDropItem = function(dropItem) {
|
||||
var idx = $scope.obj.items.indexOf(dropItem);
|
||||
$scope.obj.items.splice(idx, 1);
|
||||
};
|
||||
};
|
||||
|
||||
ATEditor.controllers = ATEditor.controllers || {};
|
||||
ATEditor.controllers.DropListController = DropListController;
|
||||
|
||||
return ATEditor;
|
||||
})(ATEditor, ATEditor.model);
|
||||
@@ -1,17 +0,0 @@
|
||||
var ATEditor = (function(ATEditor, model, importExport) {
|
||||
|
||||
function ExportController($scope) {
|
||||
$scope.sections = model.sections;
|
||||
$scope.content = "";
|
||||
$scope.selectedSection = $scope.selectedSection || model.items;
|
||||
$scope.exportData = function() {
|
||||
$scope.content = importExport.exportData($scope.selectedSection);
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
ATEditor.controllers = ATEditor.controllers || {};
|
||||
ATEditor.controllers.ExportController = ExportController;
|
||||
|
||||
return ATEditor;
|
||||
})(ATEditor, ATEditor.model, ATEditor.importExport);
|
||||
@@ -1,41 +0,0 @@
|
||||
var ATEditor = (function(ATEditor, model, importExport, exampleData) {
|
||||
|
||||
function ImportController($scope) {
|
||||
$scope.sections = model.sections;
|
||||
$scope.content = "";
|
||||
$scope.selectedSection = $scope.selectedSection || model.items;
|
||||
$scope.importType = $scope.importType || 'paste';
|
||||
$scope.availableFiles = exampleData.resources;
|
||||
|
||||
var countBefore = 0;
|
||||
function success() {
|
||||
var section = $scope.selectedSection;
|
||||
var countAfter = section.items.length;
|
||||
$scope.importedMsg = "Imported " + (countAfter - countBefore) + " " + section.name;
|
||||
}
|
||||
function error(msg) {
|
||||
$scope.errorMsg = "Error importing data: " + msg;
|
||||
}
|
||||
$scope.importPastedData = function() {
|
||||
$scope.errorMsg = "";
|
||||
$scope.importedMsg = "";
|
||||
var section = $scope.selectedSection;
|
||||
countBefore = section.items.length;
|
||||
importExport.importText(section, $scope.content, success, error);
|
||||
};
|
||||
$scope.importExistingData = function() {
|
||||
$scope.errorMsg = "";
|
||||
$scope.importedMsg = "";
|
||||
var section = $scope.selectedSection;
|
||||
countBefore = section.items.length;
|
||||
exampleData.loadUrlFromGit("AndorsTrail/res/raw/" + $scope.selectedFile, function(data) {
|
||||
importExport.importDataObjects(section, data, success, error);
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
ATEditor.controllers = ATEditor.controllers || {};
|
||||
ATEditor.controllers.ImportController = ImportController;
|
||||
|
||||
return ATEditor;
|
||||
})(ATEditor, ATEditor.model, ATEditor.importExport, ATEditor.exampleData);
|
||||
@@ -1,85 +0,0 @@
|
||||
var ATEditor = (function(ATEditor, model, importExport, settings, ATModelFunctions) {
|
||||
|
||||
function setCategoryToObject(item, itemCategories) {
|
||||
if (_.isString(item.category)) {
|
||||
item.category = itemCategories.findById(item.category);
|
||||
}
|
||||
}
|
||||
|
||||
function setItemPriceSuggestion(item) {
|
||||
if (item.hasManualPrice == 1) {
|
||||
item.baseMarketCost = ATModelFunctions.itemFunctions.calculateItemCost(item);
|
||||
} else {
|
||||
item.baseMarketCost = 0;
|
||||
}
|
||||
}
|
||||
|
||||
function ItemController($scope, $routeParams) {
|
||||
$scope.obj = model.items.findById($routeParams.id) || {};
|
||||
$scope.itemCategories = model.itemCategories.items;
|
||||
setCategoryToObject($scope.obj, model.itemCategories);
|
||||
|
||||
$scope.$watch('obj.category', function(val) {
|
||||
$scope.isWeapon = ATModelFunctions.itemCategoryFunctions.isWeaponCategory(val);
|
||||
$scope.isUsable = ATModelFunctions.itemCategoryFunctions.isUsableCategory(val);
|
||||
if (!$scope.isUsable) {
|
||||
$scope.obj.hasUseEffect = false;
|
||||
}
|
||||
$scope.isWearable = ATModelFunctions.itemCategoryFunctions.isWearableCategory(val);
|
||||
if (!$scope.isWearable) {
|
||||
$scope.obj.hasEquipEffect = false;
|
||||
$scope.obj.hasHitEffect = false;
|
||||
$scope.obj.hasKillEffect = false;
|
||||
}
|
||||
});
|
||||
|
||||
$scope.updateCost = setItemPriceSuggestion;
|
||||
$scope.getItemCost = ATModelFunctions.itemFunctions.getItemCost;
|
||||
$scope.getItemSellingCost = ATModelFunctions.itemFunctions.getItemSellingCost;
|
||||
$scope.getItemBuyingCost = ATModelFunctions.itemFunctions.getItemBuyingCost;
|
||||
|
||||
|
||||
$scope.addCondition = function(list) {
|
||||
list.push({magnitude:1});
|
||||
};
|
||||
$scope.removeCondition = function(list, cond) {
|
||||
var idx = list.indexOf(cond);
|
||||
list.splice(idx, 1);
|
||||
};
|
||||
|
||||
$scope.previous = ATEditor.navigationFunctions.editByIndexOffset(model.items, $scope.obj, -1);
|
||||
$scope.next = ATEditor.navigationFunctions.editByIndexOffset(model.items, $scope.obj, 1);
|
||||
}
|
||||
|
||||
function ItemTableController($scope, $routeParams) {
|
||||
var section = model.items;
|
||||
$scope.items = section.items;
|
||||
$scope.itemCategories = model.itemCategories.items;
|
||||
_.each($scope.items, function(item) {
|
||||
setCategoryToObject(item, model.itemCategories);
|
||||
});
|
||||
$scope.edit = function(item) {
|
||||
ATEditor.navigationFunctions.editObj(section, item);
|
||||
};
|
||||
$scope.addObj = function() {
|
||||
importExport.prepareObjectsForEditor(section, [ section.addNew() ]);
|
||||
};
|
||||
$scope.updateCost = setItemPriceSuggestion;
|
||||
$scope.getItemCost = ATModelFunctions.itemFunctions.getItemCost;
|
||||
|
||||
if (!settings.itemTableEditorVisibleColumns) {
|
||||
settings.itemTableEditorVisibleColumns = {
|
||||
iconID: true
|
||||
,id: true
|
||||
,cost: true
|
||||
};
|
||||
}
|
||||
$scope.settings = settings.itemTableEditorVisibleColumns;
|
||||
}
|
||||
|
||||
ATEditor.controllers = ATEditor.controllers || {};
|
||||
ATEditor.controllers.ItemController = ItemController;
|
||||
ATEditor.controllers.ItemTableController = ItemTableController;
|
||||
|
||||
return ATEditor;
|
||||
})(ATEditor, ATEditor.model, ATEditor.importExport, ATEditor.settings, ATModelFunctions);
|
||||
@@ -1,12 +0,0 @@
|
||||
var ATEditor = (function(ATEditor, model) {
|
||||
|
||||
function ItemCategoryController($scope, $routeParams) {
|
||||
$scope.datasource = model.itemCategories;
|
||||
$scope.obj = $scope.datasource.findById($routeParams.id);
|
||||
};
|
||||
|
||||
ATEditor.controllers = ATEditor.controllers || {};
|
||||
ATEditor.controllers.ItemCategoryController = ItemCategoryController;
|
||||
|
||||
return ATEditor;
|
||||
})(ATEditor, ATEditor.model);
|
||||
@@ -1,46 +0,0 @@
|
||||
var ATEditor = (function(ATEditor, model, importExport, settings, ATModelFunctions) {
|
||||
|
||||
function MonsterController($scope, $routeParams) {
|
||||
$scope.obj = model.monsters.findById($routeParams.id) || {};
|
||||
$scope.getExperience = function() {
|
||||
return ATModelFunctions.monsterFunctions.getMonsterExperience($scope.obj);
|
||||
};
|
||||
|
||||
$scope.addCondition = function(list) {
|
||||
list.push({magnitude:1, duration:1, chance:100});
|
||||
};
|
||||
$scope.removeCondition = function(list, cond) {
|
||||
var idx = list.indexOf(cond);
|
||||
list.splice(idx, 1);
|
||||
};
|
||||
$scope.previous = ATEditor.navigationFunctions.editByIndexOffset(model.monsters, $scope.obj, -1);
|
||||
$scope.next = ATEditor.navigationFunctions.editByIndexOffset(model.monsters, $scope.obj, 1);
|
||||
}
|
||||
|
||||
function MonsterTableController($scope, $routeParams) {
|
||||
var section = model.monsters;
|
||||
$scope.monsters = section.items;
|
||||
$scope.getExperience = ATModelFunctions.monsterFunctions.getMonsterExperience;
|
||||
$scope.edit = function(monster) {
|
||||
ATEditor.navigationFunctions.editObj(section, monster);
|
||||
};
|
||||
$scope.addObj = function() {
|
||||
importExport.prepareObjectsForEditor(section, [ section.addNew() ]);
|
||||
};
|
||||
|
||||
if (!settings.monsterTableEditorVisibleColumns) {
|
||||
settings.monsterTableEditorVisibleColumns = {
|
||||
iconID: true
|
||||
,id: true
|
||||
,experience: true
|
||||
};
|
||||
}
|
||||
$scope.settings = settings.monsterTableEditorVisibleColumns;
|
||||
}
|
||||
|
||||
ATEditor.controllers = ATEditor.controllers || {};
|
||||
ATEditor.controllers.MonsterController = MonsterController;
|
||||
ATEditor.controllers.MonsterTableController = MonsterTableController;
|
||||
|
||||
return ATEditor;
|
||||
})(ATEditor, ATEditor.model, ATEditor.importExport, ATEditor.settings, ATModelFunctions);
|
||||
@@ -1,76 +0,0 @@
|
||||
var ATEditor = (function(ATEditor, model, importExport, exampleData) {
|
||||
|
||||
function editObjId(section, objId) {
|
||||
window.location = "#/" + section.id + "/edit/" + objId;
|
||||
}
|
||||
function editObj(section, obj) {
|
||||
editObjId(section, obj.id);
|
||||
}
|
||||
|
||||
function editByIndexOffset(section, obj, offset) {
|
||||
return function() {
|
||||
var nextObj = section.findByIndexOffset(obj, offset);
|
||||
if (!nextObj) { return; }
|
||||
editObj(section, nextObj);
|
||||
};
|
||||
}
|
||||
|
||||
function NavigationController($scope, $routeParams, $http) {
|
||||
$scope.sections = model.sections;
|
||||
$scope.previousItems = [];
|
||||
|
||||
$scope.editObj = function(section, obj) {
|
||||
$scope.previousItems = _.reject($scope.previousItems, function(i) {
|
||||
return (i.section === section) && (i.obj === obj);
|
||||
});
|
||||
$scope.previousItems.unshift({section: section, obj: obj});
|
||||
if ($scope.previousItems.length > 5) {
|
||||
$scope.previousItems.pop();
|
||||
}
|
||||
editObj(section, obj);
|
||||
};
|
||||
$scope.addObj = function(section) {
|
||||
var item = section.addNew();
|
||||
importExport.prepareObjectsForEditor(section, [ item ]);
|
||||
$scope.editObj(section, item);
|
||||
};
|
||||
$scope.clear = function(section) {
|
||||
if(!confirm("Are you sure you want to clear all " + section.name + " ?")) return;
|
||||
section.clear();
|
||||
};
|
||||
$scope.getName = function(section, obj) {
|
||||
return section.getName(obj);
|
||||
}
|
||||
$scope.delObj = function(section, obj) {
|
||||
if(!confirm("Are you sure you want to remove " + section.getName(obj) + " ?")) return;
|
||||
this.destroy(function() {
|
||||
section.remove(obj);
|
||||
});
|
||||
};
|
||||
$scope.dupObj = function(section, obj) {
|
||||
var item = section.clone(obj);
|
||||
$scope.editObj(section, item);
|
||||
};
|
||||
$scope.supportsTableEdit = function(section) {
|
||||
if (section.id == ATEditor.model.monsters.id) { return true; }
|
||||
if (section.id == ATEditor.model.items.id) { return true; }
|
||||
return false;
|
||||
};
|
||||
$scope.editAsTable = function(section) {
|
||||
window.location = "#/" + section.id + "/table";
|
||||
};
|
||||
|
||||
|
||||
exampleData.init($http);
|
||||
};
|
||||
|
||||
ATEditor.controllers = ATEditor.controllers || {};
|
||||
ATEditor.controllers.NavigationController = NavigationController;
|
||||
ATEditor.navigationFunctions = {
|
||||
editObj: editObj
|
||||
,editObjId: editObjId
|
||||
,editByIndexOffset: editByIndexOffset
|
||||
};
|
||||
|
||||
return ATEditor;
|
||||
})(ATEditor, ATEditor.model, ATEditor.importExport, ATEditor.exampleData);
|
||||
@@ -1,19 +0,0 @@
|
||||
var ATEditor = (function(ATEditor, model) {
|
||||
|
||||
function QuestController($scope, $routeParams) {
|
||||
$scope.datasource = model.quests;
|
||||
$scope.obj = $scope.datasource.findById($routeParams.id);
|
||||
$scope.addQuestStage = function() {
|
||||
$scope.obj.stages.push({});
|
||||
};
|
||||
$scope.removeQuestStage = function(stage) {
|
||||
var idx = $scope.obj.stages.indexOf(stage);
|
||||
$scope.obj.stages.splice(idx, 1);
|
||||
};
|
||||
};
|
||||
|
||||
ATEditor.controllers = ATEditor.controllers || {};
|
||||
ATEditor.controllers.QuestController = QuestController;
|
||||
|
||||
return ATEditor;
|
||||
})(ATEditor, ATEditor.model);
|
||||
@@ -1,26 +0,0 @@
|
||||
var ATEditor = (function(ATEditor, tilesets) {
|
||||
|
||||
function SelectIconController($scope, $routeParams) {
|
||||
var _callback = function() {};
|
||||
$scope.selectedSection = '';
|
||||
$scope.sections = [];
|
||||
_.each([ 'monster', 'item', 'actorcondition' ], function(id) {
|
||||
$scope.sections.push({id: id, imageIDs: tilesets.getIconIDsForSection(id)});
|
||||
});
|
||||
|
||||
this.startSelecting = function(sectionId, callback) {
|
||||
_callback = callback;
|
||||
$scope.selectedSection = sectionId;
|
||||
$scope.$apply();
|
||||
};
|
||||
|
||||
$scope.imageSelected = function(iconID) {
|
||||
if (_callback) { _callback(iconID); }
|
||||
};
|
||||
};
|
||||
|
||||
ATEditor.controllers = ATEditor.controllers || {};
|
||||
ATEditor.controllers.SelectIconController = SelectIconController;
|
||||
|
||||
return ATEditor;
|
||||
})(ATEditor, ATEditor.tilesets);
|
||||
@@ -1,98 +0,0 @@
|
||||
var ATEditor = (function(ATEditor, _) {
|
||||
|
||||
ATEditor.DataStore = function(options) {
|
||||
var defaultOptions = {
|
||||
nameField: 'name'
|
||||
,idField: 'id'
|
||||
};
|
||||
_.defaults(options, defaultOptions);
|
||||
|
||||
var items = [];
|
||||
this.items = items;
|
||||
|
||||
this.name = options.name;
|
||||
this.id = options.id;
|
||||
|
||||
this.findById = function(id) {
|
||||
return _.find(this.items, function(obj) { return obj[options.idField] === id; });
|
||||
};
|
||||
this.hasObjectWithId = function(id) {
|
||||
return _.some(this.items, function(obj) { return obj[options.idField] === id; });
|
||||
};
|
||||
this.hasIcon = function() { return _.toBool(options.iconIDField); };
|
||||
this.getIcon = function(obj) { return obj[options.iconIDField]; };
|
||||
this.getId = function(obj) { return obj[options.idField]; };
|
||||
this.getName = function(obj) {
|
||||
return obj[options.nameField];
|
||||
};
|
||||
this.addNew = function(suggestedId) {
|
||||
var obj = { };
|
||||
if (!suggestedId) { suggestedId = 'new_' + options.id; }
|
||||
obj[options.idField] = suggestedId;
|
||||
if (options.idField != options.nameField) {
|
||||
obj[options.nameField] = 'New ' + options.id;
|
||||
}
|
||||
this.ensureUniqueId(obj);
|
||||
items.push(obj);
|
||||
return obj;
|
||||
};
|
||||
this.add = function(o) {
|
||||
items.push(o);
|
||||
};
|
||||
this.clone = function(o) {
|
||||
var obj = ATEditor.utils.deepClone(o);
|
||||
this.ensureUniqueId(obj);
|
||||
obj[options.nameField] = 'Copy of ' + obj[options.nameField];
|
||||
items.push(obj);
|
||||
return obj;
|
||||
};
|
||||
this.remove = function(o) {
|
||||
var idx = items.indexOf(o);
|
||||
if (idx >= 0) {
|
||||
items.splice(idx, 1);
|
||||
}
|
||||
};
|
||||
this.clear = function() {
|
||||
items = [];
|
||||
this.items = items;
|
||||
};
|
||||
|
||||
this.findFirstFreeId = function(id) {
|
||||
if(!this.hasObjectWithId(id)) {
|
||||
return id;
|
||||
}
|
||||
|
||||
var prefix;
|
||||
var n = 1;
|
||||
|
||||
var match = (/^(.*\D)(\d+)$/g).exec(id);
|
||||
if (match) {
|
||||
prefix = match[1];
|
||||
n = parseInt(match[2]) + 1;
|
||||
} else {
|
||||
prefix = id + "_";
|
||||
}
|
||||
|
||||
var result = prefix + n;
|
||||
while(this.hasObjectWithId(result)) {
|
||||
n = n + 1;
|
||||
result = prefix + n;
|
||||
}
|
||||
return result;
|
||||
};
|
||||
this.ensureUniqueId = function(obj) {
|
||||
obj[options.idField] = this.findFirstFreeId(obj[options.idField]);
|
||||
};
|
||||
this.findByIndexOffset = function(obj, offset) {
|
||||
if (_.isEmpty(this.items)) { return; }
|
||||
|
||||
var idx = _.indexOf(this.items, obj);
|
||||
idx = idx + offset;
|
||||
if (idx < 0) { idx = this.items.length - 1; }
|
||||
if (idx >= this.items.length) { idx = 0; }
|
||||
return this.items[idx];
|
||||
};
|
||||
};
|
||||
|
||||
return ATEditor;
|
||||
})(ATEditor || {}, _);
|
||||
@@ -1,64 +0,0 @@
|
||||
var ATEditor = (function(ATEditor, _) {
|
||||
|
||||
var defaults = {
|
||||
actorcondition: {
|
||||
isStacking: 0
|
||||
,isPositive: 0
|
||||
,roundEffect: { increaseCurrentHP: {}, increaseCurrentAP: {} }
|
||||
,fullRoundEffect: { increaseCurrentHP: {}, increaseCurrentAP: {} }
|
||||
,abilityEffect: { increaseAttackDamage: {} }
|
||||
}
|
||||
,quest: {
|
||||
showInLog: 0
|
||||
,stages: []
|
||||
}
|
||||
,item: {
|
||||
displaytype: 'ordinary'
|
||||
,hasManualPrice: 0
|
||||
,equipEffect: { increaseAttackDamage: {}, addedConditions: [] }
|
||||
,useEffect: { increaseCurrentHP: {}, increaseCurrentAP: {}, conditionsSource: [], conditionsTarget: [] }
|
||||
,hitEffect: { increaseCurrentHP: {}, increaseCurrentAP: {}, conditionsSource: [], conditionsTarget: [] }
|
||||
,killEffect: { increaseCurrentHP: {}, increaseCurrentAP: {}, conditionsSource: [], conditionsTarget: [] }
|
||||
}
|
||||
,droplist: {
|
||||
items: []
|
||||
}
|
||||
,dialogue: {
|
||||
rewards: []
|
||||
,replies: []
|
||||
}
|
||||
,monster: {
|
||||
size: "1x1"
|
||||
,maxHP: 1
|
||||
,maxAP: 10
|
||||
,moveCost: 10
|
||||
,unique: 0
|
||||
,monsterClass: 'humanoid'
|
||||
,movementAggressionType: 'none'
|
||||
,attackDamage: {}
|
||||
,hitEffect: { increaseCurrentHP: {}, increaseCurrentAP: {}, conditionsSource: [], conditionsTarget: [] }
|
||||
}
|
||||
,itemcategory: {
|
||||
actionType: 'none'
|
||||
,size: 'none'
|
||||
}
|
||||
,reply: {
|
||||
requires: []
|
||||
}
|
||||
};
|
||||
|
||||
ATEditor.defaults = {
|
||||
addDefaults: function(type, o) {
|
||||
var def = defaults[type];
|
||||
if (def) {
|
||||
var copyOfDefaults = ATEditor.utils.deepClone(def);
|
||||
ATEditor.utils.copyDefaults(o, copyOfDefaults);
|
||||
}
|
||||
},
|
||||
removeDefaults: function(type, o) {
|
||||
return ATEditor.utils.removeDefaults(o, defaults[type]);
|
||||
}
|
||||
};
|
||||
|
||||
return ATEditor;
|
||||
})(ATEditor || {}, _);
|
||||
@@ -1,105 +0,0 @@
|
||||
var ATEditor = (function(ATEditor, app, tilesets, $) {
|
||||
|
||||
// Copied from http://jsfiddle.net/p69aT/
|
||||
// -> originally from https://groups.google.com/forum/?fromgroups=#!topic/angular/7XVOebG6z6E
|
||||
app.directive('fadey', function() {
|
||||
return {
|
||||
restrict: 'A',
|
||||
link: function(scope, elm, attrs) {
|
||||
elm = $(elm);
|
||||
elm.hide();
|
||||
elm.fadeIn();
|
||||
|
||||
scope.destroy = function(complete) {
|
||||
elm.slideUp(function() {
|
||||
if (complete) {
|
||||
complete.apply(scope);
|
||||
}
|
||||
});
|
||||
elm.fadeOut();
|
||||
};
|
||||
}
|
||||
};
|
||||
});
|
||||
|
||||
|
||||
// Copied from
|
||||
// http://www.codeproject.com/Articles/464939/Angular-JS-Using-Directives-to-Create-Custom-Attri
|
||||
app.directive('ngDsFade', function () {
|
||||
return function(scope, element, attrs) {
|
||||
element.css('display', 'none');
|
||||
scope.$watch(attrs.ngDsFade, function(value) {
|
||||
if (value) {
|
||||
element.fadeIn(400);
|
||||
} else {
|
||||
element.fadeOut(300);
|
||||
}
|
||||
});
|
||||
};
|
||||
});
|
||||
|
||||
|
||||
app.directive('ngTileImage', function () {
|
||||
return function(scope, element, attrs) {
|
||||
var scale = attrs.ngTileImageScale;
|
||||
if (!scale) scale = 1;
|
||||
|
||||
scope.$watch(attrs.ngTileImage, function(value) {
|
||||
var img = tilesets.parseImageID(value);
|
||||
var tileset = tilesets.getTileset(img.tilesetName);
|
||||
var c = tileset.localIDToCoords(img.localID);
|
||||
element.css({
|
||||
"background-image": "url(" +img.path + img.tilesetName + ".png)",
|
||||
"background-position": (-c.x)*scale+"px " + (-c.y)*scale+"px",
|
||||
"width": tileset._tileSize.x * scale + "px",
|
||||
"height": tileset._tileSize.y * scale + "px",
|
||||
"cursor": "pointer"
|
||||
});
|
||||
if (scale && (scale != 1)) {
|
||||
element.css({
|
||||
"background-size":
|
||||
tileset._tileSize.x * tileset._numTiles.x * scale + "px "
|
||||
+ tileset._tileSize.y * tileset._numTiles.y * scale + "px "
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
});
|
||||
|
||||
app.directive('ngSelectImage', function () {
|
||||
return {
|
||||
link : function(scope, element, attrs) {
|
||||
function openDialog() {
|
||||
var element = angular.element('#selectIconModal');
|
||||
var ctrl = element.controller();
|
||||
ctrl.startSelecting(attrs.ngSelectImage, function(iconID) {
|
||||
element.modal('hide');
|
||||
var s = attrs.ngSelectImageDest || 'iconID';
|
||||
eval("scope." + s + "='" + iconID + "'");
|
||||
});
|
||||
element.modal('show');
|
||||
}
|
||||
element.bind('click', openDialog);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// http://jsfiddle.net/ag5zC/22/
|
||||
app.directive('treenode', function ($compile) {
|
||||
var link;
|
||||
return {
|
||||
restrict: 'E',
|
||||
terminal: true,
|
||||
scope: { node: '=', onclick: '=' },
|
||||
link: function (scope, element, attrs) {
|
||||
if(!link) {
|
||||
link = $compile(element.html());
|
||||
}
|
||||
element.replaceWith(link(scope.$new(), function(clone) { }));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return ATEditor;
|
||||
})(ATEditor, ATEditor.app, ATEditor.tilesets, jQuery);
|
||||
@@ -1,82 +0,0 @@
|
||||
var ATEditor = (function(ATEditor, model, utils, _, $) {
|
||||
|
||||
var http;
|
||||
var resources = {};
|
||||
|
||||
function loadUrlFromGit(relativeUrl, successCallback, errorCallback) {
|
||||
var url = utils.getUrlRelativeToBaseSrcDir(relativeUrl);
|
||||
http.get(url)
|
||||
.success(function(data, status, headers, config) {
|
||||
successCallback(data);
|
||||
}).error(function(data, status, headers, config) {
|
||||
if(errorCallback) { errorCallback(status); }
|
||||
});
|
||||
}
|
||||
|
||||
function addExampleModelItems() {
|
||||
var _import = function(section, data) {
|
||||
ATEditor.importExport.importDataObjects(section, data);
|
||||
};
|
||||
|
||||
_import(model.quests, [
|
||||
{id: "testQuest", name: "Test quest", showInLog: 1, stages: [ { progress: 10, logText: "Stage 10"} , { progress: 20, logText: "Stage 20", finishesQuest: 1 } ] }
|
||||
]);
|
||||
}
|
||||
|
||||
function init($http) {
|
||||
http = $http;
|
||||
|
||||
// http://andors-trail.googlecode.com/git/AndorsTrail/res/values/loadresources.xml
|
||||
loadUrlFromGit("AndorsTrail/res/values/loadresources.xml", function(data) {
|
||||
var parseListOfResourceFiles = function(xmlname, section) {
|
||||
var items = [];
|
||||
resources[section.id] = items;
|
||||
$(data).find("array[name='" + xmlname + "'] item").each(function(idx, f) {
|
||||
var match = (/^@.*\/(.+)$/g).exec($(f).text());
|
||||
if (match) {
|
||||
items.push(match[1] + ".json");
|
||||
}
|
||||
});
|
||||
};
|
||||
parseListOfResourceFiles("loadresource_itemcategories", model.itemCategories);
|
||||
parseListOfResourceFiles("loadresource_actorconditions", model.actorConditions);
|
||||
parseListOfResourceFiles("loadresource_items", model.items);
|
||||
parseListOfResourceFiles("loadresource_droplists", model.droplists);
|
||||
parseListOfResourceFiles("loadresource_quests", model.quests);
|
||||
parseListOfResourceFiles("loadresource_conversationlists", model.dialogue);
|
||||
parseListOfResourceFiles("loadresource_monsters", model.monsters);
|
||||
|
||||
_.each(resources['itemcategory'], function(file) {
|
||||
loadUrlFromGit("AndorsTrail/res/raw/" + file, function(data) {
|
||||
ATEditor.importExport.importDataObjects(model.itemCategories, data);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
loadUrlFromGit("AndorsTrail/res/raw/actorconditions_v069.json", function(data) {
|
||||
ATEditor.importExport.importDataObjects(model.actorConditions, data);
|
||||
});
|
||||
loadUrlFromGit("AndorsTrail/res/raw/conversationlist_mikhail.json", function(data) {
|
||||
ATEditor.importExport.importDataObjects(model.dialogue, data);
|
||||
});
|
||||
loadUrlFromGit("AndorsTrail/res/raw/droplists_crossglen.json", function(data) {
|
||||
ATEditor.importExport.importDataObjects(model.droplists, data);
|
||||
});
|
||||
loadUrlFromGit("AndorsTrail/res/raw/monsterlist_crossglen_animals.json", function(data) {
|
||||
ATEditor.importExport.importDataObjects(model.monsters, data);
|
||||
});
|
||||
loadUrlFromGit("AndorsTrail/res/raw/itemlist_v069_2.json", function(data) {
|
||||
ATEditor.importExport.importDataObjects(model.items, data);
|
||||
});
|
||||
|
||||
addExampleModelItems(model);
|
||||
}
|
||||
|
||||
ATEditor.exampleData = {
|
||||
init: init
|
||||
,resources: resources
|
||||
,loadUrlFromGit: loadUrlFromGit
|
||||
};
|
||||
|
||||
return ATEditor;
|
||||
})(ATEditor, ATEditor.model, ATEditor.utils, _, jQuery);
|
||||
@@ -1,205 +0,0 @@
|
||||
|
||||
var ATEditor = (function(ATEditor) {
|
||||
var FieldList_Header_fieldName = '[^\\[\\]\\|]*';
|
||||
var FieldList_Header_arrayField = FieldList_Header_fieldName + '\\[(' + FieldList_Header_fieldName + '\\|)*\\]';
|
||||
var FieldList_Header_arrayFieldName = new RegExp(FieldList_Header_fieldName);
|
||||
var FieldList_Header_field = '(' + FieldList_Header_fieldName + '|' + FieldList_Header_arrayField + ')\\|';
|
||||
var FieldList_Header_pattern = new RegExp(FieldList_Header_field, 'g');
|
||||
var FieldList_Header_line = "^(\\[(" + FieldList_Header_field + ")*\\];)$";
|
||||
var FieldList_Header_linePattern = new RegExp(FieldList_Header_line, 'm');
|
||||
|
||||
function FieldList(header, name) {
|
||||
this._name = name ? name : "";
|
||||
this._fields = [];
|
||||
|
||||
var match = header.match(FieldList_Header_pattern);
|
||||
if (!match) return;
|
||||
|
||||
for (var i = 0; i < match.length; ++i) {
|
||||
var s = match[i].match(FieldList_Header_field)[1]; // Strip trailing pipe
|
||||
|
||||
var f = s;
|
||||
if (s.match(FieldList_Header_arrayField)) {
|
||||
var name = s.match(FieldList_Header_arrayFieldName)[0];
|
||||
f = new FieldList(s, name);
|
||||
}
|
||||
this._fields[i] = f;
|
||||
}
|
||||
|
||||
this.getFieldName = function(i) {
|
||||
var f = this._fields[i];
|
||||
if (f instanceof FieldList) {
|
||||
return f._name;
|
||||
} else {
|
||||
return f;
|
||||
}
|
||||
}
|
||||
|
||||
this.getHeader = function() {
|
||||
var result = this._name + "[";
|
||||
for(var i = 0; i < this._fields.length; ++i) {
|
||||
var f = this._fields[i];
|
||||
if (f instanceof FieldList) {
|
||||
result += f.getHeader();
|
||||
} else {
|
||||
result += f;
|
||||
}
|
||||
result += "|";
|
||||
}
|
||||
result += "]";
|
||||
return result;
|
||||
}
|
||||
|
||||
this.getHeaderLine = function() {
|
||||
return this.getHeader() + ";";
|
||||
}
|
||||
};
|
||||
|
||||
function findHeader(str) {
|
||||
var match = str.match(FieldList_Header_linePattern);
|
||||
if (!match) return;
|
||||
return new FieldList(match[0]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
var DataStore_Data_fieldValue = '[^\\{\\}\\|]*';
|
||||
var DataStore_Data_arrayObject = '\\{(' + DataStore_Data_fieldValue + '\\|)*\\}\\s*';
|
||||
var DataStore_Data_arrayObjectPattern = new RegExp(DataStore_Data_arrayObject, 'g');
|
||||
var DataStore_Data_arrayField = '\\{\\s*(' + DataStore_Data_arrayObject + ')*\\s*\\}';
|
||||
var DataStore_Data_field = '(' + DataStore_Data_fieldValue + '|' + DataStore_Data_arrayField + ')\\|';
|
||||
var DataStore_Data_pattern = new RegExp(DataStore_Data_field, 'gm');
|
||||
var DataStore_Data_line = "^(\\{(" + DataStore_Data_field + ")*\\};)$";
|
||||
var DataStore_Data_linePattern = new RegExp(DataStore_Data_line, 'gm');
|
||||
|
||||
var showErrorMessages = true;
|
||||
|
||||
var specialEncodings = [
|
||||
{
|
||||
decoded: "'", decoded_Regex: /'/gm,
|
||||
encoded: "\\'", encoded_Regex: /\\'/gm
|
||||
},
|
||||
{
|
||||
decoded: "\n", decoded_Regex: /\n/gm,
|
||||
encoded: "\\n", encoded_Regex: /\\n/gm
|
||||
}
|
||||
];
|
||||
|
||||
var deserialize = function(str) {
|
||||
var header = findHeader(str);
|
||||
if (!header) {
|
||||
return;
|
||||
}
|
||||
return {
|
||||
header: header
|
||||
,items: deserializeObjectList(header, str)
|
||||
};
|
||||
}
|
||||
var serialize = function(dataStore) {
|
||||
return serializeObjectList(dataStore.fieldList, dataStore.items);
|
||||
}
|
||||
|
||||
|
||||
function deserializeObject(fieldList, data) {
|
||||
var match = data.match(DataStore_Data_pattern);
|
||||
if (!match) return;
|
||||
|
||||
if (match.length != fieldList._fields.length) {
|
||||
if (showErrorMessages) {
|
||||
alert("Error parsing data object. Expected " + fieldList._fields.length + " fields, but found " + match.length + " fields.\ndata = \"" + data + "\"");
|
||||
showErrorMessages = false;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
var obj = {};
|
||||
for (var i = 0; i < fieldList._fields.length; ++i) {
|
||||
var s = match[i].match(DataStore_Data_field)[1]; // Strip trailing pipe
|
||||
|
||||
var f = fieldList._fields[i];
|
||||
var v = s;
|
||||
var fieldName = fieldList.getFieldName(i);
|
||||
if (f instanceof FieldList) {
|
||||
fieldName = f._name;
|
||||
v = [];
|
||||
var objects = s.match(DataStore_Data_arrayObjectPattern);
|
||||
if (objects) {
|
||||
for (var j = 0; j < objects.length; ++j) {
|
||||
v[j] = deserializeObject(f, objects[j]);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for(var j = 0; j < specialEncodings.length; ++j) {
|
||||
var e = specialEncodings[j];
|
||||
v = v.replace(e.encoded_Regex, e.decoded);
|
||||
}
|
||||
}
|
||||
obj[fieldName] = v;
|
||||
}
|
||||
return obj;
|
||||
}
|
||||
|
||||
function deserializeObjectList(fieldList, data) {
|
||||
var result = [];
|
||||
if(!data) return result;
|
||||
var match = data.match(DataStore_Data_linePattern);
|
||||
if(!match) return result;
|
||||
for(var i = 0; i < match.length; ++i) {
|
||||
result[i] = deserializeObject(fieldList, match[i]);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
function serializeObject(fieldList, obj) {
|
||||
if (!obj) return "";
|
||||
var result = "{";
|
||||
|
||||
for(var i = 0; i < fieldList._fields.length; ++i) {
|
||||
var fieldName = fieldList.getFieldName(i);
|
||||
var f = fieldList._fields[i];
|
||||
var v = obj[fieldName];
|
||||
if (f instanceof FieldList) {
|
||||
if (v && v.length > 0) {
|
||||
result += "{";
|
||||
if (v.length > 1) { result += "\n"; }
|
||||
for(var j = 0; j < v.length; ++j) {
|
||||
if (v.length > 1) { result += "\t"; }
|
||||
result += serializeObject(f, v[j]);
|
||||
if (v.length > 1) { result += "\n"; }
|
||||
}
|
||||
if (v.length > 1) { result += "\t"; }
|
||||
result += "}";
|
||||
}
|
||||
} else if (v != undefined) {
|
||||
v = "" + v;
|
||||
for(var j = 0; j < specialEncodings.length; ++j) {
|
||||
var e = specialEncodings[j];
|
||||
v = v.replace(e.decoded_Regex, e.encoded);
|
||||
}
|
||||
result += v;
|
||||
}
|
||||
result += "|";
|
||||
}
|
||||
result += "}";
|
||||
return result;
|
||||
}
|
||||
|
||||
function serializeObjectList(fieldList, obj) {
|
||||
var result = fieldList.getHeader() + ";\n";
|
||||
if(!obj) return result;
|
||||
|
||||
for(var i = 0; i < obj.length; ++i) {
|
||||
result += serializeObject(fieldList, obj[i]) + ";\n";
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
ATEditor.FieldList = FieldList;
|
||||
|
||||
ATEditor.legacy = ATEditor.legacy || {};
|
||||
ATEditor.legacy.deserialize = deserialize;
|
||||
ATEditor.legacy.serialize = serialize;
|
||||
ATEditor.legacy.findHeader = findHeader;
|
||||
|
||||
return ATEditor;
|
||||
})(ATEditor || {});
|
||||
@@ -1,196 +0,0 @@
|
||||
var ATEditor = (function(ATEditor, _) {
|
||||
|
||||
var prep = {};
|
||||
prep.actorcondition = function(o) {
|
||||
o.hasRoundEffect = ATEditor.utils.hasValues(_.omit(o.roundEffect, 'visualEffectID'));
|
||||
o.hasFullRoundEffect = ATEditor.utils.hasValues(_.omit(o.fullRoundEffect, 'visualEffectID'));
|
||||
o.hasAbilityEffect = ATEditor.utils.hasValues(o.abilityEffect);
|
||||
};
|
||||
prep.quest = function(o) {
|
||||
};
|
||||
prep.item = function(o) {
|
||||
o.hasEquipEffect = ATEditor.utils.hasValues(o.equipEffect);
|
||||
o.hasUseEffect = ATEditor.utils.hasValues(o.useEffect);
|
||||
o.hasHitEffect = ATEditor.utils.hasValues(o.hitEffect);
|
||||
o.hasKillEffect = ATEditor.utils.hasValues(o.killEffect);
|
||||
};
|
||||
prep.droplist = function(o) {
|
||||
};
|
||||
prep.dialogue = function(o) {
|
||||
o.hasRewards = ATEditor.utils.hasValues(o.rewards);
|
||||
if (o.replies.length === 1 && o.replies[0].text === "N") {
|
||||
o.nextPhraseID = o.replies[0].nextPhraseID;
|
||||
o.hasOnlyNextReply = true;
|
||||
} else {
|
||||
o.nextPhraseID = "";
|
||||
o.hasOnlyNextReply = false;
|
||||
}
|
||||
_.each(o.replies, function(reply) {
|
||||
ATEditor.defaults.addDefaults('reply', reply);
|
||||
if (reply.nextPhraseID && reply.nextPhraseID.length === 1) { reply.replyLeadsTo = reply.nextPhraseID; }
|
||||
reply.hasRequirements = ATEditor.utils.hasValues(reply.requires);
|
||||
});
|
||||
o.showAdvanced = _.toBool(o.switchToNPC);
|
||||
};
|
||||
prep.monster = function(o) {
|
||||
o.hasConversation = _.toBool(o.phraseID);
|
||||
o.hasHitEffect = _.toBool(o.hitEffect.increaseCurrentHP.min || o.hitEffect.increaseCurrentAP.min || _.some(o.hitEffect.conditionsSource) || _.some(o.hitEffect.conditionsTarget));
|
||||
o.hasCritical = _.toBool(o.criticalSkill || o.criticalMultiplier);
|
||||
o.hasCombatTraits = _.toBool(o.attackChance || o.attackDamage.min || o.hasCritical || o.blockChance || o.damageResistance || o.hasHitEffect);
|
||||
o.showAdvanced = _.toBool(o.faction || (o.size != '1x1'));
|
||||
};
|
||||
prep.itemcategory = function(o) {
|
||||
};
|
||||
|
||||
function prepareObjectsForEditor(section, objs) {
|
||||
var p = prep[section.id];
|
||||
_.each(objs, function(o) {
|
||||
ATEditor.defaults.addDefaults(section.id, o);
|
||||
if (p) { p(o); }
|
||||
ATEditor.utils.convertIntegersToStrings(o);
|
||||
});
|
||||
}
|
||||
|
||||
var unprep = {};
|
||||
unprep.actorcondition = function(o) {
|
||||
if (!o.hasRoundEffect) { delete o.roundEffect; }
|
||||
if (!o.hasFullRoundEffect) { delete o.fullRoundEffect; }
|
||||
if (!o.hasAbilityEffect) { delete o.abilityEffect; }
|
||||
delete o.hasRoundEffect;
|
||||
delete o.hasFullRoundEffect;
|
||||
delete o.hasAbilityEffect;
|
||||
};
|
||||
unprep.quest = function(o) {
|
||||
};
|
||||
unprep.item = function(o) {
|
||||
if (!o.hasEquipAPEffect) {
|
||||
var e = o.equipEffect;
|
||||
delete e.increaseMaxAP;
|
||||
delete e.increaseMoveCost;
|
||||
delete e.increaseUseItemCost;
|
||||
delete e.increaseReequipCost;
|
||||
}
|
||||
delete o.hasEquipAPEffect;
|
||||
if (!o.hasEquipEffect) { delete o.equipEffect; }
|
||||
if (_.isObject(o.category)) { o.category = o.category.id; }
|
||||
if (!o.hasUseEffect) { delete o.useEffect; }
|
||||
if (!o.hasHitEffect) { delete o.hitEffect; }
|
||||
if (!o.hasKillEffect) { delete o.killEffect; }
|
||||
delete o.hasEquipEffect;
|
||||
delete o.hasUseEffect;
|
||||
delete o.hasHitEffect;
|
||||
delete o.hasKillEffect;
|
||||
};
|
||||
unprep.droplist = function(o) {
|
||||
};
|
||||
unprep.dialogue = function(o) {
|
||||
if (!o.hasRewards) { delete o.rewards; }
|
||||
delete o.hasRewards;
|
||||
_.each(o.replies, function(reply) {
|
||||
if (reply.replyLeadsTo) { reply.nextPhraseID = reply.replyLeadsTo; }
|
||||
delete reply.replyLeadsTo;
|
||||
if (!o.hasRequirements) { delete o.requires; }
|
||||
delete reply.hasRequirements;
|
||||
});
|
||||
if (o.hasOnlyNextReply) {
|
||||
o.replies = [ { text: "N", nextPhraseID: o.nextPhraseID } ];
|
||||
}
|
||||
if (!o.showAdvanced) {
|
||||
delete o.switchToNPC;
|
||||
}
|
||||
delete o.showAdvanced;
|
||||
delete o.nextPhraseID;
|
||||
delete o.hasOnlyNextReply;
|
||||
delete o.tree;
|
||||
};
|
||||
unprep.monster = function(o) {
|
||||
if (!o.hasCritical) {
|
||||
delete o.criticalSkill;
|
||||
delete o.criticalMultiplier;
|
||||
}
|
||||
if (!o.showAdvanced) {
|
||||
delete o.faction;
|
||||
delete o.size;
|
||||
}
|
||||
delete o.showAdvanced;
|
||||
delete o.hasCritical;
|
||||
delete o.hasConversation;
|
||||
delete o.hasCombatTraits;
|
||||
delete o.hasHitEffect;
|
||||
};
|
||||
unprep.itemcategory = function(o) {
|
||||
};
|
||||
|
||||
function prepareObjectsForExport(section, objs) {
|
||||
var p = unprep[section.id];
|
||||
return _.map(objs, function(o) {
|
||||
o = ATEditor.utils.deepClone(o);
|
||||
ATEditor.utils.removeAngularFields(o);
|
||||
if (p) { p(o); }
|
||||
ATEditor.utils.convertStringsToIntegers(o);
|
||||
ATEditor.defaults.removeDefaults(section.id, o);
|
||||
ATEditor.utils.compact(o);
|
||||
return o;
|
||||
});
|
||||
}
|
||||
|
||||
function importDataObjects(section, data, success, error) {
|
||||
if (!data || _.isEmpty(data)) {
|
||||
if (error) { error("No data?"); }
|
||||
return;
|
||||
}
|
||||
|
||||
var first = data;
|
||||
if (_.isArray(data)) {
|
||||
first = _.first(data);
|
||||
} else if (_.isObject(data)) {
|
||||
data = [ data ];
|
||||
} else {
|
||||
if (error) { error("Malformed data? Expected array or object."); }
|
||||
return;
|
||||
}
|
||||
|
||||
if (!section.getId(first)) {
|
||||
if (error) { error("Malformed data? Expected to find at least an id field, but no such field was found."); }
|
||||
return;
|
||||
}
|
||||
|
||||
prepareObjectsForEditor(section, data);
|
||||
|
||||
_.each(data, section.add);
|
||||
if (success) { success(); }
|
||||
};
|
||||
|
||||
function importText(section, content, success, error) {
|
||||
var data = ATEditor.legacy.deserialize(content);
|
||||
if (data) {
|
||||
data = data.items;
|
||||
var convert = ATEditor.legacy.convertFromLegacyFormat[section.id];
|
||||
if (convert) {
|
||||
data = _.map(data, convert);
|
||||
}
|
||||
} else {
|
||||
try {
|
||||
data = JSON.parse(content);
|
||||
} catch(e) {
|
||||
if (error) { error("Unable to parse data as JSON."); }
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
importDataObjects(section, data, success, error);
|
||||
};
|
||||
function exportData(section) {
|
||||
var objs = section.items;
|
||||
var resultObjs = prepareObjectsForExport(section, objs);
|
||||
return JSON.stringify(resultObjs, undefined, 2);
|
||||
};
|
||||
|
||||
ATEditor.importExport = {
|
||||
importText: importText
|
||||
,importDataObjects: importDataObjects
|
||||
,exportData: exportData
|
||||
,prepareObjectsForEditor: prepareObjectsForEditor
|
||||
};
|
||||
return ATEditor;
|
||||
})(ATEditor || {}, _);
|
||||
@@ -1,341 +0,0 @@
|
||||
var ATEditor = (function(ATEditor, model, FieldList, _) {
|
||||
|
||||
function addLegacyFieldLists(model) {
|
||||
model.actorConditions.legacyFieldList = new FieldList("[id|name|iconID|category|isStacking|isPositive|"
|
||||
+ "hasRoundEffect|round_visualEffectID|round_boostHP_Min|round_boostHP_Max|round_boostAP_Min|round_boostAP_Max|"
|
||||
+ "hasFullRoundEffect|fullround_visualEffectID|fullround_boostHP_Min|fullround_boostHP_Max|fullround_boostAP_Min|fullround_boostAP_Max|"
|
||||
+ "hasAbilityEffect|boostMaxHP|boostMaxAP|moveCostPenalty|attackCost|attackChance|criticalChance|criticalMultiplier|attackDamage_Min|attackDamage_Max|blockChance|damageResistance|"
|
||||
+ "];"
|
||||
);
|
||||
model.quests.legacyFieldList = new FieldList("[id|name|showInLog|stages[progress|logText|rewardExperience|finishesQuest|]|];");
|
||||
model.items.legacyFieldList = new FieldList("[id|iconID|name|category|displaytype|hasManualPrice|baseMarketCost|"
|
||||
+ "hasEquipEffect|equip_boostMaxHP|equip_boostMaxAP|equip_moveCostPenalty|equip_attackCost|equip_attackChance|equip_criticalChance|equip_criticalMultiplier|equip_attackDamage_Min|equip_attackDamage_Max|equip_blockChance|equip_damageResistance|equip_conditions[condition|magnitude|]|"
|
||||
+ "hasUseEffect|use_boostHP_Min|use_boostHP_Max|use_boostAP_Min|use_boostAP_Max|use_conditionsSource[condition|magnitude|duration|chance|]|"
|
||||
+ "hasHitEffect|hit_boostHP_Min|hit_boostHP_Max|hit_boostAP_Min|hit_boostAP_Max|hit_conditionsSource[condition|magnitude|duration|chance|]|hit_conditionsTarget[condition|magnitude|duration|chance|]|"
|
||||
+ "hasKillEffect|kill_boostHP_Min|kill_boostHP_Max|kill_boostAP_Min|kill_boostAP_Max|kill_conditionsSource[condition|magnitude|duration|chance|]|"
|
||||
+ "];"
|
||||
);
|
||||
model.droplists.legacyFieldList = new FieldList("[id|items[itemID|quantity_Min|quantity_Max|chance|]|];");
|
||||
model.dialogue.legacyFieldList = new FieldList("[id|message|rewards[rewardType|rewardID|value|]|replies[text|nextPhraseID|requires_Progress|requires_itemID|requires_Quantity|requires_Type|]|];");
|
||||
model.monsters.legacyFieldList = new FieldList("[id|iconID|name|tags|size|monsterClass|unique|faction|maxHP|maxAP|moveCost|attackCost|attackChance|criticalChance|criticalMultiplier|attackDamage_Min|attackDamage_Max|blockChance|damageResistance|droplistID|phraseID|"
|
||||
+ "hasHitEffect|onHit_boostHP_Min|onHit_boostHP_Max|onHit_boostAP_Min|onHit_boostAP_Max|onHit_conditionsSource[condition|magnitude|duration|chance|]|onHit_conditionsTarget[condition|magnitude|duration|chance|]|"
|
||||
+ "];"
|
||||
);
|
||||
model.itemCategories.legacyFieldList = new FieldList("[id|name|actionType|inventorySlot|size|];");
|
||||
}
|
||||
addLegacyFieldLists(model);
|
||||
|
||||
ATEditor.legacy = ATEditor.legacy || {};
|
||||
ATEditor.legacy.convertFromLegacyFormat = {
|
||||
monster: convertMonster
|
||||
,quest: convertQuest
|
||||
,itemcategory: convertItemCategory
|
||||
,item: convertItem
|
||||
,droplist: convertDroplist
|
||||
,dialogue: convertConversation
|
||||
,actorcondition: convertCondition
|
||||
};
|
||||
|
||||
function convertMonster(obj) {
|
||||
// [id|iconID|name|tags|size|monsterClass|unique|faction|maxHP|maxAP|moveCost|attackCost|attackChance|criticalChance|criticalMultiplier|attackDamage_Min|attackDamage_Max|blockChance|
|
||||
// damageResistance|droplistID|phraseID|
|
||||
// hasHitEffect|onHit_boostHP_Min|onHit_boostHP_Max|onHit_boostAP_Min|onHit_boostAP_Max|onHit_conditionsSource[condition|magnitude|duration|chance|]|onHit_conditionsTarget[condition|magnitude|duration|chance|]|];
|
||||
|
||||
var result = {
|
||||
id: obj.id,
|
||||
iconID: obj.iconID,
|
||||
name: obj.name,
|
||||
spawnGroup: obj.tags,
|
||||
size: obj.size,
|
||||
monsterClass: obj.monsterClass,
|
||||
unique: obj.unique,
|
||||
faction: obj.faction,
|
||||
maxHP: obj.maxHP,
|
||||
maxAP: obj.maxAP,
|
||||
moveCost: obj.moveCost,
|
||||
attackCost: obj.attackCost,
|
||||
attackChance: obj.attackChance,
|
||||
criticalSkill: obj.criticalChance,
|
||||
criticalMultiplier: obj.criticalMultiplier,
|
||||
blockChance: obj.blockChance,
|
||||
damageResistance: obj.damageResistance,
|
||||
droplistID: obj.droplistID,
|
||||
phraseID: obj.phraseID
|
||||
};
|
||||
|
||||
if (obj.attackDamage_Min || obj.attackDamage_Max) {
|
||||
result.attackDamage = {
|
||||
min: (obj.attackDamage_Min || 0),
|
||||
max: (obj.attackDamage_Max || 0)
|
||||
};
|
||||
}
|
||||
|
||||
if (obj.hasHitEffect) {
|
||||
result.hitEffect = {};
|
||||
var e = result.hitEffect;
|
||||
if (obj.onHit_boostHP_Min || obj.onHit_boostHP_Max) {
|
||||
e.increaseCurrentHP = {
|
||||
min: (obj.onHit_boostHP_Min || 0),
|
||||
max: (obj.onHit_boostHP_Max || 0)
|
||||
};
|
||||
}
|
||||
if (obj.onHit_boostAP_Min || obj.onHit_boostAP_Max) {
|
||||
e.increaseCurrentAP = {
|
||||
min: (obj.onHit_boostAP_Min || 0),
|
||||
max: (obj.onHit_boostAP_Max || 0)
|
||||
};
|
||||
}
|
||||
if (obj.onHit_conditionsSource) { e.conditionsSource = obj.onHit_conditionsSource; }
|
||||
if (obj.onHit_conditionsTarget) { e.conditionsTarget = obj.onHit_conditionsTarget; }
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
function convertQuest(obj) {
|
||||
// [id|name|showInLog|stages[progress|logText|rewardExperience|finishesQuest|]|];
|
||||
return obj;
|
||||
}
|
||||
|
||||
function convertItemCategory(obj) {
|
||||
// [id|name|actionType|inventorySlot|size|];
|
||||
return obj;
|
||||
}
|
||||
|
||||
function convertItem(obj) {
|
||||
//[id|iconID|name|category|displaytype|hasManualPrice|baseMarketCost|
|
||||
// hasEquipEffect|equip_boostMaxHP|equip_boostMaxAP|equip_moveCostPenalty|
|
||||
// equip_attackCost|equip_attackChance|equip_criticalChance|equip_criticalMultiplier|equip_attackDamage_Min|equip_attackDamage_Max|equip_blockChance|equip_damageResistance|
|
||||
// equip_conditions[condition|magnitude|]|
|
||||
// hasUseEffect|use_boostHP_Min|use_boostHP_Max|use_boostAP_Min|use_boostAP_Max|use_conditionsSource[condition|magnitude|duration|chance|]|
|
||||
// hasHitEffect|hit_boostHP_Min|hit_boostHP_Max|hit_boostAP_Min|hit_boostAP_Max|hit_conditionsSource[condition|magnitude|duration|chance|]|hit_conditionsTarget[condition|magnitude|duration|chance|]|
|
||||
// hasKillEffect|kill_boostHP_Min|kill_boostHP_Max|kill_boostAP_Min|kill_boostAP_Max|kill_conditionsSource[condition|magnitude|duration|chance|]|];
|
||||
|
||||
var result = {
|
||||
id: obj.id,
|
||||
iconID: obj.iconID,
|
||||
name: obj.name,
|
||||
category: obj.category,
|
||||
displaytype: obj.displaytype,
|
||||
hasManualPrice: obj.hasManualPrice,
|
||||
baseMarketCost: obj.baseMarketCost
|
||||
};
|
||||
|
||||
if (obj.hasEquipEffect) {
|
||||
result.equipEffect = {};
|
||||
var e = result.equipEffect;
|
||||
if (obj.equip_boostMaxHP) { e.increaseMaxHP = obj.equip_boostMaxHP; }
|
||||
if (obj.equip_boostMaxAP) { e.increaseMaxAP = obj.equip_boostMaxAP; }
|
||||
if (obj.equip_moveCostPenalty) { e.increaseMoveCost = obj.equip_moveCostPenalty; }
|
||||
if (obj.equip_attackCost) { e.increaseAttackCost = obj.equip_attackCost; }
|
||||
if (obj.equip_attackChance) { e.increaseAttackChance = obj.equip_attackChance; }
|
||||
if (obj.equip_criticalChance) { e.increaseCriticalSkill = obj.equip_criticalChance; }
|
||||
if (obj.equip_criticalMultiplier) { e.setCriticalMultiplier = obj.equip_criticalMultiplier; }
|
||||
if (obj.equip_attackDamage_Min || obj.equip_attackDamage_Max) {
|
||||
e.increaseAttackDamage = {
|
||||
min: (obj.equip_attackDamage_Min || 0),
|
||||
max: (obj.equip_attackDamage_Max || 0)
|
||||
};
|
||||
}
|
||||
if (obj.equip_blockChance) { e.increaseBlockChance = obj.equip_blockChance; }
|
||||
if (obj.equip_damageResistance) { e.increaseDamageResistance = obj.equip_damageResistance; }
|
||||
}
|
||||
|
||||
if (obj.equip_conditions) {
|
||||
result.equipEffect = result.equipEffect || {};
|
||||
result.equipEffect.addedConditions = obj.equip_conditions;
|
||||
}
|
||||
|
||||
if (obj.hasUseEffect) {
|
||||
result.useEffect = {};
|
||||
var e = result.useEffect;
|
||||
if (obj.use_boostHP_Min || obj.use_boostHP_Max) {
|
||||
e.increaseCurrentHP = {
|
||||
min: (obj.use_boostHP_Min || 0),
|
||||
max: (obj.use_boostHP_Max || 0)
|
||||
};
|
||||
}
|
||||
if (obj.use_boostAP_Min || obj.use_boostAP_Max) {
|
||||
e.increaseCurrentAP = {
|
||||
min: (obj.use_boostAP_Min || 0),
|
||||
max: (obj.use_boostAP_Max || 0)
|
||||
};
|
||||
}
|
||||
if (obj.use_conditionsSource) { e.conditionsSource = obj.use_conditionsSource; }
|
||||
}
|
||||
|
||||
if (obj.hasHitEffect) {
|
||||
result.hitEffect = {};
|
||||
var e = result.hitEffect;
|
||||
if (obj.hit_boostHP_Min || obj.hit_boostHP_Max) {
|
||||
e.increaseCurrentHP = {
|
||||
min: (obj.hit_boostHP_Min || 0),
|
||||
max: (obj.hit_boostHP_Max || 0)
|
||||
};
|
||||
}
|
||||
if (obj.hit_boostAP_Min || obj.hit_boostAP_Max) {
|
||||
e.increaseCurrentAP = {
|
||||
min: (obj.hit_boostAP_Min || 0),
|
||||
max: (obj.hit_boostAP_Max || 0)
|
||||
};
|
||||
}
|
||||
if (obj.hit_conditionsSource) { e.conditionsSource = obj.hit_conditionsSource; }
|
||||
if (obj.hit_conditionsTarget) { e.conditionsTarget = obj.hit_conditionsTarget; }
|
||||
}
|
||||
|
||||
if (obj.hasKillEffect) {
|
||||
result.killEffect = {};
|
||||
var e = result.killEffect;
|
||||
if (obj.kill_boostHP_Min || obj.kill_boostHP_Max) {
|
||||
e.increaseCurrentHP = {
|
||||
min: (obj.kill_boostHP_Min || 0),
|
||||
max: (obj.kill_boostHP_Max || 0)
|
||||
};
|
||||
}
|
||||
if (obj.kill_boostAP_Min || obj.kill_boostAP_Max) {
|
||||
e.increaseCurrentAP = {
|
||||
min: (obj.kill_boostAP_Min || 0),
|
||||
max: (obj.kill_boostAP_Max || 0)
|
||||
};
|
||||
}
|
||||
if (obj.kill_conditionsSource) { e.conditionsSource = obj.kill_conditionsSource; }
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
function convertDroplist(obj) {
|
||||
// [id|items[itemID|quantity_Min|quantity_Max|chance|]|];
|
||||
var result = {
|
||||
id: obj.id,
|
||||
items: _.map(obj.items, function(obj) {
|
||||
return {
|
||||
itemID: obj.itemID,
|
||||
quantity: {
|
||||
min: (obj.quantity_Min || 0),
|
||||
max: (obj.quantity_Max || 0)
|
||||
},
|
||||
chance: obj.chance
|
||||
};
|
||||
})
|
||||
};
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
function convertConversation(obj) {
|
||||
// [id|message|rewards[rewardType|rewardID|value|]|replies[text|nextPhraseID|requires_Progress|requires_itemID|requires_Quantity|requires_Type|]|];
|
||||
|
||||
var result = {
|
||||
id: obj.id,
|
||||
message: obj.message,
|
||||
rewards: obj.rewards
|
||||
};
|
||||
if (obj.replies) {
|
||||
result.replies = _.map(obj.replies, function(obj) {
|
||||
var result = {
|
||||
text: obj.text,
|
||||
nextPhraseID: obj.nextPhraseID
|
||||
};
|
||||
|
||||
if (obj.requires_Progress) {
|
||||
result.requires = [];
|
||||
result.requires.push({
|
||||
requireType: 'questProgress',
|
||||
requireID: obj.requires_Progress
|
||||
});
|
||||
}
|
||||
if (obj.requires_itemID) {
|
||||
result.requires = result.requires || [];
|
||||
result.requires.push({
|
||||
requireType: 1 + obj.requires_Type,
|
||||
requireID: obj.requires_itemID,
|
||||
value: obj.requires_Quantity
|
||||
});
|
||||
}
|
||||
|
||||
return result;
|
||||
});
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
function convertCondition(obj) {
|
||||
// [id|name|iconID|category|isStacking|isPositive|
|
||||
// hasRoundEffect|round_visualEffectID|round_boostHP_Min|round_boostHP_Max|round_boostAP_Min|round_boostAP_Max|
|
||||
// hasFullRoundEffect|fullround_visualEffectID|fullround_boostHP_Min|fullround_boostHP_Max|fullround_boostAP_Min|fullround_boostAP_Max|
|
||||
// hasAbilityEffect|boostMaxHP|boostMaxAP|moveCostPenalty|attackCost|attackChance|criticalChance|criticalMultiplier|attackDamage_Min|attackDamage_Max|blockChance|damageResistance|];
|
||||
|
||||
var result = {
|
||||
id: obj.id,
|
||||
iconID: obj.iconID,
|
||||
name: obj.name,
|
||||
category: obj.category,
|
||||
isStacking: obj.isStacking,
|
||||
isPositive: obj.isPositive
|
||||
};
|
||||
|
||||
if (obj.hasRoundEffect) {
|
||||
result.roundEffect = {};
|
||||
var e = result.roundEffect;
|
||||
if (obj.round_visualEffectID || obj.round_visualEffectID === 0) { e.visualEffectID = obj.round_visualEffectID; }
|
||||
if (obj.round_boostHP_Min || obj.round_boostHP_Max) {
|
||||
e.increaseCurrentHP = {
|
||||
min: (obj.round_boostHP_Min || 0),
|
||||
max: (obj.round_boostHP_Max || 0)
|
||||
};
|
||||
}
|
||||
if (obj.round_boostAP_Min || obj.round_boostAP_Max) {
|
||||
e.increaseCurrentAP = {
|
||||
min: (obj.round_boostAP_Min || 0),
|
||||
max: (obj.round_boostAP_Max || 0)
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
if (obj.hasFullRoundEffect) {
|
||||
result.fullRoundEffect = {};
|
||||
var e = result.fullRoundEffect;
|
||||
if (obj.fullround_visualEffectID || obj.fullround_visualEffectID === 0) { e.visualEffectID = obj.fullround_visualEffectID; }
|
||||
if (obj.fullround_boostHP_Min || obj.fullround_boostHP_Max) {
|
||||
e.increaseCurrentHP = {
|
||||
min: (obj.fullround_boostHP_Min || 0),
|
||||
max: (obj.fullround_boostHP_Max || 0)
|
||||
};
|
||||
}
|
||||
if (obj.fullround_boostAP_Min || obj.fullround_boostAP_Max) {
|
||||
e.increaseCurrentAP = {
|
||||
min: (obj.fullround_boostAP_Min || 0),
|
||||
max: (obj.fullround_boostAP_Max || 0)
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
if (obj.hasAbilityEffect) {
|
||||
result.abilityEffect = {};
|
||||
var e = result.abilityEffect;
|
||||
if (obj.boostMaxHP) { e.increaseMaxHP = obj.boostMaxHP; }
|
||||
if (obj.boostMaxAP) { e.increaseMaxAP = obj.boostMaxAP; }
|
||||
if (obj.moveCostPenalty) { e.increaseMoveCost = obj.moveCostPenalty; }
|
||||
if (obj.attackCost) { e.increaseAttackCost = obj.attackCost; }
|
||||
if (obj.attackChance) { e.increaseAttackChance = obj.attackChance; }
|
||||
if (obj.criticalChance) { e.increaseCriticalSkill = obj.criticalChance; }
|
||||
if (obj.criticalMultiplier) { e.setCriticalMultiplier = obj.criticalMultiplier; }
|
||||
if (obj.attackDamage_Min || obj.attackDamage_Max) {
|
||||
e.increaseAttackDamage = {
|
||||
min: (obj.attackDamage_Min || 0),
|
||||
max: (obj.attackDamage_Max || 0)
|
||||
};
|
||||
}
|
||||
if (obj.blockChance) { e.increaseBlockChance = obj.blockChance; }
|
||||
if (obj.damageResistance) { e.increaseDamageResistance = obj.damageResistance; }
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
return ATEditor;
|
||||
})(ATEditor, ATEditor.model, ATEditor.FieldList, _);
|
||||
@@ -1,51 +0,0 @@
|
||||
var ATEditor = (function(ATEditor, DataStore, FieldList, _) {
|
||||
|
||||
var model = {
|
||||
actorConditions: new DataStore({
|
||||
name: 'Actor Conditions'
|
||||
,id: 'actorcondition'
|
||||
,iconIDField: 'iconID'
|
||||
})
|
||||
,quests: new DataStore({
|
||||
name: 'Quests'
|
||||
,id: 'quest'
|
||||
})
|
||||
,items: new DataStore({
|
||||
name: 'Items'
|
||||
,id: 'item'
|
||||
,iconIDField: 'iconID'
|
||||
})
|
||||
,droplists: new DataStore({
|
||||
name: 'Droplists'
|
||||
,id: 'droplist'
|
||||
,nameField: 'id'
|
||||
})
|
||||
,dialogue: new DataStore({
|
||||
name: 'Dialogue'
|
||||
,id: 'dialogue'
|
||||
,nameField: 'id'
|
||||
})
|
||||
,monsters: new DataStore({
|
||||
name: 'Monsters'
|
||||
,id: 'monster'
|
||||
,iconIDField: 'iconID'
|
||||
})
|
||||
,itemCategories: new DataStore({
|
||||
name: 'Item Categories'
|
||||
,id: 'itemcategory'
|
||||
})
|
||||
};
|
||||
|
||||
var sections = [];
|
||||
var sectionIds = {};
|
||||
for (var key in model) {
|
||||
var ds = model[key];
|
||||
sections.push(ds);
|
||||
sectionIds[ds.id] = ds;
|
||||
}
|
||||
model.sections = sections;
|
||||
model.getSectionFromID = function(id) { return sectionIds[id]; };
|
||||
|
||||
ATEditor.model = ATEditor.model || model;
|
||||
return ATEditor;
|
||||
})(ATEditor, ATEditor.DataStore, ATEditor.FieldList, _);
|
||||
@@ -1,199 +0,0 @@
|
||||
var ATModelFunctions = (function(ATModelFunctions) {
|
||||
|
||||
ATModelFunctions.itemCategoryFunctions = (function() {
|
||||
function isWearableCategory(itemCategory) {
|
||||
if (!itemCategory) { return false; }
|
||||
return itemCategory.actionType == 'equip';
|
||||
}
|
||||
|
||||
function isUsableCategory(itemCategory) {
|
||||
if (!itemCategory) { return false; }
|
||||
return itemCategory.actionType == 'use';
|
||||
}
|
||||
|
||||
function isWeaponCategory(itemCategory) {
|
||||
if (!isWearableCategory(itemCategory)) { return false; }
|
||||
if (itemCategory.inventorySlot != 'weapon') { return false; }
|
||||
return true;
|
||||
}
|
||||
|
||||
function isShieldCategory(itemCategory) {
|
||||
if (!isWearableCategory(itemCategory)) { return false; }
|
||||
if (itemCategory.inventorySlot != 'shield') { return false; }
|
||||
return true;
|
||||
}
|
||||
|
||||
function isArmorCategory(itemCategory) {
|
||||
if (!isWearableCategory(itemCategory)) { return false; }
|
||||
if (itemCategory.inventorySlot == 'head') { return true; }
|
||||
if (itemCategory.inventorySlot == 'body') { return true; }
|
||||
if (itemCategory.inventorySlot == 'hand') { return true; }
|
||||
if (itemCategory.inventorySlot == 'feet') { return true; }
|
||||
return false;
|
||||
}
|
||||
|
||||
return {
|
||||
isWearableCategory: isWearableCategory
|
||||
,isUsableCategory: isUsableCategory
|
||||
,isWeaponCategory: isWeaponCategory
|
||||
,isShieldCategory: isShieldCategory
|
||||
,isArmorCategory: isArmorCategory
|
||||
};
|
||||
})();
|
||||
|
||||
|
||||
ATModelFunctions.itemFunctions = (function(itemCategoryFunctions) {
|
||||
function getItemCost(obj) {
|
||||
if (obj.hasManualPrice == 1) {
|
||||
return obj.baseMarketCost;
|
||||
}
|
||||
return calculateItemCost(obj);
|
||||
}
|
||||
|
||||
function calculateItemCost(obj) {
|
||||
var v = function(i) { return i ? parseFloat(i) : 0; };
|
||||
var sgn = function(v) {
|
||||
if (v < 0) return -1;
|
||||
else if (v > 0) return 1;
|
||||
else return 0;
|
||||
};
|
||||
var avg = function(o) {
|
||||
if (!o) return 0;
|
||||
return (v(o.min) + v(o.max)) / 2;
|
||||
};
|
||||
|
||||
var itemUsageCost = 0;
|
||||
if (obj.useEffect && obj.hasUseEffect) {
|
||||
var averageHPBoost = avg(obj.useEffect.increaseCurrentHP);
|
||||
var costBoostHP = Math.round(0.1*sgn(averageHPBoost)*Math.pow(Math.abs(averageHPBoost), 2) + 3*averageHPBoost);
|
||||
itemUsageCost = costBoostHP;
|
||||
}
|
||||
|
||||
var itemEquipCost = 0;
|
||||
if (obj.equipEffect && obj.hasEquipEffect) {
|
||||
var isWeapon = itemCategoryFunctions.isWeaponCategory(obj.category);
|
||||
|
||||
var equip_blockChance = v(obj.equipEffect.increaseBlockChance);
|
||||
var equip_attackChance = v(obj.equipEffect.increaseAttackChance);
|
||||
var equip_attackCost = v(obj.equipEffect.increaseAttackCost);
|
||||
var equip_damageResistance = v(obj.equipEffect.increaseDamageResistance);
|
||||
var equip_attackDamage_Min = 0;
|
||||
var equip_attackDamage_Max = 0;
|
||||
if (obj.equipEffect.increaseAttackDamage) {
|
||||
equip_attackDamage_Min = v(obj.equipEffect.increaseAttackDamage.min);
|
||||
equip_attackDamage_Max = v(obj.equipEffect.increaseAttackDamage.max);
|
||||
}
|
||||
var equip_criticalChance = v(obj.equipEffect.increaseCriticalSkill);
|
||||
var equip_criticalMultiplier = v(obj.equipEffect.setCriticalMultiplier);
|
||||
var costBC = Math.round(3*Math.pow(Math.max(0,equip_blockChance), 2.5) + 28*equip_blockChance);
|
||||
var costAC = Math.round(0.4*Math.pow(Math.max(0,equip_attackChance), 2.5) - 6*Math.pow(Math.abs(Math.min(0,equip_attackChance)),2.7));
|
||||
var costAP = isWeapon ?
|
||||
Math.round(0.2*Math.pow(10/equip_attackCost, 8) - 25*equip_attackCost)
|
||||
: -3125 * equip_attackCost;
|
||||
var costDR = 1325*equip_damageResistance;
|
||||
var costDMG_Min = isWeapon ?
|
||||
Math.round(10*Math.pow(equip_attackDamage_Min, 2.5))
|
||||
:Math.round(10*Math.pow(equip_attackDamage_Min, 3) + equip_attackDamage_Min*80);
|
||||
var costDMG_Max = isWeapon ?
|
||||
Math.round(2*Math.pow(equip_attackDamage_Max, 2.1))
|
||||
:Math.round(2*Math.pow(equip_attackDamage_Max, 3) + equip_attackDamage_Max*20);
|
||||
var costCC = Math.round(2.2*Math.pow(equip_criticalChance, 3));
|
||||
var costCM = Math.round(50*Math.pow(Math.max(0, equip_criticalMultiplier), 2));
|
||||
var costCombat = costBC + costAC + costAP + costDR + costDMG_Min + costDMG_Max + costCC + costCM;
|
||||
|
||||
var equip_boostMaxHP = v(obj.equipEffect.increaseMaxHP);
|
||||
var equip_boostMaxAP = v(obj.equipEffect.increaseMaxAP);
|
||||
var costMaxHP = Math.round(30*Math.pow(Math.max(0,equip_boostMaxHP), 1.2) + 70*equip_boostMaxHP);
|
||||
var costMaxAP = Math.round(50*Math.pow(Math.max(0,equip_boostMaxAP), 3) + 750*equip_boostMaxAP);
|
||||
|
||||
var equip_moveCostPenalty = v(obj.equipEffect.increaseMoveCost);
|
||||
var equip_useItemCostPenalty = v(obj.equipEffect.increaseUseItemCost);
|
||||
var equip_reequipCostPenalty = v(obj.equipEffect.increaseReequipCost);
|
||||
var costMovement = Math.round(510*Math.pow(Math.max(0,-equip_moveCostPenalty), 2.5) - 350*equip_moveCostPenalty);
|
||||
var costUseItem = Math.round(915*Math.pow(Math.max(0,-equip_useItemCostPenalty), 3) - 430*equip_useItemCostPenalty);
|
||||
var costReequip = Math.round(450*Math.pow(Math.max(0,-equip_reequipCostPenalty), 2) - 250*equip_reequipCostPenalty);
|
||||
var costAPModifiers = costMovement + costUseItem + costReequip;
|
||||
|
||||
itemEquipCost = costCombat + costMaxHP + costMaxAP + costAPModifiers;
|
||||
}
|
||||
|
||||
var hitEffectsCost = 0;
|
||||
if (obj.hitEffect && obj.hasHitEffect) {
|
||||
var averageHPBoost = avg(obj.hitEffect.increaseCurrentHP);
|
||||
var averageAPBoost = avg(obj.hitEffect.increaseCurrentAP);
|
||||
var costBoostHP = Math.round(2770*Math.pow(Math.max(0,averageHPBoost), 2.5) + 450*averageHPBoost);
|
||||
var costBoostAP = Math.round(3100*Math.pow(Math.max(0,averageAPBoost), 2.5) + 300*averageAPBoost);
|
||||
hitEffectsCost = costBoostHP + costBoostAP;
|
||||
}
|
||||
|
||||
var killEffectsCost = 0;
|
||||
if (obj.killEffect && obj.hasKillEffect) {
|
||||
var averageHPBoost = avg(obj.killEffect.increaseCurrentHP);
|
||||
var averageAPBoost = avg(obj.killEffect.increaseCurrentAP);
|
||||
var costBoostHP = Math.round(923*Math.pow(Math.max(0,averageHPBoost), 2.5) + 450*averageHPBoost);
|
||||
var costBoostAP = Math.round(1033*Math.pow(Math.max(0,averageAPBoost), 2.5) + 300*averageAPBoost);
|
||||
killEffectsCost = costBoostHP + costBoostAP;
|
||||
}
|
||||
|
||||
var result = itemEquipCost + itemUsageCost + hitEffectsCost + killEffectsCost;
|
||||
if (result <= 0) { result = 1; }
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
function getItemSellingCost(item) {
|
||||
var cost = getItemCost(item);
|
||||
return Math.round(cost * (100 + 15) / 100);
|
||||
}
|
||||
|
||||
function getItemBuyingCost(item) {
|
||||
var cost = getItemCost(item);
|
||||
return Math.round(cost * (100 - 15) / 100);
|
||||
}
|
||||
|
||||
return {
|
||||
getItemCost: getItemCost
|
||||
,calculateItemCost: calculateItemCost
|
||||
,getItemSellingCost: getItemSellingCost
|
||||
,getItemBuyingCost: getItemBuyingCost
|
||||
};
|
||||
})(ATModelFunctions.itemCategoryFunctions);
|
||||
|
||||
|
||||
ATModelFunctions.monsterFunctions = (function() {
|
||||
function getMonsterExperience(obj) {
|
||||
var EXP_FACTOR_DAMAGERESISTANCE = 9;
|
||||
var EXP_FACTOR_SCALING = 0.7;
|
||||
|
||||
var div100 = function(v) { return v / 100; }
|
||||
var v = function(i) { return i ? parseFloat(i) : 0; }
|
||||
|
||||
var attacksPerTurn = Math.floor(v(obj.maxAP) / v(obj.attackCost));
|
||||
var avgDamagePotential = 0;
|
||||
if (obj.attackDamage) {
|
||||
avgDamagePotential = (v(obj.attackDamage.min) + v(obj.attackDamage.max)) / 2;
|
||||
}
|
||||
var avgCrit = 0;
|
||||
if (obj.hasCritical) {
|
||||
avgCrit = div100(v(obj.criticalSkill)) * v(obj.criticalMultiplier);
|
||||
}
|
||||
var avgAttackHP = attacksPerTurn * div100(v(obj.attackChance)) * avgDamagePotential * (1 + avgCrit);
|
||||
var avgDefenseHP = v(obj.maxHP) * (1 + div100(v(obj.blockChance))) + EXP_FACTOR_DAMAGERESISTANCE * v(obj.damageResistance);
|
||||
var attackConditionBonus = 0;
|
||||
if (obj.hitEffect && obj.hitEffect.conditionsTarget && v(obj.hitEffect.conditionsTarget.length) > 0) {
|
||||
attackConditionBonus = 50;
|
||||
}
|
||||
var experience = (avgAttackHP * 3 + avgDefenseHP) * EXP_FACTOR_SCALING + attackConditionBonus;
|
||||
|
||||
return Math.ceil(experience);
|
||||
};
|
||||
|
||||
return {
|
||||
getMonsterExperience: getMonsterExperience
|
||||
};
|
||||
})();
|
||||
|
||||
return ATModelFunctions;
|
||||
})(ATModelFunctions || {});
|
||||
|
||||
if (typeof module != 'undefined') { module.exports = ATModelFunctions; }
|
||||
@@ -1,6 +0,0 @@
|
||||
var ATEditor = (function(ATEditor) {
|
||||
|
||||
ATEditor.settings = ATEditor.settings || {};
|
||||
|
||||
return ATEditor;
|
||||
})(ATEditor);
|
||||
@@ -1,165 +0,0 @@
|
||||
var ATEditor = (function(ATEditor, utils) {
|
||||
|
||||
function TilesetImage(options) {
|
||||
var defaultOptions = {
|
||||
numTiles: { x: 1, y: 1 }
|
||||
,tileSize: { x: 32, y: 32 }
|
||||
,usedFor: []
|
||||
};
|
||||
_.defaults(options, defaultOptions);
|
||||
|
||||
this._name = options.name;
|
||||
this._numTiles = options.numTiles;
|
||||
this._tileSize = options.tileSize;
|
||||
this._usedFor = options.usedFor;
|
||||
|
||||
this.localIDToCoords = function(localID) {
|
||||
return {
|
||||
x: (localID % this._numTiles.x) * this._tileSize.x,
|
||||
y: Math.floor(localID / this._numTiles.x) * this._tileSize.y
|
||||
}
|
||||
}
|
||||
this.coordsToLocalID = function(x, y) {
|
||||
return Math.floor(x / this._tileSize.x)
|
||||
+ this._numTiles.x * Math.floor(y / this._tileSize.y)
|
||||
}
|
||||
}
|
||||
|
||||
var defaultImagePath = utils.getUrlRelativeToBaseSrcDir("AndorsTrail/res/drawable/");
|
||||
|
||||
var defaultimage = {
|
||||
tilesetName: 'defaultimage',
|
||||
localID: 0,
|
||||
path: ''
|
||||
};
|
||||
var defaultTileset = new TilesetImage({name: defaultimage.tilesetName });
|
||||
|
||||
var _tilesets = {};
|
||||
_tilesets[defaultimage.tilesetName] = defaultTileset;
|
||||
|
||||
var getTileset = function(name) {
|
||||
var result = _tilesets[name];
|
||||
if (!result) { return defaultTileset; }
|
||||
return result;
|
||||
}
|
||||
|
||||
var parseImageID = function(str) {
|
||||
if (!str || str == "") return defaultimage;
|
||||
var v = str.split(":");
|
||||
if (v.length < 1) return defaultimage;
|
||||
return {
|
||||
tilesetName: v[0],
|
||||
localID: v[1],
|
||||
path: defaultImagePath
|
||||
};
|
||||
}
|
||||
|
||||
var createImageID = function(tilesetName, localID) {
|
||||
if (!tilesetName) return "";
|
||||
return tilesetName + ":" + localID;
|
||||
}
|
||||
|
||||
|
||||
var add = function(tilesetName, numTiles, usedFor, tileSize) {
|
||||
_tilesets[tilesetName] = new TilesetImage({
|
||||
name: tilesetName
|
||||
,numTiles: numTiles
|
||||
,tileSize: tileSize
|
||||
,usedFor: usedFor
|
||||
});
|
||||
}
|
||||
|
||||
var getTilesetsForSection = function(section) {
|
||||
return _.filter(_tilesets, function(tileset) {
|
||||
return _.contains(tileset._usedFor, section);
|
||||
});
|
||||
}
|
||||
var getIconIDsForSection = function(section) {
|
||||
var result = [];
|
||||
_.each(getTilesetsForSection(section), function(tileset) {
|
||||
for(var i = 0; i < tileset._numTiles.y * tileset._numTiles.x; i++) {
|
||||
result.push(createImageID(tileset._name, i));
|
||||
}
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
add("actorconditions_1", {x:14, y:8}, [ 'actorcondition' ] );
|
||||
add("actorconditions_2", {x:3, y:1}, [ 'actorcondition' ] );
|
||||
add("items_armours", {x:14, y:3}, [ 'item' ] );
|
||||
add("items_armours_3", {x:10, y:4}, [ 'item' ] );
|
||||
add("items_armours_2", {x:7, y:1}, [ 'item' ] );
|
||||
add("items_weapons", {x:14, y:6}, [ 'item' ] );
|
||||
add("items_weapons_3", {x:13, y:5}, [ 'item' ] );
|
||||
add("items_weapons_2", {x:7, y:1}, [ 'item' ] );
|
||||
add("items_jewelry", {x:14, y:1}, [ 'item' ] );
|
||||
add("items_rings_1", {x:10, y:3}, [ 'item' ] );
|
||||
add("items_necklaces_1", {x:10, y:3}, [ 'item' ] );
|
||||
add("items_consumables", {x:14, y:5}, [ 'item' ] );
|
||||
add("items_books", {x:11, y:1}, [ 'item' ] );
|
||||
add("items_misc", {x:14, y:4}, [ 'item' ] );
|
||||
add("items_misc_2", {x:20, y:12}, [ 'item' ] );
|
||||
add("items_misc_3", {x:20, y:12}, [ 'item' ] );
|
||||
add("items_misc_4", {x:20, y:4}, [ 'item' ] );
|
||||
add("items_misc_5", {x:9, y:5}, [ 'item' ] );
|
||||
add("items_misc_6", {x:9, y:4}, [ 'item' ] );
|
||||
add("items_reterski_1", {x:3, y:10}, [ 'item' ] );
|
||||
add("items_tometik1", {x:6, y:10}, [ 'item' ] );
|
||||
add("items_tometik2", {x:10, y:10}, [ 'item' ] );
|
||||
add("items_tometik3", {x:8, y:6}, [ 'item' ] );
|
||||
add("monsters_armor1", {x: 1, y:1}, [ 'monster' ] );
|
||||
add("monsters_dogs", {x: 7, y:1}, [ 'monster' ] );
|
||||
add("monsters_eye1", {x: 1, y:1}, [ 'monster' ] );
|
||||
add("monsters_eye2", {x: 1, y:1}, [ 'monster' ] );
|
||||
add("monsters_eye3", {x: 1, y:1}, [ 'monster' ] );
|
||||
add("monsters_eye4", {x: 1, y:1}, [ 'monster' ] );
|
||||
add("monsters_ghost1", {x: 1, y:1}, [ 'monster' ] );
|
||||
add("monsters_hydra1", {x: 1, y:1}, [ 'monster' ], {x:64, y:64} );
|
||||
add("monsters_insects", {x: 6, y:1}, [ 'monster' ] );
|
||||
add("monsters_liches", {x: 4, y:1}, [ 'monster' ] );
|
||||
add("monsters_mage", {x: 1, y:1}, [ 'monster' ] );
|
||||
add("monsters_mage2", {x: 1, y:1}, [ 'monster' ] );
|
||||
add("monsters_man1", {x: 1, y:1}, [ 'monster' ] );
|
||||
add("monsters_men", {x: 9, y:1}, [ 'monster' ] );
|
||||
add("monsters_men2", {x: 10, y:1}, [ 'monster' ] );
|
||||
add("monsters_misc", {x: 12, y:1}, [ 'monster' ] );
|
||||
add("monsters_rats", {x: 5, y:1}, [ 'monster' ] );
|
||||
add("monsters_rogue1", {x: 1, y:1}, [ 'monster' ] );
|
||||
add("monsters_skeleton1", {x: 1, y:1}, [ 'monster' ] );
|
||||
add("monsters_skeleton2", {x: 1, y:1}, [ 'monster' ] );
|
||||
add("monsters_snakes", {x: 6, y:1}, [ 'monster' ] );
|
||||
add("monsters_warrior1", {x: 1, y:1}, [ 'monster' ] );
|
||||
add("monsters_wraiths", {x: 3, y:1}, [ 'monster' ] );
|
||||
add("monsters_zombie1", {x: 1, y:1}, [ 'monster' ] );
|
||||
add("monsters_zombie2", {x: 1, y:1}, [ 'monster' ] );
|
||||
add("monsters_karvis1", {x: 2, y:1}, [ 'monster' ] );
|
||||
add("monsters_karvis2", {x: 9, y:1}, [ 'monster' ] );
|
||||
add("monsters_rltiles1", {x:20, y:8}, [ 'monster' ] );
|
||||
add("monsters_rltiles2", {x:20, y:9}, [ 'monster' ] );
|
||||
add("monsters_rltiles3", {x:10, y:3}, [ 'monster' ] );
|
||||
add("monsters_rltiles4", {x:12, y:4}, [ 'monster' ] );
|
||||
add("monsters_redshrike1", {x:7, y:1}, [ 'monster' ] );
|
||||
add("monsters_ld1", {x:20, y:12}, [ 'monster' ] );
|
||||
add("monsters_ld2", {x:20, y:12}, [ 'monster' ] );
|
||||
add("monsters_tometik1", {x:10, y:9}, [ 'monster' ] );
|
||||
add("monsters_tometik2", {x:8, y:10}, [ 'monster' ] );
|
||||
add("monsters_tometik3", {x:6, y:13}, [ 'monster' ] );
|
||||
add("monsters_tometik4", {x:6, y:13}, [ 'monster' ] );
|
||||
add("monsters_tometik5", {x:6, y:16}, [ 'monster' ] );
|
||||
add("monsters_tometik6", {x:7, y:6}, [ 'monster' ] );
|
||||
add("monsters_tometik7", {x:8, y:11}, [ 'monster' ] );
|
||||
add("monsters_tometik8", {x:7, y:9}, [ 'monster' ] );
|
||||
add("monsters_tometik9", {x:8, y:8}, [ 'monster' ] );
|
||||
add("monsters_tometik10", {x:6, y:13}, [ 'monster' ] );
|
||||
add("monsters_demon1", {x:1, y:1}, [ 'monster' ], {x:64, y:64} );
|
||||
add("monsters_demon2", {x:1, y:1}, [ 'monster' ], {x:64, y:64} );
|
||||
add("monsters_cyclops", {x:1, y:1}, [ 'monster' ], {x:64, y:96} );
|
||||
|
||||
ATEditor.tilesets = {
|
||||
getTileset: getTileset
|
||||
,parseImageID: parseImageID
|
||||
,createImageID: createImageID
|
||||
,getIconIDsForSection: getIconIDsForSection
|
||||
};
|
||||
return ATEditor;
|
||||
})(ATEditor, ATEditor.utils);
|
||||
@@ -1,138 +0,0 @@
|
||||
var ATEditor = (function(ATEditor, _) {
|
||||
|
||||
function deepClone(o) {
|
||||
// https://github.com/documentcloud/underscore/issues/162
|
||||
return JSON.parse(JSON.stringify(o));
|
||||
}
|
||||
|
||||
function removeDefaults(o, defaults) {
|
||||
for (var key in defaults) {
|
||||
if (o[key] === defaults[key]) {
|
||||
delete o[key];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function copyDefaults(o, defaults) {
|
||||
var key;
|
||||
for (key in defaults) {
|
||||
var v = defaults[key];
|
||||
if ((!o[key]) && (o[key] !== 0)) {
|
||||
o[key] = v;
|
||||
} else if (_.isObject(v)) {
|
||||
copyDefaults(o[key], v);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function removeAngularFields(o) {
|
||||
var key;
|
||||
for (key in o) {
|
||||
var v = o[key];
|
||||
if (key.charAt(0) === '$') {
|
||||
delete o[key];
|
||||
} else if (_.isArray(v) || _.isObject(v)) {
|
||||
removeAngularFields(v);
|
||||
}
|
||||
}
|
||||
}
|
||||
function compact(o) {
|
||||
if (!o) { return null; }
|
||||
var key;
|
||||
for (key in o) {
|
||||
var v = o[key];
|
||||
if (_.isArray(v)) {
|
||||
v = _.map(v, compact);
|
||||
} else if (_.isObject(v)) {
|
||||
v = compact(v);
|
||||
}
|
||||
if (!hasValues(v)) {
|
||||
delete o[key];
|
||||
} else {
|
||||
o[key] = v;
|
||||
}
|
||||
}
|
||||
if (!hasValues(o)) { return null; }
|
||||
return o;
|
||||
}
|
||||
|
||||
function hasValues(o) {
|
||||
if (_.isArray(o)) {
|
||||
return _.some(o, hasValues);
|
||||
} else if (_.isObject(o)) {
|
||||
var key;
|
||||
for (key in o) {
|
||||
if (hasValues(o[key])) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return o;
|
||||
}
|
||||
|
||||
function isNumber(s) {
|
||||
if (!_.isString(s)) { return false; }
|
||||
var v = parseInt(s);
|
||||
if (_.isNaN(v)) { return false; }
|
||||
return (v.toString() == s);
|
||||
}
|
||||
|
||||
function convertStringsToIntegers(o) {
|
||||
var key;
|
||||
for (key in o) {
|
||||
var v = o[key];
|
||||
if (isNumber(v)) {
|
||||
o[key] = parseInt(v);
|
||||
} else if (_.isArray(v)) {
|
||||
convertStringsToIntegers(v);
|
||||
} else if (_.isObject(v)) {
|
||||
convertStringsToIntegers(v);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function convertIntegersToStrings(o) {
|
||||
var key;
|
||||
for (key in o) {
|
||||
var v = o[key];
|
||||
if (_.isNumber(v)) {
|
||||
o[key] = String(v);
|
||||
} else if (_.isArray(v)) {
|
||||
convertIntegersToStrings(v);
|
||||
} else if (_.isObject(v)) {
|
||||
convertIntegersToStrings(v);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_.toBool = function(b) {
|
||||
return b ? true : false;
|
||||
};
|
||||
|
||||
function getUrlRelativeToBaseSrcDir(relativeUrl) {
|
||||
var url = document.location.href;
|
||||
var idx = url.lastIndexOf('#');
|
||||
if (idx > 0) {
|
||||
url = url.substring(0, idx);
|
||||
}
|
||||
url = url.substring(0, url.lastIndexOf('/'));
|
||||
url = url.substring(0, url.lastIndexOf('/'));
|
||||
url = url + "/" + relativeUrl;
|
||||
return url;
|
||||
}
|
||||
|
||||
ATEditor.utils = {
|
||||
deepClone: deepClone
|
||||
,removeDefaults: removeDefaults
|
||||
,copyDefaults: copyDefaults
|
||||
,removeAngularFields: removeAngularFields
|
||||
,compact: compact
|
||||
,hasValues: hasValues
|
||||
,convertStringsToIntegers: convertStringsToIntegers
|
||||
,convertIntegersToStrings: convertIntegersToStrings
|
||||
,getUrlRelativeToBaseSrcDir: getUrlRelativeToBaseSrcDir
|
||||
};
|
||||
|
||||
return ATEditor;
|
||||
})(ATEditor || {}, _);
|
||||
159
AndorsTrailEdit/lib/angular.min.js
vendored
159
AndorsTrailEdit/lib/angular.min.js
vendored
@@ -1,159 +0,0 @@
|
||||
/*
|
||||
AngularJS v1.0.3
|
||||
(c) 2010-2012 Google, Inc. http://angularjs.org
|
||||
License: MIT
|
||||
*/
|
||||
(function(U,ca,p){'use strict';function m(b,a,c){var d;if(b)if(N(b))for(d in b)d!="prototype"&&d!="length"&&d!="name"&&b.hasOwnProperty(d)&&a.call(c,b[d],d);else if(b.forEach&&b.forEach!==m)b.forEach(a,c);else if(L(b)&&wa(b.length))for(d=0;d<b.length;d++)a.call(c,b[d],d);else for(d in b)b.hasOwnProperty(d)&&a.call(c,b[d],d);return b}function lb(b){var a=[],c;for(c in b)b.hasOwnProperty(c)&&a.push(c);return a.sort()}function ec(b,a,c){for(var d=lb(b),e=0;e<d.length;e++)a.call(c,b[d[e]],d[e]);return d}
|
||||
function mb(b){return function(a,c){b(c,a)}}function xa(){for(var b=Z.length,a;b;){b--;a=Z[b].charCodeAt(0);if(a==57)return Z[b]="A",Z.join("");if(a==90)Z[b]="0";else return Z[b]=String.fromCharCode(a+1),Z.join("")}Z.unshift("0");return Z.join("")}function x(b){m(arguments,function(a){a!==b&&m(a,function(a,d){b[d]=a})});return b}function G(b){return parseInt(b,10)}function ya(b,a){return x(new (x(function(){},{prototype:b})),a)}function D(){}function ma(b){return b}function I(b){return function(){return b}}
|
||||
function t(b){return typeof b=="undefined"}function v(b){return typeof b!="undefined"}function L(b){return b!=null&&typeof b=="object"}function F(b){return typeof b=="string"}function wa(b){return typeof b=="number"}function na(b){return Sa.apply(b)=="[object Date]"}function J(b){return Sa.apply(b)=="[object Array]"}function N(b){return typeof b=="function"}function oa(b){return b&&b.document&&b.location&&b.alert&&b.setInterval}function R(b){return F(b)?b.replace(/^\s*/,"").replace(/\s*$/,""):b}function fc(b){return b&&
|
||||
(b.nodeName||b.bind&&b.find)}function Ta(b,a,c){var d=[];m(b,function(b,g,i){d.push(a.call(c,b,g,i))});return d}function gc(b,a){var c=0,d;if(J(b)||F(b))return b.length;else if(L(b))for(d in b)(!a||b.hasOwnProperty(d))&&c++;return c}function za(b,a){if(b.indexOf)return b.indexOf(a);for(var c=0;c<b.length;c++)if(a===b[c])return c;return-1}function Ua(b,a){var c=za(b,a);c>=0&&b.splice(c,1);return a}function V(b,a){if(oa(b)||b&&b.$evalAsync&&b.$watch)throw B("Can't copy Window or Scope");if(a){if(b===
|
||||
a)throw B("Can't copy equivalent objects or arrays");if(J(b)){for(;a.length;)a.pop();for(var c=0;c<b.length;c++)a.push(V(b[c]))}else for(c in m(a,function(b,c){delete a[c]}),b)a[c]=V(b[c])}else(a=b)&&(J(b)?a=V(b,[]):na(b)?a=new Date(b.getTime()):L(b)&&(a=V(b,{})));return a}function hc(b,a){var a=a||{},c;for(c in b)b.hasOwnProperty(c)&&c.substr(0,2)!=="$$"&&(a[c]=b[c]);return a}function ha(b,a){if(b===a)return!0;if(b===null||a===null)return!1;if(b!==b&&a!==a)return!0;var c=typeof b,d;if(c==typeof a&&
|
||||
c=="object")if(J(b)){if((c=b.length)==a.length){for(d=0;d<c;d++)if(!ha(b[d],a[d]))return!1;return!0}}else if(na(b))return na(a)&&b.getTime()==a.getTime();else{if(b&&b.$evalAsync&&b.$watch||a&&a.$evalAsync&&a.$watch||oa(b)||oa(a))return!1;c={};for(d in b){if(d.charAt(0)!=="$"&&!N(b[d])&&!ha(b[d],a[d]))return!1;c[d]=!0}for(d in a)if(!c[d]&&d.charAt(0)!=="$"&&!N(a[d]))return!1;return!0}return!1}function Va(b,a){var c=arguments.length>2?ia.call(arguments,2):[];return N(a)&&!(a instanceof RegExp)?c.length?
|
||||
function(){return arguments.length?a.apply(b,c.concat(ia.call(arguments,0))):a.apply(b,c)}:function(){return arguments.length?a.apply(b,arguments):a.call(b)}:a}function ic(b,a){var c=a;/^\$+/.test(b)?c=p:oa(a)?c="$WINDOW":a&&ca===a?c="$DOCUMENT":a&&a.$evalAsync&&a.$watch&&(c="$SCOPE");return c}function da(b,a){return JSON.stringify(b,ic,a?" ":null)}function nb(b){return F(b)?JSON.parse(b):b}function Wa(b){b&&b.length!==0?(b=E(""+b),b=!(b=="f"||b=="0"||b=="false"||b=="no"||b=="n"||b=="[]")):b=!1;
|
||||
return b}function pa(b){b=u(b).clone();try{b.html("")}catch(a){}return u("<div>").append(b).html().match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(a,b){return"<"+E(b)})}function Xa(b){var a={},c,d;m((b||"").split("&"),function(b){b&&(c=b.split("="),d=decodeURIComponent(c[0]),a[d]=v(c[1])?decodeURIComponent(c[1]):!0)});return a}function ob(b){var a=[];m(b,function(b,d){a.push(Ya(d,!0)+(b===!0?"":"="+Ya(b,!0)))});return a.length?a.join("&"):""}function Za(b){return Ya(b,!0).replace(/%26/gi,"&").replace(/%3D/gi,
|
||||
"=").replace(/%2B/gi,"+")}function Ya(b,a){return encodeURIComponent(b).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(a?null:/%20/g,"+")}function jc(b,a){function c(a){a&&d.push(a)}var d=[b],e,g,i=["ng:app","ng-app","x-ng-app","data-ng-app"],f=/\sng[:\-]app(:\s*([\w\d_]+);?)?\s/;m(i,function(a){i[a]=!0;c(ca.getElementById(a));a=a.replace(":","\\:");b.querySelectorAll&&(m(b.querySelectorAll("."+a),c),m(b.querySelectorAll("."+a+"\\:"),c),m(b.querySelectorAll("["+
|
||||
a+"]"),c))});m(d,function(a){if(!e){var b=f.exec(" "+a.className+" ");b?(e=a,g=(b[2]||"").replace(/\s+/g,",")):m(a.attributes,function(b){if(!e&&i[b.name])e=a,g=b.value})}});e&&a(e,g?[g]:[])}function pb(b,a){b=u(b);a=a||[];a.unshift(["$provide",function(a){a.value("$rootElement",b)}]);a.unshift("ng");var c=qb(a);c.invoke(["$rootScope","$rootElement","$compile","$injector",function(a,b,c,i){a.$apply(function(){b.data("$injector",i);c(b)(a)})}]);return c}function $a(b,a){a=a||"_";return b.replace(kc,
|
||||
function(b,d){return(d?a:"")+b.toLowerCase()})}function qa(b,a,c){if(!b)throw new B("Argument '"+(a||"?")+"' is "+(c||"required"));return b}function ra(b,a,c){c&&J(b)&&(b=b[b.length-1]);qa(N(b),a,"not a function, got "+(b&&typeof b=="object"?b.constructor.name||"Object":typeof b));return b}function lc(b){function a(a,b,e){return a[b]||(a[b]=e())}return a(a(b,"angular",Object),"module",function(){var b={};return function(d,e,g){e&&b.hasOwnProperty(d)&&(b[d]=null);return a(b,d,function(){function a(c,
|
||||
d,e){return function(){b[e||"push"]([c,d,arguments]);return j}}if(!e)throw B("No module: "+d);var b=[],c=[],k=a("$injector","invoke"),j={_invokeQueue:b,_runBlocks:c,requires:e,name:d,provider:a("$provide","provider"),factory:a("$provide","factory"),service:a("$provide","service"),value:a("$provide","value"),constant:a("$provide","constant","unshift"),filter:a("$filterProvider","register"),controller:a("$controllerProvider","register"),directive:a("$compileProvider","directive"),config:k,run:function(a){c.push(a);
|
||||
return this}};g&&k(g);return j})}})}function rb(b){return b.replace(mc,function(a,b,d,e){return e?d.toUpperCase():d}).replace(nc,"Moz$1")}function ab(b,a){function c(){var e;for(var b=[this],c=a,i,f,h,k,j,l;b.length;){i=b.shift();f=0;for(h=i.length;f<h;f++){k=u(i[f]);c?k.triggerHandler("$destroy"):c=!c;j=0;for(e=(l=k.children()).length,k=e;j<k;j++)b.push(ja(l[j]))}}return d.apply(this,arguments)}var d=ja.fn[b],d=d.$original||d;c.$original=d;ja.fn[b]=c}function Q(b){if(b instanceof Q)return b;if(!(this instanceof
|
||||
Q)){if(F(b)&&b.charAt(0)!="<")throw B("selectors not implemented");return new Q(b)}if(F(b)){var a=ca.createElement("div");a.innerHTML="<div> </div>"+b;a.removeChild(a.firstChild);bb(this,a.childNodes);this.remove()}else bb(this,b)}function cb(b){return b.cloneNode(!0)}function sa(b){sb(b);for(var a=0,b=b.childNodes||[];a<b.length;a++)sa(b[a])}function tb(b,a,c){var d=$(b,"events");$(b,"handle")&&(t(a)?m(d,function(a,c){db(b,c,a);delete d[c]}):t(c)?(db(b,a,d[a]),delete d[a]):Ua(d[a],c))}function sb(b){var a=
|
||||
b[Aa],c=Ba[a];c&&(c.handle&&(c.events.$destroy&&c.handle({},"$destroy"),tb(b)),delete Ba[a],b[Aa]=p)}function $(b,a,c){var d=b[Aa],d=Ba[d||-1];if(v(c))d||(b[Aa]=d=++oc,d=Ba[d]={}),d[a]=c;else return d&&d[a]}function ub(b,a,c){var d=$(b,"data"),e=v(c),g=!e&&v(a),i=g&&!L(a);!d&&!i&&$(b,"data",d={});if(e)d[a]=c;else if(g)if(i)return d&&d[a];else x(d,a);else return d}function Ca(b,a){return(" "+b.className+" ").replace(/[\n\t]/g," ").indexOf(" "+a+" ")>-1}function vb(b,a){a&&m(a.split(" "),function(a){b.className=
|
||||
R((" "+b.className+" ").replace(/[\n\t]/g," ").replace(" "+R(a)+" "," "))})}function wb(b,a){a&&m(a.split(" "),function(a){if(!Ca(b,a))b.className=R(b.className+" "+R(a))})}function bb(b,a){if(a)for(var a=!a.nodeName&&v(a.length)&&!oa(a)?a:[a],c=0;c<a.length;c++)b.push(a[c])}function xb(b,a){return Da(b,"$"+(a||"ngController")+"Controller")}function Da(b,a,c){b=u(b);for(b[0].nodeType==9&&(b=b.find("html"));b.length;){if(c=b.data(a))return c;b=b.parent()}}function yb(b,a){var c=Ea[a.toLowerCase()];
|
||||
return c&&zb[b.nodeName]&&c}function pc(b,a){var c=function(c,e){if(!c.preventDefault)c.preventDefault=function(){c.returnValue=!1};if(!c.stopPropagation)c.stopPropagation=function(){c.cancelBubble=!0};if(!c.target)c.target=c.srcElement||ca;if(t(c.defaultPrevented)){var g=c.preventDefault;c.preventDefault=function(){c.defaultPrevented=!0;g.call(c)};c.defaultPrevented=!1}c.isDefaultPrevented=function(){return c.defaultPrevented};m(a[e||c.type],function(a){a.call(b,c)});aa<=8?(c.preventDefault=null,
|
||||
c.stopPropagation=null,c.isDefaultPrevented=null):(delete c.preventDefault,delete c.stopPropagation,delete c.isDefaultPrevented)};c.elem=b;return c}function ga(b){var a=typeof b,c;if(a=="object"&&b!==null)if(typeof(c=b.$$hashKey)=="function")c=b.$$hashKey();else{if(c===p)c=b.$$hashKey=xa()}else c=b;return a+":"+c}function Fa(b){m(b,this.put,this)}function eb(){}function Ab(b){var a,c;if(typeof b=="function"){if(!(a=b.$inject))a=[],c=b.toString().replace(qc,""),c=c.match(rc),m(c[1].split(sc),function(b){b.replace(tc,
|
||||
function(b,c,d){a.push(d)})}),b.$inject=a}else J(b)?(c=b.length-1,ra(b[c],"fn"),a=b.slice(0,c)):ra(b,"fn",!0);return a}function qb(b){function a(a){return function(b,c){if(L(b))m(b,mb(a));else return a(b,c)}}function c(a,b){N(b)&&(b=l.instantiate(b));if(!b.$get)throw B("Provider "+a+" must define $get factory method.");return j[a+f]=b}function d(a,b){return c(a,{$get:b})}function e(a){var b=[];m(a,function(a){if(!k.get(a))if(k.put(a,!0),F(a)){var c=ta(a);b=b.concat(e(c.requires)).concat(c._runBlocks);
|
||||
try{for(var d=c._invokeQueue,c=0,f=d.length;c<f;c++){var h=d[c],g=h[0]=="$injector"?l:l.get(h[0]);g[h[1]].apply(g,h[2])}}catch(n){throw n.message&&(n.message+=" from "+a),n;}}else if(N(a))try{b.push(l.invoke(a))}catch(i){throw i.message&&(i.message+=" from "+a),i;}else if(J(a))try{b.push(l.invoke(a))}catch(j){throw j.message&&(j.message+=" from "+String(a[a.length-1])),j;}else ra(a,"module")});return b}function g(a,b){function c(d){if(typeof d!=="string")throw B("Service name expected");if(a.hasOwnProperty(d)){if(a[d]===
|
||||
i)throw B("Circular dependency: "+h.join(" <- "));return a[d]}else try{return h.unshift(d),a[d]=i,a[d]=b(d)}finally{h.shift()}}function d(a,b,e){var f=[],k=Ab(a),g,n,i;n=0;for(g=k.length;n<g;n++)i=k[n],f.push(e&&e.hasOwnProperty(i)?e[i]:c(i,h));a.$inject||(a=a[g]);switch(b?-1:f.length){case 0:return a();case 1:return a(f[0]);case 2:return a(f[0],f[1]);case 3:return a(f[0],f[1],f[2]);case 4:return a(f[0],f[1],f[2],f[3]);case 5:return a(f[0],f[1],f[2],f[3],f[4]);case 6:return a(f[0],f[1],f[2],f[3],
|
||||
f[4],f[5]);case 7:return a(f[0],f[1],f[2],f[3],f[4],f[5],f[6]);case 8:return a(f[0],f[1],f[2],f[3],f[4],f[5],f[6],f[7]);case 9:return a(f[0],f[1],f[2],f[3],f[4],f[5],f[6],f[7],f[8]);case 10:return a(f[0],f[1],f[2],f[3],f[4],f[5],f[6],f[7],f[8],f[9]);default:return a.apply(b,f)}}return{invoke:d,instantiate:function(a,b){var c=function(){},e;c.prototype=(J(a)?a[a.length-1]:a).prototype;c=new c;e=d(a,c,b);return L(e)?e:c},get:c,annotate:Ab}}var i={},f="Provider",h=[],k=new Fa,j={$provide:{provider:a(c),
|
||||
factory:a(d),service:a(function(a,b){return d(a,["$injector",function(a){return a.instantiate(b)}])}),value:a(function(a,b){return d(a,I(b))}),constant:a(function(a,b){j[a]=b;o[a]=b}),decorator:function(a,b){var c=l.get(a+f),d=c.$get;c.$get=function(){var a=r.invoke(d,c);return r.invoke(b,null,{$delegate:a})}}}},l=g(j,function(){throw B("Unknown provider: "+h.join(" <- "));}),o={},r=o.$injector=g(o,function(a){a=l.get(a+f);return r.invoke(a.$get,a)});m(e(b),function(a){r.invoke(a||D)});return r}function uc(){var b=
|
||||
!0;this.disableAutoScrolling=function(){b=!1};this.$get=["$window","$location","$rootScope",function(a,c,d){function e(a){var b=null;m(a,function(a){!b&&E(a.nodeName)==="a"&&(b=a)});return b}function g(){var b=c.hash(),d;b?(d=i.getElementById(b))?d.scrollIntoView():(d=e(i.getElementsByName(b)))?d.scrollIntoView():b==="top"&&a.scrollTo(0,0):a.scrollTo(0,0)}var i=a.document;b&&d.$watch(function(){return c.hash()},function(){d.$evalAsync(g)});return g}]}function vc(b,a,c,d){function e(a){try{a.apply(null,
|
||||
ia.call(arguments,1))}finally{if(n--,n===0)for(;w.length;)try{w.pop()()}catch(b){c.error(b)}}}function g(a,b){(function ea(){m(q,function(a){a()});s=b(ea,a)})()}function i(){O!=f.url()&&(O=f.url(),m(A,function(a){a(f.url())}))}var f=this,h=a[0],k=b.location,j=b.history,l=b.setTimeout,o=b.clearTimeout,r={};f.isMock=!1;var n=0,w=[];f.$$completeOutstandingRequest=e;f.$$incOutstandingRequestCount=function(){n++};f.notifyWhenNoOutstandingRequests=function(a){m(q,function(a){a()});n===0?a():w.push(a)};
|
||||
var q=[],s;f.addPollFn=function(a){t(s)&&g(100,l);q.push(a);return a};var O=k.href,C=a.find("base");f.url=function(a,b){if(a){if(O!=a)return O=a,d.history?b?j.replaceState(null,"",a):(j.pushState(null,"",a),C.attr("href",C.attr("href"))):b?k.replace(a):k.href=a,f}else return k.href.replace(/%27/g,"'")};var A=[],K=!1;f.onUrlChange=function(a){K||(d.history&&u(b).bind("popstate",i),d.hashchange?u(b).bind("hashchange",i):f.addPollFn(i),K=!0);A.push(a);return a};f.baseHref=function(){var a=C.attr("href");
|
||||
return a?a.replace(/^https?\:\/\/[^\/]*/,""):a};var W={},y="",M=f.baseHref();f.cookies=function(a,b){var d,e,f,k;if(a)if(b===p)h.cookie=escape(a)+"=;path="+M+";expires=Thu, 01 Jan 1970 00:00:00 GMT";else{if(F(b))d=(h.cookie=escape(a)+"="+escape(b)+";path="+M).length+1,d>4096&&c.warn("Cookie '"+a+"' possibly not set or overflowed because it was too large ("+d+" > 4096 bytes)!"),W.length>20&&c.warn("Cookie '"+a+"' possibly not set or overflowed because too many cookies were already set ("+W.length+
|
||||
" > 20 )")}else{if(h.cookie!==y){y=h.cookie;d=y.split("; ");W={};for(f=0;f<d.length;f++)e=d[f],k=e.indexOf("="),k>0&&(W[unescape(e.substring(0,k))]=unescape(e.substring(k+1)))}return W}};f.defer=function(a,b){var c;n++;c=l(function(){delete r[c];e(a)},b||0);r[c]=!0;return c};f.defer.cancel=function(a){return r[a]?(delete r[a],o(a),e(D),!0):!1}}function wc(){this.$get=["$window","$log","$sniffer","$document",function(b,a,c,d){return new vc(b,d,a,c)}]}function xc(){this.$get=function(){function b(b,
|
||||
d){function e(a){if(a!=l){if(o){if(o==a)o=a.n}else o=a;g(a.n,a.p);g(a,l);l=a;l.n=null}}function g(a,b){if(a!=b){if(a)a.p=b;if(b)b.n=a}}if(b in a)throw B("cacheId "+b+" taken");var i=0,f=x({},d,{id:b}),h={},k=d&&d.capacity||Number.MAX_VALUE,j={},l=null,o=null;return a[b]={put:function(a,b){var c=j[a]||(j[a]={key:a});e(c);t(b)||(a in h||i++,h[a]=b,i>k&&this.remove(o.key))},get:function(a){var b=j[a];if(b)return e(b),h[a]},remove:function(a){var b=j[a];if(b){if(b==l)l=b.p;if(b==o)o=b.n;g(b.n,b.p);delete j[a];
|
||||
delete h[a];i--}},removeAll:function(){h={};i=0;j={};l=o=null},destroy:function(){j=f=h=null;delete a[b]},info:function(){return x({},f,{size:i})}}}var a={};b.info=function(){var b={};m(a,function(a,e){b[e]=a.info()});return b};b.get=function(b){return a[b]};return b}}function yc(){this.$get=["$cacheFactory",function(b){return b("templates")}]}function Bb(b){var a={},c="Directive",d=/^\s*directive\:\s*([\d\w\-_]+)\s+(.*)$/,e=/(([\d\w\-_]+)(?:\:([^;]+))?;?)/,g="Template must have exactly one root element. was: ";
|
||||
this.directive=function f(d,e){F(d)?(qa(e,"directive"),a.hasOwnProperty(d)||(a[d]=[],b.factory(d+c,["$injector","$exceptionHandler",function(b,c){var e=[];m(a[d],function(a){try{var f=b.invoke(a);if(N(f))f={compile:I(f)};else if(!f.compile&&f.link)f.compile=I(f.link);f.priority=f.priority||0;f.name=f.name||d;f.require=f.require||f.controller&&f.name;f.restrict=f.restrict||"A";e.push(f)}catch(k){c(k)}});return e}])),a[d].push(e)):m(d,mb(f));return this};this.$get=["$injector","$interpolate","$exceptionHandler",
|
||||
"$http","$templateCache","$parse","$controller","$rootScope",function(b,h,k,j,l,o,r,n){function w(a,b,c){a instanceof u||(a=u(a));m(a,function(b,c){b.nodeType==3&&(a[c]=u(b).wrap("<span></span>").parent()[0])});var d=s(a,b,a,c);return function(b,c){qa(b,"scope");var e=c?ua.clone.call(a):a;e.data("$scope",b);q(e,"ng-scope");c&&c(e,b);d&&d(b,e,e);return e}}function q(a,b){try{a.addClass(b)}catch(c){}}function s(a,b,c,d){function e(a,c,d,k){for(var g,h,j,n,o,l=0,r=0,q=f.length;l<q;r++)j=c[r],g=f[l++],
|
||||
h=f[l++],g?(g.scope?(n=a.$new(L(g.scope)),u(j).data("$scope",n)):n=a,(o=g.transclude)||!k&&b?g(h,n,j,d,function(b){return function(c){var d=a.$new();return b(d,c).bind("$destroy",Va(d,d.$destroy))}}(o||b)):g(h,n,j,p,k)):h&&h(a,j.childNodes,p,k)}for(var f=[],k,g,h,j=0;j<a.length;j++)g=new ea,k=O(a[j],[],g,d),g=(k=k.length?C(k,a[j],g,b,c):null)&&k.terminal||!a[j].childNodes.length?null:s(a[j].childNodes,k?k.transclude:b),f.push(k),f.push(g),h=h||k||g;return h?e:null}function O(a,b,c,f){var k=c.$attr,
|
||||
g;switch(a.nodeType){case 1:A(b,fa(Cb(a).toLowerCase()),"E",f);var h,j,n;g=a.attributes;for(var o=0,l=g&&g.length;o<l;o++)if(h=g[o],h.specified)j=h.name,n=fa(j.toLowerCase()),k[n]=j,c[n]=h=R(aa&&j=="href"?decodeURIComponent(a.getAttribute(j,2)):h.value),yb(a,n)&&(c[n]=!0),X(a,b,h,n),A(b,n,"A",f);a=a.className;if(F(a)&&a!=="")for(;g=e.exec(a);)n=fa(g[2]),A(b,n,"C",f)&&(c[n]=R(g[3])),a=a.substr(g.index+g[0].length);break;case 3:H(b,a.nodeValue);break;case 8:try{if(g=d.exec(a.nodeValue))n=fa(g[1]),A(b,
|
||||
n,"M",f)&&(c[n]=R(g[2]))}catch(r){}}b.sort(y);return b}function C(a,b,c,d,e){function f(a,b){if(a)a.require=z.require,l.push(a);if(b)b.require=z.require,ba.push(b)}function h(a,b){var c,d="data",e=!1;if(F(a)){for(;(c=a.charAt(0))=="^"||c=="?";)a=a.substr(1),c=="^"&&(d="inheritedData"),e=e||c=="?";c=b[d]("$"+a+"Controller");if(!c&&!e)throw B("No controller: "+a);}else J(a)&&(c=[],m(a,function(a){c.push(h(a,b))}));return c}function j(a,d,e,f,g){var n,q,w,K,s;n=b===e?c:hc(c,new ea(u(e),c.$attr));q=n.$$element;
|
||||
if(C){var zc=/^\s*([@=&])\s*(\w*)\s*$/,O=d.$parent||d;m(C.scope,function(a,b){var c=a.match(zc)||[],e=c[2]||b,f,g,k;switch(c[1]){case "@":n.$observe(e,function(a){d[b]=a});n.$$observers[e].$$scope=O;break;case "=":g=o(n[e]);k=g.assign||function(){f=d[b]=g(O);throw B(Db+n[e]+" (directive: "+C.name+")");};f=d[b]=g(O);d.$watch(function(){var a=g(O);a!==d[b]&&(a!==f?f=d[b]=a:k(O,a=f=d[b]));return a});break;case "&":g=o(n[e]);d[b]=function(a){return g(O,a)};break;default:throw B("Invalid isolate scope definition for directive "+
|
||||
C.name+": "+a);}})}t&&m(t,function(a){var b={$scope:d,$element:q,$attrs:n,$transclude:g};s=a.controller;s=="@"&&(s=n[a.name]);q.data("$"+a.name+"Controller",r(s,b))});f=0;for(w=l.length;f<w;f++)try{K=l[f],K(d,q,n,K.require&&h(K.require,q))}catch(y){k(y,pa(q))}a&&a(d,e.childNodes,p,g);f=0;for(w=ba.length;f<w;f++)try{K=ba[f],K(d,q,n,K.require&&h(K.require,q))}catch(Ha){k(Ha,pa(q))}}for(var n=-Number.MAX_VALUE,l=[],ba=[],s=null,C=null,A=null,y=c.$$element=u(b),z,H,X,D,v=d,t,x,Y,E=0,G=a.length;E<G;E++){z=
|
||||
a[E];X=p;if(n>z.priority)break;if(Y=z.scope)M("isolated scope",C,z,y),L(Y)&&(q(y,"ng-isolate-scope"),C=z),q(y,"ng-scope"),s=s||z;H=z.name;if(Y=z.controller)t=t||{},M("'"+H+"' controller",t[H],z,y),t[H]=z;if(Y=z.transclude)M("transclusion",D,z,y),D=z,n=z.priority,Y=="element"?(X=u(b),y=c.$$element=u("<\!-- "+H+": "+c[H]+" --\>"),b=y[0],Ga(e,u(X[0]),b),v=w(X,d,n)):(X=u(cb(b)).contents(),y.html(""),v=w(X,d));if(Y=z.template)if(M("template",A,z,y),A=z,Y=Ha(Y),z.replace){X=u("<div>"+R(Y)+"</div>").contents();
|
||||
b=X[0];if(X.length!=1||b.nodeType!==1)throw new B(g+Y);Ga(e,y,b);H={$attr:{}};a=a.concat(O(b,a.splice(E+1,a.length-(E+1)),H));K(c,H);G=a.length}else y.html(Y);if(z.templateUrl)M("template",A,z,y),A=z,j=W(a.splice(E,a.length-E),j,y,c,e,z.replace,v),G=a.length;else if(z.compile)try{x=z.compile(y,c,v),N(x)?f(null,x):x&&f(x.pre,x.post)}catch(I){k(I,pa(y))}if(z.terminal)j.terminal=!0,n=Math.max(n,z.priority)}j.scope=s&&s.scope;j.transclude=D&&v;return j}function A(d,e,g,h){var j=!1;if(a.hasOwnProperty(e))for(var n,
|
||||
e=b.get(e+c),o=0,l=e.length;o<l;o++)try{if(n=e[o],(h===p||h>n.priority)&&n.restrict.indexOf(g)!=-1)d.push(n),j=!0}catch(r){k(r)}return j}function K(a,b){var c=b.$attr,d=a.$attr,e=a.$$element;m(a,function(d,e){e.charAt(0)!="$"&&(b[e]&&(d+=(e==="style"?";":" ")+b[e]),a.$set(e,d,!0,c[e]))});m(b,function(b,f){f=="class"?(q(e,b),a["class"]=(a["class"]?a["class"]+" ":"")+b):f=="style"?e.attr("style",e.attr("style")+";"+b):f.charAt(0)!="$"&&!a.hasOwnProperty(f)&&(a[f]=b,d[f]=c[f])})}function W(a,b,c,d,e,
|
||||
f,k){var h=[],n,o,r=c[0],q=a.shift(),w=x({},q,{controller:null,templateUrl:null,transclude:null,scope:null});c.html("");j.get(q.templateUrl,{cache:l}).success(function(j){var l,q,j=Ha(j);if(f){q=u("<div>"+R(j)+"</div>").contents();l=q[0];if(q.length!=1||l.nodeType!==1)throw new B(g+j);j={$attr:{}};Ga(e,c,l);O(l,a,j);K(d,j)}else l=r,c.html(j);a.unshift(w);n=C(a,c,d,k);for(o=s(c.contents(),k);h.length;){var ba=h.pop(),j=h.pop();q=h.pop();var y=h.pop(),m=l;q!==r&&(m=cb(l),Ga(j,u(q),m));n(function(){b(o,
|
||||
y,m,e,ba)},y,m,e,ba)}h=null}).error(function(a,b,c,d){throw B("Failed to load template: "+d.url);});return function(a,c,d,e,f){h?(h.push(c),h.push(d),h.push(e),h.push(f)):n(function(){b(o,c,d,e,f)},c,d,e,f)}}function y(a,b){return b.priority-a.priority}function M(a,b,c,d){if(b)throw B("Multiple directives ["+b.name+", "+c.name+"] asking for "+a+" on: "+pa(d));}function H(a,b){var c=h(b,!0);c&&a.push({priority:0,compile:I(function(a,b){var d=b.parent(),e=d.data("$binding")||[];e.push(c);q(d.data("$binding",
|
||||
e),"ng-binding");a.$watch(c,function(a){b[0].nodeValue=a})})})}function X(a,b,c,d){var e=h(c,!0);e&&b.push({priority:100,compile:I(function(a,b,c){b=c.$$observers||(c.$$observers={});d==="class"&&(e=h(c[d],!0));c[d]=p;(b[d]||(b[d]=[])).$$inter=!0;(c.$$observers&&c.$$observers[d].$$scope||a).$watch(e,function(a){c.$set(d,a)})})})}function Ga(a,b,c){var d=b[0],e=d.parentNode,f,g;if(a){f=0;for(g=a.length;f<g;f++)if(a[f]==d){a[f]=c;break}}e&&e.replaceChild(c,d);c[u.expando]=d[u.expando];b[0]=c}var ea=
|
||||
function(a,b){this.$$element=a;this.$attr=b||{}};ea.prototype={$normalize:fa,$set:function(a,b,c,d){var e=yb(this.$$element[0],a),f=this.$$observers;e&&(this.$$element.prop(a,b),d=e);this[a]=b;d?this.$attr[a]=d:(d=this.$attr[a])||(this.$attr[a]=d=$a(a,"-"));c!==!1&&(b===null||b===p?this.$$element.removeAttr(d):this.$$element.attr(d,b));f&&m(f[a],function(a){try{a(b)}catch(c){k(c)}})},$observe:function(a,b){var c=this,d=c.$$observers||(c.$$observers={}),e=d[a]||(d[a]=[]);e.push(b);n.$evalAsync(function(){e.$$inter||
|
||||
b(c[a])});return b}};var D=h.startSymbol(),ba=h.endSymbol(),Ha=D=="{{"||ba=="}}"?ma:function(a){return a.replace(/\{\{/g,D).replace(/}}/g,ba)};return w}]}function fa(b){return rb(b.replace(Ac,""))}function Bc(){var b={};this.register=function(a,c){L(a)?x(b,a):b[a]=c};this.$get=["$injector","$window",function(a,c){return function(d,e){if(F(d)){var g=d,d=b.hasOwnProperty(g)?b[g]:fb(e.$scope,g,!0)||fb(c,g,!0);ra(d,g,!0)}return a.instantiate(d,e)}}]}function Cc(){this.$get=["$window",function(b){return u(b.document)}]}
|
||||
function Dc(){this.$get=["$log",function(b){return function(a,c){b.error.apply(b,arguments)}}]}function Ec(){var b="{{",a="}}";this.startSymbol=function(a){return a?(b=a,this):b};this.endSymbol=function(b){return b?(a=b,this):a};this.$get=["$parse",function(c){function d(d,f){for(var h,k,j=0,l=[],o=d.length,r=!1,n=[];j<o;)(h=d.indexOf(b,j))!=-1&&(k=d.indexOf(a,h+e))!=-1?(j!=h&&l.push(d.substring(j,h)),l.push(j=c(r=d.substring(h+e,k))),j.exp=r,j=k+g,r=!0):(j!=o&&l.push(d.substring(j)),j=o);if(!(o=
|
||||
l.length))l.push(""),o=1;if(!f||r)return n.length=o,j=function(a){for(var b=0,c=o,d;b<c;b++){if(typeof(d=l[b])=="function")d=d(a),d==null||d==p?d="":typeof d!="string"&&(d=da(d));n[b]=d}return n.join("")},j.exp=d,j.parts=l,j}var e=b.length,g=a.length;d.startSymbol=function(){return b};d.endSymbol=function(){return a};return d}]}function Eb(b){for(var b=b.split("/"),a=b.length;a--;)b[a]=Za(b[a]);return b.join("/")}function va(b,a){var c=Fb.exec(b),c={protocol:c[1],host:c[3],port:G(c[5])||Gb[c[1]]||
|
||||
null,path:c[6]||"/",search:c[8],hash:c[10]};if(a)a.$$protocol=c.protocol,a.$$host=c.host,a.$$port=c.port;return c}function ka(b,a,c){return b+"://"+a+(c==Gb[b]?"":":"+c)}function Fc(b,a,c){var d=va(b);return decodeURIComponent(d.path)!=a||t(d.hash)||d.hash.indexOf(c)!==0?b:ka(d.protocol,d.host,d.port)+a.substr(0,a.lastIndexOf("/"))+d.hash.substr(c.length)}function Gc(b,a,c){var d=va(b);if(decodeURIComponent(d.path)==a)return b;else{var e=d.search&&"?"+d.search||"",g=d.hash&&"#"+d.hash||"",i=a.substr(0,
|
||||
a.lastIndexOf("/")),f=d.path.substr(i.length);if(d.path.indexOf(i)!==0)throw B('Invalid url "'+b+'", missing path prefix "'+i+'" !');return ka(d.protocol,d.host,d.port)+a+"#"+c+f+e+g}}function gb(b,a,c){a=a||"";this.$$parse=function(b){var c=va(b,this);if(c.path.indexOf(a)!==0)throw B('Invalid url "'+b+'", missing path prefix "'+a+'" !');this.$$path=decodeURIComponent(c.path.substr(a.length));this.$$search=Xa(c.search);this.$$hash=c.hash&&decodeURIComponent(c.hash)||"";this.$$compose()};this.$$compose=
|
||||
function(){var b=ob(this.$$search),c=this.$$hash?"#"+Za(this.$$hash):"";this.$$url=Eb(this.$$path)+(b?"?"+b:"")+c;this.$$absUrl=ka(this.$$protocol,this.$$host,this.$$port)+a+this.$$url};this.$$rewriteAppUrl=function(a){if(a.indexOf(c)==0)return a};this.$$parse(b)}function Ia(b,a,c){var d;this.$$parse=function(b){var c=va(b,this);if(c.hash&&c.hash.indexOf(a)!==0)throw B('Invalid url "'+b+'", missing hash prefix "'+a+'" !');d=c.path+(c.search?"?"+c.search:"");c=Hc.exec((c.hash||"").substr(a.length));
|
||||
this.$$path=c[1]?(c[1].charAt(0)=="/"?"":"/")+decodeURIComponent(c[1]):"";this.$$search=Xa(c[3]);this.$$hash=c[5]&&decodeURIComponent(c[5])||"";this.$$compose()};this.$$compose=function(){var b=ob(this.$$search),c=this.$$hash?"#"+Za(this.$$hash):"";this.$$url=Eb(this.$$path)+(b?"?"+b:"")+c;this.$$absUrl=ka(this.$$protocol,this.$$host,this.$$port)+d+(this.$$url?"#"+a+this.$$url:"")};this.$$rewriteAppUrl=function(a){if(a.indexOf(c)==0)return a};this.$$parse(b)}function Hb(b,a,c,d){Ia.apply(this,arguments);
|
||||
this.$$rewriteAppUrl=function(b){if(b.indexOf(c)==0)return c+d+"#"+a+b.substr(c.length)}}function Ja(b){return function(){return this[b]}}function Ib(b,a){return function(c){if(t(c))return this[b];this[b]=a(c);this.$$compose();return this}}function Ic(){var b="",a=!1;this.hashPrefix=function(a){return v(a)?(b=a,this):b};this.html5Mode=function(b){return v(b)?(a=b,this):a};this.$get=["$rootScope","$browser","$sniffer","$rootElement",function(c,d,e,g){function i(a){c.$broadcast("$locationChangeSuccess",
|
||||
f.absUrl(),a)}var f,h,k,j=d.url(),l=va(j);a?(h=d.baseHref()||"/",k=h.substr(0,h.lastIndexOf("/")),l=ka(l.protocol,l.host,l.port)+k+"/",f=e.history?new gb(Fc(j,h,b),k,l):new Hb(Gc(j,h,b),b,l,h.substr(k.length+1))):(l=ka(l.protocol,l.host,l.port)+(l.path||"")+(l.search?"?"+l.search:"")+"#"+b+"/",f=new Ia(j,b,l));g.bind("click",function(a){if(!a.ctrlKey&&!(a.metaKey||a.which==2)){for(var b=u(a.target);E(b[0].nodeName)!=="a";)if(b[0]===g[0]||!(b=b.parent())[0])return;var d=b.prop("href"),e=f.$$rewriteAppUrl(d);
|
||||
d&&!b.attr("target")&&e&&(f.$$parse(e),c.$apply(),a.preventDefault(),U.angular["ff-684208-preventDefault"]=!0)}});f.absUrl()!=j&&d.url(f.absUrl(),!0);d.onUrlChange(function(a){f.absUrl()!=a&&(c.$evalAsync(function(){var b=f.absUrl();f.$$parse(a);i(b)}),c.$$phase||c.$digest())});var o=0;c.$watch(function(){var a=d.url(),b=f.$$replace;if(!o||a!=f.absUrl())o++,c.$evalAsync(function(){c.$broadcast("$locationChangeStart",f.absUrl(),a).defaultPrevented?f.$$parse(a):(d.url(f.absUrl(),b),i(a))});f.$$replace=
|
||||
!1;return o});return f}]}function Jc(){this.$get=["$window",function(b){function a(a){a instanceof B&&(a.stack?a=a.message&&a.stack.indexOf(a.message)===-1?"Error: "+a.message+"\n"+a.stack:a.stack:a.sourceURL&&(a=a.message+"\n"+a.sourceURL+":"+a.line));return a}function c(c){var e=b.console||{},g=e[c]||e.log||D;return g.apply?function(){var b=[];m(arguments,function(c){b.push(a(c))});return g.apply(e,b)}:function(a,b){g(a,b)}}return{log:c("log"),warn:c("warn"),info:c("info"),error:c("error")}}]}function Kc(b,
|
||||
a){function c(a){return a.indexOf(q)!=-1}function d(){return n+1<b.length?b.charAt(n+1):!1}function e(a){return"0"<=a&&a<="9"}function g(a){return a==" "||a=="\r"||a=="\t"||a=="\n"||a=="\u000b"||a=="\u00a0"}function i(a){return"a"<=a&&a<="z"||"A"<=a&&a<="Z"||"_"==a||a=="$"}function f(a){return a=="-"||a=="+"||e(a)}function h(a,c,d){d=d||n;throw B("Lexer Error: "+a+" at column"+(v(c)?"s "+c+"-"+n+" ["+b.substring(c,d)+"]":" "+d)+" in expression ["+b+"].");}function k(){for(var a="",c=n;n<b.length;){var k=
|
||||
E(b.charAt(n));if(k=="."||e(k))a+=k;else{var g=d();if(k=="e"&&f(g))a+=k;else if(f(k)&&g&&e(g)&&a.charAt(a.length-1)=="e")a+=k;else if(f(k)&&(!g||!e(g))&&a.charAt(a.length-1)=="e")h("Invalid exponent");else break}n++}a*=1;o.push({index:c,text:a,json:!0,fn:function(){return a}})}function j(){for(var c="",d=n,f,k,h;n<b.length;){var j=b.charAt(n);if(j=="."||i(j)||e(j))j=="."&&(f=n),c+=j;else break;n++}if(f)for(k=n;k<b.length;){j=b.charAt(k);if(j=="("){h=c.substr(f-d+1);c=c.substr(0,f-d);n=k;break}if(g(j))k++;
|
||||
else break}d={index:d,text:c};if(Ka.hasOwnProperty(c))d.fn=d.json=Ka[c];else{var l=Jb(c,a);d.fn=x(function(a,b){return l(a,b)},{assign:function(a,b){return Kb(a,c,b)}})}o.push(d);h&&(o.push({index:f,text:".",json:!1}),o.push({index:f+1,text:h,json:!1}))}function l(a){var c=n;n++;for(var d="",e=a,f=!1;n<b.length;){var k=b.charAt(n);e+=k;if(f)k=="u"?(k=b.substring(n+1,n+5),k.match(/[\da-f]{4}/i)||h("Invalid unicode escape [\\u"+k+"]"),n+=4,d+=String.fromCharCode(parseInt(k,16))):(f=Lc[k],d+=f?f:k),
|
||||
f=!1;else if(k=="\\")f=!0;else if(k==a){n++;o.push({index:c,text:e,string:d,json:!0,fn:function(){return d}});return}else d+=k;n++}h("Unterminated quote",c)}for(var o=[],r,n=0,w=[],q,s=":";n<b.length;){q=b.charAt(n);if(c("\"'"))l(q);else if(e(q)||c(".")&&e(d()))k();else if(i(q)){if(j(),"{,".indexOf(s)!=-1&&w[0]=="{"&&(r=o[o.length-1]))r.json=r.text.indexOf(".")==-1}else if(c("(){}[].,;:"))o.push({index:n,text:q,json:":[,".indexOf(s)!=-1&&c("{[")||c("}]:,")}),c("{[")&&w.unshift(q),c("}]")&&w.shift(),
|
||||
n++;else if(g(q)){n++;continue}else{var m=q+d(),C=Ka[q],A=Ka[m];A?(o.push({index:n,text:m,fn:A}),n+=2):C?(o.push({index:n,text:q,fn:C,json:"[,:".indexOf(s)!=-1&&c("+-")}),n+=1):h("Unexpected next character ",n,n+1)}s=q}return o}function Mc(b,a,c,d){function e(a,c){throw B("Syntax Error: Token '"+c.text+"' "+a+" at column "+(c.index+1)+" of the expression ["+b+"] starting at ["+b.substring(c.index)+"].");}function g(){if(M.length===0)throw B("Unexpected end of expression: "+b);return M[0]}function i(a,
|
||||
b,c,d){if(M.length>0){var e=M[0],f=e.text;if(f==a||f==b||f==c||f==d||!a&&!b&&!c&&!d)return e}return!1}function f(b,c,d,f){return(b=i(b,c,d,f))?(a&&!b.json&&e("is not valid json",b),M.shift(),b):!1}function h(a){f(a)||e("is unexpected, expecting ["+a+"]",i())}function k(a,b){return function(c,d){return a(c,d,b)}}function j(a,b,c){return function(d,e){return b(d,e,a,c)}}function l(){for(var a=[];;)if(M.length>0&&!i("}",")",";","]")&&a.push(v()),!f(";"))return a.length==1?a[0]:function(b,c){for(var d,
|
||||
e=0;e<a.length;e++){var f=a[e];f&&(d=f(b,c))}return d}}function o(){for(var a=f(),b=c(a.text),d=[];;)if(a=f(":"))d.push(H());else{var e=function(a,c,e){for(var e=[e],f=0;f<d.length;f++)e.push(d[f](a,c));return b.apply(a,e)};return function(){return e}}}function r(){for(var a=n(),b;;)if(b=f("||"))a=j(a,b.fn,n());else return a}function n(){var a=w(),b;if(b=f("&&"))a=j(a,b.fn,n());return a}function w(){var a=q(),b;if(b=f("==","!="))a=j(a,b.fn,w());return a}function q(){var a;a=s();for(var b;b=f("+",
|
||||
"-");)a=j(a,b.fn,s());if(b=f("<",">","<=",">="))a=j(a,b.fn,q());return a}function s(){for(var a=m(),b;b=f("*","/","%");)a=j(a,b.fn,m());return a}function m(){var a;return f("+")?C():(a=f("-"))?j(W,a.fn,m()):(a=f("!"))?k(a.fn,m()):C()}function C(){var a;if(f("("))a=v(),h(")");else if(f("["))a=A();else if(f("{"))a=K();else{var b=f();(a=b.fn)||e("not a primary expression",b)}for(var c;b=f("(","[",".");)b.text==="("?(a=u(a,c),c=null):b.text==="["?(c=a,a=ea(a)):b.text==="."?(c=a,a=t(a)):e("IMPOSSIBLE");
|
||||
return a}function A(){var a=[];if(g().text!="]"){do a.push(H());while(f(","))}h("]");return function(b,c){for(var d=[],e=0;e<a.length;e++)d.push(a[e](b,c));return d}}function K(){var a=[];if(g().text!="}"){do{var b=f(),b=b.string||b.text;h(":");var c=H();a.push({key:b,value:c})}while(f(","))}h("}");return function(b,c){for(var d={},e=0;e<a.length;e++){var f=a[e],k=f.value(b,c);d[f.key]=k}return d}}var W=I(0),y,M=Kc(b,d),H=function(){var a=r(),c,d;return(d=f("="))?(a.assign||e("implies assignment but ["+
|
||||
b.substring(0,d.index)+"] can not be assigned to",d),c=r(),function(b,d){return a.assign(b,c(b,d),d)}):a},u=function(a,b){var c=[];if(g().text!=")"){do c.push(H());while(f(","))}h(")");return function(d,e){for(var f=[],k=b?b(d,e):d,h=0;h<c.length;h++)f.push(c[h](d,e));h=a(d,e)||D;return h.apply?h.apply(k,f):h(f[0],f[1],f[2],f[3],f[4])}},t=function(a){var b=f().text,c=Jb(b,d);return x(function(b,d){return c(a(b,d),d)},{assign:function(c,d,e){return Kb(a(c,e),b,d)}})},ea=function(a){var b=H();h("]");
|
||||
return x(function(c,d){var e=a(c,d),f=b(c,d),k;if(!e)return p;if((e=e[f])&&e.then){k=e;if(!("$$v"in e))k.$$v=p,k.then(function(a){k.$$v=a});e=e.$$v}return e},{assign:function(c,d,e){return a(c,e)[b(c,e)]=d}})},v=function(){for(var a=H(),b;;)if(b=f("|"))a=j(a,b.fn,o());else return a};a?(H=r,u=t=ea=v=function(){e("is not valid json",{text:b,index:0})},y=C()):y=l();M.length!==0&&e("is an unexpected token",M[0]);return y}function Kb(b,a,c){for(var a=a.split("."),d=0;a.length>1;d++){var e=a.shift(),g=
|
||||
b[e];g||(g={},b[e]=g);b=g}return b[a.shift()]=c}function fb(b,a,c){if(!a)return b;for(var a=a.split("."),d,e=b,g=a.length,i=0;i<g;i++)d=a[i],b&&(b=(e=b)[d]);return!c&&N(b)?Va(e,b):b}function Lb(b,a,c,d,e){return function(g,i){var f=i&&i.hasOwnProperty(b)?i:g,h;if(f===null||f===p)return f;if((f=f[b])&&f.then){if(!("$$v"in f))h=f,h.$$v=p,h.then(function(a){h.$$v=a});f=f.$$v}if(!a||f===null||f===p)return f;if((f=f[a])&&f.then){if(!("$$v"in f))h=f,h.$$v=p,h.then(function(a){h.$$v=a});f=f.$$v}if(!c||f===
|
||||
null||f===p)return f;if((f=f[c])&&f.then){if(!("$$v"in f))h=f,h.$$v=p,h.then(function(a){h.$$v=a});f=f.$$v}if(!d||f===null||f===p)return f;if((f=f[d])&&f.then){if(!("$$v"in f))h=f,h.$$v=p,h.then(function(a){h.$$v=a});f=f.$$v}if(!e||f===null||f===p)return f;if((f=f[e])&&f.then){if(!("$$v"in f))h=f,h.$$v=p,h.then(function(a){h.$$v=a});f=f.$$v}return f}}function Jb(b,a){if(hb.hasOwnProperty(b))return hb[b];var c=b.split("."),d=c.length,e;if(a)e=d<6?Lb(c[0],c[1],c[2],c[3],c[4]):function(a,b){var e=0,
|
||||
k;do k=Lb(c[e++],c[e++],c[e++],c[e++],c[e++])(a,b),b=p,a=k;while(e<d);return k};else{var g="var l, fn, p;\n";m(c,function(a,b){g+="if(s === null || s === undefined) return s;\nl=s;\ns="+(b?"s":'((k&&k.hasOwnProperty("'+a+'"))?k:s)')+'["'+a+'"];\nif (s && s.then) {\n if (!("$$v" in s)) {\n p=s;\n p.$$v = undefined;\n p.then(function(v) {p.$$v=v;});\n}\n s=s.$$v\n}\n'});g+="return s;";e=Function("s","k",g);e.toString=function(){return g}}return hb[b]=e}function Nc(){var b={};this.$get=["$filter","$sniffer",
|
||||
function(a,c){return function(d){switch(typeof d){case "string":return b.hasOwnProperty(d)?b[d]:b[d]=Mc(d,!1,a,c.csp);case "function":return d;default:return D}}}]}function Oc(){this.$get=["$rootScope","$exceptionHandler",function(b,a){return Pc(function(a){b.$evalAsync(a)},a)}]}function Pc(b,a){function c(a){return a}function d(a){return i(a)}var e=function(){var f=[],h,k;return k={resolve:function(a){if(f){var c=f;f=p;h=g(a);c.length&&b(function(){for(var a,b=0,d=c.length;b<d;b++)a=c[b],h.then(a[0],
|
||||
a[1])})}},reject:function(a){k.resolve(i(a))},promise:{then:function(b,k){var g=e(),i=function(d){try{g.resolve((b||c)(d))}catch(e){a(e),g.reject(e)}},n=function(b){try{g.resolve((k||d)(b))}catch(c){a(c),g.reject(c)}};f?f.push([i,n]):h.then(i,n);return g.promise}}}},g=function(a){return a&&a.then?a:{then:function(c){var d=e();b(function(){d.resolve(c(a))});return d.promise}}},i=function(a){return{then:function(c,k){var g=e();b(function(){g.resolve((k||d)(a))});return g.promise}}};return{defer:e,reject:i,
|
||||
when:function(f,h,k){var j=e(),l,o=function(b){try{return(h||c)(b)}catch(d){return a(d),i(d)}},r=function(b){try{return(k||d)(b)}catch(c){return a(c),i(c)}};b(function(){g(f).then(function(a){l||(l=!0,j.resolve(g(a).then(o,r)))},function(a){l||(l=!0,j.resolve(r(a)))})});return j.promise},all:function(a){var b=e(),c=a.length,d=[];c?m(a,function(a,e){g(a).then(function(a){e in d||(d[e]=a,--c||b.resolve(d))},function(a){e in d||b.reject(a)})}):b.resolve(d);return b.promise}}}function Qc(){var b={};this.when=
|
||||
function(a,c){b[a]=x({reloadOnSearch:!0},c);if(a){var d=a[a.length-1]=="/"?a.substr(0,a.length-1):a+"/";b[d]={redirectTo:a}}return this};this.otherwise=function(a){this.when(null,a);return this};this.$get=["$rootScope","$location","$routeParams","$q","$injector","$http","$templateCache",function(a,c,d,e,g,i,f){function h(){var b=k(),h=r.current;if(b&&h&&b.$route===h.$route&&ha(b.pathParams,h.pathParams)&&!b.reloadOnSearch&&!o)h.params=b.params,V(h.params,d),a.$broadcast("$routeUpdate",h);else if(b||
|
||||
h)o=!1,a.$broadcast("$routeChangeStart",b,h),(r.current=b)&&b.redirectTo&&(F(b.redirectTo)?c.path(j(b.redirectTo,b.params)).search(b.params).replace():c.url(b.redirectTo(b.pathParams,c.path(),c.search())).replace()),e.when(b).then(function(){if(b){var a=[],c=[],d;m(b.resolve||{},function(b,d){a.push(d);c.push(F(b)?g.get(b):g.invoke(b))});if(!v(d=b.template))if(v(d=b.templateUrl))d=i.get(d,{cache:f}).then(function(a){return a.data});v(d)&&(a.push("$template"),c.push(d));return e.all(c).then(function(b){var c=
|
||||
{};m(b,function(b,d){c[a[d]]=b});return c})}}).then(function(c){if(b==r.current){if(b)b.locals=c,V(b.params,d);a.$broadcast("$routeChangeSuccess",b,h)}},function(c){b==r.current&&a.$broadcast("$routeChangeError",b,h,c)})}function k(){var a,d;m(b,function(b,e){if(!d&&(a=l(c.path(),e)))d=ya(b,{params:x({},c.search(),a),pathParams:a}),d.$route=b});return d||b[null]&&ya(b[null],{params:{},pathParams:{}})}function j(a,b){var c=[];m((a||"").split(":"),function(a,d){if(d==0)c.push(a);else{var e=a.match(/(\w+)(.*)/),
|
||||
f=e[1];c.push(b[f]);c.push(e[2]||"");delete b[f]}});return c.join("")}var l=function(a,b){var c="^"+b.replace(/([\.\\\(\)\^\$])/g,"\\$1")+"$",d=[],e={};m(b.split(/\W/),function(a){if(a){var b=RegExp(":"+a+"([\\W])");c.match(b)&&(c=c.replace(b,"([^\\/]*)$1"),d.push(a))}});var f=a.match(RegExp(c));f&&m(d,function(a,b){e[a]=f[b+1]});return f?e:null},o=!1,r={routes:b,reload:function(){o=!0;a.$evalAsync(h)}};a.$on("$locationChangeSuccess",h);return r}]}function Rc(){this.$get=I({})}function Sc(){var b=
|
||||
10;this.digestTtl=function(a){arguments.length&&(b=a);return b};this.$get=["$injector","$exceptionHandler","$parse",function(a,c,d){function e(){this.$id=xa();this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null;this["this"]=this.$root=this;this.$$asyncQueue=[];this.$$listeners={}}function g(a){if(h.$$phase)throw B(h.$$phase+" already in progress");h.$$phase=a}function i(a,b){var c=d(a);ra(c,b);return c}function f(){}e.prototype={$new:function(a){if(N(a))throw B("API-CHANGE: Use $controller to instantiate controllers.");
|
||||
a?(a=new e,a.$root=this.$root):(a=function(){},a.prototype=this,a=new a,a.$id=xa());a["this"]=a;a.$$listeners={};a.$parent=this;a.$$asyncQueue=[];a.$$watchers=a.$$nextSibling=a.$$childHead=a.$$childTail=null;a.$$prevSibling=this.$$childTail;this.$$childHead?this.$$childTail=this.$$childTail.$$nextSibling=a:this.$$childHead=this.$$childTail=a;return a},$watch:function(a,b,c){var d=i(a,"watch"),e=this.$$watchers,g={fn:b,last:f,get:d,exp:a,eq:!!c};if(!N(b)){var h=i(b||D,"listener");g.fn=function(a,b,
|
||||
c){h(c)}}if(!e)e=this.$$watchers=[];e.unshift(g);return function(){Ua(e,g)}},$digest:function(){var a,d,e,i,r,n,m,q=b,s,p=[],C,A;g("$digest");do{m=!1;s=this;do{for(r=s.$$asyncQueue;r.length;)try{s.$eval(r.shift())}catch(K){c(K)}if(i=s.$$watchers)for(n=i.length;n--;)try{if(a=i[n],(d=a.get(s))!==(e=a.last)&&!(a.eq?ha(d,e):typeof d=="number"&&typeof e=="number"&&isNaN(d)&&isNaN(e)))m=!0,a.last=a.eq?V(d):d,a.fn(d,e===f?d:e,s),q<5&&(C=4-q,p[C]||(p[C]=[]),A=N(a.exp)?"fn: "+(a.exp.name||a.exp.toString()):
|
||||
a.exp,A+="; newVal: "+da(d)+"; oldVal: "+da(e),p[C].push(A))}catch(W){c(W)}if(!(i=s.$$childHead||s!==this&&s.$$nextSibling))for(;s!==this&&!(i=s.$$nextSibling);)s=s.$parent}while(s=i);if(m&&!q--)throw h.$$phase=null,B(b+" $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: "+da(p));}while(m||r.length);h.$$phase=null},$destroy:function(){if(h!=this){var a=this.$parent;this.$broadcast("$destroy");if(a.$$childHead==this)a.$$childHead=this.$$nextSibling;if(a.$$childTail==
|
||||
this)a.$$childTail=this.$$prevSibling;if(this.$$prevSibling)this.$$prevSibling.$$nextSibling=this.$$nextSibling;if(this.$$nextSibling)this.$$nextSibling.$$prevSibling=this.$$prevSibling;this.$parent=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null}},$eval:function(a,b){return d(a)(this,b)},$evalAsync:function(a){this.$$asyncQueue.push(a)},$apply:function(a){try{return g("$apply"),this.$eval(a)}catch(b){c(b)}finally{h.$$phase=null;try{h.$digest()}catch(d){throw c(d),d;}}},
|
||||
$on:function(a,b){var c=this.$$listeners[a];c||(this.$$listeners[a]=c=[]);c.push(b);return function(){c[za(c,b)]=null}},$emit:function(a,b){var d=[],e,f=this,g=!1,h={name:a,targetScope:f,stopPropagation:function(){g=!0},preventDefault:function(){h.defaultPrevented=!0},defaultPrevented:!1},i=[h].concat(ia.call(arguments,1)),m,p;do{e=f.$$listeners[a]||d;h.currentScope=f;m=0;for(p=e.length;m<p;m++)if(e[m])try{if(e[m].apply(null,i),g)return h}catch(C){c(C)}else e.splice(m,1),m--,p--;f=f.$parent}while(f);
|
||||
return h},$broadcast:function(a,b){var d=this,e=this,f={name:a,targetScope:this,preventDefault:function(){f.defaultPrevented=!0},defaultPrevented:!1},g=[f].concat(ia.call(arguments,1)),h,i;do{d=e;f.currentScope=d;e=d.$$listeners[a]||[];h=0;for(i=e.length;h<i;h++)if(e[h])try{e[h].apply(null,g)}catch(m){c(m)}else e.splice(h,1),h--,i--;if(!(e=d.$$childHead||d!==this&&d.$$nextSibling))for(;d!==this&&!(e=d.$$nextSibling);)d=d.$parent}while(d=e);return f}};var h=new e;return h}]}function Tc(){this.$get=
|
||||
["$window",function(b){var a={},c=G((/android (\d+)/.exec(E(b.navigator.userAgent))||[])[1]);return{history:!(!b.history||!b.history.pushState||c<4),hashchange:"onhashchange"in b&&(!b.document.documentMode||b.document.documentMode>7),hasEvent:function(c){if(c=="input"&&aa==9)return!1;if(t(a[c])){var e=b.document.createElement("div");a[c]="on"+c in e}return a[c]},csp:!1}}]}function Uc(){this.$get=I(U)}function Mb(b){var a={},c,d,e;if(!b)return a;m(b.split("\n"),function(b){e=b.indexOf(":");c=E(R(b.substr(0,
|
||||
e)));d=R(b.substr(e+1));c&&(a[c]?a[c]+=", "+d:a[c]=d)});return a}function Nb(b){var a=L(b)?b:p;return function(c){a||(a=Mb(b));return c?a[E(c)]||null:a}}function Ob(b,a,c){if(N(c))return c(b,a);m(c,function(c){b=c(b,a)});return b}function Vc(){var b=/^\s*(\[|\{[^\{])/,a=/[\}\]]\s*$/,c=/^\)\]\}',?\n/,d=this.defaults={transformResponse:[function(d){F(d)&&(d=d.replace(c,""),b.test(d)&&a.test(d)&&(d=nb(d,!0)));return d}],transformRequest:[function(a){return L(a)&&Sa.apply(a)!=="[object File]"?da(a):a}],
|
||||
headers:{common:{Accept:"application/json, text/plain, */*","X-Requested-With":"XMLHttpRequest"},post:{"Content-Type":"application/json;charset=utf-8"},put:{"Content-Type":"application/json;charset=utf-8"}}},e=this.responseInterceptors=[];this.$get=["$httpBackend","$browser","$cacheFactory","$rootScope","$q","$injector",function(a,b,c,h,k,j){function l(a){function c(a){var b=x({},a,{data:Ob(a.data,a.headers,f)});return 200<=a.status&&a.status<300?b:k.reject(b)}a.method=la(a.method);var e=a.transformRequest||
|
||||
d.transformRequest,f=a.transformResponse||d.transformResponse,h=d.headers,h=x({"X-XSRF-TOKEN":b.cookies()["XSRF-TOKEN"]},h.common,h[E(a.method)],a.headers),e=Ob(a.data,Nb(h),e),g;t(a.data)&&delete h["Content-Type"];g=o(a,e,h);g=g.then(c,c);m(w,function(a){g=a(g)});g.success=function(b){g.then(function(c){b(c.data,c.status,c.headers,a)});return g};g.error=function(b){g.then(null,function(c){b(c.data,c.status,c.headers,a)});return g};return g}function o(b,c,d){function e(a,b,c){m&&(200<=a&&a<300?m.put(w,
|
||||
[a,b,Mb(c)]):m.remove(w));f(b,a,c);h.$apply()}function f(a,c,d){c=Math.max(c,0);(200<=c&&c<300?j.resolve:j.reject)({data:a,status:c,headers:Nb(d),config:b})}function i(){var a=za(l.pendingRequests,b);a!==-1&&l.pendingRequests.splice(a,1)}var j=k.defer(),o=j.promise,m,p,w=r(b.url,b.params);l.pendingRequests.push(b);o.then(i,i);b.cache&&b.method=="GET"&&(m=L(b.cache)?b.cache:n);if(m)if(p=m.get(w))if(p.then)return p.then(i,i),p;else J(p)?f(p[1],p[0],V(p[2])):f(p,200,{});else m.put(w,o);p||a(b.method,
|
||||
w,c,e,d,b.timeout,b.withCredentials);return o}function r(a,b){if(!b)return a;var c=[];ec(b,function(a,b){a==null||a==p||(L(a)&&(a=da(a)),c.push(encodeURIComponent(b)+"="+encodeURIComponent(a)))});return a+(a.indexOf("?")==-1?"?":"&")+c.join("&")}var n=c("$http"),w=[];m(e,function(a){w.push(F(a)?j.get(a):j.invoke(a))});l.pendingRequests=[];(function(a){m(arguments,function(a){l[a]=function(b,c){return l(x(c||{},{method:a,url:b}))}})})("get","delete","head","jsonp");(function(a){m(arguments,function(a){l[a]=
|
||||
function(b,c,d){return l(x(d||{},{method:a,url:b,data:c}))}})})("post","put");l.defaults=d;return l}]}function Wc(){this.$get=["$browser","$window","$document",function(b,a,c){return Xc(b,Yc,b.defer,a.angular.callbacks,c[0],a.location.protocol.replace(":",""))}]}function Xc(b,a,c,d,e,g){function i(a,b){var c=e.createElement("script"),d=function(){e.body.removeChild(c);b&&b()};c.type="text/javascript";c.src=a;aa?c.onreadystatechange=function(){/loaded|complete/.test(c.readyState)&&d()}:c.onload=c.onerror=
|
||||
d;e.body.appendChild(c)}return function(e,h,k,j,l,o,r){function n(a,c,d,e){c=(h.match(Fb)||["",g])[1]=="file"?d?200:404:c;a(c==1223?204:c,d,e);b.$$completeOutstandingRequest(D)}b.$$incOutstandingRequestCount();h=h||b.url();if(E(e)=="jsonp"){var p="_"+(d.counter++).toString(36);d[p]=function(a){d[p].data=a};i(h.replace("JSON_CALLBACK","angular.callbacks."+p),function(){d[p].data?n(j,200,d[p].data):n(j,-2);delete d[p]})}else{var q=new a;q.open(e,h,!0);m(l,function(a,b){a&&q.setRequestHeader(b,a)});
|
||||
var s;q.onreadystatechange=function(){q.readyState==4&&n(j,s||q.status,q.responseText,q.getAllResponseHeaders())};if(r)q.withCredentials=!0;q.send(k||"");o>0&&c(function(){s=-1;q.abort()},o)}}}function Zc(){this.$get=function(){return{id:"en-us",NUMBER_FORMATS:{DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{minInt:1,minFrac:0,maxFrac:3,posPre:"",posSuf:"",negPre:"-",negSuf:"",gSize:3,lgSize:3},{minInt:1,minFrac:2,maxFrac:2,posPre:"\u00a4",posSuf:"",negPre:"(\u00a4",negSuf:")",gSize:3,lgSize:3}],CURRENCY_SYM:"$"},
|
||||
DATETIME_FORMATS:{MONTH:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),SHORTMONTH:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),DAY:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),SHORTDAY:"Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(","),AMPMS:["AM","PM"],medium:"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a",fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",mediumDate:"MMM d, y",shortDate:"M/d/yy",mediumTime:"h:mm:ss a",
|
||||
shortTime:"h:mm a"},pluralCat:function(b){return b===1?"one":"other"}}}}function $c(){this.$get=["$rootScope","$browser","$q","$exceptionHandler",function(b,a,c,d){function e(e,f,h){var k=c.defer(),j=k.promise,l=v(h)&&!h,f=a.defer(function(){try{k.resolve(e())}catch(a){k.reject(a),d(a)}l||b.$apply()},f),h=function(){delete g[j.$$timeoutId]};j.$$timeoutId=f;g[f]=k;j.then(h,h);return j}var g={};e.cancel=function(b){return b&&b.$$timeoutId in g?(g[b.$$timeoutId].reject("canceled"),a.defer.cancel(b.$$timeoutId)):
|
||||
!1};return e}]}function Pb(b){function a(a,e){return b.factory(a+c,e)}var c="Filter";this.register=a;this.$get=["$injector",function(a){return function(b){return a.get(b+c)}}];a("currency",Qb);a("date",Rb);a("filter",ad);a("json",bd);a("limitTo",cd);a("lowercase",dd);a("number",Sb);a("orderBy",Tb);a("uppercase",ed)}function ad(){return function(b,a){if(!(b instanceof Array))return b;var c=[];c.check=function(a){for(var b=0;b<c.length;b++)if(!c[b](a))return!1;return!0};var d=function(a,b){if(b.charAt(0)===
|
||||
"!")return!d(a,b.substr(1));switch(typeof a){case "boolean":case "number":case "string":return(""+a).toLowerCase().indexOf(b)>-1;case "object":for(var c in a)if(c.charAt(0)!=="$"&&d(a[c],b))return!0;return!1;case "array":for(c=0;c<a.length;c++)if(d(a[c],b))return!0;return!1;default:return!1}};switch(typeof a){case "boolean":case "number":case "string":a={$:a};case "object":for(var e in a)e=="$"?function(){var b=(""+a[e]).toLowerCase();b&&c.push(function(a){return d(a,b)})}():function(){var b=e,f=
|
||||
(""+a[e]).toLowerCase();f&&c.push(function(a){return d(fb(a,b),f)})}();break;case "function":c.push(a);break;default:return b}for(var g=[],i=0;i<b.length;i++){var f=b[i];c.check(f)&&g.push(f)}return g}}function Qb(b){var a=b.NUMBER_FORMATS;return function(b,d){if(t(d))d=a.CURRENCY_SYM;return Ub(b,a.PATTERNS[1],a.GROUP_SEP,a.DECIMAL_SEP,2).replace(/\u00A4/g,d)}}function Sb(b){var a=b.NUMBER_FORMATS;return function(b,d){return Ub(b,a.PATTERNS[0],a.GROUP_SEP,a.DECIMAL_SEP,d)}}function Ub(b,a,c,d,e){if(isNaN(b)||
|
||||
!isFinite(b))return"";var g=b<0,b=Math.abs(b),i=b+"",f="",h=[],k=!1;if(i.indexOf("e")!==-1){var j=i.match(/([\d\.]+)e(-?)(\d+)/);j&&j[2]=="-"&&j[3]>e+1?i="0":(f=i,k=!0)}if(!k){i=(i.split(Vb)[1]||"").length;t(e)&&(e=Math.min(Math.max(a.minFrac,i),a.maxFrac));var i=Math.pow(10,e),b=Math.round(b*i)/i,b=(""+b).split(Vb),i=b[0],b=b[1]||"",k=0,j=a.lgSize,l=a.gSize;if(i.length>=j+l)for(var k=i.length-j,o=0;o<k;o++)(k-o)%l===0&&o!==0&&(f+=c),f+=i.charAt(o);for(o=k;o<i.length;o++)(i.length-o)%j===0&&o!==0&&
|
||||
(f+=c),f+=i.charAt(o);for(;b.length<e;)b+="0";e&&(f+=d+b.substr(0,e))}h.push(g?a.negPre:a.posPre);h.push(f);h.push(g?a.negSuf:a.posSuf);return h.join("")}function ib(b,a,c){var d="";b<0&&(d="-",b=-b);for(b=""+b;b.length<a;)b="0"+b;c&&(b=b.substr(b.length-a));return d+b}function P(b,a,c,d){return function(e){e=e["get"+b]();if(c>0||e>-c)e+=c;e===0&&c==-12&&(e=12);return ib(e,a,d)}}function La(b,a){return function(c,d){var e=c["get"+b](),g=la(a?"SHORT"+b:b);return d[g][e]}}function Rb(b){function a(a){var b;
|
||||
if(b=a.match(c)){var a=new Date(0),g=0,i=0;b[9]&&(g=G(b[9]+b[10]),i=G(b[9]+b[11]));a.setUTCFullYear(G(b[1]),G(b[2])-1,G(b[3]));a.setUTCHours(G(b[4]||0)-g,G(b[5]||0)-i,G(b[6]||0),G(b[7]||0))}return a}var c=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(c,e){var g="",i=[],f,h,e=e||"mediumDate",e=b.DATETIME_FORMATS[e]||e;F(c)&&(c=fd.test(c)?G(c):a(c));wa(c)&&(c=new Date(c));if(!na(c))return c;for(;e;)(h=gd.exec(e))?(i=i.concat(ia.call(h,
|
||||
1)),e=i.pop()):(i.push(e),e=null);m(i,function(a){f=hd[a];g+=f?f(c,b.DATETIME_FORMATS):a.replace(/(^'|'$)/g,"").replace(/''/g,"'")});return g}}function bd(){return function(b){return da(b,!0)}}function cd(){return function(b,a){if(!(b instanceof Array))return b;var a=G(a),c=[],d,e;if(!b||!(b instanceof Array))return c;a>b.length?a=b.length:a<-b.length&&(a=-b.length);a>0?(d=0,e=a):(d=b.length+a,e=b.length);for(;d<e;d++)c.push(b[d]);return c}}function Tb(b){return function(a,c,d){function e(a,b){return Wa(b)?
|
||||
function(b,c){return a(c,b)}:a}if(!(a instanceof Array))return a;if(!c)return a;for(var c=J(c)?c:[c],c=Ta(c,function(a){var c=!1,d=a||ma;if(F(a)){if(a.charAt(0)=="+"||a.charAt(0)=="-")c=a.charAt(0)=="-",a=a.substring(1);d=b(a)}return e(function(a,b){var c;c=d(a);var e=d(b),f=typeof c,g=typeof e;f==g?(f=="string"&&(c=c.toLowerCase()),f=="string"&&(e=e.toLowerCase()),c=c===e?0:c<e?-1:1):c=f<g?-1:1;return c},c)}),g=[],i=0;i<a.length;i++)g.push(a[i]);return g.sort(e(function(a,b){for(var d=0;d<c.length;d++){var e=
|
||||
c[d](a,b);if(e!==0)return e}return 0},d))}}function S(b){N(b)&&(b={link:b});b.restrict=b.restrict||"AC";return I(b)}function Wb(b,a){function c(a,c){c=c?"-"+$a(c,"-"):"";b.removeClass((a?Ma:Na)+c).addClass((a?Na:Ma)+c)}var d=this,e=b.parent().controller("form")||Oa,g=0,i=d.$error={};d.$name=a.name;d.$dirty=!1;d.$pristine=!0;d.$valid=!0;d.$invalid=!1;e.$addControl(d);b.addClass(Pa);c(!0);d.$addControl=function(a){a.$name&&!d.hasOwnProperty(a.$name)&&(d[a.$name]=a)};d.$removeControl=function(a){a.$name&&
|
||||
d[a.$name]===a&&delete d[a.$name];m(i,function(b,c){d.$setValidity(c,!0,a)})};d.$setValidity=function(a,b,k){var j=i[a];if(b){if(j&&(Ua(j,k),!j.length)){g--;if(!g)c(b),d.$valid=!0,d.$invalid=!1;i[a]=!1;c(!0,a);e.$setValidity(a,!0,d)}}else{g||c(b);if(j){if(za(j,k)!=-1)return}else i[a]=j=[],g++,c(!1,a),e.$setValidity(a,!1,d);j.push(k);d.$valid=!1;d.$invalid=!0}};d.$setDirty=function(){b.removeClass(Pa).addClass(Xb);d.$dirty=!0;d.$pristine=!1;e.$setDirty()}}function T(b){return t(b)||b===""||b===null||
|
||||
b!==b}function Qa(b,a,c,d,e,g){var i=function(){var c=R(a.val());d.$viewValue!==c&&b.$apply(function(){d.$setViewValue(c)})};if(e.hasEvent("input"))a.bind("input",i);else{var f;a.bind("keydown",function(a){a=a.keyCode;a===91||15<a&&a<19||37<=a&&a<=40||f||(f=g.defer(function(){i();f=null}))});a.bind("change",i)}d.$render=function(){a.val(T(d.$viewValue)?"":d.$viewValue)};var h=c.ngPattern,k=function(a,b){return T(b)||a.test(b)?(d.$setValidity("pattern",!0),b):(d.$setValidity("pattern",!1),p)};h&&(h.match(/^\/(.*)\/$/)?
|
||||
(h=RegExp(h.substr(1,h.length-2)),e=function(a){return k(h,a)}):e=function(a){var c=b.$eval(h);if(!c||!c.test)throw new B("Expected "+h+" to be a RegExp but was "+c);return k(c,a)},d.$formatters.push(e),d.$parsers.push(e));if(c.ngMinlength){var j=G(c.ngMinlength),e=function(a){return!T(a)&&a.length<j?(d.$setValidity("minlength",!1),p):(d.$setValidity("minlength",!0),a)};d.$parsers.push(e);d.$formatters.push(e)}if(c.ngMaxlength){var l=G(c.ngMaxlength),c=function(a){return!T(a)&&a.length>l?(d.$setValidity("maxlength",
|
||||
!1),p):(d.$setValidity("maxlength",!0),a)};d.$parsers.push(c);d.$formatters.push(c)}}function jb(b,a){b="ngClass"+b;return S(function(c,d,e){function g(b,d){if(a===!0||c.$index%2===a)d&&b!==d&&i(d),f(b)}function i(a){L(a)&&!J(a)&&(a=Ta(a,function(a,b){if(a)return b}));d.removeClass(J(a)?a.join(" "):a)}function f(a){L(a)&&!J(a)&&(a=Ta(a,function(a,b){if(a)return b}));a&&d.addClass(J(a)?a.join(" "):a)}c.$watch(e[b],g,!0);e.$observe("class",function(){var a=c.$eval(e[b]);g(a,a)});b!=="ngClass"&&c.$watch("$index",
|
||||
function(d,g){var j=d%2;j!==g%2&&(j==a?f(c.$eval(e[b])):i(c.$eval(e[b])))})})}var E=function(b){return F(b)?b.toLowerCase():b},la=function(b){return F(b)?b.toUpperCase():b},B=U.Error,aa=G((/msie (\d+)/.exec(E(navigator.userAgent))||[])[1]),u,ja,ia=[].slice,Ra=[].push,Sa=Object.prototype.toString,Yb=U.angular||(U.angular={}),ta,Cb,Z=["0","0","0"];D.$inject=[];ma.$inject=[];Cb=aa<9?function(b){b=b.nodeName?b:b[0];return b.scopeName&&b.scopeName!="HTML"?la(b.scopeName+":"+b.nodeName):b.nodeName}:function(b){return b.nodeName?
|
||||
b.nodeName:b[0].nodeName};var kc=/[A-Z]/g,id={full:"1.0.3",major:1,minor:0,dot:3,codeName:"bouncy-thunder"},Ba=Q.cache={},Aa=Q.expando="ng-"+(new Date).getTime(),oc=1,Zb=U.document.addEventListener?function(b,a,c){b.addEventListener(a,c,!1)}:function(b,a,c){b.attachEvent("on"+a,c)},db=U.document.removeEventListener?function(b,a,c){b.removeEventListener(a,c,!1)}:function(b,a,c){b.detachEvent("on"+a,c)},mc=/([\:\-\_]+(.))/g,nc=/^moz([A-Z])/,ua=Q.prototype={ready:function(b){function a(){c||(c=!0,b())}
|
||||
var c=!1;this.bind("DOMContentLoaded",a);Q(U).bind("load",a)},toString:function(){var b=[];m(this,function(a){b.push(""+a)});return"["+b.join(", ")+"]"},eq:function(b){return b>=0?u(this[b]):u(this[this.length+b])},length:0,push:Ra,sort:[].sort,splice:[].splice},Ea={};m("multiple,selected,checked,disabled,readOnly,required".split(","),function(b){Ea[E(b)]=b});var zb={};m("input,select,option,textarea,button,form".split(","),function(b){zb[la(b)]=!0});m({data:ub,inheritedData:Da,scope:function(b){return Da(b,
|
||||
"$scope")},controller:xb,injector:function(b){return Da(b,"$injector")},removeAttr:function(b,a){b.removeAttribute(a)},hasClass:Ca,css:function(b,a,c){a=rb(a);if(v(c))b.style[a]=c;else{var d;aa<=8&&(d=b.currentStyle&&b.currentStyle[a],d===""&&(d="auto"));d=d||b.style[a];aa<=8&&(d=d===""?p:d);return d}},attr:function(b,a,c){var d=E(a);if(Ea[d])if(v(c))c?(b[a]=!0,b.setAttribute(a,d)):(b[a]=!1,b.removeAttribute(d));else return b[a]||(b.attributes.getNamedItem(a)||D).specified?d:p;else if(v(c))b.setAttribute(a,
|
||||
c);else if(b.getAttribute)return b=b.getAttribute(a,2),b===null?p:b},prop:function(b,a,c){if(v(c))b[a]=c;else return b[a]},text:x(aa<9?function(b,a){if(b.nodeType==1){if(t(a))return b.innerText;b.innerText=a}else{if(t(a))return b.nodeValue;b.nodeValue=a}}:function(b,a){if(t(a))return b.textContent;b.textContent=a},{$dv:""}),val:function(b,a){if(t(a))return b.value;b.value=a},html:function(b,a){if(t(a))return b.innerHTML;for(var c=0,d=b.childNodes;c<d.length;c++)sa(d[c]);b.innerHTML=a}},function(b,
|
||||
a){Q.prototype[a]=function(a,d){var e,g;if((b.length==2&&b!==Ca&&b!==xb?a:d)===p)if(L(a)){for(e=0;e<this.length;e++)if(b===ub)b(this[e],a);else for(g in a)b(this[e],g,a[g]);return this}else{if(this.length)return b(this[0],a,d)}else{for(e=0;e<this.length;e++)b(this[e],a,d);return this}return b.$dv}});m({removeData:sb,dealoc:sa,bind:function a(c,d,e){var g=$(c,"events"),i=$(c,"handle");g||$(c,"events",g={});i||$(c,"handle",i=pc(c,g));m(d.split(" "),function(d){var h=g[d];if(!h){if(d=="mouseenter"||
|
||||
d=="mouseleave"){var k=0;g.mouseenter=[];g.mouseleave=[];a(c,"mouseover",function(a){k++;k==1&&i(a,"mouseenter")});a(c,"mouseout",function(a){k--;k==0&&i(a,"mouseleave")})}else Zb(c,d,i),g[d]=[];h=g[d]}h.push(e)})},unbind:tb,replaceWith:function(a,c){var d,e=a.parentNode;sa(a);m(new Q(c),function(c){d?e.insertBefore(c,d.nextSibling):e.replaceChild(c,a);d=c})},children:function(a){var c=[];m(a.childNodes,function(a){a.nodeName!="#text"&&c.push(a)});return c},contents:function(a){return a.childNodes},
|
||||
append:function(a,c){m(new Q(c),function(c){a.nodeType===1&&a.appendChild(c)})},prepend:function(a,c){if(a.nodeType===1){var d=a.firstChild;m(new Q(c),function(c){d?a.insertBefore(c,d):(a.appendChild(c),d=c)})}},wrap:function(a,c){var c=u(c)[0],d=a.parentNode;d&&d.replaceChild(c,a);c.appendChild(a)},remove:function(a){sa(a);var c=a.parentNode;c&&c.removeChild(a)},after:function(a,c){var d=a,e=a.parentNode;m(new Q(c),function(a){e.insertBefore(a,d.nextSibling);d=a})},addClass:wb,removeClass:vb,toggleClass:function(a,
|
||||
c,d){t(d)&&(d=!Ca(a,c));(d?wb:vb)(a,c)},parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},next:function(a){return a.nextSibling},find:function(a,c){return a.getElementsByTagName(c)},clone:cb,triggerHandler:function(a,c){var d=($(a,"events")||{})[c];m(d,function(c){c.call(a,null)})}},function(a,c){Q.prototype[c]=function(c,e){for(var g,i=0;i<this.length;i++)g==p?(g=a(this[i],c,e),g!==p&&(g=u(g))):bb(g,a(this[i],c,e));return g==p?this:g}});Fa.prototype={put:function(a,c){this[ga(a)]=
|
||||
c},get:function(a){return this[ga(a)]},remove:function(a){var c=this[a=ga(a)];delete this[a];return c}};eb.prototype={push:function(a,c){var d=this[a=ga(a)];d?d.push(c):this[a]=[c]},shift:function(a){var c=this[a=ga(a)];if(c)return c.length==1?(delete this[a],c[0]):c.shift()},peek:function(a){if(a=this[ga(a)])return a[0]}};var rc=/^function\s*[^\(]*\(\s*([^\)]*)\)/m,sc=/,/,tc=/^\s*(_?)(\S+?)\1\s*$/,qc=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg,Db="Non-assignable model expression: ";Bb.$inject=["$provide"];
|
||||
var Ac=/^(x[\:\-_]|data[\:\-_])/i,Fb=/^([^:]+):\/\/(\w+:{0,1}\w*@)?([\w\.-]*)(:([0-9]+))?(\/[^\?#]*)?(\?([^#]*))?(#(.*))?$/,$b=/^([^\?#]*)?(\?([^#]*))?(#(.*))?$/,Hc=$b,Gb={http:80,https:443,ftp:21};gb.prototype={$$replace:!1,absUrl:Ja("$$absUrl"),url:function(a,c){if(t(a))return this.$$url;var d=$b.exec(a);d[1]&&this.path(decodeURIComponent(d[1]));if(d[2]||d[1])this.search(d[3]||"");this.hash(d[5]||"",c);return this},protocol:Ja("$$protocol"),host:Ja("$$host"),port:Ja("$$port"),path:Ib("$$path",function(a){return a.charAt(0)==
|
||||
"/"?a:"/"+a}),search:function(a,c){if(t(a))return this.$$search;v(c)?c===null?delete this.$$search[a]:this.$$search[a]=c:this.$$search=F(a)?Xa(a):a;this.$$compose();return this},hash:Ib("$$hash",ma),replace:function(){this.$$replace=!0;return this}};Ia.prototype=ya(gb.prototype);Hb.prototype=ya(Ia.prototype);var Ka={"null":function(){return null},"true":function(){return!0},"false":function(){return!1},undefined:D,"+":function(a,c,d,e){d=d(a,c);e=e(a,c);return v(d)?v(e)?d+e:d:v(e)?e:p},"-":function(a,
|
||||
c,d,e){d=d(a,c);e=e(a,c);return(v(d)?d:0)-(v(e)?e:0)},"*":function(a,c,d,e){return d(a,c)*e(a,c)},"/":function(a,c,d,e){return d(a,c)/e(a,c)},"%":function(a,c,d,e){return d(a,c)%e(a,c)},"^":function(a,c,d,e){return d(a,c)^e(a,c)},"=":D,"==":function(a,c,d,e){return d(a,c)==e(a,c)},"!=":function(a,c,d,e){return d(a,c)!=e(a,c)},"<":function(a,c,d,e){return d(a,c)<e(a,c)},">":function(a,c,d,e){return d(a,c)>e(a,c)},"<=":function(a,c,d,e){return d(a,c)<=e(a,c)},">=":function(a,c,d,e){return d(a,c)>=e(a,
|
||||
c)},"&&":function(a,c,d,e){return d(a,c)&&e(a,c)},"||":function(a,c,d,e){return d(a,c)||e(a,c)},"&":function(a,c,d,e){return d(a,c)&e(a,c)},"|":function(a,c,d,e){return e(a,c)(a,c,d(a,c))},"!":function(a,c,d){return!d(a,c)}},Lc={n:"\n",f:"\u000c",r:"\r",t:"\t",v:"\u000b","'":"'",'"':'"'},hb={},Yc=U.XMLHttpRequest||function(){try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(a){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(c){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(d){}throw new B("This browser does not support XMLHttpRequest.");
|
||||
};Pb.$inject=["$provide"];Qb.$inject=["$locale"];Sb.$inject=["$locale"];var Vb=".",hd={yyyy:P("FullYear",4),yy:P("FullYear",2,0,!0),y:P("FullYear",1),MMMM:La("Month"),MMM:La("Month",!0),MM:P("Month",2,1),M:P("Month",1,1),dd:P("Date",2),d:P("Date",1),HH:P("Hours",2),H:P("Hours",1),hh:P("Hours",2,-12),h:P("Hours",1,-12),mm:P("Minutes",2),m:P("Minutes",1),ss:P("Seconds",2),s:P("Seconds",1),EEEE:La("Day"),EEE:La("Day",!0),a:function(a,c){return a.getHours()<12?c.AMPMS[0]:c.AMPMS[1]},Z:function(a){a=a.getTimezoneOffset();
|
||||
return ib(a/60,2)+ib(Math.abs(a%60),2)}},gd=/((?:[^yMdHhmsaZE']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z))(.*)/,fd=/^\d+$/;Rb.$inject=["$locale"];var dd=I(E),ed=I(la);Tb.$inject=["$parse"];var jd=I({restrict:"E",compile:function(a,c){c.href||c.$set("href","");return function(a,c){c.bind("click",function(a){if(!c.attr("href"))return a.preventDefault(),!1})}}}),kb={};m(Ea,function(a,c){var d=fa("ng-"+c);kb[d]=function(){return{priority:100,compile:function(){return function(a,g,i){a.$watch(i[d],
|
||||
function(a){i.$set(c,!!a)})}}}}});m(["src","href"],function(a){var c=fa("ng-"+a);kb[c]=function(){return{priority:99,link:function(d,e,g){g.$observe(c,function(c){c&&(g.$set(a,c),aa&&e.prop(a,c))})}}}});var Oa={$addControl:D,$removeControl:D,$setValidity:D,$setDirty:D};Wb.$inject=["$element","$attrs","$scope"];var Ra=function(a){return["$timeout",function(c){var d={name:"form",restrict:"E",controller:Wb,compile:function(){return{pre:function(a,d,i,f){if(!i.action){var h=function(a){a.preventDefault?
|
||||
a.preventDefault():a.returnValue=!1};Zb(d[0],"submit",h);d.bind("$destroy",function(){c(function(){db(d[0],"submit",h)},0,!1)})}var k=d.parent().controller("form"),j=i.name||i.ngForm;j&&(a[j]=f);k&&d.bind("$destroy",function(){k.$removeControl(f);j&&(a[j]=p);x(f,Oa)})}}}};return a?x(V(d),{restrict:"EAC"}):d}]},kd=Ra(),ld=Ra(!0),md=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,nd=/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/,od=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/,
|
||||
ac={text:Qa,number:function(a,c,d,e,g,i){Qa(a,c,d,e,g,i);e.$parsers.push(function(a){var c=T(a);return c||od.test(a)?(e.$setValidity("number",!0),a===""?null:c?a:parseFloat(a)):(e.$setValidity("number",!1),p)});e.$formatters.push(function(a){return T(a)?"":""+a});if(d.min){var f=parseFloat(d.min),a=function(a){return!T(a)&&a<f?(e.$setValidity("min",!1),p):(e.$setValidity("min",!0),a)};e.$parsers.push(a);e.$formatters.push(a)}if(d.max){var h=parseFloat(d.max),d=function(a){return!T(a)&&a>h?(e.$setValidity("max",
|
||||
!1),p):(e.$setValidity("max",!0),a)};e.$parsers.push(d);e.$formatters.push(d)}e.$formatters.push(function(a){return T(a)||wa(a)?(e.$setValidity("number",!0),a):(e.$setValidity("number",!1),p)})},url:function(a,c,d,e,g,i){Qa(a,c,d,e,g,i);a=function(a){return T(a)||md.test(a)?(e.$setValidity("url",!0),a):(e.$setValidity("url",!1),p)};e.$formatters.push(a);e.$parsers.push(a)},email:function(a,c,d,e,g,i){Qa(a,c,d,e,g,i);a=function(a){return T(a)||nd.test(a)?(e.$setValidity("email",!0),a):(e.$setValidity("email",
|
||||
!1),p)};e.$formatters.push(a);e.$parsers.push(a)},radio:function(a,c,d,e){t(d.name)&&c.attr("name",xa());c.bind("click",function(){c[0].checked&&a.$apply(function(){e.$setViewValue(d.value)})});e.$render=function(){c[0].checked=d.value==e.$viewValue};d.$observe("value",e.$render)},checkbox:function(a,c,d,e){var g=d.ngTrueValue,i=d.ngFalseValue;F(g)||(g=!0);F(i)||(i=!1);c.bind("click",function(){a.$apply(function(){e.$setViewValue(c[0].checked)})});e.$render=function(){c[0].checked=e.$viewValue};e.$formatters.push(function(a){return a===
|
||||
g});e.$parsers.push(function(a){return a?g:i})},hidden:D,button:D,submit:D,reset:D},bc=["$browser","$sniffer",function(a,c){return{restrict:"E",require:"?ngModel",link:function(d,e,g,i){i&&(ac[E(g.type)]||ac.text)(d,e,g,i,c,a)}}}],Na="ng-valid",Ma="ng-invalid",Pa="ng-pristine",Xb="ng-dirty",pd=["$scope","$exceptionHandler","$attrs","$element","$parse",function(a,c,d,e,g){function i(a,c){c=c?"-"+$a(c,"-"):"";e.removeClass((a?Ma:Na)+c).addClass((a?Na:Ma)+c)}this.$modelValue=this.$viewValue=Number.NaN;
|
||||
this.$parsers=[];this.$formatters=[];this.$viewChangeListeners=[];this.$pristine=!0;this.$dirty=!1;this.$valid=!0;this.$invalid=!1;this.$name=d.name;var f=g(d.ngModel),h=f.assign;if(!h)throw B(Db+d.ngModel+" ("+pa(e)+")");this.$render=D;var k=e.inheritedData("$formController")||Oa,j=0,l=this.$error={};e.addClass(Pa);i(!0);this.$setValidity=function(a,c){if(l[a]!==!c){if(c){if(l[a]&&j--,!j)i(!0),this.$valid=!0,this.$invalid=!1}else i(!1),this.$invalid=!0,this.$valid=!1,j++;l[a]=!c;i(c,a);k.$setValidity(a,
|
||||
c,this)}};this.$setViewValue=function(d){this.$viewValue=d;if(this.$pristine)this.$dirty=!0,this.$pristine=!1,e.removeClass(Pa).addClass(Xb),k.$setDirty();m(this.$parsers,function(a){d=a(d)});if(this.$modelValue!==d)this.$modelValue=d,h(a,d),m(this.$viewChangeListeners,function(a){try{a()}catch(d){c(d)}})};var o=this;a.$watch(function(){var c=f(a);if(o.$modelValue!==c){var d=o.$formatters,e=d.length;for(o.$modelValue=c;e--;)c=d[e](c);if(o.$viewValue!==c)o.$viewValue=c,o.$render()}})}],qd=function(){return{require:["ngModel",
|
||||
"^?form"],controller:pd,link:function(a,c,d,e){var g=e[0],i=e[1]||Oa;i.$addControl(g);c.bind("$destroy",function(){i.$removeControl(g)})}}},rd=I({require:"ngModel",link:function(a,c,d,e){e.$viewChangeListeners.push(function(){a.$eval(d.ngChange)})}}),cc=function(){return{require:"?ngModel",link:function(a,c,d,e){if(e){d.required=!0;var g=function(a){if(d.required&&(T(a)||a===!1))e.$setValidity("required",!1);else return e.$setValidity("required",!0),a};e.$formatters.push(g);e.$parsers.unshift(g);
|
||||
d.$observe("required",function(){g(e.$viewValue)})}}}},sd=function(){return{require:"ngModel",link:function(a,c,d,e){var g=(a=/\/(.*)\//.exec(d.ngList))&&RegExp(a[1])||d.ngList||",";e.$parsers.push(function(a){var c=[];a&&m(a.split(g),function(a){a&&c.push(R(a))});return c});e.$formatters.push(function(a){return J(a)?a.join(", "):p})}}},td=/^(true|false|\d+)$/,ud=function(){return{priority:100,compile:function(a,c){return td.test(c.ngValue)?function(a,c,g){g.$set("value",a.$eval(g.ngValue))}:function(a,
|
||||
c,g){a.$watch(g.ngValue,function(a){g.$set("value",a,!1)})}}}},vd=S(function(a,c,d){c.addClass("ng-binding").data("$binding",d.ngBind);a.$watch(d.ngBind,function(a){c.text(a==p?"":a)})}),wd=["$interpolate",function(a){return function(c,d,e){c=a(d.attr(e.$attr.ngBindTemplate));d.addClass("ng-binding").data("$binding",c);e.$observe("ngBindTemplate",function(a){d.text(a)})}}],xd=[function(){return function(a,c,d){c.addClass("ng-binding").data("$binding",d.ngBindHtmlUnsafe);a.$watch(d.ngBindHtmlUnsafe,
|
||||
function(a){c.html(a||"")})}}],yd=jb("",!0),zd=jb("Odd",0),Ad=jb("Even",1),Bd=S({compile:function(a,c){c.$set("ngCloak",p);a.removeClass("ng-cloak")}}),Cd=[function(){return{scope:!0,controller:"@"}}],Dd=["$sniffer",function(a){return{priority:1E3,compile:function(){a.csp=!0}}}],dc={};m("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave".split(" "),function(a){var c=fa("ng-"+a);dc[c]=["$parse",function(d){return function(e,g,i){var f=d(i[c]);g.bind(E(a),function(a){e.$apply(function(){f(e,
|
||||
{$event:a})})})}}]});var Ed=S(function(a,c,d){c.bind("submit",function(){a.$apply(d.ngSubmit)})}),Fd=["$http","$templateCache","$anchorScroll","$compile",function(a,c,d,e){return{restrict:"ECA",terminal:!0,compile:function(g,i){var f=i.ngInclude||i.src,h=i.onload||"",k=i.autoscroll;return function(g,i){var o=0,m,n=function(){m&&(m.$destroy(),m=null);i.html("")};g.$watch(f,function(f){var p=++o;f?a.get(f,{cache:c}).success(function(a){p===o&&(m&&m.$destroy(),m=g.$new(),i.html(a),e(i.contents())(m),
|
||||
v(k)&&(!k||g.$eval(k))&&d(),m.$emit("$includeContentLoaded"),g.$eval(h))}).error(function(){p===o&&n()}):n()})}}}}],Gd=S({compile:function(){return{pre:function(a,c,d){a.$eval(d.ngInit)}}}}),Hd=S({terminal:!0,priority:1E3}),Id=["$locale","$interpolate",function(a,c){var d=/{}/g;return{restrict:"EA",link:function(e,g,i){var f=i.count,h=g.attr(i.$attr.when),k=i.offset||0,j=e.$eval(h),l={},o=c.startSymbol(),r=c.endSymbol();m(j,function(a,e){l[e]=c(a.replace(d,o+f+"-"+k+r))});e.$watch(function(){var c=
|
||||
parseFloat(e.$eval(f));return isNaN(c)?"":(j[c]||(c=a.pluralCat(c-k)),l[c](e,g,!0))},function(a){g.text(a)})}}}],Jd=S({transclude:"element",priority:1E3,terminal:!0,compile:function(a,c,d){return function(a,c,i){var f=i.ngRepeat,i=f.match(/^\s*(.+)\s+in\s+(.*)\s*$/),h,k,j;if(!i)throw B("Expected ngRepeat in form of '_item_ in _collection_' but got '"+f+"'.");f=i[1];h=i[2];i=f.match(/^(?:([\$\w]+)|\(([\$\w]+)\s*,\s*([\$\w]+)\))$/);if(!i)throw B("'item' in 'item in collection' should be identifier or (key, value) but got '"+
|
||||
f+"'.");k=i[3]||i[1];j=i[2];var l=new eb;a.$watch(function(a){var e,f,i=a.$eval(h),m=gc(i,!0),p,u=new eb,C,A,v,t,y=c;if(J(i))v=i||[];else{v=[];for(C in i)i.hasOwnProperty(C)&&C.charAt(0)!="$"&&v.push(C);v.sort()}e=0;for(f=v.length;e<f;e++){C=i===v?e:v[e];A=i[C];if(t=l.shift(A)){p=t.scope;u.push(A,t);if(e!==t.index)t.index=e,y.after(t.element);y=t.element}else p=a.$new();p[k]=A;j&&(p[j]=C);p.$index=e;p.$first=e===0;p.$last=e===m-1;p.$middle=!(p.$first||p.$last);t||d(p,function(a){y.after(a);t={scope:p,
|
||||
element:y=a,index:e};u.push(A,t)})}for(C in l)if(l.hasOwnProperty(C))for(v=l[C];v.length;)A=v.pop(),A.element.remove(),A.scope.$destroy();l=u})}}}),Kd=S(function(a,c,d){a.$watch(d.ngShow,function(a){c.css("display",Wa(a)?"":"none")})}),Ld=S(function(a,c,d){a.$watch(d.ngHide,function(a){c.css("display",Wa(a)?"none":"")})}),Md=S(function(a,c,d){a.$watch(d.ngStyle,function(a,d){d&&a!==d&&m(d,function(a,d){c.css(d,"")});a&&c.css(a)},!0)}),Nd=I({restrict:"EA",compile:function(a,c){var d=c.ngSwitch||c.on,
|
||||
e={};a.data("ng-switch",e);return function(a,i){var f,h,k;a.$watch(d,function(d){h&&(k.$destroy(),h.remove(),h=k=null);if(f=e["!"+d]||e["?"])a.$eval(c.change),k=a.$new(),f(k,function(a){h=a;i.append(a)})})}}}),Od=S({transclude:"element",priority:500,compile:function(a,c,d){a=a.inheritedData("ng-switch");qa(a);a["!"+c.ngSwitchWhen]=d}}),Pd=S({transclude:"element",priority:500,compile:function(a,c,d){a=a.inheritedData("ng-switch");qa(a);a["?"]=d}}),Qd=S({controller:["$transclude","$element",function(a,
|
||||
c){a(function(a){c.append(a)})}]}),Rd=["$http","$templateCache","$route","$anchorScroll","$compile","$controller",function(a,c,d,e,g,i){return{restrict:"ECA",terminal:!0,link:function(a,c,k){function j(){var j=d.current&&d.current.locals,k=j&&j.$template;if(k){c.html(k);l&&(l.$destroy(),l=null);var k=g(c.contents()),p=d.current;l=p.scope=a.$new();if(p.controller)j.$scope=l,j=i(p.controller,j),c.contents().data("$ngControllerController",j);k(l);l.$emit("$viewContentLoaded");l.$eval(m);e()}else c.html(""),
|
||||
l&&(l.$destroy(),l=null)}var l,m=k.onload||"";a.$on("$routeChangeSuccess",j);j()}}}],Sd=["$templateCache",function(a){return{restrict:"E",terminal:!0,compile:function(c,d){d.type=="text/ng-template"&&a.put(d.id,c[0].text)}}}],Td=I({terminal:!0}),Ud=["$compile","$parse",function(a,c){var d=/^\s*(.*?)(?:\s+as\s+(.*?))?(?:\s+group\s+by\s+(.*))?\s+for\s+(?:([\$\w][\$\w\d]*)|(?:\(\s*([\$\w][\$\w\d]*)\s*,\s*([\$\w][\$\w\d]*)\s*\)))\s+in\s+(.*)$/,e={$setViewValue:D};return{restrict:"E",require:["select",
|
||||
"?ngModel"],controller:["$element","$scope","$attrs",function(a,c,d){var h=this,k={},j=e,l;h.databound=d.ngModel;h.init=function(a,c,d){j=a;l=d};h.addOption=function(c){k[c]=!0;j.$viewValue==c&&(a.val(c),l.parent()&&l.remove())};h.removeOption=function(a){this.hasOption(a)&&(delete k[a],j.$viewValue==a&&this.renderUnknownOption(a))};h.renderUnknownOption=function(c){c="? "+ga(c)+" ?";l.val(c);a.prepend(l);a.val(c);l.prop("selected",!0)};h.hasOption=function(a){return k.hasOwnProperty(a)};c.$on("$destroy",
|
||||
function(){h.renderUnknownOption=D})}],link:function(e,i,f,h){function k(a,c,d,e){d.$render=function(){var a=d.$viewValue;e.hasOption(a)?(A.parent()&&A.remove(),c.val(a),a===""&&s.prop("selected",!0)):t(a)&&s?c.val(""):e.renderUnknownOption(a)};c.bind("change",function(){a.$apply(function(){A.parent()&&A.remove();d.$setViewValue(c.val())})})}function j(a,c,d){var e;d.$render=function(){var a=new Fa(d.$viewValue);m(c.children(),function(c){c.selected=v(a.get(c.value))})};a.$watch(function(){ha(e,d.$viewValue)||
|
||||
(e=V(d.$viewValue),d.$render())});c.bind("change",function(){a.$apply(function(){var a=[];m(c.children(),function(c){c.selected&&a.push(c.value)});d.$setViewValue(a)})})}function l(e,f,g){function h(){var a={"":[]},c=[""],d,i,s,t,u;s=g.$modelValue;t=r(e)||[];var y=l?lb(t):t,A,w,x;w={};u=!1;var z,B;if(n)u=new Fa(s);else if(s===null||q)a[""].push({selected:s===null,id:"",label:""}),u=!0;for(x=0;A=y.length,x<A;x++){w[k]=t[l?w[l]=y[x]:x];d=m(e,w)||"";if(!(i=a[d]))i=a[d]=[],c.push(d);n?d=u.remove(o(e,
|
||||
w))!=p:(d=s===o(e,w),u=u||d);z=j(e,w);z=z===p?"":z;i.push({id:l?y[x]:x,label:z,selected:d})}!n&&!u&&a[""].unshift({id:"?",label:"",selected:!0});w=0;for(y=c.length;w<y;w++){d=c[w];i=a[d];if(v.length<=w)s={element:C.clone().attr("label",d),label:i.label},t=[s],v.push(t),f.append(s.element);else if(t=v[w],s=t[0],s.label!=d)s.element.attr("label",s.label=d);z=null;x=0;for(A=i.length;x<A;x++)if(d=i[x],u=t[x+1]){z=u.element;if(u.label!==d.label)z.text(u.label=d.label);if(u.id!==d.id)z.val(u.id=d.id);if(u.element.selected!==
|
||||
d.selected)z.prop("selected",u.selected=d.selected)}else d.id===""&&q?B=q:(B=D.clone()).val(d.id).attr("selected",d.selected).text(d.label),t.push({element:B,label:d.label,id:d.id,selected:d.selected}),z?z.after(B):s.element.append(B),z=B;for(x++;t.length>x;)t.pop().element.remove()}for(;v.length>w;)v.pop()[0].element.remove()}var i;if(!(i=w.match(d)))throw B("Expected ngOptions in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '"+w+"'.");var j=c(i[2]||i[1]),k=i[4]||
|
||||
i[6],l=i[5],m=c(i[3]||""),o=c(i[2]?i[1]:k),r=c(i[7]),v=[[{element:f,label:""}]];q&&(a(q)(e),q.removeClass("ng-scope"),q.remove());f.html("");f.bind("change",function(){e.$apply(function(){var a,c=r(e)||[],d={},h,i,j,m,q,s;if(n){i=[];m=0;for(s=v.length;m<s;m++){a=v[m];j=1;for(q=a.length;j<q;j++)if((h=a[j].element)[0].selected)h=h.val(),l&&(d[l]=h),d[k]=c[h],i.push(o(e,d))}}else h=f.val(),h=="?"?i=p:h==""?i=null:(d[k]=c[h],l&&(d[l]=h),i=o(e,d));g.$setViewValue(i)})});g.$render=h;e.$watch(h)}if(h[1]){for(var o=
|
||||
h[0],r=h[1],n=f.multiple,w=f.ngOptions,q=!1,s,D=u(ca.createElement("option")),C=u(ca.createElement("optgroup")),A=D.clone(),h=0,x=i.children(),E=x.length;h<E;h++)if(x[h].value==""){s=q=x.eq(h);break}o.init(r,q,A);if(n&&(f.required||f.ngRequired)){var y=function(a){r.$setValidity("required",!f.required||a&&a.length);return a};r.$parsers.push(y);r.$formatters.unshift(y);f.$observe("required",function(){y(r.$viewValue)})}w?l(e,i,r):n?j(e,i,r):k(e,i,r,o)}}}}],Vd=["$interpolate",function(a){var c={addOption:D,
|
||||
removeOption:D};return{restrict:"E",priority:100,compile:function(d,e){if(t(e.value)){var g=a(d.text(),!0);g||e.$set("value",d.text())}return function(a,d,e){var k=d.parent(),j=k.data("$selectController")||k.parent().data("$selectController");j&&j.databound?d.prop("selected",!1):j=c;g?a.$watch(g,function(a,c){e.$set("value",a);a!==c&&j.removeOption(c);j.addOption(a)}):j.addOption(e.value);d.bind("$destroy",function(){j.removeOption(e.value)})}}}}],Wd=I({restrict:"E",terminal:!0});(ja=U.jQuery)?(u=
|
||||
ja,x(ja.fn,{scope:ua.scope,controller:ua.controller,injector:ua.injector,inheritedData:ua.inheritedData}),ab("remove",!0),ab("empty"),ab("html")):u=Q;Yb.element=u;(function(a){x(a,{bootstrap:pb,copy:V,extend:x,equals:ha,element:u,forEach:m,injector:qb,noop:D,bind:Va,toJson:da,fromJson:nb,identity:ma,isUndefined:t,isDefined:v,isString:F,isFunction:N,isObject:L,isNumber:wa,isElement:fc,isArray:J,version:id,isDate:na,lowercase:E,uppercase:la,callbacks:{counter:0}});ta=lc(U);try{ta("ngLocale")}catch(c){ta("ngLocale",
|
||||
[]).provider("$locale",Zc)}ta("ng",["ngLocale"],["$provide",function(a){a.provider("$compile",Bb).directive({a:jd,input:bc,textarea:bc,form:kd,script:Sd,select:Ud,style:Wd,option:Vd,ngBind:vd,ngBindHtmlUnsafe:xd,ngBindTemplate:wd,ngClass:yd,ngClassEven:Ad,ngClassOdd:zd,ngCsp:Dd,ngCloak:Bd,ngController:Cd,ngForm:ld,ngHide:Ld,ngInclude:Fd,ngInit:Gd,ngNonBindable:Hd,ngPluralize:Id,ngRepeat:Jd,ngShow:Kd,ngSubmit:Ed,ngStyle:Md,ngSwitch:Nd,ngSwitchWhen:Od,ngSwitchDefault:Pd,ngOptions:Td,ngView:Rd,ngTransclude:Qd,
|
||||
ngModel:qd,ngList:sd,ngChange:rd,required:cc,ngRequired:cc,ngValue:ud}).directive(kb).directive(dc);a.provider({$anchorScroll:uc,$browser:wc,$cacheFactory:xc,$controller:Bc,$document:Cc,$exceptionHandler:Dc,$filter:Pb,$interpolate:Ec,$http:Vc,$httpBackend:Wc,$location:Ic,$log:Jc,$parse:Nc,$route:Qc,$routeParams:Rc,$rootScope:Sc,$q:Oc,$sniffer:Tc,$templateCache:yc,$timeout:$c,$window:Uc})}])})(Yb);u(ca).ready(function(){jc(ca,pb)})})(window,document);angular.element(document).find("head").append('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak{display:none;}ng\\:form{display:block;}</style>');
|
||||
File diff suppressed because one or more lines are too long
Binary file not shown.
|
Before Width: | Height: | Size: 8.6 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 12 KiB |
File diff suppressed because one or more lines are too long
5
AndorsTrailEdit/lib/hint.min.css
vendored
5
AndorsTrailEdit/lib/hint.min.css
vendored
@@ -1,5 +0,0 @@
|
||||
/*! Hint.css - v0.1.0 - 2013-02-03
|
||||
* https://github.com/chinchang/hint.css
|
||||
* Copyright (c) 2013 Kushagra Gour; Licensed MIT */
|
||||
|
||||
.hint{position:relative;display:inline-block}.hint:before,.hint:after{position:absolute;opacity:0;z-index:1000000;pointer-events:none;-webkit-transition:.3s ease;-moz-transition:.3s ease}.hint:hover:before,.hint:hover:after{opacity:1}.hint:before{content:'';position:absolute;background:transparent;border:6px solid transparent;z-index:1000001}.hint:after{content:attr(data-hint);background:#383838;color:#fff;text-shadow:0 -1px 0 black;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;box-shadow:4px 4px 8px rgba(0,0,0,.3)}.hint--top:before{border-top-color:#383838}.hint--bottom:before{border-bottom-color:#383838}.hint--left:before{border-left-color:#383838}.hint--right:before{border-right-color:#383838}.hint--top:before{margin-bottom:-12px}.hint--top:after{margin-left:-18px}.hint--top:before,.hint--top:after{bottom:100%;left:50%}.hint--top:hover:before,.hint--top:hover:after{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--bottom:before{margin-top:-12px}.hint--bottom:after{margin-left:-18px}.hint--bottom:before,.hint--bottom:after{top:100%;left:50%}.hint--bottom:hover:before,.hint--bottom:hover:after{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--right:before{margin-left:-12px;margin-bottom:-6px}.hint--right:after{margin-bottom:-14px}.hint--right:before,.hint--right:after{left:100%;bottom:50%}.hint--right:hover:before,.hint--right:hover:after{-webkit-transform:translateX(8px);-moz-transform:translateX(8px);transform:translateX(8px)}.hint--left:before{margin-right:-12px;margin-bottom:-6px}.hint--left:after{margin-bottom:-14px}.hint--left:before,.hint--left:after{right:100%;bottom:50%}.hint--left:hover:before,.hint--left:hover:after{-webkit-transform:translateX(-8px);-moz-transform:translateX(-8px);transform:translateX(-8px)}.hint--error:after{background-color:#b34e4d;text-shadow:0 -1px 0 #5a2626}.hint--error.hint--top:before{border-top-color:#b34e4d}.hint--error.hint--bottom:before{border-bottom-color:#b34e4d}.hint--error.hint--left:before{border-left-color:#b34e4d}.hint--error.hint--right:before{border-right-color:#b34e4d}.hint--warning:after{background-color:#c09854;text-shadow:0 -1px 0 #6d5228}.hint--warning.hint--top:before{border-top-color:#c09854}.hint--warning.hint--bottom:before{border-bottom-color:#c09854}.hint--warning.hint--left:before{border-left-color:#c09854}.hint--warning.hint--right:before{border-right-color:#c09854}.hint--info:after{background-color:#3986ac;text-shadow:0 -1px 0 #193c4c}.hint--info.hint--top:before{border-top-color:#3986ac}.hint--info.hint--bottom:before{border-bottom-color:#3986ac}.hint--info.hint--left:before{border-left-color:#3986ac}.hint--info.hint--right:before{border-right-color:#3986ac}.hint--success:after{background-color:#458746;text-shadow:0 -1px 0 #1a331a}.hint--success.hint--top:before{border-top-color:#458746}.hint--success.hint--bottom:before{border-bottom-color:#458746}.hint--success.hint--left:before{border-left-color:#458746}.hint--success.hint--right:before{border-right-color:#458746}.hint--always:after,.hint--always:before{opacity:1}.hint--always.hint--top:after,.hint--always.hint--top:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--always.hint--bottom:after,.hint--always.hint--bottom:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--always.hint--left:after,.hint--always.hint--left:before{-webkit-transform:translateX(-8px);-moz-transform:translateX(-8px);transform:translateX(-8px)}.hint--always.hint--right:after,.hint--always.hint--right:before{-webkit-transform:translateX(8px);-moz-transform:translateX(8px);transform:translateX(8px)}
|
||||
5
AndorsTrailEdit/lib/jquery-ui.min.js
vendored
5
AndorsTrailEdit/lib/jquery-ui.min.js
vendored
File diff suppressed because one or more lines are too long
2
AndorsTrailEdit/lib/jquery.min.js
vendored
2
AndorsTrailEdit/lib/jquery.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -1,123 +0,0 @@
|
||||
/*
|
||||
jQuery UI Sortable plugin wrapper
|
||||
https://github.com/angular-ui/ui-sortable
|
||||
|
||||
@param [ui-sortable] {object} Options to pass to $.fn.sortable() merged onto ui.config
|
||||
*/
|
||||
angular.module('ui.sortable', [])
|
||||
.value('uiSortableConfig',{})
|
||||
.directive('uiSortable', [ 'uiSortableConfig', '$log',
|
||||
function(uiSortableConfig, log) {
|
||||
return {
|
||||
require: '?ngModel',
|
||||
link: function(scope, element, attrs, ngModel) {
|
||||
|
||||
function combineCallbacks(first,second){
|
||||
if( second && (typeof second === "function") ){
|
||||
return function(e,ui){
|
||||
first(e,ui);
|
||||
second(e,ui);
|
||||
};
|
||||
}
|
||||
return first;
|
||||
}
|
||||
|
||||
var opts = {};
|
||||
|
||||
var callbacks = {
|
||||
receive: null,
|
||||
remove:null,
|
||||
start:null,
|
||||
stop:null,
|
||||
update:null
|
||||
};
|
||||
|
||||
var apply = function(e, ui) {
|
||||
if (ui.item.sortable.resort || ui.item.sortable.relocate) {
|
||||
scope.$apply();
|
||||
}
|
||||
};
|
||||
|
||||
angular.extend(opts, uiSortableConfig);
|
||||
|
||||
if (ngModel) {
|
||||
|
||||
ngModel.$render = function() {
|
||||
element.sortable( "refresh" );
|
||||
};
|
||||
|
||||
callbacks.start = function(e, ui) {
|
||||
// Save position of dragged item
|
||||
ui.item.sortable = { index: ui.item.index() };
|
||||
};
|
||||
|
||||
callbacks.update = function(e, ui) {
|
||||
// For some reason the reference to ngModel in stop() is wrong
|
||||
ui.item.sortable.resort = ngModel;
|
||||
};
|
||||
|
||||
callbacks.receive = function(e, ui) {
|
||||
ui.item.sortable.relocate = true;
|
||||
// added item to array into correct position and set up flag
|
||||
ngModel.$modelValue.splice(ui.item.index(), 0, ui.item.sortable.moved);
|
||||
};
|
||||
|
||||
callbacks.remove = function(e, ui) {
|
||||
// copy data into item
|
||||
if (ngModel.$modelValue.length === 1) {
|
||||
ui.item.sortable.moved = ngModel.$modelValue.splice(0, 1)[0];
|
||||
} else {
|
||||
ui.item.sortable.moved = ngModel.$modelValue.splice(ui.item.sortable.index, 1)[0];
|
||||
}
|
||||
};
|
||||
|
||||
callbacks.stop = function(e, ui) {
|
||||
// digest all prepared changes
|
||||
if (ui.item.sortable.resort && !ui.item.sortable.relocate) {
|
||||
|
||||
// Fetch saved and current position of dropped element
|
||||
var end, start;
|
||||
start = ui.item.sortable.index;
|
||||
end = ui.item.index();
|
||||
|
||||
// Reorder array and apply change to scope
|
||||
ui.item.sortable.resort.$modelValue.splice(end, 0, ui.item.sortable.resort.$modelValue.splice(start, 1)[0]);
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
scope.$watch(attrs.uiSortable, function(newVal, oldVal){
|
||||
angular.forEach(newVal, function(value, key){
|
||||
|
||||
if( callbacks[key] ){
|
||||
// wrap the callback
|
||||
value = combineCallbacks( callbacks[key], value );
|
||||
|
||||
if ( key === 'stop' ){
|
||||
// call apply after stop
|
||||
value = combineCallbacks( value, apply );
|
||||
}
|
||||
}
|
||||
|
||||
element.sortable('option', key, value);
|
||||
});
|
||||
}, true);
|
||||
|
||||
angular.forEach(callbacks, function(value, key ){
|
||||
|
||||
opts[key] = combineCallbacks(value, opts[key]);
|
||||
});
|
||||
|
||||
// call apply after stop
|
||||
opts.stop = combineCallbacks( opts.stop, apply );
|
||||
|
||||
} else {
|
||||
log.info('ui.sortable: ngModel not provided!', element);
|
||||
}
|
||||
|
||||
// Create sortable
|
||||
element.sortable(opts);
|
||||
}
|
||||
};
|
||||
}
|
||||
]);
|
||||
1
AndorsTrailEdit/lib/underscore-min.js
vendored
1
AndorsTrailEdit/lib/underscore-min.js
vendored
File diff suppressed because one or more lines are too long
Binary file not shown.
|
Before Width: | Height: | Size: 4.2 KiB |
@@ -1,161 +0,0 @@
|
||||
<h3>Actor condition - {{obj.name}}</h3>
|
||||
<div class="prevNext">
|
||||
<a class="btn btn-secondary" ng-click="previous()"><i class="icon-backward"></i></a>
|
||||
<a class="btn btn-secondary" ng-click="next()"><i class="icon-forward"></i></a>
|
||||
</div>
|
||||
<fieldset>
|
||||
<legend>General</legend>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="iconID">Icon:</label>
|
||||
<span class="field">
|
||||
<div ng-tile-image="obj.iconID" class="at-input-icon" ng-select-image="actorcondition" ng-select-image-dest="obj.iconID"></div>
|
||||
<input type="text" id="iconID" class="at-input-iconID" ng-model="obj.iconID" />
|
||||
</span>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="id" class="hint hint--top" data-hint="The id is not displayed to the player anywhere. Must be a unique id (no two conditions may have the same id). Prefer short ids since it keeps savegames smaller.">Internal ID:</label>
|
||||
<input type="text" id="id" class="field at-input-id" ng-model="obj.id" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="name">Display name:</label>
|
||||
<input type="text" id="name" class="field at-input-name" ng-model="obj.name" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="category">Category:</label>
|
||||
<select class="field" id="category" ng-model="obj.category">
|
||||
<option value="spiritual">Spiritual</option>
|
||||
<option value="mental">Mental</option>
|
||||
<option value="physical">Physical Capacity</option>
|
||||
<option value="blood">Blood Disorder</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" id="isPositive" ng-model="obj.isPositive" ng-true-value="1" ng-false-value="0" />
|
||||
<span class="hint hint--top" data-hint="Positive effects are not affected by the Rejuvenation skill.">Positive effect</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" id="isStacking" ng-model="obj.isStacking" ng-true-value="1" ng-false-value="0" />
|
||||
<span class="hint hint--top" data-hint="If checked, then actors may have several of these, simultaneously. Otherwise, only one condition at a time may be active on an actor.">Is stacking</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label class="checkbox"><input type="checkbox" id="hasRoundEffect" ng-model="obj.hasRoundEffect" />Has effect every round (every 6s)</label>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label class="checkbox"><input type="checkbox" id="hasFullRoundEffect" ng-model="obj.hasFullRoundEffect" />Has effect every full round (every 25:th s)</label>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label class="checkbox"><input type="checkbox" id="hasAbilityEffect" ng-model="obj.hasAbilityEffect" />Has constant ability effect</label>
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset id="hasRoundEffectDisplay" ng-ds-fade="obj.hasRoundEffect">
|
||||
<legend>Every round (6s)</legend>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="round_visualEffectID">Visual effect:</label>
|
||||
<select class="field" id="round_visualEffectID" ng-model="obj.roundEffect.visualEffectID">
|
||||
<option value="">None</option>
|
||||
<option value="redSplash">Red splatter</option>
|
||||
<option value="blueSwirl">Blue swirl</option>
|
||||
<option value="greenSplash">Green splatter</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="round_boostHP">Boost current HP (range):</label>
|
||||
<div class="field">
|
||||
<input type="text" size="3" id="round_boostHP_Min" class="at-input-stat-minmax" ng-model="obj.roundEffect.increaseCurrentHP.min" />
|
||||
-
|
||||
<input type="text" size="3" id="round_boostHP_Max" class="at-input-stat-minmax" ng-model="obj.roundEffect.increaseCurrentHP.max" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="round_boostAP">Boost current AP (range):</label>
|
||||
<div class="field">
|
||||
<input type="text" size="3" id="round_boostAP_Min" class="at-input-stat-minmax" ng-model="obj.roundEffect.increaseCurrentAP.min" />
|
||||
-
|
||||
<input type="text" size="3" id="round_boostAP_Max" class="at-input-stat-minmax" ng-model="obj.roundEffect.increaseCurrentAP.max" />
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset id="hasFullRoundEffectDisplay" ng-ds-fade="obj.hasFullRoundEffect">
|
||||
<legend>Every full round (25s)</legend>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="fullround_visualEffectID">Visual effect:</label>
|
||||
<select class="field" id="fullround_visualEffectID" ng-model="obj.fullRoundEffect.visualEffectID">
|
||||
<option value="">None</option>
|
||||
<option value="redSplash">Red splatter</option>
|
||||
<option value="blueSwirl">Blue swirl</option>
|
||||
<option value="greenSplash">Green splatter</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="fullround_boostHP">Boost current HP (range):</label>
|
||||
<div class="field">
|
||||
<input type="text" size="3" id="fullround_boostHP_Min" class="at-input-stat-minmax" ng-model="obj.fullRoundEffect.increaseCurrentHP.min" />
|
||||
-
|
||||
<input type="text" size="3" id="fullround_boostHP_Max" class="at-input-stat-minmax" ng-model="obj.fullRoundEffect.increaseCurrentHP.max" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="fullround_boostAP">Boost current AP (range):</label>
|
||||
<div class="field">
|
||||
<input type="text" size="3" id="fullround_boostAP_Min" class="at-input-stat-minmax" ng-model="obj.fullRoundEffect.increaseCurrentAP.min" />
|
||||
-
|
||||
<input type="text" size="3" id="fullround_boostAP_Max" class="at-input-stat-minmax" ng-model="obj.fullRoundEffect.increaseCurrentAP.max" />
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset id="hasAbilityEffectDisplay" ng-ds-fade="obj.hasAbilityEffect">
|
||||
<legend>Constant ability effect</legend>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="boostMaxHP">Boost max HP:</label>
|
||||
<input type="text" size="5" id="boostMaxHP" class="field at-input-stat" ng-model="obj.abilityEffect.increaseMaxHP" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="boostMaxAP">Boost max AP:</label>
|
||||
<input type="text" size="5" id="boostMaxAP" class="field at-input-stat" ng-model="obj.abilityEffect.increaseMaxAP" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="moveCostPenalty">Increase move cost (AP):</label>
|
||||
<input type="text" size="5" id="moveCostPenalty" class="field at-input-stat" ng-model="obj.abilityEffect.increaseMoveCost" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="increaseUseItemCost">Increase use cost (AP):</label>
|
||||
<input type="text" size="5" id="increaseUseItemCost" class="field at-input-stat" ng-model="obj.abilityEffect.increaseUseItemCost" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="increaseReequipCost">Increase re-equip cost (AP):</label>
|
||||
<input type="text" size="5" id="increaseReequipCost" class="field at-input-stat" ng-model="obj.abilityEffect.increaseReequipCost" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="attackCost">Increase attack cost (AP):</label>
|
||||
<input type="text" size="5" id="attackCost" class="field at-input-stat" ng-model="obj.abilityEffect.increaseAttackCost" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="attackChance">Increase attack chance:</label>
|
||||
<input type="text" size="5" id="attackChance" class="field at-input-stat" ng-model="obj.abilityEffect.increaseAttackChance" />%
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="attackDamage">Increase attack damage (range):</label>
|
||||
<div class="field">
|
||||
<input type="text" size="3" id="attackDamage_Min" class="at-input-stat-minmax" ng-model="obj.abilityEffect.increaseAttackDamage.min" />
|
||||
-
|
||||
<input type="text" size="3" id="attackDamage_Max" class="at-input-stat-minmax" ng-model="obj.abilityEffect.increaseAttackDamage.max" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="criticalChance">Increase critical skill:</label>
|
||||
<input type="text" size="5" id="criticalChance" class="field at-input-stat" ng-model="obj.abilityEffect.increaseCriticalSkill" />%
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="blockChance">Increase block chance:</label>
|
||||
<input type="text" size="5" id="blockChance" class="field at-input-stat" ng-model="obj.abilityEffect.increaseBlockChance" />%
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="damageResistance">Increase damage resistance:</label>
|
||||
<input type="text" size="5" id="damageResistance" class="field at-input-stat" ng-model="obj.abilityEffect.increaseDamageResistance" />
|
||||
</div>
|
||||
</fieldset>
|
||||
<div class="endSets"> </div>
|
||||
@@ -1,326 +0,0 @@
|
||||
<h3>Dialogue</h3>
|
||||
|
||||
<fieldset id="dialoguePhrase">
|
||||
<legend>NPC phrase</legend>
|
||||
|
||||
<button ng-click="showPhraseTree(phrase)" class="btn" title="Show conversation as tree">
|
||||
<i class="icon-align-center"></i> Show as tree
|
||||
</button>
|
||||
<br /><br />
|
||||
|
||||
<div class="fieldWithLabel">
|
||||
<label for="id">Phrase ID:</label>
|
||||
<input type="text" size="30" id="id" class="field at-input-id" ng-model="phrase.id" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="message">NPC says:</label>
|
||||
<textarea rows="4" cols="40" id="message" ng-model="phrase.message"></textarea>
|
||||
<p ng-ds-fade="!phrase.message && phrase.replies.length > 0" class="dialogueConditional">
|
||||
Since this phrase does not have any displayed<br />
|
||||
text, it will not be shown to the player.<br />
|
||||
Instead, the first reply that matches all<br />
|
||||
requirements will be automatically followed.
|
||||
</p>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label class="checkbox"><input type="checkbox" id="hasRewards" ng-model="phrase.hasRewards" />Reaching this phrase gives rewards</label>
|
||||
</div>
|
||||
<div class="fieldWithLabel" ng-ds-fade="phrase.hasRewards" ui:sortable ng:model="phrase.rewards">
|
||||
<div ng-repeat="reward in phrase.rewards" class="phrase-reward at-box">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="rewardType">Reward Type:</label>
|
||||
<select class="field" id="rewardType" ng-model="reward.rewardType">
|
||||
<option value="questProgress">Quest progress</option>
|
||||
<option value="removeQuestProgress">Remove Quest progress</option>
|
||||
<option value="dropList">Droplist</option>
|
||||
<option value="skillIncrease">Skill increase</option>
|
||||
<option value="actorCondition">Actor condition</option>
|
||||
<option value="alignmentChange">Alignment/faction change</option>
|
||||
<option value="giveItem">Item</option>
|
||||
<option value="createTimer">Create timer</option>
|
||||
<option value="spawnAll">Spawn monsters</option>
|
||||
<option value="removeSpawnArea">Remove monsters</option>
|
||||
<option value="deactivateSpawnArea">Stop spawning</option>
|
||||
<option value="activateMapChangeArea">Activate mapchange</option>
|
||||
<option value="deactivateMapChangeArea">Deactivate mapchange</option>
|
||||
</select>
|
||||
</div>
|
||||
<div ng-show="reward.rewardType=='spawnAll' || reward.rewardType=='removeSpawnArea' || reward.rewardType=='deactivateSpawnArea'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="mapName">Map name:</label>
|
||||
<input type="text" size="30" id="mapName" class="field at-input-id" ng-model="reward.mapName" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="rewardID">Monster spawngroup:</label>
|
||||
<input type="text" size="30" id="rewardID" class="field at-input-id" ng-model="reward.rewardID" />
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="reward.rewardType=='activateMapChangeArea' || reward.rewardType=='deactivateMapChangeArea'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="mapName">Map name:</label>
|
||||
<input type="text" size="30" id="mapName" class="field at-input-id" ng-model="reward.mapName" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="rewardID">Area name:</label>
|
||||
<input type="text" size="30" id="rewardID" class="field at-input-id" ng-model="reward.rewardID" />
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="reward.rewardType=='questProgress'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="rewardID">Quest ID:</label>
|
||||
<input type="text" size="30" id="rewardID" class="field at-input-id" ng-model="reward.rewardID" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="rewardvalue">Stage:</label>
|
||||
<input type="text" size="3" id="rewardvalue" class="field at-input-quantity" ng-model="reward.value" />
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="reward.rewardType=='removeQuestProgress'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="rewardID">Quest ID:</label>
|
||||
<input type="text" size="30" id="rewardID" class="field at-input-id" ng-model="reward.rewardID" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="rewardvalue">Stage:</label>
|
||||
<input type="text" size="3" id="rewardvalue" class="field at-input-quantity" ng-model="reward.value" />
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="reward.rewardType=='dropList'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="rewardID">Droplist ID:</label>
|
||||
<input type="text" size="30" id="rewardID" class="field at-input-id" ng-model="reward.rewardID" />
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="reward.rewardType=='skillIncrease'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="rewardID">Skill ID:</label>
|
||||
<input type="text" size="30" id="rewardID" class="field at-input-id" ng-model="reward.rewardID" />
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="reward.rewardType=='actorCondition'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="rewardID">Actor Condition ID:</label>
|
||||
<input type="text" size="30" id="rewardID" class="field at-input-id" ng-model="reward.rewardID" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="rewardvalue">Duration:</label>
|
||||
<input type="text" size="3" id="rewardvalue" class="field at-input-quantity" ng-model="reward.value" />
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="reward.rewardType=='alignmentChange'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="rewardID">Faction ID:</label>
|
||||
<input type="text" size="30" id="rewardID" class="field at-input-id" ng-model="reward.rewardID" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="rewardvalue">Delta:</label>
|
||||
<input type="text" size="3" id="rewardvalue" class="field at-input-quantity" ng-model="reward.value" />
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="reward.rewardType=='giveItem'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="rewardID">Item ID:</label>
|
||||
<input type="text" size="30" id="rewardID" class="field at-input-id" ng-model="reward.rewardID" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="rewardvalue">Quantity:</label>
|
||||
<input type="text" size="3" id="rewardvalue" class="field at-input-quantity" ng-model="reward.value" />
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="reward.rewardType=='createTimer'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="rewardID"><span class="hint hint--top" data-hint="Can be any unique string really, just something to refer to this timer in some reply requirement.">Timer ID:</span></label>
|
||||
<input type="text" size="30" id="rewardID" class="field at-input-id" ng-model="reward.rewardID" />
|
||||
</div>
|
||||
</div>
|
||||
<button ng-click="removeReward(phrase, reward)" class="btn pull-right" title="Remove reward"><i class="icon-trash"></i> Remove reward</button>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
<div>
|
||||
<button ng-click="addReward(phrase)" class="btn" title="Add reward"><i class="icon-plus-sign"></i> Add reward</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label class="checkbox"><input type="checkbox" id="showAdvanced" ng-model="phrase.showAdvanced" />Show advanced properties</label>
|
||||
</div>
|
||||
<div class="fieldWithLabel" ng-ds-fade="phrase.showAdvanced">
|
||||
<label for="switchToNPC"><span class="hint hint--top" data-hint="Id of a NPC that speaks this phrase. All subsequent phrases will be spoken by this NPC.">Switch active NPC to:</span></label>
|
||||
<input type="text" size="30" id="switchToNPC" class="field at-input-id" ng-model="phrase.switchToNPC" />
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset id="dialoguePhraseReplies">
|
||||
<legend>Replies</legend>
|
||||
<div class="fieldWithLabel">
|
||||
<label class="checkbox"><input type="checkbox" id="hasOnlyNextReply" ng-model="phrase.hasOnlyNextReply" />Phrase leads directly to another<br />phrase without replies</label>
|
||||
</div>
|
||||
<div class="fieldWithLabel" ng-ds-fade="phrase.hasOnlyNextReply">
|
||||
<label for="nextPhraseID">Phrase ID:</label>
|
||||
<div class="field">
|
||||
<input type="text" size="30" id="nextPhraseID" class="at-input-id" ng-model="phrase.nextPhraseID" placeholder="leave empty to generate id" />
|
||||
<a ng-click="proceedToPhrase(phrase, 'nextPhraseID')" class="btn" title="Open editor for the indicated phrase. Leave empty to automatically generate a new phrase id based on the prefix for this phrase, or supply a new phrase id that should be used.">
|
||||
<span ng-show="phrase.nextPhraseID"><i class="icon-forward"></i> Go</span>
|
||||
<span ng-show="!phrase.nextPhraseID"><i class="icon-star-empty"></i> Generate</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fieldWithLabel" ng-ds-fade="!phrase.hasOnlyNextReply">
|
||||
<label for="replies">Replies</label>
|
||||
<table class="field" id="replies">
|
||||
<thead><tr>
|
||||
<th>Reply</th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</tr></thead>
|
||||
<tbody ui:sortable ng:model="phrase.replies">
|
||||
<tr ng-repeat="reply in phrase.replies">
|
||||
<td ng-click="selectReply(reply)" class="clickToEdit">
|
||||
<span ng-show="reply.text">{{reply.text.substring(0, 40)}}</span>
|
||||
<span ng-show="!reply.text" class="dialogueConditional">(conditional evaluation)</span>
|
||||
</td>
|
||||
<td><a ng-click="removeReply(phrase, reply)" class="btn" title="Remove reply"><i class="icon-trash"></i></a></td>
|
||||
<td><a ng-click="proceedToPhrase(reply, 'nextPhraseID')" class="btn" title="Follow" ng-show="reply.nextPhraseID && reply.nextPhraseID.length > 1"><i class="icon-forward"></i> Go</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<button ng-click="addReply(phrase)" class="btn" title="Add reply"><i class="icon-plus-sign"></i> Add reply</button>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset id="dialogueReply" ng-show="reply">
|
||||
<legend>Player reply</legend>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="text">Player says:</label>
|
||||
<textarea rows="4" cols="40" id="text" ng-model="reply.text"></textarea>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="replyLeadsTo">Reply leads to:</label>
|
||||
<select class="field" id="replyLeadsTo" ng-model="reply.replyLeadsTo">
|
||||
<option value="">Another phrase</option>
|
||||
<option value="S">Trading screen</option>
|
||||
<option value="F">Combat</option>
|
||||
<option value="X">Conversation ends</option>
|
||||
<option value="R">NPC is removed from map</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="fieldWithLabel" ng-ds-fade="!reply.replyLeadsTo">
|
||||
<label for="nextPhraseID">Next phrase ID:</label>
|
||||
<div class="field">
|
||||
<input type="text" size="30" id="nextPhraseID" class="at-input-id" ng-model="reply.nextPhraseID" placeholder="leave empty to generate id" />
|
||||
<a ng-click="proceedToPhrase(reply, 'nextPhraseID')" class="btn" title="Open editor for the indicated phrase. Leave empty to automatically generate a new phrase id based on the prefix for this phrase, or supply a new phrase id that should be used.">
|
||||
<span ng-show="reply.nextPhraseID"><i class="icon-forward"></i> Go</span>
|
||||
<span ng-show="!reply.nextPhraseID"><i class="icon-star-empty"></i> Generate</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label class="checkbox"><input type="checkbox" id="hasRequirements" ng-model="reply.hasRequirements" />Player must fulfill requirements to select this reply</label>
|
||||
</div>
|
||||
<div class="fieldWithLabel" ng-ds-fade="reply.hasRequirements" ui:sortable ng:model="reply.requires">
|
||||
<div ng-repeat="require in reply.requires" class="reply-requirement at-box">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="requireType">Require:</label>
|
||||
<select class="field" id="requireType" ng-model="require.requireType">
|
||||
<option value="questProgress">Quest progress</option>
|
||||
<option value="questLatestProgress">Exact quest progress</option>
|
||||
<option value="inventoryRemove">Inventory & item will be removed</option>
|
||||
<option value="inventoryKeep">Inventory</option>
|
||||
<option value="wear">Worn equipment</option>
|
||||
<option value="skillLevel">Skill level</option>
|
||||
<option value="killedMonster">Killed monster</option>
|
||||
<option value="timerElapsed">Timer elapsed</option>
|
||||
<option value="usedItem">Used items (greater or equals)</option>
|
||||
<option value="spentGold">Gold spent (greater or equals)/option>
|
||||
<option value="consumedBonemeals">Bonemeals consumed (greater or equals)</option>
|
||||
<option value="hasActorCondition">Has actor condition</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="filedWithLabel">
|
||||
<label class="checkbox"><input type="checkbox" id="requirenegation" ng-model="require.negate" />Negate this requirement</label>
|
||||
</div>
|
||||
<div ng-show="require.requireType=='questProgress' || require.requireType=='questLatestProgress'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="requireID">Quest ID:</label>
|
||||
<input type="text" size="30" id="requireID" class="field at-input-id" ng-model="require.requireID" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="requirevalue">Stage:</label>
|
||||
<input type="text" size="3" id="requirevalue" class="field at-input-quantity" ng-model="require.value" />
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="require.requireType=='inventoryRemove' || require.requireType=='inventoryKeep' || require.requireType=='usedItem'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="requireID">Item ID:</label>
|
||||
<input type="text" size="30" id="requireID" class="field at-input-id" ng-model="require.requireID" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="requirevalue">Quantity:</label>
|
||||
<input type="text" size="3" id="requirevalue" class="field at-input-quantity" ng-model="require.value" />
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="require.requireType=='wear'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="requireID">Item ID:</label>
|
||||
<input type="text" size="30" id="requireID" class="field at-input-id" ng-model="require.requireID" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="requirevalue">Quantity (optional):</label>
|
||||
<input type="text" size="3" id="requirevalue" class="field at-input-quantity" ng-model="require.value" />
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="require.requireType=='skillLevel'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="requireID">Skill ID:</label>
|
||||
<input type="text" size="30" id="requireID" class="field at-input-id" ng-model="require.requireID" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="requirevalue">Level:</label>
|
||||
<input type="text" size="3" id="requirevalue" class="field at-input-quantity" ng-model="require.value" />
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="require.requireType=='killedMonster'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="requireID">Monster ID:</label>
|
||||
<input type="text" size="30" id="requireID" class="field at-input-id" ng-model="require.requireID" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="requirevalue">Quantity:</label>
|
||||
<input type="text" size="3" id="requirevalue" class="field at-input-quantity" ng-model="require.value" />
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="require.requireType=='timerElapsed'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="requireID">Timer ID:</label>
|
||||
<input type="text" size="30" id="requireID" class="field at-input-id" ng-model="require.requireID" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="requirevalue">Number of rounds:</label>
|
||||
<input type="text" size="3" id="requirevalue" class="field at-input-quantity" ng-model="require.value" />
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="require.requireType=='spentGold'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="requirevalue">Quantity:</label>
|
||||
<input type="text" size="3" id="requirevalue" class="field at-input-quantity" ng-model="require.value" />
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="require.requireType=='consumedBonemeals'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="requirevalue">Quantity:</label>
|
||||
<input type="text" size="3" id="requirevalue" class="field at-input-quantity" ng-model="require.value" />
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="require.requireType=='hasActorCondition'">
|
||||
<div class="fieldWithLabel">
|
||||
<label for="requireID">Actor Condition ID:</label>
|
||||
<input type="text" size="30" id="requireID" class="field at-input-id" ng-model="require.requireID" />
|
||||
</div>
|
||||
</div>
|
||||
<button ng-click="removeRequirement(reply, require)" class="btn pull-right" title="Remove requirement"><i class="icon-trash"></i> Remove requirement</button>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
<button ng-click="addRequirement(reply)" class="btn" title="Add requirement"><i class="icon-plus-sign"></i> Add requirement</button>
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
<div class="endSets"> </div>
|
||||
@@ -1,33 +0,0 @@
|
||||
<h3>Droplist - {{obj.id}}</h3>
|
||||
<fieldset>
|
||||
<legend>General</legend>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="id" class="hint hint--top" data-hint="The id is not displayed to the player anywhere. Must be a unique id (no two droplists may have the same id). This is the id that you can enter on monsters to make them drop all these items.">Droplist internal ID:</label>
|
||||
<input type="text" size="30" id="id" class="field at-input-id" ng-model="obj.id" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="stages">Items dropped</label>
|
||||
<table class="field" id="items">
|
||||
<thead><tr>
|
||||
<th id="itemID">Item (id)</th>
|
||||
<th id="quantity">Quantity (range)</th>
|
||||
<th id="chance"><span class="hint hint--top" data-hint="Percentage chance, integer value from 1 (very unlikely) to 100 (always).">Chance</span></th>
|
||||
<th></th>
|
||||
</tr></thead>
|
||||
<tbody ui:sortable ng:model="obj.items">
|
||||
<tr ng-repeat="dropItem in obj.items">
|
||||
<td><input type="text" ng-model="dropItem.itemID" class="at-input-id" /></td>
|
||||
<td>
|
||||
<input type="text" size="3" ng-model="dropItem.quantity.min" class="at-input-quantity" />
|
||||
-
|
||||
<input type="text" size="3" ng-model="dropItem.quantity.max" class="at-input-quantity" />
|
||||
</td>
|
||||
<td><input type="text" size="3" ng-model="dropItem.chance" class="at-input-chance" /></td>
|
||||
<td><a ng-click="removeDropItem(dropItem)" class="btn btn-mini" title="Remove row"><i class="icon-trash"></i></a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<button ng-click="addDropItem()" class="btn" title="Add row"><i class="icon-plus-sign"></i> Add</button>
|
||||
</div>
|
||||
</fieldset>
|
||||
<div class="endSets"> </div>
|
||||
@@ -1,298 +0,0 @@
|
||||
<h3>Item - {{obj.name}}</h3>
|
||||
<div class="prevNext">
|
||||
<a class="btn btn-secondary" ng-click="previous()"><i class="icon-backward"></i></a>
|
||||
<a class="btn btn-secondary" ng-click="next()"><i class="icon-forward"></i></a>
|
||||
</div>
|
||||
<fieldset>
|
||||
<legend>General</legend>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="iconID">Icon:</label>
|
||||
<span class="field">
|
||||
<div ng-tile-image="obj.iconID" class="at-input-icon" ng-select-image="item" ng-select-image-dest="obj.iconID"></div>
|
||||
<input type="text" id="iconID" class="at-input-iconID" ng-model="obj.iconID" />
|
||||
</span>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="name">Display name:</label>
|
||||
<input type="text" size="30" id="name" class="field at-input-name" ng-model="obj.name" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="id" class="hint hint--top" data-hint="The id is not displayed to the player anywhere. Must be a unique id (no two items may have the same id). Prefer short ids since it keeps savegames smaller.">Internal ID:</label>
|
||||
<input type="text" size="30" id="id" class="field at-input-id" ng-model="obj.id" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="category">Category:</label>
|
||||
<select class="field" id="category" ng-model="obj.category" ng-options="s.name for s in itemCategories">
|
||||
</select>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="description" class="hint hint--top" data-hint="Background story of the item, that ties its history into the rest of the world.">Lore/Description:</label>
|
||||
<textarea class="field" rows="4" cols="40" id="description" ng-model="obj.description" placeholder="Leave empty for most normal items"></textarea>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="displaytype">Display as:</label>
|
||||
<select class="field" id="displaytype" ng-model="obj.displaytype">
|
||||
<option value="ordinary">Ordinary item</option>
|
||||
<option value="quest">Quest item (yellow)</option>
|
||||
<option value="legendary">Legendary (green)</option>
|
||||
<option value="extraordinary">Extraordinary (blue)</option>
|
||||
<option value="rare">Rare (purple)</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="fieldWithLabel" ng-ds-fade="isWearable">
|
||||
<label class="checkbox"><input type="checkbox" id="hasEquipEffect" ng-model="obj.hasEquipEffect" />Has equip effect</label>
|
||||
</div>
|
||||
<div class="fieldWithLabel" ng-ds-fade="isUsable">
|
||||
<label class="checkbox"><input type="checkbox" id="hasUseEffect" ng-model="obj.hasUseEffect" />Has use effect</label>
|
||||
</div>
|
||||
<div class="fieldWithLabel" ng-ds-fade="isWearable">
|
||||
<label class="checkbox"><input type="checkbox" id="hasHitEffect" ng-model="obj.hasHitEffect" />Has effect on every hit</label>
|
||||
</div>
|
||||
<div class="fieldWithLabel" ng-ds-fade="isWearable">
|
||||
<label class="checkbox"><input type="checkbox" id="hasKillEffect" ng-model="obj.hasKillEffect" />Has effect on every kill</label>
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>Price</legend>
|
||||
<div class="fieldWithLabel">
|
||||
<label class="checkbox"><input type="checkbox" id="hasManualPrice" ng-model="obj.hasManualPrice" ng-true-value="1" ng-false-value="0" ng-change="updateCost(obj)" />Item has manually specified store price</label>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="baseMarketCost">Base market cost (gold):</label>
|
||||
<input type="text" size="7" id="baseMarketCost" ng-show="obj.hasManualPrice == 0" class="field at-input-gold" readonly="readonly" value="{{getItemCost(obj)}}" />
|
||||
<input type="text" size="7" id="baseMarketCost" ng-show="obj.hasManualPrice == 1" class="field at-input-gold" ng-model="obj.baseMarketCost" title="The actual price is adjusted 15% depending on if the item is being bought or sold. Set to 0 to prohibit selling this item type (for example, for a quest item)." />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="marketCost_Sell">Actual price (gold):</label>
|
||||
<div class="field">
|
||||
<span>Sell: <input type="text" size="7" id="marketCost_Sell" class="at-input-gold" value="{{getItemSellingCost(obj)}}" readonly="readonly" /></span>
|
||||
<span>Buy: <input type="text" size="7" id="marketCost_Buy" class="at-input-gold" value="{{getItemBuyingCost(obj)}}" readonly="readonly" /></span>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset id="hasEquipEffectDisplay" ng-ds-fade="obj.hasEquipEffect">
|
||||
<legend>When equipped</legend>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="equip_boostMaxHP">Increase max HP:</label>
|
||||
<input type="text" size="5" id="equip_boostMaxHP" class="field at-input-stat" ng-model="obj.equipEffect.increaseMaxHP" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label class="checkbox"><input type="checkbox" id="hasEquipEffect" ng-model="obj.hasEquipAPEffect" />Has AP effect</label>
|
||||
</div>
|
||||
<div class="fieldWithLabel" ng-ds-fade="obj.hasEquipAPEffect">
|
||||
<label for="equip_boostMaxAP">Increase max AP:</label>
|
||||
<input type="text" size="5" id="equip_boostMaxAP" class="field at-input-stat" ng-model="obj.equipEffect.increaseMaxAP" />
|
||||
</div>
|
||||
<div class="fieldWithLabel" ng-ds-fade="obj.hasEquipAPEffect">
|
||||
<label for="equip_moveCostPenalty">Increase move cost (AP):</label>
|
||||
<input type="text" size="5" id="equip_moveCostPenalty" class="field at-input-stat" ng-model="obj.equipEffect.increaseMoveCost" />
|
||||
</div>
|
||||
<div class="fieldWithLabel" ng-ds-fade="obj.hasEquipAPEffect">
|
||||
<label for="equip_increaseUseItemCost">Increase use item cost (AP):</label>
|
||||
<input type="text" size="5" id="equip_increaseUseItemCost" class="field at-input-stat" ng-model="obj.equipEffect.increaseUseItemCost" />
|
||||
</div>
|
||||
<div class="fieldWithLabel" ng-ds-fade="obj.hasEquipAPEffect">
|
||||
<label for="equip_increaseReequipCost">Increase re-equip cost (AP):</label>
|
||||
<input type="text" size="5" id="equip_increaseReequipCost" class="field at-input-stat" ng-model="obj.equipEffect.increaseReequipCost" />
|
||||
</div>
|
||||
<div class="fieldWithLabel" ng-ds-fade="!isWeapon">
|
||||
<label for="equip_attackCost">Increase attack cost (AP):</label>
|
||||
<input type="text" size="5" id="equip_attackCost" class="field at-input-stat" ng-model="obj.equipEffect.increaseAttackCost" />
|
||||
</div>
|
||||
<div class="fieldWithLabel" ng-ds-fade="isWeapon">
|
||||
<label for="equip_attackCost">Attack cost (AP):</label>
|
||||
<input type="text" size="5" id="equip_attackCost" class="field at-input-stat" ng-model="obj.equipEffect.increaseAttackCost" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="equip_attackChance">Increase attack chance:</label>
|
||||
<input type="text" size="5" id="equip_attackChance" class="field at-input-stat" ng-model="obj.equipEffect.increaseAttackChance" />%
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="equip_attackDamage">Increase attack damage (range):</label>
|
||||
<div class="field">
|
||||
<input type="text" size="3" id="equip_attackDamage_Min" class="at-input-stat-minmax" ng-model="obj.equipEffect.increaseAttackDamage.min" />
|
||||
-
|
||||
<input type="text" size="3" id="equip_attackDamage_Max" class="at-input-stat-minmax" ng-model="obj.equipEffect.increaseAttackDamage.max" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="equip_criticalChance">Increase critical skill:</label>
|
||||
<input type="text" size="5" id="equip_criticalChance" class="field at-input-stat" ng-model="obj.equipEffect.increaseCriticalSkill" />
|
||||
</div>
|
||||
<div class="fieldWithLabel" ng-ds-fade="isWeapon">
|
||||
<label for="equip_criticalMultiplier" class="hint hint--top" data-hint="Only for weapons">Critical multiplier:</label>
|
||||
<input type="text" size="5" id="equip_criticalMultiplier" class="field at-input-stat" ng-model="obj.equipEffect.setCriticalMultiplier" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="equip_blockChance">Increase block chance:</label>
|
||||
<input type="text" size="5" id="equip_blockChance" class="field at-input-stat" ng-model="obj.equipEffect.increaseBlockChance" />%
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="equip_damageResistance">Increase damage resistance:</label>
|
||||
<input type="text" size="5" id="equip_damageResistance" class="field at-input-stat" ng-model="obj.equipEffect.increaseDamageResistance" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="equip_conditions">Apply actor condition</label>
|
||||
<table class="field" id="equip_conditions">
|
||||
<thead><tr>
|
||||
<th><span class="hint hint--left" data-hint="Id of the actor condition to be applied.">Condition</span></th>
|
||||
<th><span class="hint hint--left" data-hint="How strong the effect should be. For example, magnitude=2 is equal to having two effects active at the same time. Use -99 to remove permanent effects.">Magnitude</span></th>
|
||||
<th></th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="condition in obj.equipEffect.addedConditions">
|
||||
<td><input type="text" ng-model="condition.condition" class="at-input-id" /></td>
|
||||
<td><input type="text" size="3" ng-model="condition.magnitude" class="at-input-magnitude" /></td>
|
||||
<td><a ng-click="removeCondition(obj.equipEffect.addedConditions, condition)" class="btn btn-mini" title="Remove row"><i class="icon-trash"></i></a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<button ng-click="addCondition(obj.equipEffect.addedConditions)" class="btn" title="Add row"><i class="icon-plus-sign"></i> Add</button>
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset id="hasUseEffectDisplay" ng-ds-fade="obj.hasUseEffect">
|
||||
<legend>When used</legend>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="use_boostHP">Boost current HP (range):</label>
|
||||
<div class="field">
|
||||
<input type="text" size="3" id="use_boostHP_Min" class="at-input-stat-minmax" ng-model="obj.useEffect.increaseCurrentHP.min" />
|
||||
-
|
||||
<input type="text" size="3" id="use_boostHP_Max" class="at-input-stat-minmax" ng-model="obj.useEffect.increaseCurrentHP.max" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="use_boostAP">Boost current AP (range):</label>
|
||||
<div class="field">
|
||||
<input type="text" size="3" id="use_boostAP_Min" class="at-input-stat-minmax" ng-model="obj.useEffect.increaseCurrentAP.min" />
|
||||
-
|
||||
<input type="text" size="3" id="use_boostAP_Max" class="at-input-stat-minmax" ng-model="obj.useEffect.increaseCurrentAP.max" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="use_conditionsSource">Apply actor condition</label>
|
||||
<table class="field" id="use_conditionsSource">
|
||||
<thead><tr>
|
||||
<th><span class="hint hint--left" data-hint="Id of the actor condition to be applied.">Condition</span></th>
|
||||
<th><span class="hint hint--left" data-hint="How strong the effect should be. For example, magnitude=2 is equal to having two effects active at the same time. Use -99 to remove permanent effects.">Magnitude</span></th>
|
||||
<th><span class="hint hint--left" data-hint="How many rounds the actor condtions should last. Use 999 for a permanent effect.">Duration</span></th>
|
||||
<th><span class="hint hint--left" data-hint="Percentage chance, integer value from 1 (very unlikely) to 100 (always).">Chance</span></th>
|
||||
<th></th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="condition in obj.useEffect.conditionsSource">
|
||||
<td><input type="text" ng-model="condition.condition" class="at-input-id" /></td>
|
||||
<td><input type="text" size="3" ng-model="condition.magnitude" class="at-input-magnitude" /></td>
|
||||
<td><input type="text" size="3" ng-model="condition.duration" class="at-input-duration" /></td>
|
||||
<td><input type="text" size="3" ng-model="condition.chance" class="at-input-chance" /></td>
|
||||
<td><a ng-click="removeCondition(obj.useEffect.conditionsSource, condition)" class="btn btn-mini" title="Remove row"><i class="icon-trash"></i></a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<button ng-click="addCondition(obj.useEffect.conditionsSource)" class="btn" title="Add row"><i class="icon-plus-sign"></i> Add</button>
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset id="hasHitEffectDisplay" ng-ds-fade="obj.hasHitEffect">
|
||||
<legend>When making a successful hit</legend>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="hit_boostHP">Boost current HP (range):</label>
|
||||
<div class="field">
|
||||
<input type="text" size="3" id="hit_boostHP_Min" class="at-input-stat-minmax" ng-model="obj.hitEffect.increaseCurrentHP.min" />
|
||||
-
|
||||
<input type="text" size="3" id="hit_boostHP_Max" class="at-input-stat-minmax" ng-model="obj.hitEffect.increaseCurrentHP.max" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="hit_boostAP">Boost current AP (range):</label>
|
||||
<div class="field">
|
||||
<input type="text" size="3" id="hit_boostAP_Min" class="at-input-stat-minmax" ng-model="obj.hitEffect.increaseCurrentAP.min" />
|
||||
-
|
||||
<input type="text" size="3" id="hit_boostAP_Max" class="at-input-stat-minmax" ng-model="obj.hitEffect.increaseCurrentAP.max" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="hit_conditionsSource">Apply actor condition to source</label>
|
||||
<table class="field" id="hit_conditionsSource">
|
||||
<thead><tr>
|
||||
<th><span class="hint hint--left" data-hint="Id of the actor condition to be applied.">Condition</span></th>
|
||||
<th><span class="hint hint--left" data-hint="How strong the effect should be. For example, magnitude=2 is equal to having two effects active at the same time. Use -99 to remove permanent effects.">Magnitude</span></th>
|
||||
<th><span class="hint hint--left" data-hint="How many rounds the actor condtions should last. Use 999 for a permanent effect.">Duration</span></th>
|
||||
<th><span class="hint hint--left" data-hint="Percentage chance, integer value from 1 (very unlikely) to 100 (always).">Chance</span></th>
|
||||
<th></th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="condition in obj.hitEffect.conditionsSource">
|
||||
<td><input type="text" ng-model="condition.condition" class="at-input-id" /></td>
|
||||
<td><input type="text" size="3" ng-model="condition.magnitude" class="at-input-magnitude" /></td>
|
||||
<td><input type="text" size="3" ng-model="condition.duration" class="at-input-duration" /></td>
|
||||
<td><input type="text" size="3" ng-model="condition.chance" class="at-input-chance" /></td>
|
||||
<td><a ng-click="removeCondition(obj.hitEffect.conditionsSource, condition)" class="btn btn-mini" title="Remove row"><i class="icon-trash"></i></a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<button ng-click="addCondition(obj.hitEffect.conditionsSource)" class="btn" title="Add row"><i class="icon-plus-sign"></i> Add</button>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="hit_conditionsTarget">Apply actor condition to target</label>
|
||||
<table class="field" id="hit_conditionsTarget">
|
||||
<thead><tr>
|
||||
<th><span class="hint hint--left" data-hint="Id of the actor condition to be applied.">Condition</span></th>
|
||||
<th><span class="hint hint--left" data-hint="How strong the effect should be. For example, magnitude=2 is equal to having two effects active at the same time. Use -99 to remove permanent effects.">Magnitude</span></th>
|
||||
<th><span class="hint hint--left" data-hint="How many rounds the actor condtions should last. Use 999 for a permanent effect.">Duration</span></th>
|
||||
<th><span class="hint hint--left" data-hint="Percentage chance, integer value from 1 (very unlikely) to 100 (always).">Chance</span></th>
|
||||
<th></th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="condition in obj.hitEffect.conditionsTarget">
|
||||
<td><input type="text" ng-model="condition.condition" class="at-input-id" /></td>
|
||||
<td><input type="text" size="3" ng-model="condition.magnitude" class="at-input-magnitude" /></td>
|
||||
<td><input type="text" size="3" ng-model="condition.duration" class="at-input-duration" /></td>
|
||||
<td><input type="text" size="3" ng-model="condition.chance" class="at-input-chance" /></td>
|
||||
<td><a ng-click="removeCondition(obj.hitEffect.conditionsTarget, condition)" class="btn btn-mini" title="Remove row"><i class="icon-trash"></i></a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<button ng-click="addCondition(obj.hitEffect.conditionsTarget)" class="btn" title="Add row"><i class="icon-plus-sign"></i> Add</button>
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset id="hasKillEffectDisplay" ng-ds-fade="obj.hasKillEffect">
|
||||
<legend>On every kill</legend>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="kill_boostHP">Boost current HP (range):</label>
|
||||
<div class="field">
|
||||
<input type="text" size="3" id="kill_boostHP_Min" class="at-input-stat-minmax" ng-model="obj.killEffect.increaseCurrentHP.min" />
|
||||
-
|
||||
<input type="text" size="3" id="kill_boostHP_Max" class="at-input-stat-minmax" ng-model="obj.killEffect.increaseCurrentHP.max" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="kill_boostAP">Boost current AP (range):</label>
|
||||
<div class="field">
|
||||
<input type="text" size="3" id="kill_boostAP_Min" class="at-input-stat-minmax" ng-model="obj.killEffect.increaseCurrentAP.min" />
|
||||
-
|
||||
<input type="text" size="3" id="kill_boostAP_Max" class="at-input-stat-minmax" ng-model="obj.killEffect.increaseCurrentAP.max" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="kill_conditionsSource">Apply actor condition</label>
|
||||
<table class="field" id="kill_conditionsSource">
|
||||
<thead><tr>
|
||||
<th><span class="hint hint--left" data-hint="Id of the actor condition to be applied.">Condition</span></th>
|
||||
<th><span class="hint hint--left" data-hint="How strong the effect should be. For example, magnitude=2 is equal to having two effects active at the same time. Use -99 to remove permanent effects.">Magnitude</span></th>
|
||||
<th><span class="hint hint--left" data-hint="How many rounds the actor condtions should last. Use 999 for a permanent effect.">Duration</span></th>
|
||||
<th><span class="hint hint--left" data-hint="Percentage chance, integer value from 1 (very unlikely) to 100 (always).">Chance</span></th>
|
||||
<th></th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="condition in obj.killEffect.conditionsSource">
|
||||
<td><input type="text" ng-model="condition.condition" class="at-input-id" /></td>
|
||||
<td><input type="text" size="3" ng-model="condition.magnitude" class="at-input-magnitude" /></td>
|
||||
<td><input type="text" size="3" ng-model="condition.duration" class="at-input-duration" /></td>
|
||||
<td><input type="text" size="3" ng-model="condition.chance" class="at-input-chance" /></td>
|
||||
<td><a ng-click="removeCondition(obj.killEffect.conditionsSource, condition)" class="btn btn-mini" title="Remove row"><i class="icon-trash"></i></a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<button ng-click="addCondition(obj.killEffect.conditionsSource)" class="btn" title="Add row"><i class="icon-plus-sign"></i> Add</button>
|
||||
</div>
|
||||
</fieldset>
|
||||
<div class="endSets"> </div>
|
||||
@@ -1,44 +0,0 @@
|
||||
<h3>Item Category - {{obj.name}}</h3>
|
||||
<fieldset>
|
||||
<legend>General</legend>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="id">Internal id:</label>
|
||||
<input type="text" size="30" id="id" ng-model="obj.id" class="field at-input-id"/>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="name">Display name:</label>
|
||||
<input type="text" size="30" id="name" ng-model="obj.name" class="field at-input-name"/>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="actionType">Action type:</label>
|
||||
<select class="field" id="actionType" ng-model="obj.actionType">
|
||||
<option value="none">Non-usable</option>
|
||||
<option value="use">Usable</option>
|
||||
<option value="equip">Equippable</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="fieldWithLabel" ng-ds-fade="obj.actionType == 2">
|
||||
<label for="inventorySlot">Equippable inventory slot:</label>
|
||||
<select class="field" id="inventorySlot" ng-model="obj.inventorySlot">
|
||||
<option value="">None</option>
|
||||
<option value="weapon">Weapon</option>
|
||||
<option value="shield">Shield</option>
|
||||
<option value="head">Head</option>
|
||||
<option value="body">Body</option>
|
||||
<option value="hand">Hand</option>
|
||||
<option value="feet">Feet</option>
|
||||
<option value="neck">Neck</option>
|
||||
<option value="ring">Ring</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="size">Size:</label>
|
||||
<select class="field" id="size" ng-model="obj.size">
|
||||
<option value="none">None</option>
|
||||
<option value="light">Light</option>
|
||||
<option value="std">Standard</option>
|
||||
<option value="large">Large</option>
|
||||
</select>
|
||||
</div>
|
||||
</fieldset>
|
||||
<div class="endSets"> </div>
|
||||
@@ -1,219 +0,0 @@
|
||||
<h3>Monster / NPC - {{obj.name}}</h3>
|
||||
<div class="prevNext">
|
||||
<a class="btn btn-secondary" ng-click="previous()"><i class="icon-backward"></i></a>
|
||||
<a class="btn btn-secondary" ng-click="next()"><i class="icon-forward"></i></a>
|
||||
</div>
|
||||
<fieldset>
|
||||
<legend>General</legend>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="iconID">Icon:</label>
|
||||
<span class="field">
|
||||
<div ng-tile-image="obj.iconID" class="at-input-icon" ng-select-image="monster" ng-select-image-dest="obj.iconID"></div>
|
||||
<input type="text" id="iconID" class="at-input-iconID" ng-model="obj.iconID" />
|
||||
</span>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="id" class="hint hint--top" data-hint="The id is not displayed to the player anywhere. Must be a unique id (no two monster may have the same id). Prefer short ids since it keeps savegames smaller.">Internal id:</label>
|
||||
<input type="text" size="30" id="id" class="field at-input-id" ng-model="obj.id"/>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="name">Display name:</label>
|
||||
<input type="text" size="30" id="name" class="field at-input-name" ng-model="obj.name"/>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="spawnGroup" class="hint hint--top" data-hint="The name to enter on spawn areas in TMX map files for spawning this type of monster. Several monster types may have the same spawngroup, which makes the game spawn one random monster type from the spawngroup.">Spawngroup:</label>
|
||||
<input type="text" size="30" id="spawnGroup" class="field at-input-id" ng-model="obj.spawnGroup" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" id="unique" ng-model="obj.unique" ng-true-value="1" ng-false-value="0" />
|
||||
<span class="hint hint--top" data-hint="Unique monsters will not respawn. Typically used for bosses.">Is unique (will not respawn)</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="monsterClass">Monster class:</label>
|
||||
<select class="field" id="monsterClass" ng-model="obj.monsterClass">
|
||||
<option value="humanoid">Humanoid</option>
|
||||
<option value="insect">Insect</option>
|
||||
<option value="demon">Demon</option>
|
||||
<option value="construct">Construct</option>
|
||||
<option value="animal">Animal</option>
|
||||
<option value="giant">Giant</option>
|
||||
<option value="undead">Undead</option>
|
||||
<option value="reptile">Reptile</option>
|
||||
<option value="ghost">Ghost</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label class="checkbox"><input type="checkbox" id="showAdvanced" ng-model="obj.showAdvanced" />Show advanced properties</label>
|
||||
</div>
|
||||
<div class="fieldWithLabel" ng-ds-fade="obj.showAdvanced">
|
||||
<label for="size">Size:</label>
|
||||
<select class="field" id="size" ng-model="obj.size">
|
||||
<option value="1x1">1x1</option>
|
||||
<option value="1x2">1x2</option>
|
||||
<option value="1x3">1x3</option>
|
||||
<option value="2x1">2x1</option>
|
||||
<option value="2x2">2x2</option>
|
||||
<option value="2x3">2x3</option>
|
||||
<option value="3x1">3x1</option>
|
||||
<option value="3x2">3x2</option>
|
||||
<option value="3x3">3x3</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="fieldWithLabel" ng-ds-fade="obj.showAdvanced">
|
||||
<label for="faction" class="hint hint--top" data-hint="Used for making whole groups of monsters aggressive from dialogue. Dialogue replies may affect the player's faction ratings, and having rating less than 0 for a faction will make all monsters in a faction automatically attack.">Faction:</label>
|
||||
<input type="text" size="30" id="faction" ng-model="obj.faction" class="field at-input-id"/>
|
||||
</div>
|
||||
<div class="fieldWithLabel" ng-ds-fade="obj.showAdvanced">
|
||||
<label for="movementAggressionType">Movement in combat (only when aggressive):</label>
|
||||
<select class="field" id="movementAggressionType" ng-model="obj.movementAggressionType">
|
||||
<option value="none">Does not move in combat</option>
|
||||
<option value="helpOthers">Help others in same spawn area</option>
|
||||
<option value="protectSpawn">Move towards player if inside spawn area</option>
|
||||
<option value="wholeMap">Move towards player even outside its spawn area</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label class="checkbox"><input type="checkbox" id="hasConversation" ng-model="obj.hasConversation" />Has conversation</label>
|
||||
</div>
|
||||
<div class="fieldWithLabel" id="hasConversationDisplay" ng-ds-fade="obj.hasConversation">
|
||||
<label for="phraseID" class="hint hint--top" data-hint="ID of the starting conversation phrase that will be used when engaging in conversation with this NPC.">Conversation phrase ID:</label>
|
||||
<input type="text" size="30" id="phraseID" ng-model="obj.phraseID" class="field at-input-id" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="droplistID" class="hint hint--top" data-hint="ID of the droplist that will contain the items that are dropped when the monster is killed. If this monster is an NPC, this is the list of items that are available to buy as shop items.">Droplist ID (combat or shop):</label>
|
||||
<input type="text" size="30" id="droplistID" ng-model="obj.droplistID" class="field at-input-id"/>
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>Stats</legend>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="maxAP">Total AP:</label>
|
||||
<input type="text" size="5" id="maxAP" ng-model="obj.maxAP" class="field at-input-stat" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="moveCost">Movement cost (AP):</label>
|
||||
<input type="text" size="5" id="moveCost" ng-model="obj.moveCost" class="field at-input-stat" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="maxHP">Max HP:</label>
|
||||
<input type="text" size="5" id="maxHP" ng-model="obj.maxHP" class="field at-input-stat" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label class="checkbox"><input type="checkbox" id="hasCombat" ng-model="obj.hasCombatTraits" />Has combat traits</label>
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset id="hasCombatDisplay" ng-ds-fade="obj.hasCombatTraits">
|
||||
<legend>Combat</legend>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="experience">Experience:</label>
|
||||
<input type="text" size="7" id="experience" value="{{getExperience()}}" class="field at-input-stat" readonly="readonly" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="attackCost">Attack cost (AP):</label>
|
||||
<input type="text" size="5" id="attackCost" ng-model="obj.attackCost" class="field at-input-stat" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="attackChance">Attack chance:</label>
|
||||
<input type="text" size="5" id="attackChance" ng-model="obj.attackChance" class="field at-input-stat" />%
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="attackDamage">Attack damage (range):</label>
|
||||
<div class="field">
|
||||
<input type="text" size="3" id="attackDamage_Min" ng-model="obj.attackDamage.min" class="at-input-stat-minmax" />
|
||||
-
|
||||
<input type="text" size="3" id="attackDamage_Max" ng-model="obj.attackDamage.max" class="at-input-stat-minmax" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label class="checkbox"><input type="checkbox" id="hasCritical" ng-model="obj.hasCritical" />Has critical chance</label>
|
||||
</div>
|
||||
<div class="fieldWithLabel" ng-ds-fade="obj.hasCritical">
|
||||
<label for="criticalSkill">Critical skill:</label>
|
||||
<input type="text" size="5" id="criticalSkill" ng-model="obj.criticalSkill" class="field at-input-stat" />
|
||||
</div>
|
||||
<div class="fieldWithLabel" ng-ds-fade="obj.hasCritical">
|
||||
<label for="criticalMultiplier">Critical multiplier:</label>
|
||||
<input type="text" size="5" id="criticalMultiplier" ng-model="obj.criticalMultiplier" class="field at-input-stat" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="blockChance">Block chance:</label>
|
||||
<input type="text" size="5" id="blockChance" ng-model="obj.blockChance" class="field at-input-stat" />%
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="damageResistance">Damage resistance:</label>
|
||||
<input type="text" size="5" id="damageResistance" ng-model="obj.damageResistance" class="field at-input-stat" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label class="checkbox"><input type="checkbox" id="hasHitEffect" ng-model="obj.hasHitEffect" />Has effect on each hit</label>
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset id="hasHitEffectDisplay" ng-ds-fade="obj.hasHitEffect && obj.hasCombatTraits">
|
||||
<legend>On every successful attack hit</legend>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="onHit_boostHP">Boost current HP (range):</label>
|
||||
<div class="field">
|
||||
<input type="text" size="3" id="onHit_boostHP_Min" ng-model="obj.hitEffect.increaseCurrentHP.min" class="at-input-stat-minmax" />
|
||||
-
|
||||
<input type="text" size="3" id="onHit_boostHP_Max" ng-model="obj.hitEffect.increaseCurrentHP.max" class="at-input-stat-minmax" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="onHit_boostAP">Boost current AP (range):</label>
|
||||
<div class="field">
|
||||
<input type="text" size="3" id="onHit_boostAP_Min" ng-model="obj.hitEffect.increaseCurrentAP.min" class="at-input-stat-minmax" />
|
||||
-
|
||||
<input type="text" size="3" id="onHit_boostAP_Max" ng-model="obj.hitEffect.increaseCurrentAP.max" class="at-input-stat-minmax" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="onHit_conditionsSource">Conditions added to source</label>
|
||||
<table class="field" id="onHit_conditionsSource">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><span class="hint hint--left" data-hint="Id of the actor condition to be applied.">Condition</span></th>
|
||||
<th><span class="hint hint--left" data-hint="How strong the effect should be. For example, magnitude=2 is equal to having two effects active at the same time. Use -99 to remove permanent effects.">Magnitude</span></th>
|
||||
<th><span class="hint hint--left" data-hint="How many rounds the actor condtions should last. Use 999 for a permanent effect.">Duration</span></th>
|
||||
<th><span class="hint hint--left" data-hint="Percentage chance, integer value from 1 (very unlikely) to 100 (always).">Chance</span></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="condition in obj.hitEffect.conditionsSource">
|
||||
<td><input type="text" ng-model="condition.condition" class="at-input-id" /></td>
|
||||
<td><input type="text" size="3" ng-model="condition.magnitude" class="at-input-magnitude" /></td>
|
||||
<td><input type="text" size="3" ng-model="condition.duration" class="at-input-duration" /></td>
|
||||
<td><input type="text" size="3" ng-model="condition.chance" class="at-input-chance" /></td>
|
||||
<td><a ng-click="removeCondition(obj.hitEffect.conditionsSource, condition)" class="btn btn-mini" title="Remove row"><i class="icon-trash"></i></a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<button ng-click="addCondition(obj.hitEffect.conditionsSource)" class="btn" title="Add row"><i class="icon-plus-sign"></i> Add</button>
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="onHit_conditionsTarget">Conditions added to target</label>
|
||||
<table class="field" id="onHit_conditionsTarget">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><span class="hint hint--left" data-hint="Id of the actor condition to be applied.">Condition</span></th>
|
||||
<th><span class="hint hint--left" data-hint="How strong the effect should be. For example, magnitude=2 is equal to having two effects active at the same time. Use -99 to remove permanent effects.">Magnitude</span></th>
|
||||
<th><span class="hint hint--left" data-hint="How many rounds the actor condtions should last. Use 999 for a permanent effect.">Duration</span></th>
|
||||
<th><span class="hint hint--left" data-hint="Percentage chance, integer value from 1 (very unlikely) to 100 (always).">Chance</span></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="condition in obj.hitEffect.conditionsTarget">
|
||||
<td><input type="text" ng-model="condition.condition" class="at-input-id" /></td>
|
||||
<td><input type="text" size="3" ng-model="condition.magnitude" class="at-input-magnitude" /></td>
|
||||
<td><input type="text" size="3" ng-model="condition.duration" class="at-input-duration" /></td>
|
||||
<td><input type="text" size="3" ng-model="condition.chance" class="at-input-chance" /></td>
|
||||
<td><a ng-click="removeCondition(obj.hitEffect.conditionsTarget, condition)" class="btn btn-mini" title="Remove row"><i class="icon-trash"></i></a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<button ng-click="addCondition(obj.hitEffect.conditionsTarget)" class="btn" title="Add row"><i class="icon-plus-sign"></i> Add</button>
|
||||
</div>
|
||||
</fieldset>
|
||||
<div class="endSets"> </div>
|
||||
@@ -1,41 +0,0 @@
|
||||
<h3>Quest</h3>
|
||||
<fieldset>
|
||||
<legend>General</legend>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="id" class="hint hint--top" data-hint="This id will not be displayed to the player. Prefer short but descriptive ids since it keeps the savegames smaller.">Internal ID:</label>
|
||||
<input type="text" size="30" id="id" class="field at-input-id" ng-model="obj.id" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="name">Display name:</label>
|
||||
<input type="text" size="30" id="name" class="field at-input-name" ng-model="obj.name" />
|
||||
</div>
|
||||
<div class="fieldWithLabel">
|
||||
<label class="checkbox"><input type="checkbox" id="showInLog" ng-model="obj.showInLog" ng-true-value="1" ng-false-value="0" />Show in quest log</label>
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>Stages</legend>
|
||||
<div class="fieldWithLabel">
|
||||
<label for="stages">Stages shown in quest log</label>
|
||||
<table class="field" id="stages">
|
||||
<thead><tr>
|
||||
<th><span class="hint hint--top" data-hint="This number will not be displayed to the player. Must be some unique number for this quest though. Prefer values from 10-100.">Progress</span></th>
|
||||
<th>Logtext</th>
|
||||
<th><span class="hint hint--top" data-hint="Reaching this quest stage gives this much experience">Experience</span></th>
|
||||
<th>Finishes quest</th>
|
||||
<th></th>
|
||||
</tr></thead>
|
||||
<tbody ui:sortable ng:model="obj.stages">
|
||||
<tr ng-repeat="stage in obj.stages">
|
||||
<td><input type="text" size="3" ng-model="stage.progress" class="at-input-stat"/></td>
|
||||
<td><textarea rows="2" cols="40" ng-model="stage.logText"></textarea></td>
|
||||
<td><input type="text" size="7" ng-model="stage.rewardExperience" class="at-input-stat"/></td>
|
||||
<td><input type="checkbox" ng-model="stage.finishesQuest" ng-true-value="1" ng-false-value="0" /></td>
|
||||
<td><a ng-click="removeQuestStage(stage)" class="btn btn-mini" title="Remove row"><i class="icon-trash"></i></a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<button ng-click="addQuestStage()" class="btn" title="Add row"><i class="icon-plus-sign"></i> Add</button>
|
||||
</div>
|
||||
</fieldset>
|
||||
<div class="endSets"> </div>
|
||||
@@ -1,16 +0,0 @@
|
||||
<h3>Export</h3>
|
||||
<fieldset>
|
||||
Export
|
||||
<select ng-model="selectedSection" ng-options="s.name for s in sections">
|
||||
</select>
|
||||
|
||||
<button ng-click="exportData()" class="btn btn-primary"><i class="icon-download"></i> Export</button>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<div ng-ds-fade="content">
|
||||
<textarea id="importExportTextArea" rows="9" cols="80" ng-model="content"></textarea>
|
||||
<br /><br />
|
||||
<p>Exported data should be placed in the files named <a target="_blank" href="http://code.google.com/p/andors-trail/source/browse/#git%2FAndorsTrail%2Fres%2Fraw">res/raw/*.json</a> in the source code.</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,34 +0,0 @@
|
||||
<h3>Import</h3>
|
||||
<fieldset>
|
||||
<p>Data to import can be found in the files named <a target="_blank" href="http://code.google.com/p/andors-trail/source/browse/#git%2FAndorsTrail%2Fres%2Fraw">res/raw/*.json</a> in the source code.</p>
|
||||
Import as
|
||||
<select ng-model="selectedSection" ng-options="s.name for s in sections"></select>
|
||||
|
||||
<p>
|
||||
<label for="importExisting">
|
||||
<input type="radio" name="importType" id="importExisting" value="existing" ng-model="importType"></input>
|
||||
Import content from existing files
|
||||
</label>
|
||||
<label for="importPasted">
|
||||
<input type="radio" name="importType" id="importPasted" value="paste" ng-model="importType"></input>
|
||||
Paste data to import
|
||||
</label>
|
||||
</p>
|
||||
|
||||
<div ng-show="importType == 'paste'">
|
||||
<p>
|
||||
<textarea id="importExportTextArea" rows="9" cols="80" ng-model="content" placeholder="paste json or old resource format here"></textarea>
|
||||
</p>
|
||||
<button ng-click="importPastedData()" class="btn btn-primary pull-right"><i class="icon-upload"></i> Import</button>
|
||||
</div>
|
||||
|
||||
<div ng-show="importType == 'existing'">
|
||||
<p>
|
||||
<select ng-model="selectedFile" ng-options="f for f in availableFiles[selectedSection.id]"></select>
|
||||
</p>
|
||||
<button ng-click="importExistingData()" class="btn btn-primary pull-right"><i class="icon-upload"></i> Import</button>
|
||||
</div>
|
||||
|
||||
<div style="color: red;" ng-ds-fade="errorMsg">{{errorMsg}}</div>
|
||||
<div style="color: green;" ng-ds-fade="importedMsg">{{importedMsg}}</div>
|
||||
</div>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user