diff options
author | mik1893 <michele.roscelli@gmail.com> | 2016-05-15 10:26:27 +0100 |
---|---|---|
committer | joschiwald <joschiwald.trinity@gmail.com> | 2017-01-08 19:32:51 +0100 |
commit | 4c60bbea0eaddf137db7758aec24df38ba123caf (patch) | |
tree | 2f810143197f08c73472703fe8079fd80ca88280 /src | |
parent | ae11329e7185cc838c09a23030a6faec82f79813 (diff) |
Core/Unit: Pet shouldn't be notified for DOT damage on the owner (#17133)
- Fix by @MrSmite
- Closes #16894
(cherry picked from commit 4de1426d080084667da83a60857ee9c0492086fd)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 6f23f57b3c7..fec094e2458 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -623,11 +623,14 @@ uint32 Unit::DealDamage(Unit* victim, uint32 damage, CleanDamage const* cleanDam if (victim->GetTypeId() == TYPEID_PLAYER && this != victim) { - // Signal to pets that their owner was attacked - Pet* pet = victim->ToPlayer()->GetPet(); + // Signal to pets that their owner was attacked - except when DOT. + if (damagetype != DOT) + { + Pet* pet = victim->ToPlayer()->GetPet(); - if (pet && pet->IsAlive()) - pet->AI()->OwnerAttackedBy(this); + if (pet && pet->IsAlive()) + pet->AI()->OwnerAttackedBy(this); + } if (victim->ToPlayer()->GetCommandStatus(CHEAT_GOD)) return 0; |