diff --git a/src/server/game/Combat/ThreatMgr.cpp b/src/server/game/Combat/ThreatMgr.cpp index 1a08a2404..9b0ce1e3d 100644 --- a/src/server/game/Combat/ThreatMgr.cpp +++ b/src/server/game/Combat/ThreatMgr.cpp @@ -148,9 +148,15 @@ void HostileReference::addThreat(float modThreat) if (isValid() && modThreat >= 0.0f) { - Unit* victimOwner = getTarget()->GetCharmerOrOwner(); - if (victimOwner && victimOwner->IsAlive()) - GetSource()->addThreat(victimOwner, 0.0f); // create a threat to the owner of a pet, if the pet attacks + Unit* target = getTarget(); + if (target->GetEntry() != NPC_EYE_OF_KILROGG) // Excluded Eye of Kilrogg + { + Unit* victimOwner = target->GetCharmerOrOwner(); + if (victimOwner && victimOwner->IsAlive()) + { + GetSource()->addThreat(victimOwner, 0.0f); // create a threat to the owner of a pet, if the pet attacks + } + } } } diff --git a/src/server/game/Entities/Pet/PetDefines.h b/src/server/game/Entities/Pet/PetDefines.h index a54993638..61332b565 100644 --- a/src/server/game/Entities/Pet/PetDefines.h +++ b/src/server/game/Entities/Pet/PetDefines.h @@ -108,6 +108,7 @@ enum NPCEntries NPC_SUCCUBUS = 1863, NPC_DOOMGUARD = 11859, NPC_FELGUARD = 17252, + NPC_EYE_OF_KILROGG = 4277, // Mage NPC_WATER_ELEMENTAL_TEMP = 510, diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index 99e40eaaa..70a9b8306 100644 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -7394,6 +7394,12 @@ void SpellMgr::LoadDbcDataCorrections() spellInfo->EffectBasePoints[EFFECT_0] = 1; }); + // Eye of Kilrogg Passive + ApplySpellFix({ 2585 }, [](SpellEntry* spellInfo) + { + spellInfo->AuraInterruptFlags |= AURA_INTERRUPT_FLAG_HITBYSPELL | AURA_INTERRUPT_FLAG_TAKE_DAMAGE; + }); + for (uint32 i = 0; i < sSpellStore.GetNumRows(); ++i) { SpellEntry* spellInfo = (SpellEntry*)sSpellStore.LookupEntry(i);