aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2021-05-01 20:16:10 +0200
committerShauren <shauren.trinity@gmail.com>2021-05-01 20:16:10 +0200
commitfb66575d38d2ba7ffc24c29824fa75d7019de549 (patch)
tree9b263e8914862f92d5e6f2fc23450a2f973df461 /src/server/game/Entities
parentd6dfb6c54c3296461ec73ea5d969f7a5a704541b (diff)
Core/Grids: Move packet sending functionality out of MessageDistDeliverer and into separate, customizable class and unify LocalizedPacketDo, LocalizedPacketListDo as generic localizable action
Diffstat (limited to 'src/server/game/Entities')
-rw-r--r--src/server/game/Entities/Object/Object.cpp6
-rw-r--r--src/server/game/Entities/Player/Player.cpp9
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp16
3 files changed, 18 insertions, 13 deletions
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp
index d1634c70148..44e63f22155 100644
--- a/src/server/game/Entities/Object/Object.cpp
+++ b/src/server/game/Entities/Object/Object.cpp
@@ -1657,13 +1657,15 @@ void WorldObject::SendMessageToSet(WorldPacket const* data, bool self) const
void WorldObject::SendMessageToSetInRange(WorldPacket const* data, float dist, bool /*self*/) const
{
- Trinity::MessageDistDeliverer<> notifier(this, data, dist);
+ Trinity::PacketSenderRef sender(data);
+ Trinity::MessageDistDeliverer<Trinity::PacketSenderRef> notifier(this, sender, dist);
Cell::VisitWorldObjects(this, notifier, dist);
}
void WorldObject::SendMessageToSet(WorldPacket const* data, Player const* skipped_rcvr) const
{
- Trinity::MessageDistDeliverer<> notifier(this, data, GetVisibilityRange(), false, skipped_rcvr);
+ Trinity::PacketSenderRef sender(data);
+ Trinity::MessageDistDeliverer<Trinity::PacketSenderRef> notifier(this, sender, GetVisibilityRange(), false, skipped_rcvr);
Cell::VisitWorldObjects(this, notifier, GetVisibilityRange());
}
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 5581fdd8e4f..8a8ec028fa1 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -6094,7 +6094,8 @@ void Player::SendMessageToSetInRange(WorldPacket const* data, float dist, bool s
if (self)
SendDirectMessage(data);
- Trinity::MessageDistDeliverer<> notifier(this, data, dist);
+ Trinity::PacketSenderRef sender(data);
+ Trinity::MessageDistDeliverer<Trinity::PacketSenderRef> notifier(this, sender, dist);
Cell::VisitWorldObjects(this, notifier, dist);
}
@@ -6103,7 +6104,8 @@ void Player::SendMessageToSetInRange(WorldPacket const* data, float dist, bool s
if (self)
SendDirectMessage(data);
- Trinity::MessageDistDeliverer<> notifier(this, data, dist, own_team_only);
+ Trinity::PacketSenderRef sender(data);
+ Trinity::MessageDistDeliverer<Trinity::PacketSenderRef> notifier(this, sender, dist, own_team_only);
Cell::VisitWorldObjects(this, notifier, dist);
}
@@ -6114,7 +6116,8 @@ void Player::SendMessageToSet(WorldPacket const* data, Player const* skipped_rcv
// we use World::GetMaxVisibleDistance() because i cannot see why not use a distance
// update: replaced by GetMap()->GetVisibilityDistance()
- Trinity::MessageDistDeliverer<> notifier(this, data, GetVisibilityRange(), false, skipped_rcvr);
+ Trinity::PacketSenderRef sender(data);
+ Trinity::MessageDistDeliverer<Trinity::PacketSenderRef> notifier(this, sender, GetVisibilityRange(), false, skipped_rcvr);
Cell::VisitWorldObjects(this, notifier, GetVisibilityRange());
}
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 88ebe46999a..93c2e725fca 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -14356,8 +14356,8 @@ bool Unit::IsHighestExclusiveAura(Aura const* aura, bool removeOtherAuraApplicat
void Unit::Talk(std::string const& text, ChatMsg msgType, Language language, float textRange, WorldObject const* target)
{
Trinity::CustomChatTextBuilder builder(this, msgType, text, language, target);
- Trinity::LocalizedPacketDo<Trinity::CustomChatTextBuilder> localizer(builder);
- Trinity::PlayerDistWorker<Trinity::LocalizedPacketDo<Trinity::CustomChatTextBuilder> > worker(this, textRange, localizer);
+ Trinity::LocalizedDo<Trinity::CustomChatTextBuilder> localizer(builder);
+ Trinity::PlayerDistWorker<Trinity::LocalizedDo<Trinity::CustomChatTextBuilder> > worker(this, textRange, localizer);
Cell::VisitWorldObjects(this, worker, textRange);
}
@@ -14423,8 +14423,8 @@ void Unit::Talk(uint32 textId, ChatMsg msgType, float textRange, WorldObject con
}
Trinity::BroadcastTextBuilder builder(this, msgType, textId, getGender(), target);
- Trinity::LocalizedPacketDo<Trinity::BroadcastTextBuilder> localizer(builder);
- Trinity::PlayerDistWorker<Trinity::LocalizedPacketDo<Trinity::BroadcastTextBuilder> > worker(this, textRange, localizer);
+ Trinity::LocalizedDo<Trinity::BroadcastTextBuilder> localizer(builder);
+ Trinity::PlayerDistWorker<Trinity::LocalizedDo<Trinity::BroadcastTextBuilder> > worker(this, textRange, localizer);
Cell::VisitWorldObjects(this, worker, textRange);
}
@@ -14513,19 +14513,19 @@ struct CombatLogSender
msg->Write();
}
- WorldPacket const* operator()(Player* player) const
+ void operator()(Player const* player) const
{
if (player->IsAdvancedCombatLoggingEnabled())
- return i_message->GetFullLogPacket();
+ player->SendDirectMessage(i_message->GetFullLogPacket());
else
- return i_message->GetBasicLogPacket();
+ player->SendDirectMessage(i_message->GetBasicLogPacket());
}
};
void Unit::SendCombatLogMessage(WorldPackets::CombatLog::CombatLogServerPacket* combatLog) const
{
CombatLogSender combatLogCustomizer(combatLog);
- Trinity::MessageDistDeliverer<CombatLogSender> notifier(this, std::move(combatLogCustomizer), GetVisibilityRange());
+ Trinity::MessageDistDeliverer<CombatLogSender> notifier(this, combatLogCustomizer, GetVisibilityRange());
Cell::VisitWorldObjects(this, notifier, GetVisibilityRange());
}