Implement SMSG_TAXINODE_STATUS parsing and NPC route status cache

Parse the flight-master POI status packet (guid + uint8 status) and cache
it per-NPC in taxiNpcHasRoutes_. Exposes taxiNpcHasRoutes(guid) accessor
for future nameplate/interaction indicators. Previously this packet was
silently consumed without any state tracking.
This commit is contained in:
Kelsi 2026-03-09 19:30:18 -07:00
parent d4ea416dd6
commit e12e399c0a
2 changed files with 13 additions and 3 deletions

View file

@ -1016,6 +1016,10 @@ public:
};
const std::unordered_map<uint32_t, TaxiNode>& getTaxiNodes() const { return taxiNodes_; }
uint32_t getTaxiCostTo(uint32_t destNodeId) const;
bool taxiNpcHasRoutes(uint64_t guid) const {
auto it = taxiNpcHasRoutes_.find(guid);
return it != taxiNpcHasRoutes_.end() && it->second;
}
// Vendor
void openVendor(uint64_t npcGuid);
@ -1878,6 +1882,7 @@ private:
}
// Taxi / Flight Paths
std::unordered_map<uint64_t, bool> taxiNpcHasRoutes_; // guid -> has new/available routes
std::unordered_map<uint32_t, TaxiNode> taxiNodes_;
std::vector<TaxiPathEdge> taxiPathEdges_;
std::unordered_map<uint32_t, std::vector<TaxiPathNode>> taxiPathNodes_; // pathId -> ordered waypoints