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

@ -45,7 +45,7 @@ class MapGenerator() {
setWaterTiles(map)
for(tile in map.values) randomizeTile(tile)
for(tile in map.values) randomizeTile(tile,gameParameters)
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){
tileInfo.baseTerrain = Constants.mountain
tileInfo.setTransients()
}
addRandomTerrainFeature(tileInfo)
maybeAddAncientRuins(tileInfo)
maybeAddAncientRuins(tileInfo,gameParameters)
}
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()
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
}

View File

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

View File

@ -27,6 +27,7 @@ class NewGameScreenOptionsTable(val newGameParameters: GameParameters, val onMul
addCityStatesSelectBox()
addVictoryTypeCheckboxes()
addBarbariansCheckbox()
addNoRuinsCheckbox()
addIsOnlineMultiplayerCheckbox()
@ -44,6 +45,17 @@ class NewGameScreenOptionsTable(val newGameParameters: GameParameters, val onMul
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() {
add("HIGHLY EXPERIMENTAL - YOU HAVE BEEN WARNED!".tr()).colspan(2).row()