More SMSGs

Minor structure corrections, some constants, comments, syntax
This commit is contained in:
Olion17 2017-07-19 17:02:01 +03:00 committed by Antz
parent bec53e14c2
commit dee29f95d4
12 changed files with 132 additions and 145 deletions

View File

@ -122,20 +122,14 @@ enum GuildEvents
GE_SIGNED_OFF = 0x0D, // ERR_FRIEND_OFFLINE_S
};
enum PetitionTurns
{
PETITION_TURN_OK = 0,
PETITION_TURN_ALREADY_IN_GUILD = 2,
PETITION_TURN_NEED_MORE_SIGNATURES = 4,
};
enum PetitionSigns
{
PETITION_SIGN_OK = 0,
PETITION_SIGN_ALREADY_SIGNED = 1,
PETITION_SIGN_ALREADY_IN_GUILD = 2,
PETITION_SIGN_CANT_SIGN_OWN = 3,
PETITION_SIGN_NOT_SERVER = 4,
PETITION_SIGN_NEED_MORE = 4,
PETITION_SIGN_NOT_SERVER = 5,
};
enum GuildEventLogTypes
@ -155,7 +149,7 @@ enum GuildEmblem
ERR_GUILDEMBLEM_NOGUILD = 2,
ERR_GUILDEMBLEM_NOTGUILDMASTER = 3,
ERR_GUILDEMBLEM_NOTENOUGHMONEY = 4,
ERR_GUILDEMBLEM_INVALIDVENDOR = 5
ERR_GUILDEMBLEM_FAIL_NO_MESSAGE = 5
};
struct GuildEventLogEntry

View File

@ -165,16 +165,8 @@ void PlayerTaxi::LoadTaxiMask(const char* data)
void PlayerTaxi::AppendTaximaskTo(ByteBuffer& data, bool all)
{
if (all)
{
for (uint8 i = 0; i < TaxiMaskSize; ++i)
{ data << uint32(sTaxiNodesMask[i]); } // all existing nodes
}
else
{
for (uint8 i = 0; i < TaxiMaskSize; ++i)
{ data << uint32(m_taximask[i]); } // known nodes
}
for (uint8 i = 0; i < TaxiMaskSize; ++i)
{ data << uint32(all ? sTaxiNodesMask[i] : m_taximask[i]); } // all or just known existing nodes
}
bool PlayerTaxi::LoadTaxiDestinationsFromString(const std::string& values, Team team)
@ -2742,17 +2734,17 @@ void Player::RemoveMail(uint32 id)
void Player::SendMailResult(uint32 mailId, MailResponseType mailAction, MailResponseResult mailError, uint32 equipError, uint32 item_guid, uint32 item_count)
{
WorldPacket data(SMSG_SEND_MAIL_RESULT, (4 + 4 + 4 + (mailError == MAIL_ERR_EQUIP_ERROR ? 4 : (mailAction == MAIL_ITEM_TAKEN ? 4 + 4 : 0))));
WorldPacket data(SMSG_SEND_MAIL_RESULT, (4 + 4 + 4 + (mailError == MAIL_ERR_EQUIP_ERROR ? 4 : 0)));
data << (uint32) mailId;
data << (uint32) mailAction;
data << (uint32) mailError;
if (mailError == MAIL_ERR_EQUIP_ERROR)
{ data << (uint32) equipError; }
else if (mailAction == MAIL_ITEM_TAKEN)
{
data << (uint32) item_guid; // item guid low?
data << (uint32) item_count; // item count?
}
//else if (mailAction == MAIL_ITEM_TAKEN) // [-ZERO]
//{
// data << (uint32) item_guid; // item guid low?
// data << (uint32) item_count; // item count?
//}
GetSession()->SendPacket(&data);
}
@ -11220,26 +11212,26 @@ void Player::SendOpenContainer()
GetSession()->SendPacket(&data);
}
void Player::SendBuyError(BuyResult msg, Creature* pCreature, uint32 item, uint32 param)
void Player::SendBuyError(BuyResult msg, Creature* pCreature, uint32 item, uint32 /*param*/)
{
DEBUG_LOG("WORLD: Sent SMSG_BUY_FAILED");
WorldPacket data(SMSG_BUY_FAILED, (8 + 4 + 4 + 1));
WorldPacket data(SMSG_BUY_FAILED, (8 + 4 + 1));
data << (pCreature ? pCreature->GetObjectGuid() : ObjectGuid());
data << uint32(item);
if (param > 0)
{ data << uint32(param); }
//if (param > 0)
// { data << uint32(param); } // [-ZERO]
data << uint8(msg);
GetSession()->SendPacket(&data);
}
void Player::SendSellError(SellResult msg, Creature* pCreature, ObjectGuid itemGuid, uint32 param)
void Player::SendSellError(SellResult msg, Creature* pCreature, ObjectGuid itemGuid, uint32 /*param*/)
{
DEBUG_LOG("WORLD: Sent SMSG_SELL_ITEM");
WorldPacket data(SMSG_SELL_ITEM, (8 + 8 + (param ? 4 : 0) + 1)); // last check 2.0.10
WorldPacket data(SMSG_SELL_ITEM, (8 + 8 + /*(param ? 4 : 0) +*/ 1)); // last check [ZERO]
data << (pCreature ? pCreature->GetObjectGuid() : ObjectGuid());
data << ObjectGuid(itemGuid);
if (param > 0)
{ data << uint32(param); }
//if (param > 0)
// { data << uint32(param); } // [-ZERO]
data << uint8(msg);
GetSession()->SendPacket(&data);
}
@ -18014,7 +18006,7 @@ void Player::SendInitialPacketsBeforeAddToMap()
/* This packet seems useless...
* TODO: Work out if we need SMSG_SET_REST_START */
WorldPacket data(SMSG_SET_REST_START, 4);
data << uint32(0); // unknown, may be rest state time or experience
data << uint32(0); // rest state time
GetSession()->SendPacket(&data);
/* Send information about player's home binding */

View File

@ -442,7 +442,7 @@ enum MirrorTimerType
{
FATIGUE_TIMER = 0,
BREATH_TIMER = 1,
FIRE_TIMER = 2
FIRE_TIMER = 2 // probably mistake. More like to FEIGN_DEATH_TIMER
};
#define MAX_TIMERS 3
#define DISABLED_MIRROR_TIMER -1

View File

