# ShowEQ Import Notes: # ZERO THE FILE first # perl -pi -e 's/0x[0-9a-fA-F]{4}/0x0000/g' opcodes.conf # Unknown Mapping: # OP_Action2 -> OP_Damage # OP_EnvDamage -> OP_Damage ---> might have been a one time mistake # Name Differences: # OP_CancelInvite -> OP_GroupCancelInvite # OP_GMFind -> OP_FindPersonRequest # OP_CommonMessage -> OP_ChannelMessage OP_Unknown=0x0000 OP_ExploreUnknown=0x0000 used for unknown explorer # world packets # Required to reach Char Select: OP_SendLoginInfo=0x317e OP_ApproveWorld=0x2ef2 OP_LogServer=0x5b24 OP_SendCharInfo=0x2ad9 OP_ExpansionInfo=0x1a9b OP_GuildsList=0x6f57 OP_EnterWorld=0x6078 OP_PostEnterWorld=0x0f9f OP_World_Client_CRC1=0x7978 OP_World_Client_CRC2=0x2b1c OP_SendSpellChecksum=0x0000 OP_SendSkillCapsChecksum=0x0000 # Character Select Related: OP_SendMaxCharacters=0x24db OP_SendMembership=0x57f3 OP_SendMembershipDetails=0x4183 OP_CharacterCreateRequest=0x2cad OP_CharacterCreate=0x15d7 OP_DeleteCharacter=0x2f9a OP_RandomNameGenerator=0x4bf8 OP_ApproveName=0x78cc OP_MOTD=0x282a OP_SetChatServer=0x3f5e OP_SetChatServer2=0x6a29 OP_ZoneServerInfo=0x00c9 OP_WorldComplete=0x48e6 OP_WorldUnknown001=0x52d2 OP_FloatListThing=0x2b9c # Reasons for Disconnect: OP_ZoneUnavail=0x408a OP_WorldClientReady=0x45b4 OP_CharacterStillInZone=0x0000 OP_WorldChecksumFailure=0x0000 OP_WorldLoginFailed=0x0000 OP_WorldLogout=0x0000 OP_WorldLevelTooHigh=0x0000 OP_CharInacessable=0x0000 OP_UserCompInfo=0x0000 OP_SendExeChecksum=0x0000 OP_SendBaseDataChecksum=0x0000 # Zone in opcodes OP_AckPacket=0x46c2 OP_ZoneEntry=0x4a63 OP_ReqNewZone=0x3ff0 OP_NewZone=0x6727 OP_ZoneSpawns=0x1d0a OP_PlayerProfile=0x6926 OP_TimeOfDay=0x6b7b OP_LevelUpdate=0x1d84 OP_Stamina=0x5114 OP_RequestClientZoneChange=0x31b0 OP_ZoneChange=0x7951 OP_LockoutTimerInfo=0x0000 OP_ZoneServerReady=0x0000 OP_ZoneInUnknown=0x0000 OP_LogoutReply=0x0000 OP_PreLogoutReply=0x0000 # Required to fully log in OP_SpawnAppearance=0x3143 OP_ChangeSize=0x70d1 OP_TributeUpdate=0x590f OP_TributeTimer=0x4590 OP_SendTributes=0x4124 OP_SendGuildTributes=0x1df9 OP_TributeInfo=0x37b0 OP_Weather=0x63f0 OP_ReqClientSpawn=0x37f1 OP_SpawnDoor=0x7e51 OP_GroundSpawn=0x07eb OP_SendZonepoints=0x0067 OP_BlockedBuffs=0x1375 OP_RemoveBlockedBuffs=0x7996 OP_ClearBlockedBuffs=0x7a20 OP_WorldObjectsSent=0x0ae9 OP_SendExpZonein=0x0380 OP_SendAATable=0x7a7c OP_RespondAA=0x11a3 OP_UpdateAA=0x4559 OP_SendAAStats=0x32fd OP_AAExpUpdate=0x24a1 OP_ExpUpdate=0x793d OP_HPUpdate=0x6598 OP_ManaChange=0x3a19 OP_TGB=0x552e OP_SpecialMesg=0x7545 OP_GuildMemberList=0x2ef0 OP_GuildMOTD=0x3880 OP_CharInventory=0x4df2 OP_WearChange=0x003a OP_ClientUpdate=0x47c9 OP_ClientReady=0x7538 OP_SetServerFilter=0x178d # Guild Opcodes - Disabled until crashes are resolved in RoF OP_GetGuildMOTD=0x3dfe OP_GetGuildMOTDReply=0x7bff OP_GuildMemberUpdate=0x45e4 OP_GuildInvite=0x47d2 OP_GuildRemove=0x245d OP_GuildPeace=0x71b2 OP_SetGuildMOTD=0x703b OP_GuildList=0x0000 OP_GuildWar=0x731c OP_GuildLeader=0x01c6 OP_GuildDelete=0x5592 OP_GuildInviteAccept=0x7fa4 OP_GuildDemote=0x144a OP_GuildPublicNote=0x44fb OP_GuildManageBanker=0x769e OP_GuildBank=0x2591 OP_SetGuildRank=0x4195 OP_GuildUpdateURLAndChannel=0x2df0 OP_GuildStatus=0x6e9e OP_GuildCreate=0x1544 OP_GuildMemberLevelUpdate=0x0000 # Unused? OP_ZoneGuildList=0x0000 # Unused? OP_GetGuildsList=0x0000 # Unused? OP_LFGuild=0x0000 OP_GuildManageRemove=0x0000 OP_GuildManageAdd=0x0000 OP_GuildManageStatus=0x0000 # GM/Guide Opcodes OP_GMServers=0x2e1e OP_GMBecomeNPC=0x1def OP_GMZoneRequest=0x49ad OP_GMZoneRequest2=0x54ff OP_GMGoto=0x35a9 OP_GMSearchCorpse=0x206c OP_GMHideMe=0x0b62 OP_GMDelCorpse=0x6344 OP_GMApproval=0x35b3 OP_GMToggle=0x3bd7 OP_GMSummon=0x0c58 OP_GMEmoteZone=0x28ab OP_GMEmoteWorld=0x4903 OP_GMFind=0x0ea3 OP_GMKick=0x5f92 OP_GMKill=0x3b7d OP_GMNameChange=0x1c3f OP_GMLastName=0x4ead # Misc Opcodes OP_InspectRequest=0x3692 OP_InspectAnswer=0x0af1 OP_InspectMessageUpdate=0x1bc6 OP_BeginCast=0x5df6 OP_BuffFadeMsg=0x569a OP_ConsentResponse=0x68c2 OP_MemorizeSpell=0x72e2 OP_SwapSpell=0x70c4 OP_CastSpell=0x5c4b OP_Consider=0x0e31 OP_FormattedMessage=0x3735 OP_SimpleMessage=0x4645 OP_Buff=0x7fb5 OP_Illusion=0x3772 OP_MoneyOnCorpse=0x4ab0 OP_RandomReply=0x76ea OP_DenyResponse=0x0a88 OP_SkillUpdate=0x2e5f OP_GMTrainSkillConfirm=0x6692 OP_RandomReq=0x16e6 OP_Death=0x25ad OP_GMTraining=0x3dcc OP_GMEndTraining=0x5721 OP_GMTrainSkill=0x38f0 OP_Animation=0x53f6 OP_Begging=0x4d3d OP_Consent=0x4d7c OP_ConsentDeny=0x3b03 OP_AutoFire=0x4697 OP_PetCommands=0x574a OP_DeleteSpell=0x5279 OP_Surname=0x181d OP_ClearSurname=0x1097 OP_FaceChange=0x59d8 OP_SenseHeading=0x689a OP_Action=0x280b OP_ConsiderCorpse=0x6c92 OP_HideCorpse=0x7dea OP_CorpseDrag=0x338a OP_CorpseDrop=0x409e OP_Bug=0x7589 OP_Feedback=0x5d5f OP_Report=0x521c OP_Damage=0x5e8a OP_ChannelMessage=0x1770 OP_Assist=0x7021 OP_AssistGroup=0x6668 OP_MoveCoin=0x6a56 OP_ZonePlayerToBind=0x859e OP_KeyRing=0x7613 OP_WhoAllRequest=0x1d64 OP_WhoAllResponse=0x20aa OP_FriendsWho=0x527c OP_ConfirmDelete=0x3221 OP_Logout=0x4e12 OP_Rewind=0x44d0 OP_TargetCommand=0x726c OP_Hide=0x23f2 OP_Jump=0x3dbc OP_Camp=0x2ca2 OP_Emote=0x314d OP_SetRunMode=0x276f OP_BankerChange=0x21b0 OP_TargetMouse=0x3605 OP_MobHealth=0x1949 OP_InitialMobHealth=0x0000 # Unused? OP_TargetHoTT=0x1be6 OP_XTargetResponse=0x0ad9 OP_XTargetRequest=0x3034 OP_XTargetAutoAddHaters=0x7efd OP_TargetBuffs=0x5e3b OP_BuffCreate=0x51da OP_BuffRemoveRequest=0x6ce2 OP_DeleteSpawn=0x0ef8 OP_AutoAttack=0x577f OP_AutoAttack2=0x4f56 OP_Consume=0x7cca OP_MoveItem=0x5ba6 OP_DeleteItem=0x36dd OP_DeleteCharge=0x6ec3 OP_ItemPacket=0x75b5 OP_ItemLinkResponse=0x5fa8 OP_ItemLinkClick=0x0b40 OP_ItemPreview=0x2688 OP_NewSpawn=0x7cde OP_Track=0x2f78 OP_TrackTarget=0x74dc OP_TrackUnknown=0x3127 OP_ClickDoor=0x2b55 OP_MoveDoor=0x5e21 OP_RemoveAllDoors=0x73b3 OP_EnvDamage=0x21da OP_BoardBoat=0x1372 OP_Forage=0x0d91 OP_LeaveBoat=0x7582 OP_ControlBoat=0x5d0e OP_SafeFallSuccess=0x317f OP_RezzComplete=0x017b OP_RezzRequest=0x21a1 OP_RezzAnswer=0x21ce OP_Shielding=0x17d3 OP_RequestDuel=0x4870 OP_MobRename=0x3a4e OP_AugmentItem=0x3d13 OP_WeaponEquip1=0x6041 OP_WeaponEquip2=0x23f7 OP_WeaponUnequip2=0x4078 OP_ApplyPoison=0x099a OP_Save=0x1361 OP_TestBuff=0x478a OP_CustomTitles=0x6115 OP_Split=0x617f OP_YellForHelp=0x40d4 OP_LoadSpellSet=0x0680 OP_Bandolier=0x1627 OP_PotionBelt=0x3208 OP_DuelResponse=0x0d3b OP_DuelResponse2=0x24e0 OP_SaveOnZoneReq=0x13af OP_ReadBook=0x641b OP_Dye=0x401f OP_InterruptCast=0x27e0 OP_AAAction=0x2eae OP_LeadershipExpToggle=0x0f66 OP_LeadershipExpUpdate=0x3791 OP_PurchaseLeadershipAA=0x2c3e OP_UpdateLeadershipAA=0x18ef OP_MarkNPC=0x3093 OP_ClearNPCMarks=0x1404 OP_DelegateAbility=0x29a8 OP_SetGroupTarget=0x7b9f OP_Charm=0x1c1f OP_Stun=0x45e0 OP_SendFindableNPCs=0x62da OP_FindPersonRequest=0x41fb OP_FindPersonReply=0x23e2 OP_Sound=0x622a OP_PetBuffWindow=0x53f8 OP_LevelAppearance=0x5b03 OP_Translocate=0x5e10 OP_Sacrifice=0x2ee4 OP_PopupResponse=0x7f5e OP_OnLevelMessage=0x1ef3 OP_AugmentInfo=0x0000 OP_Petition=0x71e3 OP_SomeItemPacketMaybe=0x1f4c OP_PVPStats=0x1937 # Unsure OP_PVPLeaderBoardRequest=0x739b OP_PVPLeaderBoardReply=0x5c62 OP_PVPLeaderBoardDetailsRequest=0x4ce0 OP_PVPLeaderBoardDetailsReply=0x2a52 OP_RestState=0x2342 OP_RespawnWindow=0x3f23 OP_LDoNButton=0x3820 OP_SetStartCity=0x5d81 OP_VoiceMacroIn=0x3144 OP_VoiceMacroOut=0x75ed OP_ItemViewUnknown=0x6cc1 OP_VetRewardsAvaliable=0x67a6 OP_VetClaimRequest=0x23e7 OP_VetClaimReply=0x23eb OP_DisciplineUpdate=0x5010 OP_DisciplineTimer=0x0673 OP_BecomeCorpse=0x0000 # Unused? OP_Action2=0x0000 # Unused? OP_MobUpdate=0x710b OP_NPCMoveUpdate=0x51e9 OP_CameraEffect=0x7a73 OP_SpellEffect=0x30b6 OP_RemoveNimbusEffect=0x1fb3 OP_AltCurrency=0x32db OP_AltCurrencyMerchantRequest=0x6588 OP_AltCurrencyMerchantReply=0x393c OP_AltCurrencyPurchase=0x43e8 OP_AltCurrencySell=0x2c40 OP_AltCurrencySellSelection=0x0eec OP_AltCurrencyReclaim=0x0fbc OP_CrystalCountUpdate=0x5cd9 OP_CrystalCreate=0x0e4b OP_CrystalReclaim=0x6506 OP_Untargetable=0x3859 OP_IncreaseStats=0x22b9 OP_Weblink=0x2d92 #OP_OpenInventory=0x0000 # Likely does not exist in RoF -U OP_OpenContainer=0x0000 OP_DzQuit=0x20fb OP_DzListTimers=0x50c1 OP_DzAddPlayer=0x06e0 OP_DzRemovePlayer=0x90ca OP_DzSwapPlayer=0x6461 OP_DzMakeLeader=0x599d OP_DzPlayerList=0x6dfb OP_DzJoinExpeditionConfirm=0x3e9d OP_DzJoinExpeditionReply=0x25b7 OP_DzExpeditionInfo=0x56a8 OP_DzExpeditionList=0x6171 OP_DzMemberStatus=0x52d9 OP_DzLeaderStatus=0x7b38 OP_DzExpeditionEndsWarning=0x26c5 OP_DzMemberList=0x59e2 OP_DzCompass=0x3435 OP_DzChooseZone=0x0000 # New Opcodes OP_SpawnPositionUpdate=0x0000 # Actually OP_MobUpdate ? OP_ManaUpdate=0x06bc OP_EnduranceUpdate=0x4e20 OP_MobManaUpdate=0x4738 OP_MobEnduranceUpdate=0x6519 # Mercenary Opcodes OP_MercenaryDataUpdateRequest=0x3a44 OP_MercenaryDataUpdate=0x6c75 OP_MercenaryDataRequest=0x4b77 OP_MercenaryDataResponse=0x69a0 OP_MercenaryHire=0x49cd OP_MercenaryDismiss=0x74bd OP_MercenaryTimer=0x34df OP_MercenaryTimerRequest=0x5f36 OP_MercenaryUnknown1=0x305c OP_MercenaryCommand=0x2131 OP_MercenarySuspendRequest=0x53e8 OP_MercenarySuspendResponse=0x277d OP_MercenaryUnsuspendResponse=0x6ccc # Looting OP_LootRequest=0x396f OP_EndLootRequest=0x12a6 OP_LootItem=0x7e1d OP_LootComplete=0x46e8 # bazaar trader stuff: OP_BazaarSearch=0x0962 OP_TraderDelItem=0x0000 OP_BecomeTrader=0x3360 OP_TraderShop=0x67f9 OP_Trader=0x3f87 OP_TraderBuy=0x0000 OP_Barter=0x14b0 OP_ShopItem=0x0000 OP_BazaarInspect=0x0000 OP_Bazaar=0x0000 OP_TraderItemUpdate=0x0000 # pc/npc trading OP_TradeRequest=0x1695 OP_TradeAcceptClick=0x0ecc OP_TradeRequestAck=0x6489 OP_TradeCoins=0x35eb OP_FinishTrade=0x6897 OP_CancelTrade=0x7e73 OP_TradeMoneyUpdate=0x5857 OP_MoneyUpdate=0x2044 OP_TradeBusy=0x5ee9 # Sent after canceling trade or after closing tradeskill object OP_FinishWindow=0x00ef OP_FinishWindow2=0x7e90 # Sent on Live for what seems to be item existance verification # Ex. Before Right Click Effect happens from items OP_ItemVerifyRequest=0x3d17 OP_ItemVerifyReply=0x0f0e # merchant stuff OP_ShopPlayerSell=0x1650 OP_ShopRequest=0x6dab OP_ShopEnd=0x44f1 OP_ShopEndConfirm=0x07ad OP_ShopPlayerBuy=0x7d9b OP_ShopDelItem=0x2cec # tradeskill stuff: OP_ClickObject=0x4370 OP_ClickObjectAction=0x0883 OP_ClearObject=0x4dd6 OP_RecipeDetails=0x584c OP_RecipesFavorite=0x2e74 OP_RecipesSearch=0x41ee OP_RecipeReply=0x1d46 OP_RecipeAutoCombine=0x413d OP_TradeSkillCombine=0x268f # Tribute Packets: OP_OpenGuildTributeMaster=0x4b72 OP_OpenTributeMaster=0x58fb OP_SelectTribute=0x3cb7 OP_TributeItem=0x796f OP_TributeMoney=0x7bed OP_TributeToggle=0x448c OP_TributePointUpdate=0x0ca7 OP_TributeNPC=0x0000 OP_GuildTributeInfo=0x0000 OP_OpenTributeReply=0x0000 OP_GuildTributeStatus=0x0000 # Adventure packets: OP_LeaveAdventure=0x37bd OP_AdventureFinish=0x2ebd OP_AdventureInfoRequest=0x258e OP_AdventureInfo=0x5df3 OP_AdventureRequest=0x078c OP_AdventureDetails=0x451d OP_AdventureData=0x10da OP_AdventureUpdate=0x38bc OP_AdventureMerchantRequest=0x4958 OP_AdventureMerchantResponse=0x71ab OP_AdventureMerchantPurchase=0x207d OP_AdventureMerchantSell=0x3307 OP_AdventurePointsUpdate=0x0a93 OP_AdventureStatsRequest=0x1b35 OP_AdventureStatsReply=0x4cce OP_AdventureLeaderboardRequest=0x4ac4 OP_AdventureLeaderboardReply=0x71c1 # Group Opcodes OP_GroupDisband=0x4039 OP_GroupInvite=0x3b75 OP_GroupFollow=0x3158 OP_GroupUpdate=0x6b4e OP_GroupUpdateB=0x39c3 OP_GroupCancelInvite=0x0000 OP_GroupAcknowledge=0x4013 OP_GroupDelete=0x2fb9 OP_CancelInvite=0x4ea4 OP_GroupFollow2=0x396c OP_GroupInvite2=0x4cc2 OP_GroupDisbandYou=0x739a OP_GroupDisbandOther=0x416d OP_GroupLeaderChange=0x3153 OP_GroupRoles=0x3d35 OP_GroupMakeLeader=0x77a0 OP_DoGroupLeadershipAbility=0x0c82 OP_GroupLeadershipAAUpdate=0x4d85 # LFG/LFP Opcodes OP_LFGCommand=0x370c OP_LFGGetMatchesRequest=0x54e8 OP_LFGGetMatchesResponse=0x444a OP_LFPGetMatchesRequest=0x55d6 OP_LFPGetMatchesResponse=0x0928 OP_LFPCommand=0x1df7 OP_LFGAppearance=0x0000 OP_LFGResponse=0x0000 # Raid Opcodes OP_RaidInvite=0x7e7e OP_RaidUpdate=0x1c5a OP_RaidJoin=0x0000 # Button-push commands OP_Taunt=0x4798 OP_CombatAbility=0x182d OP_SenseTraps=0x3662 OP_PickPocket=0x23c8 OP_DisarmTraps=0x0000 OP_Disarm=0x0bc6 OP_Sneak=0x54a4 OP_Fishing=0x1e3b OP_InstillDoubt=0x5a3f OP_FeignDeath=0x7bb7 OP_Mend=0x56fb OP_Bind_Wound=0x174b OP_LDoNOpen=0x139f # Task packets OP_TaskDescription=0x1eac OP_TaskActivity=0x4423 OP_CompletedTasks=0x7046 OP_TaskActivityComplete=0x7eee OP_AcceptNewTask=0x3d60 OP_CancelTask=0x26a8 OP_TaskMemberList=0x411e OP_OpenNewTasksWindow=0x2633 OP_AvaliableTask=0x05cc OP_TaskHistoryRequest=0x72e1 OP_TaskHistoryReply=0x0c1e OP_DeclineAllTasks=0x0000 # Title opcodes OP_NewTitlesAvailable=0x201f OP_RequestTitles=0x6034 OP_SendTitleList=0x2142 OP_SetTitle=0x740d OP_SetTitleReply=0x3196 # mail opcodes OP_Command=0x0000 OP_MailboxHeader=0x0000 OP_MailHeader=0x0000 OP_MailBody=0x0000 OP_NewMail=0x0000 OP_SentConfirm=0x0000 ########### Below this point should not be needed ########### # This section are all unknown in Titanium OP_ForceFindPerson=0x0000 OP_LocInfo=0x0000 OP_ReloadUI=0x0000 OP_ItemName=0x0000 OP_ItemLinkText=0x0000 OP_MultiLineMsg=0x0000 OP_MendHPUpdate=0x0000 OP_TargetReject=0x0000 OP_SafePoint=0x0000 OP_ApproveZone=0x0000 OP_ZoneComplete=0x0000 OP_ClientError=0x0000 OP_DumpName=0x0000 OP_Heartbeat=0x0000 OP_CrashDump=0x0000 OP_LoginComplete=0x0000 # discovered opcodes not yet used: OP_PickLockSuccess=0x0000 OP_PlayMP3=0x0000 OP_ReclaimCrystals=0x0000 OP_DynamicWall=0x0000 OP_OpenDiscordMerchant=0x0000 OP_DiscordMerchantInventory=0x0000 OP_GiveMoney=0x0000 OP_RequestKnowledgeBase=0x0000 OP_KnowledgeBase=0x0000 OP_SlashAdventure=0x0000 # /adventure OP_BecomePVPPrompt=0x0000 OP_MoveLogRequest=0x0000 # gone I think OP_MoveLogDisregard=0x0000 # gone I think # named unknowns, to make looking for real unknown easier OP_AnnoyingZoneUnknown=0x0000 OP_Some6ByteHPUpdate=0x0000 seems to happen when you target group members OP_QueryResponseThing=0x0000 # realityincarnate: these are just here to stop annoying several thousand byte packet dumps #OP_LoginUnknown1=0x46d3 # OP_SendSpellChecksum #OP_LoginUnknown2=0x040b # OP_SendSkillCapsChecksum # Petition Opcodes OP_PetitionSearch=0x0000 search term for petition OP_PetitionSearchResults=0x0000 (list of?) matches from search OP_PetitionSearchText=0x0000 text results of search OP_PetitionUpdate=0x0000 OP_PetitionCheckout=0x0000 OP_PetitionCheckIn=0x0000 OP_PetitionQue=0x0000 OP_PetitionUnCheckout=0x0000 OP_PetitionDelete=0x0000 OP_DeletePetition=0x0000 OP_PetitionResolve=0x0000 OP_PDeletePetition=0x0000 OP_PetitionBug=0x0000 OP_PetitionRefresh=0x0000 OP_PetitionCheckout2=0x0000 OP_PetitionViewPetition=0x0000 # Login opcodes OP_SessionReady=0x0000 OP_Login=0x0000 OP_ServerListRequest=0x0000 OP_PlayEverquestRequest=0x0000 OP_PlayEverquestResponse=0x0000 OP_ChatMessage=0x0000 OP_LoginAccepted=0x0000 OP_ServerListResponse=0x0000 OP_Poll=0x0000 OP_EnterChat=0x0000 OP_PollResponse=0x0000 # raw opcodes OP_RAWSessionRequest=0x0000 OP_RAWSessionResponse=0x0000 OP_RAWCombined=0x0000 OP_RAWSessionDisconnect=0x0000 OP_RAWKeepAlive=0x0000 OP_RAWSessionStatRequest=0x0000 OP_RAWSessionStatResponse=0x0000 OP_RAWPacket=0x0000 OP_RAWFragment=0x0000 OP_RAWOutOfOrderAck=0x0000 OP_RAWAck=0x0000 OP_RAWAppCombined=0x0000 OP_RAWOutOfSession=0x0000 # we need to document the differences between these packets to make identifying them easier OP_Some3ByteHPUpdate=0x0000 # initial HP update for mobs OP_InitialHPUpdate=0x0000