mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-22 10:54:19 -04:00
Merge branch 'yairm210:master' into flash-on-new-chat-message
This commit is contained in:
commit
5a4e7840f0
@ -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 |
@ -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 {
|
||||||
|
@ -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) {
|
||||||
|
@ -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!!)
|
||||||
|
@ -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) =
|
||||||
|
@ -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)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user