Merge branch 'yairm210:master' into flash-on-new-chat-message

This commit is contained in:
Md. Touhidur Rahman 2025-09-19 23:42:52 +06:00 committed by GitHub
commit 5a4e7840f0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 44 additions and 41 deletions

View File

@ -195,126 +195,126 @@ FlagIcons/Malay
index: -1 index: -1
FlagIcons/Maltese FlagIcons/Maltese
rotate: false rotate: false
xy: 1908, 4 xy: 1092, 4
size: 128, 128 size: 128, 128
orig: 128, 128 orig: 128, 128
offset: 0, 0 offset: 0, 0
index: -1 index: -1
FlagIcons/Norwegian FlagIcons/Norwegian
rotate: false rotate: false
xy: 1092, 4 xy: 1228, 140
size: 128, 128 size: 128, 128
orig: 128, 128 orig: 128, 128
offset: 0, 0 offset: 0, 0
index: -1 index: -1
FlagIcons/Persian_(Pinglish-DIN) FlagIcons/Persian_(Pinglish-DIN)
rotate: false rotate: false
xy: 1228, 140 xy: 1364, 276
size: 128, 128 size: 128, 128
orig: 128, 128 orig: 128, 128
offset: 0, 0 offset: 0, 0
index: -1 index: -1
FlagIcons/Persian_(Pinglish-UN) FlagIcons/Persian_(Pinglish-UN)
rotate: false rotate: false
xy: 1228, 140 xy: 1364, 276
size: 128, 128 size: 128, 128
orig: 128, 128 orig: 128, 128
offset: 0, 0 offset: 0, 0
index: -1 index: -1
FlagIcons/Polish FlagIcons/Polish
rotate: false rotate: false
xy: 1364, 276 xy: 1228, 4
size: 128, 128 size: 128, 128
orig: 128, 128 orig: 128, 128
offset: 0, 0 offset: 0, 0
index: -1 index: -1
FlagIcons/Portuguese FlagIcons/Portuguese
rotate: false rotate: false
xy: 1228, 4 xy: 1364, 140
size: 128, 128 size: 128, 128
orig: 128, 128 orig: 128, 128
offset: 0, 0 offset: 0, 0
index: -1 index: -1
FlagIcons/Romanian FlagIcons/Romanian
rotate: false rotate: false
xy: 1364, 140 xy: 1500, 276
size: 128, 128 size: 128, 128
orig: 128, 128 orig: 128, 128
offset: 0, 0 offset: 0, 0
index: -1 index: -1
FlagIcons/Russian FlagIcons/Russian
rotate: false rotate: false
xy: 1500, 276 xy: 1364, 4
size: 128, 128 size: 128, 128
orig: 128, 128 orig: 128, 128
offset: 0, 0 offset: 0, 0
index: -1 index: -1
FlagIcons/Rusyn FlagIcons/Rusyn
rotate: false rotate: false
xy: 1364, 4 xy: 1500, 140
size: 128, 128 size: 128, 128
orig: 128, 128 orig: 128, 128
offset: 0, 0 offset: 0, 0
index: -1 index: -1
FlagIcons/Simplified_Chinese FlagIcons/Simplified_Chinese
rotate: false rotate: false
xy: 1500, 140 xy: 1636, 276
size: 128, 128 size: 128, 128
orig: 128, 128 orig: 128, 128
offset: 0, 0 offset: 0, 0
index: -1 index: -1
FlagIcons/Spanish FlagIcons/Spanish
rotate: false rotate: false
xy: 1636, 276 xy: 1500, 4
size: 128, 128 size: 128, 128
orig: 128, 128 orig: 128, 128
offset: 0, 0 offset: 0, 0
index: -1 index: -1
FlagIcons/Swedish FlagIcons/Swedish
rotate: false rotate: false
xy: 1500, 4 xy: 1636, 140
size: 128, 128 size: 128, 128
orig: 128, 128 orig: 128, 128
offset: 0, 0 offset: 0, 0
index: -1 index: -1
FlagIcons/Thai FlagIcons/Thai
rotate: false rotate: false
xy: 1636, 140 xy: 1772, 276
size: 128, 128 size: 128, 128
orig: 128, 128 orig: 128, 128
offset: 0, 0 offset: 0, 0
index: -1 index: -1
FlagIcons/Traditional_Chinese FlagIcons/Traditional_Chinese
rotate: false rotate: false
xy: 1772, 276 xy: 1636, 4
size: 128, 128 size: 128, 128
orig: 128, 128 orig: 128, 128
offset: 0, 0 offset: 0, 0
index: -1 index: -1
FlagIcons/Turkish FlagIcons/Turkish
rotate: false rotate: false
xy: 1636, 4 xy: 1772, 140
size: 128, 128 size: 128, 128
orig: 128, 128 orig: 128, 128
offset: 0, 0 offset: 0, 0
index: -1 index: -1
FlagIcons/Ukrainian FlagIcons/Ukrainian
rotate: false rotate: false
xy: 1772, 140 xy: 1908, 276
size: 128, 128 size: 128, 128
orig: 128, 128 orig: 128, 128
offset: 0, 0 offset: 0, 0
index: -1 index: -1
FlagIcons/Vietnamese FlagIcons/Vietnamese
rotate: false rotate: false
xy: 1908, 276 xy: 1772, 4
size: 128, 128 size: 128, 128
orig: 128, 128 orig: 128, 128
offset: 0, 0 offset: 0, 0
index: -1 index: -1
FlagIcons/Zulu FlagIcons/Zulu
rotate: false rotate: false
xy: 1772, 4 xy: 1908, 140
size: 128, 128 size: 128, 128
orig: 128, 128 orig: 128, 128
offset: 0, 0 offset: 0, 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 248 KiB

