eqemu-server/utils/patches/patch_SoD.conf
Michael Cook (mackal) 69a8507908
Feature/underworld (#1146)
* Update NewZone_Structs

* Update packet translators for NewZone_Struct

* Add OP_UnderWorld OPcodes

These aren't implemented yet, but I thought it would be good to document
them. This sends up just entity ID and location when you fall
underworld. This could possibly be used to check for someone screwing
with zone data locally to warp or something I guess.

* Add database fields
2020-12-21 17:08:04 -06:00

683 lines
19 KiB
Plaintext

# 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
# V = Verified correct
# C = Most likely correct
# U = Unsure, but should be correct or close
# world packets
# Required to reach Char Select:
OP_SendLoginInfo=0x0ff4 # C
OP_ApproveWorld=0x701f # C
OP_LogServer=0x4762 # C
OP_SendCharInfo=0x0f14 # C
OP_ExpansionInfo=0x7519 # C
OP_GuildsList=0x5b0b # C
OP_EnterWorld=0x1c20 # C
OP_PostEnterWorld=0x7c94 # C
OP_World_Client_CRC1=0x0ca5 # C
OP_World_Client_CRC2=0x1cb3 # C
OP_SendSpellChecksum=0x5bad # C
OP_SendSkillCapsChecksum=0x5d24 # C
# Character Select Related:
OP_DeleteCharacter=0x0254 # C
OP_CharacterCreateRequest=0x4463 # C
OP_CharacterCreate=0x1513 # C
OP_RandomNameGenerator=0x3604 # C
OP_ApproveName=0x413f # C
OP_MOTD=0x192e # C
OP_SetChatServer=0x7f2b # C
OP_SetChatServer2=0x11f3 # C
OP_ZoneServerInfo=0x5da4 # C
OP_WorldComplete=0x37db # C
OP_WorldUnknown001=0x2c4c # C
OP_FloatListThing=0x10b5 # C
# Reasons for Disconnect:
OP_ZoneUnavail=0x7930 # C
OP_WorldClientReady=0x1a84 # C
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=0x3594 # C
OP_ZoneEntry=0x5a6b # C
OP_ReqNewZone=0x43ac # C
OP_NewZone=0x5ca5 # C
OP_ZoneSpawns=0x72f8 # C
OP_PlayerProfile=0x6022 # C
OP_TimeOfDay=0x6015 # C
OP_LevelUpdate=0x6a99 # C
OP_Stamina=0x3e50 # C
OP_LockoutTimerInfo=0x0000 #
OP_ZoneServerReady=0x0000 #
OP_RequestClientZoneChange=0x4885 # C
OP_ZoneChange=0x051b # C
OP_ZoneInUnknown=0x0000 #
OP_LogoutReply=0x0000 #
OP_PreLogoutReply=0x0000 #
# Required to fully log in
OP_SpawnAppearance=0x10b7 # C
OP_TributeUpdate=0x399b # C
OP_TributeTimer=0x4423 # C
OP_TaskDescription=0x7b77 # C
OP_TaskActivity=0x0525 # C
OP_CompletedTasks=0x5412 # C
OP_Weather=0x2641 # C
OP_SendAATable=0x322f # C
OP_UpdateAA=0x466c # C
OP_RespondAA=0x0142 # C
OP_ReqClientSpawn=0x1436 # C
OP_SpawnDoor=0x102f # C
OP_GroundSpawn=0x33e5 # C
OP_SendZonepoints=0x5821 # C
OP_SendAAStats=0x57a3 # C
OP_WorldObjectsSent=0x7b73 # C
OP_BlockedBuffs=0x0baa # C
OP_RemoveBlockedBuffs=0x064d # C
OP_ClearBlockedBuffs=0x4027 # C
OP_SendExpZonein=0x69cd # C
OP_SendTributes=0x4786 # C
OP_TributeInfo=0x4cc6 # C
OP_SendGuildTributes=0x26c4 # C
OP_AAExpUpdate=0x3088 # C
OP_ExpUpdate=0x0e98 # C
OP_HPUpdate=0x538f # C
OP_ManaChange=0x50c2 # C
OP_TGB=0x2d74 # C
OP_SpecialMesg=0x074f # C
OP_GuildMemberList=0x51bc # C
OP_GuildMOTD=0xd677 # C
OP_CharInventory=0x709d # C
OP_WearChange=0x231f # C
OP_ClientUpdate=0x7062 # C
OP_ClientReady=0x6759 # C
OP_SetServerFilter=0x7312 # C
# Guild Opcodes
OP_GetGuildMOTD=0x189e # C
OP_GetGuildMOTDReply=0x7a16 # C
OP_GuildMemberUpdate=0x41c0 # C
OP_GuildInvite=0x4843 # C
OP_GuildRemove=0x2b9d # C
OP_GuildPeace=0x3f21 # C
OP_SetGuildMOTD=0x481f # C
OP_GuildList=0x5b0b # C
OP_GuildWar=0x7bfb # C
OP_GuildLeader=0x1055 # C
OP_GuildDelete=0x75d0 # C
OP_GuildInviteAccept=0x5f25 # C
OP_GuildDemote=0x15b2 # C
OP_GuildPublicNote=0x2dbd # C
OP_GuildManageBanker=0x11bc # C
OP_GuildBank=0x0fce # C
OP_SetGuildRank=0x4ffe # C
OP_GuildUpdateURLAndChannel=0x5422
OP_GuildMemberLevelUpdate=0x0000 #
OP_ZoneGuildList=0x0000 #
OP_GetGuildsList=0x0000 #
OP_GuildStatus=0x5479 #
OP_LFGuild=0x40e8 #
# OP_GuildManageRemove=0x0000 #
# OP_GuildManageAdd=0x0000 #
# OP_GuildManageStatus=0x0000 #
# GM/guide opcodes
OP_GMServers=0x6989 # C
OP_GMBecomeNPC=0x56e7 # C
OP_GMZoneRequest=0x4578 # C
OP_GMZoneRequest2=0x1912 # C
OP_GMGoto=0x0402 # C
OP_GMSearchCorpse=0x7872 # C
OP_GMHideMe=0x34a1 # C
OP_GMDelCorpse=0x0dda # C
OP_GMApproval=0x72fa # C
OP_GMToggle=0x7566 # C
OP_GMSummon=0x596d # C
OP_GMEmoteZone=0x3e7c # C
OP_GMEmoteWorld=0x5298 # C
OP_GMFind=0x6e27 # C
OP_GMKick=0x799c # C
OP_GMKill=0x6685 # C
OP_GMNameChange=0x565d # C
OP_GMLastName=0x3563 # C
OP_QueryUCSServerStatus=0x4036
OP_InspectAnswer=0x4938 # C
OP_Action2=0x7e4d # C OP_Damage?
OP_BeginCast=0x0d5a # C
OP_ColoredText=0x569a # C
OP_ConsentResponse=0x6e47 # C
OP_MemorizeSpell=0x8543 # C
OP_LinkedReuse=0x6ef9
OP_SwapSpell=0x3fd2 # C
OP_CastSpell=0x3582 # C
OP_Consider=0x6024 # C
OP_FormattedMessage=0x1318 # C
OP_SimpleMessage=0x5448 # C
OP_Buff=0x7ea8 # C
OP_Illusion=0x48f9 # C
OP_MoneyOnCorpse=0x6546 # C
OP_RandomReply=0x6cdc # C
OP_DenyResponse=0x7ce7 # C
OP_SkillUpdate=0x7f01 # C
OP_GMTrainSkillConfirm=0x7ae1 # C
OP_RandomReq=0x777c # C
OP_Death=0x1b85 # C
OP_Bind_Wound=0x3969 # C
OP_GMTraining=0x7b64 # C
OP_GMEndTraining=0x3c02 # C
OP_GMTrainSkill=0x7686 # C
OP_Animation=0x47d3 # C
OP_Begging=0x6d37 # C
OP_Consent=0x6bb9 # C
OP_ConsentDeny=0x01e3 # C
OP_AutoFire=0x1bd4 # C
OP_PetCommands=0x3ad6 # C
OP_DeleteSpell=0x0736 # C
OP_Surname=0x7547 # C
OP_ClearSurname=0x2edd # C
OP_FaceChange=0x5658 # C
OP_SenseHeading=0x3887 # C
OP_Action=0x2c27 # C
OP_ConsiderCorpse=0x37a7 # C
OP_HideCorpse=0x1842
OP_CorpseDrag=0x5a6f # C
OP_CorpseDrop=0x5a01 # C
OP_Bug=0x02b # C
OP_Feedback=0x0d1d # C
OP_Report=0x6884 # C
OP_Damage=0x7e4d # C or OP_Action2?
OP_ChannelMessage=0x2e79 # C
OP_Assist=0x2b59 # C
OP_AssistGroup=0x5af6 # C
OP_MoveCoin=0x1fcd # C
OP_ZonePlayerToBind=0x1d3f # C
OP_KeyRing=0x0a18 # C
OP_WhoAllRequest=0x177a # C
OP_WhoAllResponse=0x31f3 # C
OP_FriendsWho=0x6a90 # C
OP_ConfirmDelete=0x3d00 # C
OP_Logout=0x66e0 # C
OP_Rewind=0x4b7b # C
OP_TargetCommand=0x17f7 # C
OP_InspectRequest=0x4892 # C
OP_Hide=0x1d22 # C
OP_Jump=0x6c16 # C
OP_Camp=0x3eec # C
OP_Emote=0x7434 # C
OP_SetRunMode=0x07fb # C
OP_BankerChange=0x21e9 # C
OP_TargetMouse=0x7bbb # C
OP_MobHealth=0x47ea # C
OP_InitialMobHealth=0x2d25 # C
OP_TargetHoTT=0x3ec7 # C
OP_TargetBuffs=0x3df8
OP_BuffRemoveRequest=0x6f9d
OP_DeleteSpawn=0x3164 # C
OP_AutoAttack=0x3d86 # C
OP_AutoAttack2=0x4ca1 # C
OP_Consume=0x7ce4 # C
OP_MoveItem=0x7f56 # C
OP_MoveMultipleItems=0x4572
OP_DeleteItem=0x36f8 # C
OP_DeleteCharge=0x1df9 # C
OP_ItemPacket=0x34f8 # C
OP_ItemLinkResponse=0x2bad # C
OP_ItemLinkClick=0x3c66 # C
OP_NewSpawn=0x5c29 # C
OP_Track=0x4817 # C
OP_TrackTarget=0x7337 # C
OP_TrackUnknown=0x7b56 # C
OP_ClickDoor=0x1516 # C
OP_MoveDoor=0x6e97 # C
OP_RemoveAllDoors=0x1a58 # C
OP_EnvDamage=0x5ac4 # C
OP_BoardBoat=0x5cd3 # C
OP_Forage=0x7b05 # C
OP_LeaveBoat=0x7554 # C
OP_ControlBoat=0x5bd9 # C
OP_SafeFallSuccess=0x6ad2 # C
OP_RezzComplete=0x42d0 # C
OP_RezzRequest=0x0976 # C
OP_RezzAnswer=0x6e1c # C
OP_Shielding=0x2f6a # C
OP_RequestDuel=0x79e0 # C
OP_MobRename=0x0a1d # C
OP_AugmentItem=0x0370 # C
OP_WeaponEquip1=0x719e # C
OP_PlayerStateAdd=0x7b6e # C
OP_PlayerStateRemove=0x19a8 # C
OP_ApplyPoison=0x405b # C
OP_Save=0x5c85 # C
OP_TestBuff=0x5fc7 # C
OP_DestructableRelated=0x5ea1
OP_CustomTitles=0x1b26 # C
OP_Split=0x53f9 # C
OP_YellForHelp=0x6f79 # C
OP_LoadSpellSet=0x7113 # C
OP_Bandolier=0x441c # C
OP_PotionBelt=0x5db5 # C
OP_DuelResponse=0x1ebb # C
OP_SaveOnZoneReq=0x6eff # C
OP_ReadBook=0x2444 # C
OP_Dye=0x3672 # C
OP_InterruptCast=0x072f # C
OP_AAAction=0x50d0 # C
OP_LeadershipExpToggle=0x34c5 # C
OP_LeadershipExpUpdate=0x69d0 # C
OP_PurchaseLeadershipAA=0x07b3 # C
OP_UpdateLeadershipAA=0x6948 # C
OP_MarkNPC=0x695c # C
OP_MarkRaidNPC=0x0d4b # C
OP_ClearNPCMarks=0x5033 # C
OP_ClearRaidNPCMarks=0x5f55 # C
OP_DoGroupLeadershipAbility=0x540b # C
OP_GroupLeadershipAAUpdate=0x0c33
OP_DelegateAbility=0x0322 # C
OP_SetGroupTarget=0x521c # C
OP_DuelResponse2=0x52b5 # C
OP_Charm=0x7108 # C
OP_Stun=0x2a6d # C
OP_SendFindableNPCs=0x5360
OP_FindPersonRequest=0x3168 # C
OP_FindPersonReply=0x1ac8 # C
OP_Sound=0x303e # C
OP_PetBuffWindow=0x2dd3 # C
OP_LevelAppearance=0x6dc3 # C
OP_Translocate=0x2042 # C
OP_Sacrifice=0x5805 # C
OP_PopupResponse=0x2caf # C
OP_OnLevelMessage=0x1154 # C
OP_AugmentInfo=0x3683 # C
OP_Petition=0x31d1 # C
OP_SomeItemPacketMaybe=0x54e8 # C
OP_PVPStats=0x6a37 # C
OP_PVPLeaderBoardRequest=0x24cb # C
OP_PVPLeaderBoardReply=0x6ac2 # C
OP_PVPLeaderBoardDetailsRequest=0x2a99 # C
OP_PVPLeaderBoardDetailsReply=0x5156 # C
OP_RestState=0x292f # C
OP_RespawnWindow=0x268c # C was 0x1643
OP_DisciplineTimer=0x684c # C
OP_LDoNButton=0x41b5 # C
OP_SetStartCity=0x7bf6 # C
OP_VoiceMacroIn=0x31b1 # C
OP_VoiceMacroOut=0x7880 # C
OP_ItemAdvancedLoreText=0x21c7 # C
OP_VetRewardsAvaliable=0x4e4e # C
OP_VetClaimRequest=0x771f # C
OP_VetClaimReply=0x2f95 # C
OP_CrystalCountUpdate=0x2d0e # C
OP_CrystalReclaim=0x4d4b
OP_CrystalCreate=0x6c80
OP_DisciplineUpdate=0x7b87 #
OP_BecomeCorpse=0x0000 #
OP_MobUpdate=0x0000 # Unused?
OP_CameraEffect=0x0d96 # V
OP_SpellEffect=0x7309 # V
OP_AltCurrency=0x25e4
OP_AltCurrencyMerchantRequest=0x440d
OP_AltCurrencyMerchantReply=0x3c37
OP_AltCurrencyPurchase=0x5270
OP_AltCurrencySell=0x7a21
OP_AltCurrencySellSelection=0x26d9
OP_AltCurrencyReclaim=0x712c
OP_ShroudProgress=0x0296
OP_AddNimbusEffect=0x6840
OP_RemoveNimbusEffect=0x5272 # C
OP_Untargetable=0x5ea1 # 0x301d on UF?
OP_IncreaseStats=0x71eb
OP_InspectMessageUpdate=0x53a3 # C
OP_OpenInventory=0x1003
OP_OpenContainer=0x3278
OP_Marquee=0x7dc9
OP_Fling=0x2b88
OP_CancelSneakHide=0x7705
OP_UnderWorld=0x51ae # clients sends up when they detect an underworld issue, might be useful for cheat detection
# Expedition
OP_DzQuit=0x054e
OP_DzListTimers=0x3200
OP_DzAddPlayer=0x3ba3
OP_DzRemovePlayer=0xa682
OP_DzSwapPlayer=0x0d8d
OP_DzMakeLeader=0x1caa
OP_DzPlayerList=0x74ca
OP_DzJoinExpeditionConfirm=0x1772
OP_DzJoinExpeditionReply=0x3c13
OP_DzExpeditionInfo=0x128e
OP_DzMemberStatus=0x4661
OP_DzLeaderStatus=0x226f
OP_DzExpeditionEndsWarning=0x1879
OP_DzExpeditionList=0x3657
OP_DzMemberList=0x74e4
OP_DzCompass=0x35d3
OP_DzChooseZone=0x0d8a
#0x1d99 was grouped with these too but I don't really know it's purpose.
# New Opcodes
OP_SpawnPositionUpdate=0x4656 #
OP_ManaUpdate=0x4b61 #
OP_EnduranceUpdate=0x02d6 #
OP_MobManaUpdate=0x2ac1 #
OP_MobEnduranceUpdate=0x6c5f #
# Looting
OP_LootRequest=0x2701 # C
OP_EndLootRequest=0x6ad7 # C
OP_LootItem=0x2b5a # C
OP_LootComplete=0x41a6 # C
# bazaar trader stuff stuff:
OP_BazaarSearch=0x4675 # C
OP_TraderDelItem=0x63c8 # C
OP_BecomeTrader=0x528f # C
OP_TraderShop=0x7598 # C
OP_TraderItemUpdate=0x0000 #
OP_Trader=0x7092 # C
OP_ShopItem=0x0000 #
OP_TraderBuy=0x053a # C
OP_Barter=0x4b49 #
OP_BazaarInspect=0x0000 #
OP_Bazaar=0x0000 #
# pc/npc trading
OP_TradeRequest=0x47ae # C
OP_TradeAcceptClick=0x064a # C
OP_TradeRequestAck=0x606a # C
OP_TradeCoins=0x0149 # C
OP_FinishTrade=0x3ff6 # C
OP_CancelTrade=0x527e # C
OP_TradeMoneyUpdate=0x7452 # C
OP_MoneyUpdate=0x2d1d # C
OP_TradeBusy=0x0c2d # V
# Sent after canceling trade or after closing tradeskill object
OP_FinishWindow=0x3c27 # C
OP_FinishWindow2=0x2f5d # C
# Sent on Live for what seems to be item existance verification
# Ex. Before Right Click Effect happens from items
OP_ItemVerifyRequest=0x032a # C
OP_ItemVerifyReply=0x7866 # C
# merchant crap
OP_ShopPlayerSell=0x0b27 # C
OP_ShopRequest=0x4194 # C
OP_ShopEnd=0x3753 # C
OP_ShopEndConfirm=0x7114 # C
OP_ShopPlayerBuy=0x436a # C
OP_ShopDelItem=0x63c8 # C
# tradeskill stuff:
OP_ClickObject=0x5f0d # C
OP_ClickObjectAction=0x5dbc # C
OP_ClearObject=0x0b80 # C
OP_RecipeDetails=0x49f4 # C
OP_RecipesFavorite=0x1150 # C
OP_RecipesSearch=0x55dd # C
OP_RecipeReply=0x0643 # C
OP_RecipeAutoCombine=0x1564 # C
OP_TradeSkillCombine=0x4212 # C
# Tribute Packets:
OP_OpenGuildTributeMaster=0x6361 # C
OP_OpenTributeMaster=0x2daa # C
OP_SelectTribute=0x38b0 # C
OP_TributeItem=0x416b # C
OP_TributeMoney=0x0b89 # C
OP_TributeToggle=0x45b3 # C
OP_TributePointUpdate=0x7d05 # C
OP_TributeNPC=0x0000 #
OP_GuildTributeInfo=0x0000 #
OP_OpenTributeReply=0x0000 #
# OP_GuildTributeStatus=0x0000 #
# Adventure packets:
OP_LeaveAdventure=0x2ab6 # C
OP_AdventureFinish=0x624c # C
OP_AdventureInfoRequest=0x3a75 # C
OP_AdventureInfo=0x3a28 # C
OP_AdventureRequest=0x5a55 # C
OP_AdventureDetails=0x5ed3 # C
OP_AdventureData=0x05 # C
OP_AdventureUpdate=0x0dcd # C
OP_AdventureMerchantRequest=0x0989 # C
OP_AdventureMerchantResponse=0x6ade # C
OP_AdventureMerchantPurchase=0x23fc # C
OP_AdventureMerchantSell=0x5363 # C
OP_AdventurePointsUpdate=0x6b7f # C
OP_AdventureStatsRequest=0x7e45 # C
OP_AdventureStatsReply=0x6a30 # C
OP_AdventureLeaderboardRequest=0x7537 # C
OP_AdventureLeaderboardReply=0x7c87 # C
# Group Opcodes
OP_GroupDisband=0x47e7 # C
OP_GroupInvite=0x5d32 # C
OP_GroupFollow=0x321a # C
OP_GroupUpdate=0x21be
OP_GroupUpdateB=0x7351
OP_GroupCancelInvite=0x5251 # C - Same as OP_CancelInvite?
OP_GroupAcknowledge=0x3e22 # C
OP_GroupDelete=0x58e6 #
OP_CancelInvite=0x5251 # C
OP_GroupFollow2=0x2736 # C
OP_GroupInvite2=0x548c # C
OP_GroupDisbandYou=0xc56c
OP_GroupDisbandOther=0x162d
OP_GroupLeaderChange=0x7545
OP_GroupRoles=0x6b67
OP_GroupMakeLeader=0x6087
OP_GroupMentor=0x1224
OP_InspectBuffs=0x66bf
# LFG/LFP Opcodes
OP_LFGCommand=0x3288 # C
OP_LFGGetMatchesRequest=0x5613 # C
OP_LFGGetMatchesResponse=0x7d90 # C
OP_LFPGetMatchesRequest=0x0479 # C
OP_LFPGetMatchesResponse=0x16f5 # C
OP_LFPCommand=0x710e # C
OP_LFGAppearance=0x0000 #
OP_LFGResponse=0x0000 #
# Raid Opcodes
OP_RaidInvite=0x3b52 # C
OP_RaidUpdate=0x32c6 # C
OP_RaidJoin=0x0000 #
# Button-push commands
OP_Taunt=0x1418 # C
OP_CombatAbility=0x24c5 # C
OP_SenseTraps=0x1e04 # C
OP_PickPocket=0x25f0 # C
OP_DisarmTraps=0x0000 #
OP_Disarm=0x6def # C
OP_Sneak=0x03e7 # C
OP_Fishing=0x7093 # C
OP_InstillDoubt=0x2d41 # C
OP_FeignDeath=0x3f49 # C
OP_Mend=0x221a # C
OP_LDoNOpen=0x6129 # C
# Task packets
OP_TaskActivityComplete=0x4df0 # C
OP_TaskMemberList=0x34ed # C
OP_OpenNewTasksWindow=0x4dd5 # C
OP_AvaliableTask=0x2136 # C
OP_AcceptNewTask=0x5832 # C
OP_TaskHistoryRequest=0x29d7 # C
OP_TaskHistoryReply=0x3d2a # C
OP_CancelTask=0x726b # C
OP_DeclineAllTasks=0x0000 #
OP_TaskRequestTimer=0x2e70
OP_Shroud=0x6d1f
OP_ShroudRemove=0x17f6
OP_ShroudUnknown1=0x169a
OP_ShroudUnknown2=0x4292
OP_ClearAA=0x3bef
OP_ClearLeadershipAbilities=0x6e58
OP_ShroudSelectionWindow=0x4d79
OP_ShroudRequestStats=0x28ce
OP_ShroudRespondStats=0x33f2
OP_ShroudSelect=0x194f
# Title opcodes
OP_NewTitlesAvailable=0x4399 # C
OP_RequestTitles=0x7327 # C
OP_SendTitleList=0x158f # C
OP_SetTitle=0x698a # C
OP_SetTitleReply=0x4d3e # C
# Mercenary Opcodes
OP_MercenaryDataRequest=0x4717 #
OP_MercenaryDataResponse=0x1715 #
OP_MercenaryHire=0x0bfd #
OP_MercenaryAssign=0x6188 #
OP_MercenaryTimer=0x116d #
OP_MercenaryUnknown1=0x28c7 #
OP_MercenaryDataUpdate=0x0786 #
OP_MercenaryCommand=0x27bf #
OP_MercenarySuspendRequest=0x05f1 #
OP_MercenarySuspendResponse=0x57f2 #
OP_MercenaryUnsuspendResponse=0x3015
OP_MercenaryDataUpdateRequest=0x390c #
OP_MercenaryDismiss=0x0bd0 #
OP_MercenaryTimerRequest=0x0924 #
# 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=0x82d7 #
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=0x5bad # U OP_SendSpellChecksum
#OP_LoginUnknown2=0x5d24 # U 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=0x0001 #
OP_Login=0x0002 #
OP_ServerListRequest=0x0004 #
OP_PlayEverquestRequest=0x000d #
OP_PlayEverquestResponse=0x0021 #
OP_ChatMessage=0x0016 #
OP_LoginAccepted=0x0017 #
OP_ServerListResponse=0x0018 #
OP_Poll=0x0029 #
OP_EnterChat=0x000f #
OP_PollResponse=0x0011 #
# 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 #
OP_ItemRecastDelay=0x15c4
#aura related
OP_UpdateAura=0x169a
OP_RemoveTrap=0x4bb6