Added effects of Militarism, Total War and Facism

This commit is contained in:
Yair Morgenstern 2018-08-20 21:58:01 +03:00
parent 034f6b0860
commit 040866609e
5 changed files with 21 additions and 8 deletions

View File

@ -21,8 +21,8 @@ android {
applicationId "com.unciv.game"
minSdkVersion 14
targetSdkVersion 26
versionCode 124
versionName "2.7.9.2"
versionCode 125
versionName "2.7.10"
}
buildTypes {
release {

View File

@ -92,7 +92,10 @@ class CityInfo {
val resource = tileInfo.getTileResource()
if(resource.revealedBy!=null && !civInfo.tech.isResearched(resource.revealedBy!!)) continue
if (resource.improvement == tileInfo.improvement || tileInfo.isCityCenter()){
if(resource.resourceType == ResourceType.Strategic) cityResources.add(resource, 2)
if(resource.resourceType == ResourceType.Strategic){
if(civInfo.policies.isAdopted("Facism")) cityResources.add(resource, 4)
else cityResources.add(resource, 2)
}
else cityResources.add(resource, 1)
}
@ -102,6 +105,7 @@ class CityInfo {
val resource = GameBasics.TileResources[building.requiredResource]
cityResources.add(resource, -1)
}
return cityResources
}

View File

@ -4,6 +4,8 @@ import com.unciv.logic.map.RoadStatus
import com.unciv.logic.map.TileInfo
import com.unciv.models.gamebasics.Building
import com.unciv.models.gamebasics.GameBasics
import com.unciv.models.gamebasics.unit.BaseUnit
import com.unciv.models.gamebasics.unit.UnitType
import com.unciv.models.stats.Stat
import com.unciv.models.stats.Stats
@ -187,10 +189,11 @@ class CityStats {
private fun getStatPercentBonusesFromPolicies(policies: HashSet<String>, cityConstructions: CityConstructions): Stats {
val stats = Stats()
val currentConstruction = cityConstructions.getCurrentConstruction()
if (policies.contains("Collective Rule") && cityInfo.isCapital()
&& "Settler" == cityConstructions.currentConstruction)
&& currentConstruction.name == "Settler")
stats.production += 50f
if (policies.contains("Republic") && cityConstructions.getCurrentConstruction() is Building)
if (policies.contains("Republic") && currentConstruction is Building)
stats.production += 5f
if (policies.contains("Reformation") && cityConstructions.builtBuildings.any { GameBasics.Buildings[it]!!.isWonder })
stats.culture += 33f
@ -198,6 +201,8 @@ class CityStats {
stats.gold += 25f
if (policies.contains("Sovereignty") && cityInfo.civInfo.happiness >= 0)
stats.science += 15f
if (policies.contains("Total War") && currentConstruction is BaseUnit && currentConstruction.unitType!=UnitType.Civilian )
stats.production += 15f
if (policies.contains("Aristocracy")
&& cityConstructions.getCurrentConstruction() is Building
&& (cityConstructions.getCurrentConstruction() as Building).isWonder)

View File

@ -81,9 +81,9 @@ class TileMap {
if(tiles.any()) //
tileList.addAll(tiles.values)
var topY=tileList.map { it.position.y.toInt() }.max()!!
val topY=tileList.map { it.position.y.toInt() }.max()!!
bottomY= tileList.map { it.position.y.toInt() }.min()!!
var rightX=tileList.map { it.position.x.toInt() }.max()!!
val rightX=tileList.map { it.position.x.toInt() }.max()!!
leftX = tileList.map { it.position.x.toInt() }.min()!!
for(x in leftX..rightX){

View File

@ -84,7 +84,9 @@ class BaseUnit : INamed, IConstruction, ICivilopedia {
override fun getProductionCost(adoptedPolicies: HashSet<String>): Int = cost
override fun getGoldCost(adoptedPolicies: HashSet<String>): Int {
return (Math.pow((30 * cost).toDouble(), 0.75) * (1 + hurryCostModifier / 100) / 10).toInt() * 10
var cost = Math.pow((30 * cost).toDouble(), 0.75) * (1 + hurryCostModifier / 100)
if(adoptedPolicies.contains("Militarism")) cost *= 0.66f
return (cost / 10).toInt() * 10 // rounded down o nearest ten
}
fun isBuildable(civInfo:CivilizationInfo): Boolean {
@ -104,6 +106,8 @@ class BaseUnit : INamed, IConstruction, ICivilopedia {
override fun postBuildEvent(construction: CityConstructions) {
val unit = construction.cityInfo.civInfo.placeUnitNearTile(construction.cityInfo.location, name)
unit.promotions.XP += construction.getBuiltBuildings().sumBy { it.xpForNewUnits }
if(construction.cityInfo.civInfo.policies.isAdopted("Total War"))
unit.promotions.XP += 15
}
fun getUpgradeUnit(civInfo: CivilizationInfo):BaseUnit{