diff options
author | Discover- <amort11@hotmail.com> | 2014-01-24 02:15:14 -0800 |
---|---|---|
committer | Discover- <amort11@hotmail.com> | 2014-01-24 02:15:14 -0800 |
commit | 08bc9da22e44eeba48460796a8f085676c2bf5a3 (patch) | |
tree | 7c6c5fc45e842e002978eec4f290b3b12890444f | |
parent | abc1effd80fc5188ab005cfbea17a9af109798ad (diff) | |
parent | e8e23ef03dccd3f990cad775e000b408b8398547 (diff) |
Merge pull request #11499 from Dehravor/taxi-node
Core/Taxi: Fix exploit related to unexplored nodes
-rw-r--r-- | src/server/game/Handlers/TaxiHandler.cpp | 17 |
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); } |