52 TC_LOG_DEBUG(
"network",
"WorldSession::SendTaxiStatus - {} not found or you can't interact with him.", guid.
ToString());
78 TC_LOG_DEBUG(
"network",
"WORLD: HandleTaxiQueryAvailableNodes - {} not found or you can't interact with him.", taxiQueryAvailableNodes.
Unit.
ToString());
106 TC_LOG_DEBUG(
"network",
"WORLD: CMSG_TAXINODE_STATUS_QUERY {} ", curloc);
118 for (std::size_t i = 0; i < reachableNodes.
size(); ++i)
137 if (
GetPlayer()->m_taxi.SetTaximaskNode(curloc))
155 if (
GetPlayer()->m_taxi.SetTaximaskNode(nodeid))
164 TC_LOG_DEBUG(
"network",
"WORLD: HandleActivateTaxiOpcode - {} not found or you can't interact with it.", activateTaxi.
Vendor.
ToString());
180 if (!
GetPlayer()->m_taxi.IsTaximaskNodeKnown(curloc) || !
GetPlayer()->m_taxi.IsTaximaskNodeKnown(activateTaxi.
Node))
187 uint32 preferredMountDisplay = 0;
190 if (
GetPlayer()->HasSpell(mount->SourceSpellID))
195 std::copy_if(mountDisplays->begin(), mountDisplays->end(), std::back_inserter(usableDisplays), [
this](
MountXDisplayEntry const* mountDisplay)
197 return ConditionMgr::IsPlayerMeetingCondition(GetPlayer(), mountDisplay->PlayerConditionID);
200 if (!usableDisplays.empty())
206 std::vector<uint32> nodes;
222 if (
GetPlayer()->m_taxi.RequestEarlyLanding())
224 flight->LoadPath(
GetPlayer(), flight->GetPath()[flight->GetCurrentNode()]->NodeIndex);
DB2Storage< TaxiNodesEntry > sTaxiNodesStore("TaxiNodes.db2", &TaxiNodesLoadInfo::Instance)
DB2Storage< MountEntry > sMountStore("Mount.db2", &MountLoadInfo::Instance)
#define TC_LOG_DEBUG(filterType__, message__,...)
@ TAXISTATUS_NOT_ELIGIBLE
@ UNIT_NPC_FLAG_FLIGHTMASTER
ObjectGuid const & GetGUID() const
std::vector< MountXDisplayEntry const * > MountXDisplayContainer
std::string ToString() const
void AppendTaximaskTo(WorldPackets::Taxi::ShowTaxiNodes &data, bool all)
bool IsTaximaskNodeKnown(uint32 nodeidx) const
Creature * GetNPCIfCanInteractWith(ObjectGuid const &guid, NPCFlags npcFlags, NPCFlags2 npcFlags2) const
void UpdateCriteria(CriteriaType type, uint64 miscValue1=0, uint64 miscValue2=0, uint64 miscValue3=0, WorldObject *ref=nullptr)
bool ActivateTaxiPathTo(std::vector< uint32 > const &nodes, Creature *npc=nullptr, uint32 spellid=0, uint32 preferredMountDisplay=0, Optional< float > speed={}, Scripting::v2::ActionResultSetter< MovementStopReason > const &scriptResult={})
void SetTaxiCheater(bool on)
std::unique_ptr< PlayerMenu > PlayerTalkClass
bool isTaxiCheater() const
void RemoveAurasByType(AuraType auraType, std::function< bool(AuraApplication const *)> const &check, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
bool HasNpcFlag(NPCFlags flags) const
constexpr uint32 GetMapId() const
bool IsHostileTo(WorldObject const *target) const
ReputationRank GetReactionTo(WorldObject const *target) const
WorldPacket const * Write() override
Optional< ShowTaxiNodesWindowInfo > WindowInfo
WorldPacket const * Write() override
WorldPacket const * Write() override
void HandleActivateTaxiOpcode(WorldPackets::Taxi::ActivateTaxi &activateTaxi)
void HandleTaxiQueryAvailableNodesOpcode(WorldPackets::Taxi::TaxiQueryAvailableNodes &taxiQueryAvailableNodes)
void HandleTaxiRequestEarlyLanding(WorldPackets::Taxi::TaxiRequestEarlyLanding &taxiRequestEarlyLanding)
bool SendLearnNewTaxiNode(Creature *unit)
void SendTaxiMenu(Creature *unit)
void HandleTaxiNodeStatusQueryOpcode(WorldPackets::Taxi::TaxiNodeStatusQuery &taxiNodeStatusQuery)
void SendTaxiStatus(ObjectGuid guid)
void HandleEnableTaxiNodeOpcode(WorldPackets::Taxi::EnableTaxiNode &enableTaxiNode)
Player * GetPlayer() const
void SendActivateTaxiReply(ActivateTaxiReply reply)
void SendPacket(WorldPacket const *packet, bool forced=false)
Send a packet to the client.
void SendDiscoverNewTaxiNode(uint32 nodeid)
TC_GAME_API Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
void GetReachableNodesMask(TaxiNodesEntry const *from, TaxiMask *mask)
std::size_t GetCompleteNodeRoute(TaxiNodesEntry const *from, TaxiNodesEntry const *to, Player const *player, std::vector< uint32 > &shortestPath)
auto SelectRandomContainerElement(C const &container) -> std::add_const_t< decltype(*std::ranges::begin(container))> &
constexpr float GetPositionX() const
constexpr float GetPositionY() const
constexpr float GetPositionZ() const