mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-22 22:00:24 +07:00
Resolved #866 - City-states can no longer get Ancient Ruin bonuses
This commit is contained in:
@ -401,7 +401,7 @@ class UnitAutomation{
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun tryGoToRuin(unit:MapUnit, unitDistanceToTiles: HashMap<TileInfo, Float>): Boolean {
|
fun tryGoToRuin(unit:MapUnit, unitDistanceToTiles: HashMap<TileInfo, Float>): Boolean {
|
||||||
if(unit.civInfo.isBarbarianCivilization()) return false // barbs don't have anything to do in ruins
|
if(!unit.civInfo.isMajorCiv()) return false // barbs don't have anything to do in ruins
|
||||||
val tileWithRuin = unitDistanceToTiles.keys.firstOrNull{unit.canMoveTo(it) && it.improvement == Constants.ancientRuins}
|
val tileWithRuin = unitDistanceToTiles.keys.firstOrNull{unit.canMoveTo(it) && it.improvement == Constants.ancientRuins}
|
||||||
if(tileWithRuin==null) return false
|
if(tileWithRuin==null) return false
|
||||||
unit.moveToTile(tileWithRuin)
|
unit.moveToTile(tileWithRuin)
|
||||||
|
@ -234,14 +234,12 @@ class Battle(val gameInfo:GameInfo) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun captureCivilianUnit(attacker: ICombatant, defender: ICombatant){
|
fun captureCivilianUnit(attacker: ICombatant, defender: ICombatant){
|
||||||
if(attacker.getCivInfo().isBarbarianCivilization()){
|
if(attacker.getCivInfo().isBarbarianCivilization()
|
||||||
|
|| (attacker.getCivInfo().isCityState() && defender.getName()==Constants.settler)){
|
||||||
defender.takeDamage(100)
|
defender.takeDamage(100)
|
||||||
return
|
return
|
||||||
} // barbarians don't capture civilians!
|
} // barbarians don't capture civilians!
|
||||||
if (attacker.getCivInfo().isCityState() && defender.getName() == Constants.settler) {
|
|
||||||
defender.takeDamage(100)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if (defender.getCivInfo().isDefeated()) {//Last settler captured
|
if (defender.getCivInfo().isDefeated()) {//Last settler captured
|
||||||
defender.getCivInfo().destroy()
|
defender.getCivInfo().destroy()
|
||||||
attacker.getCivInfo().popupAlerts.add(PopupAlert(AlertType.Defeated,defender.getCivInfo().civName))
|
attacker.getCivInfo().popupAlerts.add(PopupAlert(AlertType.Defeated,defender.getCivInfo().civName))
|
||||||
|
@ -456,7 +456,7 @@ class MapUnit {
|
|||||||
tile.civilianUnit=this
|
tile.civilianUnit=this
|
||||||
else tile.militaryUnit=this
|
else tile.militaryUnit=this
|
||||||
currentTile = tile
|
currentTile = tile
|
||||||
if(tile.improvement==Constants.ancientRuins && !civInfo.isBarbarianCivilization())
|
if(tile.improvement==Constants.ancientRuins && civInfo.isMajorCiv())
|
||||||
getAncientRuinBonus()
|
getAncientRuinBonus()
|
||||||
if(tile.improvement==Constants.barbarianEncampment && !civInfo.isBarbarianCivilization())
|
if(tile.improvement==Constants.barbarianEncampment && !civInfo.isBarbarianCivilization())
|
||||||
clearEncampment(tile)
|
clearEncampment(tile)
|
||||||
|
Reference in New Issue
Block a user