From 6ceeb9e31e970bcfffa023ab6a14e666ae4f39d0 Mon Sep 17 00:00:00 2001 From: hondacrx Date: Sat, 13 Feb 2021 20:45:57 -0500 Subject: [PATCH] Core/Creatures: Fixed crediting loot and quests for creatures using level scaling Port From (https://github.com/TrinityCore/TrinityCore/commit/9e9fb667ecef8263f6184d194c3aceafd4d89e71) --- Source/Game/Entities/Unit/Unit.Combat.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Source/Game/Entities/Unit/Unit.Combat.cs b/Source/Game/Entities/Unit/Unit.Combat.cs index f97c39049..41e8106f5 100644 --- a/Source/Game/Entities/Unit/Unit.Combat.cs +++ b/Source/Game/Entities/Unit/Unit.Combat.cs @@ -1106,7 +1106,10 @@ namespace Game.Entities { victim.ToPlayer().UpdateCriteria(CriteriaTypes.HighestHitReceived, damage); } - else if (!victim.IsControlledByPlayer() || victim.IsVehicle()) + + damage /= (uint)victim.GetHealthMultiplierForTarget(this); + + if (victim.GetTypeId() != TypeId.Player && !victim.IsControlledByPlayer() || victim.IsVehicle()) { if (!victim.ToCreature().HasLootRecipient()) victim.ToCreature().SetLootRecipient(this); @@ -1115,8 +1118,6 @@ namespace Game.Entities victim.ToCreature().LowerPlayerDamageReq(health < damage ? health : damage); } - damage = (uint)(damage / victim.GetHealthMultiplierForTarget(this)); - if (health <= damage) { Log.outDebug(LogFilter.Unit, "DealDamage: victim just died");