mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-29 15:01:09 -04:00
Fixed crash when a militaristic city state tries to gift a unit to a civ with no cities
This commit is contained in:
parent
9aa12493e3
commit
9c1864708f
@ -400,16 +400,12 @@ class CivilizationInfo {
|
|||||||
|
|
||||||
fun giftMilitaryUnitBy(otherCiv: CivilizationInfo) {
|
fun giftMilitaryUnitBy(otherCiv: CivilizationInfo) {
|
||||||
val city = NextTurnAutomation().getClosestCities(this, otherCiv).city1
|
val city = NextTurnAutomation().getClosestCities(this, otherCiv).city1
|
||||||
if (city == null) {
|
val militaryUnit = city.cityConstructions.getConstructableUnits()
|
||||||
addNotification("Exception! Failed to find a suitable city to place gift unit.".tr(), null, Color.RED)
|
.filter { !it.unitType.isCivilian() && it.unitType.isLandUnit() }
|
||||||
} else {
|
|
||||||
var militaryUnit = city.cityConstructions
|
|
||||||
.getConstructableUnits().filter { !it.unitType.isCivilian() && it.unitType.isLandUnit()}
|
|
||||||
.random()
|
.random()
|
||||||
placeUnitNearTile(city.location, militaryUnit.name)
|
placeUnitNearTile(city.location, militaryUnit.name)
|
||||||
addNotification("[${otherCiv.civName}] gave us a [${militaryUnit.name}] as gift near [${city.name}]!".tr(), null, Color.GREEN)
|
addNotification("[${otherCiv.civName}] gave us a [${militaryUnit.name}] as gift near [${city.name}]!".tr(), null, Color.GREEN)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
//endregion
|
//endregion
|
||||||
}
|
}
|
||||||
|
@ -274,6 +274,8 @@ class DiplomacyManager() {
|
|||||||
for(flag in flagsCountdown.keys.toList()) {
|
for(flag in flagsCountdown.keys.toList()) {
|
||||||
flagsCountdown[flag] = flagsCountdown[flag]!! - 1
|
flagsCountdown[flag] = flagsCountdown[flag]!! - 1
|
||||||
if(flagsCountdown[flag]==0) {
|
if(flagsCountdown[flag]==0) {
|
||||||
|
if(flag==DiplomacyFlags.ProvideMilitaryUnit.name && civInfo.cities.isEmpty())
|
||||||
|
continue
|
||||||
flagsCountdown.remove(flag)
|
flagsCountdown.remove(flag)
|
||||||
if(flag==DiplomacyFlags.AgreedToNotSettleNearUs.name)
|
if(flag==DiplomacyFlags.AgreedToNotSettleNearUs.name)
|
||||||
addModifier(DiplomaticModifiers.FulfilledPromiseToNotSettleCitiesNearUs,10f)
|
addModifier(DiplomaticModifiers.FulfilledPromiseToNotSettleCitiesNearUs,10f)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user