After

Width:  |  Height:  |  Size: 255 KiB

View File

@ -37,7 +37,7 @@ plugins {
kotlin("multiplatform") version kotlinVersion kotlin("multiplatform") version kotlinVersion
kotlin("plugin.serialization") version kotlinVersion kotlin("plugin.serialization") version kotlinVersion
id("io.gitlab.arturbosch.detekt") version "1.23.8" id("io.gitlab.arturbosch.detekt") version "1.23.8"
id("io.github.yairm210.purity-plugin") version "1.2.3" apply false id("io.github.yairm210.purity-plugin") version "1.3.0" apply false
} }
allprojects { allprojects {

View File

@ -49,23 +49,21 @@ object DeclareWar {
UniqueTriggerActivation.triggerUnique(unique, civInfo) UniqueTriggerActivation.triggerUnique(unique, civInfo)
} }
for (unique in civInfo.getTriggeredUniques(UniqueType.TriggerUponDeclaringWarFiltered)) { for (unique in civInfo.getTriggeredUniques(UniqueType.TriggerUponDeclaringWarFiltered)
if (otherCiv.matchesFilter(unique.params[0])) { otherCiv.matchesFilter(it.params[0])} )
UniqueTriggerActivation.triggerUnique(unique, civInfo) UniqueTriggerActivation.triggerUnique(unique, civInfo)
}
for (unique in otherCiv.getTriggeredUniques(UniqueType.TriggerUponBeingDeclaredWarUpon)) { for (unique in otherCiv.getTriggeredUniques(UniqueType.TriggerUponBeingDeclaredWarUpon)
if (civInfo.matchesFilter(unique.params[0])) { civInfo.matchesFilter(it.params[0])} )
UniqueTriggerActivation.triggerUnique(unique, otherCiv) UniqueTriggerActivation.triggerUnique(unique, otherCiv)
}
for (unique in civInfo.getTriggeredUniques(UniqueType.TriggerUponEnteringWar)) for (unique in civInfo.getTriggeredUniques(UniqueType.TriggerUponEnteringWar)
if (otherCiv.matchesFilter(unique.params[0])) {otherCiv.matchesFilter(it.params[0])})
UniqueTriggerActivation.triggerUnique(unique, civInfo) UniqueTriggerActivation.triggerUnique(unique, civInfo)
for (unique in otherCiv.getTriggeredUniques(UniqueType.TriggerUponEnteringWar)) for (unique in otherCiv.getTriggeredUniques(UniqueType.TriggerUponEnteringWar)
if (civInfo.matchesFilter(unique.params[0])) {civInfo.matchesFilter(it.params[0])})
UniqueTriggerActivation.triggerUnique(unique, otherCiv) UniqueTriggerActivation.triggerUnique(unique, otherCiv)
} }
private fun handleCityStateDirectAttack(diplomacyManager: DiplomacyManager) { private fun handleCityStateDirectAttack(diplomacyManager: DiplomacyManager) {

View File

@ -51,12 +51,13 @@ object ImprovementFunctions {
yield(ImprovementBuildingProblem.MissingResources) yield(ImprovementBuildingProblem.MissingResources)
if (tile != null) { if (tile != null) {
if (tile.getOwner() != civInfo && !improvement.hasUnique(UniqueType.CanBuildOutsideBorders, gameContext)) { if (tile.getOwner() != civInfo
if (!improvement.hasUnique(UniqueType.CanBuildJustOutsideBorders, gameContext)) && !improvement.hasUnique(UniqueType.CanBuildOutsideBorders, gameContext)
yield(ImprovementBuildingProblem.OutsideBorders) && (!improvement.hasUnique(UniqueType.CanBuildJustOutsideBorders, gameContext)
else if (tile.neighbors.none { it.getOwner() == civInfo }) || tile.neighbors.none { it.getOwner() == civInfo })
yield(ImprovementBuildingProblem.NotJustOutsideBorders) )
} yield(ImprovementBuildingProblem.OutsideBorders)
val knownFeatureRemovals = tile.ruleset.nonRoadTileRemovals val knownFeatureRemovals = tile.ruleset.nonRoadTileRemovals
.filter { rulesetImprovement -> .filter { rulesetImprovement ->
rulesetImprovement.techRequired == null || civInfo.tech.isResearched(rulesetImprovement.techRequired!!) rulesetImprovement.techRequired == null || civInfo.tech.isResearched(rulesetImprovement.techRequired!!)

View File

@ -81,8 +81,7 @@ interface ISortableGridContentProvider<IT, ACT> {
items.sumOf { getEntryValue(it) }.toCenteredLabel() items.sumOf { getEntryValue(it) }.toCenteredLabel()
companion object { companion object {
@JvmStatic val collator by lazy {UncivGame.Current.settings.getCollatorFromLocale()}
val collator = UncivGame.Current.settings.getCollatorFromLocale()
@JvmStatic @JvmStatic
fun getCircledIcon(path: String, iconSize: Float, circleColor: Color = Color.LIGHT_GRAY) = fun getCircledIcon(path: String, iconSize: Float, circleColor: Color = Color.LIGHT_GRAY) =

View File

@ -6,7 +6,9 @@ import com.unciv.UncivGame
import com.unciv.logic.civilization.Civilization import com.unciv.logic.civilization.Civilization
import com.unciv.logic.civilization.PlayerType import com.unciv.logic.civilization.PlayerType
import com.unciv.logic.civilization.diplomacy.DiplomacyFlags import com.unciv.logic.civilization.diplomacy.DiplomacyFlags
import com.unciv.logic.civilization.managers.ImprovementFunctions
import com.unciv.logic.map.mapunit.MapUnit import com.unciv.logic.map.mapunit.MapUnit
import com.unciv.logic.map.tile.ImprovementBuildingProblem
import com.unciv.logic.map.tile.RoadStatus import com.unciv.logic.map.tile.RoadStatus
import com.unciv.logic.map.tile.Tile import com.unciv.logic.map.tile.Tile
import com.unciv.models.Counter import com.unciv.models.Counter
@ -512,6 +514,9 @@ object UnitActionsFromUniques {
val couldConstruct = unit.hasMovement() val couldConstruct = unit.hasMovement()
&& !tile.isCityCenter() && tile.improvementInProgress != Constants.repair && !tile.isCityCenter() && tile.improvementInProgress != Constants.repair
&& !tile.isEnemyTerritory(unit.civ) && !tile.isEnemyTerritory(unit.civ)
// Are there any other improvement building problems that should block repair?
&& ImprovementFunctions.getImprovementBuildingProblems(unit.currentTile.getImprovementToRepair()!!, GameContext(civInfo = unit.civ, unit = unit, tile = tile))
.none { it == ImprovementBuildingProblem.OutsideBorders }
val turnsToBuild = getRepairTurns(unit) val turnsToBuild = getRepairTurns(unit)