mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-28 22:37:02 -04: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 }) {
|
for (tileInfo in getTiles().filter { it.resource != null }) {
|
||||||
val resource = tileInfo.getTileResource()
|
val resource = tileInfo.getTileResource()
|
||||||
val amount = getTileResourceAmount(tileInfo)
|
val amount = getTileResourceAmount(tileInfo) * civInfo.getResourceModifier(resource)
|
||||||
if (amount > 0) cityResources.add(resource, amount, "Tiles")
|
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]"
|
for(unique in cityConstructions.builtBuildingUniqueMap.getUniques("Provides [] []")) { // E.G "Provides [1] [Iron]"
|
||||||
val resource = getRuleset().tileResources[unique.params[1]]
|
val resource = getRuleset().tileResources[unique.params[1]]
|
||||||
if (resource != null)
|
if(resource!=null){
|
||||||
cityResources.add(resource, unique.params[0].toInt(), "Buildings")
|
cityResources.add(resource, unique.params[0].toInt() * civInfo.getResourceModifier(resource), "Buildings") }
|
||||||
}
|
}
|
||||||
|
|
||||||
return cityResources
|
return cityResources
|
||||||
@ -221,12 +221,7 @@ class CityInfo {
|
|||||||
var amountToAdd = 1
|
var amountToAdd = 1
|
||||||
if (resource.resourceType == ResourceType.Strategic) {
|
if (resource.resourceType == ResourceType.Strategic) {
|
||||||
amountToAdd = 2
|
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
|
if (resource.resourceType == ResourceType.Luxury
|
||||||
&& containsBuildingUnique("Provides 1 extra copy of each improved luxury resource near this City"))
|
&& containsBuildingUnique("Provides 1 extra copy of each improved luxury resource near this City"))
|
||||||
amountToAdd *= 2
|
amountToAdd *= 2
|
||||||
|
@ -18,6 +18,7 @@ import com.unciv.logic.trade.TradeEvaluation
|
|||||||
import com.unciv.logic.trade.TradeRequest
|
import com.unciv.logic.trade.TradeRequest
|
||||||
import com.unciv.models.ruleset.*
|
import com.unciv.models.ruleset.*
|
||||||
import com.unciv.models.ruleset.tile.ResourceSupplyList
|
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.tile.TileResource
|
||||||
import com.unciv.models.ruleset.unit.BaseUnit
|
import com.unciv.models.ruleset.unit.BaseUnit
|
||||||
import com.unciv.models.stats.Stats
|
import com.unciv.models.stats.Stats
|
||||||
@ -186,6 +187,18 @@ class CivilizationInfo {
|
|||||||
return hashMap
|
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 hasResource(resourceName:String): Boolean = getCivResourcesByName()[resourceName]!!>0
|
||||||
|
|
||||||
fun getBuildingUniques(): Sequence<Unique> = cities.asSequence().flatMap { it.cityConstructions.builtBuildingUniqueMap.getAllUniques() }
|
fun getBuildingUniques(): Sequence<Unique> = cities.asSequence().flatMap { it.cityConstructions.builtBuildingUniqueMap.getAllUniques() }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user