mirror of
https://github.com/yairm210/Unciv.git
synced 2025-02-11 11:28:03 +07:00
Added effects of Militarism, Total War and Facism
This commit is contained in:
parent
034f6b0860
commit
040866609e
@ -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 {
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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){
|
||||
|
@ -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{
|
||||
|
Loading…
Reference in New Issue
Block a user