diff options
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index d05c889dbed..47141ab0282 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -854,7 +854,10 @@ uint32 Unit::DealDamage(Unit* victim, uint32 damage, CleanDamage const* cleanDam if (victim->GetTypeId() == TYPEID_PLAYER) victim->ToPlayer()->UpdateCriteria(CRITERIA_TYPE_HIGHEST_HIT_RECEIVED, damage); - else if (!victim->IsControlledByPlayer() || victim->IsVehicle()) + + damage /= victim->GetHealthMultiplierForTarget(this); + + if (victim->GetTypeId() != TYPEID_PLAYER && (!victim->IsControlledByPlayer() || victim->IsVehicle())) { if (!victim->ToCreature()->hasLootRecipient()) victim->ToCreature()->SetLootRecipient(this); @@ -863,8 +866,6 @@ uint32 Unit::DealDamage(Unit* victim, uint32 damage, CleanDamage const* cleanDam victim->ToCreature()->LowerPlayerDamageReq(health < damage ? health : damage); } - damage /= victim->GetHealthMultiplierForTarget(this); - if (health <= damage) { TC_LOG_DEBUG("entities.unit", "DealDamage: victim just died"); |