# 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=0x11b6
OP_ApproveWorld=0x7e47
OP_LogServer=0x19ab
OP_SendCharInfo=0x06a2
OP_ExpansionInfo=0x711a
OP_GuildsList=0x2d38
OP_EnterWorld=0x57c3
OP_PostEnterWorld=0x0c3d
OP_World_Client_CRC1=0x0044
OP_World_Client_CRC2=0x26df
OP_SendSpellChecksum=0x0000
OP_SendSkillCapsChecksum=0x0000

# Character Select Related:
OP_SendMaxCharacters=0x5349
OP_SendMembership=0x03b2
OP_SendMembershipDetails=0x0b1f
OP_CharacterCreateRequest=0x006b
OP_CharacterCreate=0x0afc
OP_DeleteCharacter=0x0ab4
OP_RandomNameGenerator=0x4453
OP_ApproveName=0x213a
OP_MOTD=0x1ae3
OP_SetChatServer=0x2a81
OP_SetChatServer2=0x4099
OP_ZoneServerInfo=0x49d9
OP_WorldComplete=0x12d4
OP_WorldUnknown001=0x6be3
OP_FloatListThing=0x7a19

# Reasons for Disconnect:
OP_ZoneUnavail=0x6281
OP_WorldClientReady=0x43b0
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=0x47a6
OP_ZoneEntry=0x1665
OP_ReqNewZone=0x3dec
OP_NewZone=0x7fff
OP_ZoneSpawns=0x0980
OP_PlayerProfile=0x46bb
OP_TimeOfDay=0x3be2
OP_LevelUpdate=0x7ce0
OP_Stamina=0x1949
OP_RequestClientZoneChange=0x647a
OP_ZoneChange=0x1eb4
OP_LockoutTimerInfo=0x0000
OP_ZoneServerReady=0x0000
OP_ZoneInUnknown=0x0000
OP_LogoutReply=0x0000
OP_PreLogoutReply=0x0000

# Required to fully log in
OP_SpawnAppearance=0x7360
OP_ChangeSize=0x355c
OP_TributeUpdate=0x2691
OP_TributeTimer=0x3294
OP_SendTributes=0x0a1c
OP_SendGuildTributes=0x1781
OP_TributeInfo=0x5dd2
OP_Weather=0x0bd7
OP_ReqClientSpawn=0x5a4f
OP_SpawnDoor=0x7b6c
OP_GroundSpawn=0x4286
OP_SendZonepoints=0x7922
OP_BlockedBuffs=0x5a71
OP_RemoveBlockedBuffs=0x78ba
OP_ClearBlockedBuffs=0x5d3c
OP_WorldObjectsSent=0x7fa8
OP_SendExpZonein=0x25ab
OP_SendAATable=0x7791
OP_ClearAA=0x422e
OP_ClearLeadershipAbilities=0xb978
OP_RespondAA=0x379d
OP_UpdateAA=0x504f
OP_SendAAStats=0x3d1c
OP_AAExpUpdate=0x25c5
OP_ExpUpdate=0x47e3
OP_HPUpdate=0x07b8
OP_ManaChange=0x1e3b
OP_TGB=0x10a6
OP_SpecialMesg=0x362c
OP_GuildMemberList=0x4053
OP_GuildMOTD=0x0561
OP_CharInventory=0x786e
OP_WearChange=0x1ad3
OP_ClientUpdate=0x455d
OP_ClientReady=0x3f83				# 0x422d
OP_SetServerFilter=0x5b27

# Guild Opcodes - Disabled until crashes are resolved in RoF
OP_GetGuildMOTD=0x7ba3				# Was 0x35dc
OP_GetGuildMOTDReply=0x42a2			# Was 0x4586
OP_GuildMemberUpdate=0x0048			# Was 0x5643
OP_GuildInvite=0x5f8e
OP_GuildRemove=0x296d
OP_GuildPeace=0x17eb
OP_SetGuildMOTD=0x44d0
OP_GuildList=0x2d38
OP_GuildWar=0x395a
OP_GuildLeader=0x7c6f
OP_GuildDelete=0x241b
OP_GuildInviteAccept=0x78a5
OP_GuildDemote=0x3100
OP_GuildPromote=0x2945
OP_GuildPublicNote=0x3c2c
OP_GuildManageBanker=0x389c			# Was 0x096d
OP_GuildBank=0x2ab0					# Was 0x10c3
OP_GuildBankItemList=0x1cbf
OP_SetGuildRank=0x3599
OP_GuildUpdateURLAndChannel=0x7851
OP_GuildStatus=0x25a5
OP_GuildCreate=0xd2d1				# or maybe 0x086e
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=0x2612
OP_GMBecomeNPC=0x5201
OP_GMZoneRequest=0x69e5
OP_GMZoneRequest2=0x65d6
OP_GMGoto=0x0345
OP_GMSearchCorpse=0x5bed
OP_GMHideMe=0x4c65
OP_GMDelCorpse=0x6034
OP_GMApproval=0x0e37
OP_GMToggle=0x1276
OP_GMSummon=0x0655			# Was 0x684f
OP_GMEmoteZone=0x1b39		# Was 0x0655
OP_GMEmoteWorld=0x1f8c		# Was 0x1935
OP_GMFind=0x6160
OP_GMKick=0x5646
OP_GMKill=0x507e
OP_GMNameChange=0x3077		# Was 0x4434
OP_GMLastName=0x4dd7		# Was 0x3077

