eqemu-server/utils/patches/patch_UF.conf
Michael Cook (mackal) e894e96404 Implement Linked Spell Reuse Timers
They started linked spells at OoW launch (I think)

At least canni was linked then.

This is rather user unfriendly, but that's live like.
Ex. the spells aren't actually put on cool down so you can attempt to cast them
still but you will be interrupted.

Titanium is particularly unfriendly with large differences in reuse times
2016-08-14 23:32:27 -04:00

687 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=0x13da # V
OP_ApproveWorld=0x86c7 # C
OP_LogServer=0x6f79 # C
OP_SendCharInfo=0x4200 # C
OP_ExpansionInfo=0x7e4d # C
OP_GuildsList=0x5b0b # C
OP_EnterWorld=0x51b9 # C
OP_PostEnterWorld=0x5d32 # C
OP_World_Client_CRC1=0x3a18 # C
OP_World_Client_CRC2=0x3e50 # C
OP_SendSpellChecksum=0x46d3 # C
OP_SendSkillCapsChecksum=0x040b # C
# Character Select Related:
OP_DeleteCharacter=0x5ca5 # C
OP_CharacterCreateRequest=0x53a3 # C
OP_CharacterCreate=0x1b85 # C
OP_RandomNameGenerator=0x647a # C 0x440f
OP_ApproveName=0x4f1f # C
OP_MOTD=0x7629 # C 0x2b59
OP_SetChatServer=0x7d90 # C 0x0479
OP_SetChatServer2=0x158f # C 0x158f
OP_ZoneServerInfo=0x1190 # C 0x41c0
OP_WorldComplete=0x441c # C
OP_WorldUnknown001=0x6f9d # C 0x77b1
OP_FloatListThing=0x61ba # V
# Reasons for Disconnect:
OP_ZoneUnavail=0x3288 # C 0x1190
OP_WorldClientReady=0x7d05 # C 0x4786
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 # V
OP_ZoneEntry=0x4b61 # V
OP_ReqNewZone=0x4118 # V
OP_NewZone=0x43ac # V
OP_ZoneSpawns=0x7114 # ?
OP_PlayerProfile=0x6022 # V
OP_TimeOfDay=0x6015 # V
OP_LevelUpdate=0x6a99 # V
OP_Stamina=0x3d86 # V
OP_RequestClientZoneChange=0x18ea # C
OP_ZoneChange=0x6d37 # C
OP_LockoutTimerInfo=0x0000 #
OP_ZoneServerReady=0x0000 #
OP_ZoneInUnknown=0x0000 #
OP_LogoutReply=0x0000 #
OP_PreLogoutReply=0x0000 #
# Required to fully log in
OP_SpawnAppearance=0x3e17 # V
OP_ChangeSize=0x6942 #
OP_TributeUpdate=0x684c # V
OP_TributeTimer=0x4895 # C
OP_TaskDescription=0x156c # C
OP_TaskActivity=0x31f3 # C
OP_CompletedTasks=0x687f # C
OP_Weather=0x4658 # V
OP_SendAATable=0x6ef9 # V
OP_ClearAA=0x2cd4
OP_ClearLeadershipAbilities=0x7b77
OP_UpdateAA=0x7bf6 # V
OP_RespondAA=0x1fbd # C 0x2bad
OP_ReqClientSpawn=0x69cd # V
OP_SpawnDoor=0x6f2b # V
OP_GroundSpawn=0x5c85 # V
OP_SendZonepoints=0x2370 # V
OP_SendAAStats=0x78b9 # C
OP_WorldObjectsSent=0x7b73 # V
OP_BlockedBuffs=0x05d5 # V
OP_RemoveBlockedBuffs=0x37c1 # V
OP_ClearBlockedBuffs=0x5570 # C
OP_SendExpZonein=0x47e7 # V
OP_SendTributes=0x6bfb # V
OP_TributeInfo=0x5a67 # V
OP_SendGuildTributes=0x4df0 # C 0x5a01
OP_AAExpUpdate=0x4aa2 # V
OP_ExpUpdate=0x0555 # V
OP_HPUpdate=0x6145 # V
OP_ManaChange=0x569a # C
OP_TGB=0x42ef # C
OP_SpecialMesg=0x016c # V
OP_GuildMemberList=0x51bc # C
OP_GuildMOTD=0x5658 # V
OP_CharInventory=0x47ae # V
OP_WearChange=0x0400 # V
OP_ClientUpdate=0x7062 # V
OP_ClientReady=0x6cdc # V
OP_SetServerFilter=0x2d74 # V
# Guild Opcodes
OP_GetGuildMOTD=0x1899 # C
OP_GetGuildMOTDReply=0x4a5c # C
OP_GuildMemberUpdate=0x0a53 # C
OP_GuildInvite=0x1a58 # C
OP_GuildRemove=0x3c02 # C
OP_GuildPeace=0x2bff # C
OP_SetGuildMOTD=0x053a # C
OP_GuildList=0x5b0b # C
OP_GuildWar=0x5408 # C
OP_GuildLeader=0x0598 # C
OP_GuildDelete=0x3f55 # C
OP_GuildInviteAccept=0x7b64 # C
OP_GuildDemote=0x457d # C
OP_GuildPublicNote=0x2dbd # C
OP_GuildManageBanker=0x1e4c # C
OP_GuildBank=0x0d8a # C
OP_SetGuildRank=0x4ffe # C
OP_GuildUpdateURLAndChannel=0x5232 # C
OP_GuildMemberLevelUpdate=0x0000 #
OP_ZoneGuildList=0x0000 #
OP_GetGuildsList=0x0000 #
OP_GuildStatus=0x28c8 #
OP_GuildCreate=0x192d #
OP_LFGuild=0x7e23 #
# OP_GuildManageRemove=0x0000 #
# OP_GuildManageAdd=0x0000 #
# OP_GuildManageStatus=0x0000 #
# GM/guide opcodes
OP_GMServers=0x6989 # C
OP_GMBecomeNPC=0x56e7 # C
OP_GMZoneRequest=0x3fd2 # C
OP_GMZoneRequest2=0x538f # C
OP_GMGoto=0x5ebc # C
OP_GMSearchCorpse=0x5a81 # C
OP_GMHideMe=0x28ef # C
OP_GMDelCorpse=0x655c # C
OP_GMApproval=0x7312 # C
OP_GMToggle=0x097f # C 0x7566
OP_GMSummon=0x712b # C
OP_GMEmoteZone=0x1ac1 # C
OP_GMEmoteWorld=0x2444 # C
OP_GMFind=0x6e27 # C
OP_GMKick=0x0402 # C
OP_GMKill=0x799c # C
OP_GMNameChange=0x0f48 # C
OP_GMLastName=0x7bfb # C
OP_InspectAnswer=0x0c2b # C
OP_BeginCast=0x0d5a # C
OP_ColoredText=0x71bf # C
OP_ConsentResponse=0x0e87 # C
OP_MemorizeSpell=0x3887 # C
OP_LinkedReuse=0x1b26
OP_SwapSpell=0x5805 # C
OP_CastSpell=0x50c2 # C
OP_Consider=0x3c2d # C
OP_FormattedMessage=0x3b52 # C
OP_SimpleMessage=0x1f4d # C 0x5448
OP_Buff=0x0d1d # C
OP_Illusion=0x231f # C
OP_MoneyOnCorpse=0x4a83 # C
OP_RandomReply=0x6d5d # C
OP_DenyResponse=0x6129 # C
OP_SkillUpdate=0x7f01 # C
OP_GMTrainSkillConfirm=0x3190 # C
OP_RandomReq=0x139d # C
OP_Death=0x7f9e # C
OP_Bind_Wound=0x4b1a # C
OP_GMTraining=0x51fa # C
OP_GMEndTraining=0x5479 # C
OP_GMTrainSkill=0x2257 # C
OP_Animation=0x4a61 # Was 0x47d3
OP_Begging=0x53f9 # C
OP_Consent=0x6bb9 # C
OP_ConsentDeny=0x4cd1 # C
OP_AutoFire=0x5db5 # C
OP_PetCommands=0x7706 # C
OP_PetHoTT=0x2528
OP_DeleteSpell=0x0698 # C
OP_Surname=0x44ae # C
OP_ClearSurname=0x6705 # C
OP_FaceChange=0x37a7 # C
OP_SenseHeading=0x1b8a # C
OP_Action=0x0f14 # C
OP_ConsiderCorpse=0x0a18 # C
OP_HideCorpse=0x2d08 # C 0x1842
OP_CorpseDrag=0x3331 #
OP_CorpseDrop=0x2e70 #
OP_Bug=0x2369 # C
OP_Feedback=0x7705 # C
OP_Report=0x50d0 # C
OP_Damage=0x631a # C or OP_Action2?
OP_ChannelMessage=0x2e79 # C
OP_Assist=0x35b1 # C
OP_AssistGroup=0x194f # C
OP_MoveCoin=0x6024 # C
OP_ZonePlayerToBind=0x382c # C
OP_KeyRing=0x5c06 # C
OP_WhoAllRequest=0x177a # C
OP_WhoAllResponse=0x6ffa # C
OP_FriendsWho=0x6275 # C
OP_ConfirmDelete=0x3edc # V
OP_Logout=0x224f # C
OP_Rewind=0x7d63 # C
OP_TargetCommand=0x756c # C Was 0x5f5e
OP_InspectRequest=0x7c94 # C
OP_Hide=0x3497 # C
OP_Jump=0x083b # C
OP_Camp=0x5f85 # C
OP_Emote=0x3164 # C
OP_SetRunMode=0x3d06 # C
OP_BankerChange=0x300a # C
OP_TargetMouse=0x5f5e # C 0x7bbb
OP_MobHealth=0x15de # C
OP_InitialMobHealth=0x5cb0 # C
OP_TargetHoTT=0x790c # C
OP_XTargetResponse=0x6eb5 #
OP_XTargetRequest=0x4750 #
OP_XTargetAutoAddHaters=0x1a28 #
OP_XTargetOpen=0x11ae
OP_XTargetOpenResponse=0x45d3
OP_TargetBuffs=0x3f24 # C
OP_BuffCreate=0x2121 # V
OP_BuffRemoveRequest=0x4065
OP_DeleteSpawn=0x58c5 # C
OP_AutoAttack=0x1df9 # C
OP_AutoAttack2=0x517b # C
OP_Consume=0x24c5 # V
OP_MoveItem=0x2641 # C
OP_DeleteItem=0x66e0 # C
OP_DeleteCharge=0x4ca1 # C
OP_ItemPacket=0x7b6e # C
OP_ItemLinkResponse=0x695c # C
OP_ItemLinkClick=0x3c66 # C
OP_NewSpawn=0x429b # C
OP_Track=0x709d # C
OP_TrackTarget=0x3f49 # C
OP_TrackUnknown=0x03e7 # C
OP_ClickDoor=0x6e97 # C
OP_MoveDoor=0x3154 # C
OP_RemoveAllDoors=0x6215 # C
OP_EnvDamage=0x2730 # C
OP_BoardBoat=0x7554 # C
OP_Forage=0x739b # C
OP_LeaveBoat=0x7286 # C
OP_ControlBoat=0x7ea8 # C
OP_SafeFallSuccess=0x6df7 # C
OP_RezzComplete=0x30a4 # C
OP_RezzRequest=0x32af # C
OP_RezzAnswer=0x2d41 # C
OP_Shielding=0x4675 # C
OP_RequestDuel=0x6cfe # C
OP_MobRename=0x0507 # C
OP_AugmentItem=0x7c87 # C
OP_WeaponEquip1=0x4572 # C
OP_PlayerStateAdd=0x399b # C
OP_PlayerStateRemove=0x416b # C
OP_ApplyPoison=0x5cd3 # C
OP_Save=0x6618 # C
OP_TestBuff=0x3415 # C
OP_CustomTitles=0x6a7e # C
OP_Split=0x1418 # C
OP_YellForHelp=0x55a8 # C
OP_LoadSpellSet=0x6617 # C
OP_Bandolier=0x510c # C
OP_PotionBelt=0x0651 # C
OP_DuelResponse=0x41a6 # C
OP_DuelResponse2=0x6d60 # C
OP_SaveOnZoneReq=0x2913 # C
OP_ReadBook=0x465e # C
OP_Dye=0x2137 # C
OP_InterruptCast=0x7566 # C
OP_AAAction=0x2bad # C
OP_LeadershipExpToggle=0x5033 # C
OP_LeadershipExpUpdate=0x074f # C
OP_PurchaseLeadershipAA=0x5f55 # C
OP_UpdateLeadershipAA=0x77ed # C
OP_MarkNPC=0x66bf
OP_MarkRaidNPC=0x3ec7 # C
OP_ClearNPCMarks=0x5c29 # C
OP_ClearRaidNPCMarks=0x2af4
OP_DoGroupLeadershipAbility=0x0068 # C
OP_GroupLeadershipAAUpdate=0x167b # C
OP_DelegateAbility=0x6e58 # C
OP_SetGroupTarget=0x6b9e # C
OP_Charm=0x1fd5 # C
OP_Stun=0x3d00 # C
OP_SendFindableNPCs=0x6193 # C
OP_FindPersonRequest=0x1e04 # C
OP_FindPersonReply=0x7cae # C
OP_Sound=0x737a # C
OP_PetBuffWindow=0x7b87 # C
OP_LevelAppearance=0x1bd4 # C
OP_Translocate=0x3d9c # C
OP_Sacrifice=0x301b # C
OP_PopupResponse=0x6d27 # C
OP_OnLevelMessage=0x24cb # C
OP_AugmentInfo=0x31b1 # C
OP_Petition=0x31d1 # C
OP_SomeItemPacketMaybe=0x2c27 # C
OP_PVPStats=0x5272 #
OP_PVPLeaderBoardRequest=0x4973 # C
OP_PVPLeaderBoardReply=0x3842 # C
OP_PVPLeaderBoardDetailsRequest=0x6c75 # C
OP_PVPLeaderBoardDetailsReply=0x7fd7 # C
OP_RestState=0x5d24 # C
OP_RespawnWindow=0x107f # C
OP_DisciplineTimer=0x047c # C
OP_LDoNButton=0x1031 # C
OP_SetStartCity=0x68f0 # C
OP_VoiceMacroIn=0x1524 # C
OP_VoiceMacroOut=0x1d99 # C
OP_ItemViewUnknown=0x4eb3 # C
OP_VetRewardsAvaliable=0x0baa # C Mispelled?
OP_VetClaimRequest=0x34f8 # C
OP_VetClaimReply=0x6a5d # C
OP_CrystalCountUpdate=0x3fc8 # C
OP_DisciplineUpdate=0x6ed3 #
OP_BecomeCorpse=0x0000 #
OP_Action2=0x0000 # C OP_Damage?
OP_MobUpdate=0x4656 # Same as OP_SpawnPositionUpdate
OP_NPCMoveUpdate=0x0f3e #
OP_CameraEffect=0x6b0e # V
OP_SpellEffect=0x57a3 # V
OP_RemoveNimbusEffect=0x2c77 # C
OP_AltCurrency=0x659e
OP_AltCurrencyMerchantRequest=0x214C
OP_AltCurrencyMerchantReply=0x4348
OP_AltCurrencyPurchase=0x4ad7
OP_AltCurrencySell=0x14cf
OP_AltCurrencySellSelection=0x322a
OP_AltCurrencyReclaim=0x365d
OP_CrystalReclaim=0x726e
OP_CrystalCreate=0x12f3
OP_Untargetable=0x301d
OP_IncreaseStats=0x4acf
OP_Weblink=0x6840 # C
OP_InspectMessageUpdate=0x7fa1 # C
#OP_OpenInventory=0x0000 # Likely does not exist in UF -U
OP_OpenContainer=0x041a
OP_Marquee=0x3675
OP_Fling=0x51b1
OP_CancelSneakHide=0x7686
OP_DzQuit=0x1539
OP_DzListTimers=0x21e9
OP_DzAddPlayer=0x3657
OP_DzRemovePlayer=0x054e
OP_DzSwapPlayer=0x4661
OP_DzMakeLeader=0x226f
OP_DzPlayerList=0x74e4
OP_DzJoinExpeditionConfirm=0x3c5e
OP_DzJoinExpeditionReply=0x1154
OP_DzExpeditionInfo=0x1150
OP_DzMemberStatus=0x2d17
OP_DzLeaderStatus=0x2caf
OP_DzExpeditionEndsWarning=0x6ac2
OP_DzExpeditionList=0x70d8
OP_DzMemberList=0x15c4
OP_DzCompass=0x01cb
OP_DzChooseZone=0x65e1
#shroud
OP_ShroudSelectionWindow=0x72ad
OP_ShroudRequestStats=0x488b
OP_ShroudRespondStats=0x1910
OP_ShroudSelect=0x45d7
OP_ShroudSelectCancel=0x666d
OP_ShroudProgress=0x6016 # This clears current progress and sets
OP_ShroudProgress2=0x66b4 # This just sets progress
OP_Shroud=0x1643
# New Opcodes
OP_SpawnPositionUpdate=0x4656 # C
OP_ManaUpdate=0x0433 # C
OP_EnduranceUpdate=0x6b76 # C
OP_MobManaUpdate=0x7901 # C
OP_MobEnduranceUpdate=0x1912 # C
# Looting
OP_LootRequest=0x6ad7 # C
OP_EndLootRequest=0x6546 # C
OP_LootItem=0x5960 # C
OP_LootComplete=0x604d # C
# bazaar trader stuff stuff:
OP_BazaarSearch=0x550f # C
OP_TraderDelItem=0x63c8 # C
OP_BecomeTrader=0x0a1d # C
OP_TraderShop=0x2881 # C
OP_Trader=0x0c08 # C
OP_TraderBuy=0x3672 # C
OP_Barter=0x6db5 # C
OP_ShopItem=0x0000 #
OP_BazaarInspect=0x0000 #
OP_Bazaar=0x0000 #
OP_TraderItemUpdate=0x0000 #
# pc/npc trading
OP_TradeRequest=0x7113 # C
OP_TradeAcceptClick=0x064a # C
OP_TradeRequestAck=0x606a # C
OP_TradeCoins=0x0149 # C
OP_FinishTrade=0x3ff6 # C
OP_CancelTrade=0x527e # C
OP_TradeMoneyUpdate=0x2a6d # C
OP_MoneyUpdate=0xd677 # C
OP_TradeBusy=0x5ed3 # C
# Sent after canceling trade or after closing tradeskill object
OP_FinishWindow=0x3c27 # C
OP_FinishWindow2=0x6759 # C
# Sent on Live for what seems to be item existance verification
# Ex. Before Right Click Effect happens from items
OP_ItemVerifyRequest=0x101e # C
OP_ItemVerifyReply=0x21c7 # C
# merchant crap
OP_ShopPlayerSell=0x0b27 # C
OP_ShopRequest=0x442a # C
OP_ShopEnd=0x3753 # C
OP_ShopEndConfirm=0x4578 # C
OP_ShopPlayerBuy=0x436a # C
OP_ShopDelItem=0x63c8 # C
# tradeskill stuff:
OP_ClickObject=0x33e5 # V
OP_ClickObjectAction=0x41b5 # V
OP_ClearObject=0x71d1 # C
OP_RecipeDetails=0x58d9 # C
OP_RecipesFavorite=0x7770 # C
OP_RecipesSearch=0x6948 # C
OP_RecipeReply=0x521c # C
OP_RecipeAutoCombine=0x0322 # C
OP_TradeSkillCombine=0x4212 # C
# Tribute Packets:
OP_OpenGuildTributeMaster=0x5e79 # C
OP_OpenTributeMaster=0x7c24 # C
OP_SelectTribute=0x0c98 # C
OP_TributeItem=0x0b89 # C
OP_TributeMoney=0x314f # C
OP_TributeToggle=0x6dc3 # C
OP_TributePointUpdate=0x15a7 # C
OP_TributeNPC=0x0000 #
OP_GuildTributeInfo=0x0000 #
OP_OpenTributeReply=0x0000 #
# OP_GuildTributeStatus=0x0000 #
# Adventure packets:
OP_LeaveAdventure=0x3ed4 # C
OP_AdventureFinish=0x6acc # C
OP_AdventureInfoRequest=0x3541 # C
OP_AdventureInfo=0x5cea # C
OP_AdventureRequest=0x2c03 # C
OP_AdventureDetails=0x1d40 # C
OP_AdventureData=0x34f2 # C
OP_AdventureUpdate=0x771f # C
OP_AdventureMerchantRequest=0x4e22 # C
OP_AdventureMerchantResponse=0x4dd5 # C
OP_AdventureMerchantPurchase=0x7b7f # C
OP_AdventureMerchantSell=0x179d # C
OP_AdventurePointsUpdate=0x7537 # C
OP_AdventureStatsRequest=0x4786 # C
OP_AdventureStatsReply=0x38b0 # C
OP_AdventureLeaderboardRequest=0x4cc6 # C
OP_AdventureLeaderboardReply=0x4423 # C
# Group Opcodes
OP_GroupDisband=0x54e8 # C
OP_GroupInvite=0x4f60 # C
OP_GroupFollow=0x7f2b # C
OP_GroupUpdate=0x5331 # C
OP_GroupUpdateB=0x0786 # C
OP_GroupCancelInvite=0x2736 # C - Same as OP_CancelInvite?
OP_GroupAcknowledge=0x3e22 # C
OP_GroupDelete=0x58e6 #
OP_CancelInvite=0x2736 # C
OP_GroupFollow2=0x6c16 # C
OP_GroupInvite2=0x5251 # C
OP_GroupDisbandYou=0x0bd0 # C
OP_GroupDisbandOther=0x49f6 # C
OP_GroupLeaderChange=0x0c33 # C
OP_GroupRoles=0x116d # C
OP_GroupMakeLeader=0x5851
OP_GroupMentor=0x292f
OP_InspectBuffs=0x105b
# LFG/LFP Opcodes
OP_LFGCommand=0x2c38 # C
OP_LFGGetMatchesRequest=0x28d4 # C
OP_LFGGetMatchesResponse=0x7a16 # C
OP_LFPGetMatchesRequest=0x189e # C
OP_LFPGetMatchesResponse=0x589f # C
OP_LFPCommand=0x7429 # C
OP_LFGAppearance=0x0000 #
OP_LFGResponse=0x0000 #
# Raid Opcodes
OP_RaidInvite=0x60b5 # C
OP_RaidUpdate=0x4d8b # C
OP_RaidJoin=0x0000 #
# Button-push commands
OP_Taunt=0x30e2 # C
OP_CombatAbility=0x36f8 # C
OP_SenseTraps=0x7e45 # C
OP_PickPocket=0x5821 # C
OP_DisarmTraps=0x0000 #
OP_Disarm=0x6def # C
OP_Sneak=0x1d22 # C
OP_Fishing=0x7093 # C
OP_InstillDoubt=0x221a # C
OP_FeignDeath=0x002b # C
OP_Mend=0x10a6 # C
OP_LDoNOpen=0x032b # C
OP_LDoNDisarmTraps=0x1a84
OP_LDoNPickLock=0x0370
OP_LDoNInspect=0x0aaa
# Task packets
OP_TaskActivityComplete=0x5832 # C
OP_TaskMemberList=0x66ba # C
OP_OpenNewTasksWindow=0x98f6 # C
OP_AvaliableTask=0x6255 # C Mispelled?
OP_AcceptNewTask=0x17d5 # C
OP_TaskHistoryRequest=0x547c # C
OP_TaskHistoryReply=0x4524 # C
OP_CancelTask=0x3bf5 # C
OP_DeclineAllTasks=0x0000 #
# Title opcodes
OP_NewTitlesAvailable=0x4b49 # C
OP_RequestTitles=0x4d3e # C
OP_SendTitleList=0x0d96 # C
OP_SetTitle=0x675c # C
OP_SetTitleReply=0x75f5 # C
# Mercenary Opcodes
OP_MercenaryDataRequest=0x3015 #
OP_MercenaryDataResponse=0x0eaa #
OP_MercenaryHire=0x099e #
OP_MercenaryTimer=0x0cae #
OP_MercenaryAssign=0x2538 #
OP_MercenaryUnknown1=0x367f #
OP_MercenaryDataUpdate=0x57f2 #
OP_MercenaryCommand=0x50c1 #
OP_MercenarySuspendRequest=0x3c58 #
OP_MercenarySuspendResponse=0x4b82 #
OP_MercenaryUnsuspendResponse=0x5fe3
OP_MercenaryDataUpdateRequest=0x05f1
OP_MercenaryDismiss=0x319a #
OP_MercenaryTimerRequest=0x184e #
# 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=0x7f72 #
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 # U OP_SendSpellChecksum
#OP_LoginUnknown2=0x040b # 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=0x82d7
# unhandled
OP_ShieldGroup=0x23a1