MapUnit

class MapUnit

The immutable properties and mutable game state of an individual unit present on the map

Constructors

MapUnit
Link copied to clipboard
fun MapUnit()

Types

DoubleMovementTerrainTarget
Link copied to clipboard

Used for getMovementCostBetweenAdjacentTiles only, based on order of testing

Functions

actionsOnDeselect
Link copied to clipboard
fun actionsOnDeselect()
adjacentHealingBonus
Link copied to clipboard
private fun adjacentHealingBonus(): Int
assignOwner
Link copied to clipboard
fun assignOwner(civInfo: CivilizationInfo, updateCivInfo: Boolean = true)
baseUnit
Link copied to clipboard
fun baseUnit(): BaseUnit
canAttack
Link copied to clipboard
fun canAttack(): Boolean
canBuildImprovement
Link copied to clipboard
fun canBuildImprovement(improvement: TileImprovement, tile: TileInfo = currentTile): Boolean
canDoReligiousAction
Link copied to clipboard
fun canDoReligiousAction(action: String): Boolean
canFortify
Link copied to clipboard
fun canFortify(): Boolean
canGarrison
Link copied to clipboard
fun canGarrison(): Boolean
canIntercept
Link copied to clipboard
fun canIntercept(): Boolean
fun canIntercept(attackedTile: TileInfo): Boolean
canTransport
Link copied to clipboard
fun canTransport(unit: MapUnit): Boolean
canUpgrade
Link copied to clipboard
fun canUpgrade(unitToUpgradeTo: BaseUnit = getUnitToUpgradeTo(), ignoreRequired: Boolean = false): Boolean
capturedBy
Link copied to clipboard
fun capturedBy(captor: CivilizationInfo)
carryCapacity
Link copied to clipboard
private fun carryCapacity(unit: MapUnit): Int
clearEncampment
Link copied to clipboard
private fun clearEncampment(tile: TileInfo)
clone
Link copied to clipboard
fun clone(): MapUnit
copyStatisticsTo
Link copied to clipboard
fun copyStatisticsTo(newUnit: MapUnit)
destroy
Link copied to clipboard
fun destroy()
disband
Link copied to clipboard
fun disband()
displayName
Link copied to clipboard
fun displayName(): String

Name which should be displayed in UI

doAction
Link copied to clipboard
fun doAction()
doCitadelDamage
Link copied to clipboard
private fun doCitadelDamage()
doTerrainDamage
Link copied to clipboard
private fun doTerrainDamage()
endTurn
Link copied to clipboard
fun endTurn()
equals
Link copied to clipboard
open operator fun equals(other: Any?): Boolean
fortify
Link copied to clipboard
fun fortify()
fortifyIfCan
Link copied to clipboard
fun fortifyIfCan()
fortifyUntilHealed
Link copied to clipboard
fun fortifyUntilHealed()
getActionLabel
Link copied to clipboard
fun getActionLabel(): String

For display in Unit Overview

getActionString
Link copied to clipboard
fun getActionString(action: String): String
getAncientRuinBonus
Link copied to clipboard
private fun getAncientRuinBonus(tile: TileInfo)
getBaseMaxActionUses
Link copied to clipboard
fun getBaseMaxActionUses(action: String): Int

For the actual value, check the member variable maxAbilityUses

getCostOfUpgrade
Link copied to clipboard
fun getCostOfUpgrade(): Int
getDamageFromTerrain
Link copied to clipboard
fun getDamageFromTerrain(tile: TileInfo = currentTile): Int
getForceEvaluation
Link copied to clipboard
fun getForceEvaluation(): Int
getFortificationTurns
Link copied to clipboard
fun getFortificationTurns(): Int
getMatchingUniques
Link copied to clipboard
fun getMatchingUniques(placeholderText: String): Sequence<Unique>
fun getMatchingUniques(uniqueType: UniqueType, stateForConditionals: StateForConditionals = StateForConditionals(civInfo, unit=this), checkCivInfoUniques: Boolean = false): Sequence<Unique>
getMaxMovement
Link copied to clipboard
fun getMaxMovement(): Int
getMaxMovementForAirUnits
Link copied to clipboard
fun getMaxMovementForAirUnits(): Int
getMovementDestination
Link copied to clipboard
fun getMovementDestination(): TileInfo
getMovementString
Link copied to clipboard
fun getMovementString(): String
getPressureAddedFromSpread
Link copied to clipboard
fun getPressureAddedFromSpread(): Int
getRange
Link copied to clipboard
fun getRange(): Int
getReligionDisplayName
Link copied to clipboard
fun getReligionDisplayName(): String?
getTile
Link copied to clipboard
fun getTile(): TileInfo
getUniques
Link copied to clipboard
fun getUniques(): ArrayList<Unique>
getUnitToUpgradeTo
Link copied to clipboard
fun getUnitToUpgradeTo(): BaseUnit
getVisibilityRange
Link copied to clipboard
private fun getVisibilityRange(): Int

