Skip to content
This repository has been archived by the owner on Feb 29, 2024. It is now read-only.

Commit

Permalink
Update CMSG_SET_VEHICLE_REC_ID_ACK and structure
Browse files Browse the repository at this point in the history
Signed-off-by: AlterEgo <[email protected]>
  • Loading branch information
SkyFire committed Dec 7, 2023
1 parent c371516 commit 66c1ea2
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 2 deletions.
19 changes: 19 additions & 0 deletions src/server/game/Handlers/VehicleHandler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -226,3 +226,22 @@ void WorldSession::HandleRequestVehicleExit(WorldPacket& /*recvData*/)
}
}
}

void WorldSession::HandleMoveSetVehicleRecAck(WorldPacket& recvData)
{
SF_LOG_DEBUG("network", "WORLD: Recvd CMSG_SET_VEHICLE_REC_ID_ACK");

static MovementStatusElements const vehicleIdExtra = MSEExtraInt32;
Movement::ExtraMovementStatusElement extras(&vehicleIdExtra);
MovementInfo movementInfo;
GetPlayer()->ReadMovementInfo(recvData, &movementInfo, &extras);

uint32 vehicleId = extras.Data.extraInt32Data;

ObjectGuid vehicleGuid = GetPlayer()->GetGUID();
WorldPacket data(SMSG_SET_VEHICLE_REC_ID, 8 + 4);
data.WriteGuidMask(vehicleGuid, 5, 7, 2, 1, 4, 0, 3, 6);
data.WriteGuidBytes(vehicleGuid, 5, 7, 4, 6, 2, 1, 3, 0);
data << uint32(vehicleId);
GetPlayer()->SendMessageToSet(&data, true);
}
2 changes: 1 addition & 1 deletion src/server/game/Server/Protocol/Opcodes.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -413,6 +413,7 @@ void OpcodeTable::InitializeClientTable()
DEFINE_OPCODE_HANDLER(CMSG_SET_TITLE, 0x03C7, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetTitleOpcode ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(CMSG_SET_TRADE_GOLD, 0x14E3, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetTradeGoldOpcode ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(CMSG_SET_TRADE_ITEM, 0x03D5, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetTradeItemOpcode ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(CMSG_SET_VEHICLE_REC_ID_ACK, 0x185B, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMoveSetVehicleRecAck ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(CMSG_SET_WATCHED_FACTION, 0x06C9, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetWatchedFactionOpcode ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(CMSG_SHOWING_CLOAK, 0x02F2, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleShowingCloakOpcode ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(CMSG_SHOWING_HELM, 0x126B, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleShowingHelmOpcode ); // 5.4.8 18414
Expand Down Expand Up @@ -606,7 +607,6 @@ void OpcodeTable::InitializeClientTable()
DEFINE_OPCODE_HANDLER(CMSG_SET_PREFERED_CEMETERY, 0x0000, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_OPCODE_HANDLER(CMSG_SET_RELATIVE_POSITION, 0x0000, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_OPCODE_HANDLER(CMSG_SET_TRADE_CURRENCY, 0x0C44, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_OPCODE_HANDLER(CMSG_SET_VEHICLE_REC_ID_ACK, 0x0000, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_OPCODE_HANDLER(CMSG_STOP_DANCE, 0x0000, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_OPCODE_HANDLER(CMSG_SUBMIT_COMPLAIN, 0x030D, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_OPCODE_HANDLER(CMSG_SUSPEND_TOKEN, 0x0000, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
Expand Down
2 changes: 1 addition & 1 deletion src/server/game/Server/Protocol/Opcodes.h
Original file line number Diff line number Diff line change
Expand Up @@ -491,6 +491,7 @@ enum Opcodes
CMSG_SET_TITLE,
CMSG_SET_TRADE_GOLD,
CMSG_SET_TRADE_ITEM,
CMSG_SET_VEHICLE_REC_ID_ACK,
CMSG_SET_WATCHED_FACTION,
CMSG_SHOP_CATEGORY,
CMSG_SHOWING_CLOAK,
Expand Down Expand Up @@ -1219,7 +1220,6 @@ enum Opcodes
CMSG_SET_PREFERED_CEMETERY,
CMSG_SET_RELATIVE_POSITION,
CMSG_SET_TRADE_CURRENCY,
CMSG_SET_VEHICLE_REC_ID_ACK,
CMSG_STOP_DANCE,
CMSG_SUBMIT_COMPLAIN,
CMSG_SUSPEND_TOKEN,
Expand Down
1 change: 1 addition & 0 deletions src/server/game/Server/WorldSession.h
Original file line number Diff line number Diff line change
Expand Up @@ -655,6 +655,7 @@ class WorldSession
void HandleMoveNotActiveMover(WorldPacket& recvData);
void HandleDismissControlledVehicle(WorldPacket& recvData);
void HandleRequestVehicleExit(WorldPacket& recvData);
void HandleMoveSetVehicleRecAck(WorldPacket& recvData);
void HandleChangeSeatsOnControlledVehicle(WorldPacket& recvData);
void HandleMoveTimeSkippedOpcode(WorldPacket& recvData);

Expand Down

0 comments on commit 66c1ea2

Please sign in to comment.