mirror of
https://github.com/vcmi/vcmi.git
synced 2025-02-03 13:01:33 +02:00
* general defence reduction support (behemoths)
This commit is contained in:
parent
ad841f7fea
commit
047849a23e
@ -2387,11 +2387,22 @@ std::pair<ui32, ui32> BattleInfo::calculateDmgRange(const CStack* attacker, cons
|
||||
|
||||
if(attacker->hasFeatureOfType(StackFeature::GENERAL_ATTACK_REDUCTION))
|
||||
{
|
||||
attackDefenseBonus = attacker->Attack() * (attacker->valOfFeatures(StackFeature::GENERAL_ATTACK_REDUCTION, -1024) / 100.0f) - defender->Defense();
|
||||
float multAttackReduction = attacker->valOfFeatures(StackFeature::GENERAL_ATTACK_REDUCTION, -1024) / 100.0f;
|
||||
attackDefenseBonus = attacker->Attack() * multAttackReduction;
|
||||
}
|
||||
else
|
||||
{
|
||||
attackDefenseBonus = attacker->Attack() - defender->Defense();
|
||||
attackDefenseBonus = attacker->Attack();
|
||||
}
|
||||
|
||||
if(attacker->hasFeatureOfType(StackFeature::ENEMY_DEFENCE_REDUCTION))
|
||||
{
|
||||
float multDefenceReduction = (100.0f - attacker->valOfFeatures(StackFeature::ENEMY_DEFENCE_REDUCTION, -1024)) / 100.0f;
|
||||
attackDefenseBonus -= defender->Defense() * multDefenceReduction;
|
||||
}
|
||||
else
|
||||
{
|
||||
attackDefenseBonus -= defender->Defense();
|
||||
}
|
||||
|
||||
//calculating total attack/defense skills modifier
|
||||
@ -2406,7 +2417,6 @@ std::pair<ui32, ui32> BattleInfo::calculateDmgRange(const CStack* attacker, cons
|
||||
attackDefenseBonus += attacker->valOfFeatures(StackFeature::ATTACK_BONUS, 1);
|
||||
}
|
||||
|
||||
|
||||
if(attacker->getEffect(55)) //slayer handling
|
||||
{
|
||||
std::vector<int> affectedIds;
|
||||
|
Loading…
x
Reference in New Issue
Block a user