mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-21 13:18:56 +07:00
Unhappiness combat penalty capped at 90% - kudos anh pham-vu!
This commit is contained in:
@ -133,13 +133,15 @@ class Battle(val gameInfo:GameInfo) {
|
|||||||
else {
|
else {
|
||||||
val currentPopulation = city.population.population
|
val currentPopulation = city.population.population
|
||||||
if(currentPopulation>1) city.population.population -= 1 + currentPopulation/4 // so from 2-4 population, remove 1, from 5-8, remove 2, etc.
|
if(currentPopulation>1) city.population.population -= 1 + currentPopulation/4 // so from 2-4 population, remove 1, from 5-8, remove 2, etc.
|
||||||
|
city.population.unassignExtraPopulation()
|
||||||
|
|
||||||
city.health = city.getMaxHealth() / 2 // I think that cities recover to half health when conquered?
|
city.health = city.getMaxHealth() / 2 // I think that cities recover to half health when conquered?
|
||||||
|
|
||||||
if(!attacker.getCivilization().policies.isAdopted("Police State")) {
|
if(!attacker.getCivilization().policies.isAdopted("Police State")) {
|
||||||
city.expansion.cultureStored = 0
|
city.expansion.cultureStored = 0
|
||||||
city.expansion.reset()
|
city.expansion.reset()
|
||||||
}
|
}
|
||||||
city.population.unassignExtraPopulation()
|
|
||||||
city.moveToCiv(attacker.getCivilization())
|
city.moveToCiv(attacker.getCivilization())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@ package com.unciv.logic.battle
|
|||||||
|
|
||||||
import com.unciv.logic.map.MapUnit
|
import com.unciv.logic.map.MapUnit
|
||||||
import com.unciv.models.gamebasics.unit.UnitType
|
import com.unciv.models.gamebasics.unit.UnitType
|
||||||
|
import kotlin.math.max
|
||||||
|
|
||||||
class BattleDamageModifier(val vs:String,val modificationAmount:Float){
|
class BattleDamageModifier(val vs:String,val modificationAmount:Float){
|
||||||
fun getText(): String = "vs $vs"
|
fun getText(): String = "vs $vs"
|
||||||
@ -43,8 +44,10 @@ class BattleDamage{
|
|||||||
if(BDM.vs == "land units" && enemy.getUnitType().isLandUnit())
|
if(BDM.vs == "land units" && enemy.getUnitType().isLandUnit())
|
||||||
addToModifiers(BDM)
|
addToModifiers(BDM)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//https://www.carlsguides.com/strategy/civilization5/war/combatbonuses.php
|
||||||
if (combatant.getCivilization().happiness < 0)
|
if (combatant.getCivilization().happiness < 0)
|
||||||
modifiers["Unhappiness"] = 0.02f * combatant.getCivilization().happiness //https://www.carlsguides.com/strategy/civilization5/war/combatbonuses.php
|
modifiers["Unhappiness"] = max(0.02f * combatant.getCivilization().happiness,0.9f)
|
||||||
|
|
||||||
if(combatant.getCivilization().policies.isAdopted("Populism"))
|
if(combatant.getCivilization().policies.isAdopted("Populism"))
|
||||||
modifiers["Populism"] = 0.25f
|
modifiers["Populism"] = 0.25f
|
||||||
|
Reference in New Issue
Block a user