mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-04 07:17:50 +07:00
Fixed game load, removed extraneous getBaseUnit() function
This commit is contained in:
@ -14,7 +14,6 @@ import com.unciv.logic.civilization.diplomacy.DiplomacyFlags
|
||||
import com.unciv.logic.civilization.diplomacy.DiplomaticModifiers
|
||||
import com.unciv.logic.civilization.diplomacy.DiplomaticStatus
|
||||
import com.unciv.logic.civilization.diplomacy.RelationshipLevel
|
||||
import com.unciv.logic.civilization.managers.EspionageManager
|
||||
import com.unciv.logic.map.mapunit.MapUnit
|
||||
import com.unciv.models.ruleset.MilestoneType
|
||||
import com.unciv.models.ruleset.Policy
|
||||
@ -365,7 +364,7 @@ object NextTurnAutomation {
|
||||
civInfo.greatPeople.mayaLimitedFreeGP--
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/** If we are able to build a spaceship but have already spent our resources, try disbanding
|
||||
* a unit and selling a building to make room. Can happen due to trades etc */
|
||||
private fun freeUpSpaceResources(civInfo: Civilization) {
|
||||
|
@ -59,7 +59,7 @@ class CityCombatant(val city: City) : ICombatant {
|
||||
|
||||
// Garrisoned unit gives up to 20% of strength to city, health-dependant
|
||||
if (cityTile.militaryUnit != null)
|
||||
strength += cityTile.militaryUnit!!.baseUnit().strength * (cityTile.militaryUnit!!.health / 100f) * modConstants.cityStrengthFromGarrison
|
||||
strength += cityTile.militaryUnit!!.baseUnit.strength * (cityTile.militaryUnit!!.health / 100f) * modConstants.cityStrengthFromGarrison
|
||||
|
||||
var buildingsStrength = city.cityConstructions.getBuiltBuildings().sumOf { it.cityStrength }.toFloat()
|
||||
val stateForConditionals = StateForConditionals(getCivInfo(), city, ourCombatant = this, combatAction = combatAction)
|
||||
|
@ -26,16 +26,16 @@ class MapUnitCombatant(val unit: MapUnit) : ICombatant {
|
||||
override fun takeDamage(damage: Int) = unit.takeDamage(damage)
|
||||
|
||||
override fun getAttackingStrength(): Int {
|
||||
return if (isRanged()) unit.baseUnit().rangedStrength
|
||||
else unit.baseUnit().strength
|
||||
return if (isRanged()) unit.baseUnit.rangedStrength
|
||||
else unit.baseUnit.strength
|
||||
}
|
||||
|
||||
override fun getDefendingStrength(attackedByRanged: Boolean): Int {
|
||||
return if (unit.isEmbarked() && !isCivilian())
|
||||
unit.civ.getEra().embarkDefense
|
||||
else if (isRanged() && attackedByRanged)
|
||||
unit.baseUnit().rangedStrength
|
||||
else unit.baseUnit().strength
|
||||
unit.baseUnit.rangedStrength
|
||||
else unit.baseUnit.strength
|
||||
}
|
||||
|
||||
override fun getUnitType(): UnitType {
|
||||
|
@ -101,6 +101,7 @@ class MapUnit : IsPartOfGameInfoSerialization {
|
||||
|
||||
@Transient
|
||||
lateinit var currentTile: Tile
|
||||
|
||||
fun hasTile() = ::currentTile.isInitialized
|
||||
|
||||
@Transient
|
||||
@ -198,7 +199,6 @@ class MapUnit : IsPartOfGameInfoSerialization {
|
||||
val type: UnitType
|
||||
get() = baseUnit.type
|
||||
|
||||
fun baseUnit(): BaseUnit = baseUnit
|
||||
fun getMovementString(): String =
|
||||
DecimalFormat("0.#").format(currentMovement.toDouble()) + "/" + getMaxMovement()
|
||||
|
||||
@ -358,7 +358,7 @@ class MapUnit : IsPartOfGameInfoSerialization {
|
||||
|
||||
fun getRange(): Int {
|
||||
if (baseUnit.isMelee()) return 1
|
||||
var range = baseUnit().range
|
||||
var range = baseUnit.range
|
||||
range += getMatchingUniques(UniqueType.Range, checkCivInfoUniques = true)
|
||||
.sumOf { it.params[0].toInt() }
|
||||
return range
|
||||
@ -613,7 +613,6 @@ class MapUnit : IsPartOfGameInfoSerialization {
|
||||
|
||||
fun updateUniques() {
|
||||
val uniques = ArrayList<Unique>()
|
||||
val baseUnit = baseUnit()
|
||||
uniques.addAll(baseUnit.uniqueObjects)
|
||||
uniques.addAll(type.uniqueObjects)
|
||||
|
||||
@ -960,6 +959,7 @@ class MapUnit : IsPartOfGameInfoSerialization {
|
||||
owner = civInfo.civName
|
||||
this.civ = civInfo
|
||||
civInfo.units.addUnit(this, updateCivInfo)
|
||||
if (::baseUnit.isInitialized)
|
||||
cache.updateUniques()
|
||||
}
|
||||
|
||||
|
@ -4,7 +4,6 @@ import com.badlogic.gdx.math.Vector2
|
||||
import com.unciv.Constants
|
||||
import com.unciv.UncivGame
|
||||
import com.unciv.logic.automation.civilization.NextTurnAutomation
|
||||
import com.unciv.logic.battle.MapUnitCombatant
|
||||
import com.unciv.logic.city.City
|
||||
import com.unciv.logic.civilization.CivFlags
|
||||
import com.unciv.logic.civilization.Civilization
|
||||
|
@ -181,7 +181,7 @@ class UnitOverviewTab(
|
||||
{ it.currentMovement <= Constants.minimumMovementEpsilon },
|
||||
{ abs(it.currentTile.position.x) + abs(it.currentTile.position.y) })
|
||||
)) {
|
||||
val baseUnit = unit.baseUnit()
|
||||
val baseUnit = unit.baseUnit
|
||||
|
||||
// Unit button column - name, health, fortified, sleeping, embarked are visible here
|
||||
val button = IconTextButton(
|
||||
|
@ -168,12 +168,12 @@ class UnitTable(val worldScreen: WorldScreen) : Table() {
|
||||
|
||||
if (!unit.isCivilian()) {
|
||||
unitDescriptionTable.add(ImageGetter.getStatIcon("Strength")).size(20f)
|
||||
unitDescriptionTable.add(unit.baseUnit().strength.toString()).padRight(10f)
|
||||
unitDescriptionTable.add(unit.baseUnit.strength.toString()).padRight(10f)
|
||||
}
|
||||
|
||||
if (unit.baseUnit().rangedStrength != 0) {
|
||||
if (unit.baseUnit.rangedStrength != 0) {
|
||||
unitDescriptionTable.add(ImageGetter.getStatIcon("RangedStrength")).size(20f)
|
||||
unitDescriptionTable.add(unit.baseUnit().rangedStrength.toString()).padRight(10f)
|
||||
unitDescriptionTable.add(unit.baseUnit.rangedStrength.toString()).padRight(10f)
|
||||
}
|
||||
|
||||
if (unit.baseUnit.isRanged()) {
|
||||
|
@ -20,7 +20,7 @@ object UnitActionsUpgrade {
|
||||
val unitTile = unit.getTile()
|
||||
val civInfo = unit.civ
|
||||
val specialUpgradesTo = if (isSpecial)
|
||||
unit.baseUnit().getMatchingUniques(UniqueType.RuinsUpgrade, StateForConditionals(civInfo, unit = unit))
|
||||
unit.baseUnit.getMatchingUniques(UniqueType.RuinsUpgrade, StateForConditionals(civInfo, unit = unit))
|
||||
.map { it.params[0] }.firstOrNull()
|
||||
else null
|
||||
val upgradeUnits = if (specialUpgradesTo != null) sequenceOf(specialUpgradesTo)
|
||||
|
Reference in New Issue
Block a user