mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-28 14:24:43 -04:00
Recycling center (#5738)
* Add support to UniqueType.MaxNumberBuilding (including rejectionReasons) Add Recycling Center entry to JSON Need Graphical Icon * Fix typo Add TODO * adding Recycling Center icon * Credit update for icon Rephrase Rejection text Updated .atlas and .png Add code to block showing Recycling Center * Fix using placeholderText Set shouldShow to True so iot still appears while under construction but not completed * Rejection Text now working Remove debug prints * Remove odd extra lines * extra lines * Remove excessive if statement in shouldBeDisplayed Reword text. Unique can apply to Buildings and Units Refactor Signature since not just Buildings * Adding code to remove building in transferred city Co-authored-by: temurakami <spellman23@gmail.com>
This commit is contained in:
parent
8060b69378
commit
7f07bcb9e5
BIN
android/Images.Construction/BuildingIcons/Recycling Center.png
Normal file
BIN
android/Images.Construction/BuildingIcons/Recycling Center.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
@ -599,415 +599,422 @@ BuildingIcons/Pyramid
|
|||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/Research Lab
|
BuildingIcons/Recycling Center
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1192, 1142
|
xy: 1192, 1142
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/SS Booster
|
BuildingIcons/Research Lab
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1516, 1466
|
xy: 1300, 1250
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/SS Cockpit
|
BuildingIcons/SS Booster
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1624, 1574
|
xy: 1624, 1574
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/SS Engine
|
BuildingIcons/SS Cockpit
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1732, 1683
|
xy: 1732, 1683
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/SS Stasis Chamber
|
BuildingIcons/SS Engine
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1840, 1790
|
xy: 1840, 1790
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
|
BuildingIcons/SS Stasis Chamber
|
||||||
|
rotate: false
|
||||||
|
xy: 220, 62
|
||||||
|
size: 100, 100
|
||||||
|
orig: 100, 100
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
BuildingIcons/Satrap's Court
|
BuildingIcons/Satrap's Court
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 328, 170
|
xy: 436, 278
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/Seaport
|
BuildingIcons/Seaport
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 652, 494
|
xy: 760, 602
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/Shrine
|
BuildingIcons/Shrine
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 976, 818
|
xy: 1084, 932
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/Sistine Chapel
|
BuildingIcons/Sistine Chapel
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1192, 1034
|
xy: 1300, 1142
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/Solar Plant
|
BuildingIcons/Solar Plant
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1516, 1358
|
xy: 1624, 1466
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/Spaceship Factory
|
BuildingIcons/Spaceship Factory
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1624, 1466
|
xy: 1732, 1575
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/Stable
|
BuildingIcons/Stable
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1840, 1682
|
xy: 328, 62
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/Stadium
|
BuildingIcons/Stadium
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 328, 62
|
xy: 436, 170
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/Statue of Liberty
|
BuildingIcons/Statue of Liberty
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 436, 170
|
xy: 544, 278
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/Statue of Zeus
|
BuildingIcons/Statue of Zeus
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 544, 278
|
xy: 652, 386
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/Stele
|
BuildingIcons/Stele
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 760, 494
|
xy: 868, 602
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/Stock Exchange
|
BuildingIcons/Stock Exchange
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 868, 602
|
xy: 976, 710
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/Stone Works
|
BuildingIcons/Stone Works
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 976, 710
|
xy: 1084, 824
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/Stonehenge
|
BuildingIcons/Stonehenge
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1084, 824
|
xy: 1192, 926
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/Sydney Opera House
|
BuildingIcons/Sydney Opera House
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1408, 1142
|
xy: 1516, 1250
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/Taj Mahal
|
BuildingIcons/Taj Mahal
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1516, 1250
|
xy: 1624, 1358
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/Temple
|
BuildingIcons/Temple
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1732, 1467
|
xy: 1840, 1574
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/Temple of Artemis
|
BuildingIcons/Temple of Artemis
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1840, 1574
|
xy: 436, 62
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/Terracotta Army
|
BuildingIcons/Terracotta Army
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 544, 170
|
xy: 652, 278
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/The Great Library
|
BuildingIcons/The Great Library
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 652, 278
|
xy: 760, 386
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/The Great Lighthouse
|
BuildingIcons/The Great Lighthouse
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 760, 386
|
xy: 868, 494
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/The Louvre
|
BuildingIcons/The Louvre
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 868, 494
|
xy: 976, 602
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/The Oracle
|
BuildingIcons/The Oracle
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 976, 602
|
xy: 1084, 716
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/The Pyramids
|
BuildingIcons/The Pyramids
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1084, 716
|
xy: 1192, 818
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/Theatre
|
BuildingIcons/Theatre
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1192, 818
|
xy: 1300, 926
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/United Nations
|
BuildingIcons/United Nations
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1732, 1359
|
xy: 1840, 1466
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/University
|
BuildingIcons/University
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1840, 1466
|
xy: 544, 62
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/Utopia Project
|
BuildingIcons/Utopia Project
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 544, 62
|
xy: 652, 170
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/Walls
|
BuildingIcons/Walls
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 652, 170
|
xy: 760, 278
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/Walls of Babylon
|
BuildingIcons/Walls of Babylon
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 760, 278
|
xy: 868, 386
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/Wat
|
BuildingIcons/Wat
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1192, 710
|
xy: 1300, 818
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/Water Mill
|
BuildingIcons/Water Mill
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1300, 818
|
xy: 1408, 926
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/Windmill
|
BuildingIcons/Windmill
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1408, 926
|
xy: 1516, 1034
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BuildingIcons/Workshop
|
BuildingIcons/Workshop
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1732, 1251
|
xy: 1840, 1358
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
MayaCalendar/0
|
MayaCalendar/0
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1840, 1300
|
xy: 62, 4
|
||||||
size: 25, 50
|
size: 25, 50
|
||||||
orig: 25, 50
|
orig: 25, 50
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
MayaCalendar/1
|
MayaCalendar/1
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 916, 328
|
xy: 1024, 436
|
||||||
size: 13, 50
|
size: 13, 50
|
||||||
orig: 13, 50
|
orig: 13, 50
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
MayaCalendar/10
|
MayaCalendar/10
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 818, 220
|
xy: 926, 328
|
||||||
size: 21, 50
|
size: 21, 50
|
||||||
orig: 21, 50
|
orig: 21, 50
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
MayaCalendar/11
|
MayaCalendar/11
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1300, 760
|
xy: 1408, 868
|
||||||
size: 35, 50
|
size: 35, 50
|
||||||
orig: 35, 50
|
orig: 35, 50
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
MayaCalendar/12
|
MayaCalendar/12
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1408, 868
|
xy: 1516, 976
|
||||||
size: 35, 50
|
size: 35, 50
|
||||||
orig: 35, 50
|
orig: 35, 50
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
MayaCalendar/13
|
MayaCalendar/13
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1516, 975
|
xy: 1624, 1083
|
||||||
size: 35, 50
|
size: 35, 50
|
||||||
orig: 35, 50
|
orig: 35, 50
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
MayaCalendar/14
|
MayaCalendar/14
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1624, 1084
|
xy: 1732, 1193
|
||||||
size: 35, 50
|
size: 35, 50
|
||||||
orig: 35, 50
|
orig: 35, 50
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
MayaCalendar/15
|
MayaCalendar/15
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1732, 1193
|
xy: 1840, 1300
|
||||||
size: 30, 50
|
size: 30, 50
|
||||||
orig: 30, 50
|
orig: 30, 50
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
MayaCalendar/16
|
MayaCalendar/16
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 868, 328
|
xy: 976, 436
|
||||||
size: 40, 50
|
size: 40, 50
|
||||||
orig: 40, 50
|
orig: 40, 50
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
MayaCalendar/17
|
MayaCalendar/17
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 976, 436
|
xy: 1084, 550
|
||||||
size: 40, 50
|
size: 40, 50
|
||||||
orig: 40, 50
|
orig: 40, 50
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
MayaCalendar/18
|
MayaCalendar/18
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1084, 550
|
xy: 1192, 652
|
||||||
size: 40, 50
|
size: 40, 50
|
||||||
orig: 40, 50
|
orig: 40, 50
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
MayaCalendar/19
|
MayaCalendar/19
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1192, 652
|
xy: 1300, 760
|
||||||
size: 40, 50
|
size: 40, 50
|
||||||
orig: 40, 50
|
orig: 40, 50
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
MayaCalendar/2
|
MayaCalendar/2
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1024, 436
|
xy: 1132, 550
|
||||||
size: 13, 50
|
size: 13, 50
|
||||||
orig: 13, 50
|
orig: 13, 50
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
MayaCalendar/3
|
MayaCalendar/3
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1132, 550
|
xy: 1240, 652
|
||||||
size: 13, 50
|
size: 13, 50
|
||||||
orig: 13, 50
|
orig: 13, 50
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
MayaCalendar/4
|
MayaCalendar/4
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1240, 652
|
xy: 1348, 760
|
||||||
size: 13, 50
|
size: 13, 50
|
||||||
orig: 13, 50
|
orig: 13, 50
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
MayaCalendar/5
|
MayaCalendar/5
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1343, 760
|
xy: 1451, 868
|
||||||
size: 10, 50
|
size: 10, 50
|
||||||
orig: 10, 50
|
orig: 10, 50
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
MayaCalendar/6
|
MayaCalendar/6
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 62, 4
|
xy: 1948, 1890
|
||||||
size: 25, 50
|
size: 25, 50
|
||||||
orig: 25, 50
|
orig: 25, 50
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
MayaCalendar/7
|
MayaCalendar/7
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1948, 1890
|
xy: 2006, 1948
|
||||||
size: 25, 50
|
size: 25, 50
|
||||||
orig: 25, 50
|
orig: 25, 50
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
MayaCalendar/8
|
MayaCalendar/8
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 2006, 1948
|
xy: 760, 162
|
||||||
size: 25, 50
|
size: 25, 50
|
||||||
orig: 25, 50
|
orig: 25, 50
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
MayaCalendar/9
|
MayaCalendar/9
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 710, 112
|
xy: 818, 220
|
||||||
size: 25, 50
|
size: 25, 50
|
||||||
orig: 25, 50
|
orig: 25, 50
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
@ -1028,14 +1035,14 @@ MayaCalendar/Katun
|
|||||||
index: -1
|
index: -1
|
||||||
MayaCalendar/Maya
|
MayaCalendar/Maya
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 652, 112
|
xy: 760, 220
|
||||||
size: 50, 50
|
size: 50, 50
|
||||||
orig: 50, 50
|
orig: 50, 50
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
MayaCalendar/Tun
|
MayaCalendar/Tun
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 760, 220
|
xy: 868, 328
|
||||||
size: 50, 50
|
size: 50, 50
|
||||||
orig: 50, 50
|
orig: 50, 50
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
@ -1714,182 +1721,182 @@ UnitIcons/Quinquereme
|
|||||||
index: -1
|
index: -1
|
||||||
UnitIcons/Rifleman
|
UnitIcons/Rifleman
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1300, 1250
|
xy: 1408, 1358
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitIcons/Rocket Artillery
|
UnitIcons/Rocket Artillery
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1408, 1358
|
xy: 1516, 1466
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitIcons/Samurai
|
UnitIcons/Samurai
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 220, 62
|
xy: 328, 170
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitIcons/Scout
|
UnitIcons/Scout
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 436, 278
|
xy: 544, 386
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitIcons/Sea Beggar
|
UnitIcons/Sea Beggar
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 544, 386
|
xy: 652, 494
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitIcons/Settler
|
UnitIcons/Settler
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 760, 602
|
xy: 868, 710
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitIcons/Ship of the Line
|
UnitIcons/Ship of the Line
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 868, 710
|
xy: 976, 818
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitIcons/Sipahi
|
UnitIcons/Sipahi
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1084, 932
|
xy: 1192, 1034
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitIcons/Skirmisher
|
UnitIcons/Skirmisher
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1300, 1142
|
xy: 1408, 1250
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitIcons/Slinger
|
UnitIcons/Slinger
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1408, 1250
|
xy: 1516, 1358
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitIcons/Spearman
|
UnitIcons/Spearman
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1732, 1575
|
xy: 1840, 1682
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitIcons/Stealth Bomber
|
UnitIcons/Stealth Bomber
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 652, 386
|
xy: 760, 494
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitIcons/Submarine
|
UnitIcons/Submarine
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1192, 926
|
xy: 1300, 1034
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitIcons/Swordsman
|
UnitIcons/Swordsman
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1300, 1034
|
xy: 1408, 1142
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitIcons/Tank
|
UnitIcons/Tank
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1624, 1358
|
xy: 1732, 1467
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitIcons/Tercio
|
UnitIcons/Tercio
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 436, 62
|
xy: 544, 170
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitIcons/Trebuchet
|
UnitIcons/Trebuchet
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1300, 926
|
xy: 1408, 1034
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitIcons/Triplane
|
UnitIcons/Triplane
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1408, 1034
|
xy: 1516, 1142
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitIcons/Trireme
|
UnitIcons/Trireme
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1516, 1141
|
xy: 1624, 1249
|
||||||
size: 100, 101
|
size: 100, 101
|
||||||
orig: 100, 101
|
orig: 100, 101
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitIcons/Turtle Ship
|
UnitIcons/Turtle Ship
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1624, 1250
|
xy: 1732, 1359
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitIcons/War Chariot
|
UnitIcons/War Chariot
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 868, 386
|
xy: 976, 494
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitIcons/War Elephant
|
UnitIcons/War Elephant
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 976, 494
|
xy: 1084, 608
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitIcons/Warrior
|
UnitIcons/Warrior
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1084, 608
|
xy: 1192, 710
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitIcons/Work Boats
|
UnitIcons/Work Boats
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1516, 1033
|
xy: 1624, 1141
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitIcons/Worker
|
UnitIcons/Worker
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1624, 1142
|
xy: 1732, 1251
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
UnitIcons/Zero
|
UnitIcons/Zero
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1840, 1358
|
xy: 652, 62
|
||||||
size: 100, 100
|
size: 100, 100
|
||||||
orig: 100, 100
|
orig: 100, 100
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 714 KiB After Width: | Height: | Size: 717 KiB |
@ -1049,6 +1049,12 @@
|
|||||||
"requiredTech": "Ecology",
|
"requiredTech": "Ecology",
|
||||||
"uniques": ["Must be next to [Desert]", "Cannot be built with [Nuclear Plant]"]
|
"uniques": ["Must be next to [Desert]", "Cannot be built with [Nuclear Plant]"]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Recycling Center",
|
||||||
|
"maintenance": 3,
|
||||||
|
"requiredTech": "Ecology",
|
||||||
|
"uniques": ["Provides [2] [Aluminum]","Limited to [5] per Civilization"]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Sydney Opera House",
|
"name": "Sydney Opera House",
|
||||||
"isWonder": true,
|
"isWonder": true,
|
||||||
|
@ -10,6 +10,7 @@ import com.unciv.logic.civilization.diplomacy.DiplomaticStatus
|
|||||||
import com.unciv.logic.trade.TradeLogic
|
import com.unciv.logic.trade.TradeLogic
|
||||||
import com.unciv.logic.trade.TradeOffer
|
import com.unciv.logic.trade.TradeOffer
|
||||||
import com.unciv.logic.trade.TradeType
|
import com.unciv.logic.trade.TradeType
|
||||||
|
import com.unciv.models.ruleset.unique.UniqueType
|
||||||
import com.unciv.ui.utils.withoutItem
|
import com.unciv.ui.utils.withoutItem
|
||||||
import java.util.*
|
import java.util.*
|
||||||
import kotlin.math.max
|
import kotlin.math.max
|
||||||
@ -260,6 +261,19 @@ class CityInfoConquestFunctions(val city: CityInfo){
|
|||||||
removeBuildingsOnMoveToCiv(oldCiv)
|
removeBuildingsOnMoveToCiv(oldCiv)
|
||||||
// Add our free buildings to this city and add free buildings provided by the city to other cities
|
// Add our free buildings to this city and add free buildings provided by the city to other cities
|
||||||
civInfo.civConstructions.tryAddFreeBuildings()
|
civInfo.civConstructions.tryAddFreeBuildings()
|
||||||
|
// Check if we exceed MaxNumberBuildable for any buildings
|
||||||
|
for (building in cityConstructions.getBuiltBuildings()) {
|
||||||
|
for (unique in building.getMatchingUniques(UniqueType.MaxNumberBuildable)) {
|
||||||
|
if (civInfo.cities.count {
|
||||||
|
it.cityConstructions.containsBuildingOrEquivalent(building.name) ||
|
||||||
|
it.cityConstructions.isBeingConstructedOrEnqueued(building.name)
|
||||||
|
}
|
||||||
|
>= unique.params[0].toInt()) {
|
||||||
|
// For now, just destroy in new city. Even if constructing in own cities
|
||||||
|
city.cityConstructions.removeBuilding(building.name)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Place palace for newCiv if this is the only city they have
|
// Place palace for newCiv if this is the only city they have
|
||||||
if (newCivInfo.cities.count() == 1) {
|
if (newCivInfo.cities.count() == 1) {
|
||||||
|
@ -120,7 +120,8 @@ class RejectionReasons: HashSet<RejectionReason>() {
|
|||||||
RejectionReason.RequiresBuildingInSomeCity,
|
RejectionReason.RequiresBuildingInSomeCity,
|
||||||
RejectionReason.PopulationRequirement,
|
RejectionReason.PopulationRequirement,
|
||||||
RejectionReason.ConsumesResources,
|
RejectionReason.ConsumesResources,
|
||||||
RejectionReason.CanOnlyBePurchased
|
RejectionReason.CanOnlyBePurchased,
|
||||||
|
RejectionReason.MaxNumberBuildable
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -142,6 +143,7 @@ enum class RejectionReason(val shouldShow: Boolean, var errorMessage: String) {
|
|||||||
MustOwnTile(false, "Must own a specific tile close by"),
|
MustOwnTile(false, "Must own a specific tile close by"),
|
||||||
WaterUnitsInCoastalCities(false, "May only built water units in coastal cities"),
|
WaterUnitsInCoastalCities(false, "May only built water units in coastal cities"),
|
||||||
CanOnlyBeBuiltInSpecificCities(false, "Can only be built in specific cities"),
|
CanOnlyBeBuiltInSpecificCities(false, "Can only be built in specific cities"),
|
||||||
|
MaxNumberBuildable(true, "Maximum number being built"),
|
||||||
|
|
||||||
UniqueToOtherNation(false, "Unique to another nation"),
|
UniqueToOtherNation(false, "Unique to another nation"),
|
||||||
ReplacedByOurUnique(false, "Our unique replaces this"),
|
ReplacedByOurUnique(false, "Our unique replaces this"),
|
||||||
|
@ -454,6 +454,11 @@ class Building : RulesetStatsObject(), INonPerpetualConstruction {
|
|||||||
override fun shouldBeDisplayed(cityConstructions: CityConstructions): Boolean {
|
override fun shouldBeDisplayed(cityConstructions: CityConstructions): Boolean {
|
||||||
if (cityConstructions.isBeingConstructedOrEnqueued(name))
|
if (cityConstructions.isBeingConstructedOrEnqueued(name))
|
||||||
return false
|
return false
|
||||||
|
for (unique in getMatchingUniques(UniqueType.MaxNumberBuildable)){
|
||||||
|
if (cityConstructions.cityInfo.civInfo.cities.count{it.cityConstructions.containsBuildingOrEquivalent(name)}>=unique.params[0].toInt())
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
val rejectionReasons = getRejectionReasons(cityConstructions)
|
val rejectionReasons = getRejectionReasons(cityConstructions)
|
||||||
return rejectionReasons.none { !it.shouldShow }
|
return rejectionReasons.none { !it.shouldShow }
|
||||||
|| (
|
|| (
|
||||||
@ -539,6 +544,15 @@ class Building : RulesetStatsObject(), INonPerpetualConstruction {
|
|||||||
UniqueType.HiddenWithoutReligion.text ->
|
UniqueType.HiddenWithoutReligion.text ->
|
||||||
if (!civInfo.gameInfo.isReligionEnabled())
|
if (!civInfo.gameInfo.isReligionEnabled())
|
||||||
rejectionReasons.add(RejectionReason.DisabledBySetting)
|
rejectionReasons.add(RejectionReason.DisabledBySetting)
|
||||||
|
|
||||||
|
UniqueType.MaxNumberBuildable.placeholderText ->
|
||||||
|
if (civInfo.cities.count {
|
||||||
|
it.cityConstructions.containsBuildingOrEquivalent(name) ||
|
||||||
|
it.cityConstructions.isBeingConstructedOrEnqueued(name)
|
||||||
|
}
|
||||||
|
>= unique.params[0].toInt()) {
|
||||||
|
rejectionReasons.add(RejectionReason.MaxNumberBuildable)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -202,7 +202,7 @@ enum class UniqueType(val text:String, vararg targets: UniqueTarget, val flags:
|
|||||||
CannotBePurchased("Cannot be purchased", UniqueTarget.Building, UniqueTarget.Unit),
|
CannotBePurchased("Cannot be purchased", UniqueTarget.Building, UniqueTarget.Unit),
|
||||||
CanBePurchasedWithStat("Can be purchased with [stat] [cityFilter]", UniqueTarget.Building, UniqueTarget.Unit),
|
CanBePurchasedWithStat("Can be purchased with [stat] [cityFilter]", UniqueTarget.Building, UniqueTarget.Unit),
|
||||||
CanBePurchasedForAmountStat("Can be purchased for [amount] [stat] [cityFilter]", UniqueTarget.Building, UniqueTarget.Unit),
|
CanBePurchasedForAmountStat("Can be purchased for [amount] [stat] [cityFilter]", UniqueTarget.Building, UniqueTarget.Unit),
|
||||||
|
MaxNumberBuildable("Limited to [amount] per Civilization", UniqueTarget.Building, UniqueTarget.Unit),
|
||||||
|
|
||||||
///////////////////////////////////////// BUILDING UNIQUES /////////////////////////////////////////
|
///////////////////////////////////////// BUILDING UNIQUES /////////////////////////////////////////
|
||||||
|
|
||||||
|
@ -325,6 +325,7 @@ Unless otherwise specified, all the following are from [the Noun Project](https:
|
|||||||
* [Chemistry](https://thenounproject.com/term/chemistry/175847/) By Creative Stall for Medical Lab
|
* [Chemistry](https://thenounproject.com/term/chemistry/175847/) By Creative Stall for Medical Lab
|
||||||
* [Pentagon](https://thenounproject.com/search/?q=the%20pentagon&i=1788323) By Maxim Kulikov
|
* [Pentagon](https://thenounproject.com/search/?q=the%20pentagon&i=1788323) By Maxim Kulikov
|
||||||
* [Solar panel](https://thenounproject.com/term/solar-panel/1131/) By Modik for Solar Plant
|
* [Solar panel](https://thenounproject.com/term/solar-panel/1131/) By Modik for Solar Plant
|
||||||
|
* [Recycle](https://thenounproject.com/search/?q=recycling&i=4397434) By Umer Younas, PK for Recycling Center
|
||||||
* [Opera House Sydney](https://thenounproject.com/term/opera-house-sydney/1626283/) By Pham Duy Phuong Hung for Sydney Opera House
|
* [Opera House Sydney](https://thenounproject.com/term/opera-house-sydney/1626283/) By Pham Duy Phuong Hung for Sydney Opera House
|
||||||
* [Water dam](https://thenounproject.com/term/water-dam/1002726/) By Symbolon for Hydro Plant
|
* [Water dam](https://thenounproject.com/term/water-dam/1002726/) By Symbolon for Hydro Plant
|
||||||
* [Manhattan Project](https://thenounproject.com/search/?q=Nuclear%20Bomb&i=2041074) By corpus delicti, GR
|
* [Manhattan Project](https://thenounproject.com/search/?q=Nuclear%20Bomb&i=2041074) By corpus delicti, GR
|
||||||
|
Loading…
x
Reference in New Issue
Block a user