@ -468,145 +468,145 @@ void Opcodes::BuildOpcodeList()
/*0x195*/ StoreOpcode(SMSG_QUESTLOG_FULL, "SMSG_QUESTLOG_FULL", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x196*/ StoreOpcode(SMSG_QUESTUPDATE_FAILED, "SMSG_QUESTUPDATE_FAILED", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x197*/ StoreOpcode(SMSG_QUESTUPDATE_FAILEDTIMER, "SMSG_QUESTUPDATE_FAILEDTIMER", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x198*/ StoreOpcode(SMSG_QUESTUPDATE_COMPLETE, "SMSG_QUESTUPDATE_COMPLETE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x199*/ StoreOpcode(SMSG_QUESTUPDATE_ADD_KILL, "SMSG_QUESTUPDATE_ADD_KILL", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x19A*/ StoreOpcode(SMSG_QUESTUPDATE_ADD_ITEM, "SMSG_QUESTUPDATE_ADD_ITEM", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x198*/ StoreOpcode(SMSG_QUESTUPDATE_COMPLETE, "SMSG_QUESTUPDATE_COMPLETE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x199*/ StoreOpcode(SMSG_QUESTUPDATE_ADD_KILL, "SMSG_QUESTUPDATE_ADD_KILL", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x19A*/ StoreOpcode(SMSG_QUESTUPDATE_ADD_ITEM, "SMSG_QUESTUPDATE_ADD_ITEM", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x19B*/ StoreOpcode(CMSG_QUEST_CONFIRM_ACCEPT, "CMSG_QUEST_CONFIRM_ACCEPT", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleQuestConfirmAccept);
/*[-ZERO] Need check */ /*0x19C*/ StoreOpcode(SMSG_QUEST_CONFIRM_ACCEPT, "SMSG_QUEST_CONFIRM_ACCEPT", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x19C*/ StoreOpcode(SMSG_QUEST_CONFIRM_ACCEPT, "SMSG_QUEST_CONFIRM_ACCEPT", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x19D*/ StoreOpcode(CMSG_PUSHQUESTTOPARTY, "CMSG_PUSHQUESTTOPARTY", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePushQuestToParty);
/*[-ZERO] Need check */ /*0x19E*/ StoreOpcode(CMSG_LIST_INVENTORY, "CMSG_LIST_INVENTORY", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleListInventoryOpcode);
/*[-ZERO] Need check */ /*0x19F*/ StoreOpcode(SMSG_LIST_INVENTORY, "SMSG_LIST_INVENTORY", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x19F*/ StoreOpcode(SMSG_LIST_INVENTORY, "SMSG_LIST_INVENTORY", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1A0*/ StoreOpcode(CMSG_SELL_ITEM, "CMSG_SELL_ITEM", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSellItemOpcode);
/*[-ZERO] Need check */ /*0x1A1*/ StoreOpcode(SMSG_SELL_ITEM, "SMSG_SELL_ITEM", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1A1*/ StoreOpcode(SMSG_SELL_ITEM, "SMSG_SELL_ITEM", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1A2*/ StoreOpcode(CMSG_BUY_ITEM, "CMSG_BUY_ITEM", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleBuyItemOpcode);
/*[-ZERO] Need check */ /*0x1A3*/ StoreOpcode(CMSG_BUY_ITEM_IN_SLOT, "CMSG_BUY_ITEM_IN_SLOT", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleBuyItemInSlotOpcode);
/*[-ZERO] Need check */ /*0x1A4*/ StoreOpcode(SMSG_BUY_ITEM, "SMSG_BUY_ITEM", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1A5*/ StoreOpcode(SMSG_BUY_FAILED, "SMSG_BUY_FAILED", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1A4*/ StoreOpcode(SMSG_BUY_ITEM, "SMSG_BUY_ITEM", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1A5*/ StoreOpcode(SMSG_BUY_FAILED, "SMSG_BUY_FAILED", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1A6*/ StoreOpcode(CMSG_TAXICLEARALLNODES, "CMSG_TAXICLEARALLNODES", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
/*0x1A7*/ StoreOpcode(CMSG_TAXIENABLEALLNODES, "CMSG_TAXIENABLEALLNODES", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
/*0x1A8*/ StoreOpcode(CMSG_TAXISHOWNODES, "CMSG_TAXISHOWNODES", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
/*[-ZERO] Need check */ /*0x1A9*/ StoreOpcode(SMSG_SHOWTAXINODES, "SMSG_SHOWTAXINODES", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1A9*/ StoreOpcode(SMSG_SHOWTAXINODES, "SMSG_SHOWTAXINODES", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1AA*/ StoreOpcode(CMSG_TAXINODE_STATUS_QUERY, "CMSG_TAXINODE_STATUS_QUERY", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleTaxiNodeStatusQueryOpcode);
/*[-ZERO] Need check */ /*0x1AB*/ StoreOpcode(SMSG_TAXINODE_STATUS, "SMSG_TAXINODE_STATUS", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1AB*/ StoreOpcode(SMSG_TAXINODE_STATUS, "SMSG_TAXINODE_STATUS", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1AC*/ StoreOpcode(CMSG_TAXIQUERYAVAILABLENODES, "CMSG_TAXIQUERYAVAILABLENODES", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleTaxiQueryAvailableNodes);
/*[-ZERO] Need check */ /*0x1AD*/ StoreOpcode(CMSG_ACTIVATETAXI, "CMSG_ACTIVATETAXI", STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleActivateTaxiOpcode);
/*[-ZERO] Need check */ /*0x1AE*/ StoreOpcode(SMSG_ACTIVATETAXIREPLY, "SMSG_ACTIVATETAXIREPLY", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1AF*/ StoreOpcode(SMSG_NEW_TAXI_PATH, "SMSG_NEW_TAXI_PATH", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1AE*/ StoreOpcode(SMSG_ACTIVATETAXIREPLY, "SMSG_ACTIVATETAXIREPLY", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1AF*/ StoreOpcode(SMSG_NEW_TAXI_PATH, "SMSG_NEW_TAXI_PATH", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1B0*/ StoreOpcode(CMSG_TRAINER_LIST, "CMSG_TRAINER_LIST", STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleTrainerListOpcode);
/*[-ZERO] Need check */ /*0x1B1*/ StoreOpcode(SMSG_TRAINER_LIST, "SMSG_TRAINER_LIST", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1B1*/ StoreOpcode(SMSG_TRAINER_LIST, "SMSG_TRAINER_LIST", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1B2*/ StoreOpcode(CMSG_TRAINER_BUY_SPELL, "CMSG_TRAINER_BUY_SPELL", STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleTrainerBuySpellOpcode);
/*[-ZERO] Need check */ /*0x1B3*/ StoreOpcode(SMSG_TRAINER_BUY_SUCCEEDED, "SMSG_TRAINER_BUY_SUCCEEDED", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1B4*/ StoreOpcode(SMSG_TRAINER_BUY_FAILED, "SMSG_TRAINER_BUY_FAILED", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] No effect */ /*0x1B3*/ StoreOpcode(SMSG_TRAINER_BUY_SUCCEEDED, "SMSG_TRAINER_BUY_SUCCEEDED", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1B4*/ StoreOpcode(SMSG_TRAINER_BUY_FAILED, "SMSG_TRAINER_BUY_FAILED", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1B5*/ StoreOpcode(CMSG_BINDER_ACTIVATE, "CMSG_BINDER_ACTIVATE", STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleBinderActivateOpcode);
/*[-ZERO] Need check */ /*0x1B6*/ StoreOpcode(SMSG_PLAYERBINDERROR, "SMSG_PLAYERBINDERROR", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1B6*/ StoreOpcode(SMSG_PLAYERBINDERROR, "SMSG_PLAYERBINDERROR", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1B7*/ StoreOpcode(CMSG_BANKER_ACTIVATE, "CMSG_BANKER_ACTIVATE", STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleBankerActivateOpcode);
/*0x1B8*/ StoreOpcode(SMSG_SHOW_BANK, "SMSG_SHOW_BANK", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1B9*/ StoreOpcode(CMSG_BUY_BANK_SLOT, "CMSG_BUY_BANK_SLOT", STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleBuyBankSlotOpcode);
/*0x1BA*/ StoreOpcode(SMSG_BUY_BANK_SLOT_RESULT, "SMSG_BUY_BANK_SLOT_RESULT", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1BB*/ StoreOpcode(CMSG_PETITION_SHOWLIST, "CMSG_PETITION_SHOWLIST", STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandlePetitionShowListOpcode);
/*[-ZERO] Need check */ /*0x1BC*/ StoreOpcode(SMSG_PETITION_SHOWLIST, "SMSG_PETITION_SHOWLIST", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1BC*/ StoreOpcode(SMSG_PETITION_SHOWLIST, "SMSG_PETITION_SHOWLIST", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1BD*/ StoreOpcode(CMSG_PETITION_BUY, "CMSG_PETITION_BUY", STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandlePetitionBuyOpcode);
/*[-ZERO] Need check */ /*0x1BE*/ StoreOpcode(CMSG_PETITION_SHOW_SIGNATURES, "CMSG_PETITION_SHOW_SIGNATURES", STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandlePetitionShowSignOpcode);
/*[-ZERO] Need check */ /*0x1BF*/ StoreOpcode(SMSG_PETITION_SHOW_SIGNATURES, "SMSG_PETITION_SHOW_SIGNATURES", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1BF*/ StoreOpcode(SMSG_PETITION_SHOW_SIGNATURES, "SMSG_PETITION_SHOW_SIGNATURES", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1C0*/ StoreOpcode(CMSG_PETITION_SIGN, "CMSG_PETITION_SIGN", STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandlePetitionSignOpcode);
/*[-ZERO] Need check */ /*0x1C1*/ StoreOpcode(SMSG_PETITION_SIGN_RESULTS, "SMSG_PETITION_SIGN_RESULTS", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1C2*/ StoreOpcode(MSG_PETITION_DECLINE, "MSG_PETITION_DECLINE", STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandlePetitionDeclineOpcode);
/*0x1C1*/ StoreOpcode(SMSG_PETITION_SIGN_RESULTS, "SMSG_PETITION_SIGN_RESULTS", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1C2*/ StoreOpcode(MSG_PETITION_DECLINE, "MSG_PETITION_DECLINE", STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandlePetitionDeclineOpcode);
/*[-ZERO] Need check */ /*0x1C3*/ StoreOpcode(CMSG_OFFER_PETITION, "CMSG_OFFER_PETITION", STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleOfferPetitionOpcode);
/*[-ZERO] Need check */ /*0x1C4*/ StoreOpcode(CMSG_TURN_IN_PETITION, "CMSG_TURN_IN_PETITION", STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleTurnInPetitionOpcode);
/*[-ZERO] Need check */ /*0x1C5*/ StoreOpcode(SMSG_TURN_IN_PETITION_RESULTS, "SMSG_TURN_IN_PETITION_RESULTS", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1C5*/ StoreOpcode(SMSG_TURN_IN_PETITION_RESULTS, "SMSG_TURN_IN_PETITION_RESULTS", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1C6*/ StoreOpcode(CMSG_PETITION_QUERY, "CMSG_PETITION_QUERY", STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandlePetitionQueryOpcode);
/*[-ZERO] Need check */ /*0x1C7*/ StoreOpcode(SMSG_PETITION_QUERY_RESPONSE, "SMSG_PETITION_QUERY_RESPONSE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1C8*/ StoreOpcode(SMSG_FISH_NOT_HOOKED, "SMSG_FISH_NOT_HOOKED", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1C9*/ StoreOpcode(SMSG_FISH_ESCAPED, "SMSG_FISH_ESCAPED", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1C7*/ StoreOpcode(SMSG_PETITION_QUERY_RESPONSE, "SMSG_PETITION_QUERY_RESPONSE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1C8*/ StoreOpcode(SMSG_FISH_NOT_HOOKED, "SMSG_FISH_NOT_HOOKED", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1C9*/ StoreOpcode(SMSG_FISH_ESCAPED, "SMSG_FISH_ESCAPED", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1CA*/ StoreOpcode(CMSG_BUG, "CMSG_BUG", STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleBugOpcode);
/*0x1CB*/ StoreOpcode(SMSG_NOTIFICATION, "SMSG_NOTIFICATION", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1CC*/ StoreOpcode(CMSG_PLAYED_TIME, "CMSG_PLAYED_TIME", STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandlePlayedTime);
/*0x1CD*/ StoreOpcode(SMSG_PLAYED_TIME, "SMSG_PLAYED_TIME", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1CE*/ StoreOpcode(CMSG_QUERY_TIME, "CMSG_QUERY_TIME", STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleQueryTimeOpcode);
/*[-ZERO] Need check */ /*0x1CF*/ StoreOpcode(SMSG_QUERY_TIME_RESPONSE, "SMSG_QUERY_TIME_RESPONSE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1D0*/ StoreOpcode(SMSG_LOG_XPGAIN, "SMSG_LOG_XPGAIN", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1CF*/ StoreOpcode(SMSG_QUERY_TIME_RESPONSE, "SMSG_QUERY_TIME_RESPONSE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1D0*/ StoreOpcode(SMSG_LOG_XPGAIN, "SMSG_LOG_XPGAIN", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1D1*/ StoreOpcode(SMSG_AURACASTLOG, "SMSG_AURACASTLOG", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1D2*/ StoreOpcode(CMSG_RECLAIM_CORPSE, "CMSG_RECLAIM_CORPSE", STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleReclaimCorpseOpcode);
/*[-ZERO] Need check */ /*0x1D3*/ StoreOpcode(CMSG_WRAP_ITEM, "CMSG_WRAP_ITEM", STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleWrapItemOpcode);
/*[-ZERO] Need check */ /*0x1D4*/ StoreOpcode(SMSG_LEVELUP_INFO, "SMSG_LEVELUP_INFO", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1D5*/ StoreOpcode(MSG_MINIMAP_PING, "MSG_MINIMAP_PING", STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMinimapPingOpcode);
/*[-ZERO] Need check */ /*0x1D6*/ StoreOpcode(SMSG_RESISTLOG, "SMSG_RESISTLOG", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1D7*/ StoreOpcode(SMSG_ENCHANTMENTLOG, "SMSG_ENCHANTMENTLOG", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1D4*/ StoreOpcode(SMSG_LEVELUP_INFO, "SMSG_LEVELUP_INFO", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1D5*/ StoreOpcode(MSG_MINIMAP_PING, "MSG_MINIMAP_PING", STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMinimapPingOpcode);
/*0x1D6*/ StoreOpcode(SMSG_RESISTLOG, "SMSG_RESISTLOG", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1D7*/ StoreOpcode(SMSG_ENCHANTMENTLOG, "SMSG_ENCHANTMENTLOG", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1D8*/ StoreOpcode(CMSG_SET_SKILL_CHEAT, "CMSG_SET_SKILL_CHEAT", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
/*[-ZERO] Need check */ /*0x1D9*/ StoreOpcode(SMSG_START_MIRROR_TIMER, "SMSG_START_MIRROR_TIMER", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1DA*/ StoreOpcode(SMSG_PAUSE_MIRROR_TIMER, "SMSG_PAUSE_MIRROR_TIMER", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1DB*/ StoreOpcode(SMSG_STOP_MIRROR_TIMER, "SMSG_STOP_MIRROR_TIMER", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1D9*/ StoreOpcode(SMSG_START_MIRROR_TIMER, "SMSG_START_MIRROR_TIMER", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1DA*/ StoreOpcode(SMSG_PAUSE_MIRROR_TIMER, "SMSG_PAUSE_MIRROR_TIMER", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1DB*/ StoreOpcode(SMSG_STOP_MIRROR_TIMER, "SMSG_STOP_MIRROR_TIMER", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1DC*/ StoreOpcode(CMSG_PING, "CMSG_PING", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_EarlyProccess);
/*[-ZERO] Need check */ /*0x1DD*/ StoreOpcode(SMSG_PONG, "SMSG_PONG", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1DE*/ StoreOpcode(SMSG_CLEAR_COOLDOWN, "SMSG_CLEAR_COOLDOWN", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1DF*/ StoreOpcode(SMSG_GAMEOBJECT_PAGETEXT, "SMSG_GAMEOBJECT_PAGETEXT", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[ZERO] To check */ /*0x1DD*/ StoreOpcode(SMSG_PONG, "SMSG_PONG", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1DE*/ StoreOpcode(SMSG_CLEAR_COOLDOWN, "SMSG_CLEAR_COOLDOWN", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1DF*/ StoreOpcode(SMSG_GAMEOBJECT_PAGETEXT, "SMSG_GAMEOBJECT_PAGETEXT", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1E0*/ StoreOpcode(CMSG_SETSHEATHED, "CMSG_SETSHEATHED", STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSetSheathedOpcode);
/*0x1E1*/ StoreOpcode(SMSG_COOLDOWN_CHEAT, "SMSG_COOLDOWN_CHEAT", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1E2*/ StoreOpcode(SMSG_SPELL_DELAYED, "SMSG_SPELL_DELAYED", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1E3*/ StoreOpcode(CMSG_PLAYER_MACRO_OBSOLETE, "CMSG_PLAYER_MACRO_OBSOLETE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
/*0x1E4*/ StoreOpcode(SMSG_PLAYER_MACRO_OBSOLETE, "SMSG_PLAYER_MACRO_OBSOLETE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1E4*/ StoreOpcode(SMSG_PLAYER_MACRO_OBSOLETE, "SMSG_PLAYER_MACRO_OBSOLETE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1E5*/ StoreOpcode(CMSG_GHOST, "CMSG_GHOST", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
/*0x1E6*/ StoreOpcode(CMSG_GM_INVIS, "CMSG_GM_INVIS", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
/*[-ZERO] Need check */ /*0x1E7*/ StoreOpcode(SMSG_INVALID_PROMOTION_CODE, "SMSG_INVALID_PROMOTION_CODE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1E8*/ StoreOpcode(MSG_GM_BIND_OTHER, "MSG_GM_BIND_OTHER", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
/*0x1E9*/ StoreOpcode(MSG_GM_SUMMON, "MSG_GM_SUMMON", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
/*[-ZERO] Need check */ /*0x1EA*/ StoreOpcode(SMSG_ITEM_TIME_UPDATE, "SMSG_ITEM_TIME_UPDATE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1EB*/ StoreOpcode(SMSG_ITEM_ENCHANT_TIME_UPDATE, "SMSG_ITEM_ENCHANT_TIME_UPDATE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1E8*/ StoreOpcode(MSG_GM_BIND_OTHER, "MSG_GM_BIND_OTHER", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
/*[-ZERO] Need check */ /*0x1E9*/ StoreOpcode(MSG_GM_SUMMON, "MSG_GM_SUMMON", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
/*0x1EA*/ StoreOpcode(SMSG_ITEM_TIME_UPDATE, "SMSG_ITEM_TIME_UPDATE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1EB*/ StoreOpcode(SMSG_ITEM_ENCHANT_TIME_UPDATE, "SMSG_ITEM_ENCHANT_TIME_UPDATE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1EC*/ StoreOpcode(SMSG_AUTH_CHALLENGE, "SMSG_AUTH_CHALLENGE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1ED*/ StoreOpcode(CMSG_AUTH_SESSION, "CMSG_AUTH_SESSION", STATUS_NEVER, PROCESS_THREADSAFE, &WorldSession::Handle_EarlyProccess);
/*0x1EE*/ StoreOpcode(SMSG_AUTH_RESPONSE, "SMSG_AUTH_RESPONSE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1EF*/ StoreOpcode(MSG_GM_SHOWLABEL, "MSG_GM_SHOWLABEL", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
StoreOpcode(SMSG_AUTH_RESPONSE, "SMSG_AUTH_RESPONSE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1EF*/ StoreOpcode(MSG_GM_SHOWLABEL, "MSG_GM_SHOWLABEL", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
/*[-ZERO] Need check */ /*0x1F0*/ StoreOpcode(CMSG_PET_CAST_SPELL, "CMSG_PET_CAST_SPELL", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePetCastSpellOpcode);
/*[-ZERO] Need check */ /*0x1F1*/ StoreOpcode(MSG_SAVE_GUILD_EMBLEM, "MSG_SAVE_GUILD_EMBLEM", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSaveGuildEmblemOpcode);
/*[-ZERO] Need check */ /*0x1F2*/ StoreOpcode(MSG_TABARDVENDOR_ACTIVATE, "MSG_TABARDVENDOR_ACTIVATE", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleTabardVendorActivateOpcode);
/*0x1F1*/ StoreOpcode(MSG_SAVE_GUILD_EMBLEM, "MSG_SAVE_GUILD_EMBLEM", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSaveGuildEmblemOpcode);
/*0x1F2*/ StoreOpcode(MSG_TABARDVENDOR_ACTIVATE, "MSG_TABARDVENDOR_ACTIVATE", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleTabardVendorActivateOpcode);
/*0x1F3*/ StoreOpcode(SMSG_PLAY_SPELL_VISUAL, "SMSG_PLAY_SPELL_VISUAL", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1F4*/ StoreOpcode(CMSG_ZONEUPDATE, "CMSG_ZONEUPDATE", STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleZoneUpdateOpcode);
/*0x1F5*/ StoreOpcode(SMSG_PARTYKILLLOG, "SMSG_PARTYKILLLOG", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1F6*/ StoreOpcode(SMSG_COMPRESSED_UPDATE_OBJECT, "SMSG_COMPRESSED_UPDATE_OBJECT", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1F7*/ StoreOpcode(SMSG_PLAY_SPELL_IMPACT, "SMSG_PLAY_SPELL_IMPACT", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1F8*/ StoreOpcode(SMSG_EXPLORATION_EXPERIENCE, "SMSG_EXPLORATION_EXPERIENCE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1F8*/ StoreOpcode(SMSG_EXPLORATION_EXPERIENCE, "SMSG_EXPLORATION_EXPERIENCE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1F9*/ StoreOpcode(CMSG_GM_SET_SECURITY_GROUP, "CMSG_GM_SET_SECURITY_GROUP", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
/*0x1FA*/ StoreOpcode(CMSG_GM_NUKE, "CMSG_GM_NUKE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
/*0x1FB*/ StoreOpcode(MSG_RANDOM_ROLL, "MSG_RANDOM_ROLL", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleRandomRollOpcode);
/*[-ZERO] Need check */ /*0x1FC*/ StoreOpcode(SMSG_ENVIRONMENTALDAMAGELOG, "SMSG_ENVIRONMENTALDAMAGELOG", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x1FD*/ StoreOpcode(CMSG_RWHOIS_OBSOLETE, "CMSG_RWHOIS_OBSOLETE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
/*0x1FC*/ StoreOpcode(SMSG_ENVIRONMENTALDAMAGELOG, "SMSG_ENVIRONMENTALDAMAGELOG", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x1FD*/ StoreOpcode(CMSG_RWHOIS_OBSOLETE, "CMSG_RWHOIS_OBSOLETE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
/*0x1FE*/ StoreOpcode(SMSG_RWHOIS, "SMSG_RWHOIS", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x201*/ StoreOpcode(CMSG_UNLEARN_SPELL, "CMSG_UNLEARN_SPELL", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
/*[-ZERO] Need check */ /*0x202*/ StoreOpcode(CMSG_UNLEARN_SKILL, "CMSG_UNLEARN_SKILL", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleUnlearnSkillOpcode);
/*[-ZERO] Need check */ /*0x203*/ StoreOpcode(SMSG_REMOVED_SPELL, "SMSG_REMOVED_SPELL", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x203*/ StoreOpcode(SMSG_REMOVED_SPELL, "SMSG_REMOVED_SPELL", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x204*/ StoreOpcode(CMSG_DECHARGE, "CMSG_DECHARGE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
/*[-ZERO] Need check */ /*0x205*/ StoreOpcode(CMSG_GMTICKET_CREATE, "CMSG_GMTICKET_CREATE", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGMTicketCreateOpcode);
/*[-ZERO] Need check */ /*0x206*/ StoreOpcode(SMSG_GMTICKET_CREATE, "SMSG_GMTICKET_CREATE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x206*/ StoreOpcode(SMSG_GMTICKET_CREATE, "SMSG_GMTICKET_CREATE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x207*/ StoreOpcode(CMSG_GMTICKET_UPDATETEXT, "CMSG_GMTICKET_UPDATETEXT", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGMTicketUpdateTextOpcode);
/*[-ZERO] Need check */ /*0x208*/ StoreOpcode(SMSG_GMTICKET_UPDATETEXT, "SMSG_GMTICKET_UPDATETEXT", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x208*/ StoreOpcode(SMSG_GMTICKET_UPDATETEXT, "SMSG_GMTICKET_UPDATETEXT", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x209*/ StoreOpcode(SMSG_ACCOUNT_DATA_TIMES, "SMSG_ACCOUNT_DATA_TIMES", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x20A*/ StoreOpcode(CMSG_REQUEST_ACCOUNT_DATA, "CMSG_REQUEST_ACCOUNT_DATA", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleRequestAccountData);
/*[-ZERO] Need check */ /*0x20B*/ StoreOpcode(CMSG_UPDATE_ACCOUNT_DATA, "CMSG_UPDATE_ACCOUNT_DATA", STATUS_LOGGEDIN_OR_RECENTLY_LOGGEDOUT, PROCESS_THREADUNSAFE, &WorldSession::HandleUpdateAccountData);
/*[-ZERO] Need check */ /*0x20C*/ StoreOpcode(SMSG_UPDATE_ACCOUNT_DATA, "SMSG_UPDATE_ACCOUNT_DATA", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x20D*/ StoreOpcode(SMSG_CLEAR_FAR_SIGHT_IMMEDIATE, "SMSG_CLEAR_FAR_SIGHT_IMMEDIATE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x20C*/ StoreOpcode(SMSG_UPDATE_ACCOUNT_DATA, "SMSG_UPDATE_ACCOUNT_DATA", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x20D*/ StoreOpcode(SMSG_CLEAR_FAR_SIGHT_IMMEDIATE, "SMSG_CLEAR_FAR_SIGHT_IMMEDIATE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x20E*/ StoreOpcode(SMSG_POWERGAINLOG_OBSOLETE, "SMSG_POWERGAINLOG_OBSOLETE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x20F*/ StoreOpcode(CMSG_GM_TEACH, "CMSG_GM_TEACH", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
/*0x210*/ StoreOpcode(CMSG_GM_CREATE_ITEM_TARGET, "CMSG_GM_CREATE_ITEM_TARGET", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
/*[-ZERO] Need check */ /*0x211*/ StoreOpcode(CMSG_GMTICKET_GETTICKET, "CMSG_GMTICKET_GETTICKET", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGMTicketGetTicketOpcode);
/*[-ZERO] Need check */ /*0x212*/ StoreOpcode(SMSG_GMTICKET_GETTICKET, "SMSG_GMTICKET_GETTICKET", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x211*/ StoreOpcode(CMSG_GMTICKET_GETTICKET, "CMSG_GMTICKET_GETTICKET", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGMTicketGetTicketOpcode);
/*0x212*/ StoreOpcode(SMSG_GMTICKET_GETTICKET, "SMSG_GMTICKET_GETTICKET", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x213*/ StoreOpcode(CMSG_UNLEARN_TALENTS, "CMSG_UNLEARN_TALENTS", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
/*[-ZERO] Need check */ /*0x214*/ StoreOpcode(SMSG_GAMEOBJECT_SPAWN_ANIM_OBSOLETE, "SMSG_GAMEOBJECT_SPAWN_ANIM_OBSOLETE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x215*/ StoreOpcode(SMSG_GAMEOBJECT_DESPAWN_ANIM, "SMSG_GAMEOBJECT_DESPAWN_ANIM", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x215*/ StoreOpcode(SMSG_GAMEOBJECT_DESPAWN_ANIM, "SMSG_GAMEOBJECT_DESPAWN_ANIM", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x216*/ StoreOpcode(MSG_CORPSE_QUERY, "MSG_CORPSE_QUERY", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleCorpseQueryOpcode);
/*[-ZERO] Need check */ /*0x217*/ StoreOpcode(CMSG_GMTICKET_DELETETICKET, "CMSG_GMTICKET_DELETETICKET", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGMTicketDeleteTicketOpcode);
/*[-ZERO] Need check */ /*0x218*/ StoreOpcode(SMSG_GMTICKET_DELETETICKET, "SMSG_GMTICKET_DELETETICKET", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x219*/ StoreOpcode(SMSG_CHAT_WRONG_FACTION, "SMSG_CHAT_WRONG_FACTION", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x218*/ StoreOpcode(SMSG_GMTICKET_DELETETICKET, "SMSG_GMTICKET_DELETETICKET", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x219*/ StoreOpcode(SMSG_CHAT_WRONG_FACTION, "SMSG_CHAT_WRONG_FACTION", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x21A*/ StoreOpcode(CMSG_GMTICKET_SYSTEMSTATUS, "CMSG_GMTICKET_SYSTEMSTATUS", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGMTicketSystemStatusOpcode);
/*[-ZERO] Need check */ /*0x21B*/ StoreOpcode(SMSG_GMTICKET_SYSTEMSTATUS, "SMSG_GMTICKET_SYSTEMSTATUS", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x21B*/ StoreOpcode(SMSG_GMTICKET_SYSTEMSTATUS, "SMSG_GMTICKET_SYSTEMSTATUS", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x21C*/ StoreOpcode(CMSG_SPIRIT_HEALER_ACTIVATE, "CMSG_SPIRIT_HEALER_ACTIVATE", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSpiritHealerActivateOpcode);
/*0x21D*/ StoreOpcode(CMSG_SET_STAT_CHEAT, "CMSG_SET_STAT_CHEAT", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
/*[-ZERO] Need check */ /*0x21E*/ StoreOpcode(SMSG_SET_REST_START, "SMSG_SET_REST_START", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x21E*/ StoreOpcode(SMSG_SET_REST_START, "SMSG_SET_REST_START", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x21F*/ StoreOpcode(CMSG_SKILL_BUY_STEP, "CMSG_SKILL_BUY_STEP", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
/*0x220*/ StoreOpcode(CMSG_SKILL_BUY_RANK, "CMSG_SKILL_BUY_RANK", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
/*0x221*/ StoreOpcode(CMSG_XP_CHEAT, "CMSG_XP_CHEAT", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
/*[-ZERO] Need check */ /*0x222*/ StoreOpcode(SMSG_SPIRIT_HEALER_CONFIRM, "SMSG_SPIRIT_HEALER_CONFIRM", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x222*/ StoreOpcode(SMSG_SPIRIT_HEALER_CONFIRM, "SMSG_SPIRIT_HEALER_CONFIRM", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x223*/ StoreOpcode(CMSG_CHARACTER_POINT_CHEAT, "CMSG_CHARACTER_POINT_CHEAT", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
/*[-ZERO] Need check */ /*0x224*/ StoreOpcode(SMSG_GOSSIP_POI, "SMSG_GOSSIP_POI", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x224*/ StoreOpcode(SMSG_GOSSIP_POI, "SMSG_GOSSIP_POI", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x225*/ StoreOpcode(CMSG_CHAT_IGNORED, "CMSG_CHAT_IGNORED", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleChatIgnoredOpcode);
/*0x226*/ StoreOpcode(CMSG_GM_VISION, "CMSG_GM_VISION", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
/*0x227*/ StoreOpcode(CMSG_SERVER_COMMAND, "CMSG_SERVER_COMMAND", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
@ -618,16 +618,16 @@ void Opcodes::BuildOpcodeList()
/*0x22D*/ StoreOpcode(CMSG_GM_FREEZE, "CMSG_GM_FREEZE", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
/*0x22E*/ StoreOpcode(CMSG_GM_UBERINVIS, "CMSG_GM_UBERINVIS", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
/*0x22F*/ StoreOpcode(CMSG_GM_REQUEST_PLAYER_INFO, "CMSG_GM_REQUEST_PLAYER_INFO", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
/*0x230*/ StoreOpcode(SMSG_GM_PLAYER_INFO, "SMSG_GM_PLAYER_INFO", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
/*[-ZERO] Need check */ /*0x230*/ StoreOpcode(SMSG_GM_PLAYER_INFO, "SMSG_GM_PLAYER_INFO", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
/*[-ZERO] Need check */ /*0x231*/ StoreOpcode(CMSG_GUILD_RANK, "CMSG_GUILD_RANK", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildRankOpcode);
/*[-ZERO] Need check */ /*0x232*/ StoreOpcode(CMSG_GUILD_ADD_RANK, "CMSG_GUILD_ADD_RANK", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildAddRankOpcode);
/*[-ZERO] Need check */ /*0x233*/ StoreOpcode(CMSG_GUILD_DEL_RANK, "CMSG_GUILD_DEL_RANK", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildDelRankOpcode);
/*[-ZERO] Need check */ /*0x234*/ StoreOpcode(CMSG_GUILD_SET_PUBLIC_NOTE, "CMSG_GUILD_SET_PUBLIC_NOTE", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildSetPublicNoteOpcode);
/*[-ZERO] Need check */ /*0x235*/ StoreOpcode(CMSG_GUILD_SET_OFFICER_NOTE, "CMSG_GUILD_SET_OFFICER_NOTE", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGuildSetOfficerNoteOpcode);
/*[-ZERO] Need check */ /*0x236*/ StoreOpcode(SMSG_LOGIN_VERIFY_WORLD, "SMSG_LOGIN_VERIFY_WORLD", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x236*/ StoreOpcode(SMSG_LOGIN_VERIFY_WORLD, "SMSG_LOGIN_VERIFY_WORLD", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x237*/ StoreOpcode(CMSG_CLEAR_EXPLORATION, "CMSG_CLEAR_EXPLORATION", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL);
/*[-ZERO] Need check */ /*0x238*/ StoreOpcode(CMSG_SEND_MAIL, "CMSG_SEND_MAIL", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSendMail);
/*[-ZERO] Need check */ /*0x239*/ StoreOpcode(SMSG_SEND_MAIL_RESULT, "SMSG_SEND_MAIL_RESULT", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x239*/ StoreOpcode(SMSG_SEND_MAIL_RESULT, "SMSG_SEND_MAIL_RESULT", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*0x23A*/ StoreOpcode(CMSG_GET_MAIL_LIST, "CMSG_GET_MAIL_LIST", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGetMailList);
/*0x23B*/ StoreOpcode(SMSG_MAIL_LIST_RESULT, "SMSG_MAIL_LIST_RESULT", STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide);
/*[-ZERO] Need check */ /*0x23C*/ StoreOpcode(CMSG_BATTLEFIELD_LIST, "CMSG_BATTLEFIELD_LIST", STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleBattlefieldListOpcode);

View File

@ -521,7 +521,7 @@ enum OpcodesList
CMSG_WRAP_ITEM = 0x1D3,
SMSG_LEVELUP_INFO = 0x1D4,
MSG_MINIMAP_PING = 0x1D5,
SMSG_RESISTLOG = 0x1D6,
SMSG_RESISTLOG = 0x1D6,// GUID, GUID, int32, float, float, int32, int32
SMSG_ENCHANTMENTLOG = 0x1D7,
CMSG_SET_SKILL_CHEAT = 0x1D8,
SMSG_START_MIRROR_TIMER = 0x1D9,

View File

@ -2454,6 +2454,7 @@ enum MailResponseResult
MAIL_ERR_INTERNAL_ERROR = 6,
MAIL_ERR_DISABLED_FOR_TRIAL_ACC = 14,
MAIL_ERR_RECIPIENT_CAP_REACHED = 15,
//in SMSG_SEND_MAIL_RESULT, 7-13 and 16+: "Mail database error"
MAIL_ERR_CANT_SEND_WRAPPED_COD = 16,
MAIL_ERR_MAIL_AND_CHAT_SUSPENDED = 17,
MAIL_ERR_TOO_MANY_ATTACHMENTS = 18,

View File

@ -698,10 +698,10 @@ void WorldSession::SendAuthWaitQue(uint32 position)
}
else
{
WorldPacket packet(SMSG_AUTH_RESPONSE, 6);
WorldPacket packet(SMSG_AUTH_RESPONSE, 1 + 4);
packet << uint8(AUTH_WAIT_QUEUE);
packet << uint32(position);
packet << uint8(0); // unk
//packet << uint8(0); // [-ZERO] unk
SendPacket(&packet);
}
}

View File

@ -733,8 +733,8 @@ void WorldSession::HandleSaveGuildEmblemOpcode(WorldPacket& recvPacket)
Creature* pCreature = GetPlayer()->GetNPCIfCanInteractWith(vendorGuid, UNIT_NPC_FLAG_TABARDDESIGNER);
if (!pCreature)
{
//"That's not an emblem vendor!"
SendSaveGuildEmblem(ERR_GUILDEMBLEM_INVALIDVENDOR);
//[-ZERO] fails silently, not "That's not an emblem vendor!"
SendSaveGuildEmblem(ERR_GUILDEMBLEM_FAIL_NO_MESSAGE);
DEBUG_LOG("WORLD: HandleSaveGuildEmblemOpcode - %s not found or you can't interact with him.", vendorGuid.GetString().c_str());
return;
}

View File

@ -1046,8 +1046,14 @@ void WorldSession::HandleBuyBankSlotOpcode(WorldPacket& recvPacket)
ObjectGuid guid;
recvPacket >> guid;
WorldPacket data(SMSG_BUY_BANK_SLOT_RESULT, 4);
if (!CheckBanker(guid))
{ return; }
{
data << uint32(ERR_BANKSLOT_NOTBANKER);
SendPacket(&data);
return;
}
uint32 slot = _player->GetBankBagSlotCount();
@ -1058,8 +1064,6 @@ void WorldSession::HandleBuyBankSlotOpcode(WorldPacket& recvPacket)
BankBagSlotPricesEntry const* slotEntry = sBankBagSlotPricesStore.LookupEntry(slot);
WorldPacket data(SMSG_BUY_BANK_SLOT_RESULT, 4);
if (!slotEntry)
{
data << uint32(ERR_BANKSLOT_FAILED_TOO_MANY);
@ -1078,9 +1082,6 @@ void WorldSession::HandleBuyBankSlotOpcode(WorldPacket& recvPacket)
_player->SetBankBagSlotCount(slot);
_player->ModifyMoney(-int32(price));
data << uint32(ERR_BANKSLOT_OK);
SendPacket(&data);
}
void WorldSession::HandleAutoBankItemOpcode(WorldPacket& recvPacket)

View File

@ -591,20 +591,23 @@ void WorldSession::HandleGetMailList(WorldPacket& recv_data)
// 1.12.1 can have only single item
Item* item = (*itr)->items.size() > 0 ? _player->GetMItem((*itr)->items[0].item_guid) : NULL;
data << uint32(item ? item->GetEntry() : 0); // entry
// permanent enchantment
data << uint32(item ? item->GetEnchantmentId((EnchantmentSlot)PERM_ENCHANTMENT_SLOT) : 0);
// can be negative
data << uint32(item ? item->GetItemRandomPropertyId() : 0);
// unk
data << uint32(item ? item->GetItemSuffixFactor() : 0);
// stack count
data << (uint8)(item ? item->GetCount() : 0);
data << uint32(item ? item->GetSpellCharges() : 0); // charges
// durability
data << uint32(item ? item->GetUInt32Value(ITEM_FIELD_MAXDURABILITY) : 0);
// durability
data << uint32(item ? item->GetUInt32Value(ITEM_FIELD_DURABILITY) : 0);
if (item)
{
data << uint32(item->GetEntry());
data << uint32(item->GetEnchantmentId((EnchantmentSlot)PERM_ENCHANTMENT_SLOT)); // permanent enchantment
data << uint32(item->GetItemRandomPropertyId()); // can be negative
data << uint32(item->GetItemSuffixFactor()); // unk
data << uint8(item->GetCount()); // stack count
data << uint32(item->GetSpellCharges()); // charges
data << uint32(item->GetUInt32Value(ITEM_FIELD_MAXDURABILITY)); // durability max
data << uint32(item->GetUInt32Value(ITEM_FIELD_DURABILITY)); // durability current
}
else
{
data << uint32(0) << uint32(0) << uint32(0) << uint32(0) << uint8(0) << uint32(0) << uint32(0) << uint32(0);
}
data << uint32((*itr)->money); // copper
data << uint32((*itr)->COD); // Cash on delivery
data << uint32((*itr)->checked); // flags

View File

@ -552,11 +552,6 @@ void WorldSession::SendBindPoint(Creature* npc)
// send spell for bind 3286 bind magic
npc->CastSpell(_player, 3286, true); // Bind
WorldPacket data(SMSG_TRAINER_BUY_SUCCEEDED, (8 + 4));
data << npc->GetObjectGuid();
data << uint32(3286); // Bind
SendPacket(&data);
_player->PlayerTalkClass->CloseGossip();
}

View File

@ -259,7 +259,7 @@ void WorldSession::SendPetitionQueryOpcode(ObjectGuid petitionguid)
data << uint32(petitionLowGuid); // guild/team guid (in mangos always same as GUID_LOPART(petition guid)
data << ObjectGuid(ownerGuid); // charter owner guid
data << name; // name (guild/arena team)
data << uint8(0); // 1
data << uint8(0); // CString
data << uint32(1);
data << uint32(9);
data << uint32(9); // bypass client - side limitation, a different value is needed here for each petition
@ -267,11 +267,13 @@ void WorldSession::SendPetitionQueryOpcode(ObjectGuid petitionguid)
data << uint32(0); // 6
data << uint32(0); // 7
data << uint32(0); // 8
data << uint16(0); // 9 2 bytes field
data << uint32(0); // 10
data << uint32(0); // 9
data << uint16(0); // 10 2 bytes field
data << uint32(0); // 11
data << uint32(0); // 13 count of next strings?
data << uint32(0); // 14
data << uint32(0); // 12
data << uint32(0); // 13 count of next strings; if 0, no data for strings, only 1 uint32 below
// for (int i=0; i<field13; ++i) data << chartSignersName[i]; Probably, names of the petition signers
data << uint32(0);
SendPacket(&data);
}
@ -345,7 +347,7 @@ void WorldSession::HandlePetitionSignOpcode(WorldPacket& recv_data)
delete result;
if (ownerGuid == _player->GetObjectGuid())
if (ownerGuid == _player->GetObjectGuid()) // TODO here send SMSG_PETITION_SIGN_RESULTS with PETITION_SIGN_CANT_SIGN_OWN
{ return; }
// not let enemies sign guild charter
@ -356,7 +358,7 @@ void WorldSession::HandlePetitionSignOpcode(WorldPacket& recv_data)
return;
}
if (_player->GetGuildId())
if (_player->GetGuildId()) // TODO here, and maybe below, send SMSG_PETITION_SIGN_RESULTS with PETITION_SIGN_ALREADY_IN_GUILD
{
SendGuildCommandResult(GUILD_INVITE_S, _player->GetName(), ERR_ALREADY_IN_GUILD_S);
return;
@ -485,7 +487,7 @@ void WorldSession::HandleOfferPetitionOpcode(WorldPacket& recv_data)
{ signs = (uint8)result->GetRowCount(); }
/// Send response
WorldPacket data(SMSG_PETITION_SHOW_SIGNATURES, (8 + 8 + 4 + signs + signs * 12));
WorldPacket data(SMSG_PETITION_SHOW_SIGNATURES, (8 + 8 + 4 + 1 + signs * 12));
data << ObjectGuid(petitionGuid); // petition guid
data << ObjectGuid(_player->GetObjectGuid()); // owner guid
data << uint32(petitionGuid.GetCounter()); // guild guid (in mangos always same as low part of petition guid)
@ -539,7 +541,7 @@ void WorldSession::HandleTurnInPetitionOpcode(WorldPacket& recv_data)
if (_player->GetGuildId())
{
WorldPacket data(SMSG_TURN_IN_PETITION_RESULTS, 4);
data << uint32(PETITION_TURN_ALREADY_IN_GUILD); // already in guild
data << uint32(PETITION_SIGN_ALREADY_IN_GUILD); // already in guild
_player->GetSession()->SendPacket(&data);
return;
}
@ -555,7 +557,7 @@ void WorldSession::HandleTurnInPetitionOpcode(WorldPacket& recv_data)
if (signs < count)
{
WorldPacket data(SMSG_TURN_IN_PETITION_RESULTS, 4);
data << uint32(PETITION_TURN_NEED_MORE_SIGNATURES); // need more signatures...
data << uint32(PETITION_SIGN_NEED_MORE); // need more signatures...
SendPacket(&data);
delete result;
return;
@ -616,7 +618,7 @@ void WorldSession::HandleTurnInPetitionOpcode(WorldPacket& recv_data)
DEBUG_LOG("TURN IN PETITION %s", petitionGuid.GetString().c_str());
WorldPacket data(SMSG_TURN_IN_PETITION_RESULTS, 4);
data << uint32(PETITION_TURN_OK);
data << uint32(PETITION_SIGN_OK);
SendPacket(&data);
}
@ -648,21 +650,20 @@ void WorldSession::SendPetitionShowList(ObjectGuid guid)
WorldPacket data(SMSG_PETITION_SHOWLIST, 8 + 1 + 4 * 6);
data << ObjectGuid(guid); // npc guid
data << count; // count
data << count; // count; allowed values 1-10
data << uint32(1); // index
data << uint32(GUILD_CHARTER); // charter entry
data << uint32(CHARTER_DISPLAY_ID); // charter display id
data << uint32(GUILD_CHARTER_COST); // charter cost
data << uint32(1); // unknown
data << uint32(9); // required signs?
//data << uint32(9); // [-ZERO] required signs?
// for(uint8 i = 0; i < count; ++i)
//{
// data << uint32(i); // index
// data << uint32(GUILD_CHARTER); // charter entry
// data << uint32(CHARTER_DISPLAY_ID); // charter display id
// data << uint32(GUILD_CHARTER_COST+i); // charter cost
// data << uint32(0); // unknown
// data << uint32(9); // required signs?
// data << uint32(1); // unknown
//}
SendPacket(&data);
DEBUG_LOG("Sent SMSG_PETITION_SHOWLIST");