diff --git a/android/assets/game.atlas b/android/assets/game.atlas index 843a71b17f..44db527c13 100644 --- a/android/assets/game.atlas +++ b/android/assets/game.atlas @@ -1,3463 +1,3470 @@ game.png -size: 2344,1879 +size: 2460,1798 format: RGBA8888 filter: MipMapLinearLinear,MipMapLinearLinear repeat: none BuildingIcons/Alhambra rotate: false - xy: 1622, 1777 + xy: 1882, 1696 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Angkor Wat rotate: false - xy: 2030, 1777 + xy: 2290, 1696 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Apollo Program rotate: false - xy: 383, 1647 + xy: 587, 1566 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Aqueduct rotate: false - xy: 485, 1647 + xy: 689, 1566 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Armory rotate: false - xy: 1097, 1647 + xy: 1301, 1566 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Bank rotate: false - xy: 1097, 1545 + xy: 2219, 1594 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Barracks rotate: false - xy: 583, 1443 + xy: 485, 1464 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Bazaar rotate: false - xy: 787, 1443 + xy: 689, 1464 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Big Ben rotate: false - xy: 889, 1443 + xy: 791, 1464 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Broadcast Tower rotate: false - xy: 334, 155 + xy: 1199, 1464 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Burial Tomb rotate: false - xy: 1316, 1675 + xy: 1505, 1492 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/CN Tower rotate: false - xy: 1418, 1675 + xy: 1607, 1492 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Castle rotate: false - xy: 2030, 1675 + xy: 2219, 1492 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Chichen Itza rotate: false - xy: 1505, 1573 + xy: 685, 1362 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Circus rotate: false - xy: 1913, 1573 + xy: 1093, 1362 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Circus Maximus rotate: false - xy: 2015, 1573 + xy: 1195, 1362 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Colosseum rotate: false - xy: 1709, 1471 + xy: 1811, 1390 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Colossus rotate: false - xy: 1811, 1471 + xy: 1913, 1390 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Cristo Redentor rotate: false - xy: 1603, 1369 + xy: 1909, 1288 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Eiffel Tower rotate: false - xy: 508, 1239 + xy: 406, 954 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Factory rotate: false - xy: 712, 1341 + xy: 508, 954 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Forbidden Palace rotate: false - xy: 712, 1137 + xy: 916, 1260 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Forge rotate: false - xy: 508, 831 + xy: 712, 954 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Granary rotate: false - xy: 1018, 1239 + xy: 712, 750 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Great Wall rotate: false - xy: 814, 831 + xy: 1222, 1260 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Hagia Sophia rotate: false - xy: 1120, 1267 + xy: 1324, 1260 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Hanging Gardens rotate: false - xy: 1120, 1165 + xy: 916, 750 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Hanse rotate: false - xy: 1222, 1267 + xy: 1018, 852 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Harbor rotate: false - xy: 1120, 1063 + xy: 1120, 954 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Hermitage rotate: false - xy: 1324, 1267 + xy: 1324, 1158 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Himeji Castle rotate: false - xy: 1222, 1063 + xy: 1120, 852 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Hospital rotate: false - xy: 1324, 1063 + xy: 1324, 954 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Hubble Space Telescope rotate: false - xy: 1426, 1165 + xy: 1222, 750 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Hydro Plant rotate: false - xy: 1528, 1267 + xy: 1324, 852 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Ironworks rotate: false - xy: 1528, 1063 + xy: 1426, 880 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Kremlin rotate: false - xy: 1834, 1267 + xy: 1732, 1084 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Krepost rotate: false - xy: 1528, 859 + xy: 1834, 1186 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Leaning Tower of Pisa rotate: false - xy: 1732, 961 + xy: 1630, 778 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Library rotate: false - xy: 1936, 1165 + xy: 1834, 982 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Lighthouse rotate: false - xy: 2038, 1267 + xy: 1936, 1084 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Machu Picchu rotate: false - xy: 1834, 859 + xy: 2140, 1186 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Market rotate: false - xy: 2140, 1165 + xy: 2038, 982 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Military Academy rotate: false - xy: 2242, 1063 + xy: 2242, 982 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Mint rotate: false - xy: 1222, 757 + xy: 2344, 1186 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Monastery rotate: false - xy: 1630, 757 + xy: 2344, 778 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Monument rotate: false - xy: 1732, 757 + xy: 1426, 676 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Mughal Fort rotate: false - xy: 1936, 757 + xy: 1630, 676 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Museum rotate: false - xy: 2038, 757 + xy: 1732, 676 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/National College rotate: false - xy: 488, 627 + xy: 2140, 676 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Neuschwanstein rotate: false - xy: 590, 627 + xy: 2344, 676 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Notre Dame rotate: false - xy: 692, 729 + xy: 488, 648 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Nuclear Plant rotate: false - xy: 794, 729 + xy: 590, 648 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Observatory rotate: false - xy: 896, 729 + xy: 692, 648 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Opera House rotate: false - xy: 998, 627 + xy: 794, 546 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Oxford University rotate: false - xy: 590, 525 + xy: 896, 546 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Palace rotate: false - xy: 692, 525 + xy: 998, 648 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Paper Maker rotate: false - xy: 896, 525 + xy: 1100, 648 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Pentagon rotate: false - xy: 588, 423 + xy: 1202, 546 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Porcelain Tower rotate: false - xy: 1304, 655 + xy: 1100, 444 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Public School rotate: false - xy: 1406, 553 + xy: 486, 342 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Research Lab rotate: false - xy: 1814, 553 + xy: 1302, 342 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/SS Booster rotate: false - xy: 1406, 451 + xy: 1814, 472 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/SS Cockpit rotate: false - xy: 1508, 451 + xy: 1406, 370 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/SS Engine rotate: false - xy: 1610, 451 + xy: 1508, 370 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/SS Stasis Chamber rotate: false - xy: 1712, 451 + xy: 1610, 370 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Seaport rotate: false - xy: 1200, 349 + xy: 1710, 268 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Sistine Chapel rotate: false - xy: 2016, 349 + xy: 2120, 574 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Solar Plant rotate: false - xy: 2222, 655 + xy: 2016, 268 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Spaceship Factory rotate: false - xy: 2222, 553 + xy: 2120, 472 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Stable rotate: false - xy: 436, 145 + xy: 2222, 472 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Stadium rotate: false - xy: 436, 43 + xy: 2324, 574 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Statue of Liberty rotate: false - xy: 538, 321 + xy: 2222, 370 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Stock Exchange rotate: false - xy: 640, 219 + xy: 2322, 268 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Stone Works rotate: false - xy: 640, 117 + xy: 436, 64 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Stonehenge rotate: false - xy: 742, 219 + xy: 538, 240 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Sydney Opera House rotate: false - xy: 844, 117 + xy: 742, 138 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Taj Mahal rotate: false - xy: 946, 219 + xy: 844, 240 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Temple rotate: false - xy: 538, 15 + xy: 946, 240 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Terracotta Army rotate: false - xy: 640, 15 + xy: 946, 138 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/The Great Library rotate: false - xy: 742, 15 + xy: 1048, 240 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/The Great Lighthouse rotate: false - xy: 844, 15 + xy: 1048, 138 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/The Louvre rotate: false - xy: 946, 15 + xy: 1150, 240 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/The Oracle rotate: false - xy: 1048, 247 + xy: 1150, 138 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/The Pyramids rotate: false - xy: 1150, 247 + xy: 1252, 138 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Theatre rotate: false - xy: 1150, 145 + xy: 640, 36 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/University rotate: false - xy: 1456, 247 + xy: 1354, 166 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Walls rotate: false - xy: 1558, 247 + xy: 1456, 166 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Walls of Babylon rotate: false - xy: 1558, 145 + xy: 1456, 64 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Windmill rotate: false - xy: 1864, 145 + xy: 1762, 64 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Workshop rotate: false - xy: 2068, 145 + xy: 1966, 64 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 FlagIcons/Dutch rotate: false - xy: 2, 5 + xy: 204, 148 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 FlagIcons/English rotate: false - xy: 204, 229 + xy: 204, 18 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 FlagIcons/French rotate: false - xy: 204, 99 + xy: 304, 1668 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 FlagIcons/German rotate: false - xy: 304, 1749 + xy: 434, 1668 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 FlagIcons/Italian rotate: false - xy: 434, 1749 + xy: 564, 1668 + size: 128, 128 + orig: 128, 128 + offset: 0, 0 + index: -1 +FlagIcons/Polish + rotate: false + xy: 694, 1668 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 FlagIcons/Portuguese rotate: false - xy: 564, 1749 + xy: 824, 1668 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 FlagIcons/Romanian rotate: false - xy: 694, 1749 + xy: 954, 1668 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 FlagIcons/Russian rotate: false - xy: 824, 1749 + xy: 1084, 1668 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 FlagIcons/Simplified_Chinese rotate: false - xy: 954, 1749 + xy: 1214, 1668 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 FlagIcons/Spanish rotate: false - xy: 1084, 1749 + xy: 1344, 1668 size: 128, 128 orig: 128, 128 offset: 0, 0 index: -1 ImprovementIcons/Academy rotate: false - xy: 1214, 1777 + xy: 1474, 1696 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Ancient ruins rotate: false - xy: 1928, 1777 + xy: 2188, 1696 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Barbarian encampment rotate: false - xy: 481, 1443 + xy: 383, 1464 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Camp rotate: false - xy: 1724, 1675 + xy: 1913, 1492 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/City ruins rotate: false - xy: 2117, 1573 + xy: 1297, 1362 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Customs house rotate: false - xy: 2011, 1369 + xy: 2317, 1288 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Farm rotate: false - xy: 406, 933 + xy: 610, 1056 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Fishing Boats rotate: false - xy: 406, 831 + xy: 610, 954 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Landmark rotate: false - xy: 1834, 1165 + xy: 1732, 982 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Lumber mill rotate: false - xy: 1936, 1063 + xy: 1834, 880 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Manufactory rotate: false - xy: 1936, 961 + xy: 1834, 778 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Mine rotate: false - xy: 2242, 859 + xy: 2242, 880 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Oil well rotate: false - xy: 998, 729 + xy: 794, 648 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Plantation rotate: false - xy: 1202, 655 + xy: 896, 444 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Quarry rotate: false - xy: 1508, 655 + xy: 588, 342 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Railroad rotate: false - xy: 1610, 553 + xy: 894, 342 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TileSets/Default/Railroad rotate: false - xy: 1610, 553 + xy: 894, 342 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TileSets/FantasyHex/Railroad rotate: false - xy: 1610, 553 + xy: 894, 342 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Road rotate: false - xy: 2018, 553 + xy: 1508, 472 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Trading post rotate: false - xy: 1150, 43 + xy: 844, 36 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/America rotate: false - xy: 1826, 1777 + xy: 2086, 1696 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/Arabia rotate: false - xy: 587, 1647 + xy: 791, 1566 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/Babylon rotate: false - xy: 689, 1545 + xy: 1811, 1594 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/China rotate: false - xy: 1607, 1573 + xy: 787, 1362 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/CityState rotate: false - xy: 1301, 1471 + xy: 334, 74 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/Egypt rotate: false - xy: 406, 1137 + xy: 610, 1260 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/England rotate: false - xy: 610, 1239 + xy: 406, 852 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/France rotate: false - xy: 610, 933 + xy: 814, 1056 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/Germany rotate: false - xy: 814, 1035 + xy: 1018, 1158 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/Greece rotate: false - xy: 916, 831 + xy: 1018, 954 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/India rotate: false - xy: 1324, 961 + xy: 1426, 1186 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/Japan rotate: false - xy: 1426, 859 + xy: 1732, 1186 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/Rome rotate: false - xy: 1202, 451 + xy: 1712, 472 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/Russia rotate: false - xy: 1304, 451 + xy: 1814, 574 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/The Ottomans rotate: false - xy: 1048, 145 + xy: 1252, 240 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Aircraft rotate: false - xy: 1120, 1391 + xy: 2392, 1746 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 OtherIcons/BackArrow rotate: false - xy: 384, 383 + xy: 406, 698 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 OtherIcons/Banner rotate: false - xy: 379, 1443 + xy: 281, 1464 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Circle rotate: false - xy: 204, 359 + xy: 204, 278 size: 178, 178 orig: 178, 178 offset: 0, 0 index: -1 OtherIcons/Crosshair rotate: false - xy: 1807, 1369 + xy: 2113, 1288 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/DisbandUnit rotate: false - xy: 386, 639 + xy: 384, 354 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Fire rotate: false - xy: 712, 1239 + xy: 406, 750 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Hexagon rotate: false - xy: 2, 1585 + xy: 2, 1504 size: 277, 240 orig: 277, 240 offset: 0, 0 index: -1 TileSets/Default/Hexagon rotate: false - xy: 2, 1585 + xy: 2, 1504 size: 277, 240 orig: 277, 240 offset: 0, 0 index: -1 TileSets/FantasyHex/Hexagon rotate: false - xy: 2, 1585 + xy: 2, 1504 size: 277, 240 orig: 277, 240 offset: 0, 0 index: -1 OtherIcons/MenuIcon rotate: false - xy: 2140, 859 + xy: 2242, 1084 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Pentagon rotate: false - xy: 690, 423 + xy: 1304, 648 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Pillage rotate: false - xy: 1100, 553 + xy: 794, 444 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Shield rotate: false - xy: 1506, 349 + xy: 1916, 472 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Sleep rotate: false - xy: 2118, 349 + xy: 2018, 370 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Stop rotate: false - xy: 844, 321 + xy: 538, 138 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/civTableBackground rotate: false - xy: 2, 1827 + xy: 2, 1746 size: 300, 50 orig: 300, 50 offset: 0, 0 index: -1 OtherIcons/tileTableBackground rotate: false - xy: 204, 539 + xy: 204, 458 size: 180, 200 orig: 180, 200 offset: 0, 0 index: -1 OtherIcons/whiteDot rotate: false - xy: 2, 2 + xy: 406, 660 size: 1, 1 orig: 1, 1 offset: 0, 0 index: -1 PolicyIcons/Aristocracy rotate: false - xy: 406, 779 + xy: 1426, 1310 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Citizenship rotate: false - xy: 1354, 92 + xy: 384, 302 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Civil Society rotate: false - xy: 132, 70 + xy: 334, 22 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Collective Rule rotate: false - xy: 132, 18 + xy: 2170, 216 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Constitution rotate: false - xy: 2272, 297 + xy: 2170, 164 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Democracy rotate: false - xy: 2272, 245 + xy: 2222, 216 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Discipline rotate: false - xy: 2272, 193 + xy: 2170, 112 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 StatIcons/Strength rotate: false - xy: 2272, 193 + xy: 2170, 112 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Entrepreneurship rotate: false - xy: 1406, 92 + xy: 2222, 164 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Facism rotate: false - xy: 1458, 93 + xy: 2274, 216 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Free Religion rotate: false - xy: 1510, 93 + xy: 2222, 112 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Free Speech rotate: false - xy: 1562, 93 + xy: 2274, 164 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Free Thought rotate: false - xy: 1614, 93 + xy: 2326, 216 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Humanism rotate: false - xy: 1666, 93 + xy: 2274, 112 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Landed Elite rotate: false - xy: 1770, 93 + xy: 2326, 112 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Legalism rotate: false - xy: 1822, 93 + xy: 2170, 60 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Mandate Of Heaven rotate: false - xy: 1874, 93 + xy: 2222, 60 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Mercantilism rotate: false - xy: 1926, 93 + xy: 2274, 60 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Meritocracy rotate: false - xy: 1978, 93 + xy: 2326, 60 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Militarism rotate: false - xy: 2030, 93 + xy: 2378, 216 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Military Caste rotate: false - xy: 2082, 93 + xy: 2378, 164 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Military Tradition rotate: false - xy: 2134, 93 + xy: 2378, 112 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Monarchy rotate: false - xy: 2186, 93 + xy: 2378, 60 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Oligarchy rotate: false - xy: 1406, 40 + xy: 1406, 12 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Organized Religion rotate: false - xy: 1458, 41 + xy: 1458, 12 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Patronage rotate: false - xy: 1510, 41 + xy: 1510, 12 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Police State rotate: false - xy: 1562, 41 + xy: 1562, 12 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Populism rotate: false - xy: 1614, 41 + xy: 1614, 12 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Professional Army rotate: false - xy: 1666, 41 + xy: 1666, 12 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Protectionism rotate: false - xy: 1718, 41 + xy: 1718, 12 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Reformation rotate: false - xy: 1874, 41 + xy: 1874, 12 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Representation rotate: false - xy: 1926, 41 + xy: 1926, 12 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Republic rotate: false - xy: 1978, 41 + xy: 1978, 12 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Scientific Revolution rotate: false - xy: 2030, 41 + xy: 2030, 12 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Secularism rotate: false - xy: 2082, 41 + xy: 2082, 12 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Sovereignty rotate: false - xy: 2134, 41 + xy: 65, 2 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Theocracy rotate: false - xy: 2186, 41 + xy: 117, 2 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Total War rotate: false - xy: 2272, 141 + xy: 2134, 8 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Trade Unions rotate: false - xy: 184, 47 + xy: 2186, 8 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Universal Suffrage rotate: false - xy: 236, 47 + xy: 2238, 8 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Warrior Code rotate: false - xy: 2238, 89 + xy: 2290, 8 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 ResourceIcons/Aluminum rotate: false - xy: 1724, 1777 + xy: 1984, 1696 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Bananas rotate: false - xy: 995, 1545 + xy: 2117, 1594 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Cattle rotate: false - xy: 2234, 1675 + xy: 277, 1362 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Coal rotate: false - xy: 1607, 1471 + xy: 1709, 1390 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Cotton rotate: false - xy: 1501, 1369 + xy: 1807, 1288 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Deer rotate: false - xy: 2113, 1369 + xy: 386, 558 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Dyes rotate: false - xy: 386, 537 + xy: 406, 1260 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Fish rotate: false - xy: 814, 1341 + xy: 508, 852 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Furs rotate: false - xy: 814, 1137 + xy: 1018, 1260 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Gems rotate: false - xy: 712, 933 + xy: 916, 1056 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Gold rotate: false - xy: 916, 1137 + xy: 1120, 1260 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Horses rotate: false - xy: 1222, 961 + xy: 1222, 852 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Incense rotate: false - xy: 1222, 859 + xy: 1324, 750 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Iron rotate: false - xy: 1630, 1267 + xy: 1426, 982 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Ivory rotate: false - xy: 1630, 1165 + xy: 1528, 982 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Marble rotate: false - xy: 2038, 1063 + xy: 1936, 880 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Oil rotate: false - xy: 896, 627 + xy: 692, 546 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Pearls rotate: false - xy: 486, 423 + xy: 1202, 648 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Sheep rotate: false - xy: 1404, 349 + xy: 1916, 574 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Silk rotate: false - xy: 1710, 349 + xy: 1914, 268 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Silver rotate: false - xy: 1812, 349 + xy: 2018, 574 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Spices rotate: false - xy: 436, 247 + xy: 2118, 268 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Stone rotate: false - xy: 742, 321 + xy: 436, 166 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Sugar rotate: false - xy: 844, 219 + xy: 640, 138 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Uranium rotate: false - xy: 1456, 145 + xy: 1354, 64 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Whales rotate: false - xy: 1762, 145 + xy: 1660, 64 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Wheat rotate: false - xy: 1864, 247 + xy: 1762, 166 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Wine rotate: false - xy: 1966, 247 + xy: 1864, 166 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 StatIcons/Acquire rotate: false - xy: 1418, 1777 + xy: 1678, 1696 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 StatIcons/CityConnection rotate: false - xy: 2219, 1573 + xy: 1399, 1362 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 StatIcons/City_Center_(Civ6) rotate: false - xy: 1403, 1471 + xy: 1505, 1390 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 StatIcons/Culture rotate: false - xy: 2, 1145 + xy: 2, 1064 size: 200, 200 orig: 200, 200 offset: 0, 0 index: -1 StatIcons/Food rotate: false - xy: 2, 943 + xy: 2, 862 size: 200, 200 orig: 200, 200 offset: 0, 0 index: -1 StatIcons/Gold rotate: false - xy: 2, 741 + xy: 2, 660 size: 200, 200 orig: 200, 200 offset: 0, 0 index: -1 StatIcons/Happiness rotate: false - xy: 2, 539 + xy: 2, 458 size: 200, 200 orig: 200, 200 offset: 0, 0 index: -1 StatIcons/InterceptRange rotate: false - xy: 1718, 93 + xy: 2326, 164 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 StatIcons/Malcontent rotate: false - xy: 2, 135 + xy: 2, 54 size: 200, 200 orig: 200, 200 offset: 0, 0 index: -1 StatIcons/Movement rotate: false - xy: 1354, 40 + xy: 1354, 12 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 StatIcons/Population rotate: false - xy: 204, 1145 + xy: 204, 1064 size: 200, 200 orig: 200, 200 offset: 0, 0 index: -1 StatIcons/Production rotate: false - xy: 204, 943 + xy: 204, 862 size: 200, 200 orig: 200, 200 offset: 0, 0 index: -1 StatIcons/Range rotate: false - xy: 1770, 41 + xy: 1770, 12 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 StatIcons/RangedStrength rotate: false - xy: 1822, 41 + xy: 1822, 12 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 StatIcons/Resistance rotate: false - xy: 1916, 655 + xy: 1406, 574 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 StatIcons/Science rotate: false - xy: 204, 741 + xy: 204, 660 size: 200, 200 orig: 200, 200 offset: 0, 0 index: -1 StatIcons/Specialist rotate: false - xy: 2220, 349 + xy: 2120, 370 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Acoustics rotate: false - xy: 1316, 1777 + xy: 1576, 1696 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Agriculture rotate: false - xy: 1520, 1777 + xy: 1780, 1696 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Animal Husbandry rotate: false - xy: 2132, 1777 + xy: 281, 1566 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Pasture rotate: false - xy: 2132, 1777 + xy: 281, 1566 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Archaeology rotate: false - xy: 689, 1647 + xy: 893, 1566 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Archery rotate: false - xy: 893, 1647 + xy: 1097, 1566 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Architecture rotate: false - xy: 995, 1647 + xy: 1199, 1566 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Astronomy rotate: false - xy: 383, 1545 + xy: 1505, 1594 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Atomic Theory rotate: false - xy: 485, 1545 + xy: 1607, 1594 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Ballistics rotate: false - xy: 893, 1545 + xy: 2015, 1594 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Banking rotate: false - xy: 277, 1443 + xy: 2321, 1594 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Biology rotate: false - xy: 991, 1443 + xy: 893, 1464 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Bronze Working rotate: false - xy: 334, 53 + xy: 1301, 1464 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Calendar rotate: false - xy: 1520, 1675 + xy: 1709, 1492 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Chemistry rotate: false - xy: 1403, 1573 + xy: 583, 1362 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Medical Lab rotate: false - xy: 1403, 1573 + xy: 583, 1362 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Chivalry rotate: false - xy: 1709, 1573 + xy: 889, 1362 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Civil Service rotate: false - xy: 1505, 1471 + xy: 1607, 1390 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Combined Arms rotate: false - xy: 1913, 1471 + xy: 2015, 1390 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Combustion rotate: false - xy: 2015, 1471 + xy: 2117, 1390 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Compass rotate: false - xy: 2219, 1471 + xy: 2321, 1390 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Computers rotate: false - xy: 1195, 1369 + xy: 1501, 1288 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Construction rotate: false - xy: 1297, 1369 + xy: 1603, 1288 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Currency rotate: false - xy: 1909, 1369 + xy: 2215, 1288 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Dynamite rotate: false - xy: 384, 435 + xy: 406, 1158 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Ecology rotate: false - xy: 406, 1341 + xy: 508, 1260 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Economics rotate: false - xy: 406, 1239 + xy: 406, 1056 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Education rotate: false - xy: 508, 1341 + xy: 508, 1158 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Electricity rotate: false - xy: 610, 1341 + xy: 508, 1056 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Electronics rotate: false - xy: 406, 1035 + xy: 610, 1158 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Engineering rotate: false - xy: 508, 1137 + xy: 712, 1260 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Fertilizer rotate: false - xy: 508, 1035 + xy: 712, 1158 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Flight rotate: false - xy: 508, 933 + xy: 712, 1056 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Future Tech rotate: false - xy: 916, 1239 + xy: 610, 750 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Guilds rotate: false - xy: 1018, 933 + xy: 1120, 1056 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Gunpowder rotate: false - xy: 1018, 831 + xy: 1222, 1158 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Horseback Riding rotate: false - xy: 1426, 1267 + xy: 1324, 1056 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Industrialization rotate: false - xy: 1426, 1063 + xy: 1426, 1084 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Iron Working rotate: false - xy: 1324, 859 + xy: 1528, 1084 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Lasers rotate: false - xy: 2, 337 + xy: 2, 256 size: 200, 200 orig: 200, 200 offset: 0, 0 index: -1 TechIcons/Machinery rotate: false - xy: 2140, 1267 + xy: 2038, 1084 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Masonry rotate: false - xy: 2038, 961 + xy: 2242, 1186 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Mass Media (retired) rotate: false - xy: 2140, 1063 + xy: 1936, 778 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Mathematics rotate: false - xy: 2038, 859 + xy: 2038, 880 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Metal Casting rotate: false - xy: 2242, 1267 + xy: 2038, 778 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Metallurgy rotate: false - xy: 2242, 1165 + xy: 2140, 880 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Military Science rotate: false - xy: 2242, 961 + xy: 2140, 778 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Mining rotate: false - xy: 1120, 757 + xy: 2242, 778 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Mobile Tactics rotate: false - xy: 1426, 757 + xy: 2344, 982 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Nanotechnology rotate: false - xy: 488, 729 + xy: 2038, 676 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Navigation rotate: false - xy: 590, 729 + xy: 2242, 676 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Nuclear Fission rotate: false - xy: 692, 627 + xy: 488, 546 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Optics rotate: false - xy: 488, 525 + xy: 896, 648 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Particle Physics rotate: false - xy: 998, 525 + xy: 1100, 546 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Pharmaceuticals rotate: false - xy: 792, 423 + xy: 1304, 546 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Philosophy rotate: false - xy: 894, 423 + xy: 488, 444 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Physics rotate: false - xy: 996, 423 + xy: 590, 444 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Plastics rotate: false - xy: 1202, 553 + xy: 998, 444 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Pottery rotate: false - xy: 1304, 553 + xy: 1202, 444 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Printing Press rotate: false - xy: 1406, 655 + xy: 1304, 444 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Radar rotate: false - xy: 1508, 553 + xy: 690, 342 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Radio rotate: false - xy: 1610, 655 + xy: 792, 342 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Railroad rotate: false - xy: 1712, 655 + xy: 996, 342 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Refrigeration rotate: false - xy: 1712, 553 + xy: 1098, 342 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Replaceable Parts rotate: false - xy: 1814, 655 + xy: 1200, 342 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Rifling rotate: false - xy: 2018, 655 + xy: 1508, 574 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Robotics rotate: false - xy: 2120, 655 + xy: 1610, 574 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Rocketry rotate: false - xy: 1100, 451 + xy: 1712, 574 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Sailing rotate: false - xy: 1814, 451 + xy: 1712, 370 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Satellites rotate: false - xy: 2018, 451 + xy: 1404, 268 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Scientific Theory rotate: false - xy: 2120, 451 + xy: 1506, 268 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Steam Power rotate: false - xy: 640, 321 + xy: 2324, 472 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Steel rotate: false - xy: 538, 117 + xy: 2324, 370 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/The Wheel rotate: false - xy: 1048, 43 + xy: 538, 36 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Theology rotate: false - xy: 1252, 247 + xy: 742, 36 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Trapping rotate: false - xy: 1252, 145 + xy: 946, 36 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Writing rotate: false - xy: 2170, 247 + xy: 2068, 166 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TileSets/Default/CityOverlay rotate: false - xy: 1199, 1471 + xy: 334, 176 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TileSets/Default/CrosshatchHexagon rotate: false - xy: 2, 1347 + xy: 2, 1266 size: 273, 236 orig: 273, 236 offset: 0, 0 index: -1 TileSets/FantasyHex/CrosshatchHexagon rotate: false - xy: 2, 1347 + xy: 2, 1266 size: 273, 236 orig: 273, 236 offset: 0, 0 index: -1 TileSets/Default/Flood plainsOverlay rotate: false - xy: 610, 1035 + xy: 814, 1158 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TileSets/Default/ForestOverlay rotate: false - xy: 916, 1341 + xy: 610, 852 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TileSets/Default/HillOverlay rotate: false - xy: 1120, 961 + xy: 1018, 750 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TileSets/Default/JungleOverlay rotate: false - xy: 1630, 1063 + xy: 1528, 880 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TileSets/Default/LakesOverlay rotate: false - xy: 1630, 961 + xy: 1528, 778 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TileSets/Default/MarshOverlay rotate: false - xy: 1936, 859 + xy: 2140, 1084 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TileSets/Default/MountainOverlay rotate: false - xy: 1834, 757 + xy: 1528, 676 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TileSets/Default/OasisOverlay rotate: false - xy: 794, 627 + xy: 590, 546 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TileSets/Default/road rotate: false - xy: 132, 122 + xy: 2, 41 size: 61, 11 orig: 61, 11 offset: 0, 0 index: -1 TileSets/FantasyHex/road rotate: false - xy: 132, 122 + xy: 2, 41 size: 61, 11 orig: 61, 11 offset: 0, 0 index: -1 TileSets/FantasyHex/City rotate: false - xy: 436, 398 + xy: 436, 317 size: 32, 35 orig: 32, 35 offset: 0, 0 index: -1 TileSets/FantasyHex/Grassland+City rotate: false - xy: 436, 398 + xy: 436, 317 size: 32, 35 orig: 32, 35 offset: 0, 0 index: -1 TileSets/FantasyHex/Hill+City rotate: false - xy: 436, 398 + xy: 436, 317 size: 32, 35 orig: 32, 35 offset: 0, 0 index: -1 TileSets/FantasyHex/Coast rotate: false - xy: 1048, 393 + xy: 1354, 312 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Desert rotate: false - xy: 406, 749 + xy: 2392, 1716 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Desert+City rotate: false - xy: 288, 64 + xy: 406, 663 size: 32, 33 orig: 32, 33 offset: 0, 0 index: -1 TileSets/FantasyHex/Desert+Flood plains rotate: false - xy: 2238, 59 + xy: 386, 44 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Desert+Oasis rotate: false - xy: 2290, 111 + xy: 2, 11 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Grassland rotate: false - xy: 1048, 363 + xy: 169, 24 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/TopRightBorder rotate: false - xy: 1048, 363 + xy: 169, 24 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Grassland+Forest rotate: false - xy: 1388, 9 + xy: 386, 13 size: 31, 29 orig: 31, 29 offset: 0, 0 index: -1 TileSets/FantasyHex/Grassland+Jungle rotate: false - xy: 184, 11 + xy: 2342, 24 size: 32, 34 orig: 32, 34 offset: 0, 0 index: -1 TileSets/FantasyHex/Grassland+Marsh rotate: false - xy: 218, 16 + xy: 1354, 281 size: 32, 29 orig: 32, 29 offset: 0, 0 index: -1 TileSets/FantasyHex/Hill rotate: false - xy: 252, 13 + xy: 2376, 26 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Hill+Forest rotate: false - xy: 436, 351 + xy: 2426, 629 size: 32, 45 orig: 32, 45 offset: 0, 0 index: -1 TileSets/FantasyHex/Lakes rotate: false - xy: 1048, 13 + xy: 2426, 599 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Mountain rotate: false - xy: 440, 741 + xy: 440, 660 size: 32, 36 orig: 32, 36 offset: 0, 0 index: -1 TileSets/FantasyHex/Ocean rotate: false - xy: 1082, 13 + xy: 2426, 569 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Plains rotate: false - xy: 1116, 13 + xy: 2426, 539 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Plains+City rotate: false - xy: 1150, 6 + xy: 2426, 502 size: 32, 35 orig: 32, 35 offset: 0, 0 index: -1 TileSets/FantasyHex/Plains+Forest rotate: false - xy: 1184, 8 + xy: 2426, 467 size: 32, 33 orig: 32, 33 offset: 0, 0 index: -1 TileSets/FantasyHex/Plains+Jungle rotate: false - xy: 1218, 6 + xy: 2426, 430 size: 32, 35 orig: 32, 35 offset: 0, 0 index: -1 TileSets/FantasyHex/TopBorder rotate: false - xy: 1252, 13 + xy: 2426, 400 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tundra rotate: false - xy: 1286, 9 + xy: 2426, 366 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tundra+City rotate: false - xy: 1320, 6 + xy: 2424, 329 size: 32, 35 orig: 32, 35 offset: 0, 0 index: -1 TileSets/FantasyHex/Tundra+Forest rotate: false - xy: 1354, 6 + xy: 2424, 295 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 UnitIcons/Anti-Aircraft Gun rotate: false - xy: 2234, 1777 + xy: 383, 1566 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Anti-Tank Gun rotate: false - xy: 281, 1647 + xy: 485, 1566 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Archer rotate: false - xy: 791, 1647 + xy: 995, 1566 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Artillery rotate: false - xy: 281, 1545 + xy: 1403, 1566 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/B 17 rotate: false - xy: 587, 1545 + xy: 1709, 1594 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Ballista rotate: false - xy: 791, 1545 + xy: 1913, 1594 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Battleship rotate: false - xy: 685, 1443 + xy: 587, 1464 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Bomber rotate: false - xy: 1093, 1443 + xy: 995, 1464 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Bowman rotate: false - xy: 334, 257 + xy: 1097, 1464 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Brute rotate: false - xy: 1214, 1675 + xy: 1403, 1464 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Camel Archer rotate: false - xy: 1622, 1675 + xy: 1811, 1492 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Cannon rotate: false - xy: 1826, 1675 + xy: 2015, 1492 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Caravel rotate: false - xy: 1928, 1675 + xy: 2117, 1492 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Catapult rotate: false - xy: 2132, 1675 + xy: 2321, 1492 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Cavalry rotate: false - xy: 1199, 1573 + xy: 379, 1362 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Chariot Archer rotate: false - xy: 1301, 1573 + xy: 481, 1362 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Chu-Ko-Nu rotate: false - xy: 1811, 1573 + xy: 991, 1362 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Companion Cavalry rotate: false - xy: 2117, 1471 + xy: 2219, 1390 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Cossack rotate: false - xy: 1399, 1369 + xy: 1705, 1288 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Crossbowman rotate: false - xy: 1705, 1369 + xy: 2011, 1288 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Destroyer rotate: false - xy: 2215, 1369 + xy: 386, 456 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Fighter rotate: false - xy: 610, 1137 + xy: 814, 1260 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Foreign Legion rotate: false - xy: 814, 1239 + xy: 508, 750 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Frigate rotate: false - xy: 712, 1035 + xy: 916, 1158 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Galleass rotate: false - xy: 1018, 1341 + xy: 712, 852 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Gatling Gun rotate: false - xy: 610, 831 + xy: 814, 954 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Great Artist rotate: false - xy: 712, 831 + xy: 814, 852 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Great Engineer rotate: false - xy: 814, 933 + xy: 916, 954 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Great General rotate: false - xy: 277, 1347 + xy: 277, 1266 size: 100, 94 orig: 100, 94 offset: 0, 0 index: -1 OtherIcons/Star rotate: false - xy: 277, 1347 + xy: 277, 1266 size: 100, 94 orig: 100, 94 offset: 0, 0 index: -1 UnitIcons/Great Merchant rotate: false - xy: 916, 1035 + xy: 1018, 1056 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Great Scientist rotate: false - xy: 1018, 1137 + xy: 1120, 1158 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Great War Bomber rotate: false - xy: 916, 933 + xy: 814, 750 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Great War Infantry rotate: false - xy: 1018, 1035 + xy: 916, 852 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Helicopter rotate: false - xy: 1222, 1165 + xy: 1222, 1056 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Hoplite rotate: false - xy: 1324, 1165 + xy: 1222, 954 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Horseman rotate: false - xy: 1120, 859 + xy: 1120, 750 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Infantry rotate: false - xy: 1528, 1165 + xy: 1528, 1186 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Ironclad rotate: false - xy: 1426, 961 + xy: 1630, 1186 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Janissary rotate: false - xy: 1732, 1267 + xy: 1630, 1084 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Jet Fighter rotate: false - xy: 1528, 961 + xy: 1426, 778 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Knight rotate: false - xy: 1732, 1165 + xy: 1630, 982 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Lancer rotate: false - xy: 1732, 1063 + xy: 1630, 880 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Landship rotate: false - xy: 1936, 1267 + xy: 1834, 1084 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Landsknecht rotate: false - xy: 1630, 859 + xy: 1936, 1186 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Legion rotate: false - xy: 1834, 1063 + xy: 1732, 880 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Longbowman rotate: false - xy: 1732, 859 + xy: 2038, 1186 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Longswordsman rotate: false - xy: 1834, 961 + xy: 1732, 778 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Machine Gun rotate: false - xy: 2038, 1165 + xy: 1936, 982 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Mechanized Infantry rotate: false - xy: 2140, 961 + xy: 2140, 982 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Minuteman rotate: false - xy: 1324, 757 + xy: 2344, 1084 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Modern Armor rotate: false - xy: 1528, 757 + xy: 2344, 880 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Musketeer rotate: false - xy: 2140, 757 + xy: 1834, 676 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Musketman rotate: false - xy: 2242, 758 + xy: 1936, 677 size: 100, 99 orig: 100, 99 offset: 0, 0 index: -1 UnitIcons/Panzer rotate: false - xy: 794, 525 + xy: 998, 546 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Pikeman rotate: false - xy: 1100, 655 + xy: 692, 444 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Rifleman rotate: false - xy: 1916, 553 + xy: 1406, 472 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Rocket Artillery rotate: false - xy: 2120, 553 + xy: 1610, 472 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Samurai rotate: false - xy: 1916, 451 + xy: 1814, 370 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Scout rotate: false - xy: 1098, 349 + xy: 1608, 268 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Settler rotate: false - xy: 1302, 349 + xy: 1812, 268 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Ship of the Line rotate: false - xy: 1608, 349 + xy: 1916, 370 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Sipahi rotate: false - xy: 1914, 349 + xy: 2018, 472 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Spearman rotate: false - xy: 2222, 451 + xy: 2222, 574 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Stealth Bomber rotate: false - xy: 538, 219 + xy: 2220, 268 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Submarine rotate: false - xy: 742, 117 + xy: 640, 240 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Swordsman rotate: false - xy: 946, 321 + xy: 742, 240 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Tank rotate: false - xy: 946, 117 + xy: 844, 138 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Trebuchet rotate: false - xy: 1354, 247 + xy: 1048, 36 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Triplane rotate: false - xy: 1252, 43 + xy: 1150, 36 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Trireme rotate: false - xy: 1354, 144 + xy: 1252, 35 size: 100, 101 orig: 100, 101 offset: 0, 0 index: -1 UnitIcons/War Chariot rotate: false - xy: 1660, 247 + xy: 1558, 166 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/War Elephant rotate: false - xy: 1660, 145 + xy: 1558, 64 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Warrior rotate: false - xy: 1762, 247 + xy: 1660, 166 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Work Boats rotate: false - xy: 1966, 145 + xy: 1864, 64 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Worker rotate: false - xy: 2068, 247 + xy: 1966, 166 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Zero rotate: false - xy: 2170, 145 + xy: 2068, 64 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitPromotionIcons/Accuracy_III_(Civ5) rotate: false - xy: 1120, 1369 + xy: 1426, 1288 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Accuracy_II_(Civ5) rotate: false - xy: 1142, 1369 + xy: 1448, 1288 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Accuracy_I_(Civ5) rotate: false - xy: 1164, 1369 + xy: 1470, 1288 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Air_Repair_(Civ5) rotate: false - xy: 281, 1805 + xy: 281, 1724 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Ambush_II_(Civ5) rotate: false - xy: 379, 1421 + xy: 1474, 1674 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Ambush_I_(Civ5) rotate: false - xy: 2290, 89 + xy: 379, 1340 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Barrage_III_(Civ5) rotate: false - xy: 2272, 67 + xy: 384, 280 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Barrage_II_(Civ5) rotate: false - xy: 384, 361 + xy: 36, 19 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Barrage_I_(Civ5) rotate: false - xy: 458, 809 + xy: 169, 2 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Blitz_(Civ5) rotate: false - xy: 1421, 18 + xy: 458, 728 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Boarding_Party_III_(Civ5) rotate: false - xy: 1172, 1421 + xy: 2424, 273 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Boarding_Party_II_(Civ5) rotate: false - xy: 281, 1783 + xy: 1478, 1340 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Boarding_Party_I_(Civ5) rotate: false - xy: 379, 1399 + xy: 281, 1702 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Bombardment_III_(Civ5) rotate: false - xy: 406, 361 + xy: 379, 1318 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Bombardment_II_(Civ5) rotate: false - xy: 458, 787 + xy: 406, 280 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Bombardment_I_(Civ5) rotate: false - xy: 1172, 1399 + xy: 458, 706 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Charge_(Civ5) rotate: false - xy: 281, 1761 + xy: 1478, 1318 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Coastal_Raider_III_(Civ5) rotate: false - xy: 379, 1377 + xy: 281, 1680 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Coastal_Raider_II_(Civ5) rotate: false - xy: 379, 1355 + xy: 379, 1296 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Coastal_Raider_I_(Civ5) rotate: false - xy: 2238, 37 + xy: 379, 1274 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Cover_II_(Civ5) rotate: false - xy: 2294, 67 + xy: 2410, 38 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Cover_I_(Civ5) rotate: false - xy: 288, 42 + xy: 2426, 1724 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Drill_III_(Civ5) rotate: false - xy: 286, 20 + xy: 2342, 2 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Drill_II_(Civ5) rotate: false - xy: 2312, 89 + xy: 436, 295 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Drill_I_(Civ5) rotate: false - xy: 2316, 67 + xy: 2410, 16 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Evasion_(Civ5) rotate: false - xy: 2321, 1653 + xy: 458, 295 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Formation_II_(Civ5) rotate: false - xy: 2321, 1631 + xy: 2364, 2 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Formation_I_(Civ5) rotate: false - xy: 2321, 1609 + xy: 2386, 4 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Heal_Instantly_(Civ5) rotate: false - xy: 2321, 1587 + xy: 2430, 251 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Indirect_Fire_(Civ5) rotate: false - xy: 2321, 1565 + xy: 2430, 229 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Interception_III_(Civ5) rotate: false - xy: 2321, 1543 + xy: 2430, 207 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Interception_II_(Civ5) rotate: false - xy: 2321, 1521 + xy: 2430, 185 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Interception_I_(Civ5) rotate: false - xy: 2321, 1499 + xy: 2430, 163 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Logistics_(Civ5) rotate: false - xy: 2321, 1477 + xy: 2430, 141 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/March_(Civ5) rotate: false - xy: 1443, 18 + xy: 2430, 119 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Medic_(Civ5) rotate: false - xy: 1465, 19 + xy: 2430, 97 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Medic_II_(Civ5) rotate: false - xy: 1465, 19 + xy: 2430, 97 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Mobility_(Civ5) rotate: false - xy: 1487, 19 + xy: 2430, 75 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Operational_Range_(Civ5) rotate: false - xy: 1509, 19 + xy: 2426, 1702 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Range_(Civ5) rotate: false - xy: 1509, 19 + xy: 2426, 1702 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Scouting_III_(Civ5) rotate: false - xy: 1531, 19 + xy: 2423, 1680 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Scouting_II_(Civ5) rotate: false - xy: 1553, 19 + xy: 2423, 1658 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Scouting_I_(Civ5) rotate: false - xy: 1575, 19 + xy: 2423, 1636 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Sentry_(Civ5) rotate: false - xy: 1597, 19 + xy: 2423, 1614 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Shock_III_(Civ5) rotate: false - xy: 1619, 19 + xy: 2423, 1592 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Shock_II_(Civ5) rotate: false - xy: 1641, 19 + xy: 2423, 1570 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Shock_I_(Civ5) rotate: false - xy: 1663, 19 + xy: 2423, 1548 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Siege_(Civ5) rotate: false - xy: 1685, 19 + xy: 2423, 1526 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Siege_I_(Civ5) rotate: false - xy: 1685, 19 + xy: 2423, 1526 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Siege_III_(Civ5) rotate: false - xy: 1707, 19 + xy: 2423, 1504 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Siege_II_(Civ5) rotate: false - xy: 1729, 19 + xy: 2423, 1482 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Sortie_(Civ5) rotate: false - xy: 1751, 19 + xy: 2423, 1460 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Targeting_III_(Civ5) rotate: false - xy: 1773, 19 + xy: 2423, 1438 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Targeting_II_(Civ5) rotate: false - xy: 1795, 19 + xy: 2423, 1416 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Targeting_I_(Civ5) rotate: false - xy: 1817, 19 + xy: 2423, 1394 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Targeting_I_(air)_(Civ5) rotate: false - xy: 1817, 19 + xy: 2423, 1394 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Volley_(Civ5) rotate: false - xy: 1839, 19 + xy: 470, 320 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Wolfpack_III_(Civ5) rotate: false - xy: 1861, 19 + xy: 492, 320 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Wolfpack_II_(Civ5) rotate: false - xy: 1883, 19 + xy: 514, 320 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Wolfpack_I_(Civ5) rotate: false - xy: 1905, 19 + xy: 480, 298 size: 20, 20 orig: 20, 20 offset: 0, 0 index: -1 UnitPromotionIcons/Woodsman_(Civ5) rotate: false - xy: 1927, 19 + xy: 502, 298 size: 20, 20 orig: 20, 20 offset: 0, 0 diff --git a/android/assets/game.png b/android/assets/game.png index a44f07df69..a83005fb22 100644 Binary files a/android/assets/game.png and b/android/assets/game.png differ diff --git a/core/src/com/unciv/Constants.kt b/core/src/com/unciv/Constants.kt index e371308ff0..16dcc9cdd5 100644 --- a/core/src/com/unciv/Constants.kt +++ b/core/src/com/unciv/Constants.kt @@ -14,6 +14,7 @@ class Constants{ const val peaceTreaty = "Peace Treaty" const val barbarianEncampment = "Barbarian encampment" const val ancientRuins = "Ancient ruins" + const val random = "Random" val greatImprovements = listOf("Academy", "Landmark", "Manufactory", "Customs house") } } \ No newline at end of file diff --git a/core/src/com/unciv/ui/VictoryScreen.kt b/core/src/com/unciv/ui/VictoryScreen.kt index 2be70065df..970a7df2b2 100644 --- a/core/src/com/unciv/ui/VictoryScreen.kt +++ b/core/src/com/unciv/ui/VictoryScreen.kt @@ -8,6 +8,7 @@ import com.unciv.logic.civilization.CivilizationInfo import com.unciv.models.gamebasics.GameBasics import com.unciv.models.gamebasics.VictoryType import com.unciv.models.gamebasics.tr +import com.unciv.ui.newgamescreen.NewGameScreen import com.unciv.ui.pickerscreens.PickerScreen import com.unciv.ui.utils.addSeparator import com.unciv.ui.utils.enable @@ -76,7 +77,7 @@ class VictoryScreen : PickerScreen() { rightSideButton.isVisible = true rightSideButton.enable() rightSideButton.onClick { - UnCivGame.Current.screen=NewGameScreen() + UnCivGame.Current.screen= NewGameScreen() } closeButton.setText("One more turn...!".tr()) diff --git a/core/src/com/unciv/ui/NationTable.kt b/core/src/com/unciv/ui/newgamescreen/NationTable.kt similarity index 99% rename from core/src/com/unciv/ui/NationTable.kt rename to core/src/com/unciv/ui/newgamescreen/NationTable.kt index 7abbba1a66..179112c37d 100644 --- a/core/src/com/unciv/ui/NationTable.kt +++ b/core/src/com/unciv/ui/newgamescreen/NationTable.kt @@ -1,4 +1,4 @@ -package com.unciv.ui +package com.unciv.ui.newgamescreen import com.badlogic.gdx.scenes.scene2d.Touchable import com.badlogic.gdx.scenes.scene2d.ui.Label diff --git a/core/src/com/unciv/ui/newgamescreen/NewGameScreen.kt b/core/src/com/unciv/ui/newgamescreen/NewGameScreen.kt new file mode 100644 index 0000000000..47ba688611 --- /dev/null +++ b/core/src/com/unciv/ui/newgamescreen/NewGameScreen.kt @@ -0,0 +1,139 @@ +package com.unciv.ui.newgamescreen + +import com.badlogic.gdx.Gdx +import com.badlogic.gdx.scenes.scene2d.ui.* +import com.badlogic.gdx.utils.Array +import com.unciv.Constants +import com.unciv.GameStarter +import com.unciv.UnCivGame +import com.unciv.logic.GameInfo +import com.unciv.logic.civilization.PlayerType +import com.unciv.models.gamebasics.GameBasics +import com.unciv.models.gamebasics.tr +import com.unciv.ui.pickerscreens.PickerScreen +import com.unciv.ui.utils.* +import com.unciv.ui.worldscreen.WorldScreen +import com.unciv.ui.worldscreen.optionstable.PopupTable +import kotlin.concurrent.thread + +class NewGameScreen: PickerScreen(){ + + val newGameParameters= UnCivGame.Current.gameInfo.gameParameters + + val nationTables = ArrayList() + + var playerPickerTable = PlayerPickerTable() + + val civPickerTable = Table().apply { defaults().pad(15f) } + + init { + setDefaultCloseAction() + val mainTable = Table() + mainTable.add(NewGameScreenOptionsTable(newGameParameters) { updateNationTables() }) + +// mainTable.add(playerPickerTable) + + for(nation in GameBasics.Nations.values.filterNot { it.name == "Barbarians" || it.isCityState() }){ + val nationTable = NationTable(nation, newGameParameters, skin, stage.width / 3) { updateNationTables() } + nationTables.add(nationTable) + civPickerTable.add(nationTable).row() + } + civPickerTable.pack() + mainTable.setFillParent(true) + mainTable.add(ScrollPane(civPickerTable).apply { setScrollingDisabled(true,false) }) + topTable.addActor(mainTable) + updateNationTables() + + + rightSideButton.enable() + rightSideButton.setText("Start game!".tr()) + rightSideButton.onClick { + Gdx.input.inputProcessor = null // remove input processing - nothing will be clicked! + rightSideButton.disable() + rightSideButton.setText("Working...".tr()) + + thread { // Creating a new game can take a while and we don't want ANRs + try { + newGame = GameStarter().startNewGame(newGameParameters) + } + catch (exception:Exception){ + val popup = PopupTable(this) + popup.addGoodSizedLabel("It looks like we can't make a map with the parameters you requested!".tr()).row() + popup.addGoodSizedLabel("Maybe you put too many players into too small a map?".tr()).row() + popup.open() + } + } + } + } + + + + private fun updateNationTables(){ + nationTables.forEach { it.update() } + civPickerTable.pack() + if(newGameParameters.humanNations.size==newGameParameters.numberOfHumanPlayers) + rightSideButton.enable() + else rightSideButton.disable() + } + + + var newGame:GameInfo?=null + + override fun render(delta: Float) { + if(newGame!=null){ + game.gameInfo=newGame!! + game.worldScreen = WorldScreen(newGame!!.currentPlayerCiv) + game.setWorldScreen() + } + super.render(delta) + } +} + +class TranslatedSelectBox(values : Collection, default:String, skin: Skin) : SelectBox(skin){ + class TranslatedString(val value: String){ + val translation = value.tr() + override fun toString()=translation + } + + init { + val array = Array() + values.forEach{array.add(TranslatedString(it))} + items = array + val defaultItem = array.firstOrNull { it.value==default } + selected = if(defaultItem!=null) defaultItem else array.first() + } +} + +class Player{ + var playerType: PlayerType=PlayerType.AI + var chosenCiv = Constants.random +} + +class PlayerPickerTable:Table(){ + val playerList = ArrayList() + + init { + update() + } + + fun update(){ + clear() + for(player in playerList) + add(getPlayerTable(player)).row() + add("+".toLabel().setFontSize(24).onClick { playerList.add(Player()); update() }) + } + + fun getPlayerTable(player:Player): Table { + val table = Table() + val playerTypeTextbutton = TextButton(player.playerType.name, CameraStageBaseScreen.skin) + playerTypeTextbutton.onClick { + if (player.playerType == PlayerType.AI) + player.playerType = PlayerType.Human + else player.playerType = PlayerType.AI + update() + } + table.add(playerTypeTextbutton) + table.add(TextButton("Remove".tr(),CameraStageBaseScreen.skin).onClick { playerList.remove(player); update() }) + return table + } +} diff --git a/core/src/com/unciv/ui/NewGameScreen.kt b/core/src/com/unciv/ui/newgamescreen/NewGameScreenOptionsTable.kt similarity index 57% rename from core/src/com/unciv/ui/NewGameScreen.kt rename to core/src/com/unciv/ui/newgamescreen/NewGameScreenOptionsTable.kt index 1fbaf72507..7bc482be80 100644 --- a/core/src/com/unciv/ui/NewGameScreen.kt +++ b/core/src/com/unciv/ui/newgamescreen/NewGameScreenOptionsTable.kt @@ -1,124 +1,47 @@ -package com.unciv.ui +package com.unciv.ui.newgamescreen -import com.badlogic.gdx.Gdx import com.badlogic.gdx.scenes.scene2d.Actor -import com.badlogic.gdx.scenes.scene2d.ui.* +import com.badlogic.gdx.scenes.scene2d.ui.CheckBox +import com.badlogic.gdx.scenes.scene2d.ui.SelectBox +import com.badlogic.gdx.scenes.scene2d.ui.Table import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener import com.badlogic.gdx.utils.Array +import com.unciv.GameParameters import com.unciv.GameSpeed -import com.unciv.GameStarter -import com.unciv.UnCivGame -import com.unciv.logic.GameInfo import com.unciv.logic.MapSaver import com.unciv.logic.map.MapType import com.unciv.models.gamebasics.GameBasics import com.unciv.models.gamebasics.VictoryType import com.unciv.models.gamebasics.tr -import com.unciv.ui.pickerscreens.PickerScreen -import com.unciv.ui.utils.disable -import com.unciv.ui.utils.enable -import com.unciv.ui.utils.onClick +import com.unciv.ui.utils.CameraStageBaseScreen import com.unciv.ui.utils.toLabel -import com.unciv.ui.worldscreen.WorldScreen -import com.unciv.ui.worldscreen.optionstable.PopupTable -import kotlin.concurrent.thread import kotlin.math.min -class NewGameScreen: PickerScreen(){ +class NewGameScreenOptionsTable(val newGameParameters: GameParameters, val updateNationTables: ()->Unit): Table(CameraStageBaseScreen.skin){ + init{ + addMapTypeSizeAndFile() + addNumberOfHumansAndEnemies() + addDifficultySelectBox() + addGameSpeedSelectBox() + addVictoryTypeCheckboxes() + addBarbariansCheckbox() - val newGameParameters= UnCivGame.Current.gameInfo.gameParameters - - val nationTables = ArrayList() - - val civPickerTable = Table().apply { defaults().pad(15f) } - - init { - setDefaultCloseAction() - val mainTable = Table() - mainTable.add(getOptionsTable()) - - for(nation in GameBasics.Nations.values.filterNot { it.name == "Barbarians" || it.isCityState() }){ - val nationTable = NationTable(nation,newGameParameters,skin,stage.width/3 ){updateNationTables()} - nationTables.add(nationTable) - civPickerTable.add(nationTable).row() - } - civPickerTable.pack() - mainTable.setFillParent(true) - mainTable.add(ScrollPane(civPickerTable).apply { setScrollingDisabled(true,false) }) - topTable.addActor(mainTable) - updateNationTables() + pack() } - private fun updateNationTables(){ - nationTables.forEach { it.update() } - civPickerTable.pack() - if(newGameParameters.humanNations.size==newGameParameters.numberOfHumanPlayers) - rightSideButton.enable() - else rightSideButton.disable() - } - - fun removeExtraHumanNations(humanPlayers: SelectBox) { - val maxNumberOfHumanPlayers = GameBasics.Nations.size - newGameParameters.numberOfEnemies - if(newGameParameters.numberOfHumanPlayers>maxNumberOfHumanPlayers){ - newGameParameters.numberOfHumanPlayers=maxNumberOfHumanPlayers - humanPlayers.selected=maxNumberOfHumanPlayers - } - if(newGameParameters.humanNations.size>newGameParameters.numberOfHumanPlayers) { - val nationsOverAllowed = newGameParameters.humanNations.size - newGameParameters.numberOfHumanPlayers - newGameParameters.humanNations.removeAll(newGameParameters.humanNations.take(nationsOverAllowed)) - updateNationTables() - } - } - - private fun getOptionsTable(): Table { - val newGameOptionsTable = Table() - newGameOptionsTable.skin = skin - - addMapTypeSizeAndFile(newGameOptionsTable) - addNumberOfHumansAndEnemies(newGameOptionsTable) - addDifficultySelectBox(newGameOptionsTable) - addGameSpeedSelectBox(newGameOptionsTable) - addVictoryTypeCheckboxes(newGameOptionsTable) - addBarbariansCheckbox(newGameOptionsTable) - - - rightSideButton.enable() - rightSideButton.setText("Start game!".tr()) - rightSideButton.onClick { - Gdx.input.inputProcessor = null // remove input processing - nothing will be clicked! - rightSideButton.disable() - rightSideButton.setText("Working...".tr()) - - thread { // Creating a new game can take a while and we don't want ANRs - try { - newGame = GameStarter().startNewGame(newGameParameters) - } - catch (exception:Exception){ - val popup = PopupTable(this) - popup.addGoodSizedLabel("It looks like we can't make a map with the parameters you requested!".tr()).row() - popup.addGoodSizedLabel("Maybe you put too many players into too small a map?".tr()).row() - popup.open() - } - } - } - - newGameOptionsTable.pack() - return newGameOptionsTable - } - - private fun addBarbariansCheckbox(newGameOptionsTable: Table) { - val noBarbariansCheckbox = CheckBox("No barbarians".tr(), skin) + private fun addBarbariansCheckbox() { + val noBarbariansCheckbox = CheckBox("No barbarians".tr(), CameraStageBaseScreen.skin) noBarbariansCheckbox.isChecked = newGameParameters.noBarbarians noBarbariansCheckbox.addListener(object : ChangeListener() { override fun changed(event: ChangeEvent?, actor: Actor?) { newGameParameters.noBarbarians = noBarbariansCheckbox.isChecked } }) - newGameOptionsTable.add(noBarbariansCheckbox).colspan(2).row() + add(noBarbariansCheckbox).colspan(2).row() } - private fun addMapTypeSizeAndFile(newGameOptionsTable: Table) { - newGameOptionsTable.add("{Map type}:".tr()) + private fun addMapTypeSizeAndFile() { + add("{Map type}:".tr()) val mapTypes = LinkedHashMap() for (type in MapType.values()) { if (type == MapType.File && MapSaver().getMaps().isEmpty()) continue @@ -130,7 +53,7 @@ class NewGameScreen: PickerScreen(){ mapFileLabel.isVisible = false mapFileSelectBox.isVisible = false - val mapTypeSelectBox = TranslatedSelectBox(mapTypes.keys, newGameParameters.mapType.toString(), skin) + val mapTypeSelectBox = TranslatedSelectBox(mapTypes.keys, newGameParameters.mapType.toString(), CameraStageBaseScreen.skin) val worldSizeSelectBox = getWorldSizeSelectBox() val worldSizeLabel = "{World size}:".toLabel() @@ -153,37 +76,37 @@ class NewGameScreen: PickerScreen(){ } } }) - newGameOptionsTable.add(mapTypeSelectBox).pad(10f).row() + add(mapTypeSelectBox).pad(10f).row() - newGameOptionsTable.add(worldSizeLabel) - newGameOptionsTable.add(worldSizeSelectBox).pad(10f).row() + add(worldSizeLabel) + add(worldSizeSelectBox).pad(10f).row() - newGameOptionsTable.add(mapFileLabel) - newGameOptionsTable.add(mapFileSelectBox).pad(10f).row() + add(mapFileLabel) + add(mapFileSelectBox).pad(10f).row() } - private fun addNumberOfHumansAndEnemies(newGameOptionsTable: Table) { - newGameOptionsTable.add("{Number of human players}:".tr()) - val humanPlayers = SelectBox(skin) + private fun addNumberOfHumansAndEnemies() { + add("{Number of human players}:".tr()) + val humanPlayers = SelectBox(CameraStageBaseScreen.skin) val humanPlayersArray = Array() (1..GameBasics.Nations.filter{ !it.value.isCityState() }.size).forEach { humanPlayersArray.add(it) } humanPlayers.items = humanPlayersArray humanPlayers.selected = newGameParameters.numberOfHumanPlayers - newGameOptionsTable.add(humanPlayers).pad(10f).row() + add(humanPlayers).pad(10f).row() - newGameOptionsTable.add("{Number of enemies}:".tr()) - val enemiesSelectBox = SelectBox(skin) + add("{Number of enemies}:".tr()) + val enemiesSelectBox = SelectBox(CameraStageBaseScreen.skin) val enemiesArray = Array() for (enemyNumber in 0 until GameBasics.Nations.filter{ !it.value.isCityState() }.size) { enemiesArray.add(enemyNumber) } enemiesSelectBox.items = enemiesArray enemiesSelectBox.selected = newGameParameters.numberOfEnemies - newGameOptionsTable.add(enemiesSelectBox).pad(10f).row() + add(enemiesSelectBox).pad(10f).row() - addCityStatesSelectBox(newGameOptionsTable) + addCityStatesSelectBox() humanPlayers.addListener(object : ChangeListener() { override fun changed(event: ChangeEvent?, actor: Actor?) { @@ -205,14 +128,14 @@ class NewGameScreen: PickerScreen(){ } - private fun addCityStatesSelectBox(newGameOptionsTable: Table) { - newGameOptionsTable.add("{Number of city-states}:".tr()) - val cityStatesSelectBox = SelectBox(skin) + private fun addCityStatesSelectBox() { + add("{Number of city-states}:".tr()) + val cityStatesSelectBox = SelectBox(CameraStageBaseScreen.skin) val cityStatesArray = Array() (0..GameBasics.Nations.filter { it.value.isCityState() }.size).forEach { cityStatesArray.add(it) } cityStatesSelectBox.items = cityStatesArray cityStatesSelectBox.selected = newGameParameters.numberOfCityStates - newGameOptionsTable.add(cityStatesSelectBox).pad(10f).row() + add(cityStatesSelectBox).pad(10f).row() cityStatesSelectBox.addListener(object : ChangeListener() { override fun changed(event: ChangeEvent?, actor: Actor?) { newGameParameters.numberOfCityStates = cityStatesSelectBox.selected @@ -220,38 +143,38 @@ class NewGameScreen: PickerScreen(){ }) } - private fun addDifficultySelectBox(newGameOptionsTable: Table) { - newGameOptionsTable.add("{Difficulty}:".tr()) - val difficultySelectBox = TranslatedSelectBox(GameBasics.Difficulties.keys, newGameParameters.difficulty, skin) + private fun addDifficultySelectBox() { + add("{Difficulty}:".tr()) + val difficultySelectBox = TranslatedSelectBox(GameBasics.Difficulties.keys, newGameParameters.difficulty, CameraStageBaseScreen.skin) difficultySelectBox.addListener(object : ChangeListener() { override fun changed(event: ChangeEvent?, actor: Actor?) { newGameParameters.difficulty = difficultySelectBox.selected.value } }) - newGameOptionsTable.add(difficultySelectBox).pad(10f).row() + add(difficultySelectBox).pad(10f).row() } - private fun addGameSpeedSelectBox(newGameOptionsTable: Table) { - newGameOptionsTable.add("{Game Speed}:".tr()) - val gameSpeedSelectBox = TranslatedSelectBox(GameSpeed.values().map { it.name }, newGameParameters.gameSpeed.name, skin) + private fun addGameSpeedSelectBox() { + add("{Game Speed}:".tr()) + val gameSpeedSelectBox = TranslatedSelectBox(GameSpeed.values().map { it.name }, newGameParameters.gameSpeed.name, CameraStageBaseScreen.skin) gameSpeedSelectBox.addListener(object : ChangeListener() { override fun changed(event: ChangeEvent?, actor: Actor?) { newGameParameters.gameSpeed = GameSpeed.valueOf(gameSpeedSelectBox.selected.value) } }) - newGameOptionsTable.add(gameSpeedSelectBox).pad(10f).row() + add(gameSpeedSelectBox).pad(10f).row() } - private fun addVictoryTypeCheckboxes(newGameOptionsTable: Table) { - newGameOptionsTable.add("{Victory conditions}:".tr()).colspan(2).row() + private fun addVictoryTypeCheckboxes() { + add("{Victory conditions}:".tr()).colspan(2).row() // Create a checkbox for each VictoryType existing var i = 0 val victoryConditionsTable = Table().apply { defaults().pad(10f) } for (victoryType in VictoryType.values()) { if (victoryType == VictoryType.Neutral) continue - val victoryCheckbox = CheckBox(victoryType.name.tr(), skin) + val victoryCheckbox = CheckBox(victoryType.name.tr(), CameraStageBaseScreen.skin) victoryCheckbox.name = victoryType.name victoryCheckbox.isChecked = newGameParameters.victoryTypes.contains(victoryType) victoryCheckbox.addListener(object : ChangeListener() { @@ -267,11 +190,11 @@ class NewGameScreen: PickerScreen(){ victoryConditionsTable.add(victoryCheckbox) if (++i % 2 == 0) victoryConditionsTable.row() } - newGameOptionsTable.add(victoryConditionsTable).colspan(2).row() + add(victoryConditionsTable).colspan(2).row() } private fun getMapFileSelectBox(): SelectBox { - val mapFileSelectBox = SelectBox(skin) + val mapFileSelectBox = SelectBox(CameraStageBaseScreen.skin) val mapNames = Array() for (mapName in MapSaver().getMaps()) mapNames.add(mapName) mapFileSelectBox.items = mapNames @@ -293,7 +216,7 @@ class NewGameScreen: PickerScreen(){ worldSizeToRadius["Huge"] = 40 val currentWorldSizeName = worldSizeToRadius.entries.first { it.value == newGameParameters.mapRadius }.key - val worldSizeSelectBox = TranslatedSelectBox(worldSizeToRadius.keys, currentWorldSizeName, skin) + val worldSizeSelectBox = TranslatedSelectBox(worldSizeToRadius.keys, currentWorldSizeName, CameraStageBaseScreen.skin) worldSizeSelectBox.addListener(object : ChangeListener() { override fun changed(event: ChangeEvent?, actor: Actor?) { @@ -303,29 +226,18 @@ class NewGameScreen: PickerScreen(){ return worldSizeSelectBox } - var newGame:GameInfo?=null - override fun render(delta: Float) { - if(newGame!=null){ - game.gameInfo=newGame!! - game.worldScreen = WorldScreen(newGame!!.currentPlayerCiv) - game.setWorldScreen() + fun removeExtraHumanNations(humanPlayers: SelectBox) { + val maxNumberOfHumanPlayers = GameBasics.Nations.size - newGameParameters.numberOfEnemies + if(newGameParameters.numberOfHumanPlayers>maxNumberOfHumanPlayers){ + newGameParameters.numberOfHumanPlayers=maxNumberOfHumanPlayers + humanPlayers.selected=maxNumberOfHumanPlayers + } + if(newGameParameters.humanNations.size>newGameParameters.numberOfHumanPlayers) { + val nationsOverAllowed = newGameParameters.humanNations.size - newGameParameters.numberOfHumanPlayers + newGameParameters.humanNations.removeAll(newGameParameters.humanNations.take(nationsOverAllowed)) + updateNationTables() } - super.render(delta) - } -} - -class TranslatedSelectBox(values : Collection, default:String, skin: Skin) : SelectBox(skin){ - class TranslatedString(val value: String){ - val translation = value.tr() - override fun toString()=translation } - init { - val array = Array() - values.forEach{array.add(TranslatedString(it))} - items = array - val defaultItem = array.firstOrNull { it.value==default } - selected = if(defaultItem!=null) defaultItem else array.first() - } -} +} \ No newline at end of file diff --git a/core/src/com/unciv/ui/worldscreen/optionstable/WorldScreenMenuTable.kt b/core/src/com/unciv/ui/worldscreen/optionstable/WorldScreenMenuTable.kt index efa42267b3..7672dd07d7 100644 --- a/core/src/com/unciv/ui/worldscreen/optionstable/WorldScreenMenuTable.kt +++ b/core/src/com/unciv/ui/worldscreen/optionstable/WorldScreenMenuTable.kt @@ -5,7 +5,7 @@ import com.unciv.UnCivGame import com.unciv.logic.map.RoadStatus import com.unciv.models.gamebasics.tr import com.unciv.ui.CivilopediaScreen -import com.unciv.ui.NewGameScreen +import com.unciv.ui.newgamescreen.NewGameScreen import com.unciv.ui.VictoryScreen import com.unciv.ui.mapeditor.MapEditorScreen import com.unciv.ui.pickerscreens.PolicyPickerScreen