mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-04 23:40:01 +07:00
Automated units will not autopromote by default (changeable by options setting)
This commit is contained in:
@ -770,6 +770,7 @@ Auto-build roads =
|
|||||||
Automated workers replace improvements =
|
Automated workers replace improvements =
|
||||||
Automated units move on turn start =
|
Automated units move on turn start =
|
||||||
Automated units can upgrade =
|
Automated units can upgrade =
|
||||||
|
Automated units choose promotions =
|
||||||
Order trade offers by amount =
|
Order trade offers by amount =
|
||||||
Ask for confirmation when pressing next turn =
|
Ask for confirmation when pressing next turn =
|
||||||
Notifications log max turns =
|
Notifications log max turns =
|
||||||
|
@ -18,7 +18,6 @@ import com.unciv.logic.civilization.managers.ReligionState
|
|||||||
import com.unciv.logic.map.mapunit.MapUnit
|
import com.unciv.logic.map.mapunit.MapUnit
|
||||||
import com.unciv.logic.map.tile.Tile
|
import com.unciv.logic.map.tile.Tile
|
||||||
import com.unciv.models.UnitActionType
|
import com.unciv.models.UnitActionType
|
||||||
import com.unciv.models.metadata.GameSettings
|
|
||||||
import com.unciv.models.ruleset.unique.UniqueType
|
import com.unciv.models.ruleset.unique.UniqueType
|
||||||
import com.unciv.ui.screens.worldscreen.unit.actions.UnitActions
|
import com.unciv.ui.screens.worldscreen.unit.actions.UnitActions
|
||||||
import com.unciv.ui.screens.worldscreen.unit.actions.UnitActionsPillage
|
import com.unciv.ui.screens.worldscreen.unit.actions.UnitActionsPillage
|
||||||
@ -160,7 +159,9 @@ object UnitAutomation {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if (unit.promotions.canBePromoted()) {
|
if (unit.promotions.canBePromoted() &&
|
||||||
|
// Restrict Human automated units from promotions via setting
|
||||||
|
(UncivGame.Current.settings.automatedUnitsChoosePromotions || unit.civ.isAI())) {
|
||||||
val availablePromotions = unit.promotions.getAvailablePromotions()
|
val availablePromotions = unit.promotions.getAvailablePromotions()
|
||||||
.filterNot { it.hasUnique(UniqueType.SkipPromotion) }
|
.filterNot { it.hasUnique(UniqueType.SkipPromotion) }
|
||||||
if (availablePromotions.any())
|
if (availablePromotions.any())
|
||||||
|
@ -71,7 +71,8 @@ class GameSettings {
|
|||||||
var autoBuildingRoads: Boolean = true
|
var autoBuildingRoads: Boolean = true
|
||||||
var automatedWorkersReplaceImprovements = true
|
var automatedWorkersReplaceImprovements = true
|
||||||
var automatedUnitsMoveOnTurnStart: Boolean = false
|
var automatedUnitsMoveOnTurnStart: Boolean = false
|
||||||
var automatedUnitsCanUpgrade: Boolean = true
|
var automatedUnitsCanUpgrade: Boolean = false
|
||||||
|
var automatedUnitsChoosePromotions: Boolean = false
|
||||||
|
|
||||||
var showMinimap: Boolean = true
|
var showMinimap: Boolean = true
|
||||||
var minimapSize: Int = 6 // default corresponds to 15% screen space
|
var minimapSize: Int = 6 // default corresponds to 15% screen space
|
||||||
|
@ -2,12 +2,11 @@ package com.unciv.ui.popups.options
|
|||||||
|
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.Table
|
import com.badlogic.gdx.scenes.scene2d.ui.Table
|
||||||
import com.unciv.GUI
|
import com.unciv.GUI
|
||||||
import com.unciv.UncivGame
|
|
||||||
import com.unciv.logic.civilization.PlayerType
|
import com.unciv.logic.civilization.PlayerType
|
||||||
import com.unciv.models.metadata.GameSettings
|
import com.unciv.models.metadata.GameSettings
|
||||||
import com.unciv.ui.screens.basescreen.BaseScreen
|
|
||||||
import com.unciv.ui.components.UncivSlider
|
import com.unciv.ui.components.UncivSlider
|
||||||
import com.unciv.ui.components.extensions.toLabel
|
import com.unciv.ui.components.extensions.toLabel
|
||||||
|
import com.unciv.ui.screens.basescreen.BaseScreen
|
||||||
|
|
||||||
fun gameplayTab(
|
fun gameplayTab(
|
||||||
optionsPopup: OptionsPopup
|
optionsPopup: OptionsPopup
|
||||||
@ -45,8 +44,13 @@ fun gameplayTab(
|
|||||||
optionsPopup.addCheckbox(
|
optionsPopup.addCheckbox(
|
||||||
this,
|
this,
|
||||||
"Automated units can upgrade",
|
"Automated units can upgrade",
|
||||||
settings.automatedUnitsCanUpgrade, true
|
settings.automatedUnitsCanUpgrade, false
|
||||||
) { settings.automatedUnitsCanUpgrade = it }
|
) { settings.automatedUnitsCanUpgrade = it }
|
||||||
|
optionsPopup.addCheckbox(
|
||||||
|
this,
|
||||||
|
"Automated units choose promotions",
|
||||||
|
settings.automatedUnitsChoosePromotions, false
|
||||||
|
) { settings.automatedUnitsChoosePromotions = it }
|
||||||
optionsPopup.addCheckbox(this, "Order trade offers by amount", settings.orderTradeOffersByAmount) { settings.orderTradeOffersByAmount = it }
|
optionsPopup.addCheckbox(this, "Order trade offers by amount", settings.orderTradeOffersByAmount) { settings.orderTradeOffersByAmount = it }
|
||||||
optionsPopup.addCheckbox(this, "Ask for confirmation when pressing next turn", settings.confirmNextTurn) { settings.confirmNextTurn = it }
|
optionsPopup.addCheckbox(this, "Ask for confirmation when pressing next turn", settings.confirmNextTurn) { settings.confirmNextTurn = it }
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user