diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Handlers/PetHandler.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Spells/Spell.cpp | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/src/server/game/Handlers/PetHandler.cpp b/src/server/game/Handlers/PetHandler.cpp index 12d34a17cd6..12590139ea9 100644 --- a/src/server/game/Handlers/PetHandler.cpp +++ b/src/server/game/Handlers/PetHandler.cpp @@ -801,7 +801,7 @@ void WorldSession::HandlePetCastSpellOpcode(WorldPacket& recvPacket) Spell* spell = new Spell(caster, spellInfo, triggerCastFlags); spell->m_fromClient = true; spell->m_cast_count = castCount; // probably pending spell cast - spell->m_targets = targets; + spell->InitExplicitTargets(targets); SpellCastResult result = spell->CheckPetCast(nullptr); diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 95189047916..1305c975cbf 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -671,7 +671,7 @@ void Spell::InitExplicitTargets(SpellCastTargets const& targets) unit = m_caster->ToCreature()->GetVictim(); // didn't find anything - let's use self as target - if (!unit && neededTargets & (TARGET_FLAG_UNIT_RAID | TARGET_FLAG_UNIT_PARTY | TARGET_FLAG_UNIT_ALLY)) + if (!unit && (neededTargets & (TARGET_FLAG_UNIT_ENEMY | TARGET_FLAG_UNIT_DEAD | TARGET_FLAG_UNIT_MINIPET | TARGET_FLAG_UNIT_PASSENGER)) == 0) unit = m_caster->ToUnit(); m_targets.SetUnitTarget(unit); |