Skip to content

Commit

Permalink
Update Spy Tech Stealing (#12875)
Browse files Browse the repository at this point in the history
* Update Spy.kt

* Update Spy.kt
  • Loading branch information
EmperorPinguin authored Jan 29, 2025
1 parent f865cf6 commit 49d92f0
Showing 1 changed file with 5 additions and 3 deletions.
8 changes: 5 additions & 3 deletions core/src/com/unciv/models/Spy.kt
Original file line number Diff line number Diff line change
Expand Up @@ -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()

Expand Down

0 comments on commit 49d92f0

Please sign in to comment.