mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-21 10:25:10 -04:00
BNW: Update logic around Cultural Victories
This commit is contained in:
parent
07ce66c77a
commit
b5c44e3a22
@ -115,7 +115,7 @@ class Milestone(val uniqueDescription: String, private val parentVictory: Victor
|
||||
* Gets the percentage progress of one civilization's countable against another's countable.
|
||||
*
|
||||
* @return The progress percentage (0-100). When the result is >100, it qualifies as "more than".
|
||||
* @see getMoreCountableThanOtherCivRelevent()
|
||||
* @see getMoreCountableThanOtherCivRelevant()
|
||||
*/
|
||||
@Readonly
|
||||
fun getMoreCountableThanOtherCivPercent(civ: Civilization, otherCiv: Civilization): Float {
|
||||
@ -134,7 +134,7 @@ class Milestone(val uniqueDescription: String, private val parentVictory: Victor
|
||||
* @see getMoreCountableThanOtherCivPercent()
|
||||
*/
|
||||
@Readonly
|
||||
fun getMoreCountableThanOtherCivRelevent(civ: Civilization, otherCiv: Civilization): Boolean =
|
||||
fun getMoreCountableThanOtherCivRelevant(civ: Civilization, otherCiv: Civilization): Boolean =
|
||||
civ != otherCiv && otherCiv.isMajorCiv() && otherCiv.isAlive()
|
||||
|
||||
@Readonly
|
||||
@ -151,11 +151,10 @@ class Milestone(val uniqueDescription: String, private val parentVictory: Victor
|
||||
originalMajorCapitalsOwned(civInfo) == civsWithPotentialCapitalsToOwn(civInfo.gameInfo).size
|
||||
MilestoneType.CompletePolicyBranches ->
|
||||
civInfo.policies.completedBranches.size >= params[0].toInt()
|
||||
MilestoneType.MoreCountableThanEachPlayer ->
|
||||
civInfo.gameInfo.civilizations.filter {
|
||||
getMoreCountableThanOtherCivRelevent(civInfo, it) &&
|
||||
getMoreCountableThanOtherCivPercent(civInfo, it) > 100f
|
||||
}.isNotEmpty()
|
||||
MilestoneType.MoreCountableThanEachPlayer -> {
|
||||
val relevantCivs = civInfo.gameInfo.civilizations.filter { getMoreCountableThanOtherCivRelevant(civInfo, it) }
|
||||
relevantCivs.isNotEmpty() && relevantCivs.all { getMoreCountableThanOtherCivPercent(civInfo, it) > 100f }
|
||||
}
|
||||
MilestoneType.BuildingBuiltGlobally -> civInfo.gameInfo.getCities().any {
|
||||
it.cityConstructions.isBuilt(params[0])
|
||||
}
|
||||
@ -218,12 +217,9 @@ class Milestone(val uniqueDescription: String, private val parentVictory: Victor
|
||||
"{$uniqueDescription} (${amountDone.tr()}/${amountToDo.tr()})"
|
||||
}
|
||||
MilestoneType.MoreCountableThanEachPlayer -> {
|
||||
var amountToDo = 0; var amountDone = 0;
|
||||
for (otherCiv in civInfo.gameInfo.civilizations) {
|
||||
if (!getMoreCountableThanOtherCivRelevent(civInfo, otherCiv)) continue
|
||||
amountToDo++
|
||||
if (getMoreCountableThanOtherCivPercent(civInfo, otherCiv) > 100f) amountDone++
|
||||
}
|
||||
val relevantCivs = civInfo.gameInfo.civilizations.filter { getMoreCountableThanOtherCivRelevant(civInfo, it) }
|
||||
val amountToDo = relevantCivs.size
|
||||
val amountDone = relevantCivs.count { getMoreCountableThanOtherCivPercent(civInfo, it) > 100f }
|
||||
if (civInfo.shouldHideCivCount())
|
||||
"{$uniqueDescription} (${amountDone.tr()}/?)"
|
||||
else
|
||||
@ -337,7 +333,7 @@ class Milestone(val uniqueDescription: String, private val parentVictory: Victor
|
||||
MilestoneType.MoreCountableThanEachPlayer -> {
|
||||
val hideCivCount = civInfo.shouldHideCivCount()
|
||||
for (otherCiv in civInfo.gameInfo.civilizations) {
|
||||
if (!getMoreCountableThanOtherCivRelevent(civInfo, otherCiv)) continue
|
||||
if (!getMoreCountableThanOtherCivRelevant(civInfo, otherCiv)) continue
|
||||
if (hideCivCount && !civInfo.knows(otherCiv)) continue
|
||||
val civName = if (civInfo.knows(otherCiv)) otherCiv.civName else Constants.unknownNationName
|
||||
val percent = getMoreCountableThanOtherCivPercent(civInfo, otherCiv)
|
||||
|
@ -248,7 +248,7 @@ class VictoryScreenIllustrations(
|
||||
MilestoneType.MoreCountableThanEachPlayer -> {
|
||||
var amountDone = 0; var amountToDo = 0;
|
||||
for (otherCiv in civ.gameInfo.civilizations) {
|
||||
if (!milestone.getMoreCountableThanOtherCivRelevent(civ, otherCiv)) continue
|
||||
if (!milestone.getMoreCountableThanOtherCivRelevant(civ, otherCiv)) continue
|
||||
amountToDo++
|
||||
if (milestone.getMoreCountableThanOtherCivPercent(civ, otherCiv) > 100f) amountDone++
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user