fix(Core/Pet): Control Infernal without enslave (#19784)

Check SummonProperties Category(Control) too to decide the type of
controls a Guardian should have.

Don't enslave Warlock's Infernal
This commit is contained in:
Saqra1
2024-09-11 09:18:13 -05:00
committed by GitHub
parent c1296d0b14
commit c42b3ee258
2 changed files with 1 additions and 18 deletions

View File

@@ -419,7 +419,7 @@ std::string Minion::GetDebugInfo() const
Guardian::Guardian(SummonPropertiesEntry const* properties, ObjectGuid owner, bool isWorldObject) : Minion(properties, owner, isWorldObject)
{
m_unitTypeMask |= UNIT_MASK_GUARDIAN;
if (properties && properties->Type == SUMMON_TYPE_PET)
if (properties && (properties->Type == SUMMON_TYPE_PET || properties->Category == SUMMON_CATEGORY_PET))
{
m_unitTypeMask |= UNIT_MASK_CONTROLABLE_GUARDIAN;
InitCharmInfo();

View File

@@ -6064,23 +6064,6 @@ void Spell::SummonGuardian(uint32 i, uint32 entry, SummonPropertiesEntry const*
ExecuteLogEffectSummonObject(i, summon);
}
// Summon infernal, cast enslave demon
// xinef: have to do it here because in Pet init stats infernal is not in world, imo this should be changed...
if (summon)
{
switch (m_spellInfo->Id)
{
// Inferno, Warlock summon spell
case 1122:
caster->AddAura(61191, summon);
break;
// Ritual of Doom, Warlock summon spell
case 60478:
caster->AddAura(SPELL_RITUAL_ENSLAVEMENT, summon);
break;
}
}
}
void Spell::EffectRenamePet(SpellEffIndex /*effIndex*/)