4141#include < Messages/NotifyRelinquishControl.h>
4242
4343#include < Setting.h>
44- #include < optional>
4544namespace
4645{
4746Console::Setting bEnableXpSync{" Gameplay:bEnableXpSync" , " Syncs combat XP within the party" , true };
48-
49- [[nodiscard]] std::optional<entt::entity> TryResolveEntity (World& aWorld, const uint32_t aServerId) noexcept
50- {
51- const auto entity = static_cast <entt::entity>(aServerId);
52-
53- if (!aWorld.valid (entity))
54- return std::nullopt ;
55-
56- return entity;
57- }
5847}
5948
6049CharacterService::CharacterService (World& aWorld, entt::dispatcher& aDispatcher) noexcept
@@ -269,7 +258,7 @@ void CharacterService::OnOwnershipTransferRequest(const PacketEvent<RequestOwner
269258{
270259 auto & message = acMessage.Packet ;
271260
272- const auto entity = TryResolveEntity (m_world, message.ServerId );
261+ const auto entity = m_world. TryResolveEntity (message.ServerId );
273262 if (!entity)
274263 {
275264 spdlog::warn (" Client {:X} requested ownership transfer of an entity that doesn't exist, server id: {:X}" , acMessage.pPlayer ->GetConnectionId (), message.ServerId );
@@ -361,7 +350,7 @@ void CharacterService::OnOwnershipTransferEvent(const OwnershipTransferEvent& ac
361350
362351void CharacterService::OnCharacterRemoveEvent (const CharacterRemoveEvent& acEvent) const noexcept
363352{
364- const auto entity = TryResolveEntity (m_world, acEvent.ServerId );
353+ const auto entity = m_world. TryResolveEntity (acEvent.ServerId );
365354 if (!entity)
366355 {
367356 spdlog::warn (" Character remove event received for unknown entity {:X}" , acEvent.ServerId );
@@ -422,7 +411,7 @@ void CharacterService::OnReferencesMoveRequest(const PacketEvent<ClientReference
422411 for (auto & entry : message.Updates )
423412 {
424413 const auto entityId = entry.first ;
425- const auto resolved = TryResolveEntity (m_world, entityId);
414+ const auto resolved = m_world. TryResolveEntity (entityId);
426415 if (!resolved)
427416 {
428417 spdlog::debug (" {:X} requested move of {:X} but entity does not exist" , acMessage.pPlayer ->GetConnectionId (), entityId);
@@ -483,7 +472,7 @@ void CharacterService::OnFactionsChanges(const PacketEvent<RequestFactionsChange
483472
484473 for (auto & [id, factions] : message.Changes )
485474 {
486- const auto entity = TryResolveEntity (m_world, id);
475+ const auto entity = m_world. TryResolveEntity (id);
487476 if (!entity)
488477 {
489478 spdlog::debug (" {:X} requested faction update for unknown entity {:X}" , acMessage.pPlayer ->GetConnectionId (), id);
@@ -511,7 +500,7 @@ void CharacterService::OnMountRequest(const PacketEvent<MountRequest>& acMessage
511500 notify.RiderId = message.RiderId ;
512501 notify.MountId = message.MountId ;
513502
514- const auto entity = TryResolveEntity (m_world, message.MountId );
503+ const auto entity = m_world. TryResolveEntity (message.MountId );
515504 if (!entity)
516505 {
517506 spdlog::debug (" {:X} requested mount broadcast for unknown entity {:X}" , acMessage.pPlayer ->GetConnectionId (), message.MountId );
@@ -530,7 +519,7 @@ void CharacterService::OnNewPackageRequest(const PacketEvent<NewPackageRequest>&
530519 notify.ActorId = message.ActorId ;
531520 notify.PackageId = message.PackageId ;
532521
533- const auto entity = TryResolveEntity (m_world, message.ActorId );
522+ const auto entity = m_world. TryResolveEntity (message.ActorId );
534523 if (!entity)
535524 {
536525 spdlog::debug (" {:X} requested package update for unknown entity {:X}" , acMessage.pPlayer ->GetConnectionId (), message.ActorId );
@@ -543,7 +532,7 @@ void CharacterService::OnNewPackageRequest(const PacketEvent<NewPackageRequest>&
543532
544533void CharacterService::OnRequestRespawn (const PacketEvent<RequestRespawn>& acMessage) const noexcept
545534{
546- const auto entity = TryResolveEntity (m_world, acMessage.Packet .ActorId );
535+ const auto entity = m_world. TryResolveEntity (acMessage.Packet .ActorId );
547536 if (!entity)
548537 {
549538 spdlog::warn (" Respawn requested for unknown actor id {:X}" , acMessage.Packet .ActorId );
@@ -604,7 +593,7 @@ void CharacterService::OnDialogueRequest(const PacketEvent<DialogueRequest>& acM
604593 notify.ServerId = message.ServerId ;
605594 notify.SoundFilename = message.SoundFilename ;
606595
607- const auto entity = TryResolveEntity (m_world, message.ServerId );
596+ const auto entity = m_world. TryResolveEntity (message.ServerId );
608597 if (!entity)
609598 {
610599 spdlog::debug (" {:X} requested dialogue broadcast for unknown entity {:X}" , acMessage.pPlayer ->GetConnectionId (), message.ServerId );
@@ -623,7 +612,7 @@ void CharacterService::OnSubtitleRequest(const PacketEvent<SubtitleRequest>& acM
623612 notify.ServerId = message.ServerId ;
624613 notify.Text = message.Text ;
625614
626- const auto entity = TryResolveEntity (m_world, message.ServerId );
615+ const auto entity = m_world. TryResolveEntity (message.ServerId );
627616 if (!entity)
628617 {
629618 spdlog::debug (" {:X} requested subtitle broadcast for unknown entity {:X}" , acMessage.pPlayer ->GetConnectionId (), message.ServerId );
@@ -726,7 +715,7 @@ void CharacterService::CreateCharacter(const PacketEvent<AssignCharacterRequest>
726715void CharacterService::TransferOwnership (Player* apPlayer, const uint32_t acServerId,
727716 const ActorData& acActorData) const noexcept
728717{
729- const auto entity = TryResolveEntity (m_world, acServerId);
718+ const auto entity = m_world. TryResolveEntity (acServerId);
730719 if (!entity)
731720 {
732721 spdlog::warn (" Client {:X} requested ownership of an entity that doesn't exist ({:X})!" , apPlayer->GetConnectionId (), acServerId);
0 commit comments