aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Texts/CreatureTextMgr.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2015-06-15 00:25:18 +0200
committerShauren <shauren.trinity@gmail.com>2015-06-15 00:25:18 +0200
commit66d8ccde7f81675be418dfe49025260d9be24dae (patch)
tree06958193a851a3d653d448daa0ce409fff98db14 /src/server/game/Texts/CreatureTextMgr.cpp
parentee01fad0d2af0be7b66cb49d9e23867996792b00 (diff)
Core/PacketIO: Fixed chat packet building in CreatureTextMgr
Closes #14871
Diffstat (limited to 'src/server/game/Texts/CreatureTextMgr.cpp')
-rw-r--r--src/server/game/Texts/CreatureTextMgr.cpp18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/server/game/Texts/CreatureTextMgr.cpp b/src/server/game/Texts/CreatureTextMgr.cpp
index c1ea235a3e2..4d61e2ec5d2 100644
--- a/src/server/game/Texts/CreatureTextMgr.cpp
+++ b/src/server/game/Texts/CreatureTextMgr.cpp
@@ -33,13 +33,12 @@ class CreatureTextBuilder
CreatureTextBuilder(WorldObject const* obj, uint8 gender, ChatMsg msgtype, uint8 textGroup, uint32 id, uint32 language, WorldObject const* target)
: _source(obj), _gender(gender), _msgType(msgtype), _textGroup(textGroup), _textId(id), _language(language), _target(target) { }
- void operator()(WorldPacket& data, LocaleConstant locale) const
+ WorldPackets::Chat::Chat* operator()(LocaleConstant locale) const
{
std::string const& text = sCreatureTextMgr->GetLocalizedChatString(_source->GetEntry(), _gender, _textGroup, _textId, locale);
- WorldPackets::Chat::Chat packet;
- packet.Initialize(_msgType, Language(_language), _source, _target, text, 0, "", locale);
- packet.Write();
- data = packet.Move();
+ WorldPackets::Chat::Chat* chat = new WorldPackets::Chat::Chat();
+ chat->Initialize(_msgType, Language(_language), _source, _target, text, 0, "", locale);
+ return chat;
}
private:
@@ -58,13 +57,12 @@ class PlayerTextBuilder
PlayerTextBuilder(WorldObject const* obj, WorldObject const* speaker, uint8 gender, ChatMsg msgtype, uint8 textGroup, uint32 id, uint32 language, WorldObject const* target)
: _source(obj), _talker(speaker), _gender(gender), _msgType(msgtype), _textGroup(textGroup), _textId(id), _language(language), _target(target) { }
- void operator()(WorldPacket& data, LocaleConstant locale) const
+ WorldPackets::Chat::Chat* operator()(LocaleConstant locale) const
{
std::string const& text = sCreatureTextMgr->GetLocalizedChatString(_source->GetEntry(), _gender, _textGroup, _textId, locale);
- WorldPackets::Chat::Chat packet;
- packet.Initialize(_msgType, Language(_language), _talker, _target, text, 0, "", locale);
- packet.Write();
- data = packet.Move();
+ WorldPackets::Chat::Chat* chat = new WorldPackets::Chat::Chat();
+ chat->Initialize(_msgType, Language(_language), _talker, _target, text, 0, "", locale);
+ return chat;
}
private: