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

@ -4282,10 +4282,15 @@ void GameHandler::handlePacket(network::Packet& packet) {
case Opcode::SMSG_SET_EXTRA_AURA_INFO_NEED_UPDATE:
packet.setReadPos(packet.getSize());
break;
case Opcode::SMSG_TAXINODE_STATUS:
// Node status cache not implemented yet.
packet.setReadPos(packet.getSize());
case Opcode::SMSG_TAXINODE_STATUS: {
// guid(8) + status(1): status 1 = NPC has available/new routes for this player
if (packet.getSize() - packet.getReadPos() >= 9) {
uint64_t npcGuid = packet.readUInt64();
uint8_t status = packet.readUInt8();
taxiNpcHasRoutes_[npcGuid] = (status != 0);
}
break;
}
case Opcode::SMSG_INIT_EXTRA_AURA_INFO_OBSOLETE:
case Opcode::SMSG_SET_EXTRA_AURA_INFO_OBSOLETE:
// Extra aura metadata (icons/durations) not yet consumed by aura UI.