mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-14 09:48:12 +07:00
Return Stacking Terrain Bonus to Civ5 Rules (#6249)
* Make multiple defense bonuses stack * Switch to check base terrin and Natural Wonders using getAllTerrains() * Improved Tile Defense stacking * Change to using 0f since no other maths happening Co-authored-by: itanasi <spellman23@gmail.com>
This commit is contained in:
@ -609,8 +609,12 @@ open class TileInfo {
|
||||
tileMap.getTilesAtDistance(position, distance)
|
||||
|
||||
fun getDefensiveBonus(): Float {
|
||||
var bonus = 0F
|
||||
getAllTerrains().forEach{bonus += it.defenceBonus}
|
||||
var bonus = baseTerrainObject.defenceBonus
|
||||
if (terrainFeatureObjects.isNotEmpty()) {
|
||||
val otherTerrainBonus = terrainFeatureObjects.maxOf { it.defenceBonus }
|
||||
if (otherTerrainBonus != 0f) bonus = otherTerrainBonus // replaces baseTerrainObject
|
||||
}
|
||||
if (naturalWonder != null) bonus += getNaturalWonder().defenceBonus
|
||||
val tileImprovement = getTileImprovement()
|
||||
if (tileImprovement != null) {
|
||||
for (unique in tileImprovement.getMatchingUniques(UniqueType.DefensiveBonus, StateForConditionals(tile = this)))
|
||||
|
Reference in New Issue
Block a user