diff --git a/core/src/com/unciv/logic/battle/Battle.kt b/core/src/com/unciv/logic/battle/Battle.kt index bb503bfe6e..49a66a818a 100644 --- a/core/src/com/unciv/logic/battle/Battle.kt +++ b/core/src/com/unciv/logic/battle/Battle.kt @@ -242,7 +242,9 @@ object Battle { 0.1f + attacker.getAttackingStrength().toFloat() / defender.getDefendingStrength() .toFloat() * 0.4f ) - return Random().nextFloat() <= captureChance + /** Between 0 and 1. Defaults to turn and location-based random to avoid save scumming */ + val random = Random((attacker.getCivInfo().gameInfo.turns * defender.getTile().position.hashCode()).toLong()) + return random.nextFloat() <= captureChance } fun unitGainFromEncampment(): Boolean {