Corrections according to #2101 (#2105)

* College requires Phylosophy

* "Police State" influences the courthouses, not culture borders

* "Autocracy complete" has +20 attack effect

* Translations updates
This commit is contained in:
Jack Rainy 2020-03-09 00:00:32 +02:00 committed by GitHub
parent f769d60826
commit 13def8739e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 43 additions and 35 deletions

View file

@ -356,7 +356,7 @@
"isNationalWonder": true,
"percentStatBonus": {"science": 50},
"requiredBuildingInAllCities": "Library",
"requiredTech": "Civil Service"
"requiredTech": "Philosophy"
},
{
"name": "Manhattan Project",

View file

@ -416,7 +416,7 @@
},
{
"name": "Police State",
"description": "Captured cities retain their previous borders",
"description": "+3 Happiness from every Courthouse. Build Courthouses in half the usual time.",
"requires": ["Militarism"],
"row": 2,
"column": 5
@ -430,7 +430,7 @@
},
{
"name": "Autocracy Complete",
"description": "+1 happiness from each Walls, Castle and Arsenal"
"description": "+20% attack bonus to all Military Units for 30 turns"
}
]
}

View file

@ -1203,11 +1203,11 @@ Gold cost of purchasing units -33% = Стоимость покупки юнит
Fascism = Фашизм
Quantity of strategic resources produced by the empire increased by 100% = Количество стратегических ресурсов обрабатываемых империей, удваивается
Police State = Полицейский участок
Captured cities retain their previous borders = Захваченные города сохраняют свои прежние границы
+3 Happiness from every Courthouse. Build Courthouses in half the usual time. = +3 счастья за каждый Суд. Суды строятся в 2 раза быстрее.
Total War = Тотальная война
+15% production when building military units and new military units start with 15 Experience = +15% К производству военных юнитов, Военные юниты создаются с 15 опыта
Autocracy Complete = Автократия Завершена
+1 happiness from each Walls, Castle and Arsenal = +1 счастье за каждую стену, замок и арсенал
+20% attack bonus to all Military Units for 30 turns = +20% к силе атаки для всех военных подразделений на 30 ходов
# Technologies

View file

@ -1224,11 +1224,11 @@ Gold cost of purchasing units -33% = Ціна купівлі підрозділ
Fascism = Фашизм
Quantity of strategic resources produced by the empire increased by 100% = Кількість вироблених імперією стратегічних ресурсів зростає на 100%
Police State = Поліційна держава
Captured cities retain their previous borders = Захоплені міста зберігають свої попередні кордони
+3 Happiness from every Courthouse. Build Courthouses in half the usual time. = +3 щастя від кожного Суду. Суди будуються вдвійчі швидше.
Total War = Тотальна війна
+15% production when building military units and new military units start with 15 Experience = +15 виробництва при будівництві військових підрозділів і нові військові підрозділи розпочинають з 15-ма од. досвіду
Autocracy Complete = Автократія завершена
+1 happiness from each Walls, Castle and Arsenal = +1 щастя за кожні мури, замок та арсенал
+20% attack bonus to all Military Units for 30 turns = +20% до сили атаки для всіх військових підрозділів на 30 ходів
# Technologies

View file

@ -1203,11 +1203,11 @@ Gold cost of purchasing units -33% =
Fascism =
Quantity of strategic resources produced by the empire increased by 100% =
Police State =
Captured cities retain their previous borders =
+3 Happiness from every Courthouse. Build Courthouses in half the usual time. =
Total War =
+15% production when building military units and new military units start with 15 Experience =
Autocracy Complete =
+1 happiness from each Walls, Castle and Arsenal =
+20% attack bonus to all Military Units for 30 turns =
# Technologies

View file

