Core/PacketIO: Add support for receiving CMSG_UPDATE_PROJECTILE_POSITION

This commit is contained in:
kaelima
2011-04-11 21:24:02 +02:00
parent 6f9a02a10c
commit 384ca58b62
3 changed files with 27 additions and 1 deletions
@@ -644,3 +644,28 @@ void WorldSession::HandleMirrrorImageDataRequest(WorldPacket & recv_data)
SendPacket(&data);
}
void WorldSession::HandleUpdateProjectilePosition(WorldPacket& recvPacket)
{
sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_UPDATE_PROJECTILE_POSITION");
uint64 casterGuid;
uint32 spellId;
uint8 castCount;
float x, y, z; // Position of missile hit
recvPacket.readPackGUID(casterGuid);
recvPacket >> spellId;
recvPacket >> castCount;
recvPacket >> x;
recvPacket >> y;
recvPacket >> z;
WorldPacket data(SMSG_SET_PROJECTILE_POSITION, 21);
data << uint64(casterGuid);
data << uint8(castCount);
data << float(x);
data << float(y);
data << float(z);
SendPacket(&data);
}
+1 -1
View File
@@ -1240,7 +1240,7 @@ OpcodeHandler opcodeTable[NUM_MSG_TYPES] =
/*0x4BB*/ { "SMSG_CALENDAR_ACTION_PENDING", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide },
/*0x4BC*/ { "SMSG_EQUIPMENT_SET_LIST", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide },
/*0x4BD*/ { "CMSG_EQUIPMENT_SET_SAVE", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleEquipmentSetSave },
/*0x4BE*/ { "CMSG_UPDATE_PROJECTILE_POSITION", STATUS_UNHANDLED,PROCESS_INPLACE, &WorldSession::Handle_NULL },
/*0x4BE*/ { "CMSG_UPDATE_PROJECTILE_POSITION", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleUpdateProjectilePosition },
/*0x4BF*/ { "SMSG_SET_PROJECTILE_POSITION", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide },
/*0x4C0*/ { "SMSG_TALENTS_INFO", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide },
/*0x4C1*/ { "CMSG_LEARN_PREVIEW_TALENTS", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleLearnPreviewTalents },
+1
View File
@@ -859,6 +859,7 @@ class WorldSession
void HandleQuestPOIQuery(WorldPacket& recv_data);
void HandleEjectPassenger(WorldPacket &data);
void HandleEnterPlayerVehicle(WorldPacket &data);
void HandleUpdateProjectilePosition(WorldPacket& recvPacket);
private:
void ProcessQueryCallbacks();