From b1c5398804cfbfe02c169d0e07d0d72730f2df7d Mon Sep 17 00:00:00 2001 From: Duan Tao Date: Tue, 8 Oct 2019 09:54:23 +0800 Subject: [PATCH 1/3] Difficulty bonus vs barbarian. --- android/assets/jsons/Difficulties.json | 8 ++++++++ core/src/com/unciv/logic/battle/BattleDamage.kt | 9 ++++++--- core/src/com/unciv/models/gamebasics/Difficulty.kt | 1 + 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/android/assets/jsons/Difficulties.json b/android/assets/jsons/Difficulties.json index 4b4ffabd68..e1706f7cf6 100644 --- a/android/assets/jsons/Difficulties.json +++ b/android/assets/jsons/Difficulties.json @@ -8,6 +8,7 @@ buildingCostModifier:0.5, policyCostModifier:0.5, unhappinessModifier:0.4, + barbarianBonus:75, aiCityGrowthModifier:1.6, // that is to say it'll take them 1.6 times as long to grow the city aiUnitCostModifier:1.75, aiBuildingCostModifier:1.6, @@ -28,6 +29,7 @@ buildingCostModifier:0.67, policyCostModifier:0.67, unhappinessModifier:0.6, + barbarianBonus:50, aiCityGrowthModifier:1.3, aiUnitCostModifier:1.3, aiBuildingCostModifier:1.3, @@ -48,6 +50,7 @@ buildingCostModifier:0.85, policyCostModifier:0.85, unhappinessModifier:0.75, + barbarianBonus:40, aiCityGrowthModifier:1.1, aiUnitCostModifier:1.1, aiBuildingCostModifier:1.1, @@ -68,6 +71,7 @@ buildingCostModifier:1, policyCostModifier:1, unhappinessModifier:1, + barbarianBonus:33, aiCityGrowthModifier:1, aiUnitCostModifier:1, aiBuildingCostModifier:1, @@ -88,6 +92,7 @@ buildingCostModifier:1, policyCostModifier:1, unhappinessModifier:1, + barbarianBonus:25, aiCityGrowthModifier:0.9, aiUnitCostModifier:0.85, aiBuildingCostModifier:0.85, @@ -108,6 +113,7 @@ buildingCostModifier:1, policyCostModifier:1, unhappinessModifier:1, + barbarianBonus:20, aiCityGrowthModifier:0.85, aiUnitCostModifier:0.8, aiBuildingCostModifier:0.8, @@ -128,6 +134,7 @@ buildingCostModifier:1, policyCostModifier:1, unhappinessModifier:1, + barbarianBonus:10, aiCityGrowthModifier:0.75, aiUnitCostModifier:0.65, aiBuildingCostModifier:0.65, @@ -148,6 +155,7 @@ buildingCostModifier:1, policyCostModifier:1, unhappinessModifier:1, + barbarianBonus:0, aiCityGrowthModifier:0.6, aiUnitCostModifier:0.5, aiBuildingCostModifier:0.5, diff --git a/core/src/com/unciv/logic/battle/BattleDamage.kt b/core/src/com/unciv/logic/battle/BattleDamage.kt index 0763b797dd..8edb04335f 100644 --- a/core/src/com/unciv/logic/battle/BattleDamage.kt +++ b/core/src/com/unciv/logic/battle/BattleDamage.kt @@ -92,9 +92,12 @@ class BattleDamage{ } - if (combatant.getCivInfo().policies.isAdopted("Honor") && enemy.getCivInfo().isBarbarian()) - modifiers["vs Barbarians"] = 0.25f - + if (enemy.getCivInfo().isBarbarian()) { + modifiers["Difficulty"] = combatant.getCivInfo().gameInfo.getDifficulty().barbarianBonus + if (combatant.getCivInfo().policies.isAdopted("Honor")) + modifiers["vs Barbarians"] = 0.25f + } + return modifiers } diff --git a/core/src/com/unciv/models/gamebasics/Difficulty.kt b/core/src/com/unciv/models/gamebasics/Difficulty.kt index 30d886300b..be57aabe32 100644 --- a/core/src/com/unciv/models/gamebasics/Difficulty.kt +++ b/core/src/com/unciv/models/gamebasics/Difficulty.kt @@ -12,6 +12,7 @@ class Difficulty: INamed { var buildingCostModifier:Float = 1f var policyCostModifier:Float = 1f var unhappinessModifier:Float = 1f + var barbarianBonus:Float = 0f var aiCityGrowthModifier:Float = 1f var aiUnitCostModifier:Float = 1f var aiBuildingCostModifier:Float = 1f From 6d94b3d8c8b5e0daa9aac49613cc15ffee5e88c6 Mon Sep 17 00:00:00 2001 From: Duan Tao Date: Tue, 8 Oct 2019 09:57:22 +0800 Subject: [PATCH 2/3] Fix parameter. --- android/assets/jsons/Difficulties.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/android/assets/jsons/Difficulties.json b/android/assets/jsons/Difficulties.json index e1706f7cf6..a3ec1933c2 100644 --- a/android/assets/jsons/Difficulties.json +++ b/android/assets/jsons/Difficulties.json @@ -8,7 +8,7 @@ buildingCostModifier:0.5, policyCostModifier:0.5, unhappinessModifier:0.4, - barbarianBonus:75, + barbarianBonus:0.75, aiCityGrowthModifier:1.6, // that is to say it'll take them 1.6 times as long to grow the city aiUnitCostModifier:1.75, aiBuildingCostModifier:1.6, @@ -29,7 +29,7 @@ buildingCostModifier:0.67, policyCostModifier:0.67, unhappinessModifier:0.6, - barbarianBonus:50, + barbarianBonus:0.5, aiCityGrowthModifier:1.3, aiUnitCostModifier:1.3, aiBuildingCostModifier:1.3, @@ -50,7 +50,7 @@ buildingCostModifier:0.85, policyCostModifier:0.85, unhappinessModifier:0.75, - barbarianBonus:40, + barbarianBonus:0.4, aiCityGrowthModifier:1.1, aiUnitCostModifier:1.1, aiBuildingCostModifier:1.1, @@ -71,7 +71,7 @@ buildingCostModifier:1, policyCostModifier:1, unhappinessModifier:1, - barbarianBonus:33, + barbarianBonus:0.33, aiCityGrowthModifier:1, aiUnitCostModifier:1, aiBuildingCostModifier:1, @@ -92,7 +92,7 @@ buildingCostModifier:1, policyCostModifier:1, unhappinessModifier:1, - barbarianBonus:25, + barbarianBonus:0.25, aiCityGrowthModifier:0.9, aiUnitCostModifier:0.85, aiBuildingCostModifier:0.85, @@ -113,7 +113,7 @@ buildingCostModifier:1, policyCostModifier:1, unhappinessModifier:1, - barbarianBonus:20, + barbarianBonus:0.2, aiCityGrowthModifier:0.85, aiUnitCostModifier:0.8, aiBuildingCostModifier:0.8, @@ -134,7 +134,7 @@ buildingCostModifier:1, policyCostModifier:1, unhappinessModifier:1, - barbarianBonus:10, + barbarianBonus:0.1, aiCityGrowthModifier:0.75, aiUnitCostModifier:0.65, aiBuildingCostModifier:0.65, From 62310fa3d55a55a8964820353b6ffa67d2cc0cb0 Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Tue, 8 Oct 2019 10:26:46 +0300 Subject: [PATCH 3/3] Fixed "Game errors when loading game" - #1171 --- core/src/com/unciv/ui/worldscreen/WorldScreen.kt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/core/src/com/unciv/ui/worldscreen/WorldScreen.kt b/core/src/com/unciv/ui/worldscreen/WorldScreen.kt index 9f44162dba..65402618f4 100644 --- a/core/src/com/unciv/ui/worldscreen/WorldScreen.kt +++ b/core/src/com/unciv/ui/worldscreen/WorldScreen.kt @@ -52,6 +52,7 @@ class WorldScreen(val viewingCiv:CivilizationInfo) : CameraStageBaseScreen() { private val notificationsScroll: NotificationsScroll var alertPopupIsOpen = false // if we have an alert popup and then we changed screens, the old one shouldn't affect us + var shouldUpdate=false init { topBar.setPosition(0f, stage.height - topBar.height) @@ -112,7 +113,6 @@ class WorldScreen(val viewingCiv:CivilizationInfo) : CameraStageBaseScreen() { } tileMapHolder.setCenterPosition(tileToCenterOn,true) - update() if(gameInfo.gameParameters.isOnlineMultiplayer && !gameInfo.isUpToDate) isPlayersTurn = false // until we're up to date, don't let the player do anything @@ -121,6 +121,10 @@ class WorldScreen(val viewingCiv:CivilizationInfo) : CameraStageBaseScreen() { loadLatestMultiplayerState() }, Actions.delay(10f)))) // delay is in seconds } + + // don't run update() directly, because the UncivGame.worldScreen should be set so that the city buttons and tile groups + // know what the viewing civ is. + shouldUpdate=true } fun loadLatestMultiplayerState(){ @@ -409,8 +413,6 @@ class WorldScreen(val viewingCiv:CivilizationInfo) : CameraStageBaseScreen() { } } - var shouldUpdate=false - override fun render(delta: Float) { // This is so that updates happen in the MAIN THREAD, where there is a GL Context,