Determines this (land or sea) unit's current maximum vision range from unit properties, civ uniques and terrain.

gift
Link copied to clipboard
fun gift(recipient: CivilizationInfo)
hashCode
Link copied to clipboard
open fun hashCode(): Int
hasUnique
Link copied to clipboard
fun hasUnique(unique: String): Boolean
fun hasUnique(uniqueType: UniqueType, stateForConditionals: StateForConditionals = StateForConditionals(civInfo, unit=this)): Boolean
heal
Link copied to clipboard
private fun heal()
healBy
Link copied to clipboard
fun healBy(amount: Int)
interceptChance
Link copied to clipboard
fun interceptChance(): Int
interceptDamagePercentBonus
Link copied to clipboard
fun interceptDamagePercentBonus(): Int
isActionUntilHealed
Link copied to clipboard
fun isActionUntilHealed(): Boolean
isAutomated
Link copied to clipboard
fun isAutomated(): Boolean
isCivilian
Link copied to clipboard
fun isCivilian(): Boolean
isEmbarked
Link copied to clipboard
fun isEmbarked(): Boolean
isExploring
Link copied to clipboard
fun isExploring(): Boolean
isFortified
Link copied to clipboard
fun isFortified(): Boolean
isFortifyingUntilHealed
Link copied to clipboard
fun isFortifyingUntilHealed(): Boolean
isGreatPerson
Link copied to clipboard
fun isGreatPerson(): Boolean
isIdle
Link copied to clipboard
fun isIdle(): Boolean
isInvisible
Link copied to clipboard
fun isInvisible(to: CivilizationInfo): Boolean
isMoving
Link copied to clipboard
fun isMoving(): Boolean
isPreparingParadrop
Link copied to clipboard
fun isPreparingParadrop(): Boolean
isSetUpForSiege
Link copied to clipboard
fun isSetUpForSiege(): Boolean
isSleeping
Link copied to clipboard
fun isSleeping(): Boolean
isSleepingUntilHealed
Link copied to clipboard
fun isSleepingUntilHealed(): Boolean
isTransportTypeOf
Link copied to clipboard
fun isTransportTypeOf(mapUnit: MapUnit): Boolean
matchesFilter
Link copied to clipboard
fun matchesFilter(filter: String): Boolean
maxAttacksPerTurn
Link copied to clipboard
fun maxAttacksPerTurn(): Int
moveThroughTile
Link copied to clipboard
fun moveThroughTile(tile: TileInfo)
putInTile
Link copied to clipboard
fun putInTile(tile: TileInfo)
rankTileForHealing
Link copied to clipboard
fun rankTileForHealing(tileInfo: TileInfo): Int

Returns the health points MapUnit will receive if healing on tileInfo

receivedInterceptDamageFactor
Link copied to clipboard
fun receivedInterceptDamageFactor(): Float
religiousActionsUnitCanDo
Link copied to clipboard
fun religiousActionsUnitCanDo(): Sequence<String>
removeFromTile
Link copied to clipboard
fun removeFromTile()
setTransients
Link copied to clipboard
fun setTransients(ruleset: Ruleset)
setupAbilityUses
Link copied to clipboard
fun setupAbilityUses(buildCity: CityInfo? = null)
shortDisplayName
Link copied to clipboard
fun shortDisplayName(): String
startTurn
Link copied to clipboard
fun startTurn()
threatensCiv
Link copied to clipboard
fun threatensCiv(civInfo: CivilizationInfo): Boolean
toString
Link copied to clipboard
open override fun toString(): String
tryProvideProductionToClosestCity
Link copied to clipboard
private fun tryProvideProductionToClosestCity(removedTerrainFeature: String)
updateUniques
Link copied to clipboard
fun updateUniques(ruleset: Ruleset)
updateVisibleTiles
Link copied to clipboard
fun updateVisibleTiles()

