diff --git a/Credits.md b/Credits.md index 7bf9d8fa05..d2a91274ef 100644 --- a/Credits.md +++ b/Credits.md @@ -17,7 +17,7 @@ All the following are from [the Noun Project](https://thenounproject.com) licenc * [Bow And Arrow](https://thenounproject.com/search/?q=Bow%20and%20Arrow&i=338261) By Viktor Ostrovsky for Archer * [Bow](https://thenounproject.com/search/?q=bow&i=101736) By Arthur Shlain for Bowman * [Fishing Vessel](https://thenounproject.com/term/fishing-vessel/23815/) By Luis Prado for Work Boats -* [Greek Trireme](https://thenounproject.com/search/?q=ancient%20boat&i=1626303) By Zachary McCune for Triremehos +* [Greek Trireme](https://thenounproject.com/search/?q=ancient%20boat&i=1626303) By Zachary McCune for Trireme * [Chariot](https://thenounproject.com/search/?q=Chariot&i=1189930) By Andrew Doane for Chariot Archer * [Spear](https://thenounproject.com/search/?q=Spear&i=11432) By Stephen Copinger for Spearman diff --git a/android/assets/game.atlas b/android/assets/game.atlas index d0cc4dcffc..871f05f8bc 100644 --- a/android/assets/game.atlas +++ b/android/assets/game.atlas @@ -6,497 +6,497 @@ filter: MipMapLinearLinear,MipMapLinearLinear repeat: none BuildingIcons/Angkor Wat rotate: false - xy: 204, 1466 + xy: 204, 764 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Apollo Program rotate: false - xy: 204, 1262 + xy: 204, 560 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Aqueduct rotate: false - xy: 204, 1160 + xy: 204, 458 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Armory rotate: false - xy: 204, 650 + xy: 184, 152 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Bank rotate: false - xy: 204, 140 + xy: 306, 921 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Barracks rotate: false - xy: 306, 1512 + xy: 306, 615 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Bazaar rotate: false - xy: 306, 1410 + xy: 306, 513 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Broadcast Tower rotate: false - xy: 306, 1104 + xy: 286, 207 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Burial Tomb rotate: false - xy: 306, 900 + xy: 583, 1744 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Castle rotate: false - xy: 306, 390 + xy: 1093, 1744 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Chichen Itza rotate: false - xy: 893, 1614 + xy: 1705, 1766 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Circus rotate: false - xy: 457, 1562 + xy: 537, 1540 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Circus Maximus rotate: false - xy: 408, 1460 + xy: 639, 1642 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Colloseum rotate: false - xy: 408, 746 + xy: 945, 1540 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Cristo Redentor rotate: false - xy: 306, 84 + xy: 1353, 1642 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Eiffel Tower rotate: false - xy: 510, 440 + xy: 640, 1234 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Factory rotate: false - xy: 510, 134 + xy: 742, 1234 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Forbidden Palace rotate: false - xy: 816, 1512 + xy: 1048, 1336 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Forge rotate: false - xy: 612, 1206 + xy: 1150, 1438 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Granary rotate: false - xy: 816, 1308 + xy: 1354, 1438 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Hagia Sophia rotate: false - xy: 1020, 1410 + xy: 1558, 1438 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Hanging Gardens rotate: false - xy: 612, 900 + xy: 1558, 1336 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Harbor rotate: false - xy: 714, 1002 + xy: 1558, 1234 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Hermitage rotate: false - xy: 816, 1104 + xy: 132, 50 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Hospital rotate: false - xy: 714, 900 + xy: 1659, 1540 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Hydro Plant rotate: false - xy: 816, 1002 + xy: 1660, 1438 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Ironworks rotate: false - xy: 816, 900 + xy: 1762, 1460 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Library rotate: false - xy: 816, 798 + xy: 1864, 1408 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Lighthouse rotate: false - xy: 918, 900 + xy: 1864, 1306 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Machu Pichu rotate: false - xy: 918, 798 + xy: 408, 1023 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Market rotate: false - xy: 714, 492 + xy: 408, 717 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Military Academy rotate: false - xy: 918, 594 + xy: 510, 1126 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Mint rotate: false - xy: 816, 390 + xy: 510, 718 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Monastery rotate: false - xy: 918, 492 + xy: 510, 616 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Monument rotate: false - xy: 1020, 594 + xy: 510, 514 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Museum rotate: false - xy: 714, 186 + xy: 510, 310 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/National College rotate: false - xy: 1020, 492 + xy: 612, 1030 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Notre Dame rotate: false - xy: 714, 84 + xy: 816, 1132 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Nuclear Plant rotate: false - xy: 918, 288 + xy: 714, 1030 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Observatory rotate: false - xy: 1020, 390 + xy: 918, 1132 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Opera House rotate: false - xy: 1020, 288 + xy: 816, 1030 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Oxford University rotate: false - xy: 1020, 186 + xy: 612, 724 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Palace rotate: false - xy: 1020, 84 + xy: 714, 826 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Paper Maker rotate: false - xy: 1122, 1512 + xy: 816, 928 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Porcelain Tower rotate: false - xy: 1122, 492 + xy: 714, 622 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Public School rotate: false - xy: 1122, 186 + xy: 1020, 928 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Research Lab rotate: false - xy: 1224, 1308 + xy: 816, 622 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/SS Booster rotate: false - xy: 1224, 696 + xy: 612, 316 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/SS Cockpit rotate: false - xy: 1224, 594 + xy: 714, 418 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/SS Engine rotate: false - xy: 1224, 492 + xy: 816, 520 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/SS Stasis Chamber rotate: false - xy: 1224, 390 + xy: 918, 622 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Sistine Chapel rotate: false - xy: 1326, 1539 + xy: 1122, 724 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Solar Plant rotate: false - xy: 1326, 1335 + xy: 1326, 928 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Spaceship Factory rotate: false - xy: 1326, 1233 + xy: 1428, 1030 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Stable rotate: false - xy: 1326, 927 + xy: 918, 418 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Stadium rotate: false - xy: 1326, 825 + xy: 1020, 520 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Stock Exchange rotate: false - xy: 1326, 519 + xy: 1326, 826 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Stone Works rotate: false - xy: 1326, 315 + xy: 1530, 1030 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Stonehenge rotate: false - xy: 1326, 213 + xy: 918, 316 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Taj Mahal rotate: false - xy: 1428, 1336 + xy: 1428, 826 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Temple rotate: false - xy: 1530, 1438 + xy: 1530, 928 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/The Great Library rotate: false - xy: 1632, 1540 + xy: 1632, 1030 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/The Great Lighthouse rotate: false - xy: 1428, 1234 + xy: 1020, 316 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/The Louvre rotate: false - xy: 1530, 1336 + xy: 1122, 418 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/The Oracle rotate: false - xy: 1632, 1438 + xy: 1224, 520 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/The Pyramids rotate: false - xy: 1428, 1132 + xy: 1326, 622 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Theatre rotate: false - xy: 1632, 1336 + xy: 1530, 826 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/University rotate: false - xy: 1530, 1030 + xy: 1428, 622 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Walls rotate: false - xy: 1428, 826 + xy: 1632, 826 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Windmill rotate: false - xy: 1530, 826 + xy: 1530, 622 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Workshop rotate: false - xy: 1632, 826 + xy: 1530, 520 size: 100, 100 orig: 100, 100 offset: 0, 0 @@ -510,266 +510,266 @@ FlagIcons/Dutch index: -1 FlagIcons/English rotate: false - xy: 1877, 1918 + xy: 1875, 1918 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 FlagIcons/French rotate: false - xy: 457, 1664 + xy: 277, 1664 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 FlagIcons/German rotate: false - xy: 587, 1716 + xy: 407, 1664 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 FlagIcons/Italian rotate: false - xy: 717, 1716 + xy: 277, 1534 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 FlagIcons/Romanian rotate: false - xy: 847, 1716 + xy: 407, 1534 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 FlagIcons/Russian rotate: false - xy: 977, 1716 + xy: 204, 1404 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 FlagIcons/Spanish rotate: false - xy: 1107, 1716 + xy: 204, 1274 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 ImprovementIcons/Academy rotate: false - xy: 1339, 1744 + xy: 204, 1172 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Ancient ruins rotate: false - xy: 1747, 1744 + xy: 204, 866 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Camp rotate: false - xy: 306, 696 + xy: 787, 1744 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/City ruins rotate: false - xy: 408, 1256 + xy: 741, 1642 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Customs house rotate: false - xy: 510, 1256 + xy: 1557, 1642 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Farm rotate: false - xy: 510, 32 + xy: 844, 1336 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Fishing Boats rotate: false - xy: 612, 1308 + xy: 1048, 1438 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Landmark rotate: false - xy: 714, 696 + xy: 1864, 1510 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Lumber mill rotate: false - xy: 714, 594 + xy: 1864, 1102 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Manufactory rotate: false - xy: 1020, 900 + xy: 408, 921 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Mine rotate: false - xy: 612, 186 + xy: 510, 922 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Oil well rotate: false - xy: 918, 186 + xy: 714, 928 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Plantation rotate: false - xy: 1122, 696 + xy: 1224, 1132 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Quarry rotate: false - xy: 1122, 84 + xy: 1122, 1030 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Railroad rotate: false - xy: 1224, 1512 + xy: 612, 418 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Railroad rotate: false - xy: 1224, 1512 + xy: 612, 418 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Road rotate: false - xy: 1224, 1002 + xy: 1122, 928 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Trading post rotate: false - xy: 1530, 1132 + xy: 1122, 316 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Banner rotate: false - xy: 281, 1846 - size: 200, 200 - orig: 200, 200 + xy: 306, 717 + size: 100, 100 + orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Circle rotate: false - xy: 277, 1614 + xy: 1695, 1868 size: 178, 178 orig: 178, 178 offset: 0, 0 index: -1 OtherIcons/CircleOld rotate: false - xy: 1097, 1614 + xy: 537, 1642 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/City rotate: false - xy: 408, 1358 + xy: 639, 1540 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Crosshair rotate: false - xy: 510, 1460 + xy: 1455, 1642 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/DisbandUnit rotate: false - xy: 510, 1052 + xy: 538, 1438 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Fire rotate: false - xy: 612, 1410 + xy: 844, 1234 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/MenuIcon rotate: false - xy: 612, 288 + xy: 408, 309 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Pentagon rotate: false - xy: 1122, 1206 + xy: 612, 622 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Shield rotate: false - xy: 1505, 1642 + xy: 816, 418 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Sleep rotate: false - xy: 1326, 1437 + xy: 1224, 826 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Star rotate: false - xy: 1530, 628 + xy: 1530, 424 size: 100, 94 orig: 100, 94 offset: 0, 0 index: -1 OtherIcons/Stop rotate: false - xy: 1326, 111 + xy: 1020, 418 size: 100, 100 orig: 100, 100 offset: 0, 0 @@ -783,1043 +783,1043 @@ OtherIcons/civTableBackground index: -1 OtherIcons/tileTableBackground rotate: false - xy: 1695, 1846 + xy: 2, 154 size: 180, 200 orig: 180, 200 offset: 0, 0 index: -1 OtherIcons/whiteDot rotate: false - xy: 1323, 1638 + xy: 306, 1227 size: 1, 1 orig: 1, 1 offset: 0, 0 index: -1 PolicyIcons/Aristocracy rotate: false - xy: 559, 1562 + xy: 234, 100 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Citizenship rotate: false - xy: 612, 32 + xy: 1632, 570 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Civil Society rotate: false - xy: 234, 88 + xy: 1530, 372 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Collective Rule rotate: false - xy: 1734, 1590 + xy: 1632, 518 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Constitution rotate: false - xy: 1632, 774 + xy: 1530, 320 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Democracy rotate: false - xy: 1428, 468 + xy: 1632, 466 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Discipline rotate: false - xy: 1530, 576 + xy: 234, 48 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Entrepreneurship rotate: false - xy: 664, 32 + xy: 286, 53 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Facism rotate: false - xy: 1734, 1538 + xy: 338, 53 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Free Religion rotate: false - xy: 1632, 722 + xy: 390, 53 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Free Speech rotate: false - xy: 1428, 416 + xy: 1684, 570 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Free Thought rotate: false - xy: 1530, 524 + xy: 1684, 518 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Humanism rotate: false - xy: 716, 32 + xy: 1684, 466 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Landed Elite rotate: false - xy: 1734, 1486 + xy: 1582, 372 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Legalism rotate: false - xy: 1632, 670 + xy: 1582, 320 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Mandate Of Heaven rotate: false - xy: 1428, 364 + xy: 442, 53 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Mercantilism rotate: false - xy: 768, 32 + xy: 1965, 1662 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Meritocracy rotate: false - xy: 1734, 1434 + xy: 1734, 1102 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Militarism rotate: false - xy: 1428, 312 + xy: 1734, 1050 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Military Caste rotate: false - xy: 820, 32 + xy: 1786, 1102 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Military Tradition rotate: false - xy: 1734, 1382 + xy: 1734, 998 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Monarchy rotate: false - xy: 1428, 260 + xy: 1786, 1050 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Oligarchy rotate: false - xy: 872, 32 + xy: 1734, 946 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Organized Religion rotate: false - xy: 1734, 1330 + xy: 1786, 998 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Patronage rotate: false - xy: 1428, 208 + xy: 1734, 894 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Police State rotate: false - xy: 924, 32 + xy: 1786, 946 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Populism rotate: false - xy: 1734, 1278 + xy: 1734, 842 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Professional Army rotate: false - xy: 1428, 156 + xy: 1786, 894 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Protectionism rotate: false - xy: 976, 32 + xy: 1734, 790 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Reformation rotate: false - xy: 1734, 1226 + xy: 1786, 842 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Representation rotate: false - xy: 1028, 32 + xy: 1734, 738 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Republic rotate: false - xy: 1734, 1174 + xy: 1786, 790 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Scientific Revolution rotate: false - xy: 1080, 32 + xy: 1734, 686 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Secularism rotate: false - xy: 1734, 1122 + xy: 1786, 738 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Sovereignty rotate: false - xy: 1132, 32 + xy: 1734, 634 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Theocracy rotate: false - xy: 1734, 1070 + xy: 1786, 686 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Total War rotate: false - xy: 1184, 32 + xy: 1786, 634 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Trade Unions rotate: false - xy: 1734, 1018 + xy: 1736, 582 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Universal Suffrage rotate: false - xy: 1236, 32 + xy: 1736, 530 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Warrior Code rotate: false - xy: 1734, 966 + xy: 1736, 478 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 ResourceIcons/Aluminum rotate: false - xy: 1645, 1744 + xy: 204, 968 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Bananas rotate: false - xy: 204, 242 + xy: 306, 1023 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Cattle rotate: false - xy: 306, 186 + xy: 1297, 1744 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Coal rotate: false - xy: 408, 848 + xy: 945, 1642 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Cotton rotate: false - xy: 408, 134 + xy: 1251, 1540 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Deer rotate: false - xy: 510, 1154 + xy: 1557, 1540 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Dyes rotate: false - xy: 510, 950 + xy: 538, 1336 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Fish rotate: false - xy: 714, 1512 + xy: 946, 1336 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Furs rotate: false - xy: 714, 1308 + xy: 1048, 1234 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Gems rotate: false - xy: 612, 1104 + xy: 1150, 1234 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Gold rotate: false - xy: 714, 1206 + xy: 1252, 1336 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Horses rotate: false - xy: 612, 798 + xy: 1659, 1642 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Incense rotate: false - xy: 918, 1104 + xy: 1660, 1336 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Iron rotate: false - xy: 612, 696 + xy: 1761, 1664 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Ivory rotate: false - xy: 918, 1002 + xy: 1762, 1358 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Marble rotate: false - xy: 612, 390 + xy: 408, 819 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Oil rotate: false - xy: 816, 84 + xy: 612, 826 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Pearls rotate: false - xy: 1122, 1308 + xy: 1122, 1132 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Sheep rotate: false - xy: 1403, 1642 + xy: 714, 316 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Silk rotate: false - xy: 1607, 1642 + xy: 918, 520 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Silver rotate: false - xy: 1709, 1642 + xy: 1020, 622 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Spices rotate: false - xy: 1326, 1029 + xy: 816, 316 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Stone rotate: false - xy: 1326, 417 + xy: 1428, 928 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Sugar rotate: false - xy: 1428, 1438 + xy: 1224, 622 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Uranium rotate: false - xy: 1632, 1132 + xy: 1530, 724 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Whales rotate: false - xy: 1632, 1030 + xy: 1326, 418 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Wheat rotate: false - xy: 1428, 724 + xy: 1428, 520 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Wine rotate: false - xy: 1632, 928 + xy: 1632, 724 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 StatIcons/CityConnection rotate: false - xy: 408, 1154 + xy: 741, 1540 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 StatIcons/City_Center_(Civ6) rotate: false - xy: 408, 1052 + xy: 843, 1642 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 StatIcons/Culture rotate: false - xy: 2, 1366 + xy: 281, 1846 size: 200, 200 orig: 200, 200 offset: 0, 0 index: -1 StatIcons/Food rotate: false - xy: 2, 1164 + xy: 483, 1846 size: 200, 200 orig: 200, 200 offset: 0, 0 index: -1 StatIcons/Gold rotate: false - xy: 2, 962 + xy: 685, 1846 size: 200, 200 orig: 200, 200 offset: 0, 0 index: -1 StatIcons/Happiness rotate: false - xy: 887, 1846 + xy: 2, 962 size: 200, 200 orig: 200, 200 offset: 0, 0 index: -1 StatIcons/Malcontent rotate: false - xy: 1089, 1846 + xy: 2, 760 size: 200, 200 orig: 200, 200 offset: 0, 0 index: -1 StatIcons/Movement rotate: false - xy: 612, 84 + xy: 510, 412 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 StatIcons/Population rotate: false - xy: 2, 356 + xy: 1291, 1846 size: 200, 200 orig: 200, 200 offset: 0, 0 index: -1 StatIcons/Production rotate: false - xy: 1493, 1846 + xy: 2, 356 size: 200, 200 orig: 200, 200 offset: 0, 0 index: -1 StatIcons/RangedStrength rotate: false - xy: 1224, 1410 + xy: 714, 520 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 StatIcons/Science rotate: false - xy: 2, 154 + xy: 1493, 1846 size: 200, 200 orig: 200, 200 offset: 0, 0 index: -1 StatIcons/Strength rotate: false - xy: 1428, 1540 + xy: 1122, 520 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Acoustics rotate: false - xy: 1441, 1744 + xy: 334, 1329 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Agriculture rotate: false - xy: 1543, 1744 + xy: 204, 1070 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Animal Husbandry rotate: false - xy: 204, 1364 + xy: 204, 662 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Pasture rotate: false - xy: 204, 1364 + xy: 204, 662 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Archaeology rotate: false - xy: 204, 1058 + xy: 204, 356 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Archery rotate: false - xy: 204, 854 + xy: 436, 1432 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Architecture rotate: false - xy: 204, 752 + xy: 436, 1330 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Astronomy rotate: false - xy: 204, 446 + xy: 436, 1228 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Banking rotate: false - xy: 1877, 1816 + xy: 306, 819 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Biology rotate: false - xy: 306, 1308 + xy: 306, 411 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Bronze Working rotate: false - xy: 306, 1002 + xy: 286, 105 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Calendar rotate: false - xy: 306, 798 + xy: 685, 1744 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Chemistry rotate: false - xy: 791, 1614 + xy: 1603, 1744 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Medical Lab rotate: false - xy: 791, 1614 + xy: 1603, 1744 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Chivalry rotate: false - xy: 995, 1614 + xy: 1807, 1766 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Civil Service rotate: false - xy: 408, 950 + xy: 843, 1540 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Combustion rotate: false - xy: 408, 644 + xy: 1047, 1642 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Compass rotate: false - xy: 408, 440 + xy: 1149, 1642 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Computers rotate: false - xy: 408, 338 + xy: 1149, 1540 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Construction rotate: false - xy: 408, 236 + xy: 1251, 1642 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Currency rotate: false - xy: 510, 1358 + xy: 1455, 1540 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Dynamite rotate: false - xy: 510, 848 + xy: 640, 1438 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Ecology rotate: false - xy: 510, 746 + xy: 538, 1234 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Economics rotate: false - xy: 510, 644 + xy: 640, 1336 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Education rotate: false - xy: 510, 542 + xy: 742, 1438 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Electricity rotate: false - xy: 510, 338 + xy: 742, 1336 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Engineering rotate: false - xy: 510, 236 + xy: 844, 1438 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Fertilizer rotate: false - xy: 612, 1512 + xy: 946, 1438 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Flight rotate: false - xy: 714, 1410 + xy: 946, 1234 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Future Tech rotate: false - xy: 816, 1410 + xy: 1150, 1336 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Guilds rotate: false - xy: 816, 1206 + xy: 1456, 1336 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Gunpowder rotate: false - xy: 918, 1308 + xy: 1456, 1234 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Horseback Riding rotate: false - xy: 918, 1206 + xy: 1909, 1816 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Industrialization rotate: false - xy: 1020, 1206 + xy: 1660, 1234 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Iron Working rotate: false - xy: 714, 798 + xy: 1761, 1562 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Machinery rotate: false - xy: 816, 696 + xy: 408, 1125 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Masonry rotate: false - xy: 816, 594 + xy: 408, 615 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Mass Media rotate: false - xy: 918, 696 + xy: 408, 513 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Mathematics rotate: false - xy: 1020, 798 + xy: 408, 411 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Metal Casting rotate: false - xy: 714, 390 + xy: 388, 207 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Metallurgy rotate: false - xy: 816, 492 + xy: 388, 105 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Military Science rotate: false - xy: 1020, 696 + xy: 510, 1024 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Mining rotate: false - xy: 714, 288 + xy: 510, 820 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Nanotechnology rotate: false - xy: 918, 390 + xy: 714, 1132 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Nuclear Fission rotate: false - xy: 816, 186 + xy: 612, 928 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Optics rotate: false - xy: 918, 84 + xy: 1020, 1132 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Particle Physics rotate: false - xy: 1122, 1410 + xy: 918, 1030 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Pharmaceuticals rotate: false - xy: 1122, 1104 + xy: 714, 724 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Philosophy rotate: false - xy: 1122, 1002 + xy: 816, 826 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Physics rotate: false - xy: 1122, 900 + xy: 918, 928 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Plastics rotate: false - xy: 1122, 594 + xy: 612, 520 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Pottery rotate: false - xy: 1122, 390 + xy: 816, 724 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Printing Press rotate: false - xy: 1122, 288 + xy: 918, 826 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Radio rotate: false - xy: 1199, 1614 + xy: 1326, 1132 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Rifling rotate: false - xy: 1224, 1104 + xy: 1020, 826 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Robotics rotate: false - xy: 1224, 900 + xy: 1224, 1030 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Rocketry rotate: false - xy: 1224, 798 + xy: 1428, 1132 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Sailing rotate: false - xy: 1224, 288 + xy: 1020, 724 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Satellites rotate: false - xy: 1224, 186 + xy: 1122, 826 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Scientific Theory rotate: false - xy: 1224, 84 + xy: 1224, 928 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Steam Power rotate: false - xy: 1326, 723 + xy: 1122, 622 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Steel rotate: false - xy: 1326, 621 + xy: 1224, 724 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/The Wheel rotate: false - xy: 1530, 1234 + xy: 1428, 724 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Theology rotate: false - xy: 1428, 1030 + xy: 1632, 928 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Trapping rotate: false - xy: 1632, 1234 + xy: 1224, 418 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Writing rotate: false - xy: 1428, 520 + xy: 1632, 622 size: 100, 100 orig: 100, 100 offset: 0, 0 @@ -1833,14 +1833,14 @@ TerrainIcons/CrosshatchHexagon index: -1 TerrainIcons/Flood plains rotate: false - xy: 483, 1846 + xy: 2, 1366 size: 200, 200 orig: 200, 200 offset: 0, 0 index: -1 TerrainIcons/Forest rotate: false - xy: 685, 1846 + xy: 2, 1164 size: 200, 200 orig: 200, 200 offset: 0, 0 @@ -1854,21 +1854,21 @@ TerrainIcons/Hexagon index: -1 TerrainIcons/Jungle rotate: false - xy: 2, 760 + xy: 887, 1846 size: 200, 200 orig: 200, 200 offset: 0, 0 index: -1 TerrainIcons/Marsh rotate: false - xy: 2, 558 + xy: 1089, 1846 size: 200, 200 orig: 200, 200 offset: 0, 0 index: -1 TerrainIcons/Oasis rotate: false - xy: 1291, 1846 + xy: 2, 558 size: 200, 200 orig: 200, 200 offset: 0, 0 @@ -1882,441 +1882,441 @@ TerrainIcons/road index: -1 UnitIcons/Archer rotate: false - xy: 204, 956 + xy: 184, 254 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Artillery rotate: false - xy: 204, 548 + xy: 334, 1227 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Ballista rotate: false - xy: 204, 344 + xy: 306, 1125 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Bowman rotate: false - xy: 306, 1206 + xy: 306, 309 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Cannon rotate: false - xy: 306, 594 + xy: 889, 1744 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Caravel rotate: false - xy: 306, 492 + xy: 991, 1744 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Catapult rotate: false - xy: 306, 288 + xy: 1195, 1744 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Cavalry rotate: false - xy: 587, 1614 + xy: 1399, 1744 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Chariot Archer rotate: false - xy: 689, 1614 + xy: 1501, 1744 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Companion Cavalry rotate: false - xy: 408, 542 + xy: 1047, 1540 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Crossbowman rotate: false - xy: 408, 32 + xy: 1353, 1540 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Galleass rotate: false - xy: 918, 1512 + xy: 1252, 1438 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Great Artist rotate: false - xy: 918, 1410 + xy: 1252, 1234 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Great Engineer rotate: false - xy: 1020, 1512 + xy: 1354, 1336 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Great Merchant rotate: false - xy: 612, 1002 + xy: 1456, 1438 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Great Scientist rotate: false - xy: 714, 1104 + xy: 1354, 1234 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Horseman rotate: false - xy: 1020, 1308 + xy: 1909, 1714 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Knight rotate: false - xy: 1020, 1104 + xy: 1762, 1256 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Lancer rotate: false - xy: 612, 594 + xy: 1863, 1612 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Longbowman rotate: false - xy: 1020, 1002 + xy: 1864, 1204 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Longswordsman rotate: false - xy: 612, 492 + xy: 1762, 1154 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Musketeer rotate: false - xy: 816, 288 + xy: 612, 1132 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Musketman rotate: false - xy: 1849, 1715 + xy: 1428, 317 size: 100, 99 orig: 100, 99 offset: 0, 0 index: -1 UnitIcons/Pikeman rotate: false - xy: 1122, 798 + xy: 1020, 1030 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Rifleman rotate: false - xy: 1224, 1206 + xy: 918, 724 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Scout rotate: false - xy: 132, 38 + xy: 1326, 1030 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Settler rotate: false - xy: 1301, 1641 + xy: 1530, 1132 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Spearman rotate: false - xy: 1326, 1131 + xy: 1632, 1132 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Swordsman rotate: false - xy: 1530, 1540 + xy: 1326, 724 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Trebuchet rotate: false - xy: 1428, 928 + xy: 1326, 520 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Trireme rotate: false - xy: 1237, 1743 + xy: 334, 1431 size: 100, 101 orig: 100, 101 offset: 0, 0 index: -1 UnitIcons/Warrior rotate: false - xy: 1530, 928 + xy: 1224, 316 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Work Boats rotate: false - xy: 1428, 622 + xy: 1326, 316 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Worker rotate: false - xy: 1530, 724 + xy: 1428, 418 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitPromotionIcons/Accuracy_III_(Civ5) rotate: false - xy: 65, 2 + xy: 1705, 1744 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Accuracy_II_(Civ5) rotate: false - xy: 87, 2 + xy: 1727, 1744 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Accuracy_I_(Civ5) rotate: false - xy: 109, 2 + xy: 65, 2 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Barrage_III_(Civ5) rotate: false - xy: 131, 2 + xy: 87, 2 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Barrage_II_(Civ5) rotate: false - xy: 2007, 2026 + xy: 109, 2 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Barrage_I_(Civ5) rotate: false - xy: 1979, 1896 + xy: 131, 2 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Blitz_(Civ5) rotate: false - xy: 277, 1592 + xy: 204, 1546 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Charge_(Civ5) rotate: false - xy: 408, 1592 + xy: 306, 1252 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Cover_II_(Civ5) rotate: false - xy: 1951, 1794 + xy: 537, 1772 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Cover_I_(Civ5) rotate: false - xy: 1849, 1824 + xy: 2005, 2026 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Drill_III_(Civ5) rotate: false - xy: 559, 1642 + xy: 1875, 1896 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Drill_II_(Civ5) rotate: false - xy: 1237, 1721 + xy: 1863, 1744 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Drill_I_(Civ5) rotate: false - xy: 1811, 1722 + xy: 1632, 444 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Formation_II_(Civ5) rotate: false - xy: 1301, 1619 + xy: 1965, 1640 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Formation_I_(Civ5) rotate: false - xy: 1326, 89 + xy: 1734, 1212 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Indirect_Fire_(Civ5) rotate: false - xy: 234, 66 + xy: 1838, 1132 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Logistics_(Civ5) rotate: false - xy: 1786, 1620 + xy: 1788, 612 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/March_(Civ5) rotate: false - xy: 1684, 804 + xy: 132, 28 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Mobility_(Civ5) rotate: false - xy: 1480, 498 + xy: 226, 1546 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Range_(Civ5) rotate: false - xy: 1582, 606 + xy: 306, 1230 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Scouting_III_(Civ5) rotate: false - xy: 1632, 648 + xy: 537, 1750 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Scouting_II_(Civ5) rotate: false - xy: 1428, 134 + xy: 559, 1772 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Scouting_I_(Civ5) rotate: false - xy: 1288, 62 + xy: 2005, 2004 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Sentry_(Civ5) rotate: false - xy: 1734, 944 + xy: 1875, 1874 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Shock_III_(Civ5) rotate: false - xy: 2007, 2004 + xy: 1863, 1722 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Shock_II_(Civ5) rotate: false - xy: 1979, 1874 + xy: 1885, 1744 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Shock_I_(Civ5) rotate: false - xy: 277, 1570 + xy: 1654, 444 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Siege_(Civ5) rotate: false - xy: 408, 1570 + xy: 1965, 1618 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Volley_(Civ5) rotate: false - xy: 430, 1592 + xy: 1987, 1640 size: 20, 20 orig: 20, 20 offset: 0, 0 diff --git a/android/assets/game.png b/android/assets/game.png index 1a19cdb660..3b3fbc893b 100644 Binary files a/android/assets/game.png and b/android/assets/game.png differ diff --git a/android/assets/jsons/Buildings.json b/android/assets/jsons/Buildings.json index 6e11ba906d..35904f7b7a 100644 --- a/android/assets/jsons/Buildings.json +++ b/android/assets/jsons/Buildings.json @@ -2,17 +2,16 @@ // Ancient Era { name:"Palace", - baseDescription: "Indicates that this city is the capital", isWonder:true, production:3, science:3, gold:3, culture:1, - cost:1 + cost:1, + uniques:["Indicates the capital city"] }, { name:"Monument", - baseDescription: "Produces culture, enabling border growth", culture:2, cost:40, hurryCostModifier:40, @@ -45,7 +44,6 @@ }, { name:"The Great Library", - baseDescription: "Provides a free technology, and a library in the city it is built in", science:3, culture:1, greatPersonPoints:{science:1}, @@ -86,7 +84,6 @@ }, { name:"The Pyramids", - baseDescription: "Worker construction increased 25%, provides 2 free workers", culture:1, greatPersonPoints:{production:1}, isWonder:true, @@ -173,7 +170,6 @@ }, { name:"The Oracle", - baseDescription: "Provides a free social policy", culture:3, greatPersonPoints:{science:1}, isWonder:true, @@ -349,11 +345,11 @@ { name:"Observatory", - baseDescription: "City must be bordering a mountain", maintenance:2, hurryCostModifier:25, percentStatBonus:{science:50}, requiredBuilding:"Library", + uniques:[] //todo: "City must be bordering a mountain", requiredTech:"Astronomy" }, { @@ -415,7 +411,6 @@ }, { name:"The Louvre", - baseDescription: "A Free Great Artist appears near the city", culture:1, happiness:4, isWonder:true, @@ -424,7 +419,6 @@ }, { name:"Taj Mahal", - baseDescription: "Empire enters a golden age", culture:1, happiness:4, isWonder:true, @@ -510,7 +504,6 @@ }, { name:"Eiffel Tower", - baseDescription: "Provides 1 happiness per social policy", culture:1, happiness:5 isWonder:true, @@ -562,7 +555,6 @@ }, { name:"Solar Plant", - baseDescription: "Can only be built in cities next to deserts; cannot be built in a city with a Nuclear Plant", production:5, percentStatBonus:{production:15}, requiredBuilding:"Factory", diff --git a/android/assets/jsons/Translations.json b/android/assets/jsons/Translations.json index 3e6b34cf44..223c526e60 100644 --- a/android/assets/jsons/Translations.json +++ b/android/assets/jsons/Translations.json @@ -2189,24 +2189,6 @@ Spanish:"Tecnología del futuro" } - //Why do we have duplicates? Anyway i have translated it - "Enables conversion of city production to gold":{ - Russian:"Разрешает конверсию производства в золото" - Spanish:"Habilita la conversión de producción a oro" - } - "Enables conversion of city production to science":{ - Russian:"Разрешает конверсию производства в науку" - Spanish:"Habilita la conversión de producción a ciencia" - } - "Improves movement speed on roads":{ - Russian:"Ускоряет скорость передвижения по дорогам" - Spanish:"Mejora la velocidad de movimiento en carreteras" - } - "+10% science and production in all cities":{ - Russian:"+10% науки и производства во всех городах" - Spanish:"+10% de ciencia y producción en todas las ciudades" - } - "Who knows what the future holds?":{ Italian:"Chi sa cosa riserva il futuro?" @@ -2217,6 +2199,15 @@ Spanish:"¿Quién sabe qué nos depara el futuro?" } + "Improves movement speed on roads":{ + Russian:"Ускоряет скорость передвижения по дорогам" + Spanish:"Mejora la velocidad de movimiento en carreteras" + } + "+10% science and production in all cities":{ + Russian:"+10% науки и производства во всех городах" + Spanish:"+10% de ciencia y producción en todas las ciudades" + } + "Improves movement speed on roads":{ Italian:"Migliora la velocità di movimento sulle strade" Russian:"Улучшает скорость передвижения по дорогам" @@ -2238,6 +2229,7 @@ Romanian:"Permite conversia producției în oraș la aur" Spanish:"Habilita la conversión de producción a oro" } + "Increases embarked movement +1":{} // Tech Eras // In case of foreign languages it becomes gender sensitive words @@ -3574,6 +3566,8 @@ // And finally, units! + + // Ancient Era Units "Worker":{ Italian:"Operaio" Russian:"Рабочий" @@ -3581,6 +3575,7 @@ Romanian:"Lucrător" Spanish:"Trabajador" } + // Settler already translated in difficulties "Scout":{ Italian:"Esploratore" Russian:"Разведчик" @@ -3608,6 +3603,8 @@ //In official Russian localization it's accurate archer :) Spanish:"Arquero experto" } + "Work Boats":{} + "Trireme":{} "Chariot Archer":{ Italian:"Arciere in carriola" Russian:"Лучник на колеснице" @@ -3622,6 +3619,8 @@ Romanian:"Lancer" Spanish:"Lancero" } + + // Classical Era Units "Catapult":{ Italian:"Catapulta" Russian:"Катапульта" @@ -3629,6 +3628,7 @@ Romanian:"Catapulta" Spanish:"Catapulta" } + "Ballista":{} "Swordsman":{ Italian:"Spadaccino" Russian:"Мечник" @@ -3650,6 +3650,9 @@ Romanian:"Compania cavalerilor" Spanish:"Caballería de compañia" } + + // Medieval units + "Galleass":{} "Crossbowman":{ Italian:"Balestriere" Russian:"Арбалетчик" @@ -3685,6 +3688,9 @@ Romanian:"Cavaler" Spanish:"Caballero" } + + // Renaissance units + "Caravel":{} "Cannon":{ Italian:"Cannone" Russian:"Пушка" @@ -3697,6 +3703,7 @@ French:"Mousquetaire" Spanish:"Mosquetero" } + "Musketeer":{} "Lancer":{ Italian:"lanciere" Russian:"Улан" @@ -3704,6 +3711,8 @@ Romanian:"Lăncier" Spanish:"Jinete lancero" } + + // Industrial units "Rifleman":{ Italian:"Fuciliere" Russian:"Стрелок" @@ -3725,6 +3734,8 @@ Romanian:"Artilerie" Spanish:"Artillería" } + + // Great units "Great Artist":{ Italian:"Grande artista" Russian:"Великий художник" @@ -3754,6 +3765,7 @@ Spanish:"Gran Ingeniero" } + // Social policies "Requires":{ Russian:"Требует" Spanish:"Requiere" diff --git a/core/src/com/unciv/models/gamebasics/Building.kt b/core/src/com/unciv/models/gamebasics/Building.kt index 139c5f6996..876492d056 100644 --- a/core/src/com/unciv/models/gamebasics/Building.kt +++ b/core/src/com/unciv/models/gamebasics/Building.kt @@ -8,7 +8,6 @@ import com.unciv.models.stats.Stats import com.unciv.ui.utils.tr class Building : NamedStats(), IConstruction{ - private var baseDescription: String? = null override val description: String get() = getDescription(false, hashSetOf()) diff --git a/core/src/com/unciv/models/gamebasics/tech/Technology.kt b/core/src/com/unciv/models/gamebasics/tech/Technology.kt index 85006728e3..ccfd7bd2e4 100644 --- a/core/src/com/unciv/models/gamebasics/tech/Technology.kt +++ b/core/src/com/unciv/models/gamebasics/tech/Technology.kt @@ -12,7 +12,6 @@ class Technology : ICivilopedia { val SB=StringBuilder() if(baseDescription!=null) SB.appendln(baseDescription!!.tr()) - val improvedImprovements = GameBasics.TileImprovements.values.filter { it.improvingTech==name }.groupBy { it.improvingTechStats.toString() } for (improvement in improvedImprovements) { val impimpString = improvement.value.joinToString { it.name.tr() } +" {provide" + (if(improvement.value.size==1) "s" else "") +"} "+improvement.key diff --git a/core/src/com/unciv/ui/pickerscreens/TechButton.kt b/core/src/com/unciv/ui/pickerscreens/TechButton.kt new file mode 100644 index 0000000000..7ffcbabec6 --- /dev/null +++ b/core/src/com/unciv/ui/pickerscreens/TechButton.kt @@ -0,0 +1,63 @@ +package com.unciv.ui.pickerscreens + +import com.badlogic.gdx.graphics.Color +import com.badlogic.gdx.scenes.scene2d.Touchable +import com.badlogic.gdx.scenes.scene2d.ui.Label +import com.badlogic.gdx.scenes.scene2d.ui.Table +import com.badlogic.gdx.utils.Align +import com.unciv.logic.civilization.TechManager +import com.unciv.models.gamebasics.GameBasics +import com.unciv.ui.utils.CameraStageBaseScreen +import com.unciv.ui.utils.ImageGetter +import com.unciv.ui.utils.setFontColor +import com.unciv.ui.utils.surroundWithCircle + +class TechButton(techName:String, val techManager: TechManager) : Table(CameraStageBaseScreen.skin) { + val text= Label("", skin).setFontColor(Color.WHITE).apply { setAlignment(Align.center) } + init { + touchable = Touchable.enabled + defaults().pad(10f) + background = ImageGetter.getDrawable("OtherIcons/civTableBackground.png") + if(ImageGetter.techIconExists(techName)) + add(ImageGetter.getTechIconGroup(techName)) // this is 60*60 + + val rightSide = Table() + val techCost = techManager.costOfTech(techName) + val remainingTech = techManager.remainingScienceToTech(techName) + if(techCost!=remainingTech){ + val percentComplete = (techCost-remainingTech)/techCost.toFloat() + add(ImageGetter.getProgressBarVertical(2f, 50f, percentComplete, Color.BLUE, Color.WHITE)) + } + rightSide.add(text).row() + + // here we add little images of what the tech gives you + val techEnabledIcons = Table() + techEnabledIcons.defaults().pad(5f) + + for(unit in GameBasics.Units.values.filter { it.requiredTech==techName + && (it.uniqueTo==null || it.uniqueTo==techManager.civInfo.civName) }) + techEnabledIcons.add(ImageGetter.getConstructionImage(unit.name).surroundWithCircle(30f)) + + for(building in GameBasics.Buildings.values.filter { it.requiredTech==techName + && (it.uniqueTo==null || it.uniqueTo==techManager.civInfo.civName)}) + techEnabledIcons.add(ImageGetter.getConstructionImage(building.name).surroundWithCircle(30f)) + + for(improvement in GameBasics.TileImprovements.values.filter { it.techRequired==techName || it.improvingTech==techName }) { + if(improvement.name.startsWith("Remove")) + techEnabledIcons.add(ImageGetter.getImage("OtherIcons/Stop")).size(30f) + else techEnabledIcons.add(ImageGetter.getImprovementIcon(improvement.name, 30f)) + } + + for(resource in GameBasics.TileResources.values.filter { it.revealedBy==techName }) + techEnabledIcons.add(ImageGetter.getResourceImage(resource.name, 30f)) + + val tech = GameBasics.Technologies[techName]!! + if(tech.baseDescription!=null) + techEnabledIcons.add(ImageGetter.getImage("OtherIcons/Star").apply { color= Color.BLACK }.surroundWithCircle(30f)) + + rightSide.add(techEnabledIcons) + + add(rightSide) + pack() + } +} \ No newline at end of file diff --git a/core/src/com/unciv/ui/pickerscreens/TechPickerScreen.kt b/core/src/com/unciv/ui/pickerscreens/TechPickerScreen.kt index 965eb438cc..bf0585404e 100644 --- a/core/src/com/unciv/ui/pickerscreens/TechPickerScreen.kt +++ b/core/src/com/unciv/ui/pickerscreens/TechPickerScreen.kt @@ -1,10 +1,7 @@ package com.unciv.ui.pickerscreens import com.badlogic.gdx.graphics.Color -import com.badlogic.gdx.scenes.scene2d.Touchable import com.badlogic.gdx.scenes.scene2d.ui.Label -import com.badlogic.gdx.scenes.scene2d.ui.Table -import com.badlogic.gdx.utils.Align import com.unciv.UnCivGame import com.unciv.logic.civilization.CivilizationInfo import com.unciv.logic.civilization.TechManager @@ -13,6 +10,7 @@ import com.unciv.models.gamebasics.tech.Technology import com.unciv.ui.utils.* import java.util.* + class TechPickerScreen(internal val civInfo: CivilizationInfo) : PickerScreen() { private var techNameToButton = HashMap() @@ -37,52 +35,6 @@ class TechPickerScreen(internal val civInfo: CivilizationInfo) : PickerScreen() isFreeTechPick = freeTechPick } - class TechButton(techName:String, val techManager:TechManager) : Table(skin) { - val text=Label("",skin).setFontColor(Color.WHITE).apply { setAlignment(Align.center) } - init { - touchable = Touchable.enabled - defaults().pad(10f) - background = ImageGetter.getDrawable("OtherIcons/civTableBackground.png") - if(ImageGetter.techIconExists(techName)) - add(ImageGetter.getTechIconGroup(techName)) // this is 60*60 - - val rightSide = Table() - val techCost = techManager.costOfTech(techName) - val remainingTech = techManager.remainingScienceToTech(techName) - if(techCost!=remainingTech){ - val percentComplete = (techCost-remainingTech)/techCost.toFloat() - add(ImageGetter.getProgressBarVertical(2f,50f,percentComplete, Color.BLUE, Color.WHITE)) - } - rightSide.add(text).row() - - // here we add little images of what the tech gives you - val techEnabledIcons = Table() - techEnabledIcons.defaults().pad(5f) - - for(unit in GameBasics.Units.values.filter { it.requiredTech==techName - && (it.uniqueTo==null || it.uniqueTo==techManager.civInfo.civName) }) - techEnabledIcons.add(ImageGetter.IconCircleGroup(30f,ImageGetter.getConstructionImage(unit.name))) - - for(building in GameBasics.Buildings.values.filter { it.requiredTech==techName - && (it.uniqueTo==null || it.uniqueTo==techManager.civInfo.civName)}) - techEnabledIcons.add(ImageGetter.IconCircleGroup(30f,ImageGetter.getConstructionImage(building.name))) - - for(improvement in GameBasics.TileImprovements.values.filter { it.techRequired==techName || it.improvingTech==techName }) { - if(improvement.name.startsWith("Remove")) - techEnabledIcons.add(ImageGetter.getImage("OtherIcons/Stop")).size(30f) - else techEnabledIcons.add(ImageGetter.getImprovementIcon(improvement.name, 30f)) - } - - for(resource in GameBasics.TileResources.values.filter { it.revealedBy==techName }) - techEnabledIcons.add(ImageGetter.getResourceImage(resource.name,30f)) - - rightSide.add(techEnabledIcons) - - add(rightSide) - pack() - } - } - init { onBackButtonClicked { UnCivGame.Current.setWorldScreen(); dispose() } diff --git a/core/src/com/unciv/ui/tilegroups/TileGroup.kt b/core/src/com/unciv/ui/tilegroups/TileGroup.kt index 638eadec6d..8e3a846bda 100644 --- a/core/src/com/unciv/ui/tilegroups/TileGroup.kt +++ b/core/src/com/unciv/ui/tilegroups/TileGroup.kt @@ -228,7 +228,7 @@ open class TileGroup(var tileInfo: TileInfo) : Group() { } if (roadStatus == RoadStatus.None) continue // no road image - val image = if (roadStatus == RoadStatus.Road) ImageGetter.getImage(ImageGetter.WhiteDot).apply { color = Color.BROWN } + val image = if (roadStatus == RoadStatus.Road) ImageGetter.getWhiteDot().apply { color = Color.BROWN } else ImageGetter.getImage("OtherIcons/Railroad.png") roadImage.image = image @@ -378,13 +378,13 @@ open class TileGroup(var tileInfo: TileInfo) : Group() { protected fun getHealthBar(currentHealth: Float, maxHealth: Float, healthBarSize: Float): Table { val healthPercent = currentHealth / maxHealth val healthBar = Table() - val healthPartOfBar = ImageGetter.getImage(ImageGetter.WhiteDot) + val healthPartOfBar = ImageGetter.getWhiteDot() healthPartOfBar.color = when { healthPercent > 2 / 3f -> Color.GREEN healthPercent > 1 / 3f -> Color.ORANGE else -> Color.RED } - val emptyPartOfBar = ImageGetter.getImage(ImageGetter.WhiteDot).apply { color = Color.BLACK } + val emptyPartOfBar = ImageGetter.getWhiteDot().apply { color = Color.BLACK } healthBar.add(healthPartOfBar).width(healthBarSize * healthPercent).height(5f) healthBar.add(emptyPartOfBar).width(healthBarSize * (1 - healthPercent)).height(5f) healthBar.pack() diff --git a/core/src/com/unciv/ui/utils/CameraStageBaseScreen.kt b/core/src/com/unciv/ui/utils/CameraStageBaseScreen.kt index ccedaa7cb9..3e32dd3171 100644 --- a/core/src/com/unciv/ui/utils/CameraStageBaseScreen.kt +++ b/core/src/com/unciv/ui/utils/CameraStageBaseScreen.kt @@ -190,3 +190,6 @@ fun Actor.onClick(function: () -> Unit) { } ) } +fun Image.surroundWithCircle(size:Float): IconCircleGroup { + return IconCircleGroup(size,this) +} \ No newline at end of file diff --git a/core/src/com/unciv/ui/utils/IconCircleGroup.kt b/core/src/com/unciv/ui/utils/IconCircleGroup.kt new file mode 100644 index 0000000000..941f4b5fac --- /dev/null +++ b/core/src/com/unciv/ui/utils/IconCircleGroup.kt @@ -0,0 +1,15 @@ +package com.unciv.ui.utils + +import com.badlogic.gdx.scenes.scene2d.Group +import com.badlogic.gdx.scenes.scene2d.ui.Image + +class IconCircleGroup(size:Float, val image: Image): Group(){ + val circle = ImageGetter.getImage("OtherIcons/Circle").apply { setSize(size, size) } + init { + setSize(size, size) + addActor(circle) + image.setSize(size * 0.75f, size * 0.75f) + image.center(this) + addActor(image) + } +} \ No newline at end of file diff --git a/core/src/com/unciv/ui/utils/ImageGetter.kt b/core/src/com/unciv/ui/utils/ImageGetter.kt index 39ff78e84e..0169e16604 100644 --- a/core/src/com/unciv/ui/utils/ImageGetter.kt +++ b/core/src/com/unciv/ui/utils/ImageGetter.kt @@ -14,7 +14,7 @@ import com.unciv.models.gamebasics.GameBasics import com.unciv.models.gamebasics.tile.ResourceType object ImageGetter { - const val WhiteDot = "OtherIcons/whiteDot.png" + const private val whiteDotLocation = "OtherIcons/whiteDot.png" // When we used to load images directly from different files, without using a texture atlas, // The draw() phase of the main screen would take a really long time because the BatchRenderer would @@ -22,9 +22,8 @@ object ImageGetter { // So, we now use TexturePacker in the DesktopLauncher class to pack all the different images into single images, // and the atlas is what tells us what was packed where. var atlas = TextureAtlas("game.atlas") + fun getWhiteDot() = getImage(whiteDotLocation) - init{ - } fun getExternalImage(fileName:String): Image { return Image(TextureRegion(Texture("ExtraImages/$fileName.png"))) @@ -49,7 +48,7 @@ object ImageGetter { throw Exception("Could not find $fileName") return region } catch (ex: Exception) { - return getTextureRegion(WhiteDot) + return getTextureRegion(whiteDotLocation) } } @@ -66,16 +65,19 @@ object ImageGetter { return getImage("UnitIcons/$unitName").apply { this.color=color } } + val foodCircleColor = Color.GREEN.cpy().lerp(Color.WHITE,0.5f) + val productionCircleColor = Color.BROWN.cpy().lerp(Color.WHITE,0.5f) + val goldCircleColor = Color.GOLD.cpy().lerp(Color.WHITE,0.5f) fun getImprovementIcon(improvementName:String, size:Float=20f):Actor{ - val iconGroup = IconCircleGroup(size, getImage("ImprovementIcons/$improvementName")) + val iconGroup = getImage("ImprovementIcons/$improvementName").surroundWithCircle(size) val improvement = GameBasics.TileImprovements[improvementName]!! when { - improvement.food>0 -> iconGroup.circle.color= Color.GREEN.cpy().lerp(Color.WHITE,0.5f) - improvement.production>0 -> iconGroup.circle.color= Color.BROWN.cpy().lerp(Color.WHITE,0.5f) - improvement.gold>0 -> iconGroup.circle.color= Color.GOLD.cpy().lerp(Color.WHITE,0.5f) - improvement.science>0 -> iconGroup.circle.color= Color.GOLD.cpy().lerp(Color.BLUE,0.5f) - improvement.culture>0 -> iconGroup.circle.color= Color.GOLD.cpy().lerp(Color.PURPLE,0.5f) + improvement.food>0 -> iconGroup.circle.color= foodCircleColor + improvement.production>0 -> iconGroup.circle.color= productionCircleColor + improvement.gold>0 -> iconGroup.circle.color= goldCircleColor + improvement.science>0 -> iconGroup.circle.color= Color.BLUE.cpy().lerp(Color.WHITE,0.5f) + improvement.culture>0 -> iconGroup.circle.color= Color.PURPLE.cpy().lerp(Color.WHITE,0.5f) } return iconGroup @@ -95,7 +97,7 @@ object ImageGetter { fun getBlue() = Color(0x004085bf) fun getBackground(color:Color): Drawable { - return getDrawable(WhiteDot).tint(color) + return getDrawable(whiteDotLocation).tint(color) } fun refreshAltas() { @@ -103,11 +105,13 @@ object ImageGetter { } fun getResourceImage(resourceName: String, size:Float): Actor { - val iconGroup = IconCircleGroup(size,getImage("ResourceIcons/$resourceName")) + val iconGroup = getImage("ResourceIcons/$resourceName").surroundWithCircle(size) val resource = GameBasics.TileResources[resourceName]!! - if(resource.food>0) iconGroup.circle.color= Color.GREEN.cpy().lerp(Color.WHITE,0.5f) - else if(resource.production>0) iconGroup.circle.color= Color.BROWN.cpy().lerp(Color.WHITE,0.5f) - else if(resource.gold>0) iconGroup.circle.color= Color.GOLD.cpy().lerp(Color.WHITE,0.5f) + when { + resource.food>0 -> iconGroup.circle.color= foodCircleColor + resource.production>0 -> iconGroup.circle.color= productionCircleColor + resource.gold>0 -> iconGroup.circle.color= goldCircleColor + } if(resource.resourceType==ResourceType.Luxury){ val happiness = getStatIcon("Happiness") @@ -125,27 +129,15 @@ object ImageGetter { } fun getTechIconGroup(techName: String): Group { - return IconCircleGroup(60f,getImage("TechIcons/$techName")) + return getImage("TechIcons/$techName").surroundWithCircle(60f) } fun getProgressBarVertical(width:Float,height:Float,percentComplete:Float,progressColor:Color,backgroundColor:Color): Table { val advancementGroup = Table() val completionHeight = height * percentComplete - advancementGroup.add(ImageGetter.getImage(ImageGetter.WhiteDot).apply { color = backgroundColor }).width(width).height(height-completionHeight).row() - advancementGroup.add(ImageGetter.getImage(ImageGetter.WhiteDot).apply { color= progressColor}).width(width).height(completionHeight) + advancementGroup.add(getImage(whiteDotLocation).apply { color = backgroundColor }).width(width).height(height-completionHeight).row() + advancementGroup.add(getImage(whiteDotLocation).apply { color= progressColor}).width(width).height(completionHeight) advancementGroup.pack() return advancementGroup } - - class IconCircleGroup(size:Float, val image:Image):Group(){ - val circle = getImage("OtherIcons/Circle").apply { setSize(size, size) } - init { - setSize(size, size) - addActor(circle) - image.setSize(size * 0.75f, size * 0.75f) - image.center(this) - addActor(image) - } - } - -} +} \ No newline at end of file diff --git a/core/src/com/unciv/ui/worldscreen/WorldScreen.kt b/core/src/com/unciv/ui/worldscreen/WorldScreen.kt index b8b9304516..f46285d48a 100644 --- a/core/src/com/unciv/ui/worldscreen/WorldScreen.kt +++ b/core/src/com/unciv/ui/worldscreen/WorldScreen.kt @@ -14,6 +14,7 @@ import com.unciv.logic.civilization.DiplomaticStatus import com.unciv.models.gamebasics.tile.ResourceType import com.unciv.ui.pickerscreens.GreatPersonPickerScreen import com.unciv.ui.pickerscreens.PolicyPickerScreen +import com.unciv.ui.pickerscreens.TechButton import com.unciv.ui.pickerscreens.TechPickerScreen import com.unciv.ui.trade.DiplomacyScreen import com.unciv.ui.utils.* @@ -32,7 +33,7 @@ class WorldScreen : CameraStageBaseScreen() { val unitActionsTable = UnitActionsTable(this) private val techButton = Table() - val diplomacyButtonWrapper = Table() + private val diplomacyButtonWrapper = Table() private val nextTurnButton = createNextTurnButton() private val notificationsScroll: NotificationsScroll @@ -178,7 +179,7 @@ class WorldScreen : CameraStageBaseScreen() { } else { val currentTech = civInfo.tech.currentTechnology()!! - val innerButton = TechPickerScreen.TechButton(currentTech,civInfo.tech) + val innerButton = TechButton(currentTech,civInfo.tech) innerButton.color = colorFromRGB(7, 46, 43) techButton.add(innerButton) val turnsToTech = civInfo.tech.turnsToTech(currentTech) @@ -254,7 +255,7 @@ class WorldScreen : CameraStageBaseScreen() { } } - var shouldUpdate=false + private var shouldUpdate=false override fun render(delta: Float) { if(shouldUpdate){ // This is so that updates happen in the MAIN THREAD, where there is a GL Context, // otherwise images will not load properly! @@ -271,7 +272,7 @@ class WorldScreen : CameraStageBaseScreen() { val resources = civInfo.getCivResources() if(resources.keys.any { it.resourceType==ResourceType.Luxury }) displayTutorials("LuxuryResource") if(resources.keys.any { it.resourceType==ResourceType.Strategic}) displayTutorials("StrategicResource") - if(civInfo.exploredTiles.map { gameInfo.tileMap[it] }.any { it.isCityCenter() && it.getOwner()!=civInfo }) + if(civInfo.exploredTiles.asSequence().map { gameInfo.tileMap[it] }.any { it.isCityCenter() && it.getOwner()!=civInfo }) displayTutorials("EnemyCity") if("Enables construction of Spaceship parts" in civInfo.getBuildingUniques()) displayTutorials("ApolloProgram")