# Misc Opcodes
OP_InspectRequest=0x23f1
OP_InspectAnswer=0x5794
OP_InspectMessageUpdate=0x3064
OP_BeginCast=0x17ff
OP_ColoredText=0x41cb
OP_ConsentResponse=0x183d
OP_MemorizeSpell=0x2fac
OP_LinkedReuse=0x3ac0
OP_SwapSpell=0x4736
OP_CastSpell=0x1cb5
OP_Consider=0x4d8d
OP_FormattedMessage=0x6afe
OP_SimpleMessage=0x02a5
OP_Buff=0x08ed
OP_Illusion=0x6c43
OP_MoneyOnCorpse=0x1837
OP_RandomReply=0x6525
OP_DenyResponse=0x344a
OP_SkillUpdate=0x52c6
OP_GMTrainSkillConfirm=0x35cc	# 0x3960
OP_RandomReq=0x59db
OP_Death=0x3a65
OP_GMTraining=0x6e8f
OP_GMEndTraining=0x7ffe
OP_GMTrainSkill=0x444c
OP_Animation=0x5e0c
OP_Begging=0x54ac
OP_Consent=0x400e
OP_ConsentDeny=0x34c1
OP_AutoFire=0x314e
OP_PetCommands=0x0093
OP_PetHoTT=0x0df4
OP_DeleteSpell=0x305c
OP_Surname=0x1a87
OP_ClearSurname=0x17b6
OP_FaceChange=0x5b06
OP_SenseHeading=0x46c8
OP_Action=0x0ea7
OP_ConsiderCorpse=0x06c5
OP_HideCorpse=0x3c4b
OP_CorpseDrag=0x0be7
OP_CorpseDrop=0xdf77
OP_Bug=0x0c07
OP_Feedback=0x45ca
OP_Report=0x6d94
OP_Damage=0x5428
OP_ChannelMessage=0x33bc
OP_Assist=0x4cd1
OP_AssistGroup=0x63df
OP_MoveCoin=0x765a
OP_ZonePlayerToBind=0x7f99
OP_KeyRing=0x04ba
OP_WhoAllRequest=0x78eb
OP_WhoAllResponse=0x3393
OP_FriendsWho=0x3dac
OP_ConfirmDelete=0x78e0
OP_Logout=0x64bd
OP_Rewind=0x5521
OP_TargetCommand=0x000a
OP_Hide=0x2da1
OP_Jump=0x1d47
OP_Camp=0x41cd
OP_Emote=0x37fd
OP_SetRunMode=0x2ce6
OP_BankerChange=0x4e20
OP_TargetMouse=0x0e25
OP_MobHealth=0x218d
OP_InitialMobHealth=0x0000	# Unused?
OP_TargetHoTT=0x3af5
OP_XTargetResponse=0x7f64
OP_XTargetRequest=0x6753
OP_XTargetAutoAddHaters=0x5f51
OP_XTargetOpen=0x7423
OP_XTargetOpenResponse=0x27e8
OP_TargetBuffs=0x1c71
OP_BuffCreate=0x71f5
OP_BuffRemoveRequest=0x7efd
OP_DeleteSpawn=0x3b06
OP_AutoAttack=0x0d14
OP_AutoAttack2=0x3912
OP_Consume=0x4692
OP_MoveItem=0x62a2
OP_DeleteItem=0x3eb5
OP_DeleteCharge=0x2d5b
OP_ItemPacket=0x5e0e
OP_ItemLinkResponse=0x2fdb
OP_ItemLinkClick=0x0353
OP_ItemPreview=0x05cf
OP_NewSpawn=0x3f5b
OP_Track=0x7d43
OP_TrackTarget=0x4c42
OP_TrackUnknown=0x2395
OP_ClickDoor=0x7cc0
OP_MoveDoor=0x5611
OP_RemoveAllDoors=0x39c9
OP_EnvDamage=0x52e9
OP_BoardBoat=0x2731
OP_Forage=0x416d
OP_LeaveBoat=0x6cc1
OP_ControlBoat=0x4aa0
OP_SafeFallSuccess=0x6d27
OP_RezzComplete=0x3297
OP_RezzRequest=0x521b
OP_RezzAnswer=0x004e
OP_Shielding=0x17d9
OP_RequestDuel=0x1ea9
OP_MobRename=0x5040
OP_AugmentItem=0x1627	 	# Was 0x37cb
OP_WeaponEquip1=0x35c3
OP_PlayerStateAdd=0x012f		# Was 0x6022
OP_PlayerStateRemove=0x1076	# Was 0x0110
OP_ApplyPoison=0x1499
OP_Save=0x2e6f
OP_TestBuff=0x046e			# Was 0x3772
OP_CustomTitles=0x471a
OP_Split=0x269e
OP_YellForHelp=0x0017
OP_LoadSpellSet=0x38b4
OP_Bandolier=0x2b6f
OP_PotionBelt=0x2d1b		# Was 0x4d3b
OP_DuelResponse=0x0dee
OP_DuelResponse2=0x5e04
OP_SaveOnZoneReq=0x36b1
OP_ReadBook=0x383c
OP_Dye=0x62d8
OP_InterruptCast=0x7470
OP_AAAction=0x719a
OP_LeadershipExpToggle=0x3ea6
OP_LeadershipExpUpdate=0x6922
OP_PurchaseLeadershipAA=0x1962
OP_UpdateLeadershipAA=0x56aa
OP_MarkNPC=0x1a6c
OP_MarkRaidNPC=0x2d9f	#unimplemented
OP_ClearNPCMarks=0x0d2d
OP_ClearRaidNPCMarks=0x433a	#unimplemented
OP_DelegateAbility=0x7820
OP_SetGroupTarget=0x118a
OP_Charm=0x7118
OP_Stun=0x53c0
OP_SendFindableNPCs=0x34c3
OP_FindPersonRequest=0x2f3b
OP_FindPersonReply=0x44f7
OP_Sound=0x3cec
OP_PetBuffWindow=0x7197
OP_LevelAppearance=0x7c4d
OP_Translocate=0x6f01
OP_Sacrifice=0x76ab
OP_PopupResponse=0x2fa1
OP_OnLevelMessage=0x09cd
OP_AugmentInfo=0x7812
OP_Petition=0x2885
OP_SomeItemPacketMaybe=0x11a0
OP_PVPStats=0x3034				# Unsure
OP_PVPLeaderBoardRequest=0x1bce
OP_PVPLeaderBoardReply=0x3e78
OP_PVPLeaderBoardDetailsRequest=0x46f4
OP_PVPLeaderBoardDetailsReply=0x6a60
OP_RestState=0x3ad5
OP_RespawnWindow=0x7767
OP_LDoNButton=0x596e
OP_SetStartCity=0x7936			# Was 0x2d1b
OP_VoiceMacroIn=0x202e
OP_VoiceMacroOut=0x3920
OP_ItemViewUnknown=0x0b64
OP_VetRewardsAvaliable=0x05d9
OP_VetClaimRequest=0xcdde
OP_VetClaimReply=0x361b
OP_DisciplineUpdate=0x2483		# Was 0x2f05
OP_DisciplineTimer=0x4933		# Was 0x5e3f
OP_BecomeCorpse=0x0000			# Unused?
OP_Action2=0x0000				# Unused?
OP_MobUpdate=0x6b5a
OP_NPCMoveUpdate=0x5bd9
OP_CameraEffect=0x5712
OP_SpellEffect=0x72b6
OP_RemoveNimbusEffect=0x3ba7
OP_AltCurrency=0x8fcb
OP_AltCurrencyMerchantRequest=0x7e3e
OP_AltCurrencyMerchantReply=0x0b60
OP_AltCurrencyPurchase=0x74a8
OP_AltCurrencySell=0x3167
OP_AltCurrencySellSelection=0x3c47
OP_AltCurrencyReclaim=0x46ed
OP_CrystalCountUpdate=0x5a82	# Was 0x3f60
OP_CrystalCreate=0x7616			# Was 0x5a82
OP_CrystalReclaim=0x73db		# Was 0x7616
OP_Untargetable=0x7717
OP_IncreaseStats=0x0711
OP_Weblink=0x7cce
#OP_OpenInventory=0x0000			# Likely does not exist in RoF -U
OP_OpenContainer=0x654f
OP_Marquee=0x288a
OP_Fling=0x6b8e
OP_CancelSneakHide=0x265f
OP_AggroMeterLockTarget=0x70b7
OP_AggroMeterTargetInfo=0x18fe
OP_AggroMeterUpdate=0x75aa

