aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Handlers/PetHandler.cpp2
-rw-r--r--src/server/game/Spells/Spell.cpp2
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);