Merge remote-tracking branch 'upstream/master'
update
BIN
android/Images/UnitPromotionIcons/Blitz.png
Normal file
After Width: | Height: | Size: 764 B |
BIN
android/Images/UnitPromotionIcons/March.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.9 KiB |
BIN
android/Images/UnitPromotionIcons/Mobility.png
Normal file
After Width: | Height: | Size: 761 B |
Before Width: | Height: | Size: 1.9 KiB |
BIN
android/Images/UnitPromotionIcons/Volley.png
Normal file
After Width: | Height: | Size: 500 B |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 1 MiB After Width: | Height: | Size: 1 MiB |
|
@ -489,7 +489,8 @@
|
|||
culture:1,
|
||||
isWonder:true,
|
||||
uniques:["Culture in all cities increased by 25%"],
|
||||
requiredTech:"Acoustics"
|
||||
requiredTech:"Acoustics",
|
||||
quote:"'I live and love in God's peculiar light.' - Michelangelo Buonarroti"
|
||||
},
|
||||
{
|
||||
name:"Bank",
|
||||
|
@ -529,7 +530,8 @@
|
|||
culture:1,
|
||||
isWonder:true,
|
||||
uniques:["Unhappiness from population decreased by 10%"],
|
||||
requiredTech:"Banking"
|
||||
requiredTech:"Banking",
|
||||
quote:"'Most of us can, as we choose, make of this world either a palace or a prison' - John Lubbock"
|
||||
},
|
||||
{
|
||||
name:"Theatre",
|
||||
|
@ -545,6 +547,7 @@
|
|||
isWonder:true,
|
||||
uniques:["Free Great Person"]
|
||||
requiredTech:"Printing Press"
|
||||
quote:"'Don't clap too hard - it's a very old building.' - John Osbourne"
|
||||
},
|
||||
{
|
||||
name:"Himeji Castle",
|
||||
|
@ -552,8 +555,9 @@
|
|||
isWonder:true,
|
||||
greatPersonPoints:{production:2}
|
||||
providesFreeBuilding:"Castle",
|
||||
uniques:["+15% combat strength for units fighting in friendly territory"] // todo
|
||||
requiredTech:"Gunpowder"
|
||||
uniques:["+15% combat strength for units fighting in friendly territory"]
|
||||
requiredTech:"Gunpowder",
|
||||
quote:"'Bushido is realized in the presence of death. This means choosing death whenever there is a choice between life and death. There is no other reasoning.' - Yamamoto Tsunetomo"
|
||||
},
|
||||
{
|
||||
name:"Museum",
|
||||
|
@ -578,7 +582,8 @@
|
|||
happiness:4,
|
||||
isWonder:true,
|
||||
uniques:["Free Great Artist Appears"],
|
||||
requiredTech:"Archaeology"
|
||||
requiredTech:"Archaeology",
|
||||
quote:"'Every genuine work of art has as much reason for being as the earth and the sun' - Ralph Waldo Emerson"
|
||||
},
|
||||
{
|
||||
name:"Seaport",
|
||||
|
@ -595,7 +600,8 @@
|
|||
happiness:4,
|
||||
isWonder:true,
|
||||
uniques:["Empire enters golden age"],
|
||||
requiredTech:"Architecture"
|
||||
requiredTech:"Architecture",
|
||||
quote:"'The Taj Mahal rises above the banks of the river like a solitary tear suspended on the cheek of time.' - Rabindranath Tagore"
|
||||
},
|
||||
{
|
||||
name:"Porcelain Tower",
|
||||
|
@ -603,7 +609,8 @@
|
|||
greatPersonPoints:{science:2},
|
||||
isWonder:true,
|
||||
uniques:["Free great scientist appears","Production to science conversion in cities increased by 33%"],
|
||||
requiredTech:"Architecture"
|
||||
requiredTech:"Architecture",
|
||||
quote:"'Things always seem fairer when we look back at them, and it is out of that inaccessible tower of the past that Longing leans and beckons.' - James Russell Lowell"
|
||||
},
|
||||
{
|
||||
name:"Windmill",
|
||||
|
@ -670,7 +677,8 @@
|
|||
gold:4,
|
||||
isWonder:true,
|
||||
uniques:["-15% to purchasing items in cities"],
|
||||
requiredTech:"Industrialization"
|
||||
requiredTech:"Industrialization",
|
||||
quote:"'To achieve great things, two things are needed: a plan, and not quite enough time.' - Leonard Bernstein"
|
||||
},
|
||||
|
||||
// Modern Era
|
||||
|
@ -689,14 +697,16 @@
|
|||
happiness:5
|
||||
isWonder:true,
|
||||
uniques:["Provides 1 happiness per social policy"],
|
||||
requiredTech:"Radio"
|
||||
requiredTech:"Radio",
|
||||
quote:"'We live only to discover beauty, all else is a form of waiting' - Kahlil Gibran"
|
||||
},
|
||||
{
|
||||
name:"Statue of Liberty",
|
||||
culture:1,
|
||||
isWonder:true,
|
||||
uniques:["+1 Production from specialists"],
|
||||
requiredTech:"Replaceable Parts"
|
||||
requiredTech:"Replaceable Parts",
|
||||
quote:"'Give me your tired, your poor, your huddled masses yearning to breathe free, the wretched refuse of your teeming shore. Send these, the homeless, tempest-tossed to me, I lift my lamp beside the golden door!' - Emma Lazarus"
|
||||
},
|
||||
{
|
||||
name:"Research Lab",
|
||||
|
@ -719,7 +729,8 @@
|
|||
culture:5,
|
||||
isWonder:true,
|
||||
uniques:["Culture cost of adopting new Policies reduced by 10%"],
|
||||
requiredTech:"Flight"
|
||||
requiredTech:"Flight",
|
||||
quote:"'Come to me, all who labor and are heavy burdened, and I will give you rest.' - New Testament, Matthew 11:28"
|
||||
},
|
||||
{
|
||||
name:"Kremlin",
|
||||
|
@ -737,7 +748,9 @@
|
|||
isWonder:true,
|
||||
uniques:["+1 happiness, +2 culture and +3 gold from every Castle",
|
||||
"Must be next to mountain"],
|
||||
requiredTech:"Railroad"
|
||||
requiredTech:"Railroad",
|
||||
quote:"'...the location is one of the most beautiful to be found, holy and unapproachable, a worthy temple for the divine friend who has brought salvation and true blessing to the world.' - King Ludwig II of Bavaria"
|
||||
|
||||
},
|
||||
|
||||
// Information Era
|
||||
|
@ -774,7 +787,8 @@
|
|||
isWonder:true,
|
||||
percentStatBonus:{culture:50},
|
||||
uniques:["Free Social Policy","Can only be built in coastal cities"],
|
||||
requiredTech:"Ecology"
|
||||
requiredTech:"Ecology",
|
||||
quote:"'Those who lose dreaming are lost.' - Australian Aboriginal saying"
|
||||
},
|
||||
/*
|
||||
{
|
||||
|
@ -792,7 +806,8 @@
|
|||
culture:1,
|
||||
greatPersonPoints:{production:2}
|
||||
uniques:["Gold cost of upgrading military units reduced by 33%"]
|
||||
requiredTech:"Combined Arms"
|
||||
requiredTech:"Combined Arms",
|
||||
quote:"'In preparing for battle I have always found that plans are useless, but planning is indispensable.' - Dwight D. Eisenhower"
|
||||
},
|
||||
{
|
||||
name:"Spaceship Factory",
|
||||
|
@ -826,7 +841,8 @@
|
|||
providesFreeBuilding: "Spaceship Factory",
|
||||
uniques:["2 free great scientists appear",
|
||||
"Increases production of spaceship parts by 25%"],
|
||||
requiredTech:"Satellites"
|
||||
requiredTech:"Satellites",
|
||||
quote:"'The wonder is, not that the field of stars is so vast, but that man has measured it.' - Anatole France"
|
||||
},
|
||||
{
|
||||
name:"SS Cockpit",
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
{
|
||||
name:"Agriculture",
|
||||
row:5,
|
||||
quote:"'Where tillage begins, other arts follow. The farmers therefore are the founders of human civilization.' - Daniel Webster"
|
||||
}
|
||||
|
||||
]
|
||||
|
@ -21,18 +22,22 @@
|
|||
{
|
||||
name:"Pottery",
|
||||
row:2,
|
||||
quote:"'Shall the clay say to him that fashioneth it, what makest thou?' - Bible Isaiah 45:9"
|
||||
},
|
||||
{
|
||||
name:"Animal Husbandry",
|
||||
row:5
|
||||
row:5,
|
||||
quote:"'Thou shalt not muzzle the ox when he treadeth out the corn.' - Bible Deuteronomy 25:4"
|
||||
},
|
||||
{
|
||||
name:"Archery",
|
||||
row:7
|
||||
row:7,
|
||||
quote:"'The haft of the arrow has been feathered with one of the eagle's own plumes, we often give our enemies the means of our own destruction' - Aesop"
|
||||
},
|
||||
{
|
||||
name:"Mining",
|
||||
row:9
|
||||
row:9,
|
||||
quote:"'The meek shall inherit the Earth, but not its mineral rights.' - J. Paul Getty"
|
||||
}
|
||||
|
||||
]
|
||||
|
@ -48,36 +53,43 @@
|
|||
name:"Sailing",
|
||||
row:1,
|
||||
prerequisites:["Pottery"],
|
||||
quote:"'He who commands the sea has command of everything.' - Themistocles"
|
||||
},
|
||||
{
|
||||
name:"Calendar",
|
||||
row:2,
|
||||
prerequisites:["Pottery"]
|
||||
prerequisites:["Pottery"],
|
||||
quote:"'So teach us to number our days, so that we may apply our hearts unto wisdom.' - Bible Psalms 90:12"
|
||||
},
|
||||
{
|
||||
name:"Writing",
|
||||
row:3,
|
||||
prerequisites:["Pottery"]
|
||||
prerequisites:["Pottery"],
|
||||
quote:"'He who destroys a good book kills reason itself.' - John Milton"
|
||||
},
|
||||
{
|
||||
name:"Trapping",
|
||||
row:5,
|
||||
prerequisites:["Animal Husbandry"]
|
||||
prerequisites:["Animal Husbandry"],
|
||||
quote:"'Even brute beasts and wandering birds do not fall into the same traps or nets twice.' - Saint Jerome"
|
||||
},
|
||||
{
|
||||
name:"The Wheel",
|
||||
row:7,
|
||||
prerequisites:["Animal Husbandry", "Archery"]
|
||||
prerequisites:["Animal Husbandry", "Archery"],
|
||||
quote:"'Wisdom and virtue are like the two wheels of a cart.' - Japanese proverb"
|
||||
},
|
||||
{
|
||||
name:"Masonry",
|
||||
row:9,
|
||||
prerequisites:["Mining"]
|
||||
prerequisites:["Mining"],
|
||||
quote:"'How happy are those whose walls already rise!' - Virgil"
|
||||
},
|
||||
{
|
||||
name:"Bronze Working",
|
||||
row:10,
|
||||
prerequisites:["Mining"]
|
||||
prerequisites:["Mining"],
|
||||
quote:"'Here Hector entered, with a spear eleven cubits long in his hand; the bronze point gleamed in front of him, and was fastened to the shaft of the spear by a ring of gold.' - Homer"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -93,22 +105,26 @@
|
|||
cost:85,
|
||||
row:1,
|
||||
prerequisites:["Sailing"],
|
||||
uniques:["Enables embarkation for land units"]
|
||||
uniques:["Enables embarkation for land units"],
|
||||
quote:"'He made an instrument to know if the moon shine at full or no.' - Samuel Butler"
|
||||
},
|
||||
{
|
||||
name:"Horseback Riding",
|
||||
row:5,
|
||||
prerequisites:["Trapping","The Wheel"]
|
||||
prerequisites:["Trapping","The Wheel"],
|
||||
quote:"'A Horse! A Horse! My kingdom for a horse!' - Shakespeare (Richard III)"
|
||||
},
|
||||
{
|
||||
name:"Mathematics",
|
||||
row:7,
|
||||
prerequisites:["The Wheel"]
|
||||
prerequisites:["The Wheel"],
|
||||
quote:"'Mathematics is the gate and key to the sciences.' - Roger Bacon"
|
||||
},
|
||||
{
|
||||
name:"Construction",
|
||||
row:9,
|
||||
prerequisites:["Masonry","The Wheel"]
|
||||
prerequisites:["Masonry","The Wheel"],
|
||||
quote:"'Three things are to be looked to in a building: that it stands on the right spot; that it be securely founded; that it be successfulyl executed.' - Johann Wolfgang von Goethe"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -122,22 +138,26 @@
|
|||
{
|
||||
name:"Philosophy",
|
||||
row:3,
|
||||
prerequisites:["Writing","Calendar"]
|
||||
prerequisites:["Writing","Calendar"],
|
||||
quote:"'There is only one good, knowledge, and one evil, ignorance.' - Socrates"
|
||||
},
|
||||
{
|
||||
name:"Currency",
|
||||
row:7,
|
||||
prerequisites:["Mathematics"]
|
||||
prerequisites:["Mathematics"],
|
||||
quote:"'Better is bread with a happy heart than wealth with vexation.' - Amenemope"
|
||||
},
|
||||
{
|
||||
name:"Engineering",
|
||||
row:8,
|
||||
prerequisites:["Mathematics","Construction"]
|
||||
prerequisites:["Mathematics","Construction"],
|
||||
quote:"'Instrumental or mechanical science is the noblest and, above all others, the most useful.' - Leonardo da Vinci"
|
||||
},
|
||||
{
|
||||
name:"Iron Working",
|
||||
row:10,
|
||||
prerequisites:["Bronze Working"]
|
||||
prerequisites:["Bronze Working"],
|
||||
quote:"'Do not wait to strike til the iron is hot, but make it hot by striking.' - William Butler Yeats"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -539,4 +559,4 @@
|
|||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
]
|
||||
|
|
|
@ -21,8 +21,8 @@ android {
|
|||
applicationId "com.unciv.app"
|
||||
minSdkVersion 14
|
||||
targetSdkVersion 29
|
||||
versionCode 298
|
||||
versionName "3.0.5"
|
||||
versionCode 299
|
||||
versionName "3.0.6"
|
||||
}
|
||||
|
||||
// Had to add this crap for Travis to build, it wanted to sign the app
|
||||
|
|
|
@ -112,9 +112,9 @@ class SpecificUnitAutomation{
|
|||
|
||||
val possibleCityLocations = unit.getTile().getTilesInDistance(5)
|
||||
.filter { val tileOwner=it.getOwner()
|
||||
(tileOwner==null || tileOwner==unit.civInfo) && // don't allow settler to settle inside other civ's territory
|
||||
it.isLand && (tileOwner==null || tileOwner==unit.civInfo) && // don't allow settler to settle inside other civ's territory
|
||||
(unit.movement.canMoveTo(it) || unit.currentTile==it)
|
||||
&& it !in tilesNearCities && it.isLand }
|
||||
&& it !in tilesNearCities }
|
||||
|
||||
val luxuryResourcesInCivArea = unit.civInfo.cities.asSequence()
|
||||
.flatMap { it.getTiles().asSequence() }.filter { it.resource!=null }
|
||||
|
@ -126,7 +126,7 @@ class SpecificUnitAutomation{
|
|||
.firstOrNull { unit.movement.canReach(it) }
|
||||
|
||||
if(bestCityLocation==null) { // We got a badass over here, all tiles within 5 are taken? Screw it, random walk.
|
||||
if(UnitAutomation().tryExplore(unit, unit.movement.getDistanceToTiles())) return // try to find new areas
|
||||
if (UnitAutomation().tryExplore(unit, unit.movement.getDistanceToTiles())) return // try to find new areas
|
||||
UnitAutomation().wander(unit, unit.movement.getDistanceToTiles()) // go around aimlessly
|
||||
return
|
||||
}
|
||||
|
|
|
@ -81,7 +81,7 @@ class WorldScreenMenuTable(val worldScreen: WorldScreen) : PopupTable(worldScree
|
|||
|
||||
multiplayerPopup.addGoodSizedLabel("HIGHLY EXPERIMENTAL - YOU HAVE BEEN WARNED!").row()
|
||||
multiplayerPopup.addGoodSizedLabel("To create a multiplayer game, check the 'multiplayer' toggle in the New Game screen, and for each human player insert that player's user ID.").row()
|
||||
multiplayerPopup.addGoodSizedLabel("You can assign your own user ID there easily, and othr players can copy their user IDs here and send them to you for you to include them in the game.").row()
|
||||
multiplayerPopup.addGoodSizedLabel("You can assign your own user ID there easily, and other players can copy their user IDs here and send them to you for you to include them in the game.").row()
|
||||
|
||||
multiplayerPopup.addButton("Copy User Id"){ Gdx.app.clipboard.contents = UnCivGame.Current.settings.userId }.row()
|
||||
|
||||
|
@ -92,7 +92,7 @@ class WorldScreenMenuTable(val worldScreen: WorldScreen) : PopupTable(worldScree
|
|||
if(!worldScreen.gameInfo.gameParameters.isOnlineMultiplayer)
|
||||
copyGameIdButton.actor.disable()
|
||||
|
||||
multiplayerPopup.addGoodSizedLabel("Players can enter you game by copying the game ID to the clipboard, and clicking on the Join Game button").row()
|
||||
multiplayerPopup.addGoodSizedLabel("Players can enter your game by copying the game ID to the clipboard, and clicking on the Join Game button").row()
|
||||
val badGameIdLabel = "".toLabel().setFontColor(Color.RED)
|
||||
badGameIdLabel.isVisible = false
|
||||
multiplayerPopup.addButton("Join Game") {
|
||||
|
|
|
@ -454,6 +454,9 @@ Unless otherwise specified, all the following are from [the Noun Project](https:
|
|||
* [City](https://thenounproject.com/search/?q=city&i=2402817) By iconcheese for Siege
|
||||
* [Skull and Crossbones](https://thenounproject.com/search/?q=skull%20and%20cross%20bones&i=15526) By Anton Outkine for Coastal Raider
|
||||
* [Spear](https://thenounproject.com/search/?q=spear&i=1754184) By Deemak Daksina for Formation
|
||||
* [Wall](https://thenounproject.com/search/?q=wall&i=1305174) By Graphic Tigers for Volley
|
||||
* [Lightning](https://thenounproject.com/search/?q=lightning&i=1187991) By Mooms for Blitz
|
||||
* [Move](https://thenounproject.com/search/?q=move&i=790952) By Sandra for Mobility
|
||||
|
||||
## Others
|
||||
|
||||
|
|