mirror of
https://github.com/yairm210/Unciv.git
synced 2025-03-14 12:00:12 +07:00
Merge branch 'master' of https://github.com/yairm210/Unciv
This commit is contained in:
commit
98d01f50b1
@ -176,7 +176,7 @@ class CityInfo {
|
||||
|
||||
for (tileInfo in getTiles().filter { it.resource != null }) {
|
||||
val resource = tileInfo.getTileResource()
|
||||
val amount = getTileResourceAmount(tileInfo)
|
||||
val amount = getTileResourceAmount(tileInfo) * civInfo.getResourceModifier(resource)
|
||||
if (amount > 0) cityResources.add(resource, amount, "Tiles")
|
||||
}
|
||||
|
||||
@ -186,8 +186,8 @@ class CityInfo {
|
||||
}
|
||||
for(unique in cityConstructions.builtBuildingUniqueMap.getUniques("Provides [] []")) { // E.G "Provides [1] [Iron]"
|
||||
val resource = getRuleset().tileResources[unique.params[1]]
|
||||
if (resource != null)
|
||||
cityResources.add(resource, unique.params[0].toInt(), "Buildings")
|
||||
if(resource!=null){
|
||||
cityResources.add(resource, unique.params[0].toInt() * civInfo.getResourceModifier(resource), "Buildings") }
|
||||
}
|
||||
|
||||
return cityResources
|
||||
@ -221,12 +221,7 @@ class CityInfo {
|
||||
var amountToAdd = 1
|
||||
if (resource.resourceType == ResourceType.Strategic) {
|
||||
amountToAdd = 2
|
||||
if (civInfo.hasUnique("Quantity of strategic resources produced by the empire increased by 100%"))
|
||||
amountToAdd *= 2
|
||||
}
|
||||
for (unique in civInfo.getMatchingUniques("Double quantity of [] produced"))
|
||||
if (unique.params[0] == resource.name)
|
||||
amountToAdd *= 2
|
||||
if (resource.resourceType == ResourceType.Luxury
|
||||
&& containsBuildingUnique("Provides 1 extra copy of each improved luxury resource near this City"))
|
||||
amountToAdd *= 2
|
||||
|
@ -18,6 +18,7 @@ import com.unciv.logic.trade.TradeEvaluation
|
||||
import com.unciv.logic.trade.TradeRequest
|
||||
import com.unciv.models.ruleset.*
|
||||
import com.unciv.models.ruleset.tile.ResourceSupplyList
|
||||
import com.unciv.models.ruleset.tile.ResourceType
|
||||
import com.unciv.models.ruleset.tile.TileResource
|
||||
import com.unciv.models.ruleset.unit.BaseUnit
|
||||
import com.unciv.models.stats.Stats
|
||||
@ -186,6 +187,18 @@ class CivilizationInfo {
|
||||
return hashMap
|
||||
}
|
||||
|
||||
fun getResourceModifier(resource: TileResource): Int {
|
||||
var resourceModifier = 1
|
||||
for (unique in getMatchingUniques("Double quantity of [] produced"))
|
||||
if (unique.params[0] == resource.name)
|
||||
resourceModifier *= 2
|
||||
if (resource.resourceType == ResourceType.Strategic) {
|
||||
if (hasUnique("Quantity of strategic resources produced by the empire increased by 100%"))
|
||||
resourceModifier *= 2
|
||||
}
|
||||
return resourceModifier
|
||||
}
|
||||
|
||||
fun hasResource(resourceName:String): Boolean = getCivResourcesByName()[resourceName]!!>0
|
||||
|
||||
fun getBuildingUniques(): Sequence<Unique> = cities.asSequence().flatMap { it.cityConstructions.builtBuildingUniqueMap.getAllUniques() }
|
||||
|
Loading…
Reference in New Issue
Block a user