rendered paste bodyOpcodeHandler* WorldServer::_GetOpcodeHandlerTable() const{ static OpcodeHandler table[] = { /// Character screen { CMSG_CHAR_ENUM, STATUS_AUTHED, &GameClient::HandleCharEnumOpcode }, { CMSG_CHAR_CREATE, STATUS_AUTHED, &GameClient::HandleCharCreateOpcode }, { CMSG_CHAR_DELETE, STATUS_AUTHED, &GameClient::HandleCharDeleteOpcode }, { CMSG_PLAYER_LOGIN, STATUS_AUTHED, &GameClient::HandlePlayerLoginOpcode }, /// Misc opcodes { CMSG_PING, STATUS_ALL, &GameClient::HandlePingOpcode }, { CMSG_AUTH_SESSION, STATUS_CONNECTED, &GameClient::HandleAuthSessionOpcode }, { CMSG_REPOP_REQUEST, STATUS_LOGGEDIN, &GameClient::HandleRepopRequestOpcode }, { CMSG_AUTOSTORE_LOOT_ITEM, STATUS_LOGGEDIN, &GameClient::HandleAutostoreLootItemOpcode }, { CMSG_LOOT_MONEY, STATUS_LOGGEDIN, &GameClient::HandleLootMoneyOpcode }, { CMSG_LOOT, STATUS_LOGGEDIN, &GameClient::HandleLootOpcode }, { CMSG_LOOT_RELEASE, STATUS_LOGGEDIN, &GameClient::HandleLootReleaseOpcode }, { CMSG_WHO, STATUS_LOGGEDIN, &GameClient::HandleWhoOpcode }, { CMSG_LOGOUT_REQUEST, STATUS_LOGGEDIN, &GameClient::HandleLogoutRequestOpcode }, { CMSG_PLAYER_LOGOUT, STATUS_LOGGEDIN, &GameClient::HandlePlayerLogoutOpcode }, { CMSG_LOGOUT_CANCEL, STATUS_LOGGEDIN, &GameClient::HandleLogoutCancelOpcode }, { CMSG_GMTICKET_GETTICKET, STATUS_LOGGEDIN, &GameClient::HandleGMTicketGetTicketOpcode }, { CMSG_GMTICKET_CREATE, STATUS_LOGGEDIN, &GameClient::HandleGMTicketCreateOpcode }, { CMSG_GMTICKET_SYSTEMSTATUS, STATUS_LOGGEDIN, &GameClient::HandleGMTicketSystemStatusOpcode }, { CMSG_ZONEUPDATE, STATUS_LOGGEDIN, &GameClient::HandleZoneUpdateOpcode }, { CMSG_SET_TARGET, STATUS_LOGGEDIN, &GameClient::HandleSetTargetOpcode }, { CMSG_SET_SELECTION, STATUS_LOGGEDIN, &GameClient::HandleSetSelectionOpcode }, { CMSG_STANDSTATECHANGE, STATUS_LOGGEDIN, &GameClient::HandleStandStateChangeOpcode }, { CMSG_FRIEND_LIST, STATUS_LOGGEDIN, &GameClient::HandleFriendListOpcode }, { CMSG_ADD_FRIEND, STATUS_LOGGEDIN, &GameClient::HandleAddFriendOpcode }, { CMSG_DEL_FRIEND, STATUS_LOGGEDIN, &GameClient::HandleDelFriendOpcode }, { CMSG_BUG, STATUS_LOGGEDIN, &GameClient::HandleBugOpcode }, { CMSG_JOIN_CHANNEL, STATUS_LOGGEDIN, &GameClient::HandleJoinChannelOpcode }, { CMSG_LEAVE_CHANNEL, STATUS_LOGGEDIN, &GameClient::HandleLeaveChannelOpcode }, /// Queries { CMSG_NAME_QUERY, STATUS_LOGGEDIN, &GameClient::HandleNameQueryOpcode }, { CMSG_QUERY_TIME, STATUS_LOGGEDIN, &GameClient::HandleQueryTimeOpcode }, { CMSG_CREATURE_QUERY, STATUS_LOGGEDIN, &GameClient::HandleCreatureQueryOpcode }, { CMSG_GAMEOBJECT_QUERY, STATUS_LOGGEDIN, &GameClient::HandleGameObjectQueryOpcode }, /// Movement opcodes { MSG_MOVE_HEARTBEAT, STATUS_LOGGEDIN, &GameClient::HandleMoveHeartbeatOpcode }, { MSG_MOVE_WORLDPORT_ACK, STATUS_LOGGEDIN, &GameClient::HandleMoveWorldportAckOpcode }, { MSG_MOVE_JUMP, STATUS_LOGGEDIN, &GameClient::HandleMovementOpcodes }, { MSG_MOVE_START_FORWARD, STATUS_LOGGEDIN, &GameClient::HandleMovementOpcodes }, { MSG_MOVE_START_BACKWARD, STATUS_LOGGEDIN, &GameClient::HandleMovementOpcodes }, { MSG_MOVE_SET_FACING, STATUS_LOGGEDIN, &GameClient::HandleMovementOpcodes }, { MSG_MOVE_STOP, STATUS_LOGGEDIN, &GameClient::HandleMovementOpcodes }, { MSG_MOVE_START_STRAFE_LEFT, STATUS_LOGGEDIN, &GameClient::HandleMovementOpcodes }, { MSG_MOVE_START_STRAFE_RIGHT, STATUS_LOGGEDIN, &GameClient::HandleMovementOpcodes }, { MSG_MOVE_STOP_STRAFE, STATUS_LOGGEDIN, &GameClient::HandleMovementOpcodes }, { MSG_MOVE_START_TURN_LEFT, STATUS_LOGGEDIN, &GameClient::HandleMovementOpcodes }, { MSG_MOVE_START_TURN_RIGHT, STATUS_LOGGEDIN, &GameClient::HandleMovementOpcodes }, { MSG_MOVE_STOP_TURN, STATUS_LOGGEDIN, &GameClient::HandleMovementOpcodes }, { MSG_MOVE_START_PITCH_UP, STATUS_LOGGEDIN, &GameClient::HandleMovementOpcodes }, { MSG_MOVE_START_PITCH_DOWN, STATUS_LOGGEDIN, &GameClient::HandleMovementOpcodes }, { MSG_MOVE_STOP_PITCH, STATUS_LOGGEDIN, &GameClient::HandleMovementOpcodes }, { MSG_MOVE_SET_RUN_MODE, STATUS_LOGGEDIN, &GameClient::HandleMovementOpcodes }, { MSG_MOVE_SET_WALK_MODE, STATUS_LOGGEDIN, &GameClient::HandleMovementOpcodes }, { MSG_MOVE_SET_PITCH, STATUS_LOGGEDIN, &GameClient::HandleMovementOpcodes }, { MSG_MOVE_START_SWIM, STATUS_LOGGEDIN, &GameClient::HandleMovementOpcodes }, { MSG_MOVE_STOP_SWIM, STATUS_LOGGEDIN, &GameClient::HandleMovementOpcodes }, { MSG_MOVE_FALL_LAND, STATUS_LOGGEDIN, &GameClient::HandleMovementOpcodes }, /// Group Handler { CMSG_GROUP_INVITE, STATUS_LOGGEDIN, &GameClient::HandleGroupInviteOpcode }, { CMSG_GROUP_CANCEL, STATUS_LOGGEDIN, &GameClient::HandleGroupCancelOpcode }, { CMSG_GROUP_ACCEPT, STATUS_LOGGEDIN, &GameClient::HandleGroupAcceptOpcode }, { CMSG_GROUP_DECLINE, STATUS_LOGGEDIN, &GameClient::HandleGroupDeclineOpcode }, { CMSG_GROUP_UNINVITE, STATUS_LOGGEDIN, &GameClient::HandleGroupUninviteOpcode }, { CMSG_GROUP_UNINVITE_GUID, STATUS_LOGGEDIN, &GameClient::HandleGroupUninviteGuildOpcode }, { CMSG_GROUP_SET_LEADER, STATUS_LOGGEDIN, &GameClient::HandleGroupSetLeaderOpcode }, { CMSG_GROUP_DISBAND, STATUS_LOGGEDIN, &GameClient::HandleGroupDisbandOpcode }, { CMSG_LOOT_METHOD, STATUS_LOGGEDIN, &GameClient::HandleLootMethodOpcode }, /// Taxi opcodes { CMSG_TAXINODE_STATUS_QUERY, STATUS_LOGGEDIN, &GameClient::HandleTaxiNodeStatusQueryOpcode }, { CMSG_TAXIQUERYAVAILABLENODES, STATUS_LOGGEDIN, &GameClient::HandleTaxiQueryAviableNodesOpcode }, { CMSG_ACTIVATETAXI, STATUS_LOGGEDIN, &GameClient::HandleActivateTaxiOpcode }, /// NPC related opcodes { MSG_TABARDVENDOR_ACTIVATE, STATUS_LOGGEDIN, &GameClient::HandleTabardVendorActivateOpcode }, { CMSG_BANKER_ACTIVATE, STATUS_LOGGEDIN, &GameClient::HandleBankerActivateOpcode }, { CMSG_TRAINER_LIST, STATUS_LOGGEDIN, &GameClient::HandleTrainerListOpcode }, { CMSG_TRAINER_BUY_SPELL, STATUS_LOGGEDIN, &GameClient::HandleTrainerBuySpellOpcode }, { CMSG_PETITION_SHOWLIST, STATUS_LOGGEDIN, &GameClient::HandlePetitionShowListOpcode }, { MSG_AUCTION_HELLO, STATUS_LOGGEDIN, &GameClient::HandleAuctionHelloOpcode }, { CMSG_GOSSIP_HELLO, STATUS_LOGGEDIN, &GameClient::HandleGossipHelloOpcode }, { CMSG_GOSSIP_SELECT_OPTION, STATUS_LOGGEDIN, &GameClient::HandleGossipSelectOptionOpcode }, { CMSG_SPIRIT_HEALER_ACTIVATE, STATUS_LOGGEDIN, &GameClient::HandleSpiritHealerActivateOpcode }, { CMSG_NPC_TEXT_QUERY, STATUS_LOGGEDIN, &GameClient::HandleNpcTextQueryOpcode }, { CMSG_BINDER_ACTIVATE, STATUS_LOGGEDIN, &GameClient::HandleBinderActivateOpcode }, /// Item opcodes { CMSG_SWAP_INV_ITEM, STATUS_LOGGEDIN, &GameClient::HandleSwapInvItemOpcode }, { CMSG_DESTROYITEM, STATUS_LOGGEDIN, &GameClient::HandleDestroyItemOpcode }, { CMSG_AUTOEQUIP_ITEM, STATUS_LOGGEDIN, &GameClient::HandleAutoEquipItemOpcode }, { CMSG_ITEM_QUERY_SINGLE, STATUS_LOGGEDIN, &GameClient::HandleItemQuerySingleOpcode }, { CMSG_SELL_ITEM, STATUS_LOGGEDIN, &GameClient::HandleSellItemOpcode }, { CMSG_BUY_ITEM_IN_SLOT, STATUS_LOGGEDIN, &GameClient::HandleBuyItemInSlotOpcode }, { CMSG_BUY_ITEM, STATUS_LOGGEDIN, &GameClient::HandleBuyItemOpcode }, { CMSG_LIST_INVENTORY, STATUS_LOGGEDIN, &GameClient::HandleListInventoryOpcode }, /// Combat opcodes { CMSG_ATTACKSWING, STATUS_LOGGEDIN, &GameClient::HandleAttackSwingOpcode }, { CMSG_ATTACKSTOP, STATUS_LOGGEDIN, &GameClient::HandleAttackStopOpcode }, /// Spell opcodes { CMSG_USE_ITEM, STATUS_LOGGEDIN, &GameClient::HandleUseItemOpcode }, { CMSG_CAST_SPELL, STATUS_LOGGEDIN, &GameClient::HandleCastSpellOpcode }, /// Skill opcodes //{ CMSG_SKILL_LEVELUP, STATUS_LOGGEDIN, &GameClient::HandleSkillLevelUpOpcode }, /// Quest opcodes { CMSG_QUESTGIVER_STATUS_QUERY, STATUS_LOGGEDIN, &GameClient::HandleQuestgiverStatusQueryOpcode }, { CMSG_QUESTGIVER_HELLO, STATUS_LOGGEDIN, &GameClient::HandleQuestgiverHelloOpcode }, { CMSG_QUESTGIVER_ACCEPT_QUEST, STATUS_LOGGEDIN, &GameClient::HandleQuestgiverAcceptQuestOpcode }, { CMSG_QUESTGIVER_CHOOSE_REWARD, STATUS_LOGGEDIN, &GameClient::HandleQuestgiverChooseRewardOpcode }, { CMSG_QUESTGIVER_REQUEST_REWARD,STATUS_LOGGEDIN, &GameClient::HandleQuestgiverRequestRewardOpcode }, { CMSG_QUEST_QUERY, STATUS_LOGGEDIN, &GameClient::HandleQuestQueryOpcode }, /// Chat opcodes { CMSG_MESSAGECHAT, STATUS_LOGGEDIN, &GameClient::HandleMessagechatOpcode }, { CMSG_TEXT_EMOTE, STATUS_LOGGEDIN, &GameClient::HandleTextEmoteOpcode }, { CMSG_AREATRIGGER, STATUS_LOGGEDIN, &GameClient::HandleAreatriggerOpcode }, /// End of table { 0, 0, NULL } }; return table;}