OP_DzQuit=0x5fc8
OP_DzListTimers=0x67b9
OP_DzAddPlayer=0x5ca2
OP_DzRemovePlayer=0x0dc1
OP_DzSwapPlayer=0x4995
OP_DzMakeLeader=0x17b2
OP_DzPlayerList=0x1aff
OP_DzJoinExpeditionConfirm=0x30df
OP_DzJoinExpeditionReply=0x15d4
OP_DzExpeditionInfo=0x3861
OP_DzExpeditionList=0x0b3b
OP_DzMemberStatus=0x26c2
OP_DzLeaderStatus=0x4021
OP_DzExpeditionEndsWarning=0x32eb
OP_DzMemberList=0x348f
OP_DzCompass=0x0e01		# Was 0x4f09
OP_DzChooseZone=0x6e5e	# Maybe 0x29d6

# New Opcodes
OP_SpawnPositionUpdate=0x0000	# Actually OP_MobUpdate ?
OP_ManaUpdate=0x6675
OP_EnduranceUpdate=0x71fb
OP_MobManaUpdate=0x48b5
OP_MobEnduranceUpdate=0x7cb5

# Mercenary Opcodes
OP_MercenaryDataUpdateRequest=0x6774
OP_MercenaryDataUpdate=0x5a7c
OP_MercenaryDataRequest=0x612e
OP_MercenaryDataResponse=0x0768
OP_MercenaryHire=0x18ba
OP_MercenaryDismiss=0x7ff4
OP_MercenaryTimerRequest=0x4326
OP_MercenaryTimer=0x6f9e
OP_MercenaryUnknown1=0x7db4
OP_MercenaryCommand=0x7b21
OP_MercenarySuspendRequest=0x61b3
OP_MercenarySuspendResponse=0x5975
OP_MercenaryUnsuspendResponse=0x68b1

