#include "debug.h" #include #include std::map opcode_map; std::string get_opcode_name(unsigned long opcode) { std::map::iterator itr;; return (itr = opcode_map.find(opcode)) != opcode_map.end() ? itr->second : "OP_Unknown"; } void load_opcode_names() { opcode_map[0x0176] = "LiveOP_Heartbeat"; opcode_map[0x02d7] = "LiveOP_ReloadUI"; opcode_map[0x01eb] = "LiveOP_IncreaseStats"; opcode_map[0x0134] = "LiveOP_ApproveZone"; opcode_map[0x01d5] = "LiveOP_Dye"; opcode_map[0x0168] = "LiveOP_Stamina"; opcode_map[0x014d] = "LiveOP_ControlBoat"; opcode_map[0x003e] = "LiveOP_MobUpdate"; opcode_map[0x0027] = "LiveOP_ClientUpdate"; opcode_map[0x0024] = "LiveOP_ChannelMessage"; opcode_map[0x01d7] = "LiveOP_SimpleMessage"; opcode_map[0x01d8] = "LiveOP_FormattedMessage"; opcode_map[0x01c6] = "LiveOP_TGB"; opcode_map[0x0285] = "LiveOP_TestBuff"; opcode_map[0x012d] = "LiveOP_Bind_Wound"; opcode_map[0x01ab] = "LiveOP_Charm"; opcode_map[0x014c] = "LiveOP_Begging"; opcode_map[0x0152] = "LiveOP_MoveCoin"; opcode_map[0x0292] = "LiveOP_SpawnDoor"; opcode_map[0x009d] = "LiveOP_Sneak"; opcode_map[0x0079] = "LiveOP_ExpUpdate"; opcode_map[0x027d] = "LiveOP_DumpName"; opcode_map[0x01ea] = "LiveOP_RespondAA"; opcode_map[0x01c9] = "LiveOP_SendAAStats"; opcode_map[0x0366] = "LiveOP_SendAATable"; opcode_map[0x01e9] = "LiveOP_AAAction"; opcode_map[0x00bb] = "LiveOP_BoardBoat"; opcode_map[0x00bc] = "LiveOP_LeaveBoat"; opcode_map[0x02b8] = "LiveOP_AdventureInfoRequest"; opcode_map[0x02b9] = "LiveOP_AdventureInfo"; opcode_map[0x02a6] = "LiveOP_AdventureRequest"; opcode_map[0x02a8] = "LiveOP_AdventureDetails"; opcode_map[0x02a9] = "LiveOP_LDoNButton"; opcode_map[0x02ba] = "LiveOP_AdventureData"; opcode_map[0x02c9] = "LiveOP_AdventureFinish"; opcode_map[0x02c6] = "LiveOP_LeaveAdventure"; opcode_map[0x02ce] = "LiveOP_AdventureUpdate"; opcode_map[0x002b] = "LiveOP_SendExpZonein"; opcode_map[0x01e4] = "LiveOP_ZoneInSendName"; opcode_map[0x01bf] = "LiveOP_GuildLeader"; opcode_map[0x009a] = "LiveOP_GuildPeace"; opcode_map[0x0132] = "LiveOP_GuildRemove"; opcode_map[0x0059] = "LiveOP_GuildMemberList"; opcode_map[0x026e] = "LiveOP_GuildMemberUpdate"; opcode_map[0x0130] = "LiveOP_GuildInvite"; opcode_map[0x01c0] = "LiveOP_GuildMOTD"; opcode_map[0x003c] = "LiveOP_GuildPublicNote"; opcode_map[0x027e] = "LiveOP_GetGuildMOTD"; opcode_map[0x0277] = "LiveOP_GuildDemote"; opcode_map[0x0131] = "LiveOP_GuildInviteAccept"; opcode_map[0x00a4] = "LiveOP_GuildWar"; opcode_map[0x0133] = "LiveOP_GuildDelete"; opcode_map[0x0233] = "LiveOP_GuildManageRemove"; opcode_map[0x022d] = "LiveOP_GuildManageAdd"; opcode_map[0x0039] = "LiveOP_GuildManageStatus"; opcode_map[0x01e8] = "LiveOP_Trader"; opcode_map[0x01e7] = "LiveOP_Bazaar"; opcode_map[0x01c4] = "LiveOP_BecomeTrader"; opcode_map[0x01f4] = "LiveOP_BazaarInspect"; opcode_map[0x006e] = "LiveOP_TraderItemUpdate"; opcode_map[0x017c] = "LiveOP_TraderDelItem"; opcode_map[0x01eb] = "LiveOP_TraderShop"; opcode_map[0x01ca] = "LiveOP_TraderBuy"; opcode_map[0x01ac] = "LiveOP_PetCommands"; opcode_map[0x0042] = "LiveOP_TradeSkillCombine"; opcode_map[0x02e5] = "LiveOP_AugmentItem"; opcode_map[0x0367] = "LiveOP_ItemName"; opcode_map[0x02cd] = "LiveOP_ShopItem"; opcode_map[0x0065] = "LiveOP_ShopPlayerBuy"; opcode_map[0x006a] = "LiveOP_ShopPlayerSell"; opcode_map[0x006d] = "LiveOP_ShopDelItem"; opcode_map[0x0f6d] = "LiveOP_ShopEndConfirm"; opcode_map[0x00f7] = "LiveOP_ShopRequest"; opcode_map[0x006c] = "LiveOP_ShopEnd"; opcode_map[0x02d1] = "LiveOP_AdventureMerchantRequest"; opcode_map[0x02d2] = "LiveOP_AdventureMerchantResponse"; opcode_map[0x02d3] = "LiveOP_AdventureMerchantPurchase"; opcode_map[0x02e3] = "LiveOP_AdventurePointsUpdate"; opcode_map[0x0270] = "LiveOP_LFGCommand"; opcode_map[0x01d0] = "LiveOP_LFGAppearance"; opcode_map[0x01b5] = "LiveOP_MoneyUpdate"; opcode_map[0x0721] = "LiveOP_GroupDelete"; opcode_map[0x0272] = "LiveOP_GroupAcknowledge"; opcode_map[0x024a] = "LiveOP_GroupUpdate"; opcode_map[0x025f] = "LiveOP_GroupInvite"; opcode_map[0x00ff] = "LiveOP_GroupDisband"; opcode_map[0x00d5] = "LiveOP_GroupInvite2"; opcode_map[0x025e] = "LiveOP_GroupFollow"; opcode_map[0x00d7] = "LiveOP_GroupFollow2"; opcode_map[0x00d6] = "LiveOP_GroupCancelInvite"; opcode_map[0x0156] = "LiveOP_Split"; opcode_map[0x00d8] = "LiveOP_Jump"; opcode_map[0x01d6] = "LiveOP_ConsiderCorpse"; opcode_map[0x0064] = "LiveOP_SkillUpdate"; opcode_map[0x0178] = "LiveOP_GMEndTrainingResponse"; opcode_map[0x013c] = "LiveOP_GMEndTraining"; opcode_map[0x0175] = "LiveOP_GMTrainSkill"; opcode_map[0x013b] = "LiveOP_GMTraining"; opcode_map[0x017b] = "LiveOP_ConsumeAmmo"; opcode_map[0x0171] = "LiveOP_CombatAbility"; opcode_map[0x009c] = "LiveOP_TrackUnknown"; opcode_map[0x0234] = "LiveOP_TrackTarget"; opcode_map[0x0286] = "LiveOP_Track"; opcode_map[0x0297] = "LiveOP_ReadBook"; opcode_map[0x001f] = "LiveOP_ItemLinkClick"; opcode_map[0x01f4] = "LiveOP_ItemLinkResponse"; opcode_map[0x01d9] = "LiveOP_ItemLinkText"; opcode_map[0x0a41] = "LiveOP_RezzRequest"; opcode_map[0x00e5] = "LiveOP_RezzAnswer"; opcode_map[0x019b] = "LiveOP_RezzComplete"; opcode_map[0x0128] = "LiveOP_MoveDoor"; opcode_map[0x0127] = "LiveOP_ClickDoor"; opcode_map[0x0247] = "LiveOP_SendZonepoints"; opcode_map[0x008c] = "LiveOP_SetRunMode"; opcode_map[0x0248] = "LiveOP_InspectRequest"; opcode_map[0x0249] = "LiveOP_InspectAnswer"; opcode_map[0x0187] = "LiveOP_SenseTraps"; opcode_map[0x018e] = "LiveOP_DisarmTraps"; opcode_map[0x01bc] = "LiveOP_Assist"; opcode_map[0x0240] = "LiveOP_PickPocket"; opcode_map[0x0119] = "LiveOP_LootRequest"; opcode_map[0x011a] = "LiveOP_EndLootRequest"; opcode_map[0x011b] = "LiveOP_MoneyOnCorpse"; opcode_map[0x0179] = "LiveOP_LootComplete"; opcode_map[0x013f] = "LiveOP_LootItem"; opcode_map[0x0151] = "LiveOP_MoveItem"; opcode_map[0x0056] = "LiveOP_WhoAllRequest"; opcode_map[0x0229] = "LiveOP_WhoAllResponse"; opcode_map[0x0167] = "LiveOP_Consume"; opcode_map[0x0172] = "LiveOP_AutoAttack"; opcode_map[0x0186] = "LiveOP_AutoAttack2"; opcode_map[0x0173] = "LiveOP_TargetMouse"; opcode_map[0x01ba] = "LiveOP_TargetCommand"; opcode_map[0x01d8] = "LiveOP_TargetReject"; opcode_map[0x009e] = "LiveOP_Hide"; opcode_map[0x012e] = "LiveOP_Forage"; opcode_map[0x0077] = "LiveOP_Fishing"; opcode_map[0x0246] = "LiveOP_Bug"; opcode_map[0x00f2] = "LiveOP_Emote"; opcode_map[0x0140] = "LiveOP_EmoteAnim"; opcode_map[0x015c] = "LiveOP_Consider"; opcode_map[0x01cb] = "LiveOP_FaceChange"; opcode_map[0x0197] = "LiveOP_RandomReq"; opcode_map[0x0087] = "LiveOP_RandomReply"; opcode_map[0x01c3] = "LiveOP_Camp"; opcode_map[0x0192] = "LiveOP_YellForHelp"; opcode_map[0x00ef] = "LiveOP_SafePoint"; opcode_map[0x0157] = "LiveOP_Buff"; opcode_map[0x00c0] = "LiveOP_ColoredText"; opcode_map[0x0440] = "LiveOP_MultiLineMsg"; opcode_map[0x021c] = "LiveOP_SpecialMesg"; opcode_map[0x0013] = "LiveOP_Consent"; opcode_map[0x029d] = "LiveOP_ConsentResponse"; opcode_map[0x02d4] = "LiveOP_Deny"; opcode_map[0x016c] = "LiveOP_Stun"; opcode_map[0x0021] = "LiveOP_BeginCast"; opcode_map[0x00be] = "LiveOP_CastSpell"; opcode_map[0x01a8] = "LiveOP_InterruptCast"; opcode_map[0x0105] = "LiveOP_Death"; opcode_map[0x023f] = "LiveOP_FeignDeath"; opcode_map[0x012b] = "LiveOP_Illusion"; opcode_map[0x0078] = "LiveOP_LevelUpdate"; opcode_map[0x0371] = "LiveOP_LevelAppearance"; opcode_map[0x00c2] = "LiveOP_MemorizeSpell"; opcode_map[0x0244] = "LiveOP_HPUpdate"; opcode_map[0x022e] = "LiveOP_SendHPTarget"; opcode_map[0x007d] = "LiveOP_Mend"; opcode_map[0x0160] = "LiveOP_Taunt"; opcode_map[0x0199] = "LiveOP_GMDelCorpse"; opcode_map[0x0047] = "LiveOP_GMFind"; opcode_map[0x0020] = "LiveOP_GMServers"; opcode_map[0x010b] = "LiveOP_GMGoto"; opcode_map[0x028c] = "LiveOP_GMSummon"; opcode_map[0x010a] = "LiveOP_GMKick"; opcode_map[0x0109] = "LiveOP_GMKill"; opcode_map[0x0b40] = "LiveOP_GMNameChange"; opcode_map[0x00a3] = "LiveOP_GMLastName"; opcode_map[0x01b3] = "LiveOP_GMToggle"; opcode_map[0x028f] = "LiveOP_GMEmoteZone"; opcode_map[0x0074] = "LiveOP_GMBecomeNPC"; opcode_map[0x00de] = "LiveOP_GMHideMe"; opcode_map[0x0184] = "LiveOP_GMZoneRequest"; opcode_map[0x0239] = "LiveOP_GMZoneRequest2"; opcode_map[0x0068] = "LiveOP_Petition"; opcode_map[0x0085] = "LiveOP_PetitionRefresh"; opcode_map[0x01ee] = "LiveOP_PDeletePetition"; opcode_map[0x0092] = "LiveOP_PetitionBug"; opcode_map[0x0069] = "LiveOP_PetitionUpdate"; opcode_map[0x0076] = "LiveOP_PetitionCheckout"; opcode_map[0x0056] = "LiveOP_PetitionCheckout2"; opcode_map[0x0091] = "LiveOP_PetitionDelete"; opcode_map[0x02b4] = "LiveOP_PetitionResolve"; opcode_map[0x007e] = "LiveOP_PetitionCheckIn"; opcode_map[0x0090] = "LiveOP_PetitionUnCheckout"; opcode_map[0x01ec] = "LiveOP_PetitionQue"; opcode_map[0x01bb] = "LiveOP_SetServerFilter"; opcode_map[0x0218] = "LiveOP_NewSpawn"; opcode_map[0x0140] = "LiveOP_Animation"; opcode_map[0x0142] = "LiveOP_ZoneChange"; opcode_map[0x00f3] = "LiveOP_DeleteSpawn"; opcode_map[0x0265] = "LiveOP_CrashDump"; opcode_map[0x00e8] = "LiveOP_EnvDamage"; opcode_map[0x0101] = "LiveOP_Action"; opcode_map[0x00e2] = "LiveOP_Damage"; opcode_map[0x00bf] = "LiveOP_ManaChange"; opcode_map[0x027c] = "LiveOP_ClientError"; opcode_map[0x00fb] = "LiveOP_Save"; opcode_map[0x0316] = "LiveOP_LocInfo"; opcode_map[0x0188] = "LiveOP_Surname"; opcode_map[0x018f] = "LiveOP_SwapSpell"; opcode_map[0x01db] = "LiveOP_DeleteSpell"; opcode_map[0x029f] = "LiveOP_CloseContainer"; opcode_map[0x029f] = "LiveOP_ClickObjectAck"; opcode_map[0x00fa] = "LiveOP_CreateObject"; opcode_map[0x00f9] = "LiveOP_ClickObject"; opcode_map[0x01c1] = "LiveOP_ClearObject"; opcode_map[0x0265] = "LiveOP_ZoneUnavail"; opcode_map[0x02e0] = "LiveOP_ItemPacket"; opcode_map[0x029a] = "LiveOP_TradeRequest"; opcode_map[0x0037] = "LiveOP_TradeRequestAck"; opcode_map[0x002d] = "LiveOP_TradeAcceptClick"; opcode_map[0x0162] = "LiveOP_TradeMoneyUpdate"; opcode_map[0x0036] = "LiveOP_TradeCoins"; opcode_map[0x002e] = "LiveOP_CancelTrade"; opcode_map[0x002f] = "LiveOP_FinishTrade"; opcode_map[0x00a1] = "LiveOP_SaveOnZoneReq"; opcode_map[0x0185] = "LiveOP_Logout"; opcode_map[0x0298] = "LiveOP_RequestDuel"; opcode_map[0x0a5d] = "LiveOP_DuelResponse"; opcode_map[0x016e] = "LiveOP_DuelResponse2"; opcode_map[0x007c] = "LiveOP_InstillDoubt"; opcode_map[0x00ac] = "LiveOP_SafeFallSuccess"; opcode_map[0x02fb] = "LiveOP_DisciplineUpdate"; opcode_map[0x02f2] = "LiveOP_TributeUpdate"; opcode_map[0x02f3] = "LiveOP_TributeItem"; opcode_map[0x02f4] = "LiveOP_TributePointUpdate"; opcode_map[0x02f5] = "LiveOP_SendTributes"; opcode_map[0x02f6] = "LiveOP_TributeInfo"; opcode_map[0x02f7] = "LiveOP_SelectTribute"; opcode_map[0x02f8] = "LiveOP_TributeTimer"; opcode_map[0x02f9] = "LiveOP_StartTribute"; opcode_map[0x02fa] = "LiveOP_TributeNPC"; opcode_map[0x02fe] = "LiveOP_TributeMoney"; opcode_map[0x0364] = "LiveOP_TributeToggle"; opcode_map[0x0322] = "LiveOP_RecipesFavorite"; opcode_map[0x01f9] = "LiveOP_RecipesSearch"; opcode_map[0x01fa] = "LiveOP_RecipeReply"; opcode_map[0x01fb] = "LiveOP_RecipeDetails"; opcode_map[0x01fc] = "LiveOP_RecipeAutoCombine"; opcode_map[0x02db] = "LiveOP_FindPersonRequest"; opcode_map[0x02dc] = "LiveOP_FindPersonReply"; opcode_map[0x01dd] = "LiveOP_Shielding"; opcode_map[0x0198] = "LiveOP_SetDataRate"; opcode_map[0x023b] = "LiveOP_ZoneEntry"; opcode_map[0x006b] = "LiveOP_PlayerProfile"; opcode_map[0x0291] = "LiveOP_CharInventory"; opcode_map[0x0170] = "LiveOP_ZoneSpawns"; opcode_map[0x0026] = "LiveOP_TimeOfDay"; opcode_map[0x015b] = "LiveOP_Weather"; opcode_map[0x00ec] = "LiveOP_ReqNewZone"; opcode_map[0x00eb] = "LiveOP_NewZone"; opcode_map[0x00fd] = "LiveOP_ReqClientSpawn"; opcode_map[0x012F] = "LiveOP_SpawnAppearance"; opcode_map[0x0086] = "LiveOP_ClientReady"; opcode_map[0x0086] = "LiveOP_ZoneComplete"; opcode_map[0x02db] = "LiveOP_LoginComplete"; opcode_map[0x0195] = "LiveOP_ApproveWorld"; opcode_map[0x035f] = "LiveOP_LogServer"; opcode_map[0x01b2] = "LiveOP_MOTD"; opcode_map[0x0251] = "LiveOP_SendLoginInfo"; opcode_map[0x00ea] = "LiveOP_DeleteCharacter"; opcode_map[0x0102] = "LiveOP_SendCharInfo"; opcode_map[0x00e1] = "LiveOP_ExpansionInfo"; opcode_map[0x0104] = "LiveOP_CharacterCreate"; opcode_map[0x02ab] = "LiveOP_RandomNameGenerator"; opcode_map[0x005d] = "LiveOP_GuildsList"; opcode_map[0x0125] = "LiveOP_ApproveName"; opcode_map[0x0261] = "LiveOP_EnterWorld"; opcode_map[0x015a] = "LiveOP_World_Client_CRC1"; opcode_map[0x015e] = "LiveOP_World_Client_CRC2"; opcode_map[0x0269] = "LiveOP_SetChatServer"; opcode_map[0x0264] = "LiveOP_ZoneServerInfo"; opcode_map[0x0017] = "LiveOP_AckPacket"; opcode_map[0x012c] = "LiveOP_WearChange"; opcode_map[0x1FA1] = "LiveOP_WorldObjectsSent"; opcode_map[0x39C4] = "LiveOP_BlockedBuffs"; opcode_map[0x4656] = "LiveOP_SpawnPositionUpdate"; opcode_map[0x4b61] = "LiveOP_ManaUpdate"; opcode_map[0x02d6] = "LiveOP_EnduranceUpdate"; opcode_map[0x2ac1] = "LiveOP_MobManaUpdate"; opcode_map[0x6c5f] = "LiveOP_MobEnduranceUpdate"; opcode_map[0x73a8] = "LiveOP_SendMaxCharacters"; }