mirror of
https://github.com/yairm210/Unciv.git
synced 2025-02-11 11:28:03 +07:00
Technology description no longer includes Manhatten Prokect or Nuclear Missile in description when nuclear weapons are disabled
This commit is contained in:
parent
1eb5ced75c
commit
15e59b161b
@ -440,7 +440,7 @@ BuildingIcons/Paper Maker
|
||||
index: -1
|
||||
BuildingIcons/Pentagon
|
||||
rotate: false
|
||||
xy: 614, 344
|
||||
xy: 512, 344
|
||||
size: 100, 100
|
||||
orig: 100, 100
|
||||
offset: 0, 0
|
||||
@ -797,21 +797,21 @@ ImprovementIcons/Quarry
|
||||
index: -1
|
||||
ImprovementIcons/Railroad
|
||||
rotate: false
|
||||
xy: 614, 242
|
||||
xy: 512, 242
|
||||
size: 100, 100
|
||||
orig: 100, 100
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
TileSets/Default/Railroad
|
||||
rotate: false
|
||||
xy: 614, 242
|
||||
xy: 512, 242
|
||||
size: 100, 100
|
||||
orig: 100, 100
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
TileSets/FantasyHex/Railroad
|
||||
rotate: false
|
||||
xy: 614, 242
|
||||
xy: 512, 242
|
||||
size: 100, 100
|
||||
orig: 100, 100
|
||||
offset: 0, 0
|
||||
@ -1028,7 +1028,7 @@ OtherIcons/MenuIcon
|
||||
index: -1
|
||||
OtherIcons/Pentagon
|
||||
rotate: false
|
||||
xy: 512, 344
|
||||
xy: 614, 344
|
||||
size: 100, 100
|
||||
orig: 100, 100
|
||||
offset: 0, 0
|
||||
@ -1742,7 +1742,7 @@ TechIcons/Radio
|
||||
index: -1
|
||||
TechIcons/Railroad
|
||||
rotate: false
|
||||
xy: 512, 242
|
||||
xy: 614, 242
|
||||
size: 100, 100
|
||||
orig: 100, 100
|
||||
offset: 0, 0
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 872 KiB After Width: | Height: | Size: 872 KiB |
@ -1,8 +1,11 @@
|
||||
package com.unciv.models.gamebasics.tech
|
||||
|
||||
import com.unciv.UnCivGame
|
||||
import com.unciv.logic.civilization.CivilizationInfo
|
||||
import com.unciv.models.gamebasics.Building
|
||||
import com.unciv.models.gamebasics.GameBasics
|
||||
import com.unciv.models.gamebasics.tr
|
||||
import com.unciv.models.gamebasics.unit.BaseUnit
|
||||
import java.util.*
|
||||
|
||||
class Technology {
|
||||
@ -30,30 +33,22 @@ class Technology {
|
||||
}
|
||||
|
||||
val viewingCiv = UnCivGame.Current.worldScreen.viewingCiv
|
||||
var enabledUnits = GameBasics.Units.values.filter {
|
||||
it.requiredTech == name &&
|
||||
(it.uniqueTo == null || it.uniqueTo == viewingCiv.civName)
|
||||
}
|
||||
val replacedUnits = enabledUnits.mapNotNull { it.replaces }
|
||||
enabledUnits = enabledUnits.filter { it.name !in replacedUnits }
|
||||
val enabledUnits = getEnabledUnits(viewingCiv)
|
||||
if (enabledUnits.isNotEmpty()) {
|
||||
lineList += "{Units enabled}: "
|
||||
for (unit in enabledUnits)
|
||||
lineList += " * " + unit.name.tr() + " (" + unit.getShortDescription() + ")"
|
||||
}
|
||||
|
||||
var enabledBuildings = GameBasics.Buildings.values.filter {
|
||||
it.requiredTech == name &&
|
||||
(it.uniqueTo == null || it.uniqueTo == viewingCiv.civName)
|
||||
}
|
||||
val replacedBuildings = enabledBuildings.mapNotNull { it.replaces }
|
||||
enabledBuildings = enabledBuildings.filter { it.name !in replacedBuildings }
|
||||
var enabledBuildings = getEnabledBuildings(viewingCiv)
|
||||
|
||||
val regularBuildings = enabledBuildings.filter { !it.isWonder && !it.isNationalWonder }
|
||||
if (regularBuildings.isNotEmpty()) {
|
||||
lineList += "{Buildings enabled}: "
|
||||
for (building in regularBuildings)
|
||||
lineList += "* " + building.name.tr() + " (" + building.getShortDescription() + ")"
|
||||
}
|
||||
|
||||
val wonders = enabledBuildings.filter { it.isWonder || it.isNationalWonder }
|
||||
if (wonders.isNotEmpty()) {
|
||||
lineList += "{Wonders enabled}: "
|
||||
@ -71,6 +66,35 @@ class Technology {
|
||||
return lineList.joinToString("\n") { it.tr() }
|
||||
}
|
||||
|
||||
private fun getEnabledBuildings(civInfo: CivilizationInfo): List<Building> {
|
||||
var enabledBuildings = GameBasics.Buildings.values.filter {
|
||||
it.requiredTech == name &&
|
||||
(it.uniqueTo == null || it.uniqueTo == civInfo.civName)
|
||||
}
|
||||
val replacedBuildings = enabledBuildings.mapNotNull { it.replaces }
|
||||
enabledBuildings = enabledBuildings.filter { it.name !in replacedBuildings }
|
||||
|
||||
if (!civInfo.gameInfo.gameParameters.nuclearWeaponEnabled)
|
||||
enabledBuildings=enabledBuildings.filterNot { it.name=="Manhattan Project" }
|
||||
|
||||
return enabledBuildings
|
||||
}
|
||||
|
||||
fun getEnabledUnits(civInfo:CivilizationInfo): List<BaseUnit> {
|
||||
var enabledUnits = GameBasics.Units.values.filter {
|
||||
it.requiredTech == name &&
|
||||
(it.uniqueTo == null || it.uniqueTo == civInfo.civName)
|
||||
}
|
||||
val replacedUnits = enabledUnits.mapNotNull { it.replaces }
|
||||
enabledUnits = enabledUnits.filter { it.name !in replacedUnits }
|
||||
|
||||
if (!civInfo.gameInfo.gameParameters.nuclearWeaponEnabled)
|
||||
enabledUnits=enabledUnits.filterNot { it.uniques.contains("Requires Manhattan Project") }
|
||||
|
||||
|
||||
return enabledUnits
|
||||
}
|
||||
|
||||
override fun toString(): String {
|
||||
return name
|
||||
}
|
||||
|
@ -59,6 +59,7 @@ class NewGameScreenOptionsTable(val newGameParameters: GameParameters, val onMul
|
||||
}
|
||||
|
||||
private fun addNuclearWeaponCheckbox() {
|
||||
add("HIGHLY EXPERIMENTAL - YOU HAVE BEEN WARNED!".tr()).colspan(2).row()
|
||||
val nuclearWeaponCheckbox = CheckBox("Enable nuclear weapon".tr(), CameraStageBaseScreen.skin)
|
||||
nuclearWeaponCheckbox.isChecked = newGameParameters.nuclearWeaponEnabled
|
||||
nuclearWeaponCheckbox.addListener(object : ChangeListener() {
|
||||
@ -82,7 +83,6 @@ class NewGameScreenOptionsTable(val newGameParameters: GameParameters, val onMul
|
||||
|
||||
private fun addIsOnlineMultiplayerCheckbox() {
|
||||
|
||||
add("HIGHLY EXPERIMENTAL - YOU HAVE BEEN WARNED!".tr()).colspan(2).row()
|
||||
val isOnlineMultiplayerCheckbox = CheckBox("Online Multiplayer".tr(), CameraStageBaseScreen.skin)
|
||||
isOnlineMultiplayerCheckbox.isChecked = newGameParameters.isOnlineMultiplayer
|
||||
isOnlineMultiplayerCheckbox.addListener(object : ChangeListener() {
|
||||
|
@ -93,7 +93,6 @@ class WorldScreenMenuTable(val worldScreen: WorldScreen) : PopupTable(worldScree
|
||||
close()
|
||||
val multiplayerPopup = PopupTable(screen)
|
||||
|
||||
multiplayerPopup.addGoodSizedLabel("HIGHLY EXPERIMENTAL - YOU HAVE BEEN WARNED!").row()
|
||||
multiplayerPopup.addGoodSizedLabel("To create a multiplayer game, check the 'multiplayer' toggle in the New Game screen, and for each human player insert that player's user ID.").row()
|
||||
multiplayerPopup.addGoodSizedLabel("You can assign your own user ID there easily, and other players can copy their user IDs here and send them to you for you to include them in the game.").row()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user