# 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=0x7a09 OP_ApproveWorld=0x7499 OP_LogServer=0x7ceb OP_SendCharInfo=0x00d2 OP_ExpansionInfo=0x590d OP_GuildsList=0x0000 OP_EnterWorld=0x578f OP_PostEnterWorld=0x6259 OP_World_Client_CRC1=0x12cc OP_World_Client_CRC2=0x0f13 OP_SendSpellChecksum=0x0000 OP_SendSkillCapsChecksum=0x0000 # Character Select Related: OP_SendMaxCharacters=0x5475 OP_SendMembership=0x7acc OP_SendMembershipDetails=0x057b OP_CharacterCreateRequest=0x6773 OP_CharacterCreate=0x6bbf OP_DeleteCharacter=0x1808 OP_RandomNameGenerator=0x5954 OP_ApproveName=0x56a2 OP_MOTD=0x0c22 OP_SetChatServer=0x1bc5 OP_SetChatServer2=0x7eec OP_ZoneServerInfo=0x4c44 OP_WorldComplete=0x4493 OP_WorldUnknown001=0x2301 OP_FloatListThing=0x46c6 # Reasons for Disconnect: OP_ZoneUnavail=0x4cb4 OP_WorldClientReady=0x23c1 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=0x471d OP_ZoneEntry=0x5089 OP_ReqNewZone=0x7887 OP_NewZone=0x1795 OP_ZoneSpawns=0x5237 OP_PlayerProfile=0x6506 OP_TimeOfDay=0x5070 OP_LevelUpdate=0x1eec OP_Stamina=0x2a79 OP_RequestClientZoneChange=0x3fcf OP_ZoneChange=0x2d18 OP_LockoutTimerInfo=0x0000 OP_ZoneServerReady=0x0000 OP_ZoneInUnknown=0x0000 OP_LogoutReply=0x0000 OP_PreLogoutReply=0x0000 # Required to fully log in OP_SpawnAppearance=0x0971 OP_ChangeSize=0x4707 OP_TributeUpdate=0x5961 OP_TributeTimer=0x073d OP_SendTributes=0x729b OP_SendGuildTributes=0x1877 OP_TributeInfo=0x4254 OP_Weather=0x661e OP_ReqClientSpawn=0x35fa OP_SpawnDoor=0x7291 OP_GroundSpawn=0x6fca OP_SendZonepoints=0x69a4 OP_BlockedBuffs=0x3033 OP_RemoveBlockedBuffs=0x0de7 OP_ClearBlockedBuffs=0x34cb OP_WorldObjectsSent=0x5ae2 OP_SendExpZonein=0x5f8e OP_SendAATable=0x66b5 OP_RespondAA=0x7a27 OP_UpdateAA=0x66f0 OP_SendAAStats=0x43c8 OP_AAExpUpdate=0x7d14 OP_ExpUpdate=0x20ed OP_HPUpdate=0x2828 OP_ManaChange=0x5467 OP_TGB=0x0876 OP_SpecialMesg=0x0083 OP_GuildMemberList=0x12a6 OP_GuildMOTD=0x3e13 OP_CharInventory=0x5ca6 OP_WearChange=0x7994 OP_ClientUpdate=0x7dfc OP_ClientReady=0x345d OP_SetServerFilter=0x444d # Guild Opcodes - Disabled until crashes are resolved in RoF OP_GetGuildMOTD=0x36e0 OP_GetGuildMOTDReply=0x4f1f OP_GuildMemberUpdate=0x69b9 OP_GuildInvite=0x7099 OP_GuildRemove=0x1444 OP_GuildPeace=0x67e3 OP_SetGuildMOTD=0x0b0b OP_GuildList=0x6279 OP_GuildWar=0x1ffb OP_GuildLeader=0x7e09 OP_GuildDelete=0x3708 OP_GuildInviteAccept=0x7053 OP_GuildDemote=0x2d4e OP_GuildPromote=0x0000 OP_GuildPublicNote=0x5053 OP_GuildManageBanker=0x748f OP_GuildBank=0x5134 OP_SetGuildRank=0x0b9c OP_GuildUpdateURLAndChannel=0x2958 OP_GuildStatus=0x7326 OP_GuildCreate=0x76d9 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=0x08c1 OP_GMBecomeNPC=0x3ae1 OP_GMZoneRequest=0x62ac OP_GMZoneRequest2=0x7e1a OP_GMGoto=0x7d8e OP_GMSearchCorpse=0x357c OP_GMHideMe=0x79c5 OP_GMDelCorpse=0x607e OP_GMApproval=0x6db5 OP_GMToggle=0x2097 OP_GMSummon=0x486f OP_GMEmoteZone=0x1cfd OP_GMEmoteWorld=0x458e OP_GMFind=0x4a8f OP_GMKick=0x26a7 OP_GMKill=0x51d3 OP_GMNameChange=0x035f OP_GMLastName=0x46ce # Misc Opcodes OP_InspectRequest=0x57bc OP_InspectAnswer=0x71ac OP_InspectMessageUpdate=0x4d25 OP_BeginCast=0x318f OP_ColoredText=0x43af OP_ConsentResponse=0x384a OP_MemorizeSpell=0x217c OP_SwapSpell=0x0efa OP_CastSpell=0x1287 OP_Consider=0x742b OP_FormattedMessage=0x1024 OP_SimpleMessage=0x213f OP_Buff=0x659c OP_Illusion=0x312a OP_MoneyOnCorpse=0x5f44 OP_RandomReply=0x106b OP_DenyResponse=0x2382 OP_SkillUpdate=0x04c OP_GMTrainSkillConfirm=0x4b64 OP_RandomReq=0x7b10 OP_Death=0x6517 OP_GMTraining=0x1966 OP_GMEndTraining=0x4d6b OP_GMTrainSkill=0x2a85 OP_Animation=0x7177 OP_Begging=0x6703 OP_Consent=0x1fd1 OP_ConsentDeny=0x7a45 OP_AutoFire=0x241e OP_PetCommands=0x0159 OP_DeleteSpell=0x52e5 OP_Surname=0x0423 OP_ClearSurname=0x3fb0 OP_FaceChange=0x5578 OP_SenseHeading=0x260a OP_Action=0x744c OP_ConsiderCorpse=0x5204 OP_HideCorpse=0x49e1 OP_CorpseDrag=0x0904 OP_CorpseDrop=0x7037 OP_Bug=0x73f4 OP_Feedback=0x5602 OP_Report=0x1414 OP_Damage=0x6f15 OP_ChannelMessage=0x2b2d OP_Assist=0x4478 OP_AssistGroup=0x27f8 OP_MoveCoin=0x0bcf OP_ZonePlayerToBind=0x0ecb OP_KeyRing=0x6857 OP_WhoAllRequest=0x674b OP_WhoAllResponse=0x578c OP_FriendsWho=0x3956 OP_ConfirmDelete=0x43a3 OP_Logout=0x4ac6 OP_Rewind=0x1745 OP_TargetCommand=0x58e2 OP_Hide=0x67fe OP_Jump=0x31f4 OP_Camp=0x28ec OP_Emote=0x373b OP_SetRunMode=0x009f OP_BankerChange=0x791e OP_TargetMouse=0x075d OP_MobHealth=0x37b1 OP_InitialMobHealth=0x0000 # Unused? OP_TargetHoTT=0x0272 OP_XTargetResponse=0x672f OP_XTargetRequest=0x45be OP_XTargetAutoAddHaters=0x792c OP_TargetBuffs=0x4f4b OP_BuffCreate=0x3377 OP_BuffRemoveRequest=0x64f2 OP_DeleteSpawn=0x7280 OP_AutoAttack=0x109d OP_AutoAttack2=0x3526 OP_Consume=0x4b70 OP_MoveItem=0x32ee OP_DeleteItem=0x18ad OP_DeleteCharge=0x01b8 OP_ItemPacket=0x368e OP_ItemLinkResponse=0x70c0 OP_ItemLinkClick=0x4cef OP_ItemPreview=0x6b5c OP_NewSpawn=0x6097 OP_Track=0x17e5 OP_TrackTarget=0x0029 OP_TrackUnknown=0x4577 OP_ClickDoor=0x3a8f OP_MoveDoor=0x08e8 OP_RemoveAllDoors=0x700c OP_EnvDamage=0x51fd OP_BoardBoat=0x4211 OP_Forage=0x5306 OP_LeaveBoat=0x7617 OP_ControlBoat=0x0ae7 OP_SafeFallSuccess=0x2219 OP_RezzComplete=0x760d OP_RezzRequest=0x3c21 OP_RezzAnswer=0x701c OP_Shielding=0x48c1 OP_RequestDuel=0x3af1 OP_MobRename=0x2c57 OP_AugmentItem=0x661b OP_WeaponEquip1=0x34a7 OP_WeaponEquip2=0x559a OP_WeaponUnequip2=0x2d25 OP_ApplyPoison=0x31e6 OP_Save=0x4a39 OP_TestBuff=0x7cb8 OP_CustomTitles=0x100e OP_Split=0x3a54 OP_YellForHelp=0x4e56 OP_LoadSpellSet=0x261d OP_Bandolier=0x7677 OP_PotionBelt=0x1a3e OP_DuelResponse=0x6a46 OP_DuelResponse2=0x68d3 OP_SaveOnZoneReq=0x600d OP_ReadBook=0x72df OP_Dye=0x23b9 OP_InterruptCast=0x048c OP_AAAction=0x424e OP_LeadershipExpToggle=0x6c55 OP_LeadershipExpUpdate=0x2797 OP_PurchaseLeadershipAA=0x0026 OP_UpdateLeadershipAA=0x026 OP_MarkNPC=0x5a58 OP_MarkRaidNPC=0x74bd #unimplemented OP_ClearNPCMarks=0x2003 OP_ClearRaidNPCMarks=0x20d3 #unimplemented OP_DelegateAbility=0x76b8 OP_SetGroupTarget=0x2814 OP_Charm=0x5d92 OP_Stun=0x36a4 OP_SendFindableNPCs=0x4613 OP_FindPersonRequest=0x5cea OP_FindPersonReply=0x7e58 OP_Sound=0x1a30 OP_PetBuffWindow=0x5882 OP_LevelAppearance=0x3bc9 OP_Translocate=0x6580 OP_Sacrifice=0x1821 OP_PopupResponse=0x08a6 OP_OnLevelMessage=0x4d6e OP_AugmentInfo=0x0afb OP_Petition=0x1901 OP_SomeItemPacketMaybe=0x747c OP_PVPStats=0x4b15 OP_PVPLeaderBoardRequest=0x04aa OP_PVPLeaderBoardReply=0x071f OP_PVPLeaderBoardDetailsRequest=0x3707 OP_PVPLeaderBoardDetailsReply=0x25b7 OP_RestState=0x000f OP_RespawnWindow=0x28bc OP_LDoNButton=0x5327 OP_SetStartCity=0x6326 OP_VoiceMacroIn=0x17fd OP_VoiceMacroOut=0x409a OP_ItemViewUnknown=0x465b OP_VetRewardsAvaliable=0x590e OP_VetClaimRequest=0x1126 OP_VetClaimReply=0x16d4 OP_DisciplineUpdate=0x759e OP_DisciplineTimer=0x6989 OP_BecomeCorpse=0x0000 # Unused? OP_Action2=0x0000 # Unused? OP_MobUpdate=0x2c84 OP_NPCMoveUpdate=0x5892 OP_CameraEffect=0x127f OP_SpellEffect=0x5936 OP_RemoveNimbusEffect=0x7b1e OP_AltCurrency=0x6b6d OP_AltCurrencyMerchantRequest=0x5409 OP_AltCurrencyMerchantReply=0x27a2 OP_AltCurrencyPurchase=0x3788 OP_AltCurrencySell=0x40b6 OP_AltCurrencySellSelection=0x532a OP_AltCurrencyReclaim=0x0339 OP_CrystalCountUpdate=0x467f OP_CrystalCreate=0x7aee OP_CrystalReclaim=0x2439 OP_Untargetable=0x053c OP_IncreaseStats=0x70a3 OP_Weblink=0x6f4b OP_OpenContainer=0x0000 OP_Marquee=0x502e OP_ItemRecastDelay=0x15a9 #OP_OpenInventory=0x0000 # Likely does not exist in RoF -U OP_DzQuit=0x205f OP_DzListTimers=0x0398 OP_DzAddPlayer=0x59ca OP_DzRemovePlayer=0x4701 OP_DzSwapPlayer=0x1abc OP_DzMakeLeader=0x405b OP_DzPlayerList=0x543d OP_DzJoinExpeditionConfirm=0x14c6 OP_DzJoinExpeditionReply=0x7f4b OP_DzExpeditionInfo=0x4f7e OP_DzExpeditionList=0x9119 OP_DzMemberStatus=0xb2e3 OP_DzLeaderStatus=0x32f0 OP_DzExpeditionEndsWarning=0x7e94 OP_DzMemberList=0x3de9 OP_DzCompass=0x3e0e OP_DzChooseZone=0x0b7d # New Opcodes OP_SpawnPositionUpdate=0x0000 # Actually OP_MobUpdate ? OP_ManaUpdate=0x3791 OP_EnduranceUpdate=0x5f42 OP_MobManaUpdate=0x2404 OP_MobEnduranceUpdate=0x1c81 # Mercenary Opcodes OP_MercenaryDataUpdateRequest=0x7b89 OP_MercenaryDataUpdate=0x61a4 OP_MercenaryDataRequest=0x11c1 OP_MercenaryDataResponse=0x72ce OP_MercenaryHire=0x7169 OP_MercenaryDismiss=0x6e83 OP_MercenaryTimerRequest=0x31e4 OP_MercenaryTimer=0x0763 OP_MercenaryUnknown1=0x5d26 OP_MercenaryCommand=0x27f2 OP_MercenarySuspendRequest=0x4407 OP_MercenarySuspendResponse=0x6f03 OP_MercenaryUnsuspendResponse=0x27a0 # Looting OP_LootRequest=0x0adf OP_EndLootRequest=0x30f7 OP_LootItem=0x4dc9 OP_LootComplete=0x55c4 # bazaar trader stuff: OP_BazaarSearch=0x39d6 OP_TraderDelItem=0x0000 OP_BecomeTrader=0x61b3 OP_TraderShop=0x31df OP_Trader=0x4ef5 OP_TraderBuy=0x0000 OP_Barter=0x243a OP_ShopItem=0x0000 OP_BazaarInspect=0x0000 OP_Bazaar=0x0000 OP_TraderItemUpdate=0x0000 # pc/npc trading OP_TradeRequest=0x77b5 OP_TradeAcceptClick=0x69e2 OP_TradeRequestAck=0x14bf OP_TradeCoins=0x4206 OP_FinishTrade=0x3993 OP_CancelTrade=0x354c OP_TradeMoneyUpdate=0x68c2 OP_MoneyUpdate=0x640c OP_TradeBusy=0x5505 # Sent after canceling trade or after closing tradeskill object OP_FinishWindow=0x7349 OP_FinishWindow2=0x40ef # Sent on Live for what seems to be item existance verification # Ex. Before Right Click Effect happens from items OP_ItemVerifyRequest=0x189c OP_ItemVerifyReply=0x097b # merchant stuff OP_ShopPlayerSell=0x0000 OP_ShopRequest=0x4fed OP_ShopEnd=0x30a8 OP_ShopEndConfirm=0x3196 OP_ShopPlayerBuy=0x0ddd OP_ShopDelItem=0x724f # tradeskill stuff: OP_ClickObject=0x4aa1 OP_ClickObjectAction=0x0c1e OP_ClearObject=0x7a11 OP_RecipeDetails=0x40d7 OP_RecipesFavorite=0x71b1 OP_RecipesSearch=0x1db6 OP_RecipeReply=0x6e02 OP_RecipeAutoCombine=0x6261 OP_TradeSkillCombine=0x579a # Tribute Packets: OP_OpenGuildTributeMaster=0x378d OP_OpenTributeMaster=0x7666 OP_SelectTribute=0x79fc OP_TributeItem=0x4f3e OP_TributeMoney=0x58fb OP_TributeToggle=0x241d OP_TributePointUpdate=0x5300 OP_TributeNPC=0x0000 OP_GuildTributeInfo=0x0000 OP_OpenTributeReply=0x0000 OP_GuildTributeStatus=0x0000 # Adventure packets: OP_LeaveAdventure=0x5d18 OP_AdventureFinish=0x400f OP_AdventureInfoRequest=0x3cb0 OP_AdventureInfo=0x4c54 OP_AdventureRequest=0x2c6c OP_AdventureDetails=0x5648 OP_AdventureData=0x7171 OP_AdventureUpdate=0x1b01 OP_AdventureMerchantRequest=0x6922 OP_AdventureMerchantResponse=0x3e47 OP_AdventureMerchantPurchase=0x5b72 OP_AdventureMerchantSell=0x2f9b OP_AdventurePointsUpdate=0x65c3 OP_AdventureStatsRequest=0x5a62 OP_AdventureStatsReply=0x2370 OP_AdventureLeaderboardRequest=0x7093 OP_AdventureLeaderboardReply=0x7f79 # Group Opcodes OP_GroupDisband=0x4c10 OP_GroupInvite=0x6110 OP_GroupFollow=0x1649 OP_GroupUpdate=0x3abb OP_GroupUpdateB=0x6194 OP_GroupCancelInvite=0x0000 OP_GroupAcknowledge=0x7323 OP_GroupDelete=0x0f6c OP_CancelInvite=0x2a50 OP_GroupFollow2=0x2060 OP_GroupInvite2=0x32c2 OP_GroupDisbandYou=0x1ae5 OP_GroupDisbandOther=0x74da OP_GroupLeaderChange=0x21b4 OP_GroupRoles=0x70e2 OP_GroupMakeLeader=0x4229 OP_DoGroupLeadershipAbility=0x1fb5 OP_GroupLeadershipAAUpdate=0x02cf OP_GroupMentor=0x3342 OP_InspectBuffs=0x486c # LFG/LFP Opcodes OP_LFGCommand=0x6060 OP_LFGGetMatchesRequest=0x0340 OP_LFGGetMatchesResponse=0x5048 OP_LFPGetMatchesRequest=0x4d7d OP_LFPGetMatchesResponse=0x22c6 OP_LFPCommand=0x49a9 OP_LFGAppearance=0x0000 OP_LFGResponse=0x0000 # Raid Opcodes OP_RaidInvite=0x55ac OP_RaidUpdate=0x3973 OP_RaidJoin=0x0000 # Button-push commands OP_Taunt=0x2703 OP_CombatAbility=0x3eba OP_SenseTraps=0x02af OP_PickPocket=0x39e8 OP_DisarmTraps=0x78bf OP_Disarm=0x5ec8 OP_Sneak=0x5d55 OP_Fishing=0x1e2a OP_InstillDoubt=0x640e OP_FeignDeath=0x52fa OP_Mend=0x0ecf OP_Bind_Wound=0x0386 OP_LDoNOpen=0x3d5c # Task packets OP_TaskDescription=0x3714 OP_TaskActivity=0x08d3 OP_CompletedTasks=0x4eba OP_TaskActivityComplete=0x5e19 OP_AcceptNewTask=0x0a23 OP_CancelTask=0x39f0 OP_TaskMemberList=0x5727 OP_OpenNewTasksWindow=0x48a2 OP_AvaliableTask=0x36e8 OP_TaskHistoryRequest=0x5f1c OP_TaskHistoryReply=0x3d05 OP_DeclineAllTasks=0x0000 # Title opcodes OP_NewTitlesAvailable=0x0d32 OP_RequestTitles=0x6344 OP_SendTitleList=0x2d08 OP_SetTitle=0x6527 OP_SetTitleReply=0x4c21 # 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=0x5770 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