@ -107,6 +107,7 @@ class BattleDamage{
fun getAttackModifiers(attacker: ICombatant, defender: ICombatant): HashMap<String, Float> {
val modifiers = getGeneralModifiers(attacker, defender)
val policies = attacker.getCivInfo().policies
if(attacker is MapUnitCombatant) {
modifiers.putAll(getTileSpecificModifiers(attacker,defender.getTile()))
@ -132,10 +133,13 @@ class BattleDamage{
if (numberOfAttackersSurroundingDefender > 1)
modifiers["Flanking"] = 0.1f * (numberOfAttackersSurroundingDefender-1) //https://www.carlsguides.com/strategy/civilization5/war/combatbonuses.php
}
if (policies.isAdopted("Autocracy Complete") && (policies.autocracyCompletedTurns > 0))
modifiers["Autocracy Complete"] = 0.2f
}
else if (attacker is CityCombatant) {
if (attacker.getCivInfo().policies.isAdopted("Oligarchy") && attacker.city.getCenterTile().militaryUnit != null)
if (policies.isAdopted("Oligarchy") && attacker.city.getCenterTile().militaryUnit != null)
modifiers["Oligarchy"] = 0.5f
}

View file

@ -360,16 +360,10 @@ class CityInfo {
}
fun annexCity() {
if(!civInfo.policies.isAdopted("Police State")) {
expansion.cultureStored = 0
expansion.reset()
reassignWorkers()
}
isPuppet=false
isPuppet = false
cityConstructions.inProgressConstructions.clear() // undo all progress of the previous civ on units etc.
cityStats.update()
UncivGame.Current.worldScreen.shouldUpdate=true
UncivGame.Current.worldScreen.shouldUpdate = true
}
/** This happens when we either puppet OR annex, basically whenever we conquer a city and don't liberate it */

View file

@ -19,6 +19,7 @@ class PolicyManager {
var shouldOpenPolicyPicker = false
get() = field && canAdoptPolicy()
var legalismState = HashMap<String, String>()
var autocracyCompletedTurns = 0
fun clone(): PolicyManager {
val toReturn = PolicyManager()
@ -28,6 +29,7 @@ class PolicyManager {
toReturn.shouldOpenPolicyPicker = shouldOpenPolicyPicker
toReturn.storedCulture = storedCulture
toReturn.legalismState.putAll(legalismState)
toReturn.autocracyCompletedTurns = autocracyCompletedTurns
return toReturn
}
@ -41,6 +43,8 @@ class PolicyManager {
storedCulture += culture
if (!couldAdoptPolicyBefore && canAdoptPolicy())
shouldOpenPolicyPicker = true
if (autocracyCompletedTurns > 0)
autocracyCompletedTurns -= 1
}
// from https://forums.civfanatics.com/threads/the-number-crunching-thread.389702/
@ -125,6 +129,7 @@ class PolicyManager {
civInfo.addGreatPerson(greatPerson)
}
}
"Autocracy Complete" -> autocracyCompletedTurns = 30
}
// This ALSO has the side-effect of updating the CivInfo statForNextTurn so we don't need to call it explicitly

View file

@ -153,15 +153,16 @@ class Building : NamedStats(), IConstruction{
if (adoptedPolicies.contains("Constitution") && isWonder)
stats.culture += 2f
if (adoptedPolicies.contains("Autocracy Complete") && cityStrength > 0)
stats.happiness += 1
if (baseBuildingName == "Castle"
&& civInfo.containsBuildingUnique("+1 happiness, +2 culture and +3 gold from every Castle")){
stats.happiness+=1
stats.culture+=2
stats.gold+=3
}
if (adoptedPolicies.contains("Police State") && baseBuildingName == "Courthouse")
stats.happiness += 3
}
return stats
}
@ -192,19 +193,23 @@ class Building : NamedStats(), IConstruction{
override fun getProductionCost(civInfo: CivilizationInfo): Int {
var productionCost = cost.toFloat()
if (!isWonder && culture != 0f && civInfo.policies.isAdopted("Piety"))
productionCost *= 0.85f
if (name == "Courthouse" && civInfo.policies.isAdopted("Police State"))
productionCost *= 0.5f
if (civInfo.isPlayerCivilization()) {
if(!isWonder) {
if (!isWonder)
productionCost *= civInfo.getDifficulty().buildingCostModifier
}
} else {
if(isWonder) {
productionCost *= civInfo.gameInfo.getDifficulty().aiWonderCostModifier
} else {
productionCost *= civInfo.gameInfo.getDifficulty().aiBuildingCostModifier
}
productionCost *= if(isWonder)
civInfo.gameInfo.getDifficulty().aiWonderCostModifier
else
civInfo.gameInfo.getDifficulty().aiBuildingCostModifier
}
productionCost *= civInfo.gameInfo.gameParameters.gameSpeed.modifier
return productionCost.toInt()
}

View file

@ -38,25 +38,25 @@ import kotlin.concurrent.thread
class WorldScreen(val viewingCiv:CivilizationInfo) : CameraStageBaseScreen() {
val gameInfo = game.gameInfo
var isPlayersTurn = viewingCiv == gameInfo.currentPlayerCiv // todo this should be updated when passing turns
var waitingForAutosave = false
private var waitingForAutosave = false
val mapHolder = WorldMapHolder(this, gameInfo.tileMap)
val minimapWrapper = MinimapHolder(mapHolder)
private val minimapWrapper = MinimapHolder(mapHolder)
private val topBar = WorldScreenTopBar(this)
val bottomUnitTable = UnitTable(this)
val bottomTileInfoTable = TileInfoTable(viewingCiv)
val battleTable = BattleTable(this)
val unitActionsTable = UnitActionsTable(this)
private val bottomTileInfoTable = TileInfoTable(viewingCiv)
private val battleTable = BattleTable(this)
private val unitActionsTable = UnitActionsTable(this)
private val techPolicyAndVictoryHolder = Table()
private val techButtonHolder = Table()
private val diplomacyButtonWrapper = Table()
private val nextTurnButton = createNextTurnButton()
private val tutorialTaskTable=Table().apply { background=ImageGetter.getBackground(ImageGetter.getBlue().lerp(Color.BLACK, 0.5f)) }
private val tutorialTaskTable = Table().apply { background=ImageGetter.getBackground(ImageGetter.getBlue().lerp(Color.BLACK, 0.5f)) }
private val notificationsScroll: NotificationsScroll
var shouldUpdate=false
var shouldUpdate = false
private var backButtonListener : InputListener