mirror of
https://github.com/araxiaonline/TrinityCore2.git
synced 2026-06-17 13:29:41 -04:00
*Cleanup message deliver functions. Remove unused parameters.
--HG-- branch : trunk
This commit is contained in:
+33
-61
@@ -104,102 +104,73 @@ PlayerVisibilityNotifier::Notify()
|
||||
}
|
||||
|
||||
void
|
||||
Deliverer::Visit(PlayerMapType &m)
|
||||
MessageDistDeliverer::Visit(PlayerMapType &m)
|
||||
{
|
||||
for (PlayerMapType::iterator iter = m.begin(); iter != m.end(); ++iter)
|
||||
{
|
||||
//if (!i_source.InSamePhase(iter->getSource()))
|
||||
// continue;
|
||||
if(!iter->getSource()->InSamePhase(i_phaseMask))
|
||||
continue;
|
||||
|
||||
if (!i_dist || iter->getSource()->GetDistance(&i_source) < i_dist)
|
||||
{
|
||||
// Send packet to all who are sharing the player's vision
|
||||
if (!iter->getSource()->GetSharedVisionList().empty())
|
||||
{
|
||||
SharedVisionList::const_iterator i = iter->getSource()->GetSharedVisionList().begin();
|
||||
for ( ; i != iter->getSource()->GetSharedVisionList().end(); ++i)
|
||||
if((*i)->m_seer == iter->getSource())
|
||||
SendPacket(*i);
|
||||
}
|
||||
if(iter->getSource()->GetDistanceSq(&i_source) > i_distSq)
|
||||
continue;
|
||||
|
||||
VisitObject(iter->getSource());
|
||||
// Send packet to all who are sharing the player's vision
|
||||
if (!iter->getSource()->GetSharedVisionList().empty())
|
||||
{
|
||||
SharedVisionList::const_iterator i = iter->getSource()->GetSharedVisionList().begin();
|
||||
for ( ; i != iter->getSource()->GetSharedVisionList().end(); ++i)
|
||||
if((*i)->m_seer == iter->getSource())
|
||||
SendPacket(*i);
|
||||
}
|
||||
|
||||
SendPacket(iter->getSource());
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
Deliverer::Visit(CreatureMapType &m)
|
||||
MessageDistDeliverer::Visit(CreatureMapType &m)
|
||||
{
|
||||
for (CreatureMapType::iterator iter = m.begin(); iter != m.end(); ++iter)
|
||||
{
|
||||
if(!iter->getSource()->InSamePhase(i_phaseMask))
|
||||
continue;
|
||||
|
||||
if (!i_dist || iter->getSource()->GetDistance(&i_source) < i_dist)
|
||||
if(iter->getSource()->GetDistanceSq(&i_source) > i_distSq)
|
||||
continue;
|
||||
|
||||
// Send packet to all who are sharing the creature's vision
|
||||
if (!iter->getSource()->GetSharedVisionList().empty())
|
||||
{
|
||||
// Send packet to all who are sharing the creature's vision
|
||||
if (!iter->getSource()->GetSharedVisionList().empty())
|
||||
{
|
||||
SharedVisionList::const_iterator i = iter->getSource()->GetSharedVisionList().begin();
|
||||
for ( ; i != iter->getSource()->GetSharedVisionList().end(); ++i)
|
||||
if((*i)->m_seer == iter->getSource())
|
||||
SendPacket(*i);
|
||||
}
|
||||
SharedVisionList::const_iterator i = iter->getSource()->GetSharedVisionList().begin();
|
||||
for ( ; i != iter->getSource()->GetSharedVisionList().end(); ++i)
|
||||
if((*i)->m_seer == iter->getSource())
|
||||
SendPacket(*i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
Deliverer::Visit(DynamicObjectMapType &m)
|
||||
MessageDistDeliverer::Visit(DynamicObjectMapType &m)
|
||||
{
|
||||
for (DynamicObjectMapType::iterator iter = m.begin(); iter != m.end(); ++iter)
|
||||
{
|
||||
if(!iter->getSource()->InSamePhase(i_phaseMask))
|
||||
continue;
|
||||
|
||||
if (!i_dist || iter->getSource()->GetDistance(&i_source) < i_dist)
|
||||
if(iter->getSource()->GetDistanceSq(&i_source) > i_distSq)
|
||||
continue;
|
||||
|
||||
if (IS_PLAYER_GUID(iter->getSource()->GetCasterGUID()))
|
||||
{
|
||||
if (IS_PLAYER_GUID(iter->getSource()->GetCasterGUID()))
|
||||
{
|
||||
// Send packet back to the caster if the caster has vision of dynamic object
|
||||
Player* caster = (Player*)iter->getSource()->GetCaster();
|
||||
if (caster && caster->m_seer == iter->getSource())
|
||||
SendPacket(caster);
|
||||
}
|
||||
// Send packet back to the caster if the caster has vision of dynamic object
|
||||
Player* caster = (Player*)iter->getSource()->GetCaster();
|
||||
if (caster && caster->m_seer == iter->getSource())
|
||||
SendPacket(caster);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
Deliverer::SendPacket(Player* plr)
|
||||
{
|
||||
if (!plr)
|
||||
return;
|
||||
|
||||
// Don't send the packet to self if not supposed to
|
||||
if (!i_toSelf && plr == &i_source)
|
||||
return;
|
||||
|
||||
// Don't send the packet to possesor if not supposed to
|
||||
if (!i_toPossessor && plr->isPossessing() && plr->GetCharmGUID() == i_source.GetGUID())
|
||||
return;
|
||||
|
||||
if (plr_list.find(plr->GetGUID()) == plr_list.end())
|
||||
{
|
||||
if (WorldSession* session = plr->GetSession())
|
||||
session->SendPacket(i_message);
|
||||
plr_list.insert(plr->GetGUID());
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
MessageDeliverer::VisitObject(Player* plr)
|
||||
{
|
||||
SendPacket(plr);
|
||||
}
|
||||
|
||||
/*
|
||||
void
|
||||
MessageDistDeliverer::VisitObject(Player* plr)
|
||||
{
|
||||
@@ -208,6 +179,7 @@ MessageDistDeliverer::VisitObject(Player* plr)
|
||||
SendPacket(plr);
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
template<class T> void
|
||||
ObjectUpdater::Visit(GridRefManager<T> &m)
|
||||
|
||||
+17
-33
@@ -101,48 +101,32 @@ namespace Trinity
|
||||
void Visit(CorpseMapType &m) { updateObjects<Corpse>(m); }
|
||||
};
|
||||
|
||||
struct TRINITY_DLL_DECL Deliverer
|
||||
struct TRINITY_DLL_DECL MessageDistDeliverer
|
||||
{
|
||||
WorldObject &i_source;
|
||||
WorldPacket *i_message;
|
||||
std::set<uint64> plr_list;
|
||||
bool i_toPossessor;
|
||||
bool i_toSelf;
|
||||
std::set<Player*> plr_list;
|
||||
uint32 i_phaseMask;
|
||||
float i_dist;
|
||||
Deliverer(WorldObject &src, WorldPacket *msg, bool to_possessor, bool to_self, float dist = 0.0f)
|
||||
: i_source(src), i_message(msg), i_toPossessor(to_possessor), i_toSelf(to_self), i_dist(dist), i_phaseMask(src.GetPhaseMask()) {}
|
||||
float i_distSq;
|
||||
MessageDistDeliverer(WorldObject &src, WorldPacket *msg, bool to_self, float dist)
|
||||
: i_source(src), i_message(msg), i_distSq(dist * dist), i_phaseMask(src.GetPhaseMask())
|
||||
{
|
||||
if(!to_self)
|
||||
plr_list.insert((Player*)&i_source);
|
||||
}
|
||||
void Visit(PlayerMapType &m);
|
||||
void Visit(CreatureMapType &m);
|
||||
void Visit(DynamicObjectMapType &m);
|
||||
virtual void VisitObject(Player* plr) = 0;
|
||||
void SendPacket(Player* plr);
|
||||
template<class SKIP> void Visit(GridRefManager<SKIP> &) {}
|
||||
};
|
||||
|
||||
struct TRINITY_DLL_DECL MessageDeliverer : public Deliverer
|
||||
{
|
||||
MessageDeliverer(Player &pl, WorldPacket *msg, bool to_possessor, bool to_self) : Deliverer(pl, msg, to_possessor, to_self) {}
|
||||
void VisitObject(Player* plr);
|
||||
};
|
||||
|
||||
struct TRINITY_DLL_DECL ObjectMessageDeliverer : public Deliverer
|
||||
{
|
||||
explicit ObjectMessageDeliverer(WorldObject &src, WorldPacket *msg, bool to_possessor) : Deliverer(src, msg, to_possessor, false) {}
|
||||
void VisitObject(Player* plr) { SendPacket(plr); }
|
||||
};
|
||||
|
||||
struct TRINITY_DLL_DECL MessageDistDeliverer : public Deliverer
|
||||
{
|
||||
bool i_ownTeamOnly;
|
||||
MessageDistDeliverer(Player &pl, WorldPacket *msg, bool to_possessor, float dist, bool to_self, bool ownTeamOnly) : Deliverer(pl, msg, to_possessor, to_self, dist), i_ownTeamOnly(ownTeamOnly) {}
|
||||
void VisitObject(Player* plr);
|
||||
};
|
||||
|
||||
struct TRINITY_DLL_DECL ObjectMessageDistDeliverer : public Deliverer
|
||||
{
|
||||
ObjectMessageDistDeliverer(WorldObject &obj, WorldPacket *msg, bool to_possessor, float dist) : Deliverer(obj, msg, to_possessor, false, dist) {}
|
||||
void VisitObject(Player* plr) { SendPacket(plr); }
|
||||
void SendPacket(Player* plr)
|
||||
{
|
||||
if (plr_list.find(plr) == plr_list.end())
|
||||
{
|
||||
plr->GetSession()->SendPacket(i_message);
|
||||
plr_list.insert(plr);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
struct TRINITY_DLL_DECL ObjectUpdater
|
||||
|
||||
+10
-10
@@ -530,28 +530,28 @@ Map::Add(T *obj)
|
||||
AddNotifier(obj);
|
||||
}
|
||||
|
||||
void Map::MessageBroadcast(Player *player, WorldPacket *msg, bool to_self, bool to_possessor)
|
||||
void Map::MessageBroadcast(Player *player, WorldPacket *msg, bool to_self)
|
||||
{
|
||||
Trinity::MessageDeliverer post_man(*player, msg, to_possessor, to_self);
|
||||
Trinity::MessageDistDeliverer post_man(*player, msg, to_self, World::GetMaxVisibleDistance());
|
||||
VisitWorld(player->GetPositionX(), player->GetPositionY(), World::GetMaxVisibleDistance(), post_man);
|
||||
}
|
||||
|
||||
void Map::MessageBroadcast(WorldObject *obj, WorldPacket *msg, bool to_possessor)
|
||||
void Map::MessageBroadcast(WorldObject *obj, WorldPacket *msg)
|
||||
{
|
||||
Trinity::ObjectMessageDeliverer post_man(*obj, msg, to_possessor);
|
||||
Trinity::MessageDistDeliverer post_man(*obj, msg, true, World::GetMaxVisibleDistance());
|
||||
VisitWorld(obj->GetPositionX(), obj->GetPositionY(), World::GetMaxVisibleDistance(), post_man);
|
||||
}
|
||||
|
||||
void Map::MessageDistBroadcast(Player *player, WorldPacket *msg, float dist, bool to_self, bool to_possessor, bool own_team_only)
|
||||
void Map::MessageDistBroadcast(Player *player, WorldPacket *msg, float dist, bool to_self, bool own_team_only)
|
||||
{
|
||||
Trinity::MessageDistDeliverer post_man(*player, msg, to_possessor, dist, to_self, own_team_only);
|
||||
VisitWorld(player->GetPositionX(), player->GetPositionY(), World::GetMaxVisibleDistance(), post_man);
|
||||
Trinity::MessageDistDeliverer post_man(*player, msg, to_self, dist/*, own_team_only*/);
|
||||
VisitWorld(player->GetPositionX(), player->GetPositionY(), dist, post_man);
|
||||
}
|
||||
|
||||
void Map::MessageDistBroadcast(WorldObject *obj, WorldPacket *msg, float dist, bool to_possessor)
|
||||
void Map::MessageDistBroadcast(WorldObject *obj, WorldPacket *msg, float dist)
|
||||
{
|
||||
Trinity::ObjectMessageDistDeliverer post_man(*obj, msg, to_possessor, dist);
|
||||
VisitWorld(obj->GetPositionX(), obj->GetPositionY(), World::GetMaxVisibleDistance(), post_man);
|
||||
Trinity::MessageDistDeliverer post_man(*obj, msg, true, dist);
|
||||
VisitWorld(obj->GetPositionX(), obj->GetPositionY(), dist, post_man);
|
||||
}
|
||||
|
||||
bool Map::loaded(const GridPair &p) const
|
||||
|
||||
+4
-4
@@ -270,10 +270,10 @@ class MANGOS_DLL_SPEC Map : public GridRefManager<NGridType>, public MaNGOS::Obj
|
||||
|
||||
virtual void Update(const uint32&);
|
||||
|
||||
void MessageBroadcast(Player *, WorldPacket *, bool to_self, bool to_possessor);
|
||||
void MessageBroadcast(WorldObject *, WorldPacket *, bool to_possessor);
|
||||
void MessageDistBroadcast(Player *, WorldPacket *, float dist, bool to_self, bool to_possessor, bool own_team_only = false);
|
||||
void MessageDistBroadcast(WorldObject *, WorldPacket *, float dist, bool to_possessor);
|
||||
void MessageBroadcast(Player *, WorldPacket *, bool to_self);
|
||||
void MessageBroadcast(WorldObject *, WorldPacket *);
|
||||
void MessageDistBroadcast(Player *, WorldPacket *, float dist, bool to_self, bool own_team_only = false);
|
||||
void MessageDistBroadcast(WorldObject *, WorldPacket *, float dist);
|
||||
|
||||
void PlayerRelocation(Player *, float x, float y, float z, float angl);
|
||||
void CreatureRelocation(Creature *creature, float x, float y, float, float);
|
||||
|
||||
+4
-4
@@ -1707,14 +1707,14 @@ void WorldObject::BuildTeleportAckMsg(WorldPacket *data, float x, float y, float
|
||||
((Unit*)this)->BuildMovementPacket(data);
|
||||
}
|
||||
|
||||
void WorldObject::SendMessageToSet(WorldPacket *data, bool /*fake*/, bool bToPossessor)
|
||||
void WorldObject::SendMessageToSet(WorldPacket *data, bool /*fake*/)
|
||||
{
|
||||
MapManager::Instance().GetMap(m_mapId, this)->MessageBroadcast(this, data, bToPossessor);
|
||||
GetMap()->MessageBroadcast(this, data);
|
||||
}
|
||||
|
||||
void WorldObject::SendMessageToSetInRange(WorldPacket *data, float dist, bool /*bToSelf*/, bool bToPossessor)
|
||||
void WorldObject::SendMessageToSetInRange(WorldPacket *data, float dist, bool /*bToSelf*/)
|
||||
{
|
||||
MapManager::Instance().GetMap(m_mapId, this)->MessageDistBroadcast(this, data, dist, bToPossessor);
|
||||
GetMap()->MessageDistBroadcast(this, data, dist);
|
||||
}
|
||||
|
||||
void WorldObject::SendObjectDeSpawnAnim(uint64 guid)
|
||||
|
||||
+2
-2
@@ -499,8 +499,8 @@ class TRINITY_DLL_SPEC WorldObject : public Object
|
||||
bool HasInArc( const float arcangle, const WorldObject* obj ) const;
|
||||
bool IsInBetween(const WorldObject *obj1, const WorldObject *obj2, float size = 0) const;
|
||||
|
||||
virtual void SendMessageToSet(WorldPacket *data, bool self, bool to_possessor = true);
|
||||
virtual void SendMessageToSetInRange(WorldPacket *data, float dist, bool self, bool to_possessor = true);
|
||||
virtual void SendMessageToSet(WorldPacket *data, bool self);
|
||||
virtual void SendMessageToSetInRange(WorldPacket *data, float dist, bool self);
|
||||
void BuildHeartBeatMsg( WorldPacket *data ) const;
|
||||
void BuildTeleportAckMsg( WorldPacket *data, float x, float y, float z, float ang) const;
|
||||
|
||||
|
||||
+7
-7
@@ -5626,19 +5626,19 @@ void Player::SaveRecallPosition()
|
||||
m_recallO = GetOrientation();
|
||||
}
|
||||
|
||||
void Player::SendMessageToSet(WorldPacket *data, bool self, bool to_possessor)
|
||||
void Player::SendMessageToSet(WorldPacket *data, bool self)
|
||||
{
|
||||
GetMap()->MessageBroadcast(this, data, self, to_possessor);
|
||||
GetMap()->MessageBroadcast(this, data, self);
|
||||
}
|
||||
|
||||
void Player::SendMessageToSetInRange(WorldPacket *data, float dist, bool self, bool to_possessor)
|
||||
void Player::SendMessageToSetInRange(WorldPacket *data, float dist, bool self)
|
||||
{
|
||||
GetMap()->MessageDistBroadcast(this, data, dist, self, to_possessor);
|
||||
GetMap()->MessageDistBroadcast(this, data, dist, self);
|
||||
}
|
||||
|
||||
void Player::SendMessageToSetInRange(WorldPacket *data, float dist, bool self, bool to_possessor, bool own_team_only)
|
||||
void Player::SendMessageToSetInRange(WorldPacket *data, float dist, bool self, bool own_team_only)
|
||||
{
|
||||
GetMap()->MessageDistBroadcast(this, data, dist, self, to_possessor, own_team_only);
|
||||
GetMap()->MessageDistBroadcast(this, data, dist, self, own_team_only);
|
||||
}
|
||||
|
||||
void Player::SendDirectMessage(WorldPacket *data)
|
||||
@@ -16730,7 +16730,7 @@ void Player::TextEmote(const std::string& text)
|
||||
{
|
||||
WorldPacket data(SMSG_MESSAGECHAT, 200);
|
||||
BuildPlayerChat(&data, CHAT_MSG_EMOTE, text, LANG_UNIVERSAL);
|
||||
SendMessageToSetInRange(&data,sWorld.getConfig(CONFIG_LISTEN_RANGE_TEXTEMOTE),true, !sWorld.getConfig(CONFIG_ALLOW_TWO_SIDE_INTERACTION_CHAT), true );
|
||||
SendMessageToSetInRange(&data,sWorld.getConfig(CONFIG_LISTEN_RANGE_TEXTEMOTE),true, !sWorld.getConfig(CONFIG_ALLOW_TWO_SIDE_INTERACTION_CHAT));
|
||||
|
||||
if(sWorld.getConfig(CONFIG_CHATLOG_PUBLIC))
|
||||
sLog.outChat("[TEXTEMOTE] Player %s emotes: %s",
|
||||
|
||||
+3
-3
@@ -1585,9 +1585,9 @@ class TRINITY_DLL_SPEC Player : public Unit
|
||||
bool SetPosition(float x, float y, float z, float orientation, bool teleport = false);
|
||||
void UpdateUnderwaterState( Map * m, float x, float y, float z );
|
||||
|
||||
void SendMessageToSet(WorldPacket *data, bool self, bool to_possessor = true);// overwrite Object::SendMessageToSet
|
||||
void SendMessageToSetInRange(WorldPacket *data, float fist, bool self, bool to_possessor = true);// overwrite Object::SendMessageToSetInRange
|
||||
void SendMessageToSetInRange(WorldPacket *data, float dist, bool self, bool to_possessor, bool own_team_only);
|
||||
void SendMessageToSet(WorldPacket *data, bool self);// overwrite Object::SendMessageToSet
|
||||
void SendMessageToSetInRange(WorldPacket *data, float fist, bool self);// overwrite Object::SendMessageToSetInRange
|
||||
void SendMessageToSetInRange(WorldPacket *data, float dist, bool self, bool own_team_only);
|
||||
|
||||
static void DeleteFromDB(uint64 playerguid, uint32 accountId, bool updateRealmChars = true);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user