Update this unit's cache of viewable tiles and its civ's as well.

useMovementPoints
Link copied to clipboard
fun useMovementPoints(amount: Float)
workOnImprovement
Link copied to clipboard
private fun workOnImprovement()

Properties

abilityUsesLeft
Link copied to clipboard
var abilityUsesLeft: HashMap<String, Int>
action
Link copied to clipboard
var action: String? = null
allTilesCosts1
Link copied to clipboard
var allTilesCosts1: Boolean = false
attacksThisTurn
Link copied to clipboard
var attacksThisTurn: Int = 0
baseUnit
Link copied to clipboard
lateinit var baseUnit: BaseUnit
canEnterForeignTerrain
Link copied to clipboard
var canEnterForeignTerrain: Boolean = false
canEnterIceTiles
Link copied to clipboard
var canEnterIceTiles: Boolean = false
cannotEnterOceanTiles
Link copied to clipboard
var cannotEnterOceanTiles: Boolean = false
cannotEnterOceanTilesUntilAstronomy
Link copied to clipboard
var cannotEnterOceanTilesUntilAstronomy: Boolean = false
canPassThroughImpassableTiles
Link copied to clipboard
var canPassThroughImpassableTiles: Boolean = false
civInfo
Link copied to clipboard
lateinit var civInfo: CivilizationInfo
currentMovement
Link copied to clipboard
var currentMovement: Float = 0f
currentTile
Link copied to clipboard
internal lateinit var currentTile: TileInfo
doubleMovementInTerrain
Link copied to clipboard

Mod-friendly cache of double-movement terrains

due
Link copied to clipboard
var due: Boolean = true
hasUniqueToBuildImprovements
Link copied to clipboard
var hasUniqueToBuildImprovements: Boolean = false
health
Link copied to clipboard
var health: Int = 100
ignoresTerrainCost
Link copied to clipboard
var ignoresTerrainCost: Boolean = false
ignoresZoneOfControl
Link copied to clipboard
var ignoresZoneOfControl: Boolean = false
instanceName
Link copied to clipboard
var instanceName: String? = null

Name of this individual unit, usually resulting from promotion

isDestroyed
Link copied to clipboard
var isDestroyed: Boolean = false
isTransported
Link copied to clipboard
var isTransported: Boolean = false
maintenance
Link copied to clipboard
var maintenance: Float = 1f
maxAbilityUses
Link copied to clipboard
var maxAbilityUses: HashMap<String, Int>
movement
Link copied to clipboard
val movement: UnitMovementAlgorithms
name
Link copied to clipboard
lateinit var name: String

Name key of the unit, used for serialization

var noBaseTerrainOrHillDoubleMovementUniques: Boolean = false

If set causes a second early exit in getMovementCostBetweenAdjacentTiles

noFilteredDoubleMovementUniques
Link copied to clipboard
var noFilteredDoubleMovementUniques: Boolean = false

If set skips tile.matchesFilter tests for double movement in getMovementCostBetweenAdjacentTiles

noTerrainMovementUniques
Link copied to clipboard
var noTerrainMovementUniques: Boolean = false

If set causes an early exit in getMovementCostBetweenAdjacentTiles

originalOwner
Link copied to clipboard
var originalOwner: String? = null

civName of original owner - relevant for returning captured workers from barbarians

owner
Link copied to clipboard
lateinit var owner: String

civName owning the unit

paradropRange
Link copied to clipboard
var paradropRange: Int = 0
promotions
Link copied to clipboard
var promotions: UnitPromotions
religion
Link copied to clipboard
var religion: String? = null
religiousStrengthLost
Link copied to clipboard
var religiousStrengthLost: Int = 0
roughTerrainPenalty
Link copied to clipboard
var roughTerrainPenalty: Boolean = false
showAdditionalActions
Link copied to clipboard
var showAdditionalActions: Boolean = false
tempUniques
Link copied to clipboard
private var tempUniques: ArrayList<Unique>
tempUniquesMap
Link copied to clipboard
private var tempUniquesMap: UniqueMapTyped
type
Link copied to clipboard
val type: UnitType
viewableTiles
Link copied to clipboard
var viewableTiles: List<TileInfo>

Extensions

label
Link copied to clipboard
private fun MapUnit.label(): String

For console logging only

Sources

jvm source
Link copied to clipboard