diff --git a/android/assets/game.atlas b/android/assets/game.atlas index 022c50a4bb..b285c64247 100644 --- a/android/assets/game.atlas +++ b/android/assets/game.atlas @@ -356,189 +356,182 @@ BuildingIcons/Monastery index: -1 BuildingIcons/Monument rotate: false - xy: 1532, 454 + xy: 1634, 454 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Mud Pyramid Mosque rotate: false - xy: 716, 446 + xy: 104, 442 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Mughal Fort rotate: false - xy: 104, 442 + xy: 206, 442 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Museum rotate: false - xy: 206, 442 + xy: 308, 442 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/National College rotate: false - xy: 614, 418 + xy: 818, 410 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Neuschwanstein rotate: false - xy: 1022, 410 + xy: 1124, 410 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Notre Dame rotate: false - xy: 1124, 410 + xy: 1736, 380 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Nuclear Plant rotate: false - xy: 1940, 374 + xy: 1226, 352 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Observatory rotate: false - xy: 1328, 352 + xy: 1430, 352 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Opera House rotate: false - xy: 1634, 352 + xy: 716, 344 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Oxford University rotate: false - xy: 104, 340 + xy: 206, 340 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Palace rotate: false - xy: 206, 340 + xy: 308, 340 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Paper Maker rotate: false - xy: 2, 329 + xy: 410, 317 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Pentagon rotate: false - xy: 818, 308 + xy: 920, 308 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Porcelain Tower rotate: false - xy: 716, 242 + xy: 104, 238 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Public School rotate: false - xy: 308, 238 + xy: 2, 226 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Research Lab rotate: false - xy: 1838, 170 + xy: 1940, 170 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/SS Booster rotate: false - xy: 308, 136 + xy: 2, 124 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/SS Cockpit rotate: false - xy: 2, 125 + xy: 410, 113 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/SS Engine rotate: false - xy: 410, 112 + xy: 512, 112 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/SS Stasis Chamber rotate: false - xy: 512, 112 + xy: 614, 112 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Satrap's Court rotate: false - xy: 1022, 104 + xy: 1124, 104 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Seaport rotate: false - xy: 1838, 68 + xy: 1940, 68 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Sistine Chapel rotate: false - xy: 206, 34 + xy: 308, 34 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Solar Plant rotate: false - xy: 2, 23 + xy: 410, 11 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Spaceship Factory rotate: false - xy: 512, 10 - size: 100, 100 - orig: 100, 100 - offset: 0, 0 - index: -1 -BuildingIcons/Stable - rotate: false - xy: 1124, 2 + xy: 614, 10 size: 100, 100 orig: 100, 100 offset: 0, 0 @@ -762,49 +755,49 @@ ImprovementIcons/Moai index: -1 ImprovementIcons/Oil well rotate: false - xy: 1532, 352 + xy: 1634, 352 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Pasture rotate: false - xy: 512, 316 + xy: 614, 316 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Plantation rotate: false - xy: 1430, 250 + xy: 1532, 250 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Quarry rotate: false - xy: 410, 214 + xy: 512, 214 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Railroad rotate: false - xy: 818, 206 + xy: 920, 206 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TileSets/Default/Railroad rotate: false - xy: 818, 206 + xy: 920, 206 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Road rotate: false - xy: 1430, 148 + xy: 1532, 148 size: 100, 100 orig: 100, 100 offset: 0, 0 @@ -909,49 +902,49 @@ NationIcons/Korea index: -1 NationIcons/Persia rotate: false - xy: 1022, 308 + xy: 1124, 308 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/Polynesia rotate: false - xy: 1634, 250 + xy: 716, 242 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/Rome rotate: false - xy: 104, 136 + xy: 206, 136 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/Russia rotate: false - xy: 206, 136 + xy: 308, 136 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/Siam rotate: false - xy: 1532, 46 + xy: 1634, 46 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/Songhai rotate: false - xy: 410, 10 + xy: 512, 10 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/Spain rotate: false - xy: 614, 10 + xy: 818, 2 size: 100, 100 orig: 100, 100 offset: 0, 0 @@ -1026,37 +1019,44 @@ OtherIcons/MenuIcon orig: 100, 100 offset: 0, 0 index: -1 +OtherIcons/Money + rotate: false + xy: 1532, 454 + size: 100, 100 + orig: 100, 100 + offset: 0, 0 + index: -1 OtherIcons/Pentagon rotate: false - xy: 920, 308 + xy: 1022, 308 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Pillage rotate: false - xy: 1328, 250 + xy: 1430, 250 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Puppet rotate: false - xy: 2, 227 + xy: 410, 215 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Shield rotate: false - xy: 1328, 46 + xy: 1430, 46 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/Sleep rotate: false - xy: 308, 34 + xy: 2, 22 size: 100, 100 orig: 100, 100 offset: 0, 0 @@ -1182,42 +1182,42 @@ ResourceIcons/Marble index: -1 ResourceIcons/Oil rotate: false - xy: 1430, 352 + xy: 1532, 352 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Pearls rotate: false - xy: 614, 316 + xy: 818, 308 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Sheep rotate: false - xy: 1226, 46 + xy: 1328, 46 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Silk rotate: false - xy: 1634, 46 + xy: 716, 38 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Silver rotate: false - xy: 716, 38 + xy: 104, 34 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Spices rotate: false - xy: 1022, 2 + xy: 1124, 2 size: 100, 100 orig: 100, 100 offset: 0, 0 @@ -1294,7 +1294,7 @@ StatIcons/Production index: -1 StatIcons/Resistance rotate: false - xy: 1940, 170 + xy: 1226, 148 size: 100, 100 orig: 100, 100 offset: 0, 0 @@ -1308,7 +1308,7 @@ StatIcons/Science index: -1 StatIcons/Specialist rotate: false - xy: 920, 2 + xy: 1022, 2 size: 100, 100 orig: 100, 100 offset: 0, 0 @@ -1644,154 +1644,154 @@ TechIcons/Mobile Tactics index: -1 TechIcons/Nanotechnology rotate: false - xy: 410, 418 + xy: 512, 418 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Navigation rotate: false - xy: 920, 410 + xy: 1022, 410 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Nuclear Fission rotate: false - xy: 1736, 380 + xy: 1838, 374 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Optics rotate: false - xy: 716, 344 + xy: 104, 340 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Particle Physics rotate: false - xy: 410, 316 + xy: 512, 316 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Pharmaceuticals rotate: false - xy: 1736, 278 + xy: 1838, 272 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Philosophy rotate: false - xy: 1838, 272 + xy: 1940, 272 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Physics rotate: false - xy: 1940, 272 + xy: 1226, 250 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Plastics rotate: false - xy: 1532, 250 + xy: 1634, 250 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Pottery rotate: false - xy: 104, 238 + xy: 206, 238 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Printing Press rotate: false - xy: 206, 238 + xy: 308, 238 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Radar rotate: false - xy: 512, 214 + xy: 614, 214 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Radio rotate: false - xy: 614, 214 + xy: 818, 206 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Railroad rotate: false - xy: 920, 206 + xy: 1022, 206 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Refrigeration rotate: false - xy: 1124, 206 + xy: 1736, 176 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Replaceable Parts rotate: false - xy: 1736, 176 + xy: 1838, 170 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Rifling rotate: false - xy: 1328, 148 + xy: 1430, 148 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Robotics rotate: false - xy: 1532, 148 + xy: 1634, 148 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Rocketry rotate: false - xy: 716, 140 + xy: 104, 136 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Sailing rotate: false - xy: 614, 112 + xy: 818, 104 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Satellites rotate: false - xy: 920, 104 + xy: 1022, 104 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Scientific Theory rotate: false - xy: 1124, 104 + xy: 1736, 74 size: 100, 100 orig: 100, 100 offset: 0, 0 @@ -1868,28 +1868,28 @@ TileSets/Default/MarshOverlay index: -1 TileSets/Default/MountainOverlay rotate: false - xy: 1634, 454 + xy: 716, 446 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TileSets/Default/NaturalWonderOverlay rotate: false - xy: 818, 410 + xy: 920, 410 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TileSets/Default/OasisOverlay rotate: false - xy: 1226, 352 + xy: 1328, 352 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TileSets/FantasyHex/Railroad rotate: false - xy: 1022, 206 + xy: 1124, 206 size: 100, 100 orig: 100, 100 offset: 0, 0 @@ -2295,105 +2295,105 @@ UnitIcons/Mohawk Warrior index: -1 UnitIcons/Musketeer rotate: false - xy: 308, 442 + xy: 2, 430 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Musketman rotate: false - xy: 2, 431 + xy: 410, 419 size: 100, 99 orig: 100, 99 offset: 0, 0 index: -1 UnitIcons/Naresuan's Elephant rotate: false - xy: 512, 418 + xy: 614, 418 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Nuclear Missile rotate: false - xy: 1838, 374 + xy: 1940, 374 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Panzer rotate: false - xy: 308, 340 + xy: 2, 328 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Persian Immortal rotate: false - xy: 1124, 308 + xy: 1736, 278 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Pikeman rotate: false - xy: 1226, 250 + xy: 1328, 250 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Rifleman rotate: false - xy: 1226, 148 + xy: 1328, 148 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Rocket Artillery rotate: false - xy: 1634, 148 + xy: 716, 140 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Samurai rotate: false - xy: 818, 104 + xy: 920, 104 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Scout rotate: false - xy: 1736, 74 + xy: 1838, 68 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Settler rotate: false - xy: 1940, 68 + xy: 1226, 46 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Ship of the Line rotate: false - xy: 1430, 46 + xy: 1532, 46 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Sipahi rotate: false - xy: 104, 34 + xy: 206, 34 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Spearman rotate: false - xy: 818, 2 + xy: 920, 2 size: 100, 100 orig: 100, 100 offset: 0, 0 @@ -2404,163 +2404,170 @@ size: 2048,512 format: RGBA8888 filter: MipMapLinearLinear,MipMapLinearLinear repeat: none -BuildingIcons/Stadium +BuildingIcons/Stable rotate: false xy: 2, 410 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 -BuildingIcons/Statue of Liberty +BuildingIcons/Stadium rotate: false xy: 2, 308 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 +BuildingIcons/Statue of Liberty + rotate: false + xy: 104, 410 + size: 100, 100 + orig: 100, 100 + offset: 0, 0 + index: -1 BuildingIcons/Stock Exchange rotate: false - xy: 206, 410 + xy: 2, 104 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Stone Works rotate: false - xy: 2, 2 + xy: 104, 206 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Stonehenge rotate: false - xy: 104, 206 + xy: 206, 308 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Sydney Opera House rotate: false - xy: 206, 206 + xy: 308, 308 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Taj Mahal rotate: false - xy: 308, 308 + xy: 410, 410 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Temple rotate: false - xy: 206, 104 + xy: 206, 2 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Terracotta Army rotate: false - xy: 308, 206 + xy: 410, 308 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/The Great Library rotate: false - xy: 410, 308 + xy: 512, 410 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/The Great Lighthouse rotate: false - xy: 512, 410 + xy: 308, 104 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/The Louvre rotate: false - xy: 308, 104 + xy: 308, 2 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/The Oracle rotate: false - xy: 308, 2 + xy: 410, 206 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/The Pyramids rotate: false - xy: 512, 308 + xy: 614, 410 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Theatre rotate: false - xy: 410, 104 + xy: 410, 2 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/University rotate: false - xy: 716, 308 + xy: 818, 410 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Walls rotate: false - xy: 614, 103 + xy: 716, 206 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Walls of Babylon rotate: false - xy: 716, 206 + xy: 818, 308 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Wat rotate: false - xy: 716, 2 + xy: 818, 206 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Windmill rotate: false - xy: 1022, 410 + xy: 818, 104 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 BuildingIcons/Workshop rotate: false - xy: 1022, 308 + xy: 1124, 410 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ImprovementIcons/Trading post rotate: false - xy: 512, 206 + xy: 614, 308 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 NationIcons/The Ottomans rotate: false - xy: 410, 206 + xy: 512, 308 size: 100, 100 orig: 100, 100 offset: 0, 0 @@ -2574,70 +2581,98 @@ OtherIcons/Aircraft index: -1 OtherIcons/BackArrow rotate: false - xy: 1022, 204 + xy: 1278, 460 + size: 50, 50 + orig: 50, 50 + offset: 0, 0 + index: -1 +OtherIcons/Down + rotate: false + xy: 1798, 460 + size: 50, 50 + orig: 50, 50 + offset: 0, 0 + index: -1 +OtherIcons/Shock + rotate: false + xy: 1386, 356 + size: 50, 50 + orig: 50, 50 + offset: 0, 0 + index: -1 +UnitPromotionIcons/Shock + rotate: false + xy: 1386, 356 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 OtherIcons/Stop rotate: false - xy: 206, 308 + xy: 308, 410 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 OtherIcons/TableBackground rotate: false - xy: 1282, 304 + xy: 1386, 304 + size: 50, 50 + orig: 50, 50 + offset: 0, 0 + index: -1 +OtherIcons/Up + rotate: false + xy: 1438, 304 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 OtherIcons/whiteDot rotate: false - xy: 954, 19 + xy: 614, 5 size: 1, 1 orig: 1, 1 offset: 0, 0 index: -1 PolicyIcons/Aristocracy rotate: false - xy: 614, 38 + xy: 1022, 204 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Citizenship rotate: false - xy: 1486, 460 + xy: 1434, 460 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Civil Society rotate: false - xy: 1538, 460 + xy: 1486, 460 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Collective Rule rotate: false - xy: 1642, 460 + xy: 1590, 460 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Constitution rotate: false - xy: 1694, 460 + xy: 1642, 460 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Democracy rotate: false - xy: 1798, 460 + xy: 1746, 460 size: 50, 50 orig: 50, 50 offset: 0, 0 @@ -2658,203 +2693,203 @@ PolicyIcons/Fascism index: -1 PolicyIcons/Free Religion rotate: false - xy: 1176, 358 + xy: 1074, 100 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Free Speech rotate: false - xy: 972, 52 + xy: 1074, 48 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Free Thought rotate: false - xy: 1024, 100 + xy: 1176, 358 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Humanism rotate: false - xy: 1076, 48 + xy: 1126, 202 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Landed Elite rotate: false - xy: 1384, 408 + xy: 1178, 254 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Legalism rotate: false - xy: 1436, 408 + xy: 1178, 202 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Mandate Of Heaven rotate: false - xy: 1540, 408 + xy: 1178, 98 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Mercantilism rotate: false - xy: 1696, 408 + xy: 1228, 408 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Meritocracy rotate: false - xy: 1748, 408 + xy: 1280, 408 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Militarism rotate: false - xy: 1800, 408 + xy: 1332, 408 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Military Caste rotate: false - xy: 1852, 408 + xy: 1384, 408 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Military Tradition rotate: false - xy: 1904, 408 + xy: 1436, 408 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Monarchy rotate: false - xy: 1280, 356 + xy: 1540, 408 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Oligarchy rotate: false - xy: 1384, 356 + xy: 1644, 408 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Organized Religion rotate: false - xy: 1436, 356 + xy: 1696, 408 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Patronage rotate: false - xy: 1488, 356 + xy: 1748, 408 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Police State rotate: false - xy: 1540, 356 + xy: 1800, 408 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Populism rotate: false - xy: 1592, 356 + xy: 1852, 408 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Professional Army rotate: false - xy: 1644, 356 + xy: 1904, 408 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Protectionism rotate: false - xy: 1696, 356 + xy: 1956, 408 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Reformation rotate: false - xy: 1852, 356 + xy: 1282, 356 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Representation rotate: false - xy: 1956, 408 + xy: 1282, 304 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Republic rotate: false - xy: 1956, 356 + xy: 1334, 356 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Scientific Revolution rotate: false - xy: 1126, 306 + xy: 1230, 200 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Secularism rotate: false - xy: 1126, 202 + xy: 1334, 304 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Sovereignty rotate: false - xy: 1230, 252 + xy: 1334, 252 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Theocracy rotate: false - xy: 1334, 304 + xy: 1230, 96 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Total War rotate: false - xy: 1334, 252 + xy: 1282, 148 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Trade Unions rotate: false - xy: 1386, 304 + xy: 1334, 200 size: 50, 50 orig: 50, 50 offset: 0, 0 @@ -2868,119 +2903,119 @@ PolicyIcons/Universal Suffrage index: -1 PolicyIcons/Warrior Code rotate: false - xy: 1438, 252 + xy: 1282, 96 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 ResourceIcons/Stone rotate: false - xy: 2, 104 + xy: 2, 2 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Sugar rotate: false - xy: 104, 104 + xy: 104, 2 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Uranium rotate: false - xy: 818, 410 + xy: 614, 103 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Whales rotate: false - xy: 818, 206 + xy: 920, 308 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Wheat rotate: false - xy: 920, 308 + xy: 1022, 410 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 ResourceIcons/Wine rotate: false - xy: 818, 104 + xy: 818, 2 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 StatIcons/InterceptRange rotate: false - xy: 1280, 408 + xy: 1126, 98 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 StatIcons/Movement rotate: false - xy: 1332, 356 + xy: 1592, 408 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 StatIcons/Range rotate: false - xy: 1748, 356 + xy: 1230, 356 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 StatIcons/RangedStrength rotate: false - xy: 1800, 356 + xy: 1230, 304 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 TechIcons/Steam Power rotate: false - xy: 2, 206 + xy: 104, 308 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Steel rotate: false - xy: 104, 308 + xy: 206, 410 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/The Wheel rotate: false - xy: 614, 410 + xy: 410, 104 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Theology rotate: false - xy: 410, 2 + xy: 512, 206 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Trapping rotate: false - xy: 614, 308 + xy: 716, 410 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 TechIcons/Writing rotate: false - xy: 1124, 410 + xy: 920, 104 size: 100, 100 orig: 100, 100 offset: 0, 0 @@ -3001,7 +3036,7 @@ TileSets/FantasyHex/road index: -1 TileSets/FantasyHex/Tiles/Academy rotate: false - xy: 920, 13 + xy: 1022, 9 size: 32, 37 orig: 32, 37 offset: 0, 0 @@ -3022,1414 +3057,1414 @@ TileSets/FantasyHex/Tiles/Ancient ruins index: -1 TileSets/FantasyHex/Tiles/Atoll rotate: false - xy: 1212, 222 + xy: 1334, 118 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Barbarian encampment rotate: false - xy: 1576, 326 + xy: 1056, 18 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Barringer Crater rotate: false - xy: 988, 22 + xy: 1264, 66 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Cattle rotate: false - xy: 1610, 266 + xy: 1712, 378 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Cerro de Potosi rotate: false - xy: 1678, 322 + xy: 1780, 374 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Citadel rotate: false - xy: 1712, 321 + xy: 1882, 373 size: 32, 33 orig: 32, 33 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/City rotate: false - xy: 1746, 319 + xy: 1916, 371 size: 32, 35 orig: 32, 35 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Grassland+City rotate: false - xy: 1746, 319 + xy: 1916, 371 size: 32, 35 orig: 32, 35 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Hill+City rotate: false - xy: 1746, 319 + xy: 1916, 371 size: 32, 35 orig: 32, 35 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/City ruins rotate: false - xy: 1712, 291 + xy: 1950, 378 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Coal rotate: false - xy: 1814, 326 + xy: 1158, 16 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Coast rotate: false - xy: 1848, 326 + xy: 1192, 16 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Coast+Oil well rotate: false - xy: 1882, 326 + xy: 1490, 296 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Customs house rotate: false - xy: 1814, 289 + xy: 1644, 343 size: 32, 35 orig: 32, 35 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Deer rotate: false - xy: 1950, 326 + xy: 1678, 348 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Desert rotate: false - xy: 1848, 296 + xy: 1712, 348 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Desert+City rotate: false - xy: 1882, 291 + xy: 1746, 343 size: 32, 33 orig: 32, 33 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Desert+Fallout rotate: false - xy: 1916, 296 + xy: 1780, 344 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Desert+Farm rotate: false - xy: 1950, 296 + xy: 1814, 348 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Desert+Flood plains rotate: false - xy: 1382, 222 + xy: 1848, 348 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Desert+Flood plains+Farm rotate: false - xy: 1416, 222 + xy: 1882, 343 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Desert+Flood plains+Trading post rotate: false - xy: 1450, 222 + xy: 1916, 341 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Desert+Oasis rotate: false - xy: 1484, 222 + xy: 1950, 348 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Desert+Trading post rotate: false - xy: 1678, 262 + xy: 1332, 60 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/El Dorado rotate: false - xy: 1712, 260 + xy: 1984, 377 size: 32, 29 orig: 32, 29 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Fishing Boats rotate: false - xy: 1746, 261 + xy: 1984, 347 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Fort rotate: false - xy: 1984, 321 + xy: 1264, 31 size: 32, 33 orig: 32, 33 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Fountain of Youth rotate: false - xy: 1984, 287 + xy: 1226, 2 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Gems rotate: false - xy: 1848, 266 + xy: 648, 8 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Gold rotate: false - xy: 1882, 261 + xy: 682, 73 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Grand Mesa rotate: false - xy: 1916, 262 + xy: 682, 39 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Grassland rotate: false - xy: 1950, 266 + xy: 682, 9 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Grassland+Fallout rotate: false - xy: 1984, 257 + xy: 1298, 8 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Grassland+Farm rotate: false - xy: 1178, 192 + xy: 1332, 2 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Grassland+Forest rotate: false - xy: 1212, 189 + xy: 1472, 263 size: 32, 31 orig: 32, 31 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Grassland+Forest+Aluminum rotate: false - xy: 1246, 191 + xy: 1472, 230 size: 32, 31 orig: 32, 31 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Grassland+Forest+Camp rotate: false - xy: 1280, 191 + xy: 1472, 197 size: 32, 31 orig: 32, 31 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Grassland+Forest+Coal rotate: false - xy: 1314, 191 + xy: 1506, 263 size: 32, 31 orig: 32, 31 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Grassland+Forest+Gold rotate: false - xy: 1348, 191 + xy: 1506, 230 size: 32, 31 orig: 32, 31 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Grassland+Forest+Iron rotate: false - xy: 1382, 189 + xy: 1506, 197 size: 32, 31 orig: 32, 31 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Grassland+Forest+Lumber mill rotate: false - xy: 1416, 189 + xy: 1368, 109 size: 32, 31 orig: 32, 31 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Grassland+Forest+Silver rotate: false - xy: 1450, 189 + xy: 1368, 76 size: 32, 31 orig: 32, 31 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Grassland+Jungle rotate: false - xy: 648, 2 + xy: 1366, 40 size: 32, 34 orig: 32, 34 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Grassland+Jungle+Camp rotate: false - xy: 682, 67 + xy: 1366, 4 size: 32, 34 orig: 32, 34 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Grassland+Jungle+Trading post rotate: false - xy: 682, 31 + xy: 1402, 106 size: 32, 34 orig: 32, 34 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Grassland+Marsh rotate: false - xy: 1484, 191 + xy: 1402, 75 size: 32, 29 orig: 32, 29 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Grassland+Trading post rotate: false - xy: 1518, 222 + xy: 1400, 45 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Great Barrier Reef rotate: false - xy: 1552, 236 + xy: 1524, 318 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Hill rotate: false - xy: 1552, 172 + xy: 1436, 122 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Hill+Camp rotate: false - xy: 1586, 172 + xy: 1436, 88 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Hill+Fallout rotate: false - xy: 1620, 172 + xy: 1470, 122 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Hill+Forest rotate: false - xy: 1128, 125 + xy: 1470, 75 size: 32, 45 orig: 32, 45 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Hill+Forest+Camp rotate: false - xy: 1128, 78 + xy: 1436, 41 size: 32, 45 orig: 32, 45 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Hill+Forest+Lumber mill rotate: false - xy: 1128, 31 + xy: 1470, 28 size: 32, 45 orig: 32, 45 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Hill+Mine rotate: false - xy: 1518, 158 + xy: 1434, 7 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Hill+Quarry rotate: false - xy: 1484, 157 + xy: 1522, 163 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Hill+Terrace Farm rotate: false - xy: 1552, 138 + xy: 1540, 284 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Horses rotate: false - xy: 1518, 128 + xy: 1540, 224 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Iron rotate: false - xy: 1916, 232 + xy: 1574, 228 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Ivory rotate: false - xy: 1984, 227 + xy: 1608, 260 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Krakatoa rotate: false - xy: 1848, 229 + xy: 1746, 306 size: 32, 35 orig: 32, 35 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Lakes rotate: false - xy: 1882, 231 + xy: 1780, 314 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Landmark rotate: false - xy: 1780, 208 + xy: 1882, 313 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Manufactory rotate: false - xy: 2008, 445 + xy: 1950, 281 size: 32, 35 orig: 32, 35 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Marble rotate: false - xy: 2008, 385 + xy: 1984, 259 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Mine rotate: false - xy: 1916, 142 + xy: 1504, 133 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Moai rotate: false - xy: 1950, 116 + xy: 1504, 73 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Mount Fuji rotate: false - xy: 1654, 228 + xy: 1538, 129 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Mountain rotate: false - xy: 1654, 190 + xy: 1538, 91 size: 32, 36 orig: 32, 36 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Ocean rotate: false - xy: 1620, 112 + xy: 1608, 200 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Oil rotate: false - xy: 1654, 100 + xy: 1556, 168 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Oil well rotate: false - xy: 1688, 230 + xy: 1590, 168 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Old Faithful rotate: false - xy: 1688, 196 + xy: 1572, 134 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Pasture rotate: false - xy: 1688, 108 + xy: 1572, 46 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Pasture2 rotate: false - xy: 1688, 78 + xy: 1572, 16 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plains rotate: false - xy: 1722, 143 + xy: 1606, 78 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plains+City rotate: false - xy: 1722, 106 + xy: 1606, 41 size: 32, 35 orig: 32, 35 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plains+Fallout rotate: false - xy: 1722, 76 + xy: 1606, 11 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plains+Farm rotate: false - xy: 1756, 178 + xy: 1624, 170 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plains+Forest rotate: false - xy: 1756, 143 + xy: 1640, 135 size: 32, 33 orig: 32, 33 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plains+Forest+Camp rotate: false - xy: 1756, 108 + xy: 1640, 100 size: 32, 33 orig: 32, 33 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plains+Forest+Lumber mill rotate: false - xy: 1756, 73 + xy: 1640, 65 size: 32, 33 orig: 32, 33 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plains+Jungle rotate: false - xy: 1790, 162 + xy: 1640, 28 size: 32, 35 orig: 32, 35 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plains+Jungle+Trading post rotate: false - xy: 1824, 162 + xy: 1642, 306 size: 32, 35 orig: 32, 35 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plains+Trading post rotate: false - xy: 1790, 132 + xy: 1642, 276 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Plantation rotate: false - xy: 1790, 102 + xy: 1642, 246 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Polder rotate: false - xy: 1824, 132 + xy: 1642, 216 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Quarry rotate: false - xy: 1824, 102 + xy: 1676, 290 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/River-Bottom rotate: false - xy: 1824, 70 + xy: 1676, 228 size: 32, 30 orig: 32, 30 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/River-BottomLeft rotate: false - xy: 1858, 139 + xy: 1710, 286 size: 32, 30 orig: 32, 30 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/River-BottomRight rotate: false - xy: 1858, 107 + xy: 1710, 254 size: 32, 30 orig: 32, 30 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/River-Top rotate: false - xy: 1858, 75 + xy: 1744, 274 size: 32, 30 orig: 32, 30 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/River-TopLeft rotate: false - xy: 1892, 110 + xy: 1710, 222 size: 32, 30 orig: 32, 30 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/River-TopRight rotate: false - xy: 1892, 78 + xy: 1744, 242 size: 32, 30 orig: 32, 30 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Rock of Gibraltar rotate: false - xy: 1926, 82 + xy: 1778, 250 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Sheep rotate: false - xy: 1926, 52 + xy: 1676, 198 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Silver rotate: false - xy: 1960, 79 + xy: 1744, 182 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Stone rotate: false - xy: 1926, 22 + xy: 1814, 258 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Tundra rotate: false - xy: 1382, 159 + xy: 1848, 230 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Tundra+Camp rotate: false - xy: 1416, 159 + xy: 1846, 200 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Tundra+City rotate: false - xy: 1450, 152 + xy: 1846, 163 size: 32, 35 orig: 32, 35 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Tundra+Fallout rotate: false - xy: 1484, 127 + xy: 1882, 223 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Tundra+Forest rotate: false - xy: 1518, 94 + xy: 1880, 189 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Tundra+Forest+Camp rotate: false - xy: 1552, 76 + xy: 1916, 219 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Tundra+Forest+Lumber mill rotate: false - xy: 1586, 78 + xy: 1950, 219 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Tundra+Trading post rotate: false - xy: 1620, 82 + xy: 1984, 229 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Tiles/Uranium rotate: false - xy: 1620, 52 + xy: 1914, 189 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/TopBorder rotate: false - xy: 1280, 161 + xy: 1882, 253 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Anti-Aircraft Gun rotate: false - xy: 1126, 172 + xy: 1230, 66 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Anti-Tank Gun rotate: false - xy: 1178, 222 + xy: 1438, 274 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Archer rotate: false - xy: 1542, 326 + xy: 1490, 326 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Artillery rotate: false - xy: 954, 22 + xy: 1542, 378 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Ballista rotate: false - xy: 1542, 296 + xy: 1386, 170 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Battleship rotate: false - xy: 1246, 224 + xy: 1438, 246 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Destroyer rotate: false - xy: 1246, 224 + xy: 1438, 246 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Berserker rotate: false - xy: 1542, 266 + xy: 1576, 378 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Bowman rotate: false - xy: 1576, 296 + xy: 1090, 18 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Brute rotate: false - xy: 1610, 326 + xy: 1298, 66 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Camel Archer rotate: false - xy: 1576, 266 + xy: 1438, 216 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Cannon rotate: false - xy: 1610, 296 + xy: 1610, 378 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Caravel rotate: false - xy: 1280, 224 + xy: 1644, 380 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Catapult rotate: false - xy: 1644, 326 + xy: 1678, 378 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Cavalry rotate: false - xy: 1644, 296 + xy: 1746, 378 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Chariot Archer rotate: false - xy: 1644, 266 + xy: 1814, 378 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Chu-Ko-Nu rotate: false - xy: 1678, 292 + xy: 1848, 378 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/CivilianLandUnit rotate: false - xy: 1780, 326 + xy: 1124, 16 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Companion Cavalry rotate: false - xy: 1314, 224 + xy: 1334, 90 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Conquistador rotate: false - xy: 1746, 291 + xy: 1386, 142 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Cossack rotate: false - xy: 1780, 296 + xy: 1542, 348 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Crossbowman rotate: false - xy: 1916, 326 + xy: 1576, 348 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Cruiser rotate: false - xy: 1348, 224 + xy: 1610, 350 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Foreign Legion rotate: false - xy: 1780, 266 + xy: 1230, 36 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Frigate rotate: false - xy: 1022, 20 + xy: 1298, 38 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Galleass rotate: false - xy: 1056, 20 + xy: 1260, 3 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Galley rotate: false - xy: 1090, 20 + xy: 1332, 32 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Gatling Gun rotate: false - xy: 1814, 259 + xy: 1438, 186 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Machine Gun rotate: false - xy: 1814, 259 + xy: 1438, 186 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Great Artist rotate: false - xy: 1518, 192 + xy: 1400, 15 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Great Engineer rotate: false - xy: 1586, 236 + xy: 1558, 318 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Worker rotate: false - xy: 1586, 236 + xy: 1558, 318 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Great General rotate: false - xy: 1552, 206 + xy: 1592, 318 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Great Merchant rotate: false - xy: 1620, 236 + xy: 1420, 156 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Settler rotate: false - xy: 1620, 236 + xy: 1420, 156 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Great Scientist rotate: false - xy: 1586, 206 + xy: 1454, 156 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Great War Infantry rotate: false - xy: 1620, 206 + xy: 1488, 167 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Infantry rotate: false - xy: 1620, 206 + xy: 1488, 167 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Hoplite rotate: false - xy: 1586, 142 + xy: 1540, 254 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Horseman rotate: false - xy: 1620, 142 + xy: 1574, 288 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Hwach'a rotate: false - xy: 1950, 236 + xy: 1574, 258 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Ironclad rotate: false - xy: 682, 3 + xy: 1608, 290 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Jaguar rotate: false - xy: 1950, 206 + xy: 1608, 230 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Janissary rotate: false - xy: 1984, 197 + xy: 1950, 318 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Keshik rotate: false - xy: 1780, 238 + xy: 1984, 319 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Khan rotate: false - xy: 1746, 233 + xy: 1678, 320 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Knight rotate: false - xy: 1814, 229 + xy: 1712, 318 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Lancer rotate: false - xy: 1916, 202 + xy: 1814, 318 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/LandUnit rotate: false - xy: 1882, 201 + xy: 1848, 318 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Warrior rotate: false - xy: 1882, 201 + xy: 1848, 318 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Landship rotate: false - xy: 1814, 199 + xy: 1916, 311 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Landsknecht rotate: false - xy: 1848, 199 + xy: 1780, 284 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Legion rotate: false - xy: 1950, 176 + xy: 1814, 288 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Longbowman rotate: false - xy: 1916, 172 + xy: 1848, 288 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Longswordsman rotate: false - xy: 1882, 171 + xy: 1882, 283 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Mandekalu Cavalry rotate: false - xy: 1984, 169 + xy: 1916, 283 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Maori Warrior rotate: false - xy: 2008, 415 + xy: 1984, 289 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Marine rotate: false - xy: 1950, 146 + xy: 2008, 452 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Mechanized Infantry rotate: false - xy: 2008, 357 + xy: 2008, 424 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Minuteman rotate: false - xy: 1984, 139 + xy: 1504, 103 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Mohawk Warrior rotate: false - xy: 1984, 109 + xy: 1504, 43 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Musketeer rotate: false - xy: 1654, 160 + xy: 1538, 61 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Musketman rotate: false - xy: 1654, 130 + xy: 1538, 31 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Naresuan's Elephant rotate: false - xy: 1552, 110 + xy: 1504, 15 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Norwegian Ski Infantry rotate: false - xy: 1586, 112 + xy: 1574, 198 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Panzer rotate: false - xy: 1688, 168 + xy: 1572, 106 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Paratrooper rotate: false - xy: 1688, 138 + xy: 1572, 76 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Persian Immortal rotate: false - xy: 1722, 203 + xy: 1606, 138 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Pikeman rotate: false - xy: 1722, 173 + xy: 1606, 108 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Rifleman rotate: false - xy: 1790, 72 + xy: 1676, 260 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Rocket Artillery rotate: false - xy: 1858, 45 + xy: 1744, 212 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Scout rotate: false - xy: 1892, 48 + xy: 1778, 220 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Ship of the Line rotate: false - xy: 1124, 3 + xy: 1710, 194 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Sipahi rotate: false - xy: 1960, 51 + xy: 1538, 3 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Slinger rotate: false - xy: 1994, 79 + xy: 1778, 190 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Spearman rotate: false - xy: 1994, 49 + xy: 1778, 160 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Submarine rotate: false - xy: 1960, 23 + xy: 1848, 260 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Swordsman rotate: false - xy: 1892, 18 + xy: 1812, 228 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Tank rotate: false - xy: 1994, 19 + xy: 1812, 198 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Tercio rotate: false - xy: 1246, 161 + xy: 1812, 168 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Trebuchet rotate: false - xy: 1314, 161 + xy: 1916, 253 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Trireme rotate: false - xy: 1348, 163 + xy: 1950, 253 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Turtle Ship rotate: false - xy: 1654, 72 + xy: 1658, 170 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/War Chariot rotate: false - xy: 1586, 48 + xy: 1948, 189 size: 32, 28 orig: 32, 28 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/War Elephant rotate: false - xy: 1654, 44 + xy: 1880, 161 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/WaterUnit rotate: false - xy: 1688, 50 + xy: 1914, 161 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 TileSets/FantasyHex/Units/Work Boats rotate: false - xy: 1722, 48 + xy: 1948, 161 size: 32, 26 orig: 32, 26 offset: 0, 0 index: -1 UnitIcons/Stealth Bomber rotate: false - xy: 104, 410 + xy: 2, 206 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Submarine rotate: false - xy: 308, 410 + xy: 104, 104 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Swordsman rotate: false - xy: 104, 2 + xy: 206, 206 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Tank rotate: false - xy: 410, 410 + xy: 206, 104 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Tercio rotate: false - xy: 206, 2 + xy: 308, 206 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Trebuchet rotate: false - xy: 716, 410 + xy: 512, 104 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Triplane rotate: false - xy: 512, 104 + xy: 512, 2 size: 100, 100 orig: 100, 100 offset: 0, 0 @@ -4443,49 +4478,49 @@ UnitIcons/Trireme index: -1 UnitIcons/Turtle Ship rotate: false - xy: 512, 2 + xy: 716, 308 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/War Chariot rotate: false - xy: 818, 308 + xy: 920, 410 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/War Elephant rotate: false - xy: 920, 410 + xy: 716, 104 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Warrior rotate: false - xy: 716, 104 + xy: 716, 2 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Work Boats rotate: false - xy: 818, 2 + xy: 920, 206 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Worker rotate: false - xy: 920, 206 + xy: 1022, 308 size: 100, 100 orig: 100, 100 offset: 0, 0 index: -1 UnitIcons/Zero rotate: false - xy: 920, 104 + xy: 920, 2 size: 100, 100 orig: 100, 100 offset: 0, 0 @@ -4506,28 +4541,28 @@ UnitPromotionIcons/Air Repair index: -1 UnitPromotionIcons/Ambush rotate: false - xy: 920, 52 + xy: 614, 38 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Barrage rotate: false - xy: 1278, 460 + xy: 1022, 152 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Blitz rotate: false - xy: 1022, 152 + xy: 1330, 460 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Boarding Party rotate: false - xy: 1330, 460 + xy: 1022, 100 size: 50, 50 orig: 50, 50 offset: 0, 0 @@ -4541,35 +4576,35 @@ UnitPromotionIcons/Bombardment index: -1 UnitPromotionIcons/Charge rotate: false - xy: 1434, 460 + xy: 1022, 48 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Coastal Raider rotate: false - xy: 1590, 460 + xy: 1538, 460 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Cover rotate: false - xy: 1746, 460 + xy: 1694, 460 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 PolicyIcons/Discipline rotate: false - xy: 1746, 460 + xy: 1694, 460 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 StatIcons/Strength rotate: false - xy: 1746, 460 + xy: 1694, 460 size: 50, 50 orig: 50, 50 offset: 0, 0 @@ -4611,133 +4646,126 @@ UnitPromotionIcons/Formation index: -1 UnitPromotionIcons/Haka War Dance rotate: false - xy: 1076, 100 + xy: 1126, 306 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Heal Instantly rotate: false - xy: 1024, 48 + xy: 1126, 254 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Indirect Fire rotate: false - xy: 1228, 408 + xy: 1126, 150 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Interception rotate: false - xy: 1332, 408 + xy: 1178, 306 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Logistics rotate: false - xy: 1488, 408 + xy: 1178, 150 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/March rotate: false - xy: 1592, 408 + xy: 1126, 46 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Medic rotate: false - xy: 1644, 408 + xy: 1178, 46 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Mobility rotate: false - xy: 1228, 356 + xy: 1488, 408 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Rejuvenation rotate: false - xy: 1904, 356 + xy: 1230, 252 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Scouting rotate: false - xy: 1126, 254 + xy: 1282, 252 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Sentry rotate: false - xy: 1126, 254 - size: 50, 50 - orig: 50, 50 - offset: 0, 0 - index: -1 -UnitPromotionIcons/Shock - rotate: false - xy: 1178, 304 + xy: 1282, 252 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Siege rotate: false - xy: 1178, 252 + xy: 1230, 148 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Sortie rotate: false - xy: 1230, 304 + xy: 1282, 200 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Targeting rotate: false - xy: 1282, 252 + xy: 1438, 356 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Targeting I (air) rotate: false - xy: 1282, 252 + xy: 1438, 356 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Volley rotate: false - xy: 1438, 304 + xy: 1490, 356 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Wolfpack rotate: false - xy: 1490, 304 + xy: 1334, 148 size: 50, 50 orig: 50, 50 offset: 0, 0 index: -1 UnitPromotionIcons/Woodsman rotate: false - xy: 1490, 252 + xy: 1386, 200 size: 50, 50 orig: 50, 50 offset: 0, 0 diff --git a/android/assets/game.png b/android/assets/game.png index e9b0cbf13c..4f85e20106 100644 Binary files a/android/assets/game.png and b/android/assets/game.png differ diff --git a/android/assets/game2.png b/android/assets/game2.png index 1224f0efe2..5e388e804d 100644 Binary files a/android/assets/game2.png and b/android/assets/game2.png differ diff --git a/android/assets/jsons/translationsByLanguage/template.properties b/android/assets/jsons/translationsByLanguage/template.properties index 2c7ca2fc6a..01e511de99 100644 --- a/android/assets/jsons/translationsByLanguage/template.properties +++ b/android/assets/jsons/translationsByLanguage/template.properties @@ -5,7 +5,7 @@ Move a unit!\nClick on a unit > Click on a destination > Click the arrow popup = Found a city!\nSelect the Settler (flag unit) > Click on 'Found city' (bottom-left corner) = Enter the city screen!\nClick the city button twice = Pick a technology to research!\nClick on the tech button (greenish, top left) > \n select technology > click 'Research' (bottom right) = -Pick a construction!\nEnter city screen > Click on a unit or building (left side) = +Pick a construction!\nEnter city screen > Click on a unit or building (bottom left side) > \n click 'add to queue' = Pass a turn!\nCycle through units with 'Next unit' > Click 'Next turn' = Reassign worked tiles!\nEnter city screen > click the assigned (green) tile to unassign > \n click an unassigned tile to assign population = Meet another civilization!\nExplore the map until you encounter another civilization! = diff --git a/core/src/com/unciv/UncivGame.kt b/core/src/com/unciv/UncivGame.kt index 9673b41817..32e11acca6 100644 --- a/core/src/com/unciv/UncivGame.kt +++ b/core/src/com/unciv/UncivGame.kt @@ -37,7 +37,7 @@ class UncivGame( /** For when you need to test something in an advanced game and don't have time to faff around */ val superchargedForDebug = false - var rewriteTranslationFiles = true + var rewriteTranslationFiles = false lateinit var worldScreen: WorldScreen diff --git a/core/src/com/unciv/logic/city/CityConstructions.kt b/core/src/com/unciv/logic/city/CityConstructions.kt index cac21585e8..8f1c8a2d2f 100644 --- a/core/src/com/unciv/logic/city/CityConstructions.kt +++ b/core/src/com/unciv/logic/city/CityConstructions.kt @@ -107,6 +107,7 @@ class CityConstructions { fun isEnqueued(constructionName: String): Boolean = constructionQueue.contains(constructionName) fun isQueueFull(): Boolean = constructionQueue.size == queueMaxSize + fun isQueueEmpty(): Boolean = constructionQueue.isEmpty() fun isBuildingWonder(): Boolean { val currentConstruction = getCurrentConstruction() @@ -309,8 +310,13 @@ class CityConstructions { } fun addToQueue(constructionName: String) { - if (!isQueueFull()) - constructionQueue.add(constructionName) + if (!isQueueFull()) { + if (isQueueEmpty() && currentConstruction == "Nothing") { + currentConstruction = constructionName + currentConstructionIsUserSet = true + } else + constructionQueue.add(constructionName) + } } fun removeFromQueue(idx: Int) { diff --git a/core/src/com/unciv/ui/cityscreen/CityInfoTable.kt b/core/src/com/unciv/ui/cityscreen/CityInfoTable.kt index 18258bdd37..36ec1bc04b 100644 --- a/core/src/com/unciv/ui/cityscreen/CityInfoTable.kt +++ b/core/src/com/unciv/ui/cityscreen/CityInfoTable.kt @@ -2,47 +2,57 @@ package com.unciv.ui.cityscreen import com.badlogic.gdx.graphics.Color import com.badlogic.gdx.scenes.scene2d.Touchable -import com.badlogic.gdx.scenes.scene2d.ui.Image -import com.badlogic.gdx.scenes.scene2d.ui.Skin -import com.badlogic.gdx.scenes.scene2d.ui.Table -import com.badlogic.gdx.scenes.scene2d.ui.TextButton -import com.badlogic.gdx.scenes.scene2d.ui.Label +import com.badlogic.gdx.scenes.scene2d.ui.* import com.badlogic.gdx.utils.Align -import com.unciv.Constants import com.unciv.UncivGame import com.unciv.logic.city.CityInfo import com.unciv.logic.civilization.GreatPersonManager import com.unciv.models.ruleset.Building -import com.unciv.models.translations.tr import com.unciv.models.stats.Stat -import com.unciv.models.stats.Stats +import com.unciv.models.translations.tr import com.unciv.ui.utils.* import com.unciv.ui.worldscreen.optionstable.YesNoPopupTable import java.text.DecimalFormat -import kotlin.math.ceil -import kotlin.math.floor -import kotlin.math.round class CityInfoTable(private val cityScreen: CityScreen) : Table(CameraStageBaseScreen.skin) { - val pad = 5f + private val pad = 10f + + private val showConstructionsTableButton = TextButton("Show construction queue", skin) + private val cityInfoScrollPane: ScrollPane + private val cityInfoTable = Table(skin) + init { - defaults().pad(pad) - width = cityScreen.stage.width/4 + showConstructionsTableButton.onClick { + cityScreen.showConstructionsTable = true + cityScreen.update() + } + + cityInfoTable.width = cityScreen.stage.width/4 + cityInfoTable.background = ImageGetter.getBackground(ImageGetter.getBlue().lerp(Color.BLACK,0.5f)) + cityInfoScrollPane = ScrollPane(cityInfoTable.addBorder(2f, Color.WHITE)) + cityInfoScrollPane.setOverscroll(false, false) + + add(showConstructionsTableButton).left().padLeft(pad).padBottom(pad).row() + add(cityInfoScrollPane).left().row() } internal fun update() { - clear() val cityInfo = cityScreen.city - addCityStats(cityInfo) - addBuildingsInfo(cityInfo) - addStatInfo() - addGreatPersonPointInfo(cityInfo) + cityInfoTable.clear() + //TODO: Sorry, this is a hack, i'm getting tired and needed some content to test the idea + cityInfoTable.apply { + addBuildingsInfo(cityInfo) + addStatInfo() + addGreatPersonPointInfo(cityInfo) + } + + getCell(cityInfoScrollPane).maxHeight(stage.height - showConstructionsTableButton.height - pad - 10f) pack() } - private fun addCategory(str: String, showHideTable: Table) { + private fun Table.addCategory(str: String, showHideTable: Table) { val titleTable = Table().background(ImageGetter.getBackground(ImageGetter.getBlue())) val width = cityScreen.stage.width/4 - 2*pad val showHideTableWrapper = Table() @@ -56,7 +66,7 @@ class CityInfoTable(private val cityScreen: CityScreen) : Table(CameraStageBaseS add(showHideTableWrapper).row() } - fun addBuildingInfo(building: Building, wondersTable: Table){ + private fun Table.addBuildingInfo(building: Building, wondersTable: Table){ val wonderNameAndIconTable = Table() wonderNameAndIconTable.touchable = Touchable.enabled wonderNameAndIconTable.add(ImageGetter.getConstructionImage(building.name).surroundWithCircle(30f)) @@ -96,66 +106,7 @@ class CityInfoTable(private val cityScreen: CityScreen) : Table(CameraStageBaseS } } - private fun addCityStats(cityInfo: CityInfo) { - val statsTable = Table().align(Align.center) - addCategory("Stats", statsTable) - - - val columns = Stats().toHashMap().size - statsTable.add(Label("{Unassigned population}:".tr() - +" "+cityInfo.population.getFreePopulation().toString() + "/" + cityInfo.population.population, skin)) - .pad(5f).row() - - val turnsToExpansionString : String - if (cityInfo.cityStats.currentCityStats.culture > 0) { - var turnsToExpansion = ceil((cityInfo.expansion.getCultureToNextTile() - cityInfo.expansion.cultureStored) - / cityInfo.cityStats.currentCityStats.culture).toInt() - if (turnsToExpansion < 1) turnsToExpansion = 1 - turnsToExpansionString = "[$turnsToExpansion] turns to expansion".tr() - } else { - turnsToExpansionString = "Stopped expansion".tr() - } - - statsTable.add(Label(turnsToExpansionString + " (" + cityInfo.expansion.cultureStored + "/" + cityInfo.expansion.getCultureToNextTile() + ")", - skin)).pad(5f).row() - - val turnsToPopString : String - if (cityInfo.cityStats.currentCityStats.food > 0) { - if (cityInfo.cityConstructions.currentConstruction == Constants.settler) { - turnsToPopString = "Food converts to production".tr() - } else { - var turnsToPopulation = ceil((cityInfo.population.getFoodToNextPopulation()-cityInfo.population.foodStored) - / cityInfo.cityStats.currentCityStats.food).toInt() - if (turnsToPopulation < 1) turnsToPopulation = 1 - turnsToPopString = "[$turnsToPopulation] turns to new population".tr() - } - } else if (cityInfo.cityStats.currentCityStats.food < 0) { - val turnsToStarvation = floor(cityInfo.population.foodStored / -cityInfo.cityStats.currentCityStats.food).toInt() + 1 - turnsToPopString = "[$turnsToStarvation] turns to lose population".tr() - } else { - turnsToPopString = "Stopped population growth".tr() - } - statsTable.add(Label(turnsToPopString + " (" + cityInfo.population.foodStored + "/" + cityInfo.population.getFoodToNextPopulation() + ")" - ,skin)).pad(5f).row() - - if (cityInfo.resistanceCounter > 0) { - statsTable.add(Label("In resistance for another [${cityInfo.resistanceCounter}] turns".tr(),skin)).pad(5f).row() - } - - statsTable.addSeparator() - - val ministatsTable = Table().pad(5f) - ministatsTable.defaults() - statsTable.add(ministatsTable) - - for(stat in cityInfo.cityStats.currentCityStats.toHashMap()) { - if(stat.key == Stat.Happiness) continue - ministatsTable.add(ImageGetter.getStatIcon(stat.key.name)).size(20f).padRight(3f) - ministatsTable.add(round(stat.value).toInt().toString().toLabel()).padRight(13f) - } - } - - private fun addBuildingsInfo(cityInfo: CityInfo) { + private fun Table.addBuildingsInfo(cityInfo: CityInfo) { val wonders = mutableListOf() val specialistBuildings = mutableListOf() val otherBuildings = mutableListOf() @@ -200,7 +151,7 @@ class CityInfoTable(private val cityScreen: CityScreen) : Table(CameraStageBaseS } } - private fun addStatInfo() { + private fun Table.addStatInfo() { val cityStats = cityScreen.city.cityStats for(stat in Stat.values().filter { it!=Stat.Happiness }){ @@ -257,7 +208,7 @@ class CityInfoTable(private val cityScreen: CityScreen) : Table(CameraStageBaseS } } - private fun addGreatPersonPointInfo(cityInfo: CityInfo) { + private fun Table.addGreatPersonPointInfo(cityInfo: CityInfo) { val greatPersonPoints = cityInfo.getGreatPersonMap() val statToGreatPerson = GreatPersonManager().statToGreatPersonMapping for (stat in Stat.values()) { @@ -276,7 +227,7 @@ class CityInfoTable(private val cityScreen: CityScreen) : Table(CameraStageBaseS } } - private fun addSpecialistAllocation(skin: Skin, cityInfo: CityInfo) { + private fun Table.addSpecialistAllocation(skin: Skin, cityInfo: CityInfo) { val specialistAllocationTable = Table() addCategory("Specialist Allocation", specialistAllocationTable) // todo WRONG, BAD - table should contain all the below specialist stuff @@ -346,5 +297,4 @@ class CityInfoTable(private val cityScreen: CityScreen) : Table(CameraStageBaseS return specialist } - } \ No newline at end of file diff --git a/core/src/com/unciv/ui/cityscreen/CityScreen.kt b/core/src/com/unciv/ui/cityscreen/CityScreen.kt index 9060398799..fb08c51ef4 100644 --- a/core/src/com/unciv/ui/cityscreen/CityScreen.kt +++ b/core/src/com/unciv/ui/cityscreen/CityScreen.kt @@ -16,23 +16,26 @@ import com.unciv.ui.map.TileGroupMap import com.unciv.ui.tilegroups.TileSetStrings import com.unciv.ui.utils.* import java.util.* -import kotlin.math.ceil -import kotlin.math.round class CityScreen(internal val city: CityInfo): CameraStageBaseScreen() { var selectedTile: TileInfo? = null var selectedConstruction: IConstruction? = null + /** Toggle between Constructions and cityInfo (buildings, specialists etc. */ + var showConstructionsTable = true + // Clockwise from the top-left /** Displays current production, production queue and available productions list - sits on LEFT */ private var constructionsTable = ConstructionsTable(this) + /** Displays stats, buildings, specialists and stats drilldown - sits on TOP RIGHT */ + private var cityInfoTable = CityInfoTable(this) /** Displays raze city button - sits on TOP CENTER */ private var razeCityButtonHolder = Table() - /** Displays stats, buildings, specialists and stats drilldown - sits on TOP RIGHT */ - private var cityInfoTable = CityInfoTable(this) + /** Displays city stats info */ + private var cityStatsTable = CityStatsTable(this.city) /** Displays tile info, alternate with selectedConstructionTable - sits on BOTTOM RIGHT */ private var tileTable = CityScreenTileTable(city) @@ -49,34 +52,36 @@ class CityScreen(internal val city: CityInfo): CameraStageBaseScreen() { init { onBackButtonClicked { game.setWorldScreen() } UncivGame.Current.settings.addCompletedTutorialTask("Enter city screen") + addTiles() - var buildingsTableContainer = Table() - buildingsTableContainer.pad(3f) - buildingsTableContainer.background = ImageGetter.getBackground(ImageGetter.getBlue().lerp(Color.BLACK,0.5f)) - cityInfoTable.update() - val buildingsScroll = ScrollPane(cityInfoTable) - buildingsTableContainer.add(buildingsScroll).size(stage.width/4,stage.height / 2) - - buildingsTableContainer = buildingsTableContainer.addBorder(2f, Color.WHITE) - buildingsTableContainer.setPosition( stage.width - 5f, stage.height - 5f, Align.topRight) - //stage.setDebugTableUnderMouse(true) + stage.addActor(cityStatsTable) stage.addActor(constructionsTable) stage.addActor(tileTable) stage.addActor(selectedConstructionTable) stage.addActor(cityPickerTable) - stage.addActor(buildingsTableContainer) - + stage.addActor(cityInfoTable) update() } internal fun update() { + if (showConstructionsTable) { + constructionsTable.isVisible = true + cityInfoTable.isVisible = false + } else { + constructionsTable.isVisible = false + cityInfoTable.isVisible = true + } + city.cityStats.update() constructionsTable.update(selectedConstruction) constructionsTable.setPosition(5f, stage.height - 5f, Align.topLeft) + cityInfoTable.update() + cityInfoTable.setPosition(5f, stage.height - 5f, Align.topLeft) + cityPickerTable.update() cityPickerTable.centerX(stage) @@ -86,7 +91,8 @@ class CityScreen(internal val city: CityInfo): CameraStageBaseScreen() { selectedConstructionTable.update(selectedConstruction) selectedConstructionTable.setPosition(stage.width - 5f, 5f, Align.bottomRight) - cityInfoTable.update() + cityStatsTable.update() + cityStatsTable.setPosition( stage.width - 5f, stage.height - 5f, Align.topRight) updateAnnexAndRazeCityButton() updateTileGroups() diff --git a/core/src/com/unciv/ui/cityscreen/CityStatsTable.kt b/core/src/com/unciv/ui/cityscreen/CityStatsTable.kt new file mode 100644 index 0000000000..ee6d4c027e --- /dev/null +++ b/core/src/com/unciv/ui/cityscreen/CityStatsTable.kt @@ -0,0 +1,76 @@ +package com.unciv.ui.cityscreen + +import com.badlogic.gdx.graphics.Color +import com.badlogic.gdx.scenes.scene2d.ui.Table +import com.unciv.Constants +import com.unciv.logic.city.CityInfo +import com.unciv.models.stats.Stat +import com.unciv.models.translations.tr +import com.unciv.ui.utils.ImageGetter +import com.unciv.ui.utils.addSeparator +import com.unciv.ui.utils.colorFromRGB +import com.unciv.ui.utils.toLabel +import kotlin.math.ceil +import kotlin.math.round + +class CityStatsTable(val cityInfo: CityInfo): Table() { + private val innerTable = Table() + + init { + pad(2f) + background = ImageGetter.getBackground(colorFromRGB(194,180,131)) + + innerTable.pad(5f) + innerTable.defaults().pad(5f) + innerTable.background = ImageGetter.getBackground(Color.BLACK.cpy().apply { a=0.8f }) + + add(innerTable).fill() + } + + fun update() { + innerTable.clear() + + val unassignedPopString = "{Unassigned population}:".tr()+ + " "+cityInfo.population.getFreePopulation().toString() + "/" + cityInfo.population.population + + var turnsToExpansionString = + if (cityInfo.cityStats.currentCityStats.culture > 0) { + val remainingCulture = cityInfo.expansion.getCultureToNextTile() - cityInfo.expansion.cultureStored + var turnsToExpansion = ceil(remainingCulture / cityInfo.cityStats.currentCityStats.culture).toInt() + if (turnsToExpansion < 1) turnsToExpansion = 1 + "[$turnsToExpansion] turns to expansion".tr() + } else { + "Stopped expansion".tr() + } + turnsToExpansionString += " (" + cityInfo.expansion.cultureStored + "/" + + cityInfo.expansion.getCultureToNextTile() + ")" + + var turnsToPopString = + when { + cityInfo.isGrowing() -> "[${cityInfo.getNumTurnsToNewPopulation()}] turns to new population".tr() + cityInfo.isStarving() -> "[${cityInfo.getNumTurnsToStarvation()}] turns to lose population".tr() + cityInfo.cityConstructions.currentConstruction == Constants.settler -> "Food converts to production".tr() + else -> "Stopped population growth".tr() + } + turnsToPopString += " (" + cityInfo.population.foodStored + "/" + cityInfo.population.getFoodToNextPopulation() + ")" + + val ministatsTable = Table().pad(5f) + ministatsTable.defaults() + + for(stat in cityInfo.cityStats.currentCityStats.toHashMap()) { + if(stat.key == Stat.Happiness) continue + ministatsTable.add(ImageGetter.getStatIcon(stat.key.name)).size(20f).padRight(3f) + ministatsTable.add(round(stat.value).toInt().toString().toLabel()).padRight(13f) + } + + innerTable.add(unassignedPopString.toLabel()).row() + innerTable.add(turnsToExpansionString.toLabel()).row() + innerTable.add(turnsToPopString.toLabel()).row() + if (cityInfo.isInResistance()) + innerTable.add("In resistance for another [${cityInfo.resistanceCounter}] turns".toLabel()).row() + innerTable.addSeparator() + innerTable.add(ministatsTable) + + pack() + } +} \ No newline at end of file diff --git a/core/src/com/unciv/ui/cityscreen/ConstructionsTable.kt b/core/src/com/unciv/ui/cityscreen/ConstructionsTable.kt index cab8299355..5dcd1c02ac 100644 --- a/core/src/com/unciv/ui/cityscreen/ConstructionsTable.kt +++ b/core/src/com/unciv/ui/cityscreen/ConstructionsTable.kt @@ -2,17 +2,17 @@ package com.unciv.ui.cityscreen import com.badlogic.gdx.graphics.Color import com.badlogic.gdx.scenes.scene2d.Touchable -import com.badlogic.gdx.scenes.scene2d.ui.* +import com.badlogic.gdx.scenes.scene2d.ui.ScrollPane +import com.badlogic.gdx.scenes.scene2d.ui.Table +import com.badlogic.gdx.scenes.scene2d.ui.TextButton import com.badlogic.gdx.utils.Align import com.unciv.UncivGame import com.unciv.logic.city.CityInfo import com.unciv.logic.city.IConstruction import com.unciv.logic.city.SpecialConstruction import com.unciv.models.UncivSound -import com.unciv.models.ruleset.Building -import com.unciv.models.ruleset.unit.BaseUnit -import com.unciv.models.translations.tr import com.unciv.models.stats.Stat +import com.unciv.models.translations.tr import com.unciv.ui.utils.* import com.unciv.ui.worldscreen.optionstable.YesNoPopupTable @@ -20,6 +20,7 @@ class ConstructionsTable(val cityScreen: CityScreen) : Table(CameraStageBaseScre /* -2 = Nothing, -1 = current construction, >= 0 queue entry */ private var selectedQueueEntry = -2 // None + private val showCityInfoTableButton: TextButton private val constructionsQueueScrollPane: ScrollPane private val availableConstructionsScrollPane: ScrollPane @@ -30,12 +31,21 @@ class ConstructionsTable(val cityScreen: CityScreen) : Table(CameraStageBaseScre private val pad = 10f init { + showCityInfoTableButton = TextButton("Show stats drilldown", skin) + showCityInfoTableButton.onClick { + cityScreen.showConstructionsTable = false + cityScreen.update() + } + constructionsQueueScrollPane = ScrollPane(constructionsQueueTable.addBorder(2f, Color.WHITE)) + constructionsQueueScrollPane.setOverscroll(false,false) availableConstructionsScrollPane = ScrollPane(availableConstructionsTable.addBorder(2f, Color.WHITE)) + availableConstructionsScrollPane.setOverscroll(false,false) constructionsQueueTable.background = ImageGetter.getBackground(Color.BLACK) availableConstructionsTable.background = ImageGetter.getBackground(Color.BLACK) + add(showCityInfoTableButton).left().padLeft(pad).padBottom(pad).row() add(constructionsQueueScrollPane).left().padBottom(pad).row() add(buttons).center().bottom().padBottom(pad).row() add(availableConstructionsScrollPane).left().bottom().row() @@ -57,7 +67,7 @@ class ConstructionsTable(val cityScreen: CityScreen) : Table(CameraStageBaseScre // Need to pack before computing space left for bottom panel pack() - val usedHeight = constructionsQueueScrollPane.height + buttons.height + 2f * pad + 10f + val usedHeight = showCityInfoTableButton.height + constructionsQueueScrollPane.height + buttons.height + 3f * pad + 10f updateAvailableConstructions() availableConstructionsScrollPane.layout() @@ -103,7 +113,8 @@ class ConstructionsTable(val cityScreen: CityScreen) : Table(CameraStageBaseScre queue.forEachIndexed { i, constructionName -> constructionsQueueTable.add(getQueueEntry(i, constructionName, i == queue.size - 1, i == selectedQueueEntry)) .expandX().fillX().row() - constructionsQueueTable.addSeparator() + if (i != queue.size - 1) + constructionsQueueTable.addSeparator() } } else constructionsQueueTable.add("Queue empty".toLabel()).pad(2f).row() @@ -206,7 +217,8 @@ class ConstructionsTable(val cityScreen: CityScreen) : Table(CameraStageBaseScre } else { pickProductionButton.color = Color.GRAY pickProductionButton.row() - pickProductionButton.add(rejectionReason.toLabel(Color.RED)).colspan(pickProductionButton.columns).fillX().left().padTop(2f) + pickProductionButton.add(rejectionReason.toLabel(Color.RED).apply{ setWrap(true)} ) + .colspan(pickProductionButton.columns).fillX().left().padTop(2f) } return pickProductionButton @@ -259,10 +271,14 @@ class ConstructionsTable(val cityScreen: CityScreen) : Table(CameraStageBaseScre if (construction != null && construction.canBePurchased() && UncivGame.Current.worldScreen.isPlayersTurn - && !city.isPuppet) { + && !city.isPuppet + && !city.isInResistance()) { + val constructionGoldCost = construction.getGoldCost(city.civInfo) - purchaseConstructionButton = TextButton("Buy for [$constructionGoldCost] gold".tr(), CameraStageBaseScreen.skin) - purchaseConstructionButton.onClick(UncivSound.Coin) { + button.setText("Buy".tr() + " " + constructionGoldCost) + button.add(ImageGetter.getStatIcon(Stat.Gold.name)).size(20f).padBottom(2f) + + button.onClick(UncivSound.Coin) { YesNoPopupTable("Would you like to purchase [${construction.name}] for [$constructionGoldCost] gold?".tr(), { cityConstructions.purchaseConstruction(construction.name) if (isSelectedQueueEntry()) { diff --git a/core/src/com/unciv/ui/worldscreen/WorldScreen.kt b/core/src/com/unciv/ui/worldscreen/WorldScreen.kt index 8bb3d5cca4..3e9e221617 100644 --- a/core/src/com/unciv/ui/worldscreen/WorldScreen.kt +++ b/core/src/com/unciv/ui/worldscreen/WorldScreen.kt @@ -26,15 +26,7 @@ import com.unciv.ui.pickerscreens.PolicyPickerScreen import com.unciv.ui.pickerscreens.TechButton import com.unciv.ui.pickerscreens.TechPickerScreen import com.unciv.ui.trade.DiplomacyScreen -import com.unciv.ui.utils.CameraStageBaseScreen -import com.unciv.ui.utils.ImageGetter -import com.unciv.ui.utils.centerX -import com.unciv.ui.utils.colorFromRGB -import com.unciv.ui.utils.disable -import com.unciv.ui.utils.enable -import com.unciv.ui.utils.onClick -import com.unciv.ui.utils.setFontSize -import com.unciv.ui.utils.toLabel +import com.unciv.ui.utils.* import com.unciv.ui.worldscreen.bottombar.BattleTable import com.unciv.ui.worldscreen.bottombar.TileInfoTable import com.unciv.ui.worldscreen.optionstable.OnlineMultiplayer @@ -234,7 +226,8 @@ class WorldScreen(val viewingCiv:CivilizationInfo) : CameraStageBaseScreen() { return "Pick a technology to research!\nClick on the tech button (greenish, top left) > " + "\n select technology > click 'Research' (bottom right)" if(!completedTasks.contains("Pick construction")) - return "Pick a construction!\nEnter city screen > Click on a unit or building (left side)" + return "Pick a construction!\nEnter city screen > Click on a unit or building (bottom left side) >" + + " \n click 'add to queue'" if(!completedTasks.contains("Pass a turn")) return "Pass a turn!\nCycle through units with 'Next unit' > Click 'Next turn'" if(!completedTasks.contains("Reassign worked tiles"))