mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-15 02:09:21 +07:00
Implemented Cultural Diplomacy policy
This commit is contained in:
@ -193,13 +193,14 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Scholasticism",
|
"name": "Scholasticism",
|
||||||
"requires": ["Philantropy"],
|
|
||||||
"uniques":["Allied City-States provide Science equal to [25]% of what they produce for themselves"],
|
"uniques":["Allied City-States provide Science equal to [25]% of what they produce for themselves"],
|
||||||
|
"requires": ["Philantropy"],
|
||||||
"row": 2,
|
"row": 2,
|
||||||
"column": 2
|
"column": 2
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Cultural Diplomacy",
|
"name": "Cultural Diplomacy",
|
||||||
|
"uniques": ["Quantity of Resources gifted by City-States increased by [100]%"],
|
||||||
"requires": ["Scholasticism"],
|
"requires": ["Scholasticism"],
|
||||||
"row": 3,
|
"row": 3,
|
||||||
"column": 2
|
"column": 2
|
||||||
|
@ -28,7 +28,7 @@ class CivInfoTransientUpdater(val civInfo: CivilizationInfo) {
|
|||||||
civInfo.exploredTiles.addAll(newlyExploredTiles)
|
civInfo.exploredTiles.addAll(newlyExploredTiles)
|
||||||
|
|
||||||
|
|
||||||
val viewedCivs = HashMap<CivilizationInfo,TileInfo>()
|
val viewedCivs = HashMap<CivilizationInfo, TileInfo>()
|
||||||
for (tile in civInfo.viewableTiles) {
|
for (tile in civInfo.viewableTiles) {
|
||||||
val tileOwner = tile.getOwner()
|
val tileOwner = tile.getOwner()
|
||||||
if (tileOwner != null) viewedCivs[tileOwner] = tile
|
if (tileOwner != null) viewedCivs[tileOwner] = tile
|
||||||
@ -66,7 +66,7 @@ class CivInfoTransientUpdater(val civInfo: CivilizationInfo) {
|
|||||||
newViewableTiles.addAll(ownedTiles)
|
newViewableTiles.addAll(ownedTiles)
|
||||||
val neighboringUnownedTiles = ownedTiles.flatMap { it.neighbors.filter { it.getOwner() != civInfo } }
|
val neighboringUnownedTiles = ownedTiles.flatMap { it.neighbors.filter { it.getOwner() != civInfo } }
|
||||||
newViewableTiles.addAll(neighboringUnownedTiles)
|
newViewableTiles.addAll(neighboringUnownedTiles)
|
||||||
newViewableTiles.addAll(civInfo.getCivUnits().flatMap { it.viewableTiles.asSequence().filter { it.getOwner()!=civInfo } })
|
newViewableTiles.addAll(civInfo.getCivUnits().flatMap { it.viewableTiles.asSequence().filter { it.getOwner() != civInfo } })
|
||||||
|
|
||||||
if (!civInfo.isCityState()) {
|
if (!civInfo.isCityState()) {
|
||||||
for (otherCiv in civInfo.getKnownCivs()) {
|
for (otherCiv in civInfo.getKnownCivs()) {
|
||||||
@ -144,18 +144,22 @@ class CivInfoTransientUpdater(val civInfo: CivilizationInfo) {
|
|||||||
for (city in civInfo.cities) newDetailedCivResources.add(city.getCityResources())
|
for (city in civInfo.cities) newDetailedCivResources.add(city.getCityResources())
|
||||||
|
|
||||||
if (!civInfo.isCityState()) {
|
if (!civInfo.isCityState()) {
|
||||||
|
var resourceBonusPercentage = 1f
|
||||||
|
for (unique in civInfo.getMatchingUniques("Quantity of Resources gifted by City-States increased by []%"))
|
||||||
|
resourceBonusPercentage += unique.params[0].toFloat() / 100
|
||||||
for (otherCiv in civInfo.getKnownCivs().filter { it.getAllyCiv() == civInfo.civName }) {
|
for (otherCiv in civInfo.getKnownCivs().filter { it.getAllyCiv() == civInfo.civName }) {
|
||||||
for (city in otherCiv.cities) {
|
for (city in otherCiv.cities) {
|
||||||
for(resourceSupply in city.getCityResources())
|
for (resourceSupply in city.getCityResources())
|
||||||
newDetailedCivResources.add(resourceSupply.resource,resourceSupply.amount,"City-States")
|
newDetailedCivResources.add(resourceSupply.resource,
|
||||||
|
(resourceSupply.amount * resourceBonusPercentage).toInt(), "City-States")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (dip in civInfo.diplomacy.values) newDetailedCivResources.add(dip.resourcesFromTrade())
|
for (dip in civInfo.diplomacy.values) newDetailedCivResources.add(dip.resourcesFromTrade())
|
||||||
for(resource in civInfo.getCivUnits().mapNotNull { it.baseUnit.requiredResource }
|
for (resource in civInfo.getCivUnits().mapNotNull { it.baseUnit.requiredResource }
|
||||||
.map { civInfo.gameInfo.ruleSet.tileResources[it]!! })
|
.map { civInfo.gameInfo.ruleSet.tileResources[it]!! })
|
||||||
newDetailedCivResources.add(resource,-1,"Units")
|
newDetailedCivResources.add(resource, -1, "Units")
|
||||||
civInfo.detailedCivResources = newDetailedCivResources
|
civInfo.detailedCivResources = newDetailedCivResources
|
||||||
}
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user