mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-19 20:28:56 +07:00
Removed extraneous (for now) G&K files
This commit is contained in:
@ -6,7 +6,6 @@ import com.unciv.models.ruleset.VictoryType
|
||||
|
||||
enum class BaseRuleset(val fullName:String){
|
||||
Civ_V_Vanilla("Civ V - Vanilla"),
|
||||
Civ_V_GaK("Civ V - G&K"),
|
||||
}
|
||||
|
||||
class GameParameters { // Default values are the default new game
|
||||
|
@ -236,8 +236,10 @@ class Building : NamedStats(), IConstruction{
|
||||
|| rejectionReason == "Wonder is being built elsewhere"
|
||||
}
|
||||
|
||||
fun getRejectionReason(construction: CityConstructions):String{
|
||||
fun getRejectionReason(construction: CityConstructions):String {
|
||||
if (construction.isBuilt(name)) return "Already built"
|
||||
// for buildings that are created as side effects of other things, and not directly built
|
||||
if (uniques.contains("Unbuildable")) return "Unbuildable"
|
||||
|
||||
val cityCenter = construction.cityInfo.getCenterTile()
|
||||
if ("Must be next to desert" in uniques
|
||||
@ -248,34 +250,35 @@ class Building : NamedStats(), IConstruction{
|
||||
&& !cityCenter.neighbors.any { it.baseTerrain == Constants.mountain })
|
||||
return "Must be next to mountain"
|
||||
|
||||
if("Must be next to river" in uniques && !cityCenter.isAdjacentToRiver())
|
||||
if ("Must be next to river" in uniques && !cityCenter.isAdjacentToRiver())
|
||||
return "Must be next to river"
|
||||
|
||||
if("Must have an owned mountain within 2 tiles" in uniques
|
||||
if ("Must have an owned mountain within 2 tiles" in uniques
|
||||
&& !cityCenter.getTilesInDistance(2)
|
||||
.any { it.baseTerrain==Constants.mountain && it.getOwner()==construction.cityInfo.civInfo })
|
||||
.any { it.baseTerrain == Constants.mountain && it.getOwner() == construction.cityInfo.civInfo })
|
||||
return "Must be within 2 tiles of an owned mountain"
|
||||
|
||||
if("Must not be on plains" in uniques
|
||||
&& cityCenter.baseTerrain==Constants.plains)
|
||||
if ("Must not be on plains" in uniques
|
||||
&& cityCenter.baseTerrain == Constants.plains)
|
||||
return "Must not be on plains"
|
||||
|
||||
if("Must not be on hill" in uniques
|
||||
&& cityCenter.baseTerrain==Constants.hill)
|
||||
if ("Must not be on hill" in uniques
|
||||
&& cityCenter.baseTerrain == Constants.hill)
|
||||
return "Must not be on hill"
|
||||
|
||||
if("Can only be built in coastal cities" in uniques
|
||||
if ("Can only be built in coastal cities" in uniques
|
||||
&& !cityCenter.isCoastalTile())
|
||||
return "Can only be built in coastal cities"
|
||||
|
||||
if("Can only be built in annexed cities" in uniques
|
||||
if ("Can only be built in annexed cities" in uniques
|
||||
&& (construction.cityInfo.isPuppet || construction.cityInfo.foundingCiv == ""
|
||||
|| construction.cityInfo.civInfo.civName == construction.cityInfo.foundingCiv))
|
||||
return "Can only be built in annexed cities"
|
||||
|
||||
val civInfo = construction.cityInfo.civInfo
|
||||
if (uniqueTo!=null && uniqueTo!=civInfo.civName) return "Unique to $uniqueTo"
|
||||
if (civInfo.gameInfo.ruleSet.buildings.values.any { it.uniqueTo==civInfo.civName && it.replaces==name }) return "Our unique building replaces this"
|
||||
if (uniqueTo != null && uniqueTo != civInfo.civName) return "Unique to $uniqueTo"
|
||||
if (civInfo.gameInfo.ruleSet.buildings.values.any { it.uniqueTo == civInfo.civName && it.replaces == name })
|
||||
return "Our unique building replaces this"
|
||||
if (requiredTech != null && !civInfo.tech.isResearched(requiredTech!!)) return "$requiredTech not researched"
|
||||
|
||||
// Regular wonders
|
||||
@ -292,16 +295,18 @@ class Building : NamedStats(), IConstruction{
|
||||
|
||||
|
||||
// National wonders
|
||||
if(isNationalWonder) {
|
||||
if (civInfo.cities.any {it.cityConstructions.isBuilt(name) })
|
||||
if (isNationalWonder) {
|
||||
if (civInfo.cities.any { it.cityConstructions.isBuilt(name) })
|
||||
return "National Wonder is already built"
|
||||
if (requiredBuildingInAllCities!=null
|
||||
&& civInfo.cities.any { !it.isPuppet && !it.cityConstructions
|
||||
.containsBuildingOrEquivalent(requiredBuildingInAllCities!!) })
|
||||
if (requiredBuildingInAllCities != null
|
||||
&& civInfo.cities.any {
|
||||
!it.isPuppet && !it.cityConstructions
|
||||
.containsBuildingOrEquivalent(requiredBuildingInAllCities!!)
|
||||
})
|
||||
return "Requires a [$requiredBuildingInAllCities] in all cities"
|
||||
if (civInfo.cities.any {it!=construction.cityInfo && it.cityConstructions.isBeingConstructedOrEnqueued(name) })
|
||||
if (civInfo.cities.any { it != construction.cityInfo && it.cityConstructions.isBeingConstructedOrEnqueued(name) })
|
||||
return "National Wonder is being built elsewhere"
|
||||
if(civInfo.isCityState())
|
||||
if (civInfo.isCityState())
|
||||
return "No national wonders for city-states"
|
||||
}
|
||||
|
||||
@ -319,7 +324,7 @@ class Building : NamedStats(), IConstruction{
|
||||
it.resource != null
|
||||
&& requiredNearbyImprovedResources!!.contains(it.resource!!)
|
||||
&& it.getOwner() == civInfo
|
||||
&& (it.getTileResource().improvement == it.improvement || it.getTileImprovement()?.isGreatImprovement()==true || it.isCityCenter())
|
||||
&& (it.getTileResource().improvement == it.improvement || it.getTileImprovement()?.isGreatImprovement() == true || it.isCityCenter())
|
||||
}
|
||||
if (!containsResourceWithImprovement) return "Nearby $requiredNearbyImprovedResources required"
|
||||
}
|
||||
@ -329,7 +334,7 @@ class Building : NamedStats(), IConstruction{
|
||||
if (civInfo.victoryManager.unconstructedSpaceshipParts()[name] == 0) return "Don't need to build any more of these!"
|
||||
}
|
||||
|
||||
if(!civInfo.gameInfo.gameParameters.victoryTypes.contains(VictoryType.Scientific)
|
||||
if (!civInfo.gameInfo.gameParameters.victoryTypes.contains(VictoryType.Scientific)
|
||||
&& "Enables construction of Spaceship parts" in uniques)
|
||||
return "Can't construct spaceship parts if scientific victory is not enabled!"
|
||||
|
||||
|
Reference in New Issue
Block a user