# Looting
OP_LootRequest=0x43a7
OP_EndLootRequest=0x3d8c
OP_LootItem=0x515b
OP_LootComplete=0x256d

# bazaar trader stuff:
OP_BazaarSearch=0x2ad2
OP_TraderDelItem=0x63c8
OP_BecomeTrader=0x74bc
OP_TraderShop=0x0a5e
OP_Trader=0x6a6a	# Was 0x6790
OP_TraderBuy=0x0000
OP_Barter=0x6854
OP_ShopItem=0x0000
OP_BazaarInspect=0x0000
OP_Bazaar=0x0000
OP_TraderItemUpdate=0x0000

# pc/npc trading
OP_TradeRequest=0x5f9e
OP_TradeAcceptClick=0x13db
OP_TradeRequestAck=0x6852
OP_TradeCoins=0x584d
OP_FinishTrade=0x3fbf
OP_CancelTrade=0x0234
OP_TradeMoneyUpdate=0x65f6
OP_MoneyUpdate=0x6e42
OP_TradeBusy=0x7c6d

# Sent after canceling trade or after closing tradeskill object
OP_FinishWindow=0x1939
OP_FinishWindow2=0x68df

# Sent on Live for what seems to be item existance verification
# Ex. Before Right Click Effect happens from items
OP_ItemVerifyRequest=0x2c0c
OP_ItemVerifyReply=0x40de

# merchant stuff
OP_ShopPlayerSell=0x6b4d
OP_ShopRequest=0x16ba
OP_ShopEnd=0x0d07
OP_ShopEndConfirm=0x1860
OP_ShopPlayerBuy=0x3bab
OP_ShopDelItem=0x509c

# tradeskill stuff:
OP_ClickObject=0x7992
OP_ClickObjectAction=0x5507
OP_ClearObject=0x2ead
OP_RecipeDetails=0x7ad0
OP_RecipesFavorite=0x6960
OP_RecipesSearch=0x30f7
OP_RecipeReply=0x544e
OP_RecipeAutoCombine=0x46a4
OP_TradeSkillCombine=0x7447

