fix(Core/Pets): Eye of Kilrogg should not put its owner in combat wit… (#7193)

- Closes #6627
This commit is contained in:
UltraNix
2021-10-07 20:03:04 +02:00
committed by GitHub
parent 681ac3d79a
commit 0e5eb1b0cf
3 changed files with 16 additions and 3 deletions

View File

@@ -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
}
}
}
}

View File

@@ -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,

View File

@@ -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);