aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Handlers/TaxiHandler.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/server/game/Handlers/TaxiHandler.cpp b/src/server/game/Handlers/TaxiHandler.cpp
index 4487ae7b15f..34899fc23df 100644
--- a/src/server/game/Handlers/TaxiHandler.cpp
+++ b/src/server/game/Handlers/TaxiHandler.cpp
@@ -184,6 +184,14 @@ void WorldSession::HandleActivateTaxiExpressOpcode (WorldPacket& recvData)
{
uint32 node;
recvData >> node;
+
+ if (!GetPlayer()->m_taxi.IsTaximaskNodeKnown(node) && !GetPlayer()->isTaxiCheater())
+ {
+ SendActivateTaxiReply(ERR_TAXINOTVISITED);
+ recvData.rfinish();
+ return;
+ }
+
nodes.push_back(node);
}
@@ -290,6 +298,15 @@ void WorldSession::HandleActivateTaxiOpcode(WorldPacket& recvData)
return;
}
+ if (!GetPlayer()->isTaxiCheater())
+ {
+ if (!GetPlayer()->m_taxi.IsTaximaskNodeKnown(nodes[0]) || !GetPlayer()->m_taxi.IsTaximaskNodeKnown(nodes[1]))
+ {
+ SendActivateTaxiReply(ERR_TAXINOTVISITED);
+ return;
+ }
+ }
+
GetPlayer()->ActivateTaxiPathTo(nodes, npc);
}