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