aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2015-04-04 16:04:40 +0200
committerShauren <shauren.trinity@gmail.com>2015-04-04 16:04:40 +0200
commitb66d2da2c735569be8ab5208660beef6a4facd33 (patch)
treed3de1828d025ab82cc037fe75361aeccf3dced08 /src/server/game/Entities
parente2abc9edf83af33797dcf41d1050aea518048b30 (diff)
Core/PacketIO: Updated and enabled SMSG_SPELL_CHANNEL_START and SMSG_SPELL_CHANNEL_UPDATE
Diffstat (limited to 'src/server/game/Entities')
-rw-r--r--src/server/game/Entities/Pet/Pet.cpp20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/server/game/Entities/Pet/Pet.cpp b/src/server/game/Entities/Pet/Pet.cpp
index 87ca9110e24..dbb8c99d7c9 100644
--- a/src/server/game/Entities/Pet/Pet.cpp
+++ b/src/server/game/Entities/Pet/Pet.cpp
@@ -20,6 +20,7 @@
#include "DatabaseEnv.h"
#include "Log.h"
#include "WorldPacket.h"
+#include "SpellPackets.h"
#include "ObjectMgr.h"
#include "SpellMgr.h"
#include "Pet.h"
@@ -297,15 +298,16 @@ bool Pet::LoadPetFromDB(Player* owner, uint32 petEntry, uint32 petnumber, bool c
/// @todo pets should be summoned from real cast instead of just faking it?
if (summonSpellId)
{
- WorldPacket data(SMSG_SPELL_GO, (8+8+4+4+2));
- data << owner->GetPackGUID();
- data << owner->GetPackGUID();
- data << uint8(0);
- data << uint32(summonSpellId);
- data << uint32(256); // CAST_FLAG_UNKNOWN3
- data << uint32(0);
- data << uint32(getMSTime());
- owner->SendMessageToSet(&data, true);
+ WorldPackets::Spells::SpellGo spellGo;
+ WorldPackets::Spells::SpellCastData& castData = spellGo.Cast;
+
+ castData.CasterGUID = owner->GetGUID();
+ castData.CasterUnit = owner->GetGUID();
+ castData.SpellID = summonSpellId;
+ castData.CastFlags = CAST_FLAG_UNKNOWN_9;
+ castData.CastTime = getMSTime();
+
+ owner->SendMessageToSet(spellGo.Write(), true);
}
owner->SetMinion(this, true);