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
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
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*/)