diff --git a/Credits.md b/Credits.md index 93462e628e..a44fa2a7f6 100644 --- a/Credits.md +++ b/Credits.md @@ -70,7 +70,7 @@ All the following are from [the Noun Project](https://thenounproject.com) licenc * [Pallet](https://thenounproject.com/search/?q=Pallet&i=6862) By James Keuning for Great Artist * [Gear](https://thenounproject.com/search/?q=Gear&i=17369) By Melvin Salas for Great Engineer * [Beaker](https://thenounproject.com/search/?q=Beaker&i=621510) By Delwar Hossain for Great Scientist - +* [General](https://thenounproject.com/search/?q=general&i=933566) By anbileru adaleru for Great General ## Resources @@ -413,4 +413,4 @@ Sounds are from FreeSound.org and are either Creative Commons or Public Domain * [klick_anlauf](https://freesound.org/people/jascha/sounds/16576/) By jascha as 'metalhit' for metal melee sounds * [Horse Neigh 2](https://freesound.org/people/GoodListener/sounds/322450/) By GoodListener as 'horse' for cavalry attack sounds * [machine gun 001 - loop](https://freesound.org/people/pgi/sounds/212602/) By pgi as 'machinegun' for machine gun attack sound -* [uzzi_full_single](https://freesound.org/people/Deganoth/sounds/348685/) By Deganoth as 'shot' for bullet attacks \ No newline at end of file +* [uzzi_full_single](https://freesound.org/people/Deganoth/sounds/348685/) By Deganoth as 'shot' for bullet attacks diff --git a/android/Images/UnitIcons/Great General.png b/android/Images/UnitIcons/Great General.png new file mode 100644 index 0000000000..87ceed8257 Binary files /dev/null and b/android/Images/UnitIcons/Great General.png differ diff --git a/android/assets/game.atlas b/android/assets/game.atlas index 76e8dabbcf..84ea3a2983 100644 --- a/android/assets/game.atlas +++ b/android/assets/game.atlas @@ -6,2597 +6,2604 @@ filter: MipMapLinearLinear,MipMapLinearLinear repeat: none BuildingIcons/Angkor Wat rotate: false - xy: 281, 1741 + xy: 281, 1744 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Apollo Program rotate: false - xy: 485, 1741 + xy: 485, 1744 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Aqueduct rotate: false - xy: 587, 1741 + xy: 587, 1744 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Armory rotate: false - xy: 1097, 1741 + xy: 1097, 1744 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Bank rotate: false - xy: 685, 1639 + xy: 685, 1642 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Barracks rotate: false - xy: 991, 1639 + xy: 991, 1642 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Bazaar rotate: false - xy: 1199, 1741 + xy: 1199, 1744 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Broadcast Tower rotate: false - xy: 1403, 1761 + xy: 1403, 1764 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Burial Tomb rotate: false - xy: 1531, 1841 + xy: 1531, 1844 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Castle rotate: false - xy: 1709, 1739 + xy: 1709, 1742 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Chichen Itza rotate: false - xy: 334, 1537 + xy: 334, 1540 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Circus rotate: false - xy: 436, 1537 + xy: 436, 1540 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Circus Maximus rotate: false - xy: 334, 1333 + xy: 334, 1336 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Colloseum rotate: false - xy: 334, 1129 + xy: 334, 1132 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Cristo Redentor rotate: false - xy: 538, 1231 + xy: 538, 1234 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Eiffel Tower rotate: false - xy: 640, 1129 + xy: 640, 1132 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Factory rotate: false - xy: 1048, 1537 + xy: 1048, 1540 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Forbidden Palace rotate: false - xy: 640, 925 + xy: 640, 928 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Forge rotate: false - xy: 844, 1129 + xy: 844, 1132 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Granary rotate: false - xy: 1150, 1333 + xy: 1150, 1336 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Hagia Sophia rotate: false - xy: 1048, 925 + xy: 1150, 1030 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Hanging Gardens rotate: false - xy: 1150, 1027 + xy: 1150, 928 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Harbor rotate: false - xy: 1150, 925 + xy: 408, 826 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Hermitage rotate: false - xy: 408, 823 + xy: 408, 724 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Hospital rotate: false - xy: 714, 823 + xy: 714, 724 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Hydro Plant rotate: false - xy: 714, 721 + xy: 816, 826 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Ironworks rotate: false - xy: 1020, 721 + xy: 1122, 826 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Krepost rotate: false - xy: 1252, 1435 + xy: 1252, 1336 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Leaning Tower of Pisa rotate: false - xy: 1252, 925 + xy: 1224, 826 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Library rotate: false - xy: 1224, 823 + xy: 1224, 724 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Lighthouse rotate: false - xy: 1224, 721 + xy: 1297, 1642 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Machu Pichu rotate: false - xy: 1705, 1637 + xy: 1807, 1640 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Market rotate: false - xy: 1354, 1537 + xy: 1354, 1438 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Military Academy rotate: false - xy: 1326, 721 + xy: 1456, 1538 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Mint rotate: false - xy: 1456, 1331 + xy: 1558, 1436 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Monastery rotate: false - xy: 1660, 1535 + xy: 1456, 1232 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Monument rotate: false - xy: 1456, 1229 + xy: 1558, 1334 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Museum rotate: false - xy: 1762, 1535 + xy: 1456, 1130 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/National College rotate: false - xy: 1660, 1331 + xy: 1762, 1436 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Notre Dame rotate: false - xy: 1864, 1535 + xy: 1456, 1028 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Nuclear Plant rotate: false - xy: 1558, 1127 + xy: 1660, 1232 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Observatory rotate: false - xy: 1762, 1331 + xy: 1864, 1436 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Opera House rotate: false - xy: 1660, 1127 + xy: 1762, 1232 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Oxford University rotate: false - xy: 1864, 1331 + xy: 1660, 1028 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Palace rotate: false - xy: 1660, 1025 + xy: 1762, 1130 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 -BuildingIcons/Paper Maker +BuildingIcons/Paper maker rotate: false - xy: 1762, 1127 + xy: 1864, 1232 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Porcelain Tower rotate: false - xy: 1428, 720 + xy: 1530, 824 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Public School rotate: false - xy: 1734, 821 + xy: 1836, 824 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Research Lab rotate: false - xy: 1938, 719 + xy: 284, 611 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/SS Booster rotate: false - xy: 132, 271 + xy: 132, 172 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/SS Cockpit rotate: false - xy: 132, 169 + xy: 132, 70 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/SS Engine rotate: false - xy: 132, 67 + xy: 245, 305 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/SS Stasis Chamber rotate: false - xy: 245, 302 + xy: 347, 305 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Seaport rotate: false - xy: 336, 98 + xy: 386, 612 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Sistine Chapel rotate: false - xy: 896, 619 + xy: 998, 622 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Solar Plant rotate: false - xy: 1100, 619 + xy: 1202, 622 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Spaceship Factory rotate: false - xy: 1202, 619 + xy: 1304, 622 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Stable rotate: false - xy: 1610, 617 + xy: 1712, 620 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Stadium rotate: false - xy: 1712, 617 + xy: 1814, 620 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Stock Exchange rotate: false - xy: 449, 507 + xy: 449, 408 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Stone Works rotate: false - xy: 449, 303 + xy: 551, 520 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Stonehenge rotate: false - xy: 551, 517 + xy: 653, 520 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Sydney Opera House rotate: false - xy: 857, 517 + xy: 653, 316 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Taj Mahal rotate: false - xy: 653, 313 + xy: 755, 418 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Temple rotate: false - xy: 755, 415 + xy: 959, 520 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/The Great Library rotate: false - xy: 959, 517 + xy: 755, 316 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/The Great Lighthouse rotate: false - xy: 755, 313 + xy: 857, 418 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/The Louvre rotate: false - xy: 857, 415 + xy: 1061, 520 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/The Oracle rotate: false - xy: 1061, 517 + xy: 857, 316 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/The Pyramids rotate: false - xy: 857, 313 + xy: 959, 418 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Theatre rotate: false - xy: 1163, 517 + xy: 959, 316 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/University rotate: false - xy: 1163, 415 + xy: 1163, 316 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Walls rotate: false - xy: 1265, 415 + xy: 1265, 316 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Windmill rotate: false - xy: 1367, 312 + xy: 1469, 518 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Workshop rotate: false - xy: 1571, 413 + xy: 1673, 518 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 FlagIcons/Dutch rotate: false - xy: 1271, 1863 + xy: 1271, 1866 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 FlagIcons/English rotate: false - xy: 2, 325 + xy: 2, 328 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 FlagIcons/French rotate: false - xy: 1401, 1863 + xy: 1401, 1866 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 FlagIcons/German rotate: false - xy: 2, 195 + xy: 2, 198 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 FlagIcons/Italian rotate: false - xy: 2, 65 + xy: 2, 68 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 FlagIcons/Portuguese rotate: false - xy: 204, 1435 + xy: 204, 1438 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 FlagIcons/Romanian rotate: false - xy: 204, 1305 + xy: 204, 1308 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 FlagIcons/Russian rotate: false - xy: 204, 1175 + xy: 204, 1178 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 FlagIcons/Simplified_Chinese rotate: false - xy: 204, 1045 + xy: 204, 1048 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 FlagIcons/Spanish rotate: false - xy: 204, 915 + xy: 204, 918 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 ImprovementIcons/Academy rotate: false - xy: 204, 710 + xy: 204, 713 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Ancient ruins rotate: false - xy: 1879, 1943 + xy: 1879, 1946 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Camp rotate: false - xy: 1837, 1841 + xy: 1837, 1844 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/City ruins rotate: false - xy: 538, 1537 + xy: 538, 1540 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Customs house rotate: false - xy: 334, 925 + xy: 334, 928 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Farm rotate: false - xy: 538, 925 + xy: 538, 928 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Fishing Boats rotate: false - xy: 946, 1333 + xy: 946, 1336 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Landmark rotate: false - xy: 1252, 1129 + xy: 1252, 1030 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Lumber mill rotate: false - xy: 1501, 1637 + xy: 1603, 1640 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Manufactory rotate: false - xy: 1807, 1637 + xy: 1909, 1640 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Mine rotate: false - xy: 1456, 1433 + xy: 1558, 1538 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Oil well rotate: false - xy: 1558, 1025 + xy: 1660, 1130 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Plantation rotate: false - xy: 1864, 923 + xy: 1428, 825 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Quarry rotate: false - xy: 1836, 821 - size: 100, 100 - orig: 100, 100 - offset: 0, 0 - index: -1 -ImprovementIcons/Railroad - rotate: false - xy: 1632, 719 - size: 100, 100 - orig: 100, 100 - offset: 0, 0 - index: -1 -OtherIcons/Railroad - rotate: false - xy: 1632, 719 + xy: 1530, 722 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Road rotate: false - xy: 245, 404 + xy: 347, 407 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Trading post rotate: false - xy: 1061, 415 + xy: 1265, 520 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/BackArrow rotate: false - xy: 277, 1587 + xy: 277, 1590 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 OtherIcons/Banner rotate: false - xy: 889, 1639 + xy: 889, 1642 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Circle rotate: false - xy: 2, 577 + xy: 2, 580 size: 178, 178 orig: 178, 178 offset: 0, 0 index: -1 OtherIcons/City rotate: false - xy: 436, 1435 + xy: 436, 1438 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Crosshair rotate: false - xy: 742, 1435 + xy: 742, 1438 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/DisbandUnit rotate: false - xy: 640, 1231 + xy: 640, 1234 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Fire rotate: false - xy: 742, 1129 + xy: 742, 1132 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/MenuIcon rotate: false - xy: 1354, 1027 + xy: 1354, 928 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Pentagon rotate: false - xy: 1864, 1127 + xy: 1864, 1028 + size: 100, 100 + orig: 100, 100 + offset: 0, 0 + index: -1 +OtherIcons/Railroad + rotate: false + xy: 1734, 722 + size: 100, 100 + orig: 100, 100 + offset: 0, 0 + index: -1 +ImprovementIcons/Railroad + rotate: false + xy: 1734, 722 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Shield rotate: false - xy: 590, 619 + xy: 692, 622 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Sleep rotate: false - xy: 998, 619 + xy: 1100, 622 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Star rotate: false - xy: 234, 2 + xy: 234, 5 size: 100, 94 orig: 100, 94 offset: 0, 0 index: -1 OtherIcons/Stop rotate: false - xy: 653, 517 + xy: 551, 418 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/civTableBackground rotate: false - xy: 1271, 1993 + xy: 1271, 1996 size: 300, 50 orig: 300, 50 offset: 0, 0 index: -1 OtherIcons/tileTableBackground rotate: false - xy: 1089, 1843 + xy: 1089, 1846 size: 180, 200 orig: 180, 200 offset: 0, 0 index: -1 OtherIcons/whiteDot rotate: false - xy: 182, 710 + xy: 182, 713 size: 1, 1 orig: 1, 1 offset: 0, 0 index: -1 PolicyIcons/Aristocracy rotate: false - xy: 1981, 1993 + xy: 1981, 1996 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Citizenship rotate: false - xy: 2, 13 + xy: 2, 16 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Civil Society rotate: false - xy: 336, 46 + xy: 336, 49 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Collective Rule rotate: false - xy: 1469, 361 + xy: 1469, 364 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Constitution rotate: false - xy: 1673, 463 + xy: 1775, 568 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Democracy rotate: false - xy: 1775, 565 + xy: 54, 16 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Discipline rotate: false - xy: 54, 13 + xy: 1521, 364 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Entrepreneurship rotate: false - xy: 1521, 361 + xy: 1775, 516 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Facism rotate: false - xy: 1827, 565 + xy: 1827, 568 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Free Religion rotate: false - xy: 1573, 361 + xy: 1573, 364 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Free Speech rotate: false - xy: 1879, 565 + xy: 1775, 464 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Free Thought rotate: false - xy: 1931, 565 + xy: 1827, 516 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Humanism rotate: false - xy: 388, 46 + xy: 1879, 568 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Landed Elite rotate: false - xy: 1673, 411 + xy: 1625, 364 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Legalism rotate: false - xy: 1725, 463 + xy: 1827, 464 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Mandate Of Heaven rotate: false - xy: 1725, 411 + xy: 1879, 516 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Mercantilism rotate: false - xy: 1469, 309 + xy: 1931, 568 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Meritocracy rotate: false - xy: 1521, 309 + xy: 1677, 364 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Militarism rotate: false - xy: 1573, 309 + xy: 1879, 464 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Military Caste rotate: false - xy: 1966, 1585 + xy: 1931, 516 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Military Tradition rotate: false - xy: 1966, 1533 + xy: 1931, 464 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Monarchy rotate: false - xy: 1966, 1481 + xy: 388, 49 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Oligarchy rotate: false - xy: 1966, 1429 + xy: 1469, 312 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Organized Religion rotate: false - xy: 1966, 1377 + xy: 1521, 312 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Patronage rotate: false - xy: 1966, 1325 + xy: 1573, 312 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Police State rotate: false - xy: 1966, 1273 + xy: 1625, 312 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Populism rotate: false - xy: 1966, 1221 + xy: 1677, 312 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Professional Army rotate: false - xy: 1966, 1169 + xy: 1775, 412 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Protectionism rotate: false - xy: 1966, 1117 + xy: 1827, 412 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Reformation rotate: false - xy: 1966, 1065 + xy: 1879, 412 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Representation rotate: false - xy: 1966, 1013 + xy: 1931, 412 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Republic rotate: false - xy: 1966, 961 + xy: 1966, 1588 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Scientific Revolution rotate: false - xy: 1983, 565 + xy: 1966, 1536 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Secularism rotate: false - xy: 106, 13 + xy: 1966, 1484 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Sovereignty rotate: false - xy: 158, 15 + xy: 1966, 1432 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Theocracy rotate: false - xy: 438, 250 + xy: 1966, 1380 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Total War rotate: false - xy: 438, 198 + xy: 1966, 1328 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Trade Unions rotate: false - xy: 438, 146 + xy: 1966, 1276 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Universal Suffrage rotate: false - xy: 490, 251 + xy: 1966, 1224 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Warrior Code rotate: false - xy: 490, 199 + xy: 1966, 1172 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 ResourceIcons/Aluminum rotate: false - xy: 1777, 1943 + xy: 1777, 1946 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Bananas rotate: false - xy: 583, 1639 + xy: 583, 1642 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Cattle rotate: false - xy: 1939, 1841 + xy: 1939, 1844 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Coal rotate: false - xy: 640, 1537 + xy: 640, 1540 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Cotton rotate: false - xy: 436, 1129 + xy: 436, 1132 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Deer rotate: false - xy: 436, 1027 + xy: 436, 1030 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Dyes rotate: false - xy: 742, 1333 + xy: 742, 1336 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Fish rotate: false - xy: 844, 1231 + xy: 844, 1234 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Furs rotate: false - xy: 1048, 1333 + xy: 1048, 1336 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Gems rotate: false - xy: 946, 1129 + xy: 946, 1132 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Gold rotate: false - xy: 1048, 1231 + xy: 1048, 1234 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Horses rotate: false - xy: 612, 721 + xy: 714, 826 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Incense rotate: false - xy: 816, 823 + xy: 816, 724 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Iron rotate: false - xy: 918, 823 + xy: 918, 724 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Ivory rotate: false - xy: 1122, 823 + xy: 1122, 724 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Marble rotate: false - xy: 1909, 1637 + xy: 1354, 1540 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Oil rotate: false - xy: 1864, 1433 + xy: 1558, 1028 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Pearls rotate: false - xy: 1762, 1025 + xy: 1864, 1130 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Sheep rotate: false - xy: 488, 619 + xy: 590, 622 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Silk rotate: false - xy: 692, 619 + xy: 794, 622 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Silver rotate: false - xy: 794, 619 + xy: 896, 622 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Spices rotate: false - xy: 1508, 617 + xy: 1610, 620 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Stone rotate: false - xy: 449, 405 + xy: 449, 306 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Sugar rotate: false - xy: 551, 313 + xy: 653, 418 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Uranium rotate: false - xy: 1163, 313 + xy: 1265, 418 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Whales rotate: false - xy: 1367, 516 + xy: 1367, 417 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Wheat rotate: false - xy: 1367, 414 + xy: 1367, 315 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Wine rotate: false - xy: 1469, 515 + xy: 1469, 416 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 StatIcons/Acquire rotate: false - xy: 1573, 1943 + xy: 1573, 1946 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 StatIcons/CityConnection rotate: false - xy: 334, 1231 + xy: 334, 1234 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 StatIcons/City_Center_(Civ6) rotate: false - xy: 436, 1333 + xy: 436, 1336 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 StatIcons/Culture rotate: false - xy: 281, 1843 + xy: 281, 1846 size: 200, 200 orig: 200, 200 offset: 0, 0 index: -1 StatIcons/Food rotate: false - xy: 2, 1363 + xy: 2, 1366 size: 200, 200 orig: 200, 200 offset: 0, 0 index: -1 StatIcons/Gold rotate: false - xy: 483, 1843 + xy: 483, 1846 size: 200, 200 orig: 200, 200 offset: 0, 0 index: -1 StatIcons/Happiness rotate: false - xy: 2, 1161 + xy: 2, 1164 size: 200, 200 orig: 200, 200 offset: 0, 0 index: -1 StatIcons/Malcontent rotate: false - xy: 685, 1843 + xy: 685, 1846 size: 200, 200 orig: 200, 200 offset: 0, 0 index: -1 StatIcons/Movement rotate: false - xy: 1660, 1433 + xy: 1762, 1538 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 StatIcons/Population rotate: false - xy: 2, 959 + xy: 2, 962 size: 200, 200 orig: 200, 200 offset: 0, 0 index: -1 StatIcons/Production rotate: false - xy: 887, 1843 + xy: 887, 1846 size: 200, 200 orig: 200, 200 offset: 0, 0 index: -1 StatIcons/RangedStrength rotate: false - xy: 1734, 719 + xy: 1836, 722 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 StatIcons/Resistance rotate: false - xy: 284, 608 + xy: 245, 509 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 StatIcons/Science rotate: false - xy: 2, 757 + xy: 2, 760 size: 200, 200 orig: 200, 200 offset: 0, 0 index: -1 StatIcons/Specialist rotate: false - xy: 1406, 618 + xy: 1508, 620 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 StatIcons/Strength rotate: false - xy: 551, 415 + xy: 755, 520 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Acoustics rotate: false - xy: 182, 608 + xy: 182, 611 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Agriculture rotate: false - xy: 1675, 1943 + xy: 1675, 1946 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Animal Husbandry rotate: false - xy: 383, 1741 + xy: 383, 1744 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Pasture rotate: false - xy: 383, 1741 + xy: 383, 1744 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Archaeology rotate: false - xy: 689, 1741 + xy: 689, 1744 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Archery rotate: false - xy: 893, 1741 + xy: 893, 1744 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Architecture rotate: false - xy: 995, 1741 + xy: 995, 1744 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Astronomy rotate: false - xy: 379, 1639 + xy: 379, 1642 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Banking rotate: false - xy: 787, 1639 + xy: 787, 1642 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Biology rotate: false - xy: 1195, 1639 + xy: 1195, 1642 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Bronze Working rotate: false - xy: 143, 475 + xy: 143, 478 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Calendar rotate: false - xy: 1633, 1841 + xy: 1633, 1844 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Chemistry rotate: false - xy: 306, 711 + xy: 306, 714 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Medical Lab rotate: false - xy: 306, 711 + xy: 306, 714 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Chivalry rotate: false - xy: 334, 1435 + xy: 334, 1438 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Civil Service rotate: false - xy: 538, 1435 + xy: 538, 1438 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Combustion rotate: false - xy: 436, 1231 + xy: 436, 1234 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Compass rotate: false - xy: 640, 1435 + xy: 640, 1438 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Computers rotate: false - xy: 742, 1537 + xy: 742, 1540 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Construction rotate: false - xy: 334, 1027 + xy: 334, 1030 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Currency rotate: false - xy: 844, 1537 + xy: 844, 1540 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Dynamite rotate: false - xy: 844, 1435 + xy: 844, 1438 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Ecology rotate: false - xy: 946, 1537 + xy: 946, 1540 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Economics rotate: false - xy: 436, 925 + xy: 436, 928 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Education rotate: false - xy: 538, 1027 + xy: 538, 1030 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Electricity rotate: false - xy: 742, 1231 + xy: 742, 1234 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Electronics rotate: false - xy: 844, 1333 + xy: 844, 1336 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Engineering rotate: false - xy: 946, 1435 + xy: 946, 1438 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Fertilizer rotate: false - xy: 640, 1027 + xy: 640, 1030 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Flight rotate: false - xy: 1048, 1435 + xy: 1048, 1438 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Future Tech rotate: false - xy: 1150, 1435 + xy: 1150, 1438 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Guilds rotate: false - xy: 1048, 1027 + xy: 1150, 1132 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Gunpowder rotate: false - xy: 1150, 1129 + xy: 1048, 928 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Horseback Riding rotate: false - xy: 510, 721 + xy: 612, 826 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Industrialization rotate: false - xy: 816, 721 + xy: 918, 826 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Iron Working rotate: false - xy: 918, 721 + xy: 1020, 826 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Machinery rotate: false - xy: 1603, 1637 + xy: 1705, 1640 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Masonry rotate: false - xy: 1354, 1333 + xy: 1354, 1234 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Mass Media (retired) rotate: false - xy: 1354, 1231 + xy: 1354, 1132 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Mathematics rotate: false - xy: 1354, 1129 + xy: 1354, 1030 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Metal Casting rotate: false - xy: 1354, 925 + xy: 1326, 826 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Metallurgy rotate: false - xy: 1326, 823 + xy: 1326, 724 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Military Science rotate: false - xy: 1456, 1535 + xy: 1456, 1436 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Mining rotate: false - xy: 1558, 1535 + xy: 1456, 1334 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Nanotechnology rotate: false - xy: 1558, 1229 + xy: 1660, 1334 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Navigation rotate: false - xy: 1762, 1433 + xy: 1864, 1538 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Nuclear Fission rotate: false - xy: 1456, 1025 + xy: 1558, 1130 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Optics rotate: false - xy: 1762, 1229 + xy: 1864, 1334 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Particle Physics rotate: false - xy: 1864, 1229 + xy: 1762, 1028 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Pharmaceuticals rotate: false - xy: 1864, 1025 + xy: 1558, 926 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Philosophy rotate: false - xy: 1558, 923 + xy: 1660, 926 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Physics rotate: false - xy: 1660, 923 + xy: 1762, 926 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Plastics rotate: false - xy: 1428, 822 + xy: 1428, 723 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Pottery rotate: false - xy: 1530, 821 + xy: 1632, 824 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Printing Press rotate: false - xy: 1632, 821 + xy: 1734, 824 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Radio rotate: false - xy: 1530, 719 + xy: 1632, 722 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Refrigeration rotate: false - xy: 1836, 719 + xy: 1938, 824 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Replacable Parts rotate: false - xy: 1938, 821 + xy: 1938, 722 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Rifling rotate: false - xy: 347, 506 + xy: 245, 407 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Robotics rotate: false - xy: 347, 404 + xy: 143, 376 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Rocketry rotate: false - xy: 143, 373 + xy: 132, 274 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Sailing rotate: false - xy: 347, 302 + xy: 234, 203 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Satellites rotate: false - xy: 234, 200 + xy: 234, 101 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Scientific Theory rotate: false - xy: 234, 98 + xy: 336, 203 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Steam Power rotate: false - xy: 1814, 617 + xy: 1916, 620 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Steel rotate: false - xy: 1916, 617 + xy: 449, 510 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/The Wheel rotate: false - xy: 959, 415 + xy: 1163, 520 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Theology rotate: false - xy: 959, 313 + xy: 1061, 418 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Trapping rotate: false - xy: 1265, 517 + xy: 1061, 316 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Writing rotate: false - xy: 1673, 515 + xy: 1673, 416 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TerrainIcons/CrosshatchHexagon rotate: false - xy: 2, 1565 + xy: 2, 1568 size: 273, 236 orig: 273, 236 offset: 0, 0 index: -1 TerrainIcons/Flood plains rotate: false - xy: 1150, 1537 + xy: 1150, 1540 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TerrainIcons/Forest rotate: false - xy: 742, 1027 + xy: 742, 1030 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TerrainIcons/Hexagon rotate: false - xy: 2, 1803 + xy: 2, 1806 size: 277, 240 orig: 277, 240 offset: 0, 0 index: -1 TerrainIcons/HexagonBorder rotate: false - xy: 2, 455 + xy: 2, 458 size: 139, 120 orig: 139, 120 offset: 0, 0 index: -1 TerrainIcons/Hill rotate: false - xy: 408, 721 + xy: 510, 826 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TerrainIcons/Jungle rotate: false - xy: 1122, 721 + xy: 1252, 1540 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TerrainIcons/Lakes rotate: false - xy: 1252, 1333 + xy: 1252, 1234 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TerrainIcons/Marsh rotate: false - xy: 1354, 1435 + xy: 1354, 1336 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TerrainIcons/Mountain rotate: false - xy: 1558, 1331 + xy: 1660, 1436 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TerrainIcons/Oasis rotate: false - xy: 1660, 1229 + xy: 1762, 1334 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TerrainIcons/road rotate: false - xy: 182, 595 + xy: 182, 598 size: 61, 11 orig: 61, 11 offset: 0, 0 index: -1 UnitIcons/Archer rotate: false - xy: 791, 1741 + xy: 791, 1744 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Artillery rotate: false - xy: 277, 1639 + xy: 277, 1642 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Ballista rotate: false - xy: 481, 1639 + xy: 481, 1642 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Battleship rotate: false - xy: 1093, 1639 + xy: 1093, 1642 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Bowman rotate: false - xy: 1301, 1761 + xy: 1301, 1764 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Camel Archer rotate: false - xy: 1735, 1841 + xy: 1735, 1844 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Cannon rotate: false - xy: 1505, 1739 + xy: 1505, 1742 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Caravel rotate: false - xy: 1607, 1739 + xy: 1607, 1742 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Catapult rotate: false - xy: 1811, 1739 + xy: 1811, 1742 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Cavalry rotate: false - xy: 1913, 1739 + xy: 1913, 1742 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Chariot Archer rotate: false - xy: 306, 813 + xy: 306, 816 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Companion Cavalry rotate: false - xy: 538, 1333 + xy: 538, 1336 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Crossbowman rotate: false - xy: 640, 1333 + xy: 640, 1336 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Destroyer rotate: false - xy: 538, 1129 + xy: 538, 1132 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Frigate rotate: false - xy: 946, 1231 + xy: 946, 1234 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Galleass rotate: false - xy: 742, 925 + xy: 742, 928 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Gatling Gun rotate: false - xy: 844, 1027 + xy: 844, 1030 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Great Artist rotate: false - xy: 844, 925 + xy: 844, 928 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Great Engineer rotate: false - xy: 946, 1027 + xy: 946, 1030 + size: 100, 100 + orig: 100, 100 + offset: 0, 0 + index: -1 +UnitIcons/Great General + rotate: false + xy: 1048, 1132 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Great Merchant rotate: false - xy: 1048, 1129 + xy: 1150, 1234 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Great Scientist rotate: false - xy: 1150, 1231 + xy: 946, 928 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Great War Infantry rotate: false - xy: 946, 925 + xy: 1048, 1030 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Hoplite rotate: false - xy: 510, 823 + xy: 510, 724 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Horseman rotate: false - xy: 612, 823 + xy: 612, 724 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Ironclad rotate: false - xy: 1020, 823 + xy: 1020, 724 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Knight rotate: false - xy: 1252, 1537 + xy: 1252, 1438 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Lancer rotate: false - xy: 1252, 1231 + xy: 1252, 1132 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Landship rotate: false - xy: 1252, 1027 + xy: 1252, 928 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Longbowman rotate: false - xy: 1297, 1639 + xy: 1399, 1662 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Longswordsman rotate: false - xy: 1399, 1659 + xy: 1501, 1640 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Minuteman rotate: false - xy: 1558, 1433 + xy: 1660, 1538 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Musketeer rotate: false - xy: 1456, 1127 + xy: 1558, 1232 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Musketman rotate: false - xy: 1456, 924 + xy: 1456, 927 size: 100, 99 orig: 100, 99 offset: 0, 0 index: -1 UnitIcons/Pikeman rotate: false - xy: 1762, 923 + xy: 1864, 926 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Rifleman rotate: false - xy: 245, 506 + xy: 347, 509 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Scout rotate: false - xy: 336, 200 + xy: 336, 101 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Settler rotate: false - xy: 386, 609 + xy: 488, 622 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Spearman rotate: false - xy: 1304, 619 + xy: 1406, 621 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Submarine rotate: false - xy: 755, 517 + xy: 551, 316 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Swordsman rotate: false - xy: 653, 415 + xy: 857, 520 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Trebuchet rotate: false - xy: 1061, 313 + xy: 1163, 418 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Trireme rotate: false - xy: 204, 812 + xy: 204, 815 size: 100, 101 orig: 100, 101 offset: 0, 0 index: -1 UnitIcons/Warrior rotate: false - xy: 1265, 313 + xy: 1367, 519 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Work Boats rotate: false - xy: 1469, 413 + xy: 1571, 518 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Worker rotate: false - xy: 1571, 515 + xy: 1571, 416 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitPromotionIcons/Accuracy_III_(Civ5) rotate: false - xy: 182, 735 + xy: 182, 738 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Accuracy_II_(Civ5) rotate: false - xy: 1505, 1841 + xy: 1505, 1844 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Accuracy_I_(Civ5) rotate: false - xy: 277, 1565 + xy: 277, 1568 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Barrage_III_(Civ5) rotate: false - xy: 182, 713 + xy: 182, 716 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Barrage_II_(Civ5) rotate: false - xy: 299, 1565 + xy: 299, 1568 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Barrage_I_(Civ5) rotate: false - xy: 1456, 1637 + xy: 1456, 1640 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Blitz_(Civ5) rotate: false - xy: 1478, 1637 + xy: 1478, 1640 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Boarding_Party_III_(Civ5) rotate: false - xy: 1531, 1971 + xy: 1531, 1974 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Boarding_Party_II_(Civ5) rotate: false - xy: 1981, 1971 + xy: 2018, 700 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Boarding_Party_I_(Civ5) rotate: false - xy: 336, 24 + xy: 1981, 1974 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Bombardment_III_(Civ5) rotate: false - xy: 1625, 391 + xy: 336, 27 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Bombardment_II_(Civ5) rotate: false - xy: 1775, 543 + xy: 106, 46 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Bombardment_I_(Civ5) rotate: false - xy: 2015, 1819 + xy: 1983, 598 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Charge_(Civ5) rotate: false - xy: 1966, 939 + xy: 1729, 394 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Coastal_Raider_III_(Civ5) rotate: false - xy: 2018, 697 + xy: 2015, 1822 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Coastal_Raider_II_(Civ5) rotate: false - xy: 210, 45 + xy: 1966, 1150 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Coastal_Raider_I_(Civ5) rotate: false - xy: 438, 124 + xy: 1531, 1952 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Cover_II_(Civ5) rotate: false - xy: 490, 177 + xy: 2018, 678 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Cover_I_(Civ5) rotate: false - xy: 1531, 1949 + xy: 1981, 1952 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Drill_III_(Civ5) rotate: false - xy: 1981, 1949 + xy: 2003, 1974 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Drill_II_(Civ5) rotate: false - xy: 2003, 1971 + xy: 336, 5 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Drill_I_(Civ5) rotate: false - xy: 336, 2 + xy: 358, 27 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Formation_II_(Civ5) rotate: false - xy: 358, 24 + xy: 106, 24 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Formation_I_(Civ5) rotate: false - xy: 1625, 369 + xy: 106, 2 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Indirect_Fire_(Civ5) rotate: false - xy: 1647, 391 + xy: 1983, 576 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Logistics_(Civ5) rotate: false - xy: 1775, 521 + xy: 1729, 372 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/March_(Civ5) rotate: false - xy: 1797, 543 + xy: 1751, 394 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Mobility_(Civ5) rotate: false - xy: 2015, 1797 + xy: 2015, 1800 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Range_(Civ5) rotate: false - xy: 1988, 939 + xy: 1966, 1128 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Scouting_III_(Civ5) rotate: false - xy: 2018, 675 + xy: 1988, 1150 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Scouting_II_(Civ5) rotate: false - xy: 210, 23 + xy: 2018, 656 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Scouting_I_(Civ5) rotate: false - xy: 438, 102 + xy: 2003, 1952 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Sentry_(Civ5) rotate: false - xy: 460, 124 + xy: 358, 5 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Shock_III_(Civ5) rotate: false - xy: 490, 155 + xy: 380, 27 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Shock_II_(Civ5) rotate: false - xy: 512, 177 + xy: 1983, 554 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Shock_I_(Civ5) rotate: false - xy: 2003, 1949 + xy: 1729, 350 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Siege_(Civ5) rotate: false - xy: 358, 2 + xy: 1751, 372 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Targeting_III_(Civ5) rotate: false - xy: 380, 24 + xy: 2015, 1778 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Targeting_II_(Civ5) rotate: false - xy: 1625, 347 + xy: 1966, 1106 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Targeting_I_(Civ5) rotate: false - xy: 1647, 369 + xy: 1988, 1128 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Volley_(Civ5) rotate: false - xy: 1797, 521 + xy: 2018, 634 size: 20, 20 orig: 20, 20 offset: 0, 0 diff --git a/android/assets/game.png b/android/assets/game.png index 0d8814b775..b8c087de15 100644 Binary files a/android/assets/game.png and b/android/assets/game.png differ diff --git a/android/assets/jsons/Units.json b/android/assets/jsons/Units.json index d784149fbb..6030ecf4a4 100644 --- a/android/assets/jsons/Units.json +++ b/android/assets/jsons/Units.json @@ -575,5 +575,12 @@ uniques:["Can speed up construction of a wonder","Can build improvement: Manufactory"] movement:2 }, + { + name:"Great General", + unbuildable:true, + unitType:"Civilian", + uniques:["Can start an 8-turn golden age","Bonus for land units in 2 radius 15%"] //to do : should be able to build mega-fort + movement:2 + }, ] diff --git a/core/src/com/unciv/logic/automation/NextTurnAutomation.kt b/core/src/com/unciv/logic/automation/NextTurnAutomation.kt index d1b7280e80..2d1cced4b9 100644 --- a/core/src/com/unciv/logic/automation/NextTurnAutomation.kt +++ b/core/src/com/unciv/logic/automation/NextTurnAutomation.kt @@ -93,6 +93,7 @@ class NextTurnAutomation{ val rangedUnits = mutableListOf() val meleeUnits = mutableListOf() val civilianUnits = mutableListOf() + val generals = mutableListOf() for (unit in civInfo.getCivUnits()) { if (unit.promotions.canBePromoted()) { @@ -101,10 +102,10 @@ class NextTurnAutomation{ unit.promotions.addPromotion(availablePromotions.getRandom().name) } - val unitType = unit.type when { - unitType.isRanged() -> rangedUnits.add(unit) - unitType.isMelee() -> meleeUnits.add(unit) + unit.type.isRanged() -> rangedUnits.add(unit) + unit.type.isMelee() -> meleeUnits.add(unit) + unit.name == "Great General" -> generals.add(unit) //generals move after military units else -> civilianUnits.add(unit) } } @@ -112,6 +113,7 @@ class NextTurnAutomation{ for (unit in civilianUnits) UnitAutomation().automateUnitMoves(unit) // They move first so that combat units can accompany a settler for (unit in rangedUnits) UnitAutomation().automateUnitMoves(unit) for (unit in meleeUnits) UnitAutomation().automateUnitMoves(unit) + for (unit in generals) UnitAutomation().automateUnitMoves(unit) } private fun reassignWorkedTiles(civInfo: CivilizationInfo) { diff --git a/core/src/com/unciv/logic/automation/UnitAutomation.kt b/core/src/com/unciv/logic/automation/UnitAutomation.kt index 736300b41c..6b28a76394 100644 --- a/core/src/com/unciv/logic/automation/UnitAutomation.kt +++ b/core/src/com/unciv/logic/automation/UnitAutomation.kt @@ -33,6 +33,8 @@ class UnitAutomation{ return SpecificUnitAutomation().automateWorkBoats(unit) } + if (unit.name == "Great General") + return SpecificUnitAutomation().automateGeneral(unit) if(unit.name.startsWith("Great") && unit.name in GreatPersonManager().statToGreatPersonMapping.values){ // So "Great War Infantry" isn't caught here return SpecificUnitAutomation().automateGreatPerson(unit)// I don't know what to do with you yet. @@ -397,6 +399,29 @@ class SpecificUnitAutomation{ else UnitAutomation().explore(unit, unit.getDistanceToTiles()) } + fun automateGeneral(unit: MapUnit){ + //try to follow nearby units. Do not garrison in city if possible + val militantToCompany = unit.getDistanceToTiles().map { it.key } + .firstOrNull {val militant = it.militaryUnit; + militant != null && militant.civInfo == unit.civInfo + && (it.civilianUnit == null || it.civilianUnit == unit) + && militant.getMaxMovement() <= 2.0f && !it.isCityCenter()} + + if(militantToCompany!=null) { + unit.movementAlgs().headTowards(militantToCompany) + return + } + + //if no unit to follow, take refuge in city. + val cityToGarison = unit.civInfo.cities.map {it.getCenterTile()} + .filter {it.civilianUnit == null && unit.canMoveTo(it) && unit.movementAlgs().canReach(it)} + .minBy { it.arialDistanceTo(unit.currentTile) } + if (cityToGarison != null) { + unit.movementAlgs().headTowards(cityToGarison) + return + } + return + } fun rankTileAsCityCenter(tileInfo: TileInfo, nearbyTileRankings: Map): Float { val bestTilesFromOuterLayer = tileInfo.getTilesAtDistance(2) diff --git a/core/src/com/unciv/logic/battle/Battle.kt b/core/src/com/unciv/logic/battle/Battle.kt index d1a1aecad7..5b2e634140 100644 --- a/core/src/com/unciv/logic/battle/Battle.kt +++ b/core/src/com/unciv/logic/battle/Battle.kt @@ -96,6 +96,7 @@ class Battle(val gameInfo:GameInfo) { var amountToAdd = amount if(thisCombatant.getCivilization().policies.isAdopted("Military Tradition")) amountToAdd = (amountToAdd * 1.5f).toInt() thisCombatant.unit.promotions.XP += amountToAdd + thisCombatant.getCivilization().greatPeople.greatGeneralPoints += amountToAdd } if(attacker.isMelee()){ diff --git a/core/src/com/unciv/logic/battle/BattleDamage.kt b/core/src/com/unciv/logic/battle/BattleDamage.kt index f9f19be367..7a1ffbb114 100644 --- a/core/src/com/unciv/logic/battle/BattleDamage.kt +++ b/core/src/com/unciv/logic/battle/BattleDamage.kt @@ -61,6 +61,16 @@ class BattleDamage{ if(requiredResource!=null && combatant.getCivilization().getCivResourcesByName()[requiredResource]!!<0){ modifiers["Missing resource"]=-0.25f } + + //to do : performance improvement + if (combatant.getUnitType().isLandUnit()) { + val nearbyCivUnits = combatant.unit.getTile().getTilesInDistance(2) + .filter {it.civilianUnit?.civInfo == combatant.unit.civInfo} + .map {it.civilianUnit} + if (nearbyCivUnits.any { it!!.hasUnique("Bonus for land units in 2 radius 15%") }) { + modifiers["Great general"]=0.15f + } + } } if (combatant.getCivilization().policies.isAdopted("Honor") && enemy.getCivilization().isBarbarianCivilization()) diff --git a/core/src/com/unciv/logic/civilization/CivilizationInfo.kt b/core/src/com/unciv/logic/civilization/CivilizationInfo.kt index a99518d298..68ea0787f3 100644 --- a/core/src/com/unciv/logic/civilization/CivilizationInfo.kt +++ b/core/src/com/unciv/logic/civilization/CivilizationInfo.kt @@ -350,11 +350,15 @@ class CivilizationInfo { city.endTurn() } - val greatPerson = greatPeople.getNewGreatPerson() - if (greatPerson != null) { - addGreatPerson(greatPerson) + //if no city available, addGreatPerson will throw exception + if (cities.isNotEmpty()) { + val greatPerson = greatPeople.getNewGreatPerson() + if (greatPerson != null) { + addGreatPerson(greatPerson) + } } + goldenAges.endTurn(happiness) getCivUnits().forEach { it.endTurn() } diplomacy.values.forEach{it.nextTurn()} diff --git a/core/src/com/unciv/logic/civilization/GreatPersonManager.kt b/core/src/com/unciv/logic/civilization/GreatPersonManager.kt index d1ccb9bcf6..43d432b345 100644 --- a/core/src/com/unciv/logic/civilization/GreatPersonManager.kt +++ b/core/src/com/unciv/logic/civilization/GreatPersonManager.kt @@ -5,7 +5,9 @@ import com.unciv.models.stats.Stats class GreatPersonManager { var pointsForNextGreatPerson = 100 + var pointsForNextGreatGeneral = 30 var greatPersonPoints = Stats() + var greatGeneralPoints = 0 var freeGreatPeople=0 val statToGreatPersonMapping = HashMap().apply { @@ -20,11 +22,20 @@ class GreatPersonManager { toReturn.freeGreatPeople=freeGreatPeople toReturn.greatPersonPoints=greatPersonPoints.clone() toReturn.pointsForNextGreatPerson=pointsForNextGreatPerson + toReturn.pointsForNextGreatGeneral = pointsForNextGreatGeneral + toReturn.greatGeneralPoints = greatGeneralPoints return toReturn } fun getNewGreatPerson(): String? { val greatPerson: String? = null + + if (greatGeneralPoints > pointsForNextGreatGeneral) { + greatGeneralPoints -= pointsForNextGreatGeneral + pointsForNextGreatGeneral += 50 + return "Great General" + } + val greatPersonPointsHashmap = greatPersonPoints.toHashMap() for(entry in statToGreatPersonMapping){ if(greatPersonPointsHashmap[entry.key]!!>pointsForNextGreatPerson){ diff --git a/core/src/com/unciv/ui/EmpireOverviewScreen.kt b/core/src/com/unciv/ui/EmpireOverviewScreen.kt index 2e7f735cb0..6e38ddeba1 100644 --- a/core/src/com/unciv/ui/EmpireOverviewScreen.kt +++ b/core/src/com/unciv/ui/EmpireOverviewScreen.kt @@ -177,6 +177,10 @@ class EmpireOverviewScreen : CameraStageBaseScreen(){ greatPeopleTable.add(greatPersonPoints[entry.key]!!.toInt().toString()+"/"+pointsToGreatPerson) greatPeopleTable.add(greatPersonPointsPerTurn[entry.key]!!.toInt().toString()).row() } + val pointsForGreatGeneral = playerCivInfo.greatPeople.greatGeneralPoints.toInt().toString() + val pointsForNextGreatGeneral = playerCivInfo.greatPeople.pointsForNextGreatGeneral.toInt().toString() + greatPeopleTable.add("Great General".tr()) + greatPeopleTable.add(pointsForGreatGeneral+"/"+pointsForNextGreatGeneral).row() greatPeopleTable.pack() return greatPeopleTable } diff --git a/core/src/com/unciv/ui/pickerscreens/GreatPersonPickerScreen.kt b/core/src/com/unciv/ui/pickerscreens/GreatPersonPickerScreen.kt index 30c222e96b..c920f05db7 100644 --- a/core/src/com/unciv/ui/pickerscreens/GreatPersonPickerScreen.kt +++ b/core/src/com/unciv/ui/pickerscreens/GreatPersonPickerScreen.kt @@ -18,7 +18,7 @@ class GreatPersonPickerScreen : PickerScreen() { closeButton.isVisible=false rightSideButton.setText("Choose a free great person") for (unit in GameBasics.Units.values - .filter { it.name in GreatPersonManager().statToGreatPersonMapping.values}) + .filter { it.name in GreatPersonManager().statToGreatPersonMapping.values || it.name == "Great General"}) { val button = Button(skin) diff --git a/core/src/com/unciv/ui/worldscreen/unit/UnitActions.kt b/core/src/com/unciv/ui/worldscreen/unit/UnitActions.kt index bed1da1209..01c4a8b8fb 100644 --- a/core/src/com/unciv/ui/worldscreen/unit/UnitActions.kt +++ b/core/src/com/unciv/ui/worldscreen/unit/UnitActions.kt @@ -166,7 +166,7 @@ class UnitActions { }.sound("chimes") } - if (unit.name == "Great Artist" && !unit.isEmbarked()) { + if (unit.hasUnique("Can start an 8-turn golden age") && !unit.isEmbarked()) { actionList += UnitAction( "Start Golden Age",unit.currentMovement != 0f ) { unit.civInfo.goldenAges.enterGoldenAge()