aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index ca50e342e0b..5313381737a 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -2778,15 +2778,18 @@ float Unit::GetUnitParryChance(WeaponAttackType attType, Unit const* victim) con
skillBonus = 0.04f * skillDiff;
}
}
- else if (victim->GetTypeId() == TYPEID_UNIT && !(victim->ToCreature()->GetCreatureTemplate()->flags_extra & CREATURE_FLAG_EXTRA_NO_PARRY))
+ else
{
- chance = 5.0f;
- chance += victim->GetTotalAuraModifier(SPELL_AURA_MOD_PARRY_PERCENT);
+ if (!victim->IsTotem() && !(victim->ToCreature()->GetCreatureTemplate()->flags_extra & CREATURE_FLAG_EXTRA_NO_PARRY))
+ {
+ chance = 5.0f;
+ chance += victim->GetTotalAuraModifier(SPELL_AURA_MOD_PARRY_PERCENT);
- if (skillDiff <= 10)
- skillBonus = skillDiff * 0.1f;
- else
- skillBonus = 1.0f + (skillDiff - 10) * 1.6f;
+ if (skillDiff <= 10)
+ skillBonus = skillDiff * 0.1f;
+ else
+ skillBonus = 1.0f + (skillDiff - 10) * 1.6f;
+ }
}
chance += skillBonus;