mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-28 13:48:49 +07:00
Fixed crashing bug where barbarians would capture civilian units - including settlers! - and try to found cities with them
This commit is contained in:
@ -34,7 +34,7 @@ class Battle(val gameInfo:GameInfo=UnCivGame.Current.gameInfo) {
|
||||
}
|
||||
}
|
||||
|
||||
if(enemy.getCivilization() == enemy.getCivilization().gameInfo.getBarbarianCivilization())
|
||||
if(enemy.getCivilization().isBarbarianCivilization())
|
||||
modifiers["vs Barbarians"] = 0.33f
|
||||
|
||||
if(combatant.getCivilization().happiness<0)
|
||||
@ -219,6 +219,7 @@ class Battle(val gameInfo:GameInfo=UnCivGame.Current.gameInfo) {
|
||||
}
|
||||
|
||||
fun captureCivilianUnit(attacker: ICombatant, defender: ICombatant){
|
||||
if(attacker.getCivilization().isBarbarianCivilization()) defender.takeDamage(100) // barbarians don't capture civilians!
|
||||
val capturedUnit = (defender as MapUnitCombatant).unit
|
||||
capturedUnit.civInfo = attacker.getCivilization()
|
||||
capturedUnit.owner = capturedUnit.civInfo.civName
|
||||
|
@ -41,6 +41,7 @@ class CivilizationInfo {
|
||||
fun getCapital()=cities.first { it.isCapital() }
|
||||
|
||||
fun isPlayerCivilization() = gameInfo.getPlayerCivilization()==this
|
||||
fun isBarbarianCivilization() = gameInfo.getBarbarianCivilization()==this
|
||||
|
||||
|
||||
// negative gold hurts science
|
||||
|
@ -80,7 +80,7 @@ class VictoryScreen : PickerScreen() {
|
||||
val t=Table()
|
||||
t.defaults().pad(5f)
|
||||
for (civ in civInfo.gameInfo.civilizations){
|
||||
if(civ.isPlayerCivilization() || civ == civInfo.gameInfo.getBarbarianCivilization()) continue
|
||||
if(civ.isPlayerCivilization() || civ.isBarbarianCivilization()) continue
|
||||
t.add(getMilestone("Destroy "+civ.civName, civ.isDefeated())).row()
|
||||
}
|
||||
return t
|
||||
|
Reference in New Issue
Block a user