[0093] Enabled and updated lots of opcodes, mostly spell-related. All structures checked .

Signed-off-by: Yaki Khadafi <ElSolDolLo@gmail.com>
This commit is contained in:
Yaki Khadafi 2012-08-15 12:06:00 +03:00 committed by Antz
parent 2833e3f2db
commit e0a8e30cc3
11 changed files with 168 additions and 135 deletions

View file

@ -237,9 +237,9 @@ void WorldSession::SendTrainerList(ObjectGuid guid, const std::string& strTitle)
void WorldSession::HandleTrainerBuySpellOpcode(WorldPacket& recv_data)
{
ObjectGuid guid;
uint32 spellId = 0;
uint32 spellId = 0, trainerId = 0;
recv_data >> guid >> spellId;
recv_data >> guid >> trainerId >> spellId;
DEBUG_LOG("WORLD: Received CMSG_TRAINER_BUY_SPELL Trainer: %s, learn spell id is: %u", guid.GetString().c_str(), spellId);
Creature* unit = GetPlayer()->GetNPCIfCanInteractWith(guid, UNIT_NPC_FLAG_TRAINER);

View file

@ -367,8 +367,8 @@ void InitializeOpcodes()
//OPCODE(SMSG_SET_FACTION_STANDING, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_SET_FACTION_ATWAR, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetFactionAtWarOpcode );
//OPCODE(CMSG_SET_FACTION_CHEAT, STATUS_NEVER, PROCESS_THREADUNSAFE, &WorldSession::Handle_Deprecated );
//OPCODE(SMSG_SET_PROFICIENCY, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_SET_ACTION_BUTTON, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetActionButtonOpcode );
OPCODE(SMSG_SET_PROFICIENCY, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(CMSG_SET_ACTION_BUTTON, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetActionButtonOpcode );
OPCODE(SMSG_ACTION_BUTTONS, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_INITIAL_SPELLS, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_LEARNED_SPELL, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
@ -379,37 +379,37 @@ void InitializeOpcodes()
OPCODE(SMSG_CAST_FAILED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_SPELL_START, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_SPELL_GO, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_SPELL_FAILURE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_SPELL_COOLDOWN, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_COOLDOWN_EVENT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_SPELL_FAILURE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_SPELL_COOLDOWN, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_COOLDOWN_EVENT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(CMSG_CANCEL_AURA, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleCancelAuraOpcode );
//OPCODE(SMSG_EQUIPMENT_SET_ID, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_PET_CAST_FAILED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(MSG_CHANNEL_START, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(MSG_CHANNEL_UPDATE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(CMSG_CANCEL_CHANNELLING, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleCancelChanneling );
//OPCODE(SMSG_AI_REACTION, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_PET_CAST_FAILED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_CHANNEL_START, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
OPCODE(SMSG_CHANNEL_UPDATE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
OPCODE(CMSG_CANCEL_CHANNELLING, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleCancelChanneling );
OPCODE(SMSG_AI_REACTION, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(CMSG_SET_SELECTION, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSetSelectionOpcode );
//OPCODE(CMSG_DELETEEQUIPMENT_SET, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleEquipmentSetDeleteOpcode );
//OPCODE(CMSG_INSTANCE_LOCK_RESPONSE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(CMSG_DEBUG_PASSIVE_AURA, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(CMSG_ATTACKSWING, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleAttackSwingOpcode );
//OPCODE(CMSG_ATTACKSTOP, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleAttackStopOpcode );
//OPCODE(SMSG_ATTACKSTART, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_ATTACKSTOP, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_ATTACKSWING_NOTINRANGE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_ATTACKSWING_BADFACING, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(CMSG_ATTACKSWING, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleAttackSwingOpcode );
OPCODE(CMSG_ATTACKSTOP, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleAttackStopOpcode );
OPCODE(SMSG_ATTACKSTART, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_ATTACKSTOP, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_ATTACKSWING_NOTINRANGE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_ATTACKSWING_BADFACING, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_PENDING_RAID_LOCK, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_ATTACKSWING_DEADTARGET, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_ATTACKSWING_CANT_ATTACK, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_ATTACKERSTATEUPDATE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_ATTACKSWING_DEADTARGET, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_ATTACKSWING_CANT_ATTACK, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_ATTACKERSTATEUPDATE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_BATTLEFIELD_PORT_DENIED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_PERFORM_ACTION_SET, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_RESUME_CAST_BAR, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_CANCEL_COMBAT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_SPELLBREAKLOG, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_SPELLHEALLOG, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_SPELLENERGIZELOG, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_CANCEL_COMBAT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_SPELLBREAKLOG, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_SPELLHEALLOG, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_SPELLENERGIZELOG, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_BREAK_TARGET, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_SAVE_PLAYER, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(CMSG_SETDEATHBINDPOINT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
@ -449,7 +449,7 @@ void InitializeOpcodes()
//OPCODE(CMSG_PET_ABANDON, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePetAbandon );
//OPCODE(CMSG_PET_RENAME, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePetRename );
//OPCODE(SMSG_PET_NAME_INVALID, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_PET_SPELLS, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_PET_SPELLS, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_PET_MODE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_GOSSIP_HELLO, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGossipHelloOpcode );
//OPCODE(CMSG_GOSSIP_SELECT_OPTION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGossipSelectOptionOpcode );
@ -506,8 +506,8 @@ void InitializeOpcodes()
//OPCODE(SMSG_NEW_TAXI_PATH, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_TRAINER_LIST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleTrainerListOpcode );
//OPCODE(SMSG_TRAINER_LIST, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_TRAINER_BUY_SPELL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleTrainerBuySpellOpcode );
//OPCODE(SMSG_TRAINER_BUY_SUCCEEDED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(CMSG_TRAINER_BUY_SPELL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleTrainerBuySpellOpcode );
OPCODE(SMSG_TRAINER_BUY_SUCCEEDED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_TRAINER_BUY_FAILED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_BINDER_ACTIVATE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleBinderActivateOpcode );
//OPCODE(SMSG_PLAYERBINDERROR, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
@ -554,7 +554,7 @@ void InitializeOpcodes()
//OPCODE(SMSG_GAMEOBJECT_PAGETEXT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_SETSHEATHED, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSetSheathedOpcode );
//OPCODE(SMSG_COOLDOWN_CHEAT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_SPELL_DELAYED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_SPELL_DELAYED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_QUEST_POI_QUERY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleQuestPOIQueryOpcode );
//OPCODE(SMSG_QUEST_POI_QUERY_RESPONSE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_GHOST, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
@ -582,7 +582,7 @@ void InitializeOpcodes()
//OPCODE(SMSG_LFG_PLAYER_REWARD, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_LFG_TELEPORT_DENIED, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_UNLEARN_SPELL, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(CMSG_UNLEARN_SKILL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleUnlearnSkillOpcode );
OPCODE(CMSG_UNLEARN_SKILL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleUnlearnSkillOpcode );
OPCODE(SMSG_REMOVED_SPELL, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_DECHARGE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
OPCODE(CMSG_GMTICKET_CREATE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGMTicketCreateOpcode );
@ -655,12 +655,12 @@ void InitializeOpcodes()
//OPCODE(CMSG_MAIL_RETURN_TO_SENDER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMailReturnToSender );
//OPCODE(CMSG_MAIL_DELETE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMailDelete );
//OPCODE(CMSG_MAIL_CREATE_TEXT_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMailCreateTextItem );
//OPCODE(SMSG_SPELLLOGMISS, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_SPELLLOGEXECUTE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_SPELLLOGMISS, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_SPELLLOGEXECUTE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_DEBUGAURAPROC, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_PERIODICAURALOG, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_SPELLDAMAGESHIELD, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_SPELLNONMELEEDAMAGELOG, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_PERIODICAURALOG, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_SPELLDAMAGESHIELD, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_SPELLNONMELEEDAMAGELOG, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_LEARN_TALENT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleLearnTalentOpcode );
//OPCODE(SMSG_RESURRECT_FAILED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_TOGGLE_PVP, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleTogglePvP );
@ -678,18 +678,18 @@ void InitializeOpcodes()
//OPCODE(SMSG_AUCTION_OWNER_NOTIFICATION, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_PROCRESIST, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_COMBAT_EVENT_FAILED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_DISPEL_FAILED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_SPELLORDAMAGE_IMMUNE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_DISPEL_FAILED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_SPELLOGDAMAGE_IMMUNE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_AUCTION_LIST_BIDDER_ITEMS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAuctionListBidderItems );
//OPCODE(SMSG_AUCTION_BIDDER_LIST_RESULT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_SET_FLAT_SPELL_MODIFIER, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_SET_PCT_SPELL_MODIFIER, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_SET_FLAT_SPELL_MODIFIER, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_SET_PCT_SPELL_MODIFIER, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_SET_AMMO, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetAmmoOpcode );
//OPCODE(SMSG_CORPSE_RECLAIM_DELAY, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_SET_ACTIVE_MOVER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetActiveMoverOpcode );
//OPCODE(CMSG_PET_CANCEL_AURA, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePetCancelAuraOpcode );
OPCODE(CMSG_PET_CANCEL_AURA, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePetCancelAuraOpcode );
//OPCODE(CMSG_PLAYER_AI_CHEAT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(CMSG_CANCEL_AUTO_REPEAT_SPELL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleCancelAutoRepeatSpellOpcode);
OPCODE(CMSG_CANCEL_AUTO_REPEAT_SPELL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleCancelAutoRepeatSpellOpcode);
//OPCODE(MSG_GM_ACCOUNT_ONLINE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(MSG_LIST_STABLED_PETS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleListStabledPetsOpcode );
//OPCODE(CMSG_STABLE_PET, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleStablePet );
@ -703,7 +703,7 @@ void InitializeOpcodes()
//OPCODE(SMSG_PLAY_OBJECT_SOUND, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_REQUEST_PET_INFO, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleRequestPetInfoOpcode );
//OPCODE(CMSG_FAR_SIGHT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleFarSightOpcode );
//OPCODE(SMSG_SPELLDISPELLOG, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_SPELLDISPELLOG, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_DAMAGE_CALC_LOG, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_ENABLE_DAMAGE_LOG, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(CMSG_GROUP_CHANGE_SUB_GROUP, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGroupChangeSubGroupOpcode );
@ -736,7 +736,7 @@ void InitializeOpcodes()
//OPCODE(SMSG_CHAT_NOT_IN_PARTY, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_GMTICKETSYSTEM_TOGGLE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(CMSG_CANCEL_GROWTH_AURA, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleCancelGrowthAuraOpcode );
//OPCODE(SMSG_CANCEL_AUTO_REPEAT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_CANCEL_AUTO_REPEAT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_STANDSTATE_UPDATE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_LOOT_ALL_PASSED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_LOOT_ROLL_WON, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
@ -746,7 +746,7 @@ void InitializeOpcodes()
//OPCODE(CMSG_LOOT_MASTER_GIVE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleLootMasterGiveOpcode );
//OPCODE(SMSG_LOOT_MASTER_LIST, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_SET_FORCED_REACTIONS, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_SPELL_FAILED_OTHER, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_SPELL_FAILED_OTHER, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_GAMEOBJECT_RESET_STATE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_REPAIR_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleRepairItemOpcode );
//OPCODE(SMSG_CHAT_PLAYER_NOT_FOUND, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
@ -823,7 +823,7 @@ void InitializeOpcodes()
//OPCODE(CMSG_PET_UNLEARN, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePetUnlearnOpcode );
//OPCODE(SMSG_PET_UNLEARN_CONFIRM, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_PARTY_MEMBER_STATS_FULL, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_PET_SPELL_AUTOCAST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePetSpellAutocastOpcode );
OPCODE(CMSG_PET_SPELL_AUTOCAST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePetSpellAutocastOpcode );
OPCODE(SMSG_WEATHER, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_PLAY_TIME_WARNING, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_MINIGAME_SETUP, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
@ -883,11 +883,11 @@ void InitializeOpcodes()
//OPCODE(CMSG_IGNORE_KNOCKBACK_CHEAT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(SMSG_CHAT_PLAYER_AMBIGUOUS, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(MSG_DELAY_GHOST_TELEPORT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(SMSG_SPELLINSTAKILLLOG, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_SPELLINSTAKILLLOG, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_SPELL_UPDATE_CHAIN_TARGETS, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_CHAT_FILTERED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(SMSG_EXPECTED_SPAM_RECORDS, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_SPELLSTEALLOG, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_SPELLSTEALLOG, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_LOTTERY_QUERY_OBSOLETE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(SMSG_LOTTERY_QUERY_RESULT_OBSOLETE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_BUY_LOTTERY_TICKET_OBSOLETE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
@ -951,9 +951,9 @@ void InitializeOpcodes()
//OPCODE(CMSG_LFG_TELEPORT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(CMSG_LFG_GET_PARTY_INFO, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(SMSG_LFG_PARTY_INFO, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_TITLE_EARNED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_SET_TITLE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetTitleOpcode );
//OPCODE(CMSG_CANCEL_MOUNT_AURA, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleCancelMountAuraOpcode );
OPCODE(SMSG_TITLE_EARNED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(CMSG_SET_TITLE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetTitleOpcode );
OPCODE(CMSG_CANCEL_MOUNT_AURA, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleCancelMountAuraOpcode );
//OPCODE(SMSG_ARENA_ERROR, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(MSG_INSPECT_ARENA_TEAMS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleInspectArenaTeamsOpcode );
//OPCODE(SMSG_DEATH_RELEASE_LOC, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
@ -1027,7 +1027,7 @@ void InitializeOpcodes()
//OPCODE(CMSG_COMMENTATOR_ENTER_INSTANCE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(CMSG_COMMENTATOR_EXIT_INSTANCE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(CMSG_COMMENTATOR_INSTANCE_COMMAND, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(SMSG_CLEAR_TARGET, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_CLEAR_TARGET, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_BOT_DETECTED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(SMSG_CROSSED_INEBRIATION_THRESHOLD, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_CHEAT_PLAYER_LOGIN, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
@ -1084,7 +1084,7 @@ void InitializeOpcodes()
//OPCODE(SMSG_GOGOGO_OBSOLETE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_ECHO_PARTY_SQUELCH, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_SET_TITLE_SUFFIX, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(CMSG_SPELLCLICK, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSpellClick );
OPCODE(CMSG_SPELLCLICK, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSpellClick );
//OPCODE(SMSG_LOOT_LIST, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_GM_CHARACTER_RESTORE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(CMSG_GM_CHARACTER_SAVE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
@ -1111,14 +1111,14 @@ void InitializeOpcodes()
//OPCODE(CMSG_DECLINE_CHANNEL_INVITE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(SMSG_GROUPACTION_THROTTLED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_OVERRIDE_LIGHT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_TOTEM_CREATED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_TOTEM_DESTROYED, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleTotemDestroyed );
OPCODE(SMSG_TOTEM_CREATED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(CMSG_TOTEM_DESTROYED, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleTotemDestroyed );
//OPCODE(CMSG_EXPIRE_RAID_INSTANCE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(CMSG_NO_SPELL_VARIANCE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleQuestgiverStatusMultipleQuery);
//OPCODE(SMSG_QUESTGIVER_STATUS_MULTIPLE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_SET_PLAYER_DECLINED_NAMES, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetPlayerDeclinedNamesOpcode);
//OPCODE(SMSG_SET_PLAYER_DECLINED_NAMES_RESULT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(CMSG_SET_PLAYER_DECLINED_NAMES, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleSetPlayerDeclinedNamesOpcode);
OPCODE(SMSG_SET_PLAYER_DECLINED_NAMES_RESULT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_QUERY_SERVER_BUCK_DATA, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(CMSG_CLEAR_SERVER_BUCK_DATA, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(SMSG_SERVER_BUCK_DATA, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
@ -1220,7 +1220,7 @@ void InitializeOpcodes()
OPCODE(SMSG_ALL_ACHIEVEMENT_DATA, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_FORCE_SAY_CHEAT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(SMSG_HEALTH_UPDATE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_POWER_UPDATE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_POWER_UPDATE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(CMSG_GAMEOBJ_REPORT_USE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleGameobjectReportUse );
//OPCODE(SMSG_HIGHEST_THREAT_UPDATE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_THREAT_UPDATE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
@ -1245,8 +1245,8 @@ void InitializeOpcodes()
OPCODE(SMSG_AURA_UPDATE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_FLOOD_GRACE_CHEAT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
OPCODE(SMSG_SERVER_FIRST_ACHIEVEMENT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_PET_LEARNED_SPELL, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(SMSG_PET_REMOVED_SPELL, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_PET_LEARNED_SPELL, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_PET_REMOVED_SPELL, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_CHANGE_SEATS_ON_CONTROLLED_VEHICLE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(CMSG_HEARTH_AND_RESURRECT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleHearthandResurrect );
//OPCODE(SMSG_ON_CANCEL_EXPECTED_RIDE_VEHICLE_AURA, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
@ -1262,7 +1262,7 @@ void InitializeOpcodes()
//OPCODE(SMSG_SET_VEHICLE_REC_ID, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_RIDE_VEHICLE_INTERACT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(CMSG_CONTROLLER_EJECT_PASSENGER, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(SMSG_PET_GUIDS, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_PET_GUIDS, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
OPCODE(SMSG_CLIENTCACHE_VERSION, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
//OPCODE(CMSG_CHANGE_GDF_ARENA_RATING, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//OPCODE(CMSG_SET_ARENA_TEAM_RATING_BY_INDEX, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );

View file

@ -352,8 +352,8 @@ enum Opcodes
SMSG_SET_FACTION_STANDING = 0x1125,
CMSG_SET_FACTION_ATWAR = 0x1126,
CMSG_SET_FACTION_CHEAT = 0x1127,
SMSG_SET_PROFICIENCY = 0x1128,
CMSG_SET_ACTION_BUTTON = 0x1129,
SMSG_SET_PROFICIENCY = 0x6207, // 4.3.4 15595
CMSG_SET_ACTION_BUTTON = 0x6F06, // 4.3.4 15595
SMSG_ACTION_BUTTONS = 0x38B5, // 4.3.4 15595
SMSG_INITIAL_SPELLS = 0x0104, // 4.3.4 15595
SMSG_LEARNED_SPELL = 0x58A2, // 4.3.4 15595
@ -364,37 +364,37 @@ enum Opcodes
SMSG_CAST_FAILED = 0x4D16, // 4.3.4 15595
SMSG_SPELL_START = 0x6415, // 4.3.4 15595
SMSG_SPELL_GO = 0x6E16, // 4.3.4 15595
SMSG_SPELL_FAILURE = 0x1134,
SMSG_SPELL_COOLDOWN = 0x1135,
SMSG_COOLDOWN_EVENT = 0x1136,
SMSG_SPELL_FAILURE = 0x0C34, // 4.3.4 15595
SMSG_SPELL_COOLDOWN = 0x4B16, // 4.3.4 15595
SMSG_COOLDOWN_EVENT = 0x4F26, // 4.3.4 15595
CMSG_CANCEL_AURA = 0x0E26, // 4.3.4 15595
SMSG_EQUIPMENT_SET_ID = 0x1138,
SMSG_PET_CAST_FAILED = 0x1139,
MSG_CHANNEL_START = 0x113A,
MSG_CHANNEL_UPDATE = 0x113B,
CMSG_CANCEL_CHANNELLING = 0x113C,
SMSG_AI_REACTION = 0x113D,
SMSG_PET_CAST_FAILED = 0x2B15, // 4.3.4 15595
SMSG_CHANNEL_START = 0x0A15, // 4.3.4 15595
SMSG_CHANNEL_UPDATE = 0x2417, // 4.3.4 15595
CMSG_CANCEL_CHANNELLING = 0x6C25, // 4.3.4 15595
SMSG_AI_REACTION = 0x0637, // 4.3.4 15595
CMSG_SET_SELECTION = 0x0506, // 4.3.4 15595
CMSG_DELETEEQUIPMENT_SET = 0x113F,
CMSG_INSTANCE_LOCK_RESPONSE = 0x1140,
CMSG_DEBUG_PASSIVE_AURA = 0x1141,
CMSG_ATTACKSWING = 0x1142,
CMSG_ATTACKSTOP = 0x1143,
SMSG_ATTACKSTART = 0x1144,
SMSG_ATTACKSTOP = 0x1145,
SMSG_ATTACKSWING_NOTINRANGE = 0x1146,
SMSG_ATTACKSWING_BADFACING = 0x1147,
CMSG_ATTACKSWING = 0x0926, // 4.3.4 15595
CMSG_ATTACKSTOP = 0x4106, // 4.3.4 15595
SMSG_ATTACKSTART = 0x2D15, // 4.3.4 15595
SMSG_ATTACKSTOP = 0x0934, // 4.3.4 15595
SMSG_ATTACKSWING_NOTINRANGE = 0x6C07, // 4.3.4 15595
SMSG_ATTACKSWING_BADFACING = 0x0B36, // 4.3.4 15595
SMSG_PENDING_RAID_LOCK = 0x1148,
SMSG_ATTACKSWING_DEADTARGET = 0x1149,
SMSG_ATTACKSWING_CANT_ATTACK = 0x114A,
SMSG_ATTACKERSTATEUPDATE = 0x114B,
SMSG_ATTACKSWING_DEADTARGET = 0x2B26, // 4.3.4 15595
SMSG_ATTACKSWING_CANT_ATTACK = 0x0016, // 4.3.4 15595
SMSG_ATTACKERSTATEUPDATE = 0x0B25, // 4.3.4 15595
SMSG_BATTLEFIELD_PORT_DENIED = 0x114C,
CMSG_PERFORM_ACTION_SET = 0x114D,
SMSG_RESUME_CAST_BAR = 0x114E,
SMSG_CANCEL_COMBAT = 0x114F,
SMSG_SPELLBREAKLOG = 0x1150,
SMSG_SPELLHEALLOG = 0x1151,
SMSG_SPELLENERGIZELOG = 0x1152,
SMSG_CANCEL_COMBAT = 0x4F04, // 4.3.4 15595
SMSG_SPELLBREAKLOG = 0x6B17, // 4.3.4 15595
SMSG_SPELLHEALLOG = 0x2816, // 4.3.4 15595
SMSG_SPELLENERGIZELOG = 0x0414, // 4.3.4 15595
SMSG_BREAK_TARGET = 0x1153,
CMSG_SAVE_PLAYER = 0x1154,
CMSG_SETDEATHBINDPOINT = 0x1155,
@ -434,7 +434,7 @@ enum Opcodes
CMSG_PET_ABANDON = 0x1177,
CMSG_PET_RENAME = 0x1178,
SMSG_PET_NAME_INVALID = 0x1179,
SMSG_PET_SPELLS = 0x117A,
SMSG_PET_SPELLS = 0x4114, // 4.3.4 15595
SMSG_PET_MODE = 0x117B,
CMSG_GOSSIP_HELLO = 0x117C,
CMSG_GOSSIP_SELECT_OPTION = 0x117D,
@ -539,7 +539,7 @@ enum Opcodes
SMSG_GAMEOBJECT_PAGETEXT = 0x11E0,
CMSG_SETSHEATHED = 0x11E1,
SMSG_COOLDOWN_CHEAT = 0x11E2,
SMSG_SPELL_DELAYED = 0x11E3,
SMSG_SPELL_DELAYED = 0x0715, // 4.3.4 15595
CMSG_QUEST_POI_QUERY = 0x11E4,
SMSG_QUEST_POI_QUERY_RESPONSE = 0x11E5,
CMSG_GHOST = 0x11E6,
@ -567,7 +567,7 @@ enum Opcodes
SMSG_LFG_PLAYER_REWARD = 0x1200,
SMSG_LFG_TELEPORT_DENIED = 0x1201,
CMSG_UNLEARN_SPELL = 0x1202,
CMSG_UNLEARN_SKILL = 0x1203,
CMSG_UNLEARN_SKILL = 0x6106, // 4.3.4 15595
SMSG_REMOVED_SPELL = 0x4804, // 4.3.4 15595
CMSG_DECHARGE = 0x1205,
CMSG_GMTICKET_CREATE = 0x0137, // 4.3.4 15595
@ -640,12 +640,12 @@ enum Opcodes
CMSG_MAIL_RETURN_TO_SENDER = 0x1249,
CMSG_MAIL_DELETE = 0x124A,
CMSG_MAIL_CREATE_TEXT_ITEM = 0x124B,
SMSG_SPELLLOGMISS = 0x124C,
SMSG_SPELLLOGEXECUTE = 0x124D,
SMSG_SPELLLOGMISS = 0x0625, // 4.3.4 15595
SMSG_SPELLLOGEXECUTE = 0x0626, // 4.3.4 15595
SMSG_DEBUGAURAPROC = 0x124E,
SMSG_PERIODICAURALOG = 0x124F,
SMSG_SPELLDAMAGESHIELD = 0x1250,
SMSG_SPELLNONMELEEDAMAGELOG = 0x1251,
SMSG_PERIODICAURALOG = 0x0416, // 4.3.4 15595
SMSG_SPELLDAMAGESHIELD = 0x2927, // 4.3.4 15595
SMSG_SPELLNONMELEEDAMAGELOG = 0x4315, // 4.3.4 15595
CMSG_LEARN_TALENT = 0x1252,
SMSG_RESURRECT_FAILED = 0x1253,
CMSG_TOGGLE_PVP = 0x1254,
@ -663,18 +663,18 @@ enum Opcodes
SMSG_AUCTION_OWNER_NOTIFICATION = 0x1260,
SMSG_PROCRESIST = 0x1261,
SMSG_COMBAT_EVENT_FAILED = 0x1262,
SMSG_DISPEL_FAILED = 0x1263,
SMSG_SPELLORDAMAGE_IMMUNE = 0x1264,
SMSG_DISPEL_FAILED = 0x0307, // 4.3.4 15595
SMSG_SPELLOGDAMAGE_IMMUNE = 0x4507, // 4.3.4 15595
CMSG_AUCTION_LIST_BIDDER_ITEMS = 0x1265,
SMSG_AUCTION_BIDDER_LIST_RESULT = 0x1266,
SMSG_SET_FLAT_SPELL_MODIFIER = 0x1267,
SMSG_SET_PCT_SPELL_MODIFIER = 0x1268,
SMSG_SET_FLAT_SPELL_MODIFIER = 0x2834, // 4.3.4 15595
SMSG_SET_PCT_SPELL_MODIFIER = 0x0224, // 4.3.4 15595
CMSG_SET_AMMO = 0x1269,
SMSG_CORPSE_RECLAIM_DELAY = 0x126A,
CMSG_SET_ACTIVE_MOVER = 0x126B,
CMSG_PET_CANCEL_AURA = 0x126C,
CMSG_PET_CANCEL_AURA = 0x4B25, // 4.3.4 15595
CMSG_PLAYER_AI_CHEAT = 0x126D,
CMSG_CANCEL_AUTO_REPEAT_SPELL = 0x126E,
CMSG_CANCEL_AUTO_REPEAT_SPELL = 0x6C35, // 4.3.4 15595
MSG_GM_ACCOUNT_ONLINE = 0x126F,
MSG_LIST_STABLED_PETS = 0x1270,
CMSG_STABLE_PET = 0x1271,
@ -688,7 +688,7 @@ enum Opcodes
SMSG_PLAY_OBJECT_SOUND = 0x1279,
CMSG_REQUEST_PET_INFO = 0x127A,
CMSG_FAR_SIGHT = 0x127B,
SMSG_SPELLDISPELLOG = 0x127C,
SMSG_SPELLDISPELLOG = 0x4516, // 4.3.4 15595
SMSG_DAMAGE_CALC_LOG = 0x127D,
CMSG_ENABLE_DAMAGE_LOG = 0x127E,
CMSG_GROUP_CHANGE_SUB_GROUP = 0x127F,
@ -721,7 +721,7 @@ enum Opcodes
SMSG_CHAT_NOT_IN_PARTY = 0x129A,
CMSG_GMTICKETSYSTEM_TOGGLE = 0x129B,
CMSG_CANCEL_GROWTH_AURA = 0x129C,
SMSG_CANCEL_AUTO_REPEAT = 0x129D,
SMSG_CANCEL_AUTO_REPEAT = 0x6436, // 4.3.4 15595
SMSG_STANDSTATE_UPDATE = 0x6F04, // 4.3.4 15595
SMSG_LOOT_ALL_PASSED = 0x129F,
SMSG_LOOT_ROLL_WON = 0x12A0,
@ -731,7 +731,7 @@ enum Opcodes
CMSG_LOOT_MASTER_GIVE = 0x12A4,
SMSG_LOOT_MASTER_LIST = 0x12A5,
SMSG_SET_FORCED_REACTIONS = 0x12A6,
SMSG_SPELL_FAILED_OTHER = 0x12A7,
SMSG_SPELL_FAILED_OTHER = 0x4535, // 4.3.4 15595
SMSG_GAMEOBJECT_RESET_STATE = 0x12A8,
CMSG_REPAIR_ITEM = 0x12A9,
SMSG_CHAT_PLAYER_NOT_FOUND = 0x12AA,
@ -808,7 +808,7 @@ enum Opcodes
CMSG_PET_UNLEARN = 0x12F1,
SMSG_PET_UNLEARN_CONFIRM = 0x12F2,
SMSG_PARTY_MEMBER_STATS_FULL = 0x12F3,
CMSG_PET_SPELL_AUTOCAST = 0x12F4,
CMSG_PET_SPELL_AUTOCAST = 0x2514, // 4.3.4 15595
SMSG_WEATHER = 0x2904, // 4.3.4 15595
SMSG_PLAY_TIME_WARNING = 0x12F6,
SMSG_MINIGAME_SETUP = 0x12F7,
@ -868,11 +868,11 @@ enum Opcodes
CMSG_IGNORE_KNOCKBACK_CHEAT = 0x132D,
SMSG_CHAT_PLAYER_AMBIGUOUS = 0x132E,
MSG_DELAY_GHOST_TELEPORT = 0x132F,
SMSG_SPELLINSTAKILLLOG = 0x1330,
SMSG_SPELLINSTAKILLLOG = 0x6216, // 4.3.4 15595
SMSG_SPELL_UPDATE_CHAIN_TARGETS = 0x1331,
CMSG_CHAT_FILTERED = 0x1332,
SMSG_EXPECTED_SPAM_RECORDS = 0x1333,
SMSG_SPELLSTEALLOG = 0x1334,
SMSG_SPELLSTEALLOG = 0x4E26, // 4.3.4 15595
CMSG_LOTTERY_QUERY_OBSOLETE = 0x1335,
SMSG_LOTTERY_QUERY_RESULT_OBSOLETE = 0x1336,
CMSG_BUY_LOTTERY_TICKET_OBSOLETE = 0x1337,
@ -936,9 +936,9 @@ enum Opcodes
CMSG_LFG_TELEPORT = 0x1371,
CMSG_LFG_GET_PARTY_INFO = 0x1372,
SMSG_LFG_PARTY_INFO = 0x1373,
SMSG_TITLE_EARNED = 0x1374,
CMSG_SET_TITLE = 0x1375,
CMSG_CANCEL_MOUNT_AURA = 0x1376,
SMSG_TITLE_EARNED = 0x2426, // 4.3.4 15595
CMSG_SET_TITLE = 0x2117, // 4.3.4 15595
CMSG_CANCEL_MOUNT_AURA = 0x0635, // 4.3.4 15595
SMSG_ARENA_ERROR = 0x1377,
MSG_INSPECT_ARENA_TEAMS = 0x1378,
SMSG_DEATH_RELEASE_LOC = 0x1379,
@ -1012,7 +1012,7 @@ enum Opcodes
CMSG_COMMENTATOR_ENTER_INSTANCE = 0x13BD,
CMSG_COMMENTATOR_EXIT_INSTANCE = 0x13BE,
CMSG_COMMENTATOR_INSTANCE_COMMAND = 0x13BF,
SMSG_CLEAR_TARGET = 0x13C0,
SMSG_CLEAR_TARGET = 0x4B26, // 4.3.4 15595
CMSG_BOT_DETECTED = 0x13C1,
SMSG_CROSSED_INEBRIATION_THRESHOLD = 0x13C2,
CMSG_CHEAT_PLAYER_LOGIN = 0x13C3,
@ -1069,7 +1069,7 @@ enum Opcodes
SMSG_GOGOGO_OBSOLETE = 0x13F6,
SMSG_ECHO_PARTY_SQUELCH = 0x13F7,
CMSG_SET_TITLE_SUFFIX = 0x13F8,
CMSG_SPELLCLICK = 0x13F9,
CMSG_SPELLCLICK = 0x0805, // 4.3.4 15595
SMSG_LOOT_LIST = 0x13FA,
CMSG_GM_CHARACTER_RESTORE = 0x13FB,
CMSG_GM_CHARACTER_SAVE = 0x13FC,
@ -1096,14 +1096,14 @@ enum Opcodes
CMSG_DECLINE_CHANNEL_INVITE = 0x1411,
SMSG_GROUPACTION_THROTTLED = 0x1412,
SMSG_OVERRIDE_LIGHT = 0x1413,
SMSG_TOTEM_CREATED = 0x1414,
CMSG_TOTEM_DESTROYED = 0x1415,
SMSG_TOTEM_CREATED = 0x2414, // 4.3.4 15595
CMSG_TOTEM_DESTROYED = 0x4207, // 4.3.4 15595
CMSG_EXPIRE_RAID_INSTANCE = 0x1416,
CMSG_NO_SPELL_VARIANCE = 0x1417,
CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY = 0x1418,
SMSG_QUESTGIVER_STATUS_MULTIPLE = 0x1419,
CMSG_SET_PLAYER_DECLINED_NAMES = 0x141A,
SMSG_SET_PLAYER_DECLINED_NAMES_RESULT = 0x141B,
CMSG_SET_PLAYER_DECLINED_NAMES = 0x6316, // 4.3.4 15595
SMSG_SET_PLAYER_DECLINED_NAMES_RESULT = 0x2B25, // 4.3.4 15595
CMSG_QUERY_SERVER_BUCK_DATA = 0x141C,
CMSG_CLEAR_SERVER_BUCK_DATA = 0x141D,
SMSG_SERVER_BUCK_DATA = 0x141E,
@ -1205,7 +1205,7 @@ enum Opcodes
SMSG_ALL_ACHIEVEMENT_DATA = 0x58B1, // 4.3.4 15595
CMSG_FORCE_SAY_CHEAT = 0x147F,
SMSG_HEALTH_UPDATE = 0x1480,
SMSG_POWER_UPDATE = 0x1481,
SMSG_POWER_UPDATE = 0x4A07, // 4.3.4 15595
CMSG_GAMEOBJ_REPORT_USE = 0x4827, // 4.3.4 15595
SMSG_HIGHEST_THREAT_UPDATE = 0x1483,
SMSG_THREAT_UPDATE = 0x1484,
@ -1230,8 +1230,8 @@ enum Opcodes
SMSG_AURA_UPDATE = 0x4707, // 4.3.4 15595
CMSG_FLOOD_GRACE_CHEAT = 0x1498,
SMSG_SERVER_FIRST_ACHIEVEMENT = 0x6424, // 4.3.4 15595
SMSG_PET_LEARNED_SPELL = 0x149A,
SMSG_PET_REMOVED_SPELL = 0x149B,
SMSG_PET_LEARNED_SPELL = 0x0507, // 4.3.4 15595
SMSG_PET_REMOVED_SPELL = 0x6A04, // 4.3.4 15595
CMSG_CHANGE_SEATS_ON_CONTROLLED_VEHICLE = 0x149C,
CMSG_HEARTH_AND_RESURRECT = 0x149D,
SMSG_ON_CANCEL_EXPECTED_RIDE_VEHICLE_AURA = 0x149E,
@ -1247,7 +1247,7 @@ enum Opcodes
SMSG_SET_VEHICLE_REC_ID = 0x14A8,
CMSG_RIDE_VEHICLE_INTERACT = 0x14A9,
CMSG_CONTROLLER_EJECT_PASSENGER = 0x14AA,
SMSG_PET_GUIDS = 0x14AB,
SMSG_PET_GUIDS = 0x2D26, // 4.3.4 15595
SMSG_CLIENTCACHE_VERSION = 0x2734, // 4.3.4 15595
CMSG_CHANGE_GDF_ARENA_RATING = 0x14AD,
CMSG_SET_ARENA_TEAM_RATING_BY_INDEX = 0x14AE,

View file

@ -18866,9 +18866,11 @@ void Player::AddSpellMod(Aura* aura, bool apply)
val += (*itr)->GetModifier()->m_amount;
}
val += apply ? mod->m_amount : -(mod->m_amount);
WorldPacket data(Opcode, (1 + 1 + 4));
data << uint8(eff);
WorldPacket data(Opcode, 4 + 4 + 1 + 1 + 4);
data << uint32(1);
data << uint32(1);
data << uint8(mod->m_miscvalue);
data << uint8(eff);
data << int32(val);
SendDirectMessage(&data);
}
@ -19310,7 +19312,7 @@ void Player::ContinueTaxiFlight()
void Player::ProhibitSpellSchool(SpellSchoolMask idSchoolMask, uint32 unTimeMs)
{
// last check 2.0.10
// last check 4.3.4
WorldPacket data(SMSG_SPELL_COOLDOWN, 8 + 1 + m_spells.size() * 8);
data << GetObjectGuid();
data << uint8(0x0); // flags (0x1, 0x2)

View file

@ -495,7 +495,7 @@ enum PlayerFlags
#define PLAYER_TITLE_HAND_OF_ADAL UI64LIT(0x0000008000000000) // 39
#define PLAYER_TITLE_VENGEFUL_GLADIATOR UI64LIT(0x0000010000000000) // 40
#define KNOWN_TITLES_SIZE 3
#define KNOWN_TITLES_SIZE 4
#define MAX_TITLE_INDEX (KNOWN_TITLES_SIZE*64) // 3 uint64 fields
// used in (PLAYER_FIELD_BYTES, 0) byte values

View file

@ -4431,6 +4431,7 @@ void Spell::SendLogExecute()
switch(spellEffect->Effect)
{
case SPELL_EFFECT_POWER_DRAIN:
case SPELL_EFFECT_POWER_BURN:
if (Unit* unit = m_targets.getUnitTarget())
data << unit->GetPackGUID();
else
@ -4468,6 +4469,7 @@ void Spell::SendLogExecute()
data << uint8(0);
break;
case SPELL_EFFECT_CREATE_ITEM:
case SPELL_EFFECT_CREATE_RANDOM_ITEM:
case SPELL_EFFECT_CREATE_ITEM_2:
data << uint32(spellEffect->EffectItemType);
break;
@ -4478,9 +4480,10 @@ void Spell::SendLogExecute()
case SPELL_EFFECT_CREATE_HOUSE:
case SPELL_EFFECT_DUEL:
case SPELL_EFFECT_SUMMON_OBJECT_SLOT1:
case SPELL_EFFECT_SUMMON_OBJECT_SLOT2:
case SPELL_EFFECT_SUMMON_OBJECT_SLOT3:
case SPELL_EFFECT_SUMMON_OBJECT_SLOT4:
//case SPELL_EFFECT_SUMMON_OBJECT_SLOT2:
//case SPELL_EFFECT_SUMMON_OBJECT_SLOT3:
//case SPELL_EFFECT_SUMMON_OBJECT_SLOT4:
case SPELL_EFFECT_171:
if (Unit* unit = m_targets.getUnitTarget())
data << unit->GetPackGUID();
else if (m_targets.getItemTargetGuid())
@ -4501,6 +4504,7 @@ void Spell::SendLogExecute()
break;
case SPELL_EFFECT_RESURRECT:
case SPELL_EFFECT_RESURRECT_NEW:
case SPELL_EFFECT_MASS_RESSURECTION:
if (Unit* unit = m_targets.getUnitTarget())
data << unit->GetPackGUID();
else
@ -4581,7 +4585,7 @@ void Spell::SendChannelUpdate(uint32 time)
m_caster->SetUInt32Value(UNIT_CHANNEL_SPELL, 0);
}
WorldPacket data(MSG_CHANNEL_UPDATE, 8 + 4);
WorldPacket data(SMSG_CHANNEL_UPDATE, 8 + 4);
data << m_caster->GetPackGUID();
data << uint32(time);
m_caster->SendMessageToSet(&data, true);
@ -4619,10 +4623,26 @@ void Spell::SendChannelStart(uint32 duration)
}
}
WorldPacket data(MSG_CHANNEL_START, (8 + 4 + 4));
WorldPacket data(SMSG_CHANNEL_START, (8 + 4 + 4));
data << m_caster->GetPackGUID();
data << uint32(m_spellInfo->Id);
data << uint32(duration);
data << uint8(0); // unk1
//if (unk1)
//{
// data << uint32(0);
// data << uint32(0);
//}
data << uint8(0); // unk2
//if (unk1)
//{
// data << ObjectGuid().WriteAsPacked();
// data << uint32(0);
// data << uint8(0); // unk3
// if (unk3 == 2)
// data << ObjectGuid().WriteAsPacked();
//}
m_caster->SendMessageToSet(&data, true);
m_timer = duration;

View file

@ -8089,7 +8089,7 @@ void Spell::EffectScriptEffect(SpellEffectEntry const* effect)
return;
// This is extremely strange!
// The spell should send MSG_CHANNEL_START, SMSG_SPELL_START
// The spell should send SMSG_CHANNEL_START, SMSG_SPELL_START
// However it has cast time 2s, but should send SMSG_SPELL_GO instantly.
m_caster->CastSpell(unitTarget, 69051, true);
return;

View file

@ -558,7 +558,7 @@ void WorldSession::HandleTotemDestroyed(WorldPacket& recvPacket)
{
uint8 slotId;
recvPacket >> slotId;
recvPacket >> slotId >> Unused<uint64>();
// ignore for remote control state
if (!_player->IsSelfMover())

View file

@ -2055,11 +2055,14 @@ void Unit::DealMeleeDamage(CalcDamageInfo* damageInfo, bool durabilityLoss)
alreadyDone.insert(*i);
uint32 damage = (*i)->GetModifier()->m_amount;
SpellEntry const* i_spellProto = (*i)->GetSpellProto();
// Calculate absorb resist ??? no data in opcode for this possibly unable to absorb or resist?
// uint32 absorb;
// uint32 resist;
// CalcAbsorbResist(pVictim, SpellSchools(spellProto->School), SPELL_DIRECT_DAMAGE, damage, &absorb, &resist);
// damage-=absorb + resist;
uint32 absorb, resist;
CalculateDamageAbsorbAndResist(pVictim, GetSpellSchoolMask(i_spellProto), SPELL_DIRECT_DAMAGE, damage, &absorb, &resist);
if (damage >= absorb + resist)
damage -= absorb + resist;
else
damage = 0;
pVictim->DealDamageMods(this, damage, NULL);
@ -2073,6 +2076,7 @@ void Unit::DealMeleeDamage(CalcDamageInfo* damageInfo, bool durabilityLoss)
data << uint32(damage); // Damage
data << uint32(overkill); // Overkill
data << uint32(i_spellProto->SchoolMask);
data << uint32(resist); // Resist
pVictim->SendMessageToSet(&data, true);
pVictim->DealDamage(this, damage, 0, SPELL_DIRECT_DAMAGE, GetSpellSchoolMask(i_spellProto), i_spellProto, true);
@ -5555,11 +5559,16 @@ void Unit::SendSpellMiss(Unit* target, uint32 spellID, SpellMissInfo missInfo)
WorldPacket data(SMSG_SPELLLOGMISS, (4 + 8 + 1 + 4 + 8 + 1));
data << uint32(spellID);
data << GetObjectGuid();
data << uint8(0); // can be 0 or 1
data << uint8(0); // can be 0 or 1, flag
data << uint32(1); // target count
// for(i = 0; i < target count; ++i)
data << target->GetObjectGuid(); // target GUID
data << uint8(missInfo);
//if (flag)
//{
// data << float(0.0f);
// data << float(0.0f);
//}
// end loop
SendMessageToSet(&data, true);
}

View file

@ -1146,8 +1146,10 @@ bool ChatHandler::HandleDebugSpellModsCommand(char* args)
opcode == SMSG_SET_FLAT_SPELL_MODIFIER ? "flat" : "pct", spellmodop, value, effidx);
WorldPacket data(opcode, (1 + 1 + 2 + 2));
data << uint8(effidx);
data << uint32(1);
data << uint32(1);
data << uint8(spellmodop);
data << uint8(effidx);
data << int32(value);
chr->GetSession()->SendPacket(&data);

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
#define REVISION_NR "0092"
#define REVISION_NR "0093"
#endif // __REVISION_NR_H__