diff --git a/android/Images/NotificationIcons/Construction.png b/android/Images/NotificationIcons/Construction.png deleted file mode 100644 index 8e675a708c..0000000000 Binary files a/android/Images/NotificationIcons/Construction.png and /dev/null differ diff --git a/android/Images/NotificationIcons/Culture.png b/android/Images/NotificationIcons/Culture.png deleted file mode 100644 index f5ac2ebb25..0000000000 Binary files a/android/Images/NotificationIcons/Culture.png and /dev/null differ diff --git a/android/Images/NotificationIcons/Growth.png b/android/Images/NotificationIcons/Growth.png deleted file mode 100644 index 33f9dea931..0000000000 Binary files a/android/Images/NotificationIcons/Growth.png and /dev/null differ diff --git a/android/Images/NotificationIcons/Science.png b/android/Images/NotificationIcons/Science.png deleted file mode 100644 index f7067033e9..0000000000 Binary files a/android/Images/NotificationIcons/Science.png and /dev/null differ diff --git a/android/Images/NotificationIcons/Trade.png b/android/Images/NotificationIcons/Trade.png deleted file mode 100644 index 52211234a7..0000000000 Binary files a/android/Images/NotificationIcons/Trade.png and /dev/null differ diff --git a/android/Images/NotificationIcons/War.png b/android/Images/NotificationIcons/War.png deleted file mode 100644 index 490aaa13a5..0000000000 Binary files a/android/Images/NotificationIcons/War.png and /dev/null differ diff --git a/android/Images/OtherIcons/Diplomacy.png b/android/Images/OtherIcons/Diplomacy.png index f0fbba7a14..73562950d4 100644 Binary files a/android/Images/OtherIcons/Diplomacy.png and b/android/Images/OtherIcons/Diplomacy.png differ diff --git a/android/assets/game.atlas b/android/assets/game.atlas index 395297a6c3..0f2c9718c8 100644 --- a/android/assets/game.atlas +++ b/android/assets/game.atlas @@ -6,4235 +6,4200 @@ filter: MipMapLinearLinear, MipMapLinearLinear repeat: none EmojiIcons/Turn rotate: false - xy: 1432, 604 + xy: 1940, 1279 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 EmojiIcons/TurnOld rotate: false - xy: 1484, 656 + xy: 1992, 1331 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 ImprovementIcons/Academy rotate: false - xy: 1342, 1934 + xy: 1342, 1945 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Ancient ruins rotate: false - xy: 1648, 1934 + xy: 1648, 1945 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Barbarian encampment rotate: false - xy: 104, 54 + xy: 104, 65 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Camp rotate: false - xy: 204, 1042 + xy: 204, 1053 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Citadel rotate: false - xy: 483, 1696 + xy: 483, 1707 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/City ruins rotate: false - xy: 483, 1594 + xy: 483, 1605 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Customs house rotate: false - xy: 1299, 1730 + xy: 1299, 1741 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Farm rotate: false - xy: 306, 1188 + xy: 306, 1097 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Fishing Boats rotate: false - xy: 306, 780 + xy: 1197, 1561 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Fort rotate: false - xy: 1503, 1526 + xy: 1605, 1537 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Landmark rotate: false - xy: 408, 1084 + xy: 408, 993 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Lumber mill rotate: false - xy: 408, 676 + xy: 510, 1437 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Manufactory rotate: false - xy: 612, 1426 + xy: 510, 1335 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Mine rotate: false - xy: 612, 1120 + xy: 714, 1233 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Moai rotate: false - xy: 816, 1324 + xy: 1020, 1437 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Oil well rotate: false - xy: 510, 712 + xy: 612, 825 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Pasture rotate: false - xy: 918, 1120 + xy: 1020, 1233 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Plantation rotate: false - xy: 816, 814 + xy: 918, 927 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Quarry rotate: false - xy: 918, 712 + xy: 1020, 825 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Railroad rotate: false - xy: 714, 610 + xy: 816, 621 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TileSets/Default/Railroad rotate: false - xy: 714, 610 + xy: 816, 621 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Road rotate: false - xy: 1122, 1040 + xy: 1122, 949 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Terrace farm rotate: false - xy: 1632, 1220 + xy: 1734, 1333 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Trading post rotate: false - xy: 1428, 914 + xy: 1530, 1027 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/America rotate: false - xy: 2, 258 + xy: 2, 269 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/Arabia rotate: false - xy: 1750, 1934 + xy: 1750, 1945 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/Aztecs rotate: false - xy: 1750, 1832 + xy: 1750, 1843 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/Babylon rotate: false - xy: 1852, 1832 + xy: 1852, 1843 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/China rotate: false - xy: 204, 736 + xy: 204, 747 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/CityState rotate: false - xy: 687, 1732 + xy: 687, 1743 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/Denmark rotate: false - xy: 1503, 1730 + xy: 1503, 1741 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/Egypt rotate: false - xy: 1605, 1628 + xy: 1707, 1639 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/England rotate: false - xy: 306, 1392 + xy: 306, 1301 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/France rotate: false - xy: 1605, 1526 + xy: 1707, 1537 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/Germany rotate: false - xy: 1911, 1730 + xy: 1911, 1639 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/Greece rotate: false - xy: 1911, 1526 + xy: 585, 1539 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/Inca rotate: false - xy: 1197, 1448 + xy: 1299, 1435 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/India rotate: false - xy: 1401, 1424 + xy: 1503, 1435 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/Iroquois rotate: false - xy: 1809, 1424 + xy: 1911, 1435 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/Japan rotate: false - xy: 408, 1492 + xy: 408, 1401 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/Korea rotate: false - xy: 408, 1288 + xy: 408, 1197 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/Mongolia rotate: false - xy: 612, 1018 + xy: 714, 1131 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/Persia rotate: false - xy: 714, 814 + xy: 816, 927 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/Polynesia rotate: false - xy: 1020, 1018 + xy: 816, 723 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/Rome rotate: false - xy: 1122, 734 + xy: 1122, 643 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/Russia rotate: false - xy: 1122, 632 + xy: 1224, 1333 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/Siam rotate: false - xy: 1428, 1322 + xy: 1224, 1027 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/Songhai rotate: false - xy: 1530, 1322 + xy: 1224, 925 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/Spain rotate: false - xy: 1224, 914 + xy: 1326, 1027 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/The Ottomans rotate: false - xy: 1734, 1322 + xy: 1224, 721 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 -NotificationIcons/Construction - rotate: false - xy: 2, 1350 - size: 200, 200 - orig: 200, 200 - offset: 0, 0 - index: -1 -StatIcons/Production - rotate: false - xy: 2, 1350 - size: 200, 200 - orig: 200, 200 - offset: 0, 0 - index: -1 -NotificationIcons/Culture - rotate: false - xy: 281, 1596 - size: 200, 200 - orig: 200, 200 - offset: 0, 0 - index: -1 -StatIcons/Culture - rotate: false - xy: 281, 1596 - size: 200, 200 - orig: 200, 200 - offset: 0, 0 - index: -1 -NotificationIcons/Growth - rotate: false - xy: 758, 1834 - size: 200, 200 - orig: 200, 200 - offset: 0, 0 - index: -1 -StatIcons/Population - rotate: false - xy: 758, 1834 - size: 200, 200 - orig: 200, 200 - offset: 0, 0 - index: -1 -NotificationIcons/Science - rotate: false - xy: 2, 744 - size: 200, 200 - orig: 200, 200 - offset: 0, 0 - index: -1 -StatIcons/Science - rotate: false - xy: 2, 744 - size: 200, 200 - orig: 200, 200 - offset: 0, 0 - index: -1 OtherIcons/Aircraft rotate: false - xy: 1224, 658 + xy: 1224, 669 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 OtherIcons/BackArrow rotate: false - xy: 1836, 1270 + xy: 1938, 1383 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 OtherIcons/Banner rotate: false - xy: 104, 156 + xy: 104, 167 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Camera rotate: false - xy: 204, 1144 + xy: 204, 1155 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Circle rotate: false - xy: 1162, 1856 + xy: 1162, 1867 size: 178, 178 orig: 178, 178 offset: 0, 0 index: -1 OtherIcons/Close rotate: false - xy: 789, 1732 + xy: 789, 1743 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Crosshair rotate: false - xy: 1197, 1754 + xy: 1197, 1765 + size: 100, 100 + orig: 100, 100 + offset: 0, 0 + index: -1 +OtherIcons/Diplomacy + rotate: false + xy: 1605, 1741 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/DisbandUnit rotate: false - xy: 1605, 1730 + xy: 1707, 1741 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Down rotate: false - xy: 1582, 866 + xy: 1684, 979 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 OtherIcons/Fire rotate: false - xy: 306, 984 + xy: 306, 893 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Hexagon rotate: false - xy: 2, 1794 + xy: 2, 1805 size: 277, 240 orig: 277, 240 offset: 0, 0 index: -1 OtherIcons/Load rotate: false - xy: 408, 880 + xy: 408, 789 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Lock rotate: false - xy: 408, 778 + xy: 408, 687 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/MapEditor rotate: false - xy: 510, 1324 + xy: 714, 1437 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/MenuIcon rotate: false - xy: 612, 1222 + xy: 714, 1335 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Mods rotate: false - xy: 510, 916 + xy: 612, 1029 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Multiplayer rotate: false - xy: 816, 1222 + xy: 918, 1335 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/New rotate: false - xy: 714, 1018 + xy: 816, 1131 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Options rotate: false - xy: 714, 916 + xy: 816, 1029 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Pentagon rotate: false - xy: 612, 712 + xy: 714, 825 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Pillage rotate: false - xy: 714, 712 - size: 100, 100 - orig: 100, 100 - offset: 0, 0 - index: -1 -NotificationIcons/War - rotate: false - xy: 714, 712 + xy: 816, 825 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Puppet rotate: false - xy: 1020, 916 + xy: 918, 723 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Quest rotate: false - xy: 1020, 814 + xy: 1020, 723 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Quickstart rotate: false - xy: 1020, 712 + xy: 510, 621 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Resume rotate: false - xy: 1122, 1244 + xy: 1122, 1153 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Shield rotate: false - xy: 1326, 1220 + xy: 1428, 1333 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Sleep rotate: false - xy: 1428, 1220 + xy: 1530, 1333 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Star rotate: false - xy: 1530, 1226 + xy: 1632, 1339 size: 100, 94 orig: 100, 94 offset: 0, 0 index: -1 OtherIcons/Stop rotate: false - xy: 1428, 1016 + xy: 1530, 1129 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/TableBackground rotate: false - xy: 1636, 702 + xy: 1380, 615 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 OtherIcons/Triangle rotate: false - xy: 2, 564 + xy: 2, 575 size: 178, 178 orig: 178, 178 offset: 0, 0 index: -1 OtherIcons/Up rotate: false - xy: 1536, 658 + xy: 1634, 823 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 OtherIcons/buttonBackground rotate: false - xy: 510, 1542 + xy: 510, 1553 size: 52, 50 orig: 52, 50 offset: 0, 0 index: -1 OtherIcons/whiteDot rotate: false - xy: 1758, 546 + xy: 310, 73 size: 1, 1 orig: 1, 1 offset: 0, 0 index: -1 PolicyIcons/Aristocracy rotate: false - xy: 1632, 1066 + xy: 1734, 1179 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Citizenship rotate: false - xy: 1328, 658 + xy: 1328, 669 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Civil Society rotate: false - xy: 1530, 866 + xy: 1632, 979 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Collective Rule rotate: false - xy: 1530, 814 + xy: 1632, 927 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Constitution rotate: false - xy: 234, 582 + xy: 234, 593 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Democracy rotate: false - xy: 1582, 918 + xy: 1684, 1031 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Entrepreneurship rotate: false - xy: 1684, 1066 + xy: 1786, 1179 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Fascism rotate: false - xy: 1428, 708 + xy: 1480, 771 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Free Religion rotate: false - xy: 1532, 762 + xy: 1634, 875 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Free Speech rotate: false - xy: 1532, 710 + xy: 1686, 875 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Free Thought rotate: false - xy: 1584, 762 + xy: 206, 541 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Humanism rotate: false - xy: 206, 426 + xy: 206, 333 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Landed Elite rotate: false - xy: 206, 218 + xy: 206, 125 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Legalism rotate: false - xy: 206, 166 + xy: 206, 73 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Mandate Of Heaven rotate: false - xy: 206, 62 + xy: 258, 489 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Mercantilism rotate: false - xy: 258, 426 + xy: 258, 333 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Meritocracy rotate: false - xy: 258, 374 + xy: 258, 281 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Militarism rotate: false - xy: 258, 322 + xy: 258, 229 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Military Caste rotate: false - xy: 258, 270 + xy: 258, 177 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Military Tradition rotate: false - xy: 258, 218 + xy: 258, 125 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Monarchy rotate: false - xy: 258, 114 + xy: 1224, 617 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Oligarchy rotate: false - xy: 1276, 606 + xy: 1990, 1383 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Organized Religion rotate: false - xy: 1328, 606 + xy: 1122, 591 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Patronage rotate: false - xy: 1990, 1372 + xy: 65, 13 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Police State rotate: false - xy: 1122, 580 + xy: 117, 13 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Populism rotate: false - xy: 65, 2 + xy: 169, 13 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Professional Army rotate: false - xy: 117, 2 + xy: 221, 21 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Protectionism rotate: false - xy: 169, 2 + xy: 273, 21 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Reformation rotate: false - xy: 1634, 1014 + xy: 1736, 1023 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Representation rotate: false - xy: 1634, 910 + xy: 1788, 1127 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Republic rotate: false - xy: 1634, 858 + xy: 1788, 1075 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Scientific Revolution rotate: false - xy: 1686, 1014 + xy: 1788, 1023 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Secularism rotate: false - xy: 1686, 910 + xy: 1738, 919 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Sovereignty rotate: false - xy: 1688, 806 + xy: 1380, 667 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Theocracy rotate: false - xy: 1380, 656 + xy: 1484, 667 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Total War rotate: false - xy: 1432, 656 + xy: 1484, 615 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Trade Unions rotate: false - xy: 1380, 604 + xy: 1940, 1331 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Universal Suffrage rotate: false - xy: 1484, 604 + xy: 1992, 1279 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Warrior Code rotate: false - xy: 1588, 650 + xy: 1738, 815 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 ResourceIcons/Aluminum rotate: false - xy: 1546, 1934 + xy: 1546, 1945 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Bananas rotate: false - xy: 104, 360 + xy: 104, 371 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Cattle rotate: false - xy: 204, 940 + xy: 204, 951 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Coal rotate: false - xy: 789, 1630 + xy: 789, 1641 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Cotton rotate: false - xy: 1095, 1630 + xy: 1095, 1641 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Deer rotate: false - xy: 1401, 1730 + xy: 1401, 1741 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Dyes rotate: false - xy: 1707, 1730 + xy: 1809, 1741 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Fish rotate: false - xy: 306, 882 + xy: 306, 791 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Furs rotate: false - xy: 1707, 1526 + xy: 1809, 1537 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Gems rotate: false - xy: 306, 678 + xy: 1911, 1741 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Gold Ore rotate: false - xy: 1911, 1628 + xy: 1911, 1537 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Horses rotate: false - xy: 993, 1528 + xy: 1095, 1539 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Incense rotate: false - xy: 1299, 1424 + xy: 1401, 1435 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Iron rotate: false - xy: 1605, 1424 + xy: 1707, 1435 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Ivory rotate: false - xy: 1911, 1424 + xy: 408, 1503 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Marble rotate: false - xy: 714, 1426 + xy: 510, 1233 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Oil rotate: false - xy: 1020, 1324 + xy: 510, 723 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Pearls rotate: false - xy: 1020, 1222 + xy: 612, 723 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Sheep rotate: false - xy: 1224, 1118 + xy: 1326, 1231 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Silk rotate: false - xy: 1224, 1016 + xy: 1326, 1129 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Silver rotate: false - xy: 1326, 1118 + xy: 1428, 1231 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Spices rotate: false - xy: 1428, 1118 + xy: 1530, 1231 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Stone rotate: false - xy: 1326, 914 + xy: 1428, 1027 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Sugar rotate: false - xy: 1530, 1124 + xy: 1632, 1237 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Uranium rotate: false - xy: 1632, 1118 + xy: 1734, 1231 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Whales rotate: false - xy: 1734, 1220 + xy: 1836, 1333 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Wheat rotate: false - xy: 1836, 1322 + xy: 1326, 721 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Wine rotate: false - xy: 1326, 710 + xy: 1428, 823 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 StatIcons/Acquire rotate: false - xy: 1444, 1934 - size: 100, 100 - orig: 100, 100 - offset: 0, 0 - index: -1 -NotificationIcons/Trade - rotate: false - xy: 1444, 1934 + xy: 1444, 1945 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 StatIcons/CityConnection rotate: false - xy: 585, 1732 + xy: 585, 1743 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 +StatIcons/Culture + rotate: false + xy: 2, 1361 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 StatIcons/Food rotate: false - xy: 556, 1834 + xy: 281, 1607 size: 200, 200 orig: 200, 200 offset: 0, 0 index: -1 StatIcons/Gold rotate: false - xy: 2, 1148 + xy: 556, 1845 size: 200, 200 orig: 200, 200 offset: 0, 0 index: -1 StatIcons/Happiness rotate: false - xy: 2, 946 + xy: 2, 1159 size: 200, 200 orig: 200, 200 offset: 0, 0 index: -1 StatIcons/InterceptRange rotate: false - xy: 206, 322 + xy: 206, 229 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 StatIcons/Malcontent rotate: false - xy: 960, 1834 + xy: 758, 1845 size: 200, 200 orig: 200, 200 offset: 0, 0 index: -1 StatIcons/Movement rotate: false - xy: 1224, 606 + xy: 1328, 617 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 +StatIcons/Population + rotate: false + xy: 2, 957 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 +StatIcons/Production + rotate: false + xy: 960, 1845 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 StatIcons/Range rotate: false - xy: 221, 10 + xy: 1736, 1127 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 StatIcons/RangedStrength rotate: false - xy: 273, 10 + xy: 1736, 1075 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 StatIcons/Resistance rotate: false - xy: 1122, 1346 + xy: 1122, 1255 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 +StatIcons/Science + rotate: false + xy: 2, 755 + size: 200, 200 + orig: 200, 200 + offset: 0, 0 + index: -1 StatIcons/Specialist rotate: false - xy: 1326, 1016 + xy: 1428, 1129 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 StatIcons/Strength rotate: false - xy: 1688, 754 + xy: 1432, 667 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 TechIcons/Acoustics rotate: false - xy: 2, 462 + xy: 2, 473 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Agriculture rotate: false - xy: 2, 360 + xy: 2, 371 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Animal Husbandry rotate: false - xy: 2, 156 + xy: 2, 167 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Archaeology rotate: false - xy: 2, 54 + xy: 2, 65 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Archery rotate: false - xy: 1852, 1934 + xy: 1852, 1945 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Architecture rotate: false - xy: 1342, 1832 + xy: 1342, 1843 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Astronomy rotate: false - xy: 1444, 1832 + xy: 1444, 1843 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Atomic Theory rotate: false - xy: 1648, 1832 + xy: 1648, 1843 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Ballistics rotate: false - xy: 104, 462 + xy: 104, 473 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Banking rotate: false - xy: 104, 258 + xy: 104, 269 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Biology rotate: false - xy: 204, 1450 + xy: 204, 1461 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Bronze Working rotate: false - xy: 204, 1348 + xy: 204, 1359 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Calendar rotate: false - xy: 204, 1246 + xy: 204, 1257 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Chemistry rotate: false - xy: 204, 838 + xy: 204, 849 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Chivalry rotate: false - xy: 182, 634 + xy: 182, 645 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Civil Service rotate: false - xy: 687, 1630 + xy: 687, 1641 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Combined Arms rotate: false - xy: 891, 1732 + xy: 891, 1743 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Combustion rotate: false - xy: 891, 1630 + xy: 891, 1641 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Compass rotate: false - xy: 993, 1732 + xy: 993, 1743 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Computers rotate: false - xy: 993, 1630 + xy: 993, 1641 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Construction rotate: false - xy: 1095, 1732 + xy: 1095, 1743 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Currency rotate: false - xy: 1197, 1652 + xy: 1197, 1663 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Dynamite rotate: false - xy: 1809, 1730 + xy: 1299, 1639 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Ecology rotate: false - xy: 1299, 1628 + xy: 1401, 1639 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Economics rotate: false - xy: 1401, 1628 + xy: 1503, 1639 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Education rotate: false - xy: 1503, 1628 + xy: 1605, 1639 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Electricity rotate: false - xy: 1707, 1628 + xy: 1809, 1639 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Electronics rotate: false - xy: 1809, 1628 + xy: 306, 1505 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Engineering rotate: false - xy: 306, 1494 + xy: 306, 1403 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Fertilizer rotate: false - xy: 306, 1086 + xy: 306, 995 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Flight rotate: false - xy: 1197, 1550 + xy: 1299, 1537 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Future Tech rotate: false - xy: 1809, 1526 + xy: 306, 689 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Guilds rotate: false - xy: 585, 1528 + xy: 687, 1539 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Gunpowder rotate: false - xy: 687, 1528 + xy: 789, 1539 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Horseback Riding rotate: false - xy: 891, 1528 + xy: 993, 1539 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Industrialization rotate: false - xy: 1503, 1424 + xy: 1605, 1435 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Iron Working rotate: false - xy: 1707, 1424 + xy: 1809, 1435 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Lasers rotate: false - xy: 408, 982 + xy: 408, 891 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Machinery rotate: false - xy: 510, 1426 + xy: 612, 1437 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Masonry rotate: false - xy: 612, 1324 + xy: 816, 1437 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Mass Media rotate: false - xy: 816, 1426 + xy: 510, 1131 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Mathematics rotate: false - xy: 510, 1120 + xy: 612, 1233 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Metal Casting rotate: false - xy: 714, 1324 + xy: 918, 1437 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Metallurgy rotate: false - xy: 918, 1426 + xy: 510, 1029 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Military Science rotate: false - xy: 510, 1018 + xy: 612, 1131 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Mining rotate: false - xy: 714, 1222 + xy: 816, 1335 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Mobile Tactics rotate: false - xy: 1020, 1426 + xy: 510, 927 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Nanotechnology rotate: false - xy: 918, 1324 + xy: 510, 825 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Navigation rotate: false - xy: 612, 916 + xy: 714, 1029 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Nuclear Fission rotate: false - xy: 816, 1120 + xy: 918, 1233 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Optics rotate: false - xy: 612, 814 + xy: 714, 927 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Particle Physics rotate: false - xy: 816, 1018 + xy: 918, 1131 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Pharmaceuticals rotate: false - xy: 816, 916 + xy: 918, 1029 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Philosophy rotate: false - xy: 918, 1018 + xy: 1020, 1131 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Physics rotate: false - xy: 1020, 1120 + xy: 714, 723 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Plastics rotate: false - xy: 918, 916 + xy: 1020, 1029 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Pottery rotate: false - xy: 816, 712 + xy: 918, 825 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Printing Press rotate: false - xy: 918, 814 + xy: 1020, 927 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Radar rotate: false - xy: 510, 610 + xy: 612, 621 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Radio rotate: false - xy: 612, 610 + xy: 714, 621 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Railroad rotate: false - xy: 816, 610 + xy: 918, 621 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Refrigeration rotate: false - xy: 918, 610 + xy: 1020, 621 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Replaceable Parts rotate: false - xy: 1020, 610 + xy: 1122, 1357 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Rifling rotate: false - xy: 1122, 1142 + xy: 1122, 1051 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Robotics rotate: false - xy: 1122, 938 + xy: 1122, 847 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Rocketry rotate: false - xy: 1122, 836 + xy: 1122, 745 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Sailing rotate: false - xy: 1224, 1322 + xy: 1224, 1231 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Satellites rotate: false - xy: 1224, 1220 + xy: 1326, 1333 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Scientific Theory rotate: false - xy: 1326, 1322 + xy: 1224, 1129 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Steam Power rotate: false - xy: 1632, 1322 + xy: 1224, 823 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Steel rotate: false - xy: 1224, 812 + xy: 1326, 925 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/The Wheel rotate: false - xy: 1224, 710 + xy: 1326, 823 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Theology rotate: false - xy: 1326, 812 + xy: 1428, 925 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Trapping rotate: false - xy: 1530, 1022 + xy: 1632, 1135 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Writing rotate: false - xy: 1428, 812 + xy: 1530, 925 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TileSets/Default/AtollOverlay rotate: false - xy: 1546, 1832 + xy: 1546, 1843 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TileSets/Default/CityOverlay rotate: false - xy: 585, 1630 + xy: 585, 1641 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TileSets/Default/CrosshatchHexagon rotate: false - xy: 281, 1798 + xy: 281, 1809 size: 273, 236 orig: 273, 236 offset: 0, 0 index: -1 TileSets/FantasyHex/CrosshatchHexagon rotate: false - xy: 281, 1798 + xy: 281, 1809 size: 273, 236 orig: 273, 236 offset: 0, 0 index: -1 TileSets/Default/FalloutOverlay rotate: false - xy: 306, 1290 + xy: 306, 1199 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TileSets/Default/Flood plainsOverlay rotate: false - xy: 1299, 1526 + xy: 1401, 1537 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TileSets/Default/ForestOverlay rotate: false - xy: 1401, 1526 + xy: 1503, 1537 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TileSets/Default/Hexagon rotate: false - xy: 2, 1552 + xy: 2, 1563 size: 277, 240 orig: 277, 240 offset: 0, 0 index: -1 TileSets/FantasyHex/Hexagon rotate: false - xy: 2, 1552 + xy: 2, 1563 size: 277, 240 orig: 277, 240 offset: 0, 0 index: -1 TileSets/Default/HillOverlay rotate: false - xy: 789, 1528 + xy: 891, 1539 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TileSets/Default/IceOverlay rotate: false - xy: 1095, 1528 + xy: 1197, 1459 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TileSets/Default/JungleOverlay rotate: false - xy: 408, 1390 + xy: 408, 1299 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TileSets/Default/LakesOverlay rotate: false - xy: 408, 1186 + xy: 408, 1095 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TileSets/Default/MarshOverlay rotate: false - xy: 510, 1222 + xy: 612, 1335 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TileSets/Default/MountainOverlay rotate: false - xy: 714, 1120 + xy: 816, 1233 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TileSets/Default/NaturalWonderOverlay rotate: false - xy: 510, 814 + xy: 612, 927 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TileSets/Default/OasisOverlay rotate: false - xy: 918, 1222 + xy: 1020, 1335 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TileSets/Default/Tiles/River-Bottom rotate: false - xy: 344, 342 + xy: 1304, 490 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/River-Bottom rotate: false - xy: 344, 342 + xy: 1304, 490 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/Default/Tiles/River-BottomLeft rotate: false - xy: 344, 312 + xy: 1338, 463 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/River-BottomLeft rotate: false - xy: 344, 312 + xy: 1338, 463 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/Default/Tiles/River-BottomRight rotate: false - xy: 344, 282 + xy: 1372, 461 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/River-BottomRight rotate: false - xy: 344, 282 + xy: 1372, 461 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/Default/road rotate: false - xy: 1954, 2023 + xy: 1954, 2034 size: 61, 11 orig: 61, 11 offset: 0, 0 index: -1 TileSets/FantasyHex/road rotate: false - xy: 1954, 2023 + xy: 1954, 2034 size: 61, 11 orig: 61, 11 offset: 0, 0 index: -1 TileSets/FantasyHex/Railroad rotate: false - xy: 2, 41 + xy: 2, 52 size: 61, 11 orig: 61, 11 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Academy rotate: false - xy: 1734, 1130 + xy: 1174, 605 size: 32, 36 orig: 32, 36 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Aluminum rotate: false - xy: 1836, 1240 + xy: 2, 22 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Ancient ruins rotate: false - xy: 1938, 1342 + xy: 1530, 843 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Ancient ruins2 rotate: false - xy: 1174, 602 + xy: 1838, 1199 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Atoll rotate: false - xy: 1622, 620 + xy: 1208, 587 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Bananas rotate: false - xy: 2006, 1342 + xy: 1310, 587 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Barbarian encampment rotate: false - xy: 1656, 620 + xy: 1344, 587 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Barringer Crater rotate: false - xy: 1690, 620 + xy: 1378, 585 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Camp+Deer rotate: false - xy: 1738, 889 + xy: 1924, 1219 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Camp+Furs rotate: false - xy: 1738, 859 + xy: 1958, 1219 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Camp+Ivory rotate: false - xy: 1740, 829 + xy: 1992, 1218 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Cattle rotate: false - xy: 1804, 1108 + xy: 1412, 555 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Cerro de Potosi rotate: false - xy: 1772, 1048 + xy: 1480, 555 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Citadel rotate: false - xy: 1772, 951 + xy: 1532, 776 size: 32, 35 orig: 32, 35 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/City rotate: false - xy: 1772, 914 + xy: 1566, 806 size: 32, 35 orig: 32, 35 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Grassland+City rotate: false - xy: 1772, 914 + xy: 1566, 806 size: 32, 35 orig: 32, 35 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Hill+City rotate: false - xy: 1772, 914 + xy: 1566, 806 size: 32, 35 orig: 32, 35 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/City ruins rotate: false - xy: 1772, 884 + xy: 1600, 813 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/City-Ancient era rotate: false - xy: 1806, 1044 + xy: 1532, 742 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/City-Classical era rotate: false - xy: 1806, 1010 + xy: 1566, 772 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/City-Future era rotate: false - xy: 1806, 974 + xy: 1600, 777 size: 32, 34 orig: 32, 34 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/City-Industrial era rotate: false - xy: 1988, 1832 + xy: 1634, 788 size: 32, 33 orig: 32, 33 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/City-Information era rotate: false - xy: 1806, 936 + xy: 1668, 785 size: 32, 36 orig: 32, 36 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/City-Medieval era rotate: false - xy: 1806, 902 + xy: 1702, 789 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/City-Modern era rotate: false - xy: 1744, 673 + xy: 1566, 736 size: 32, 34 orig: 32, 34 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/City-Renaissance era rotate: false - xy: 1744, 639 + xy: 1600, 743 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Coal rotate: false - xy: 1208, 576 + xy: 1668, 755 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Coast rotate: false - xy: 1242, 576 + xy: 1702, 759 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Coast+Atoll rotate: false - xy: 1276, 576 + xy: 1736, 785 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Coast+Ice rotate: false - xy: 1310, 576 + xy: 1770, 785 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Coast+Oil well rotate: false - xy: 1344, 576 + xy: 1804, 785 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Cotton rotate: false - xy: 1548, 576 + xy: 1702, 729 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Customs house rotate: false - xy: 1622, 583 + xy: 1770, 717 size: 32, 35 orig: 32, 35 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Deer rotate: false - xy: 1656, 590 + xy: 1804, 725 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Desert rotate: false - xy: 1690, 590 + xy: 1600, 713 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Desert+Ancient ruins rotate: false - xy: 1940, 1312 + xy: 1634, 698 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Desert+City rotate: false - xy: 1940, 1277 + xy: 1668, 690 size: 32, 33 orig: 32, 33 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Desert+Fallout rotate: false - xy: 1974, 1312 + xy: 1702, 699 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Desert+Farm rotate: false - xy: 1974, 1282 + xy: 1736, 694 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Desert+Flood plains rotate: false - xy: 2008, 1312 + xy: 1770, 687 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Desert+Flood plains+Ancient ruins rotate: false - xy: 2008, 1282 + xy: 1804, 695 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Desert+Flood plains+Farm rotate: false - xy: 1838, 1210 + xy: 1702, 669 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Desert+Oasis rotate: false - xy: 1838, 1180 + xy: 1736, 664 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Dyes rotate: false - xy: 1906, 1210 + xy: 284, 659 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/El Dorado rotate: false - xy: 1906, 1179 + xy: 318, 658 size: 32, 29 orig: 32, 29 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Fish rotate: false - xy: 1838, 1150 + xy: 352, 659 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Fishing Boats rotate: false - xy: 1872, 1150 + xy: 1840, 1169 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Fishing Boats+Whales rotate: false - xy: 1906, 1149 + xy: 1840, 1139 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Fort rotate: false - xy: 1838, 1085 + xy: 1840, 1074 size: 32, 33 orig: 32, 33 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Fountain of Youth rotate: false - xy: 1872, 1116 + xy: 1840, 1040 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Furs rotate: false - xy: 1906, 1119 + xy: 1840, 980 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Gems rotate: false - xy: 1840, 995 + xy: 1842, 860 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Gold Ore rotate: false - xy: 1840, 965 + xy: 1842, 830 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Grand Mesa rotate: false - xy: 1840, 931 + xy: 1842, 796 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Grassland rotate: false - xy: 1840, 901 + xy: 1838, 766 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Grassland+Fallout rotate: false - xy: 1840, 871 + xy: 1838, 736 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Grassland+Farm rotate: false - xy: 1874, 1056 + xy: 1838, 706 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Grassland+Forest rotate: false - xy: 1874, 1023 + xy: 1838, 673 size: 32, 31 orig: 32, 31 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Grassland+Forest+Aluminum rotate: false - xy: 1874, 990 + xy: 2006, 2001 size: 32, 31 orig: 32, 31 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Grassland+Forest+Camp rotate: false - xy: 1874, 957 + xy: 2006, 1968 size: 32, 31 orig: 32, 31 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Grassland+Forest+Camp+Deer rotate: false - xy: 1874, 924 + xy: 2006, 1935 size: 32, 31 orig: 32, 31 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Grassland+Forest+Camp+Furs rotate: false - xy: 1874, 891 + xy: 2006, 1902 size: 32, 31 orig: 32, 31 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Grassland+Forest+Coal rotate: false - xy: 1908, 1056 + xy: 1804, 632 size: 32, 31 orig: 32, 31 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Grassland+Forest+Gold rotate: false - xy: 1908, 1023 + xy: 1838, 640 size: 32, 31 orig: 32, 31 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Grassland+Forest+Iron rotate: false - xy: 1908, 990 + xy: 1838, 607 size: 32, 31 orig: 32, 31 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Grassland+Forest+Lumber mill rotate: false - xy: 1908, 957 + xy: 386, 654 size: 32, 31 orig: 32, 31 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Grassland+Forest+Silver rotate: false - xy: 1908, 924 + xy: 420, 654 size: 32, 31 orig: 32, 31 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Grassland+Jungle rotate: false - xy: 1908, 890 + xy: 454, 653 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Grassland+Jungle+Trading post rotate: false - xy: 1874, 857 + xy: 352, 625 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Grassland+Marsh rotate: false - xy: 1908, 859 + xy: 386, 623 size: 32, 29 orig: 32, 29 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Great Barrier Reef rotate: false - xy: 1758, 609 + xy: 286, 593 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Hill rotate: false - xy: 2006, 1933 + xy: 310, 230 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Hill+Fallout rotate: false - xy: 2006, 1899 + xy: 310, 196 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Hill+Farm rotate: false - xy: 2006, 1869 + xy: 310, 166 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Hill+Forest rotate: false - xy: 1940, 1247 + xy: 310, 136 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Hill+Forest+Camp rotate: false - xy: 1974, 1252 + xy: 310, 106 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Hill+Forest+Lumber mill rotate: false - xy: 2008, 1252 + xy: 310, 76 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Hill+Forest+Trading post rotate: false - xy: 1940, 1217 + xy: 320, 593 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Hill+Marble+Quarry rotate: false - xy: 1974, 1222 + xy: 325, 46 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Hill+Mine rotate: false - xy: 1940, 1187 + xy: 325, 16 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Hill+Stone+Quarry rotate: false - xy: 1974, 1192 + xy: 344, 563 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Hill+Terrace farm rotate: false - xy: 2008, 1222 + xy: 344, 533 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Horses rotate: false - xy: 1940, 1127 + xy: 344, 413 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Incense rotate: false - xy: 2008, 1132 + xy: 344, 262 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Iron rotate: false - xy: 1942, 1067 + xy: 344, 202 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Ivory rotate: false - xy: 1942, 1007 + xy: 344, 142 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Krakatoa rotate: false - xy: 1976, 1069 + xy: 378, 561 size: 32, 30 orig: 32, 30 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Lakes rotate: false - xy: 1976, 1009 + xy: 378, 501 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Landmark rotate: false - xy: 1976, 911 + xy: 378, 403 size: 32, 36 orig: 32, 36 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Manufactory rotate: false - xy: 2010, 881 + xy: 378, 152 size: 32, 39 orig: 32, 39 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Marble rotate: false - xy: 2010, 851 + xy: 378, 92 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Mine rotate: false - xy: 1724, 546 + xy: 488, 591 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Moai rotate: false - xy: 1908, 828 + xy: 590, 590 size: 32, 29 orig: 32, 29 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Mount Fuji rotate: false - xy: 2013, 1800 + xy: 726, 589 size: 32, 30 orig: 32, 30 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Mountain rotate: false - xy: 2013, 1762 + xy: 760, 583 size: 32, 36 orig: 32, 36 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Ocean rotate: false - xy: 2013, 1582 + xy: 964, 591 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Ocean+Atoll rotate: false - xy: 2013, 1552 + xy: 998, 591 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Ocean+Ice rotate: false - xy: 2013, 1522 + xy: 1032, 591 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Oil rotate: false - xy: 2013, 1492 + xy: 1066, 591 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Oil well rotate: false - xy: 2013, 1462 + xy: 794, 561 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Old Faithful rotate: false - xy: 2013, 1428 + xy: 828, 557 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Pasture rotate: false - xy: 1718, 486 + xy: 930, 561 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Pasture+Cattle rotate: false - xy: 420, 642 + xy: 998, 557 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Pasture+Horses rotate: false - xy: 454, 642 + xy: 1032, 557 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Pasture+Sheep rotate: false - xy: 1752, 512 + xy: 1066, 557 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Pasture2 rotate: false - xy: 386, 646 + xy: 964, 561 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Pearls rotate: false - xy: 352, 618 + xy: 1134, 561 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plains rotate: false - xy: 286, 582 + xy: 1270, 527 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plains+City rotate: false - xy: 310, 545 + xy: 1304, 520 size: 32, 35 orig: 32, 35 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plains+Fallout rotate: false - xy: 310, 515 + xy: 1338, 527 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plains+Farm rotate: false - xy: 310, 485 + xy: 1372, 525 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plains+Forest rotate: false - xy: 310, 451 + xy: 1406, 521 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plains+Forest+Camp rotate: false - xy: 310, 417 + xy: 1440, 521 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plains+Forest+Lumber mill rotate: false - xy: 310, 383 + xy: 1474, 521 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plains+Jungle rotate: false - xy: 310, 349 + xy: 1508, 521 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plains+Jungle+Ancient ruins rotate: false - xy: 310, 315 + xy: 1338, 493 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plains+Jungle+Trading post rotate: false - xy: 310, 281 + xy: 1372, 491 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plantation rotate: false - xy: 310, 251 + xy: 1406, 491 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plantation+Bananas rotate: false - xy: 310, 221 + xy: 1440, 491 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plantation+Cotton rotate: false - xy: 310, 191 + xy: 1474, 491 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plantation+Dyes rotate: false - xy: 310, 161 + xy: 1508, 491 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plantation+Incense rotate: false - xy: 310, 131 + xy: 862, 531 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plantation+Silk rotate: false - xy: 310, 101 + xy: 896, 531 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plantation+Spices rotate: false - xy: 310, 71 + xy: 930, 531 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plantation+Sugar rotate: false - xy: 320, 582 + xy: 964, 531 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plantation+Wine rotate: false - xy: 325, 41 + xy: 998, 527 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Polder rotate: false - xy: 325, 11 + xy: 1032, 527 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Quarry rotate: false - xy: 344, 492 + xy: 1134, 531 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Quarry+Marble rotate: false - xy: 344, 462 + xy: 1168, 515 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Quarry+Stone rotate: false - xy: 344, 432 + xy: 1202, 497 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Rock of Gibraltar rotate: false - xy: 344, 248 + xy: 1406, 457 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Sheep rotate: false - xy: 354, 582 + xy: 1168, 485 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Silk rotate: false - xy: 378, 491 + xy: 1270, 467 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Silver rotate: false - xy: 378, 461 + xy: 1304, 460 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Snow rotate: false - xy: 378, 369 + xy: 1406, 427 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Snow+Academy rotate: false - xy: 378, 332 + xy: 1440, 424 size: 32, 35 orig: 32, 35 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Snow+Ancient ruins rotate: false - xy: 378, 302 + xy: 1474, 431 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Snow+Barbarian encampment rotate: false - xy: 378, 271 + xy: 1508, 430 size: 32, 29 orig: 32, 29 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Snow+Citadel rotate: false - xy: 378, 239 + xy: 1474, 399 size: 32, 30 orig: 32, 30 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Snow+Farm rotate: false - xy: 378, 209 + xy: 1508, 400 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Spices rotate: false - xy: 378, 149 + xy: 1542, 495 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Stone rotate: false - xy: 378, 119 + xy: 1542, 465 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Sugar rotate: false - xy: 388, 582 + xy: 1542, 435 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Trading post rotate: false - xy: 412, 462 + xy: 624, 561 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Tundra rotate: false - xy: 412, 372 + xy: 726, 559 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Tundra+Ancient ruins rotate: false - xy: 412, 342 + xy: 760, 553 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Tundra+Citadel rotate: false - xy: 412, 307 + xy: 286, 623 size: 32, 33 orig: 32, 33 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Tundra+City rotate: false - xy: 412, 270 + xy: 794, 524 size: 32, 35 orig: 32, 35 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Tundra+Fallout rotate: false - xy: 412, 240 + xy: 828, 527 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Tundra+Farm rotate: false - xy: 412, 210 + xy: 862, 501 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Tundra+Forest rotate: false - xy: 412, 176 + xy: 896, 497 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Tundra+Forest+Camp rotate: false - xy: 412, 142 + xy: 930, 497 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Tundra+Forest+Camp+Deer rotate: false - xy: 456, 578 + xy: 964, 497 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Tundra+Forest+Camp+Furs rotate: false - xy: 446, 544 + xy: 998, 493 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Tundra+Forest+Lumber mill rotate: false - xy: 446, 510 + xy: 1032, 493 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Uranium rotate: false - xy: 446, 450 + xy: 828, 497 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Whales rotate: false - xy: 446, 302 + xy: 998, 463 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Wheat rotate: false - xy: 446, 272 + xy: 1032, 463 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Wine rotate: false - xy: 446, 242 + xy: 1066, 467 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/TopBorder rotate: false - xy: 412, 492 + xy: 1542, 345 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/African Forest Elephant rotate: false - xy: 1954, 1836 + xy: 1954, 1847 size: 32, 29 orig: 32, 29 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Anti-Aircraft Gun rotate: false - xy: 2, 11 + xy: 1890, 1251 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Anti-Tank Gun rotate: false - xy: 1588, 620 + xy: 1564, 843 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Archer rotate: false - xy: 1768, 1138 + xy: 1598, 843 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Artillery rotate: false - xy: 1870, 1240 + xy: 1890, 1221 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Atlatlist rotate: false - xy: 1972, 1342 + xy: 1174, 575 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Axe Thrower rotate: false - xy: 1802, 1138 + xy: 1242, 587 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Ballista rotate: false - xy: 1904, 1240 + xy: 1276, 587 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Battering Ram rotate: false - xy: 1174, 572 + xy: 1412, 585 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Battleship rotate: false - xy: 1736, 1100 + xy: 1446, 585 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Bazooka rotate: false - xy: 1736, 1070 + xy: 1480, 585 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Berber Cavalry rotate: false - xy: 1738, 1040 + xy: 1514, 585 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Berserker rotate: false - xy: 1738, 1010 + xy: 1988, 1848 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Bowman rotate: false - xy: 1738, 980 + xy: 1924, 1249 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Brute rotate: false - xy: 1738, 950 + xy: 1958, 1249 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Camel Archer rotate: false - xy: 1738, 919 + xy: 1992, 1248 size: 32, 29 orig: 32, 29 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Cannon rotate: false - xy: 1740, 799 + xy: 1208, 557 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Caravel rotate: false - xy: 1740, 769 + xy: 1242, 557 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Carolean rotate: false - xy: 1740, 739 + xy: 1276, 557 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Carrier rotate: false - xy: 1740, 709 + xy: 1310, 557 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Cataphract rotate: false - xy: 1770, 1108 + xy: 1344, 557 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Catapult rotate: false - xy: 1770, 1078 + xy: 1378, 555 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Cavalry rotate: false - xy: 1804, 1078 + xy: 1446, 555 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Chariot Archer rotate: false - xy: 1772, 1018 + xy: 1514, 555 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Chu-Ko-Nu rotate: false - xy: 1772, 988 + xy: 1532, 813 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/CivilianLandUnit rotate: false - xy: 1806, 872 + xy: 1634, 758 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Comanche Rider rotate: false - xy: 1378, 573 + xy: 1736, 754 size: 32, 29 orig: 32, 29 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Companion Cavalry rotate: false - xy: 1412, 573 + xy: 1770, 754 size: 32, 29 orig: 32, 29 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Composite Bowman rotate: false - xy: 1446, 574 + xy: 1804, 755 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Conquistador rotate: false - xy: 1480, 574 + xy: 1634, 728 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Cossack rotate: false - xy: 1514, 574 + xy: 1668, 725 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Crossbowman rotate: false - xy: 1588, 590 + xy: 1736, 724 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Cruiser rotate: false - xy: 1122, 1448 + xy: 1122, 1459 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Destroyer rotate: false - xy: 1872, 1210 + xy: 1770, 657 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Dromon rotate: false - xy: 1872, 1180 + xy: 1804, 665 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Foreign Legion rotate: false - xy: 1838, 1120 + xy: 1840, 1109 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Frigate rotate: false - xy: 1872, 1086 + xy: 1840, 1010 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Galleass rotate: false - xy: 1906, 1089 + xy: 1842, 950 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Galley rotate: false - xy: 1840, 1055 + xy: 1842, 920 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Gatling Gun rotate: false - xy: 1840, 1025 + xy: 1842, 890 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Great Admiral rotate: false - xy: 1724, 606 + xy: 420, 621 size: 32, 31 orig: 32, 31 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Great Artist rotate: false - xy: 1724, 576 + xy: 454, 623 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Great Engineer rotate: false - xy: 1758, 579 + xy: 310, 563 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Great Galleass rotate: false - xy: 284, 648 + xy: 310, 533 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Great General rotate: false - xy: 318, 645 + xy: 310, 500 size: 32, 31 orig: 32, 31 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Great Merchant rotate: false - xy: 352, 648 + xy: 310, 470 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Great Musician rotate: false - xy: 1582, 560 + xy: 310, 440 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Great Prophet rotate: false - xy: 1548, 546 + xy: 310, 410 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Great Scientist rotate: false - xy: 1616, 553 + xy: 310, 380 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Great War Infantry rotate: false - xy: 1582, 530 + xy: 310, 350 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Great Writer rotate: false - xy: 1616, 523 + xy: 310, 320 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Hakkapeliitta rotate: false - xy: 2006, 1993 + xy: 310, 290 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Helicopter Gunship rotate: false - xy: 2006, 1963 + xy: 310, 260 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Hoplite rotate: false - xy: 1940, 1157 + xy: 344, 503 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Horse Archer rotate: false - xy: 1974, 1162 + xy: 344, 473 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Horseman rotate: false - xy: 2008, 1192 + xy: 344, 443 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Hussar rotate: false - xy: 1974, 1131 + xy: 344, 382 size: 32, 29 orig: 32, 29 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Hwach'a rotate: false - xy: 2008, 1162 + xy: 344, 352 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Immortal rotate: false - xy: 1940, 1097 + xy: 344, 322 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Impi rotate: false - xy: 1974, 1101 + xy: 344, 292 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Infantry rotate: false - xy: 2008, 1102 + xy: 344, 232 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Ironclad rotate: false - xy: 1942, 1037 + xy: 344, 172 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Jaguar rotate: false - xy: 1942, 977 + xy: 344, 112 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Janissary rotate: false - xy: 1942, 947 + xy: 344, 82 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Keshik rotate: false - xy: 1942, 917 + xy: 354, 593 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Khan rotate: false - xy: 1942, 884 + xy: 359, 49 size: 32, 31 orig: 32, 31 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Knight rotate: false - xy: 1942, 854 + xy: 359, 19 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Kris Swordsman rotate: false - xy: 1976, 1039 + xy: 378, 531 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Lancer rotate: false - xy: 1976, 979 + xy: 378, 471 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/LandUnit rotate: false - xy: 1976, 949 + xy: 378, 441 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Landship rotate: false - xy: 1976, 881 + xy: 378, 373 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Landsknecht rotate: false - xy: 2010, 1072 + xy: 378, 343 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Legion rotate: false - xy: 2010, 1042 + xy: 378, 313 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Longbowman rotate: false - xy: 2010, 1012 + xy: 378, 283 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Longswordsman rotate: false - xy: 2010, 982 + xy: 378, 253 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Machine Gun rotate: false - xy: 2010, 952 + xy: 378, 223 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Mandekalu Cavalry rotate: false - xy: 2010, 922 + xy: 378, 193 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Maori Warrior rotate: false - xy: 1976, 851 + xy: 378, 122 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Marine rotate: false - xy: 1656, 560 + xy: 393, 62 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Mechanized Infantry rotate: false - xy: 1690, 560 + xy: 393, 32 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Mehal Sefari rotate: false - xy: 1650, 530 + xy: 393, 2 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Merchant Of Venice rotate: false - xy: 1684, 530 + xy: 454, 593 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Minuteman rotate: false - xy: 1758, 549 + xy: 522, 591 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Missile Cruiser rotate: false - xy: 1718, 516 + xy: 556, 591 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Mobile SAM rotate: false - xy: 1942, 824 + xy: 624, 591 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Modern Armor rotate: false - xy: 1976, 821 + xy: 658, 591 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Mohawk Warrior rotate: false - xy: 2010, 821 + xy: 692, 591 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Musketeer rotate: false - xy: 2013, 1732 + xy: 794, 591 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Musketman rotate: false - xy: 2013, 1702 + xy: 828, 591 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Naresuan's Elephant rotate: false - xy: 2013, 1672 + xy: 862, 591 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Nau rotate: false - xy: 2013, 1642 + xy: 896, 591 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Norwegian Ski Infantry rotate: false - xy: 2013, 1612 + xy: 930, 591 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Panzer rotate: false - xy: 1650, 500 + xy: 862, 561 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Paratrooper rotate: false - xy: 1684, 500 + xy: 896, 561 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Pathfinder rotate: false - xy: 1752, 482 + xy: 1100, 561 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Persian Immortal rotate: false - xy: 386, 616 + xy: 1168, 545 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Pictish Warrior rotate: false - xy: 420, 612 + xy: 1202, 527 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Pikeman rotate: false - xy: 454, 612 + xy: 1236, 527 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Pracinha rotate: false - xy: 344, 552 + xy: 1066, 527 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Privateer rotate: false - xy: 344, 522 + xy: 1100, 531 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Quinquereme rotate: false - xy: 344, 402 + xy: 1236, 497 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Rifleman rotate: false - xy: 344, 372 + xy: 1270, 497 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Rocket Artillery rotate: false - xy: 344, 218 + xy: 1440, 461 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Samurai rotate: false - xy: 344, 188 + xy: 1474, 461 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Scout rotate: false - xy: 344, 158 + xy: 1508, 461 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Sea Beggar rotate: false - xy: 344, 128 + xy: 1100, 501 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Settler rotate: false - xy: 344, 97 + xy: 1134, 500 size: 32, 29 orig: 32, 29 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Ship of the Line rotate: false - xy: 378, 551 + xy: 1202, 466 size: 32, 29 orig: 32, 29 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Siege Tower rotate: false - xy: 378, 521 + xy: 1236, 467 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Sipahi rotate: false - xy: 378, 429 + xy: 1338, 431 size: 32, 30 orig: 32, 30 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Slinger rotate: false - xy: 378, 399 + xy: 1372, 431 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Spearman rotate: false - xy: 378, 179 + xy: 1542, 525 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Submarine rotate: false - xy: 1156, 1448 + xy: 1156, 1459 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Swordsman rotate: false - xy: 422, 582 + xy: 1542, 405 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Tank rotate: false - xy: 412, 552 + xy: 1542, 375 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Tercio rotate: false - xy: 412, 522 + xy: 1508, 370 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Trebuchet rotate: false - xy: 412, 432 + xy: 658, 561 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Trireme rotate: false - xy: 412, 402 + xy: 692, 561 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Turtle Ship rotate: false - xy: 446, 480 + xy: 1066, 497 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/War Chariot rotate: false - xy: 446, 420 + xy: 862, 471 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/War Elephant rotate: false - xy: 446, 390 + xy: 896, 467 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Warrior rotate: false - xy: 446, 360 + xy: 930, 467 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/WaterUnit rotate: false - xy: 446, 332 + xy: 964, 469 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Winged Hussar rotate: false - xy: 446, 212 + xy: 1100, 471 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Work Boats rotate: false - xy: 446, 182 + xy: 1134, 470 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Worker rotate: false - xy: 446, 152 + xy: 1168, 455 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 UnitPromotionIcons/Accuracy rotate: false - xy: 182, 582 + xy: 182, 593 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Air Repair rotate: false - xy: 1122, 1476 + xy: 1122, 1487 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Ambush rotate: false - xy: 1530, 970 + xy: 1632, 1083 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Armor Plating rotate: false - xy: 1734, 1168 + xy: 1836, 1281 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Barrage rotate: false - xy: 1938, 1372 + xy: 1428, 771 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Besiege rotate: false - xy: 1428, 760 + xy: 1530, 873 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Siege rotate: false - xy: 1428, 760 + xy: 1530, 873 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Blitz rotate: false - xy: 1954, 1971 + xy: 1954, 1982 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Boarding Party rotate: false - xy: 1276, 658 + xy: 1276, 669 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Bombardment rotate: false - xy: 1530, 918 + xy: 1632, 1031 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Charge rotate: false - xy: 1954, 1919 + xy: 1954, 1930 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Coastal Raider rotate: false - xy: 1954, 1867 + xy: 1954, 1878 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Cover rotate: false - xy: 1582, 970 + xy: 1684, 1083 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Discipline rotate: false - xy: 1582, 970 + xy: 1684, 1083 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Drill rotate: false - xy: 1582, 814 + xy: 1684, 927 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Evasion rotate: false - xy: 1786, 1168 + xy: 1888, 1281 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Extended Range rotate: false - xy: 1888, 1270 + xy: 1428, 719 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Operational Range rotate: false - xy: 1888, 1270 + xy: 1428, 719 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Flight Deck rotate: false - xy: 1480, 760 + xy: 1480, 719 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Formation rotate: false - xy: 1480, 708 + xy: 1582, 873 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Great Generals rotate: false - xy: 1584, 710 + xy: 206, 489 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Quick Study rotate: false - xy: 1584, 710 + xy: 206, 489 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Haka War Dance rotate: false - xy: 206, 530 + xy: 206, 437 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Heal Instantly rotate: false - xy: 206, 478 + xy: 206, 385 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Indirect Fire rotate: false - xy: 206, 374 + xy: 206, 281 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Interception rotate: false - xy: 206, 270 + xy: 206, 177 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Logistics rotate: false - xy: 206, 114 + xy: 258, 541 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/March rotate: false - xy: 258, 530 + xy: 258, 437 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Medic rotate: false - xy: 258, 478 + xy: 258, 385 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Mobility rotate: false - xy: 258, 166 + xy: 258, 73 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Morale rotate: false - xy: 258, 62 + xy: 1276, 617 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Rejuvenation rotate: false - xy: 1634, 962 + xy: 1736, 971 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Scouting rotate: false - xy: 1686, 962 + xy: 1788, 971 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Sentry rotate: false - xy: 1686, 962 + xy: 1788, 971 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Shock rotate: false - xy: 1686, 858 + xy: 1790, 919 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Slinger Withdraw rotate: false - xy: 1636, 806 + xy: 1738, 867 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Sortie rotate: false - xy: 1636, 754 + xy: 1790, 867 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Targeting rotate: false - xy: 1688, 702 + xy: 1432, 615 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Targeting I (air) rotate: false - xy: 1688, 702 + xy: 1432, 615 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Volley rotate: false - xy: 1536, 606 + xy: 1686, 823 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Wolfpack rotate: false - xy: 1640, 650 + xy: 1790, 815 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Woodsman rotate: false - xy: 1692, 650 + xy: 1838, 1229 size: 50, 50 orig: 50, 50 offset: 0, 0 diff --git a/android/assets/game.png b/android/assets/game.png index e7ba492a58..b865870fbf 100644 Binary files a/android/assets/game.png and b/android/assets/game.png differ diff --git a/android/assets/jsons/translations/template.properties b/android/assets/jsons/translations/template.properties index a089b1c937..b3eeb954d3 100644 --- a/android/assets/jsons/translations/template.properties +++ b/android/assets/jsons/translations/template.properties @@ -376,7 +376,6 @@ A [greatPerson] has been born in [cityName]! = We have encountered [civName]! = Cannot provide unit upkeep for [unitName] - unit has been disbanded! = [cityName] has grown! = -[cityName] has been founded! = [cityName] is starving! = [construction] has been built in [cityName] = [wonder] has been built in a faraway land = diff --git a/core/src/com/unciv/logic/GameInfo.kt b/core/src/com/unciv/logic/GameInfo.kt index e1b3e6f5d9..45da844c2b 100644 --- a/core/src/com/unciv/logic/GameInfo.kt +++ b/core/src/com/unciv/logic/GameInfo.kt @@ -167,7 +167,7 @@ class GameInfo { if (tiles.size < 3) { for (tile in tiles) { val unitName = tile.militaryUnit!!.name - thisPlayer.addNotification("An enemy [$unitName] was spotted $inOrNear our territory", tile.position, NotificationIcon.War) + thisPlayer.addNotification("An enemy [$unitName] was spotted $inOrNear our territory", tile.position, NotificationIcon.War, unitName) } } else { val positions = tiles.map { it.position } @@ -247,7 +247,7 @@ class GameInfo { it.hasUnique("Notified of new Barbarian encampments") && it.exploredTiles.contains(tile.position) } - .forEach { it.addNotification("A new barbarian encampment has spawned!", tile.position, Color.RED) } + .forEach { it.addNotification("A new barbarian encampment has spawned!", tile.position, NotificationIcon.War) } } // All cross-game data which needs to be altered (e.g. when removing or changing a name of a building/tech) diff --git a/core/src/com/unciv/logic/automation/UnitAutomation.kt b/core/src/com/unciv/logic/automation/UnitAutomation.kt index e4a553a1b5..8e6373ef32 100644 --- a/core/src/com/unciv/logic/automation/UnitAutomation.kt +++ b/core/src/com/unciv/logic/automation/UnitAutomation.kt @@ -474,7 +474,7 @@ object UnitAutomation { if (tryGoToRuinAndEncampment(unit) && unit.currentMovement == 0f) return if (unit.health < 80 && tryHealUnit(unit)) return if (tryExplore(unit)) return - unit.civInfo.addNotification("[${unit.displayName()}] finished exploring.", unit.currentTile.position, Color.GRAY) + unit.civInfo.addNotification("[${unit.displayName()}] finished exploring.", unit.currentTile.position, unit.name, "OtherIcons/Sleep") unit.action = null } diff --git a/core/src/com/unciv/logic/automation/WorkerAutomation.kt b/core/src/com/unciv/logic/automation/WorkerAutomation.kt index a42754d4e2..cdc0ec6c2c 100644 --- a/core/src/com/unciv/logic/automation/WorkerAutomation.kt +++ b/core/src/com/unciv/logic/automation/WorkerAutomation.kt @@ -56,7 +56,7 @@ class WorkerAutomation(val unit: MapUnit) { return } - unit.civInfo.addNotification("[${unit.displayName()}] has no work to do.", unit.currentTile.position, Color.GRAY) + unit.civInfo.addNotification("[${unit.displayName()}] has no work to do.", unit.currentTile.position, unit.name, "OtherIcons/Sleep") } diff --git a/core/src/com/unciv/logic/city/CityConstructions.kt b/core/src/com/unciv/logic/city/CityConstructions.kt index a1e6f2b0d1..d8ae985e6b 100644 --- a/core/src/com/unciv/logic/city/CityConstructions.kt +++ b/core/src/com/unciv/logic/city/CityConstructions.kt @@ -309,12 +309,17 @@ class CityConstructions { cityInfo.civInfo.popupAlerts.add(PopupAlert(AlertType.WonderBuilt, construction.name)) for (civ in cityInfo.civInfo.gameInfo.civilizations) { if (civ.exploredTiles.contains(cityInfo.location)) - civ.addNotification("[${construction.name}] has been built in [${cityInfo.name}]", cityInfo.location, NotificationIcon.Construction, buildingIcon) + civ.addNotification("[${construction.name}] has been built in [${cityInfo.name}]", + cityInfo.location, NotificationIcon.Construction, buildingIcon) else civ.addNotification("[${construction.name}] has been built in a faraway land", buildingIcon) } - } else - cityInfo.civInfo.addNotification("[${construction.name}] has been built in [" + cityInfo.name + "]", cityInfo.location, NotificationIcon.Construction, buildingIcon) + } else { + val icon = if (construction is Building) buildingIcon else construction.name // could be a unit, in which case take the unit name. + cityInfo.civInfo.addNotification("[${construction.name}] has been built in [" + cityInfo.name + "]", + cityInfo.location, NotificationIcon.Construction, icon) + } + } fun addBuilding(buildingName: String) { diff --git a/core/src/com/unciv/logic/city/CityInfo.kt b/core/src/com/unciv/logic/city/CityInfo.kt index fe9e2ce68d..ce3da61932 100644 --- a/core/src/com/unciv/logic/city/CityInfo.kt +++ b/core/src/com/unciv/logic/city/CityInfo.kt @@ -6,6 +6,7 @@ import com.unciv.Constants import com.unciv.UncivGame import com.unciv.logic.battle.Battle import com.unciv.logic.civilization.CivilizationInfo +import com.unciv.logic.civilization.NotificationIcon import com.unciv.logic.civilization.diplomacy.DiplomacyFlags import com.unciv.logic.civilization.diplomacy.DiplomaticModifiers import com.unciv.logic.civilization.diplomacy.DiplomaticStatus @@ -96,7 +97,6 @@ class CityInfo { civInfo.citiesCreated++ civInfo.cities = civInfo.cities.toMutableList().apply { add(this@CityInfo) } - civInfo.addNotification("[$name] has been founded!", cityLocation, Color.PURPLE) if (civInfo.cities.size == 1) cityConstructions.addBuilding(capitalCityIndicator()) @@ -345,7 +345,7 @@ class CityInfo { if (isInResistance()) { resistanceCounter-- if (!isInResistance()) - civInfo.addNotification("The resistance in [$name] has ended!", location, Color.YELLOW) + civInfo.addNotification("The resistance in [$name] has ended!", location, "StatIons/Resistance") } if (isPuppet) reassignPopulation() @@ -374,7 +374,7 @@ class CityInfo { if (isBeingRazed) { population.population-- if (population.population <= 0) { // there are strange cases where we get to -1 - civInfo.addNotification("[$name] has been razed to the ground!", location, Color.RED) + civInfo.addNotification("[$name] has been razed to the ground!", location, "OtherIcons/Fire") destroyCity() } else { //if not razed yet: if (population.foodStored >= population.getFoodToNextPopulation()) { //if surplus in the granary... @@ -425,7 +425,7 @@ class CityInfo { // Gain gold for plundering city val goldPlundered = getGoldForCapturingCity(conqueringCiv) conqueringCiv.gold += goldPlundered - conqueringCiv.addNotification("Received [$goldPlundered] Gold for capturing [$name]", centerTileInfo.position, Color.GOLD) + conqueringCiv.addNotification("Received [$goldPlundered] Gold for capturing [$name]", centerTileInfo.position, NotificationIcon.Gold) val oldCiv = civInfo val reconqueredOurCity = previousOwner == conqueringCiv.civName diff --git a/core/src/com/unciv/logic/civilization/CivInfoTransientUpdater.kt b/core/src/com/unciv/logic/civilization/CivInfoTransientUpdater.kt index ffd028a9ff..475efa008e 100644 --- a/core/src/com/unciv/logic/civilization/CivInfoTransientUpdater.kt +++ b/core/src/com/unciv/logic/civilization/CivInfoTransientUpdater.kt @@ -129,11 +129,11 @@ class CivInfoTransientUpdater(val civInfo: CivilizationInfo) { if (!initialSetup) { // In the initial setup we're loading an old game state, so it doesn't really count for (city in citiesReachedToMediums.keys) if (city !in civInfo.citiesConnectedToCapitalToMediums && city.civInfo == civInfo && city != civInfo.getCapital()) - civInfo.addNotification("[${city.name}] has been connected to your capital!", city.location, Color.GOLD) + civInfo.addNotification("[${city.name}] has been connected to your capital!", city.location, NotificationIcon.Gold) for (city in civInfo.citiesConnectedToCapitalToMediums.keys) if (!citiesReachedToMediums.containsKey(city) && city.civInfo == civInfo) - civInfo.addNotification("[${city.name}] has been disconnected from your capital!", city.location, Color.GOLD) + civInfo.addNotification("[${city.name}] has been disconnected from your capital!", city.location, NotificationIcon.Gold) } civInfo.citiesConnectedToCapitalToMediums = citiesReachedToMediums diff --git a/core/src/com/unciv/logic/civilization/CivilizationInfo.kt b/core/src/com/unciv/logic/civilization/CivilizationInfo.kt index da8c00ae7c..dc478e8a38 100644 --- a/core/src/com/unciv/logic/civilization/CivilizationInfo.kt +++ b/core/src/com/unciv/logic/civilization/CivilizationInfo.kt @@ -548,11 +548,6 @@ class CivilizationInfo { return (diplomacyManager.hasOpenBorders || diplomacyManager.diplomaticStatus == DiplomaticStatus.War) } - fun addNotification(text: String, location: Vector2?, color: Color) { - val locations = if (location != null) listOf(location) else emptyList() - if (playerType == PlayerType.AI) return // no point in lengthening the saved game info if no one will read it - notifications.add(Notification(text, color, LocationAction(locations))) - } fun addNotification(text: String, location: Vector2, vararg notificationIcons: String) { addNotification(text, LocationAction(listOf(location)), *notificationIcons) @@ -573,7 +568,7 @@ class CivilizationInfo { val unit = getEquivalentUnit(unitName) placeUnitNearTile(cityToAddTo.location, unit.name) if (unit.isGreatPerson()) - addNotification("A [${unit.name}] has been born in [${cityToAddTo.name}]!", cityToAddTo.location, Color.GOLD) + addNotification("A [${unit.name}] has been born in [${cityToAddTo.name}]!", cityToAddTo.location, unit.name) } fun placeUnitNearTile(location: Vector2, unitName: String): MapUnit? { @@ -590,7 +585,7 @@ class CivilizationInfo { val destructionText = if (isMajorCiv()) "The civilization of [$civName] has been destroyed!" else "The City-State of [$civName] has been destroyed!" for (civ in gameInfo.civilizations) - civ.addNotification(destructionText, null, Color.RED) + civ.addNotification(destructionText, civName, NotificationIcon.Death) getCivUnits().forEach { it.destroy() } tradeRequests.clear() // if we don't do this then there could be resources taken by "pending" trades forever for (diplomacyManager in diplomacy.values) { @@ -634,7 +629,7 @@ class CivilizationInfo { .filter { !it.unitType.isCivilian() && it.unitType.isLandUnit() } .toList().random() placeUnitNearTile(city.location, militaryUnit.name) - addNotification("[${otherCiv.civName}] gave us a [${militaryUnit.name}] as gift near [${city.name}]!", null, Color.GREEN) + addNotification("[${otherCiv.civName}] gave us a [${militaryUnit.name}] as gift near [${city.name}]!", city.location, otherCiv.civName, militaryUnit.name) } fun getAllyCiv() = allyCivName @@ -659,13 +654,17 @@ class CivilizationInfo { if (newAllyName != "") { val newAllyCiv = gameInfo.getCivilization(newAllyName) - newAllyCiv.addNotification("We have allied with [${civName}].", capitalLocation, Color.GREEN) + val text = "We have allied with [${civName}]." + if (capitalLocation != null) newAllyCiv.addNotification(text, capitalLocation, civName, NotificationIcon.Diplomacy) + else newAllyCiv.addNotification(text, civName, NotificationIcon.Diplomacy) newAllyCiv.updateViewableTiles() newAllyCiv.updateDetailedCivResources() } if (oldAllyName != "") { val oldAllyCiv = gameInfo.getCivilization(oldAllyName) - oldAllyCiv.addNotification("We have lost alliance with [${civName}].", capitalLocation, Color.RED) + val text = "We have lost alliance with [${civName}]." + if (capitalLocation != null) oldAllyCiv.addNotification(text, capitalLocation, civName, NotificationIcon.Diplomacy) + else oldAllyCiv.addNotification(text, civName, NotificationIcon.Diplomacy) oldAllyCiv.updateViewableTiles() oldAllyCiv.updateDetailedCivResources() } diff --git a/core/src/com/unciv/logic/civilization/GoldenAgeManager.kt b/core/src/com/unciv/logic/civilization/GoldenAgeManager.kt index d2ba2557a5..a58d944b66 100644 --- a/core/src/com/unciv/logic/civilization/GoldenAgeManager.kt +++ b/core/src/com/unciv/logic/civilization/GoldenAgeManager.kt @@ -30,7 +30,7 @@ class GoldenAgeManager{ turnsToGoldenAge *= (unique.params[0].toFloat()/100 + 1) turnsToGoldenAge *= civInfo.gameInfo.gameParameters.gameSpeed.modifier turnsLeftForCurrentGoldenAge += turnsToGoldenAge.toInt() - civInfo.addNotification("You have entered a Golden Age!", null, Color.GOLD) + civInfo.addNotification("You have entered a Golden Age!", "StatIcons/Happiness") civInfo.popupAlerts.add(PopupAlert(AlertType.GoldenAge,"")) } diff --git a/core/src/com/unciv/logic/civilization/Notification.kt b/core/src/com/unciv/logic/civilization/Notification.kt index 87268a2f73..c52a71d5ab 100644 --- a/core/src/com/unciv/logic/civilization/Notification.kt +++ b/core/src/com/unciv/logic/civilization/Notification.kt @@ -26,17 +26,11 @@ object NotificationIcon { open class Notification() { var text: String="" + @Deprecated("As of 3.13.10 - replaced with icons") var color: Color?=null - var icons: ArrayList = ArrayList() // Must be ArrayList and not List so it can be deserialized + var icons: ArrayList = ArrayList() // Must be ArrayList and not List so it can be deserialized var action: NotificationAction? = null - // default parameters necessary for json deserialization - constructor(text: String, color: Color, action: NotificationAction?) : this() { - this.text = text - this.color = color - this.action = action - } - constructor(text: String, notificationIcons: ArrayList, action: NotificationAction? = null) : this() { this.text = text this.icons = notificationIcons diff --git a/core/src/com/unciv/logic/civilization/TechManager.kt b/core/src/com/unciv/logic/civilization/TechManager.kt index e058f5ec45..e8475b2c81 100644 --- a/core/src/com/unciv/logic/civilization/TechManager.kt +++ b/core/src/com/unciv/logic/civilization/TechManager.kt @@ -246,14 +246,10 @@ class TechManager { val currentEra = civInfo.getEra() if (previousEra != currentEra) { - civInfo.addNotification("You have entered the [$currentEra]!", null, Color.GOLD) + civInfo.addNotification("You have entered the [$currentEra]!", NotificationIcon.Science) if (civInfo.isMajorCiv()) { for (knownCiv in civInfo.getKnownCivs()) { - knownCiv.addNotification( - "[${civInfo.civName}] has entered the [$currentEra]!", - null, - Color.BLUE - ) + knownCiv.addNotification("[${civInfo.civName}] has entered the [$currentEra]!", civInfo.civName, NotificationIcon.Science) } } for (it in getRuleset().policyBranches.values.filter { it.era == currentEra }) { @@ -272,7 +268,7 @@ class TechManager { .firstOrNull { it.isCityCenter() } if (closestCityTile != null) { val text = "[${revealedResource.name}] revealed near [${closestCityTile.getCity()!!.name}]" - civInfo.addNotification(text, tileInfo.position, Color.BLUE) + civInfo.addNotification(text, tileInfo.position, "ResourceIcons/"+revealedResource.name) break } } @@ -287,7 +283,7 @@ class TechManager { val newConstructionName = constructionName if (constructionName in obsoleteUnits) { val text = "[$constructionName] has been obsolete and will be removed from construction queue in [${city.name}]!" - civInfo.addNotification(text, city.location, Color.BROWN) + civInfo.addNotification(text, city.location, NotificationIcon.Construction) } else city.cityConstructions.constructionQueue.add(newConstructionName) } } diff --git a/core/src/com/unciv/logic/civilization/diplomacy/DiplomacyManager.kt b/core/src/com/unciv/logic/civilization/diplomacy/DiplomacyManager.kt index bc72da5f14..b8ccea565a 100644 --- a/core/src/com/unciv/logic/civilization/diplomacy/DiplomacyManager.kt +++ b/core/src/com/unciv/logic/civilization/diplomacy/DiplomacyManager.kt @@ -365,11 +365,17 @@ class DiplomacyManager() { if (!civInfo.isDefeated()) { // don't display city state relationship notifications when the city state is currently defeated val civCapitalLocation = if (civInfo.cities.isNotEmpty()) civInfo.getCapital().location else null - if (getTurnsToRelationshipChange() == 1) - otherCiv().addNotification("Your relationship with [${civInfo.civName}] is about to degrade", civCapitalLocation, Color.GOLD) + if (getTurnsToRelationshipChange() == 1){ + val text = "Your relationship with [${civInfo.civName}] is about to degrade" + if(civCapitalLocation!=null) otherCiv().addNotification(text, civCapitalLocation, civInfo.civName, NotificationIcon.Diplomacy) + else otherCiv().addNotification(text, civInfo.civName, NotificationIcon.Diplomacy) + } - if (initialRelationshipLevel >= RelationshipLevel.Friend && initialRelationshipLevel != relationshipLevel()) - otherCiv().addNotification("Your relationship with [${civInfo.civName}] degraded", civCapitalLocation, Color.GOLD) + if (initialRelationshipLevel >= RelationshipLevel.Friend && initialRelationshipLevel != relationshipLevel()){ + val text = "Your relationship with [${civInfo.civName}] degraded" + if(civCapitalLocation!=null) otherCiv().addNotification(text, civCapitalLocation, civInfo.civName, NotificationIcon.Diplomacy) + else otherCiv().addNotification(text, civInfo.civName, NotificationIcon.Diplomacy) + } } } @@ -417,8 +423,8 @@ class DiplomacyManager() { trades.remove(trade) for (offer in trade.ourOffers.union(trade.theirOffers).filter { it.duration == 0 }) { // this was a timed trade if (offer in trade.theirOffers) - civInfo.addNotification("[${offer.name}] from [$otherCivName] has ended", NotificationIcon.Trade) - else civInfo.addNotification("[${offer.name}] to [$otherCivName] has ended", NotificationIcon.Trade) + civInfo.addNotification("[${offer.name}] from [$otherCivName] has ended", otherCivName, NotificationIcon.Trade) + else civInfo.addNotification("[${offer.name}] to [$otherCivName] has ended", otherCivName, NotificationIcon.Trade) civInfo.updateStatsForNextTurn() // if they were bringing us gold per turn civInfo.updateDetailedCivResources() // if they were giving us resources @@ -471,7 +477,7 @@ class DiplomacyManager() { // Cancel all trades. for (trade in trades) for (offer in trade.theirOffers.filter { it.duration > 0 }) - civInfo.addNotification("[" + offer.name + "] from [$otherCivName] has ended", NotificationIcon.Trade) + civInfo.addNotification("[" + offer.name + "] from [$otherCivName] has ended", otherCivName, NotificationIcon.Trade) trades.clear() updateHasOpenBorders() @@ -568,9 +574,8 @@ class DiplomacyManager() { for (civ in getCommonKnownCivs()) { civ.addNotification( - "[${civInfo.civName}] and [${otherCiv().civName}] have signed a Peace Treaty!", - null, - Color.WHITE + "[${civInfo.civName}] and [$otherCivName] have signed a Peace Treaty!", + civInfo.civName, NotificationIcon.Diplomacy, otherCivName ) } } @@ -618,10 +623,12 @@ class DiplomacyManager() { setFlag(DiplomacyFlags.DeclarationOfFriendship, 30) otherCivDiplomacy().setFlag(DiplomacyFlags.DeclarationOfFriendship, 30) if (otherCiv().playerType == PlayerType.Human) - otherCiv().addNotification("[${civInfo.civName}] and [$otherCivName] have signed the Declaration of Friendship!", null, Color.WHITE) + otherCiv().addNotification("[${civInfo.civName}] and [$otherCivName] have signed the Declaration of Friendship!", + civInfo.civName, NotificationIcon.Diplomacy, otherCivName) for (thirdCiv in getCommonKnownCivs().filter { it.isMajorCiv() }) { - thirdCiv.addNotification("[${civInfo.civName}] and [$otherCivName] have signed the Declaration of Friendship!", null, Color.WHITE) + thirdCiv.addNotification("[${civInfo.civName}] and [$otherCivName] have signed the Declaration of Friendship!", + civInfo.civName, NotificationIcon.Diplomacy, otherCivName) thirdCiv.getDiplomacyManager(civInfo).setFriendshipBasedModifier() } } diff --git a/core/src/com/unciv/logic/map/MapUnit.kt b/core/src/com/unciv/logic/map/MapUnit.kt index b51e1394bd..fae19695e9 100644 --- a/core/src/com/unciv/logic/map/MapUnit.kt +++ b/core/src/com/unciv/logic/map/MapUnit.kt @@ -435,7 +435,8 @@ class MapUnit { if (tile.owningCity == null || tile.owningCity!!.civInfo != civInfo) productionPointsToAdd = productionPointsToAdd * 2 / 3 if (productionPointsToAdd > 0) { closestCity.cityConstructions.addProductionPoints(productionPointsToAdd) - civInfo.addNotification("Clearing a [$removedTerrainFeature] has created [$productionPointsToAdd] Production for [${closestCity.name}]", closestCity.location, Color.BROWN) + civInfo.addNotification("Clearing a [$removedTerrainFeature] has created [$productionPointsToAdd] Production for [${closestCity.name}]", + closestCity.location, NotificationIcon.Construction) } } @@ -581,7 +582,7 @@ class MapUnit { goldGained *= 3f civInfo.gold += goldGained.toInt() - civInfo.addNotification("We have captured a barbarian encampment and recovered [${goldGained.toInt()}] gold!", tile.position, Color.RED) + civInfo.addNotification("We have captured a barbarian encampment and recovered [${goldGained.toInt()}] gold!", tile.position, NotificationIcon.Gold) } fun disband() { @@ -639,20 +640,20 @@ class MapUnit { val chosenUnit = possibleUnits.random(tileBasedRandom) if (!(civInfo.isCityState() || civInfo.isOneCityChallenger()) || chosenUnit != Constants.settler) { //City-States and OCC don't get settler from ruins civInfo.placeUnitNearTile(tile.position, chosenUnit) - civInfo.addNotification("A [$chosenUnit] has joined us!", tile.position, Color.BROWN) + civInfo.addNotification("A [$chosenUnit] has joined us!", tile.position, chosenUnit) } } if (!type.isCivilian()) actions.add { promotions.XP += 10 - civInfo.addNotification("An ancient tribe trains our [$name] in their ways of combat!", tile.position, Color.RED) + civInfo.addNotification("An ancient tribe trains our [$name] in their ways of combat!", tile.position, name) } actions.add { val amount = listOf(25, 60, 100).random(tileBasedRandom) civInfo.gold += amount - civInfo.addNotification("We have found a stash of [$amount] gold in the ruins!", tile.position, Color.GOLD) + civInfo.addNotification("We have found a stash of [$amount] gold in the ruins!", tile.position, NotificationIcon.Gold) } actions.add { @@ -669,7 +670,7 @@ class MapUnit { .map { it.position } civInfo.exploredTiles.addAll(tilesToReveal) civInfo.updateViewableTiles() - civInfo.addNotification("We have found a crudely-drawn map in the ruins!", tile.position, Color.RED) + civInfo.addNotification("We have found a crudely-drawn map in the ruins!", tile.position, "ImprovementIcons/Ancient ruins") } (actions.random(tileBasedRandom))() @@ -730,9 +731,9 @@ class MapUnit { health -= tileDamage if (health <= 0) { - civInfo.addNotification("Our [$name] took [$tileDamage] tile damage and was destroyed", currentTile.position, Color.RED) + civInfo.addNotification("Our [$name] took [$tileDamage] tile damage and was destroyed", currentTile.position, name, NotificationIcon.Death) destroy() - } else civInfo.addNotification("Our [$name] took [$tileDamage] tile damage", currentTile.position, Color.RED) + } else civInfo.addNotification("Our [$name] took [$tileDamage] tile damage", currentTile.position, name) } } @@ -749,10 +750,10 @@ class MapUnit { health -= 30 if (health <= 0) { - civInfo.addNotification("An enemy [Citadel] has destroyed our [$name]", currentTile.position, Color.RED) + civInfo.addNotification("An enemy [Citadel] has destroyed our [$name]", currentTile.position, name, NotificationIcon.Death) // todo - add notification for attacking civ destroy() - } else civInfo.addNotification("An enemy [Citadel] has attacked our [$name]", currentTile.position, Color.RED) + } else civInfo.addNotification("An enemy [Citadel] has attacked our [$name]", currentTile.position, name) } } diff --git a/core/src/com/unciv/ui/worldscreen/unit/UnitActions.kt b/core/src/com/unciv/ui/worldscreen/unit/UnitActions.kt index 0250a16374..243a994e7b 100644 --- a/core/src/com/unciv/ui/worldscreen/unit/UnitActions.kt +++ b/core/src/com/unciv/ui/worldscreen/unit/UnitActions.kt @@ -6,6 +6,7 @@ import com.unciv.UncivGame import com.unciv.logic.automation.UnitAutomation import com.unciv.logic.automation.WorkerAutomation import com.unciv.logic.civilization.CivilizationInfo +import com.unciv.logic.civilization.NotificationIcon import com.unciv.logic.civilization.diplomacy.DiplomaticModifiers import com.unciv.logic.map.MapUnit import com.unciv.logic.map.RoadStatus @@ -346,7 +347,8 @@ object UnitActions { goldEarned *= 2 unit.civInfo.gold += goldEarned tile.owningCity!!.civInfo.getDiplomacyManager(unit.civInfo).influence += influenceEarned - unit.civInfo.addNotification("Your trade mission to [${tile.owningCity!!.civInfo}] has earned you [${goldEarned}] gold and [$influenceEarned] influence!", null, Color.GOLD) + unit.civInfo.addNotification("Your trade mission to [${tile.owningCity!!.civInfo}] has earned you [${goldEarned}] gold and [$influenceEarned] influence!", + tile.owningCity!!.civInfo.civName, NotificationIcon.Gold, NotificationIcon.Culture) addGoldPerGreatPersonUsage(unit.civInfo) unit.destroy() }.takeIf { canConductTradeMission }) @@ -413,7 +415,7 @@ object UnitActions { nearestCity!!.expansion.takeOwnership(tile) } for (otherCiv in notifications) - otherCiv.addNotification("[${unit.civInfo}] has stolen your territory!", unit.currentTile.position, Color.RED) + otherCiv.addNotification("[${unit.civInfo}] has stolen your territory!", unit.currentTile.position, unit.civInfo.civName, NotificationIcon.War) } private fun addGoldPerGreatPersonUsage(civInfo: CivilizationInfo) { @@ -424,7 +426,7 @@ object UnitActions { civInfo.gold += goldEarned val mausoleum = cityWithMausoleum.cityConstructions.getBuiltBuildings().first { it.uniques.contains(uniqueText) } - civInfo.addNotification("[${mausoleum.name}] has provided [$goldEarned] Gold!", cityWithMausoleum.location, Color.GOLD) + civInfo.addNotification("[${mausoleum.name}] has provided [$goldEarned] Gold!", cityWithMausoleum.location, NotificationIcon.Gold) } private fun addFortifyActions(actionList: ArrayList, unit: MapUnit, unitTable: UnitTable) {