mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2024-11-26 15:37:20 +00:00
Add Hot Properties struct and address some whitespace (no functionality change) (#667)
* Add GameMessages * General AMF cleanup Proper memory management as well as style cleanup * General AMF cleanup Proper memory management as well as style cleanup * General optimizations Fix AMFArray so values are properly deleted when you leave the scope it was created in. Add bounds check for deletion so you don't double delete. Remove all AMFdeletions that are contained in an array since the array now manages its own memory and deletes it when it is no longer needed. * Better tests and fix de-serialize Fix de-serialize to be correct and implement a test to check this * Update AMFDeserializeTests.cpp * Update GameMessages.h * Add GM * Comment out function * Spacing * eof
This commit is contained in:
parent
6a38b67ed5
commit
ef0a3c6d0b
@ -38,19 +38,19 @@ void GameMessageHandler::HandleMessage(RakNet::BitStream* inStream, const System
|
|||||||
|
|
||||||
User * usr = UserManager::Instance()->GetUser(sysAddr);
|
User * usr = UserManager::Instance()->GetUser(sysAddr);
|
||||||
|
|
||||||
if (!entity)
|
if (!entity)
|
||||||
{
|
{
|
||||||
Game::logger->Log("GameMessageHandler", "Failed to find associated entity (%llu), aborting GM (%X)!\n", objectID, messageID);
|
Game::logger->Log("GameMessageHandler", "Failed to find associated entity (%llu), aborting GM (%X)!\n", objectID, messageID);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (messageID) {
|
switch (messageID) {
|
||||||
|
|
||||||
case GAME_MSG_PLAY_EMOTE: {
|
case GAME_MSG_PLAY_EMOTE: {
|
||||||
GameMessages::HandlePlayEmote(inStream, entity);
|
GameMessages::HandlePlayEmote(inStream, entity);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case GAME_MSG_MOVE_ITEM_IN_INVENTORY: {
|
case GAME_MSG_MOVE_ITEM_IN_INVENTORY: {
|
||||||
GameMessages::HandleMoveItemInInventory(inStream, entity);
|
GameMessages::HandleMoveItemInInventory(inStream, entity);
|
||||||
@ -70,25 +70,25 @@ void GameMessageHandler::HandleMessage(RakNet::BitStream* inStream, const System
|
|||||||
GameMessages::HandleUnequipItem(inStream, entity);
|
GameMessages::HandleUnequipItem(inStream, entity);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GAME_MSG_RESPOND_TO_MISSION: {
|
case GAME_MSG_RESPOND_TO_MISSION: {
|
||||||
GameMessages::HandleRespondToMission(inStream, entity);
|
GameMessages::HandleRespondToMission(inStream, entity);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case GAME_MSG_REQUEST_USE: {
|
case GAME_MSG_REQUEST_USE: {
|
||||||
GameMessages::HandleRequestUse(inStream, entity, sysAddr);
|
GameMessages::HandleRequestUse(inStream, entity, sysAddr);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case GAME_MSG_SET_FLAG: {
|
case GAME_MSG_SET_FLAG: {
|
||||||
GameMessages::HandleSetFlag(inStream, entity);
|
GameMessages::HandleSetFlag(inStream, entity);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case GAME_MSG_HAS_BEEN_COLLECTED: {
|
case GAME_MSG_HAS_BEEN_COLLECTED: {
|
||||||
GameMessages::HandleHasBeenCollected(inStream, entity);
|
GameMessages::HandleHasBeenCollected(inStream, entity);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case GAME_MSG_PLAYER_LOADED: {
|
case GAME_MSG_PLAYER_LOADED: {
|
||||||
GameMessages::SendRestoreToPostLoadStats(entity, sysAddr);
|
GameMessages::SendRestoreToPostLoadStats(entity, sysAddr);
|
||||||
@ -160,21 +160,21 @@ void GameMessageHandler::HandleMessage(RakNet::BitStream* inStream, const System
|
|||||||
Game::logger->Log("GameMessageHandler", "Player %s (%llu) loaded.\n", entity->GetCharacter()->GetName().c_str(), entity->GetObjectID());
|
Game::logger->Log("GameMessageHandler", "Player %s (%llu) loaded.\n", entity->GetCharacter()->GetName().c_str(), entity->GetObjectID());
|
||||||
|
|
||||||
// After we've done our thing, tell the client they're ready
|
// After we've done our thing, tell the client they're ready
|
||||||
GameMessages::SendPlayerReady(dZoneManager::Instance()->GetZoneControlObject(), sysAddr);
|
GameMessages::SendPlayerReady(dZoneManager::Instance()->GetZoneControlObject(), sysAddr);
|
||||||
GameMessages::SendPlayerReady(entity, sysAddr);
|
GameMessages::SendPlayerReady(entity, sysAddr);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case GAME_MSG_REQUEST_LINKED_MISSION: {
|
case GAME_MSG_REQUEST_LINKED_MISSION: {
|
||||||
GameMessages::HandleRequestLinkedMission(inStream, entity);
|
GameMessages::HandleRequestLinkedMission(inStream, entity);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case GAME_MSG_MISSION_DIALOGUE_OK: {
|
case GAME_MSG_MISSION_DIALOGUE_OK: {
|
||||||
GameMessages::HandleMissionDialogOK(inStream, entity);
|
GameMessages::HandleMissionDialogOK(inStream, entity);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case GAME_MSG_MISSION_DIALOGUE_CANCELLED: {
|
case GAME_MSG_MISSION_DIALOGUE_CANCELLED: {
|
||||||
//This message is pointless for our implementation, as the client just carries on after
|
//This message is pointless for our implementation, as the client just carries on after
|
||||||
@ -182,35 +182,35 @@ void GameMessageHandler::HandleMessage(RakNet::BitStream* inStream, const System
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case GAME_MSG_REQUEST_PLATFORM_RESYNC: {
|
case GAME_MSG_REQUEST_PLATFORM_RESYNC: {
|
||||||
GameMessages::HandleRequestPlatformResync(inStream, entity, sysAddr);
|
GameMessages::HandleRequestPlatformResync(inStream, entity, sysAddr);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case GAME_MSG_FIRE_EVENT_SERVER_SIDE: {
|
case GAME_MSG_FIRE_EVENT_SERVER_SIDE: {
|
||||||
GameMessages::HandleFireEventServerSide(inStream, entity, sysAddr);
|
GameMessages::HandleFireEventServerSide(inStream, entity, sysAddr);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case GAME_MSG_SEND_ACTIVITY_SUMMARY_LEADERBOARD_DATA: {
|
case GAME_MSG_SEND_ACTIVITY_SUMMARY_LEADERBOARD_DATA: {
|
||||||
GameMessages::HandleActivitySummaryLeaderboardData(inStream, entity, sysAddr);
|
GameMessages::HandleActivitySummaryLeaderboardData(inStream, entity, sysAddr);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case GAME_MSG_REQUEST_ACTIVITY_SUMMARY_LEADERBOARD_DATA: {
|
case GAME_MSG_REQUEST_ACTIVITY_SUMMARY_LEADERBOARD_DATA: {
|
||||||
GameMessages::HandleRequestActivitySummaryLeaderboardData(inStream, entity, sysAddr);
|
GameMessages::HandleRequestActivitySummaryLeaderboardData(inStream, entity, sysAddr);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case GAME_MSG_ACTIVITY_STATE_CHANGE_REQUEST: {
|
case GAME_MSG_ACTIVITY_STATE_CHANGE_REQUEST: {
|
||||||
GameMessages::HandleActivityStateChangeRequest(inStream, entity);
|
GameMessages::HandleActivityStateChangeRequest(inStream, entity);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case GAME_MSG_PARSE_CHAT_MESSAGE: {
|
case GAME_MSG_PARSE_CHAT_MESSAGE: {
|
||||||
GameMessages::HandleParseChatMessage(inStream, entity, sysAddr);
|
GameMessages::HandleParseChatMessage(inStream, entity, sysAddr);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case GAME_MSG_NOTIFY_SERVER_LEVEL_PROCESSING_COMPLETE: {
|
case GAME_MSG_NOTIFY_SERVER_LEVEL_PROCESSING_COMPLETE: {
|
||||||
GameMessages::HandleNotifyServerLevelProcessingComplete(inStream, entity);
|
GameMessages::HandleNotifyServerLevelProcessingComplete(inStream, entity);
|
||||||
@ -228,8 +228,8 @@ void GameMessageHandler::HandleMessage(RakNet::BitStream* inStream, const System
|
|||||||
}
|
}
|
||||||
|
|
||||||
case GAME_MSG_RESURRECT: {
|
case GAME_MSG_RESURRECT: {
|
||||||
GameMessages::HandleResurrect(inStream, entity);
|
GameMessages::HandleResurrect(inStream, entity);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case GAME_MSG_REQUEST_RESURRECT: {
|
case GAME_MSG_REQUEST_RESURRECT: {
|
||||||
@ -243,10 +243,14 @@ void GameMessageHandler::HandleMessage(RakNet::BitStream* inStream, const System
|
|||||||
}*/
|
}*/
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case GAME_MSG_HANDLE_HOT_PROPERTY_DATA: {
|
||||||
|
GameMessages::HandleGetHotPropertyData(inStream, entity, sysAddr);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case GAME_MSG_REQUEST_SERVER_PROJECTILE_IMPACT:
|
case GAME_MSG_REQUEST_SERVER_PROJECTILE_IMPACT:
|
||||||
{
|
{
|
||||||
auto message = GameMessages::RequestServerProjectileImpact();
|
auto message = GameMessages::RequestServerProjectileImpact();
|
||||||
|
|
||||||
message.Deserialize(inStream);
|
message.Deserialize(inStream);
|
||||||
|
|
||||||
@ -261,8 +265,8 @@ void GameMessageHandler::HandleMessage(RakNet::BitStream* inStream, const System
|
|||||||
delete bs;
|
delete bs;
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case GAME_MSG_START_SKILL: {
|
case GAME_MSG_START_SKILL: {
|
||||||
GameMessages::StartSkill startSkill = GameMessages::StartSkill();
|
GameMessages::StartSkill startSkill = GameMessages::StartSkill();
|
||||||
@ -486,7 +490,7 @@ void GameMessageHandler::HandleMessage(RakNet::BitStream* inStream, const System
|
|||||||
GameMessages::HandleChoiceBoxRespond(inStream, entity, sysAddr);
|
GameMessages::HandleChoiceBoxRespond(inStream, entity, sysAddr);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// Property
|
// Property
|
||||||
case GAME_MSG_QUERY_PROPERTY_DATA:
|
case GAME_MSG_QUERY_PROPERTY_DATA:
|
||||||
GameMessages::HandleQueryPropertyData(inStream, entity, sysAddr);
|
GameMessages::HandleQueryPropertyData(inStream, entity, sysAddr);
|
||||||
break;
|
break;
|
||||||
@ -531,7 +535,7 @@ void GameMessageHandler::HandleMessage(RakNet::BitStream* inStream, const System
|
|||||||
GameMessages::HandleBBBLoadItemRequest(inStream, entity, sysAddr);
|
GameMessages::HandleBBBLoadItemRequest(inStream, entity, sysAddr);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GAME_MSG_BBB_SAVE_REQUEST:
|
case GAME_MSG_BBB_SAVE_REQUEST:
|
||||||
GameMessages::HandleBBBSaveRequest(inStream, entity, sysAddr);
|
GameMessages::HandleBBBSaveRequest(inStream, entity, sysAddr);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -620,41 +624,41 @@ void GameMessageHandler::HandleMessage(RakNet::BitStream* inStream, const System
|
|||||||
GameMessages::HandleSetGhostReferencePosition(inStream, entity, sysAddr);
|
GameMessages::HandleSetGhostReferencePosition(inStream, entity, sysAddr);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GAME_MSG_READY_FOR_UPDATES:
|
case GAME_MSG_READY_FOR_UPDATES:
|
||||||
//We don't really care about this message, as it's simply here to inform us that the client is done loading an object.
|
//We don't really care about this message, as it's simply here to inform us that the client is done loading an object.
|
||||||
//In the event we _do_ send an update to an object that hasn't finished loading, the client will handle it anyway.
|
//In the event we _do_ send an update to an object that hasn't finished loading, the client will handle it anyway.
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GAME_MSG_REPORT_BUG:
|
case GAME_MSG_REPORT_BUG:
|
||||||
GameMessages::HandleReportBug(inStream, entity);
|
GameMessages::HandleReportBug(inStream, entity);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GAME_MSG_CLIENT_RAIL_MOVEMENT_READY:
|
case GAME_MSG_CLIENT_RAIL_MOVEMENT_READY:
|
||||||
GameMessages::HandleClientRailMovementReady(inStream, entity, sysAddr);
|
GameMessages::HandleClientRailMovementReady(inStream, entity, sysAddr);
|
||||||
break;
|
|
||||||
|
|
||||||
case GAME_MSG_CANCEL_RAIL_MOVEMENT:
|
|
||||||
GameMessages::HandleCancelRailMovement(inStream, entity, sysAddr);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case GAME_MSG_PLAYER_RAIL_ARRIVED_NOTIFICATION:
|
|
||||||
GameMessages::HandlePlayerRailArrivedNotification(inStream, entity, sysAddr);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case GAME_MSG_CINEMATIC_UPDATE:
|
|
||||||
GameMessages::HandleCinematicUpdate(inStream, entity, sysAddr);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case GAME_MSG_MODIFY_PLAYER_ZONE_STATISTIC:
|
|
||||||
GameMessages::HandleModifyPlayerZoneStatistic(inStream, entity);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case GAME_MSG_UPDATE_PLAYER_STATISTIC:
|
|
||||||
GameMessages::HandleUpdatePlayerStatistic(inStream, entity);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
//Game::logger->Log("GameMessageHandler", "Unknown game message ID: %X\n", messageID);
|
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
|
case GAME_MSG_CANCEL_RAIL_MOVEMENT:
|
||||||
|
GameMessages::HandleCancelRailMovement(inStream, entity, sysAddr);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case GAME_MSG_PLAYER_RAIL_ARRIVED_NOTIFICATION:
|
||||||
|
GameMessages::HandlePlayerRailArrivedNotification(inStream, entity, sysAddr);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case GAME_MSG_CINEMATIC_UPDATE:
|
||||||
|
GameMessages::HandleCinematicUpdate(inStream, entity, sysAddr);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case GAME_MSG_MODIFY_PLAYER_ZONE_STATISTIC:
|
||||||
|
GameMessages::HandleModifyPlayerZoneStatistic(inStream, entity);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case GAME_MSG_UPDATE_PLAYER_STATISTIC:
|
||||||
|
GameMessages::HandleUpdatePlayerStatistic(inStream, entity);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
//Game::logger->Log("GameMessageHandler", "Unknown game message ID: %X\n", messageID);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -170,14 +170,14 @@ void GameMessages::SendPlayerReady(Entity* entity, const SystemAddress& sysAddr)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void GameMessages::SendPlayerAllowedRespawn(LWOOBJID entityID, bool doNotPromptRespawn, const SystemAddress &sysAddr) {
|
void GameMessages::SendPlayerAllowedRespawn(LWOOBJID entityID, bool doNotPromptRespawn, const SystemAddress &sysAddr) {
|
||||||
CBITSTREAM
|
CBITSTREAM
|
||||||
CMSGHEADER;
|
CMSGHEADER;
|
||||||
|
|
||||||
bitStream.Write(entityID);
|
bitStream.Write(entityID);
|
||||||
bitStream.Write(GAME_MSG::GAME_MSG_SET_PLAYER_ALLOWED_RESPAWN);
|
bitStream.Write(GAME_MSG::GAME_MSG_SET_PLAYER_ALLOWED_RESPAWN);
|
||||||
bitStream.Write(doNotPromptRespawn);
|
bitStream.Write(doNotPromptRespawn);
|
||||||
|
|
||||||
SEND_PACKET;
|
SEND_PACKET;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameMessages::SendInvalidZoneTransferList(Entity* entity, const SystemAddress& sysAddr, const std::u16string& feedbackURL, const std::u16string& invalidMapTransferList, bool feedbackOnExit, bool feedbackOnInvalidTransfer) {
|
void GameMessages::SendInvalidZoneTransferList(Entity* entity, const SystemAddress& sysAddr, const std::u16string& feedbackURL, const std::u16string& invalidMapTransferList, bool feedbackOnExit, bool feedbackOnInvalidTransfer) {
|
||||||
@ -266,7 +266,7 @@ void GameMessages::SendStartArrangingWithItem(
|
|||||||
}
|
}
|
||||||
|
|
||||||
void GameMessages::SendPlayerSetCameraCyclingMode(const LWOOBJID& objectID, const SystemAddress& sysAddr,
|
void GameMessages::SendPlayerSetCameraCyclingMode(const LWOOBJID& objectID, const SystemAddress& sysAddr,
|
||||||
bool bAllowCyclingWhileDeadOnly, eCyclingMode cyclingMode) {
|
bool bAllowCyclingWhileDeadOnly, eCyclingMode cyclingMode) {
|
||||||
CBITSTREAM
|
CBITSTREAM
|
||||||
CMSGHEADER
|
CMSGHEADER
|
||||||
|
|
||||||
@ -277,7 +277,7 @@ void GameMessages::SendPlayerSetCameraCyclingMode(const LWOOBJID& objectID, cons
|
|||||||
|
|
||||||
bitStream.Write(cyclingMode != ALLOW_CYCLE_TEAMMATES);
|
bitStream.Write(cyclingMode != ALLOW_CYCLE_TEAMMATES);
|
||||||
if (cyclingMode != ALLOW_CYCLE_TEAMMATES) {
|
if (cyclingMode != ALLOW_CYCLE_TEAMMATES) {
|
||||||
bitStream.Write<uint32_t>(cyclingMode);
|
bitStream.Write<uint32_t>(cyclingMode);
|
||||||
}
|
}
|
||||||
|
|
||||||
SEND_PACKET
|
SEND_PACKET
|
||||||
@ -672,7 +672,7 @@ void GameMessages::SendStopFXEffect(Entity* entity, bool killImmediate, std::str
|
|||||||
bitStream.Write(entity->GetObjectID());
|
bitStream.Write(entity->GetObjectID());
|
||||||
bitStream.Write(GAME_MSG::GAME_MSG_STOP_FX_EFFECT);
|
bitStream.Write(GAME_MSG::GAME_MSG_STOP_FX_EFFECT);
|
||||||
|
|
||||||
bitStream.Write(killImmediate);
|
bitStream.Write(killImmediate);
|
||||||
bitStream.Write<uint32_t>(name.size());
|
bitStream.Write<uint32_t>(name.size());
|
||||||
bitStream.Write(name.c_str(), name.size());
|
bitStream.Write(name.c_str(), name.size());
|
||||||
|
|
||||||
@ -1456,76 +1456,76 @@ void GameMessages::SendMatchUpdate(Entity* entity, const SystemAddress& sysAddr,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void GameMessages::SendRequestActivitySummaryLeaderboardData(const LWOOBJID& objectID, const LWOOBJID& targetID,
|
void GameMessages::SendRequestActivitySummaryLeaderboardData(const LWOOBJID& objectID, const LWOOBJID& targetID,
|
||||||
const SystemAddress& sysAddr, const int32_t& gameID,
|
const SystemAddress& sysAddr, const int32_t& gameID,
|
||||||
const int32_t& queryType, const int32_t& resultsEnd,
|
const int32_t& queryType, const int32_t& resultsEnd,
|
||||||
const int32_t& resultsStart, bool weekly) {
|
const int32_t& resultsStart, bool weekly) {
|
||||||
CBITSTREAM
|
CBITSTREAM
|
||||||
CMSGHEADER
|
CMSGHEADER
|
||||||
|
|
||||||
bitStream.Write(objectID);
|
bitStream.Write(objectID);
|
||||||
bitStream.Write(GAME_MSG::GAME_MSG_REQUEST_ACTIVITY_SUMMARY_LEADERBOARD_DATA);
|
bitStream.Write(GAME_MSG::GAME_MSG_REQUEST_ACTIVITY_SUMMARY_LEADERBOARD_DATA);
|
||||||
|
|
||||||
bitStream.Write(gameID != 0);
|
bitStream.Write(gameID != 0);
|
||||||
if (gameID != 0) {
|
if (gameID != 0) {
|
||||||
bitStream.Write<int32_t>(gameID);
|
bitStream.Write<int32_t>(gameID);
|
||||||
}
|
}
|
||||||
|
|
||||||
bitStream.Write(queryType != 1);
|
bitStream.Write(queryType != 1);
|
||||||
if (queryType != 1) {
|
if (queryType != 1) {
|
||||||
bitStream.Write<int32_t>(queryType);
|
bitStream.Write<int32_t>(queryType);
|
||||||
}
|
}
|
||||||
|
|
||||||
bitStream.Write(resultsEnd != 10);
|
bitStream.Write(resultsEnd != 10);
|
||||||
if (resultsEnd != 10) {
|
if (resultsEnd != 10) {
|
||||||
bitStream.Write<int32_t>(resultsEnd);
|
bitStream.Write<int32_t>(resultsEnd);
|
||||||
}
|
}
|
||||||
|
|
||||||
bitStream.Write(resultsStart != 0);
|
bitStream.Write(resultsStart != 0);
|
||||||
if (resultsStart != 0) {
|
if (resultsStart != 0) {
|
||||||
bitStream.Write<int32_t>(resultsStart);
|
bitStream.Write<int32_t>(resultsStart);
|
||||||
}
|
}
|
||||||
|
|
||||||
bitStream.Write<LWOOBJID>(targetID);
|
bitStream.Write<LWOOBJID>(targetID);
|
||||||
bitStream.Write(weekly);
|
bitStream.Write(weekly);
|
||||||
|
|
||||||
SEND_PACKET
|
SEND_PACKET
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameMessages::SendActivityPause(LWOOBJID objectId, bool pause, const SystemAddress& sysAddr) {
|
void GameMessages::SendActivityPause(LWOOBJID objectId, bool pause, const SystemAddress& sysAddr) {
|
||||||
CBITSTREAM
|
CBITSTREAM
|
||||||
CMSGHEADER
|
CMSGHEADER
|
||||||
|
|
||||||
bitStream.Write(objectId);
|
bitStream.Write(objectId);
|
||||||
bitStream.Write(GAME_MSG::GAME_MSG_ACTIVITY_PAUSE);
|
bitStream.Write(GAME_MSG::GAME_MSG_ACTIVITY_PAUSE);
|
||||||
bitStream.Write(pause);
|
bitStream.Write(pause);
|
||||||
|
|
||||||
if (sysAddr == UNASSIGNED_SYSTEM_ADDRESS) SEND_PACKET_BROADCAST;
|
if (sysAddr == UNASSIGNED_SYSTEM_ADDRESS) SEND_PACKET_BROADCAST;
|
||||||
SEND_PACKET
|
SEND_PACKET
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameMessages::SendStartActivityTime(LWOOBJID objectId, float_t startTime, const SystemAddress& sysAddr) {
|
void GameMessages::SendStartActivityTime(LWOOBJID objectId, float_t startTime, const SystemAddress& sysAddr) {
|
||||||
CBITSTREAM
|
CBITSTREAM
|
||||||
CMSGHEADER
|
CMSGHEADER
|
||||||
|
|
||||||
bitStream.Write(objectId);
|
bitStream.Write(objectId);
|
||||||
bitStream.Write(GAME_MSG::GAME_MSG_START_ACTIVITY_TIME);
|
bitStream.Write(GAME_MSG::GAME_MSG_START_ACTIVITY_TIME);
|
||||||
bitStream.Write<float_t>(startTime);
|
bitStream.Write<float_t>(startTime);
|
||||||
|
|
||||||
if (sysAddr == UNASSIGNED_SYSTEM_ADDRESS) SEND_PACKET_BROADCAST;
|
if (sysAddr == UNASSIGNED_SYSTEM_ADDRESS) SEND_PACKET_BROADCAST;
|
||||||
SEND_PACKET
|
SEND_PACKET
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameMessages::SendRequestActivityEnter(LWOOBJID objectId, const SystemAddress& sysAddr, bool bStart, LWOOBJID userID) {
|
void GameMessages::SendRequestActivityEnter(LWOOBJID objectId, const SystemAddress& sysAddr, bool bStart, LWOOBJID userID) {
|
||||||
CBITSTREAM
|
CBITSTREAM
|
||||||
CMSGHEADER
|
CMSGHEADER
|
||||||
|
|
||||||
bitStream.Write(objectId);
|
bitStream.Write(objectId);
|
||||||
bitStream.Write(GAME_MSG::GAME_MSG_REQUEST_ACTIVITY_ENTER);
|
bitStream.Write(GAME_MSG::GAME_MSG_REQUEST_ACTIVITY_ENTER);
|
||||||
bitStream.Write<bool>(bStart);
|
bitStream.Write<bool>(bStart);
|
||||||
bitStream.Write<LWOOBJID>(userID);
|
bitStream.Write<LWOOBJID>(userID);
|
||||||
|
|
||||||
if (sysAddr == UNASSIGNED_SYSTEM_ADDRESS) SEND_PACKET_BROADCAST;
|
if (sysAddr == UNASSIGNED_SYSTEM_ADDRESS) SEND_PACKET_BROADCAST;
|
||||||
SEND_PACKET
|
SEND_PACKET
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameMessages::NotifyLevelRewards(LWOOBJID objectID, const SystemAddress& sysAddr, int level, bool sending_rewards) {
|
void GameMessages::NotifyLevelRewards(LWOOBJID objectID, const SystemAddress& sysAddr, int level, bool sending_rewards) {
|
||||||
@ -1614,87 +1614,87 @@ void GameMessages::HandleUpdateShootingGalleryRotation(RakNet::BitStream* inStre
|
|||||||
|
|
||||||
|
|
||||||
void GameMessages::HandleActivitySummaryLeaderboardData(RakNet::BitStream* instream, Entity* entity,
|
void GameMessages::HandleActivitySummaryLeaderboardData(RakNet::BitStream* instream, Entity* entity,
|
||||||
const SystemAddress& sysAddr) {
|
const SystemAddress& sysAddr) {
|
||||||
Game::logger->Log("AGS", "We got mail!\n");
|
Game::logger->Log("AGS", "We got mail!\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameMessages::SendActivitySummaryLeaderboardData(const LWOOBJID& objectID, const Leaderboard* leaderboard, const SystemAddress& sysAddr) {
|
void GameMessages::SendActivitySummaryLeaderboardData(const LWOOBJID& objectID, const Leaderboard* leaderboard, const SystemAddress& sysAddr) {
|
||||||
CBITSTREAM
|
CBITSTREAM
|
||||||
CMSGHEADER
|
CMSGHEADER
|
||||||
|
|
||||||
bitStream.Write(objectID);
|
bitStream.Write(objectID);
|
||||||
bitStream.Write(GAME_MSG::GAME_MSG_SEND_ACTIVITY_SUMMARY_LEADERBOARD_DATA);
|
bitStream.Write(GAME_MSG::GAME_MSG_SEND_ACTIVITY_SUMMARY_LEADERBOARD_DATA);
|
||||||
|
|
||||||
bitStream.Write(leaderboard->GetGameID());
|
bitStream.Write(leaderboard->GetGameID());
|
||||||
bitStream.Write(leaderboard->GetInfoType());
|
bitStream.Write(leaderboard->GetInfoType());
|
||||||
|
|
||||||
// Leaderboard is written back as LDF string
|
// Leaderboard is written back as LDF string
|
||||||
const auto leaderboardString = leaderboard->ToString();
|
const auto leaderboardString = leaderboard->ToString();
|
||||||
bitStream.Write<uint32_t>(leaderboardString.size());
|
bitStream.Write<uint32_t>(leaderboardString.size());
|
||||||
for (const auto c : leaderboardString) {
|
for (const auto c : leaderboardString) {
|
||||||
bitStream.Write<uint16_t>(c);
|
bitStream.Write<uint16_t>(c);
|
||||||
}
|
}
|
||||||
if (!leaderboardString.empty()) bitStream.Write(uint16_t(0));
|
if (!leaderboardString.empty()) bitStream.Write(uint16_t(0));
|
||||||
|
|
||||||
bitStream.Write0();
|
bitStream.Write0();
|
||||||
bitStream.Write0();
|
bitStream.Write0();
|
||||||
|
|
||||||
SEND_PACKET
|
SEND_PACKET
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameMessages::HandleRequestActivitySummaryLeaderboardData(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr) {
|
void GameMessages::HandleRequestActivitySummaryLeaderboardData(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr) {
|
||||||
int32_t gameID = 0;
|
int32_t gameID = 0;
|
||||||
if (inStream->ReadBit()) inStream->Read(gameID);
|
if (inStream->ReadBit()) inStream->Read(gameID);
|
||||||
|
|
||||||
int32_t queryType = 1;
|
int32_t queryType = 1;
|
||||||
if (inStream->ReadBit()) inStream->Read(queryType);
|
if (inStream->ReadBit()) inStream->Read(queryType);
|
||||||
|
|
||||||
int32_t resultsEnd = 10;
|
int32_t resultsEnd = 10;
|
||||||
if (inStream->ReadBit()) inStream->Read(resultsEnd);
|
if (inStream->ReadBit()) inStream->Read(resultsEnd);
|
||||||
|
|
||||||
int32_t resultsStart = 0;
|
int32_t resultsStart = 0;
|
||||||
if (inStream->ReadBit()) inStream->Read(resultsStart);
|
if (inStream->ReadBit()) inStream->Read(resultsStart);
|
||||||
|
|
||||||
LWOOBJID target {};
|
LWOOBJID target {};
|
||||||
inStream->Read(target);
|
inStream->Read(target);
|
||||||
|
|
||||||
bool weekly = inStream->ReadBit();
|
bool weekly = inStream->ReadBit();
|
||||||
|
|
||||||
const auto* leaderboard = LeaderboardManager::GetLeaderboard(gameID, (InfoType)queryType, weekly, entity->GetObjectID());
|
const auto* leaderboard = LeaderboardManager::GetLeaderboard(gameID, (InfoType)queryType, weekly, entity->GetObjectID());
|
||||||
SendActivitySummaryLeaderboardData(entity->GetObjectID(), leaderboard, sysAddr);
|
SendActivitySummaryLeaderboardData(entity->GetObjectID(), leaderboard, sysAddr);
|
||||||
delete leaderboard;
|
delete leaderboard;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameMessages::HandleActivityStateChangeRequest(RakNet::BitStream *inStream, Entity *entity) {
|
void GameMessages::HandleActivityStateChangeRequest(RakNet::BitStream *inStream, Entity *entity) {
|
||||||
LWOOBJID objectID;
|
LWOOBJID objectID;
|
||||||
inStream->Read<LWOOBJID>(objectID);
|
inStream->Read<LWOOBJID>(objectID);
|
||||||
|
|
||||||
int32_t value1;
|
int32_t value1;
|
||||||
inStream->Read<int32_t>(value1);
|
inStream->Read<int32_t>(value1);
|
||||||
|
|
||||||
int32_t value2;
|
int32_t value2;
|
||||||
inStream->Read<int32_t>(value2);
|
inStream->Read<int32_t>(value2);
|
||||||
|
|
||||||
uint32_t stringValueLength;
|
uint32_t stringValueLength;
|
||||||
inStream->Read<uint32_t>(stringValueLength);
|
inStream->Read<uint32_t>(stringValueLength);
|
||||||
|
|
||||||
std::u16string stringValue;
|
std::u16string stringValue;
|
||||||
for (uint32_t i = 0; i < stringValueLength; ++i) {
|
for (uint32_t i = 0; i < stringValueLength; ++i) {
|
||||||
uint16_t character;
|
uint16_t character;
|
||||||
inStream->Read(character);
|
inStream->Read(character);
|
||||||
stringValue.push_back(character);
|
stringValue.push_back(character);
|
||||||
}
|
}
|
||||||
|
|
||||||
auto* assosiate = EntityManager::Instance()->GetEntity(objectID);
|
auto* assosiate = EntityManager::Instance()->GetEntity(objectID);
|
||||||
|
|
||||||
Game::logger->Log("Activity State Change", "%s [%i, %i] from %i to %i\n", GeneralUtils::UTF16ToWTF8(stringValue).c_str(), value1, value2, entity->GetLOT(), assosiate != nullptr ? assosiate->GetLOT() : 0);
|
Game::logger->Log("Activity State Change", "%s [%i, %i] from %i to %i\n", GeneralUtils::UTF16ToWTF8(stringValue).c_str(), value1, value2, entity->GetLOT(), assosiate != nullptr ? assosiate->GetLOT() : 0);
|
||||||
|
|
||||||
std::vector<Entity*> scriptedActs = EntityManager::Instance()->GetEntitiesByComponent(COMPONENT_TYPE_SHOOTING_GALLERY);
|
std::vector<Entity*> scriptedActs = EntityManager::Instance()->GetEntitiesByComponent(COMPONENT_TYPE_SHOOTING_GALLERY);
|
||||||
for (Entity* scriptEntity : scriptedActs) {
|
for (Entity* scriptEntity : scriptedActs) {
|
||||||
scriptEntity->OnActivityStateChangeRequest(objectID, value1, value2, stringValue);
|
scriptEntity->OnActivityStateChangeRequest(objectID, value1, value2, stringValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
entity->OnActivityStateChangeRequest(objectID, value1, value2, stringValue);
|
entity->OnActivityStateChangeRequest(objectID, value1, value2, stringValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameMessages::SendStartCelebrationEffect(Entity* entity, const SystemAddress& sysAddr, int celebrationID) {
|
void GameMessages::SendStartCelebrationEffect(Entity* entity, const SystemAddress& sysAddr, int celebrationID) {
|
||||||
@ -1727,99 +1727,99 @@ void GameMessages::SendStartCelebrationEffect(Entity* entity, const SystemAddres
|
|||||||
|
|
||||||
|
|
||||||
void GameMessages::SendSetRailMovement(const LWOOBJID& objectID, bool pathGoForward, std::u16string pathName,
|
void GameMessages::SendSetRailMovement(const LWOOBJID& objectID, bool pathGoForward, std::u16string pathName,
|
||||||
uint32_t pathStart, const SystemAddress& sysAddr, int32_t railActivatorComponentID,
|
uint32_t pathStart, const SystemAddress& sysAddr, int32_t railActivatorComponentID,
|
||||||
LWOOBJID railActivatorObjectID) {
|
LWOOBJID railActivatorObjectID) {
|
||||||
CBITSTREAM;
|
CBITSTREAM;
|
||||||
CMSGHEADER;
|
CMSGHEADER;
|
||||||
|
|
||||||
bitStream.Write(objectID);
|
bitStream.Write(objectID);
|
||||||
bitStream.Write(GAME_MSG::GAME_MSG_SET_RAIL_MOVEMENT);
|
bitStream.Write(GAME_MSG::GAME_MSG_SET_RAIL_MOVEMENT);
|
||||||
|
|
||||||
bitStream.Write(pathGoForward);
|
bitStream.Write(pathGoForward);
|
||||||
|
|
||||||
bitStream.Write(uint32_t(pathName.size()));
|
bitStream.Write(uint32_t(pathName.size()));
|
||||||
for (auto character : pathName) {
|
for (auto character : pathName) {
|
||||||
bitStream.Write<uint16_t>(character);
|
bitStream.Write<uint16_t>(character);
|
||||||
}
|
}
|
||||||
|
|
||||||
bitStream.Write<uint32_t>(pathStart);
|
bitStream.Write<uint32_t>(pathStart);
|
||||||
|
|
||||||
const auto componentIDIsDefault = railActivatorComponentID == -1;
|
const auto componentIDIsDefault = railActivatorComponentID == -1;
|
||||||
bitStream.Write(!componentIDIsDefault);
|
bitStream.Write(!componentIDIsDefault);
|
||||||
if (!componentIDIsDefault)
|
if (!componentIDIsDefault)
|
||||||
bitStream.Write<int32_t>(railActivatorComponentID);
|
bitStream.Write<int32_t>(railActivatorComponentID);
|
||||||
|
|
||||||
const auto activatorObjectIDIsDefault = railActivatorObjectID == LWOOBJID_EMPTY;
|
const auto activatorObjectIDIsDefault = railActivatorObjectID == LWOOBJID_EMPTY;
|
||||||
bitStream.Write(!activatorObjectIDIsDefault);
|
bitStream.Write(!activatorObjectIDIsDefault);
|
||||||
if (!activatorObjectIDIsDefault)
|
if (!activatorObjectIDIsDefault)
|
||||||
bitStream.Write<LWOOBJID>(railActivatorObjectID);
|
bitStream.Write<LWOOBJID>(railActivatorObjectID);
|
||||||
|
|
||||||
if (sysAddr == UNASSIGNED_SYSTEM_ADDRESS) SEND_PACKET_BROADCAST;
|
if (sysAddr == UNASSIGNED_SYSTEM_ADDRESS) SEND_PACKET_BROADCAST;
|
||||||
SEND_PACKET;
|
SEND_PACKET;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameMessages::SendStartRailMovement(const LWOOBJID &objectID, std::u16string pathName, std::u16string startSound,
|
void GameMessages::SendStartRailMovement(const LWOOBJID &objectID, std::u16string pathName, std::u16string startSound,
|
||||||
std::u16string loopSound, std::u16string stopSound, const SystemAddress& sysAddr,
|
std::u16string loopSound, std::u16string stopSound, const SystemAddress& sysAddr,
|
||||||
uint32_t pathStart, bool goForward, bool damageImmune, bool noAggro, bool notifyActor,
|
uint32_t pathStart, bool goForward, bool damageImmune, bool noAggro, bool notifyActor,
|
||||||
bool showNameBillboard, bool cameraLocked, bool collisionEnabled, bool useDB,
|
bool showNameBillboard, bool cameraLocked, bool collisionEnabled, bool useDB,
|
||||||
int32_t railComponentID, LWOOBJID railActivatorObjectID) {
|
int32_t railComponentID, LWOOBJID railActivatorObjectID) {
|
||||||
CBITSTREAM;
|
CBITSTREAM;
|
||||||
CMSGHEADER;
|
CMSGHEADER;
|
||||||
|
|
||||||
bitStream.Write(objectID);
|
bitStream.Write(objectID);
|
||||||
bitStream.Write(GAME_MSG::GAME_MSG_START_RAIL_MOVEMENT);
|
bitStream.Write(GAME_MSG::GAME_MSG_START_RAIL_MOVEMENT);
|
||||||
|
|
||||||
bitStream.Write(damageImmune);
|
bitStream.Write(damageImmune);
|
||||||
bitStream.Write(noAggro);
|
bitStream.Write(noAggro);
|
||||||
bitStream.Write(notifyActor);
|
bitStream.Write(notifyActor);
|
||||||
bitStream.Write(showNameBillboard);
|
bitStream.Write(showNameBillboard);
|
||||||
bitStream.Write(cameraLocked);
|
bitStream.Write(cameraLocked);
|
||||||
bitStream.Write(collisionEnabled);
|
bitStream.Write(collisionEnabled);
|
||||||
|
|
||||||
bitStream.Write(uint32_t(loopSound.size()));
|
bitStream.Write(uint32_t(loopSound.size()));
|
||||||
for (auto character : loopSound) {
|
for (auto character : loopSound) {
|
||||||
bitStream.Write<uint16_t>(character);
|
bitStream.Write<uint16_t>(character);
|
||||||
}
|
}
|
||||||
|
|
||||||
bitStream.Write(goForward);
|
bitStream.Write(goForward);
|
||||||
|
|
||||||
bitStream.Write(uint32_t(pathName.size()));
|
bitStream.Write(uint32_t(pathName.size()));
|
||||||
for (auto character : pathName) {
|
for (auto character : pathName) {
|
||||||
bitStream.Write<uint16_t>(character);
|
bitStream.Write<uint16_t>(character);
|
||||||
}
|
}
|
||||||
|
|
||||||
const auto pathStartIsDefault = pathStart == 0;
|
const auto pathStartIsDefault = pathStart == 0;
|
||||||
bitStream.Write(!pathStartIsDefault);
|
bitStream.Write(!pathStartIsDefault);
|
||||||
if (!pathStartIsDefault) {
|
if (!pathStartIsDefault) {
|
||||||
bitStream.Write<uint32_t>(pathStart);
|
bitStream.Write<uint32_t>(pathStart);
|
||||||
}
|
}
|
||||||
|
|
||||||
const auto railComponentIDIsDefault = railComponentID == -1;
|
const auto railComponentIDIsDefault = railComponentID == -1;
|
||||||
bitStream.Write(!railComponentIDIsDefault);
|
bitStream.Write(!railComponentIDIsDefault);
|
||||||
if (!railComponentIDIsDefault) {
|
if (!railComponentIDIsDefault) {
|
||||||
bitStream.Write<int32_t>(railComponentID);
|
bitStream.Write<int32_t>(railComponentID);
|
||||||
}
|
}
|
||||||
|
|
||||||
const auto railObjectIDIsDefault = railActivatorObjectID == LWOOBJID_EMPTY;
|
const auto railObjectIDIsDefault = railActivatorObjectID == LWOOBJID_EMPTY;
|
||||||
bitStream.Write(!railObjectIDIsDefault);
|
bitStream.Write(!railObjectIDIsDefault);
|
||||||
if (!railObjectIDIsDefault) {
|
if (!railObjectIDIsDefault) {
|
||||||
bitStream.Write<LWOOBJID>(railActivatorObjectID);
|
bitStream.Write<LWOOBJID>(railActivatorObjectID);
|
||||||
}
|
}
|
||||||
|
|
||||||
bitStream.Write(uint32_t(startSound.size()));
|
bitStream.Write(uint32_t(startSound.size()));
|
||||||
for (auto character : startSound) {
|
for (auto character : startSound) {
|
||||||
bitStream.Write<uint16_t>(character);
|
bitStream.Write<uint16_t>(character);
|
||||||
}
|
}
|
||||||
|
|
||||||
bitStream.Write(uint32_t(stopSound.size()));
|
bitStream.Write(uint32_t(stopSound.size()));
|
||||||
for (auto character : stopSound) {
|
for (auto character : stopSound) {
|
||||||
bitStream.Write<uint16_t>(character);
|
bitStream.Write<uint16_t>(character);
|
||||||
}
|
}
|
||||||
|
|
||||||
bitStream.Write(useDB);
|
bitStream.Write(useDB);
|
||||||
|
|
||||||
if (sysAddr == UNASSIGNED_SYSTEM_ADDRESS) SEND_PACKET_BROADCAST;
|
if (sysAddr == UNASSIGNED_SYSTEM_ADDRESS) SEND_PACKET_BROADCAST;
|
||||||
SEND_PACKET;
|
SEND_PACKET;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameMessages::SendNotifyClientObject(const LWOOBJID& objectID, std::u16string name, int param1, int param2, const LWOOBJID& paramObj, std::string paramStr, const SystemAddress& sysAddr) {
|
void GameMessages::SendNotifyClientObject(const LWOOBJID& objectID, std::u16string name, int param1, int param2, const LWOOBJID& paramObj, std::string paramStr, const SystemAddress& sysAddr) {
|
||||||
@ -2865,48 +2865,48 @@ void GameMessages::SendEndCinematic(LWOOBJID objectId, std::u16string pathName,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void GameMessages::HandleCinematicUpdate(RakNet::BitStream *inStream, Entity *entity, const SystemAddress &sysAddr) {
|
void GameMessages::HandleCinematicUpdate(RakNet::BitStream *inStream, Entity *entity, const SystemAddress &sysAddr) {
|
||||||
eCinematicEvent event;
|
eCinematicEvent event;
|
||||||
if (!inStream->ReadBit()) {
|
if (!inStream->ReadBit()) {
|
||||||
event = STARTED;
|
event = STARTED;
|
||||||
} else {
|
} else {
|
||||||
inStream->Read<eCinematicEvent>(event);
|
inStream->Read<eCinematicEvent>(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
float_t overallTime;
|
float_t overallTime;
|
||||||
if (!inStream->ReadBit()) {
|
if (!inStream->ReadBit()) {
|
||||||
overallTime = -1.0f;
|
overallTime = -1.0f;
|
||||||
} else {
|
} else {
|
||||||
inStream->Read<float_t>(overallTime);
|
inStream->Read<float_t>(overallTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t pathNameLength;
|
uint32_t pathNameLength;
|
||||||
inStream->Read(pathNameLength);
|
inStream->Read(pathNameLength);
|
||||||
|
|
||||||
std::u16string pathName;
|
std::u16string pathName;
|
||||||
for (size_t i = 0; i < pathNameLength; i++) {
|
for (size_t i = 0; i < pathNameLength; i++) {
|
||||||
char16_t character;
|
char16_t character;
|
||||||
inStream->Read(character);
|
inStream->Read(character);
|
||||||
pathName.push_back(character);
|
pathName.push_back(character);
|
||||||
}
|
}
|
||||||
|
|
||||||
float_t pathTime;
|
float_t pathTime;
|
||||||
if (!inStream->ReadBit()) {
|
if (!inStream->ReadBit()) {
|
||||||
pathTime = -1.0f;
|
pathTime = -1.0f;
|
||||||
} else {
|
} else {
|
||||||
inStream->Read<float_t>(pathTime);
|
inStream->Read<float_t>(pathTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t waypoint;
|
int32_t waypoint;
|
||||||
if (!inStream->ReadBit()) {
|
if (!inStream->ReadBit()) {
|
||||||
waypoint = -1;
|
waypoint = -1;
|
||||||
} else {
|
} else {
|
||||||
inStream->Read<int32_t>(waypoint);
|
inStream->Read<int32_t>(waypoint);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<Entity*> scriptedActs = EntityManager::Instance()->GetEntitiesByComponent(COMPONENT_TYPE_SCRIPT);
|
std::vector<Entity*> scriptedActs = EntityManager::Instance()->GetEntitiesByComponent(COMPONENT_TYPE_SCRIPT);
|
||||||
for (Entity* scriptEntity : scriptedActs) {
|
for (Entity* scriptEntity : scriptedActs) {
|
||||||
scriptEntity->OnCinematicUpdate(scriptEntity, entity, event, pathName, pathTime, overallTime, waypoint);
|
scriptEntity->OnCinematicUpdate(scriptEntity, entity, event, pathName, pathTime, overallTime, waypoint);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameMessages::SendSetStunned(LWOOBJID objectId, eStunState stateChangeType, const SystemAddress& sysAddr,
|
void GameMessages::SendSetStunned(LWOOBJID objectId, eStunState stateChangeType, const SystemAddress& sysAddr,
|
||||||
@ -4290,10 +4290,10 @@ void GameMessages::HandleVehicleNotifyHitImaginationServer(RakNet::BitStream* in
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
auto* characterComponent = entity->GetComponent<CharacterComponent>();
|
auto* characterComponent = entity->GetComponent<CharacterComponent>();
|
||||||
if (characterComponent != nullptr) {
|
if (characterComponent != nullptr) {
|
||||||
characterComponent->UpdatePlayerStatistic(RacingImaginationPowerUpsCollected);
|
characterComponent->UpdatePlayerStatistic(RacingImaginationPowerUpsCollected);
|
||||||
}
|
}
|
||||||
|
|
||||||
pickup->OnFireEventServerSide(entity, "powerup");
|
pickup->OnFireEventServerSide(entity, "powerup");
|
||||||
|
|
||||||
@ -4541,9 +4541,9 @@ void GameMessages::SendVehicleNotifyFinishedRace(LWOOBJID objectId, const System
|
|||||||
}
|
}
|
||||||
|
|
||||||
void GameMessages::SendAddBuff(LWOOBJID& objectID, const LWOOBJID& casterID, uint32_t buffID, uint32_t msDuration,
|
void GameMessages::SendAddBuff(LWOOBJID& objectID, const LWOOBJID& casterID, uint32_t buffID, uint32_t msDuration,
|
||||||
bool addImmunity, bool cancelOnDamaged, bool cancelOnDeath, bool cancelOnLogout,
|
bool addImmunity, bool cancelOnDamaged, bool cancelOnDeath, bool cancelOnLogout,
|
||||||
bool cancelOnRemoveBuff, bool cancelOnUi, bool cancelOnUnequip, bool cancelOnZone,
|
bool cancelOnRemoveBuff, bool cancelOnUi, bool cancelOnUnequip, bool cancelOnZone,
|
||||||
const SystemAddress& sysAddr) {
|
const SystemAddress& sysAddr) {
|
||||||
CBITSTREAM;
|
CBITSTREAM;
|
||||||
CMSGHEADER;
|
CMSGHEADER;
|
||||||
|
|
||||||
@ -4735,11 +4735,11 @@ void GameMessages::HandleBuyFromVendor(RakNet::BitStream* inStream, Entity* enti
|
|||||||
Character* character = player->GetCharacter();
|
Character* character = player->GetCharacter();
|
||||||
if (!character) return;
|
if (!character) return;
|
||||||
|
|
||||||
// Extra currency that needs to be deducted in case of crafting
|
// Extra currency that needs to be deducted in case of crafting
|
||||||
auto craftingCurrencies = CDItemComponentTable::ParseCraftingCurrencies(itemComp);
|
auto craftingCurrencies = CDItemComponentTable::ParseCraftingCurrencies(itemComp);
|
||||||
for (const auto& craftingCurrency : craftingCurrencies) {
|
for (const auto& craftingCurrency : craftingCurrencies) {
|
||||||
inv->RemoveItem(craftingCurrency.first, craftingCurrency.second * count);
|
inv->RemoveItem(craftingCurrency.first, craftingCurrency.second * count);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isCommendationVendor)
|
if (isCommendationVendor)
|
||||||
{
|
{
|
||||||
@ -5035,7 +5035,7 @@ void GameMessages::HandleFireEventServerSide(RakNet::BitStream* inStream, Entity
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
entity->OnFireEventServerSide(sender, GeneralUtils::UTF16ToWTF8(args), param1, param2, param3);
|
entity->OnFireEventServerSide(sender, GeneralUtils::UTF16ToWTF8(args), param1, param2, param3);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameMessages::HandleRequestPlatformResync(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr) {
|
void GameMessages::HandleRequestPlatformResync(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr) {
|
||||||
@ -5867,21 +5867,21 @@ void GameMessages::HandlePickupItem(RakNet::BitStream* inStream, Entity* entity)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void GameMessages::HandleResurrect(RakNet::BitStream* inStream, Entity* entity) {
|
void GameMessages::HandleResurrect(RakNet::BitStream* inStream, Entity* entity) {
|
||||||
bool immediate = inStream->ReadBit();
|
bool immediate = inStream->ReadBit();
|
||||||
|
|
||||||
Entity* zoneControl = EntityManager::Instance()->GetZoneControlEntity();
|
Entity* zoneControl = EntityManager::Instance()->GetZoneControlEntity();
|
||||||
for (CppScripts::Script* script : CppScripts::GetEntityScripts(zoneControl)) {
|
for (CppScripts::Script* script : CppScripts::GetEntityScripts(zoneControl)) {
|
||||||
script->OnPlayerResurrected(zoneControl, entity);
|
script->OnPlayerResurrected(zoneControl, entity);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<Entity*> scriptedActs = EntityManager::Instance()->GetEntitiesByComponent(COMPONENT_TYPE_SCRIPTED_ACTIVITY);
|
std::vector<Entity*> scriptedActs = EntityManager::Instance()->GetEntitiesByComponent(COMPONENT_TYPE_SCRIPTED_ACTIVITY);
|
||||||
for (Entity* scriptEntity : scriptedActs) {
|
for (Entity* scriptEntity : scriptedActs) {
|
||||||
if (scriptEntity->GetObjectID() != zoneControl->GetObjectID()) { // Don't want to trigger twice on instance worlds
|
if (scriptEntity->GetObjectID() != zoneControl->GetObjectID()) { // Don't want to trigger twice on instance worlds
|
||||||
for (CppScripts::Script* script : CppScripts::GetEntityScripts(scriptEntity)) {
|
for (CppScripts::Script* script : CppScripts::GetEntityScripts(scriptEntity)) {
|
||||||
script->OnPlayerResurrected(scriptEntity, entity);
|
script->OnPlayerResurrected(scriptEntity, entity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameMessages::HandlePushEquippedItemsState(RakNet::BitStream* inStream, Entity* entity) {
|
void GameMessages::HandlePushEquippedItemsState(RakNet::BitStream* inStream, Entity* entity) {
|
||||||
@ -5923,7 +5923,7 @@ void GameMessages::HandleClientItemConsumed(RakNet::BitStream* inStream, Entity*
|
|||||||
auto* missions = static_cast<MissionComponent*>(entity->GetComponent(COMPONENT_TYPE_MISSION));
|
auto* missions = static_cast<MissionComponent*>(entity->GetComponent(COMPONENT_TYPE_MISSION));
|
||||||
if (missions != nullptr)
|
if (missions != nullptr)
|
||||||
{
|
{
|
||||||
missions->Progress(MissionTaskType::MISSION_TASK_TYPE_FOOD, item->GetLot());
|
missions->Progress(MissionTaskType::MISSION_TASK_TYPE_FOOD, item->GetLot());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -5995,6 +5995,51 @@ void GameMessages::HandleMatchRequest(RakNet::BitStream* inStream, Entity* entit
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GameMessages::HandleGetHotPropertyData(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr) {
|
||||||
|
SendGetHotPropertyData(inStream, entity, sysAddr);
|
||||||
|
}
|
||||||
|
|
||||||
|
void GameMessages::SendGetHotPropertyData(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr) {
|
||||||
|
CBITSTREAM
|
||||||
|
CMSGHEADER
|
||||||
|
/**
|
||||||
|
* [u32] - Number of properties
|
||||||
|
* [objid] - property id
|
||||||
|
* [objid] - property owner id
|
||||||
|
* [wstring] - property owner name
|
||||||
|
* [u64] - total reputation
|
||||||
|
* [i32] - property template id
|
||||||
|
* [wstring] - property name
|
||||||
|
* [wstring] - property description
|
||||||
|
* [float] - performance cost
|
||||||
|
* [timestamp] - time last published
|
||||||
|
* [cloneid] - clone id
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
// TODO This needs to be implemented when reputation is implemented for getting hot properties.
|
||||||
|
/**
|
||||||
|
bitStream.Write(entity->GetObjectID());
|
||||||
|
bitStream.Write(GAME_MSG::GAME_MSG_SEND_HOT_PROPERTY_DATA);
|
||||||
|
std::vector<int32_t> t = {25166, 25188, 25191, 25194};
|
||||||
|
bitStream.Write<uint32_t>(4);
|
||||||
|
for (uint8_t i = 0; i < 4; i++) {
|
||||||
|
bitStream.Write<LWOOBJID>(entity->GetObjectID());
|
||||||
|
bitStream.Write<LWOOBJID>(entity->GetObjectID());
|
||||||
|
bitStream.Write<uint32_t>(1);
|
||||||
|
bitStream.Write<uint16_t>('c');
|
||||||
|
bitStream.Write<uint64_t>(42069);
|
||||||
|
bitStream.Write<int32_t>(t[i]);
|
||||||
|
bitStream.Write<uint32_t>(1);
|
||||||
|
bitStream.Write<uint16_t>('c');
|
||||||
|
bitStream.Write<uint32_t>(1);
|
||||||
|
bitStream.Write<uint16_t>('c');
|
||||||
|
bitStream.Write<float>(420.69f);
|
||||||
|
bitStream.Write<uint64_t>(1658376385);
|
||||||
|
bitStream.Write<int32_t>(25166);
|
||||||
|
}
|
||||||
|
SEND_PACKET*/
|
||||||
|
}
|
||||||
|
|
||||||
void GameMessages::HandleReportBug(RakNet::BitStream* inStream, Entity* entity) {
|
void GameMessages::HandleReportBug(RakNet::BitStream* inStream, Entity* entity) {
|
||||||
//Definitely not stolen from autogenerated code, no sir:
|
//Definitely not stolen from autogenerated code, no sir:
|
||||||
std::u16string body;
|
std::u16string body;
|
||||||
@ -6060,25 +6105,25 @@ void GameMessages::HandleReportBug(RakNet::BitStream* inStream, Entity* entity)
|
|||||||
|
|
||||||
void
|
void
|
||||||
GameMessages::HandleClientRailMovementReady(RakNet::BitStream *inStream, Entity *entity, const SystemAddress &sysAddr) {
|
GameMessages::HandleClientRailMovementReady(RakNet::BitStream *inStream, Entity *entity, const SystemAddress &sysAddr) {
|
||||||
const auto possibleRails = EntityManager::Instance()->GetEntitiesByComponent(COMPONENT_TYPE_RAIL_ACTIVATOR);
|
const auto possibleRails = EntityManager::Instance()->GetEntitiesByComponent(COMPONENT_TYPE_RAIL_ACTIVATOR);
|
||||||
for (const auto* possibleRail : possibleRails) {
|
for (const auto* possibleRail : possibleRails) {
|
||||||
const auto* rail = possibleRail->GetComponent<RailActivatorComponent>();
|
const auto* rail = possibleRail->GetComponent<RailActivatorComponent>();
|
||||||
if (rail != nullptr) {
|
if (rail != nullptr) {
|
||||||
rail->OnRailMovementReady(entity);
|
rail->OnRailMovementReady(entity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameMessages::HandleCancelRailMovement(RakNet::BitStream *inStream, Entity *entity, const SystemAddress &sysAddr) {
|
void GameMessages::HandleCancelRailMovement(RakNet::BitStream *inStream, Entity *entity, const SystemAddress &sysAddr) {
|
||||||
const auto immediate = inStream->ReadBit();
|
const auto immediate = inStream->ReadBit();
|
||||||
|
|
||||||
const auto possibleRails = EntityManager::Instance()->GetEntitiesByComponent(COMPONENT_TYPE_RAIL_ACTIVATOR);
|
const auto possibleRails = EntityManager::Instance()->GetEntitiesByComponent(COMPONENT_TYPE_RAIL_ACTIVATOR);
|
||||||
for (const auto* possibleRail : possibleRails) {
|
for (const auto* possibleRail : possibleRails) {
|
||||||
auto* rail = possibleRail->GetComponent<RailActivatorComponent>();
|
auto* rail = possibleRail->GetComponent<RailActivatorComponent>();
|
||||||
if (rail != nullptr) {
|
if (rail != nullptr) {
|
||||||
rail->OnCancelRailMovement(entity);
|
rail->OnCancelRailMovement(entity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameMessages::HandlePlayerRailArrivedNotification(RakNet::BitStream *inStream, Entity *entity,
|
void GameMessages::HandlePlayerRailArrivedNotification(RakNet::BitStream *inStream, Entity *entity,
|
||||||
@ -6105,43 +6150,43 @@ void GameMessages::HandlePlayerRailArrivedNotification(RakNet::BitStream *inStre
|
|||||||
}
|
}
|
||||||
|
|
||||||
void GameMessages::HandleModifyPlayerZoneStatistic(RakNet::BitStream *inStream, Entity *entity) {
|
void GameMessages::HandleModifyPlayerZoneStatistic(RakNet::BitStream *inStream, Entity *entity) {
|
||||||
const auto set = inStream->ReadBit();
|
const auto set = inStream->ReadBit();
|
||||||
const auto statisticsName = GeneralUtils::ReadWString(inStream);
|
const auto statisticsName = GeneralUtils::ReadWString(inStream);
|
||||||
|
|
||||||
int32_t value;
|
int32_t value;
|
||||||
if (inStream->ReadBit()) {
|
if (inStream->ReadBit()) {
|
||||||
inStream->Read<int32_t>(value);
|
inStream->Read<int32_t>(value);
|
||||||
} else {
|
} else {
|
||||||
value = 0;
|
value = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
LWOMAPID zone;
|
LWOMAPID zone;
|
||||||
if (inStream->ReadBit()) {
|
if (inStream->ReadBit()) {
|
||||||
inStream->Read<LWOMAPID>(zone);
|
inStream->Read<LWOMAPID>(zone);
|
||||||
} else {
|
} else {
|
||||||
zone = LWOMAPID_INVALID;
|
zone = LWOMAPID_INVALID;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Notify the character component that something's changed
|
// Notify the character component that something's changed
|
||||||
auto* characterComponent = entity->GetComponent<CharacterComponent>();
|
auto* characterComponent = entity->GetComponent<CharacterComponent>();
|
||||||
if (characterComponent != nullptr) {
|
if (characterComponent != nullptr) {
|
||||||
characterComponent->HandleZoneStatisticsUpdate(zone, statisticsName, value);
|
characterComponent->HandleZoneStatisticsUpdate(zone, statisticsName, value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameMessages::HandleUpdatePlayerStatistic(RakNet::BitStream* inStream, Entity* entity) {
|
void GameMessages::HandleUpdatePlayerStatistic(RakNet::BitStream* inStream, Entity* entity) {
|
||||||
int32_t updateID;
|
int32_t updateID;
|
||||||
inStream->Read<int32_t>(updateID);
|
inStream->Read<int32_t>(updateID);
|
||||||
|
|
||||||
int64_t updateValue;
|
int64_t updateValue;
|
||||||
if (inStream->ReadBit()) {
|
if (inStream->ReadBit()) {
|
||||||
inStream->Read<int64_t>(updateValue);
|
inStream->Read<int64_t>(updateValue);
|
||||||
} else {
|
} else {
|
||||||
updateValue = 1;
|
updateValue = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto* characterComponent = entity->GetComponent<CharacterComponent>();
|
auto* characterComponent = entity->GetComponent<CharacterComponent>();
|
||||||
if (characterComponent != nullptr) {
|
if (characterComponent != nullptr) {
|
||||||
characterComponent->UpdatePlayerStatistic((StatisticID) updateID, (uint64_t) std::max(updateValue, int64_t(0)));
|
characterComponent->UpdatePlayerStatistic((StatisticID) updateID, (uint64_t) std::max(updateValue, int64_t(0)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,7 @@ namespace GameMessages {
|
|||||||
class PropertyDataMessage;
|
class PropertyDataMessage;
|
||||||
void SendFireEventClientSide(const LWOOBJID& objectID, const SystemAddress& sysAddr, std::u16string args, const LWOOBJID& object, int64_t param1, int param2, const LWOOBJID& sender);
|
void SendFireEventClientSide(const LWOOBJID& objectID, const SystemAddress& sysAddr, std::u16string args, const LWOOBJID& object, int64_t param1, int param2, const LWOOBJID& sender);
|
||||||
void SendTeleport(const LWOOBJID& objectID, const NiPoint3& pos, const NiQuaternion& rot, const SystemAddress& sysAddr, bool bSetRotation = false, bool noGravTeleport = true);
|
void SendTeleport(const LWOOBJID& objectID, const NiPoint3& pos, const NiQuaternion& rot, const SystemAddress& sysAddr, bool bSetRotation = false, bool noGravTeleport = true);
|
||||||
void SendPlayAnimation(Entity* entity, const std::u16string& animationName, float fPriority = 0.0f, float fScale = 1.0f);
|
void SendPlayAnimation(Entity* entity, const std::u16string& animationName, float fPriority = 0.0f, float fScale = 1.0f);
|
||||||
void SendPlayerReady(Entity * entity, const SystemAddress& sysAddr);
|
void SendPlayerReady(Entity * entity, const SystemAddress& sysAddr);
|
||||||
void SendPlayerAllowedRespawn(LWOOBJID entityID, bool doNotPromptRespawn, const SystemAddress& systemAddress);
|
void SendPlayerAllowedRespawn(LWOOBJID entityID, bool doNotPromptRespawn, const SystemAddress& systemAddress);
|
||||||
void SendInvalidZoneTransferList(Entity * entity, const SystemAddress& sysAddr, const std::u16string& feedbackURL, const std::u16string& invalidMapTransferList, bool feedbackOnExit, bool feedbackOnInvalidTransfer);
|
void SendInvalidZoneTransferList(Entity * entity, const SystemAddress& sysAddr, const std::u16string& feedbackURL, const std::u16string& invalidMapTransferList, bool feedbackOnExit, bool feedbackOnInvalidTransfer);
|
||||||
@ -47,27 +47,27 @@ namespace GameMessages {
|
|||||||
);
|
);
|
||||||
|
|
||||||
void SendPlayerSetCameraCyclingMode(const LWOOBJID& objectID, const SystemAddress& sysAddr,
|
void SendPlayerSetCameraCyclingMode(const LWOOBJID& objectID, const SystemAddress& sysAddr,
|
||||||
bool bAllowCyclingWhileDeadOnly = true, eCyclingMode cyclingMode = ALLOW_CYCLE_TEAMMATES);
|
bool bAllowCyclingWhileDeadOnly = true, eCyclingMode cyclingMode = ALLOW_CYCLE_TEAMMATES);
|
||||||
|
|
||||||
void SendPlayNDAudioEmitter(Entity* entity, const SystemAddress& sysAddr, std::string audioGUID);
|
void SendPlayNDAudioEmitter(Entity* entity, const SystemAddress& sysAddr, std::string audioGUID);
|
||||||
|
|
||||||
void SendStartPathing(Entity* entity);
|
void SendStartPathing(Entity* entity);
|
||||||
void SendPlatformResync(Entity* entity, const SystemAddress& sysAddr, bool bStopAtDesiredWaypoint = false,
|
void SendPlatformResync(Entity* entity, const SystemAddress& sysAddr, bool bStopAtDesiredWaypoint = false,
|
||||||
int iIndex = 0, int iDesiredWaypointIndex = 1, int nextIndex = 1,
|
int iIndex = 0, int iDesiredWaypointIndex = 1, int nextIndex = 1,
|
||||||
MovementPlatformState movementState = MovementPlatformState::Moving);
|
MovementPlatformState movementState = MovementPlatformState::Moving);
|
||||||
|
|
||||||
void SendRestoreToPostLoadStats(Entity * entity, const SystemAddress& sysAddr);
|
void SendRestoreToPostLoadStats(Entity * entity, const SystemAddress& sysAddr);
|
||||||
void SendServerDoneLoadingAllObjects(Entity * entity, const SystemAddress& sysAddr);
|
void SendServerDoneLoadingAllObjects(Entity * entity, const SystemAddress& sysAddr);
|
||||||
void SendGMLevelBroadcast(const LWOOBJID& objectID, uint8_t level);
|
void SendGMLevelBroadcast(const LWOOBJID& objectID, uint8_t level);
|
||||||
void SendChatModeUpdate(const LWOOBJID& objectID, uint8_t level);
|
void SendChatModeUpdate(const LWOOBJID& objectID, uint8_t level);
|
||||||
|
|
||||||
void SendAddItemToInventoryClientSync(Entity* entity, const SystemAddress& sysAddr, Item* item, const LWOOBJID& objectID, bool showFlyingLoot, int itemCount, LWOOBJID subKey = LWOOBJID_EMPTY, eLootSourceType lootSourceType = eLootSourceType::LOOT_SOURCE_NONE);
|
void SendAddItemToInventoryClientSync(Entity* entity, const SystemAddress& sysAddr, Item* item, const LWOOBJID& objectID, bool showFlyingLoot, int itemCount, LWOOBJID subKey = LWOOBJID_EMPTY, eLootSourceType lootSourceType = eLootSourceType::LOOT_SOURCE_NONE);
|
||||||
void SendNotifyClientFlagChange(const LWOOBJID& objectID, int iFlagID, bool bFlag, const SystemAddress& sysAddr);
|
void SendNotifyClientFlagChange(const LWOOBJID& objectID, int iFlagID, bool bFlag, const SystemAddress& sysAddr);
|
||||||
void SendChangeObjectWorldState(const LWOOBJID& objectID, int state, const SystemAddress& sysAddr);
|
void SendChangeObjectWorldState(const LWOOBJID& objectID, int state, const SystemAddress& sysAddr);
|
||||||
|
|
||||||
void SendOfferMission(const LWOOBJID& entity, const SystemAddress& sysAddr, int32_t missionID, const LWOOBJID& offererID);
|
void SendOfferMission(const LWOOBJID& entity, const SystemAddress& sysAddr, int32_t missionID, const LWOOBJID& offererID);
|
||||||
void SendNotifyMission(Entity * entity, const SystemAddress& sysAddr, int missionID, int missionState, bool sendingRewards);
|
void SendNotifyMission(Entity * entity, const SystemAddress& sysAddr, int missionID, int missionState, bool sendingRewards);
|
||||||
void SendNotifyMissionTask(Entity * entity, const SystemAddress& sysAddr, int missionID, int taskMask, std::vector<float> updates);
|
void SendNotifyMissionTask(Entity * entity, const SystemAddress& sysAddr, int missionID, int taskMask, std::vector<float> updates);
|
||||||
void NotifyLevelRewards(LWOOBJID objectID, const SystemAddress& sysAddr, int level, bool sending_rewards);
|
void NotifyLevelRewards(LWOOBJID objectID, const SystemAddress& sysAddr, int level, bool sending_rewards);
|
||||||
|
|
||||||
void SendModifyLEGOScore(Entity* entity, const SystemAddress& sysAddr, int64_t score, eLootSourceType sourceType);
|
void SendModifyLEGOScore(Entity* entity, const SystemAddress& sysAddr, int64_t score, eLootSourceType sourceType);
|
||||||
@ -92,7 +92,7 @@ namespace GameMessages {
|
|||||||
void SendSetInventorySize(Entity* entity, int invType, int size);
|
void SendSetInventorySize(Entity* entity, int invType, int size);
|
||||||
|
|
||||||
void SendSetEmoteLockState(Entity* entity, bool bLock, int emoteID);
|
void SendSetEmoteLockState(Entity* entity, bool bLock, int emoteID);
|
||||||
void SendSetJetPackMode(Entity* entity, bool use, bool bypassChecks = false, bool doHover = false, int effectID = -1, float airspeed = 10, float maxAirspeed = 15, float verticalVelocity = 1, int warningEffectID = -1);
|
void SendSetJetPackMode(Entity* entity, bool use, bool bypassChecks = false, bool doHover = false, int effectID = -1, float airspeed = 10, float maxAirspeed = 15, float verticalVelocity = 1, int warningEffectID = -1);
|
||||||
void SendResurrect(Entity* entity);
|
void SendResurrect(Entity* entity);
|
||||||
void SendStop2DAmbientSound(Entity* entity, bool force, std::string audioGUID, bool result = false);
|
void SendStop2DAmbientSound(Entity* entity, bool force, std::string audioGUID, bool result = false);
|
||||||
void SendPlay2DAmbientSound(Entity* entity, std::string audioGUID, bool result = false);
|
void SendPlay2DAmbientSound(Entity* entity, std::string audioGUID, bool result = false);
|
||||||
@ -157,15 +157,15 @@ namespace GameMessages {
|
|||||||
|
|
||||||
// Rails stuff
|
// Rails stuff
|
||||||
void SendSetRailMovement(const LWOOBJID& objectID, bool pathGoForward, std::u16string pathName, uint32_t pathStart,
|
void SendSetRailMovement(const LWOOBJID& objectID, bool pathGoForward, std::u16string pathName, uint32_t pathStart,
|
||||||
const SystemAddress& sysAddr = UNASSIGNED_SYSTEM_ADDRESS,
|
const SystemAddress& sysAddr = UNASSIGNED_SYSTEM_ADDRESS,
|
||||||
int32_t railActivatorComponentID = -1, LWOOBJID railActivatorObjectID = LWOOBJID_EMPTY);
|
int32_t railActivatorComponentID = -1, LWOOBJID railActivatorObjectID = LWOOBJID_EMPTY);
|
||||||
|
|
||||||
void SendStartRailMovement(const LWOOBJID& objectID, std::u16string pathName, std::u16string startSound,
|
void SendStartRailMovement(const LWOOBJID& objectID, std::u16string pathName, std::u16string startSound,
|
||||||
std::u16string loopSound, std::u16string stopSound, const SystemAddress& sysAddr = UNASSIGNED_SYSTEM_ADDRESS,
|
std::u16string loopSound, std::u16string stopSound, const SystemAddress& sysAddr = UNASSIGNED_SYSTEM_ADDRESS,
|
||||||
uint32_t pathStart = 0, bool goForward = true, bool damageImmune = true, bool noAggro = true,
|
uint32_t pathStart = 0, bool goForward = true, bool damageImmune = true, bool noAggro = true,
|
||||||
bool notifyActor = false, bool showNameBillboard = true, bool cameraLocked = true,
|
bool notifyActor = false, bool showNameBillboard = true, bool cameraLocked = true,
|
||||||
bool collisionEnabled = true, bool useDB = true, int32_t railComponentID = -1,
|
bool collisionEnabled = true, bool useDB = true, int32_t railComponentID = -1,
|
||||||
LWOOBJID railActivatorObjectID = LWOOBJID_EMPTY);
|
LWOOBJID railActivatorObjectID = LWOOBJID_EMPTY);
|
||||||
|
|
||||||
void HandleClientRailMovementReady(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr);
|
void HandleClientRailMovementReady(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr);
|
||||||
void HandleCancelRailMovement(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr);
|
void HandleCancelRailMovement(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr);
|
||||||
@ -180,9 +180,9 @@ namespace GameMessages {
|
|||||||
void SendBBBSaveResponse(const LWOOBJID& objectId, const LWOOBJID& localID, unsigned char* buffer, uint32_t bufferSize, const SystemAddress& sysAddr);
|
void SendBBBSaveResponse(const LWOOBJID& objectId, const LWOOBJID& localID, unsigned char* buffer, uint32_t bufferSize, const SystemAddress& sysAddr);
|
||||||
|
|
||||||
void SendAddBuff(LWOOBJID& objectID, const LWOOBJID& casterID, uint32_t buffID, uint32_t msDuration,
|
void SendAddBuff(LWOOBJID& objectID, const LWOOBJID& casterID, uint32_t buffID, uint32_t msDuration,
|
||||||
bool addImmunity = false, bool cancelOnDamaged = false, bool cancelOnDeath = true,
|
bool addImmunity = false, bool cancelOnDamaged = false, bool cancelOnDeath = true,
|
||||||
bool cancelOnLogout = false, bool cancelOnRemoveBuff = true, bool cancelOnUi = false,
|
bool cancelOnLogout = false, bool cancelOnRemoveBuff = true, bool cancelOnUi = false,
|
||||||
bool cancelOnUnequip = false, bool cancelOnZone = false, const SystemAddress& sysAddr = UNASSIGNED_SYSTEM_ADDRESS);
|
bool cancelOnUnequip = false, bool cancelOnZone = false, const SystemAddress& sysAddr = UNASSIGNED_SYSTEM_ADDRESS);
|
||||||
|
|
||||||
void SendToggleGMInvis(LWOOBJID objectId, bool enabled, const SystemAddress& sysAddr);
|
void SendToggleGMInvis(LWOOBJID objectId, bool enabled, const SystemAddress& sysAddr);
|
||||||
|
|
||||||
@ -252,7 +252,7 @@ namespace GameMessages {
|
|||||||
bool lockPlayer = true, bool result = false, bool skipIfSamePath = false, float startTimeAdvance = 0);
|
bool lockPlayer = true, bool result = false, bool skipIfSamePath = false, float startTimeAdvance = 0);
|
||||||
|
|
||||||
void SendEndCinematic(LWOOBJID objectID, std::u16string pathName, const SystemAddress& sysAddr = UNASSIGNED_SYSTEM_ADDRESS,
|
void SendEndCinematic(LWOOBJID objectID, std::u16string pathName, const SystemAddress& sysAddr = UNASSIGNED_SYSTEM_ADDRESS,
|
||||||
float leadOut = -1.0f, bool leavePlayerLocked = false);
|
float leadOut = -1.0f, bool leavePlayerLocked = false);
|
||||||
void HandleCinematicUpdate(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr);
|
void HandleCinematicUpdate(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr);
|
||||||
|
|
||||||
void SendSetStunned(LWOOBJID objectId, eStunState stateChangeType, const SystemAddress& sysAddr,
|
void SendSetStunned(LWOOBJID objectId, eStunState stateChangeType, const SystemAddress& sysAddr,
|
||||||
@ -389,6 +389,38 @@ namespace GameMessages {
|
|||||||
*/
|
*/
|
||||||
void HandleAcknowledgePossession(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr);
|
void HandleAcknowledgePossession(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief A request from a client to get the hot properties that would appear on the news feed
|
||||||
|
* This incoming message has NO DATA and is simply a request that expects to send a reply to the sender.
|
||||||
|
*
|
||||||
|
* @param inStream packet of data
|
||||||
|
* @param entity The Entity that sent the request
|
||||||
|
* @param sysAddr The SystemAddress of the Entity that sent the request
|
||||||
|
*/
|
||||||
|
void HandleGetHotPropertyData(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief A request from a client to get the hot properties that would appear on the news feed
|
||||||
|
* The struct of data to send is as follows
|
||||||
|
*
|
||||||
|
* [u32] - Number of properties
|
||||||
|
* [objid] - property id
|
||||||
|
* [objid] - property owner id
|
||||||
|
* [wstring] - property owner name
|
||||||
|
* [u64] - total reputation
|
||||||
|
* [i32] - property template id
|
||||||
|
* [wstring] - property name
|
||||||
|
* [wstring] - property description
|
||||||
|
* [float] - performance cost
|
||||||
|
* [timestamp] - time last published
|
||||||
|
* [cloneid] - clone id
|
||||||
|
*
|
||||||
|
* @param inStream packet of data
|
||||||
|
* @param entity The Entity that sent the request
|
||||||
|
* @param sysAddr The SystemAddress of the Entity that sent the request
|
||||||
|
*/
|
||||||
|
void SendGetHotPropertyData(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr);
|
||||||
|
|
||||||
//Racing:
|
//Racing:
|
||||||
void HandleModuleAssemblyQueryData(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr);
|
void HandleModuleAssemblyQueryData(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr);
|
||||||
|
|
||||||
@ -459,16 +491,16 @@ namespace GameMessages {
|
|||||||
|
|
||||||
void SendUpdateReputation(const LWOOBJID objectId, const int64_t reputation, const SystemAddress& sysAddr);
|
void SendUpdateReputation(const LWOOBJID objectId, const int64_t reputation, const SystemAddress& sysAddr);
|
||||||
|
|
||||||
// Leaderboards
|
// Leaderboards
|
||||||
void SendActivitySummaryLeaderboardData(const LWOOBJID& objectID, const Leaderboard* leaderboard,
|
void SendActivitySummaryLeaderboardData(const LWOOBJID& objectID, const Leaderboard* leaderboard,
|
||||||
const SystemAddress& sysAddr = UNASSIGNED_SYSTEM_ADDRESS);
|
const SystemAddress& sysAddr = UNASSIGNED_SYSTEM_ADDRESS);
|
||||||
void HandleActivitySummaryLeaderboardData(RakNet::BitStream* instream, Entity* entity, const SystemAddress& sysAddr);
|
void HandleActivitySummaryLeaderboardData(RakNet::BitStream* instream, Entity* entity, const SystemAddress& sysAddr);
|
||||||
void SendRequestActivitySummaryLeaderboardData(const LWOOBJID& objectID, const LWOOBJID& targetID,
|
void SendRequestActivitySummaryLeaderboardData(const LWOOBJID& objectID, const LWOOBJID& targetID,
|
||||||
const SystemAddress& sysAddr, const int32_t& gameID = 0,
|
const SystemAddress& sysAddr, const int32_t& gameID = 0,
|
||||||
const int32_t& queryType = 1, const int32_t& resultsEnd = 10,
|
const int32_t& queryType = 1, const int32_t& resultsEnd = 10,
|
||||||
const int32_t& resultsStart = 0, bool weekly = false);
|
const int32_t& resultsStart = 0, bool weekly = false);
|
||||||
void HandleRequestActivitySummaryLeaderboardData(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr);
|
void HandleRequestActivitySummaryLeaderboardData(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr);
|
||||||
void HandleActivityStateChangeRequest(RakNet::BitStream* inStream, Entity* entity);
|
void HandleActivityStateChangeRequest(RakNet::BitStream* inStream, Entity* entity);
|
||||||
|
|
||||||
void SendVehicleAddPassiveBoostAction(LWOOBJID objectId, const SystemAddress& sysAddr);
|
void SendVehicleAddPassiveBoostAction(LWOOBJID objectId, const SystemAddress& sysAddr);
|
||||||
|
|
||||||
@ -482,7 +514,7 @@ namespace GameMessages {
|
|||||||
|
|
||||||
void SendShowActivityCountdown(LWOOBJID objectId, bool bPlayAdditionalSound, bool bPlayCountdownSound, std::u16string sndName, int32_t stateToPlaySoundOn, const SystemAddress& sysAddr);
|
void SendShowActivityCountdown(LWOOBJID objectId, bool bPlayAdditionalSound, bool bPlayCountdownSound, std::u16string sndName, int32_t stateToPlaySoundOn, const SystemAddress& sysAddr);
|
||||||
|
|
||||||
//Handlers:
|
//Handlers:
|
||||||
|
|
||||||
void HandleToggleGhostReferenceOverride(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr);
|
void HandleToggleGhostReferenceOverride(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr);
|
||||||
void HandleSetGhostReferencePosition(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr);
|
void HandleSetGhostReferencePosition(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr);
|
||||||
@ -491,19 +523,19 @@ namespace GameMessages {
|
|||||||
void HandleSellToVendor(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr);
|
void HandleSellToVendor(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr);
|
||||||
void HandleBuybackFromVendor(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr);
|
void HandleBuybackFromVendor(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr);
|
||||||
void HandleParseChatMessage(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr);
|
void HandleParseChatMessage(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr);
|
||||||
void HandleToggleGhostReffrenceOverride(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr);
|
void HandleToggleGhostReffrenceOverride(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr);
|
||||||
void HandleSetGhostReffrenceOverride(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr);
|
void HandleSetGhostReffrenceOverride(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr);
|
||||||
void HandleFireEventServerSide(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr);
|
void HandleFireEventServerSide(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr);
|
||||||
void HandleRequestPlatformResync(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr);
|
void HandleRequestPlatformResync(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr);
|
||||||
void HandleRebuildCancel(RakNet::BitStream* inStream, Entity* entity);
|
void HandleRebuildCancel(RakNet::BitStream* inStream, Entity* entity);
|
||||||
void HandleRequestUse(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr);
|
void HandleRequestUse(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr);
|
||||||
void HandlePlayEmote(RakNet::BitStream* inStream, Entity* entity);
|
void HandlePlayEmote(RakNet::BitStream* inStream, Entity* entity);
|
||||||
void HandleModularBuildConvertModel(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr);
|
void HandleModularBuildConvertModel(RakNet::BitStream* inStream, Entity* entity, const SystemAddress& sysAddr);
|
||||||
void HandleSetFlag(RakNet::BitStream* inStream, Entity* entity);
|
void HandleSetFlag(RakNet::BitStream* inStream, Entity* entity);
|
||||||
void HandleRespondToMission(RakNet::BitStream* inStream, Entity* entity);
|
void HandleRespondToMission(RakNet::BitStream* inStream, Entity* entity);
|
||||||
void HandleMissionDialogOK(RakNet::BitStream* inStream, Entity* entity);
|
void HandleMissionDialogOK(RakNet::BitStream* inStream, Entity* entity);
|
||||||
void HandleRequestLinkedMission(RakNet::BitStream* inStream, Entity* entity);
|
void HandleRequestLinkedMission(RakNet::BitStream* inStream, Entity* entity);
|
||||||
void HandleHasBeenCollected(RakNet::BitStream* inStream, Entity* entity);
|
void HandleHasBeenCollected(RakNet::BitStream* inStream, Entity* entity);
|
||||||
void HandleNotifyServerLevelProcessingComplete(RakNet::BitStream* inStream, Entity* entity);
|
void HandleNotifyServerLevelProcessingComplete(RakNet::BitStream* inStream, Entity* entity);
|
||||||
void HandlePickupCurrency(RakNet::BitStream* inStream, Entity* entity);
|
void HandlePickupCurrency(RakNet::BitStream* inStream, Entity* entity);
|
||||||
void HandleRequestDie(RakNet::BitStream* inStream, Entity* entity);
|
void HandleRequestDie(RakNet::BitStream* inStream, Entity* entity);
|
||||||
@ -537,7 +569,7 @@ namespace GameMessages {
|
|||||||
class EchoSyncSkill {
|
class EchoSyncSkill {
|
||||||
static const GAME_MSG MsgID = GAME_MSG_ECHO_SYNC_SKILL;
|
static const GAME_MSG MsgID = GAME_MSG_ECHO_SYNC_SKILL;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
EchoSyncSkill() {
|
EchoSyncSkill() {
|
||||||
bDone = false;
|
bDone = false;
|
||||||
}
|
}
|
||||||
@ -598,7 +630,7 @@ namespace GameMessages {
|
|||||||
class SyncSkill {
|
class SyncSkill {
|
||||||
static const GAME_MSG MsgID = GAME_MSG_SYNC_SKILL;
|
static const GAME_MSG MsgID = GAME_MSG_SYNC_SKILL;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
SyncSkill() {
|
SyncSkill() {
|
||||||
bDone = false;
|
bDone = false;
|
||||||
}
|
}
|
||||||
@ -659,7 +691,7 @@ namespace GameMessages {
|
|||||||
class RequestServerProjectileImpact {
|
class RequestServerProjectileImpact {
|
||||||
static const GAME_MSG MsgID = GAME_MSG_REQUEST_SERVER_PROJECTILE_IMPACT;
|
static const GAME_MSG MsgID = GAME_MSG_REQUEST_SERVER_PROJECTILE_IMPACT;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
RequestServerProjectileImpact() {
|
RequestServerProjectileImpact() {
|
||||||
i64LocalID = LWOOBJID_EMPTY;
|
i64LocalID = LWOOBJID_EMPTY;
|
||||||
i64TargetID = LWOOBJID_EMPTY;
|
i64TargetID = LWOOBJID_EMPTY;
|
||||||
@ -728,7 +760,7 @@ namespace GameMessages {
|
|||||||
class DoClientProjectileImpact {
|
class DoClientProjectileImpact {
|
||||||
static const GAME_MSG MsgID = GAME_MSG_DO_CLIENT_PROJECTILE_IMPACT;
|
static const GAME_MSG MsgID = GAME_MSG_DO_CLIENT_PROJECTILE_IMPACT;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DoClientProjectileImpact() {
|
DoClientProjectileImpact() {
|
||||||
i64OrgID = LWOOBJID_EMPTY;
|
i64OrgID = LWOOBJID_EMPTY;
|
||||||
i64OwnerID = LWOOBJID_EMPTY;
|
i64OwnerID = LWOOBJID_EMPTY;
|
||||||
@ -1078,7 +1110,4 @@ namespace GameMessages {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif // GAMEMESSAGES_H
|
#endif // GAMEMESSAGES_H
|
||||||
|
@ -354,8 +354,8 @@ enum GAME_MSG : unsigned short {
|
|||||||
GAME_MSG_REGISTER_PET_ID = 565,
|
GAME_MSG_REGISTER_PET_ID = 565,
|
||||||
GAME_MSG_REGISTER_PET_DBID = 566,
|
GAME_MSG_REGISTER_PET_DBID = 566,
|
||||||
GAME_MSG_SHOW_ACTIVITY_COUNTDOWN = 568,
|
GAME_MSG_SHOW_ACTIVITY_COUNTDOWN = 568,
|
||||||
GAME_MSG_START_ACTIVITY_TIME = 576,
|
GAME_MSG_START_ACTIVITY_TIME = 576,
|
||||||
GAME_MSG_ACTIVITY_PAUSE = 602,
|
GAME_MSG_ACTIVITY_PAUSE = 602,
|
||||||
GAME_MSG_USE_NON_EQUIPMENT_ITEM = 603,
|
GAME_MSG_USE_NON_EQUIPMENT_ITEM = 603,
|
||||||
GAME_MSG_USE_ITEM_RESULT = 607,
|
GAME_MSG_USE_ITEM_RESULT = 607,
|
||||||
GAME_MSG_COMMAND_PET = 640,
|
GAME_MSG_COMMAND_PET = 640,
|
||||||
@ -386,14 +386,14 @@ enum GAME_MSG : unsigned short {
|
|||||||
GAME_MSG_PROPERTY_EDITOR_BEGIN = 724,
|
GAME_MSG_PROPERTY_EDITOR_BEGIN = 724,
|
||||||
GAME_MSG_PROPERTY_EDITOR_END = 725,
|
GAME_MSG_PROPERTY_EDITOR_END = 725,
|
||||||
GAME_MSG_START_PATHING = 735,
|
GAME_MSG_START_PATHING = 735,
|
||||||
GAME_MSG_NOTIFY_CLIENT_ZONE_OBJECT = 737,
|
GAME_MSG_NOTIFY_CLIENT_ZONE_OBJECT = 737,
|
||||||
GAME_MSG_UPDATE_REPUTATION = 746,
|
GAME_MSG_UPDATE_REPUTATION = 746,
|
||||||
GAME_MSG_PROPERTY_RENTAL_RESPONSE = 750,
|
GAME_MSG_PROPERTY_RENTAL_RESPONSE = 750,
|
||||||
GAME_MSG_REQUEST_PLATFORM_RESYNC = 760,
|
GAME_MSG_REQUEST_PLATFORM_RESYNC = 760,
|
||||||
GAME_MSG_PLATFORM_RESYNC = 761,
|
GAME_MSG_PLATFORM_RESYNC = 761,
|
||||||
GAME_MSG_PLAY_CINEMATIC = 762,
|
GAME_MSG_PLAY_CINEMATIC = 762,
|
||||||
GAME_MSG_END_CINEMATIC = 763,
|
GAME_MSG_END_CINEMATIC = 763,
|
||||||
GAME_MSG_CINEMATIC_UPDATE = 764,
|
GAME_MSG_CINEMATIC_UPDATE = 764,
|
||||||
GAME_MSG_TOGGLE_GHOST_REFERENCE_OVERRIDE = 767,
|
GAME_MSG_TOGGLE_GHOST_REFERENCE_OVERRIDE = 767,
|
||||||
GAME_MSG_SET_GHOST_REFERENCE_POSITION = 768,
|
GAME_MSG_SET_GHOST_REFERENCE_POSITION = 768,
|
||||||
GAME_MSG_FIRE_EVENT_SERVER_SIDE = 770,
|
GAME_MSG_FIRE_EVENT_SERVER_SIDE = 770,
|
||||||
@ -438,8 +438,8 @@ enum GAME_MSG : unsigned short {
|
|||||||
GAME_MSG_BBB_SAVE_RESPONSE = 1006,
|
GAME_MSG_BBB_SAVE_RESPONSE = 1006,
|
||||||
GAME_MSG_NOTIFY_CLIENT_OBJECT = 1042,
|
GAME_MSG_NOTIFY_CLIENT_OBJECT = 1042,
|
||||||
GAME_MSG_DISPLAY_ZONE_SUMMARY = 1043,
|
GAME_MSG_DISPLAY_ZONE_SUMMARY = 1043,
|
||||||
GAME_MSG_ACTIVITY_STATE_CHANGE_REQUEST = 1053,
|
GAME_MSG_ACTIVITY_STATE_CHANGE_REQUEST = 1053,
|
||||||
GAME_MSG_MODIFY_PLAYER_ZONE_STATISTIC = 1046,
|
GAME_MSG_MODIFY_PLAYER_ZONE_STATISTIC = 1046,
|
||||||
GAME_MSG_START_BUILDING_WITH_ITEM = 1057,
|
GAME_MSG_START_BUILDING_WITH_ITEM = 1057,
|
||||||
GAME_MSG_START_ARRANGING_WITH_ITEM = 1061,
|
GAME_MSG_START_ARRANGING_WITH_ITEM = 1061,
|
||||||
GAME_MSG_FINISH_ARRANGING_WITH_ITEM = 1062,
|
GAME_MSG_FINISH_ARRANGING_WITH_ITEM = 1062,
|
||||||
@ -460,7 +460,7 @@ enum GAME_MSG : unsigned short {
|
|||||||
GAME_MSG_REQUEST_SERVER_PROJECTILE_IMPACT = 1148,
|
GAME_MSG_REQUEST_SERVER_PROJECTILE_IMPACT = 1148,
|
||||||
GAME_MSG_DO_CLIENT_PROJECTILE_IMPACT = 1151,
|
GAME_MSG_DO_CLIENT_PROJECTILE_IMPACT = 1151,
|
||||||
GAME_MSG_MODULAR_BUILD_CONVERT_MODEL = 1155,
|
GAME_MSG_MODULAR_BUILD_CONVERT_MODEL = 1155,
|
||||||
GAME_MSG_SET_PLAYER_ALLOWED_RESPAWN = 1165,
|
GAME_MSG_SET_PLAYER_ALLOWED_RESPAWN = 1165,
|
||||||
GAME_MSG_UI_MESSAGE_SERVER_TO_SINGLE_CLIENT = 1184,
|
GAME_MSG_UI_MESSAGE_SERVER_TO_SINGLE_CLIENT = 1184,
|
||||||
GAME_MSG_UI_MESSAGE_SERVER_TO_ALL_CLIENTS = 1185,
|
GAME_MSG_UI_MESSAGE_SERVER_TO_ALL_CLIENTS = 1185,
|
||||||
GAME_MSG_PET_TAMING_TRY_BUILD = 1197,
|
GAME_MSG_PET_TAMING_TRY_BUILD = 1197,
|
||||||
@ -515,10 +515,10 @@ enum GAME_MSG : unsigned short {
|
|||||||
GAME_MSG_RESTORE_TO_POST_LOAD_STATS = 1468,
|
GAME_MSG_RESTORE_TO_POST_LOAD_STATS = 1468,
|
||||||
GAME_MSG_SET_RAIL_MOVEMENT = 1471,
|
GAME_MSG_SET_RAIL_MOVEMENT = 1471,
|
||||||
GAME_MSG_START_RAIL_MOVEMENT = 1472,
|
GAME_MSG_START_RAIL_MOVEMENT = 1472,
|
||||||
GAME_MSG_CANCEL_RAIL_MOVEMENT = 1474,
|
GAME_MSG_CANCEL_RAIL_MOVEMENT = 1474,
|
||||||
GAME_MSG_CLIENT_RAIL_MOVEMENT_READY = 1476,
|
GAME_MSG_CLIENT_RAIL_MOVEMENT_READY = 1476,
|
||||||
GAME_MSG_PLAYER_RAIL_ARRIVED_NOTIFICATION = 1477,
|
GAME_MSG_PLAYER_RAIL_ARRIVED_NOTIFICATION = 1477,
|
||||||
GAME_MSG_UPDATE_PLAYER_STATISTIC = 1481,
|
GAME_MSG_UPDATE_PLAYER_STATISTIC = 1481,
|
||||||
GAME_MSG_MODULAR_ASSEMBLY_NIF_COMPLETED = 1498,
|
GAME_MSG_MODULAR_ASSEMBLY_NIF_COMPLETED = 1498,
|
||||||
GAME_MSG_NOTIFY_NOT_ENOUGH_INV_SPACE = 1516,
|
GAME_MSG_NOTIFY_NOT_ENOUGH_INV_SPACE = 1516,
|
||||||
GAME_MSG_TEAM_SET_LEADER = 0x0615,
|
GAME_MSG_TEAM_SET_LEADER = 0x0615,
|
||||||
@ -527,11 +527,13 @@ enum GAME_MSG : unsigned short {
|
|||||||
GAME_MSG_TEAM_ADD_PLAYER = 0x061a,
|
GAME_MSG_TEAM_ADD_PLAYER = 0x061a,
|
||||||
GAME_MSG_TEAM_REMOVE_PLAYER = 0x061b,
|
GAME_MSG_TEAM_REMOVE_PLAYER = 0x061b,
|
||||||
GAME_MSG_START_CELEBRATION_EFFECT = 1618,
|
GAME_MSG_START_CELEBRATION_EFFECT = 1618,
|
||||||
GAME_MSG_ADD_BUFF = 1647,
|
GAME_MSG_ADD_BUFF = 1647,
|
||||||
GAME_MSG_SERVER_DONE_LOADING_ALL_OBJECTS = 1642,
|
GAME_MSG_SERVER_DONE_LOADING_ALL_OBJECTS = 1642,
|
||||||
GAME_MSG_PLACE_PROPERTY_MODEL = 1170,
|
GAME_MSG_PLACE_PROPERTY_MODEL = 1170,
|
||||||
GAME_MSG_VEHICLE_NOTIFY_HIT_IMAGINATION_SERVER = 1606,
|
GAME_MSG_VEHICLE_NOTIFY_HIT_IMAGINATION_SERVER = 1606,
|
||||||
GAME_MSG_ADD_RUN_SPEED_MODIFIER = 1505,
|
GAME_MSG_ADD_RUN_SPEED_MODIFIER = 1505,
|
||||||
|
GAME_MSG_HANDLE_HOT_PROPERTY_DATA = 1511,
|
||||||
|
GAME_MSG_SEND_HOT_PROPERTY_DATA = 1510,
|
||||||
GAME_MSG_REMOVE_RUN_SPEED_MODIFIER = 1506,
|
GAME_MSG_REMOVE_RUN_SPEED_MODIFIER = 1506,
|
||||||
GAME_MSG_UPDATE_PROPERTY_PERFORMANCE_COST = 1547,
|
GAME_MSG_UPDATE_PROPERTY_PERFORMANCE_COST = 1547,
|
||||||
GAME_MSG_PROPERTY_ENTRANCE_BEGIN = 1553,
|
GAME_MSG_PROPERTY_ENTRANCE_BEGIN = 1553,
|
||||||
|
Loading…
Reference in New Issue
Block a user