added no ancient ruins option (#1280)

This commit is contained in:
BenBooth1344
2019-11-03 09:17:15 -05:00
committed by Yair Morgenstern
parent 51dd38eac3
commit b82a52ce38
4 changed files with 22 additions and 5 deletions

View File

@ -88,6 +88,10 @@
Ukrainian:"Без варварів" Ukrainian:"Без варварів"
} }
"No ancient ruins": {
}
"Victory conditions": { "Victory conditions": {
Italian:"Condizioni di Vittoria" Italian:"Condizioni di Vittoria"
French: "Conditions de victoire" French: "Conditions de victoire"

View File

@ -45,7 +45,7 @@ class MapGenerator() {
setWaterTiles(map) setWaterTiles(map)
for(tile in map.values) randomizeTile(tile) for(tile in map.values) randomizeTile(tile,gameParameters)
randomizeResources(map, mapRadius) randomizeResources(map, mapRadius)
@ -95,13 +95,13 @@ class MapGenerator() {
} }
} }
fun randomizeTile(tileInfo: TileInfo){ fun randomizeTile(tileInfo: TileInfo,gameParameters : GameParameters){
if(tileInfo.getBaseTerrain().type==TerrainType.Land && Math.random()<0.05f){ if(tileInfo.getBaseTerrain().type==TerrainType.Land && Math.random()<0.05f){
tileInfo.baseTerrain = Constants.mountain tileInfo.baseTerrain = Constants.mountain
tileInfo.setTransients() tileInfo.setTransients()
} }
addRandomTerrainFeature(tileInfo) addRandomTerrainFeature(tileInfo)
maybeAddAncientRuins(tileInfo) maybeAddAncientRuins(tileInfo,gameParameters)
} }
fun getLatitude(vector: Vector2): Float { fun getLatitude(vector: Vector2): Float {
@ -195,9 +195,9 @@ class MapGenerator() {
} }
fun maybeAddAncientRuins(tile: TileInfo) { fun maybeAddAncientRuins(tile: TileInfo, gameParameters: GameParameters) {
val baseTerrain = tile.getBaseTerrain() val baseTerrain = tile.getBaseTerrain()
if(baseTerrain.type!=TerrainType.Water && !baseTerrain.impassable && Random().nextDouble() < 1f/100) if(!gameParameters.noRuins && baseTerrain.type!=TerrainType.Water && !baseTerrain.impassable && Random().nextDouble() < 1f/100)
tile.improvement = Constants.ancientRuins tile.improvement = Constants.ancientRuins
} }

View File

@ -16,6 +16,7 @@ class GameParameters { // Default values are the default new game
var numberOfCityStates = 0 var numberOfCityStates = 0
var mapType = MapType.pangaea var mapType = MapType.pangaea
var noBarbarians = false var noBarbarians = false
var noRuins = false;
var mapFileName: String? = null var mapFileName: String? = null
var victoryTypes: ArrayList<VictoryType> = VictoryType.values().toCollection(ArrayList()) // By default, all victory types var victoryTypes: ArrayList<VictoryType> = VictoryType.values().toCollection(ArrayList()) // By default, all victory types
var startingEra = TechEra.Ancient var startingEra = TechEra.Ancient

View File

@ -27,6 +27,7 @@ class NewGameScreenOptionsTable(val newGameParameters: GameParameters, val onMul
addCityStatesSelectBox() addCityStatesSelectBox()
addVictoryTypeCheckboxes() addVictoryTypeCheckboxes()
addBarbariansCheckbox() addBarbariansCheckbox()
addNoRuinsCheckbox()
addIsOnlineMultiplayerCheckbox() addIsOnlineMultiplayerCheckbox()
@ -44,6 +45,17 @@ class NewGameScreenOptionsTable(val newGameParameters: GameParameters, val onMul
add(noBarbariansCheckbox).colspan(2).row() add(noBarbariansCheckbox).colspan(2).row()
} }
private fun addNoRuinsCheckbox() {
val noRuinsCheckbox = CheckBox("No ancient ruins".tr(), CameraStageBaseScreen.skin)
noRuinsCheckbox.isChecked = newGameParameters.noRuins
noRuinsCheckbox.addListener(object : ChangeListener() {
override fun changed(event: ChangeEvent?, actor: Actor?) {
newGameParameters.noRuins = noRuinsCheckbox.isChecked
}
})
add(noRuinsCheckbox).colspan(2).row()
}
private fun addIsOnlineMultiplayerCheckbox() { private fun addIsOnlineMultiplayerCheckbox() {
add("HIGHLY EXPERIMENTAL - YOU HAVE BEEN WARNED!".tr()).colspan(2).row() add("HIGHLY EXPERIMENTAL - YOU HAVE BEEN WARNED!".tr()).colspan(2).row()