From 9e9fb667ecef8263f6184d194c3aceafd4d89e71 Mon Sep 17 00:00:00 2001 From: Shauren Date: Tue, 9 Feb 2021 17:40:47 +0100 Subject: Core/Creatures: Fixed crediting loot and quests for creatures using level scaling Closes #26058 --- src/server/game/Entities/Unit/Unit.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src') 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"); -- cgit v1.2.3