Resolved #931 - added Barbarian Brute as a replacement to the Warrior

This commit is contained in:
Yair Morgenstern
2019-07-21 22:49:04 +03:00
parent d1936cacd3
commit e73ad76227
6 changed files with 509 additions and 501 deletions

View File

@ -147,17 +147,17 @@ class GameInfo {
for (civ in civilizations.filter { !it.isBarbarianCivilization() && !it.isDefeated() }) {
allResearchedTechs.retainAll(civ.tech.techsResearched)
}
val barbarianCiv = getBarbarianCivilization()
barbarianCiv.tech.techsResearched = allResearchedTechs.toHashSet()
val unitList = GameBasics.Units.values
.filter { !it.unitType.isCivilian() && it.uniqueTo == null }
.filter{ (it.requiredTech==null || allResearchedTechs.contains(it.requiredTech!!))
&& (it.obsoleteTech == null || !allResearchedTechs.contains(it.obsoleteTech!!)) }
.filter { !it.unitType.isCivilian()}
.filter { it.isBuildable(barbarianCiv) }
val landUnits = unitList.filter { it.unitType.isLandUnit() }
val waterUnits = unitList.filter { it.unitType.isWaterUnit() }
val unit:String
if (unitList.isEmpty()) unit="Warrior"
else if(waterUnits.isNotEmpty() && tileToPlace.neighbors.any{ it.baseTerrain==Constants.coast } && Random().nextBoolean())
if(waterUnits.isNotEmpty() && tileToPlace.neighbors.any{ it.baseTerrain==Constants.coast } && Random().nextBoolean())
unit=waterUnits.random().name
else unit = landUnits.random().name