# Tribute Packets:
OP_OpenGuildTributeMaster=0x107b
OP_OpenTributeMaster=0x6fed # Was 0x40f5
OP_SelectTribute=0x5513
OP_TributeItem=0x105b
OP_TributeMoney=0x4b6d # Was 0x6fed
OP_TributeToggle=0x1f50
OP_TributePointUpdate=0x01ec
OP_TributeNPC=0x0000
OP_GuildTributeInfo=0x0000
OP_OpenTributeReply=0x0000
OP_GuildTributeStatus=0x0000

# Adventure packets:
OP_LeaveAdventure=0x18b3
OP_AdventureFinish=0x3d8b
OP_AdventureInfoRequest=0x38db
OP_AdventureInfo=0x1036
OP_AdventureRequest=0x325c
OP_AdventureDetails=0x4975
OP_AdventureData=0x729b
OP_AdventureUpdate=0x2df4
OP_AdventureMerchantRequest=0x2aa0 # Was 654d
OP_AdventureMerchantResponse=0x5aed # Was 7949
OP_AdventureMerchantPurchase=0x725e # Was 155a
OP_AdventureMerchantSell=0x7882 # Was 389c
OP_AdventurePointsUpdate=0x37cb # Was 7589
OP_AdventureStatsRequest=0x68c2
OP_AdventureStatsReply=0x62fa
OP_AdventureLeaderboardRequest=0x577a
OP_AdventureLeaderboardReply=0x2533

# Group Opcodes
OP_GroupDisband=0x1ed0
OP_GroupInvite=0x1602
OP_GroupFollow=0x2789
OP_GroupUpdate=0x0ba4
OP_GroupUpdateB=0x5a07
OP_GroupCancelInvite=0x2b26
OP_GroupAcknowledge=0x5fae
OP_GroupDelete=0x33ca
OP_CancelInvite=0x2b26
OP_GroupFollow2=0x4964
OP_GroupInvite2=0x6e80
OP_GroupDisbandYou=0x623d
OP_GroupDisbandOther=0x74fa
OP_GroupLeaderChange=0x46fc
OP_GroupRoles=0x047c
OP_GroupMakeLeader=0x4129
OP_DoGroupLeadershipAbility=0x17d7
OP_GroupLeadershipAAUpdate=0x6567
OP_GroupMentor=0x56DB
OP_InspectBuffs=0x01f3

# LFG/LFP Opcodes
OP_LFGCommand=0x4463
OP_LFGGetMatchesRequest=0x1373
OP_LFGGetMatchesResponse=0x31d8
OP_LFPGetMatchesRequest=0x7fd9
OP_LFPGetMatchesResponse=0x4111
OP_LFPCommand=0x6e8b
OP_LFGAppearance=0x0000
OP_LFGResponse=0x0000

# Raid Opcodes
OP_RaidInvite=0x5fb2
OP_RaidUpdate=0x1bd1
OP_RaidJoin=0x0000

# Button-push commands
OP_Taunt=0x0af6
OP_CombatAbility=0x6e4c
OP_SenseTraps=0x7462			# Was 0x2ee0
OP_PickPocket=0x047b
OP_DisarmTraps=0x0000
OP_Disarm=0x70a9
OP_Sneak=0x62f4
OP_Fishing=0x53c2
OP_InstillDoubt=0x63a5
OP_FeignDeath=0x677d
OP_Mend=0x324f
OP_Bind_Wound=0x585d
OP_LDoNOpen=0x3567

# Task packets
OP_TaskDescription=0x2294
OP_TaskActivity=0x7181
OP_CompletedTasks=0x9495
OP_TaskActivityComplete=0x71cd
OP_AcceptNewTask=0x394d
OP_CancelTask=0x0c7f
OP_TaskMemberList=0x748e		# Was 0x1656
OP_OpenNewTasksWindow=0x436c	# Was 0x11de
OP_AvaliableTask=0x2bf8			# Was 0x2377
OP_TaskHistoryRequest=0x6cf6
OP_TaskHistoryReply=0x25eb
OP_DeclineAllTasks=0x0000

# Title opcodes
OP_NewTitlesAvailable=0x45d1
OP_RequestTitles=0x1b5a
OP_SendTitleList=0x0d64
OP_SetTitle=0x0bfc
OP_SetTitleReply=0x7e20

# 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=0x277c
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

OP_ItemRecastDelay=0x57ed
