diff options
Diffstat (limited to 'src/server/game/Handlers/PetHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/PetHandler.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/server/game/Handlers/PetHandler.cpp b/src/server/game/Handlers/PetHandler.cpp index c3a57893bfc..faf13940eff 100644 --- a/src/server/game/Handlers/PetHandler.cpp +++ b/src/server/game/Handlers/PetHandler.cpp @@ -380,7 +380,7 @@ void WorldSession::HandlePetActionHelper(Unit* pet, ObjectGuid guid1, uint32 spe else { if (pet->isPossessed() || pet->IsVehicle()) /// @todo: confirm this check - Spell::SendCastResult(GetPlayer(), spellInfo, ObjectGuid::Create<HighGuid::Cast>(GetPlayer()->GetMapId(), 0, 0), result); + Spell::SendCastResult(GetPlayer(), spellInfo, spell->m_SpellVisual, spell->m_castId, result); else spell->SendPetCastResult(result); @@ -677,7 +677,6 @@ void WorldSession::HandlePetCastSpellOpcode(WorldPackets::Spells::PetCastSpell& caster->ClearUnitState(UNIT_STATE_FOLLOW); Spell* spell = new Spell(caster, spellInfo, TRIGGERED_NONE); - spell->m_cast_count = petCastSpell.Cast.CastID; spell->m_misc.Raw.Data[0] = petCastSpell.Cast.Misc[0]; spell->m_misc.Raw.Data[1] = petCastSpell.Cast.Misc[1]; spell->m_targets = targets; @@ -698,6 +697,11 @@ void WorldSession::HandlePetCastSpellOpcode(WorldPackets::Spells::PetCastSpell& } } + WorldPackets::Spells::SpellPrepare spellPrepare; + spellPrepare.ClientCastID = petCastSpell.Cast.CastID; + spellPrepare.ServerCastID = spell->m_castId; + SendPacket(spellPrepare.Write()); + spell->prepare(&targets); } else |