Update Spy Tech Stealing (#12875)

* Update Spy.kt

* Update Spy.kt
This commit is contained in:
EmperorPinguin 2025-01-29 12:25:05 +01:00 committed by GitHub
parent f865cf68a9
commit 49d92f0806
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -169,12 +169,14 @@ class Spy private constructor() : IsPartOfGameInfoSerialization {
val stealableTechs = espionageManager.getTechsToSteal(getCity().civ)
if (stealableTechs.isEmpty()) return -1
val techStealCost = stealableTechs.maxOfOrNull { civInfo.gameInfo.ruleset.technologies[it]!!.cost }!!
var techStealCost = stealableTechs.maxOfOrNull { civInfo.gameInfo.ruleset.technologies[it]!!.cost }!!.toFloat()
val techSpeedModifier = civInfo.gameInfo.speed.scienceCostModifier //Modify steal cost according to game speed
techStealCost *= techSpeedModifier * 1.25f //Multiply by 1.25f, according to Civ5 GlobalDefines.XML
var progressThisTurn = getCity().cityStats.currentCityStats.science
if (progressThisTurn <= 0f) return -2 // The city has no science
// 33% spy bonus for each level
progressThisTurn *= (rank + 2f) / 3f
// 25% spy bonus for each level
progressThisTurn *= (rank + 3f) / 4f
progressThisTurn *= getEfficiencyModifier().toFloat()
progressTowardsStealingTech += progressThisTurn.toInt()