# 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=0x437c
OP_ApproveWorld=0x7c9b
OP_LogServer=0x729e
OP_SendCharInfo=0x79c4
OP_ExpansionInfo=0x00ec
OP_GuildsList=0x3e97
OP_EnterWorld=0x52ca
OP_PostEnterWorld=0x26d4
OP_World_Client_CRC1=0x3f0e
OP_World_Client_CRC2=0x4628
OP_SendSpellChecksum=0x0000
OP_SendSkillCapsChecksum=0x0000

# Character Select Related:
OP_SendMaxCharacters=0x79df
OP_SendMembership=0x5584
OP_SendMembershipDetails=0x7bee
OP_CharacterCreateRequest=0x4aac
OP_CharacterCreate=0x60ea
OP_DeleteCharacter=0x4415
OP_RandomNameGenerator=0x2d39
OP_ApproveName=0x6607
OP_MOTD=0x237b
OP_SetChatServer=0x7fbc
OP_SetChatServer2=0x611a
OP_ZoneServerInfo=0x0610
OP_WorldComplete=0x4357
OP_WorldUnknown001=0x0f12
OP_FloatListThing=0x5d33

# Reasons for Disconnect:
OP_ZoneUnavail=0x4e66
OP_WorldClientReady=0x0059
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=0x5bf3
OP_ZoneEntry=0x280b
OP_ReqNewZone=0x932b
OP_NewZone=0x6d6c
OP_ZoneSpawns=0x1451
OP_PlayerProfile=0x3a78
OP_TimeOfDay=0x5204
OP_LevelUpdate=0x747e
OP_Stamina=0x4dab
OP_RequestClientZoneChange=0x782a
OP_ZoneChange=0x3654
OP_LockoutTimerInfo=0x0000
OP_ZoneServerReady=0x0000
OP_ZoneInUnknown=0x0000
OP_LogoutReply=0x0000
OP_PreLogoutReply=0x0000

# Required to fully log in
OP_SpawnAppearance=0x4223
OP_ChangeSize=0x4b3b
OP_TributeUpdate=0x58f5
OP_TributeTimer=0x6d2e
OP_SendTributes=0x2017
OP_SendGuildTributes=0x7fd8
OP_TributeInfo=0x7a02
OP_Weather=0x434b
OP_ReqClientSpawn=0x9668
OP_SpawnDoor=0x49ac
OP_GroundSpawn=0x3855
OP_SendZonepoints=0x76d3
OP_BlockedBuffs=0x0966
OP_RemoveBlockedBuffs=0x153a
OP_ClearBlockedBuffs=0x7aa7
OP_WorldObjectsSent=0x0740
OP_SendExpZonein=0x1cc3
OP_SendAATable=0x70ba
OP_RespondAA=0x4d0e
OP_UpdateAA=0x3269
OP_SendAAStats=0x3168
OP_AAExpUpdate=0x0ded
OP_ExpUpdate=0x4326
OP_HPUpdate=0x5cf1
OP_ManaChange=0x1af5
OP_TGB=0x0f18
OP_SpecialMesg=0x6700
OP_GuildMemberList=0x1d1d
OP_GuildMOTD=0x5095
OP_CharInventory=0x3715
OP_WearChange=0x3260
OP_ClientUpdate=0x2f10
OP_ClientReady=0x4da3				# 0x422d
OP_SetServerFilter=0x21dd

# Guild Opcodes - Disabled until crashes are resolved in RoF
OP_GetGuildMOTD=0x76a3				# Was 0x35dc
OP_GetGuildMOTDReply=0x0e55			# Was 0x4586
OP_GuildMemberUpdate=0x07ac			# Was 0x5643
OP_GuildInvite=0x6d0c
OP_GuildRemove=0x4df4
OP_GuildPeace=0x41e5
OP_SetGuildMOTD=0x361a
OP_GuildList=0x0000
OP_GuildWar=0x299a
OP_GuildLeader=0x3892
OP_GuildDelete=0x0d49
OP_GuildInviteAccept=0x3c45
OP_GuildDemote=0x3a8d
OP_GuildPublicNote=0x483c
OP_GuildManageBanker=0x04ad			# Was 0x0737
OP_GuildBank=0xe64c					# Was 0x10c3
OP_SetGuildRank=0x72aa
OP_GuildUpdateURLAndChannel=0x526c
OP_GuildStatus=0x3230
OP_GuildCreate=0x1a3c				# 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=0x05ca
OP_GMBecomeNPC=0x7c0a
OP_GMZoneRequest=0x295d
OP_GMZoneRequest2=0x1c36
OP_GMGoto=0x1659
OP_GMSearchCorpse=0x537a
OP_GMHideMe=0x764e
OP_GMDelCorpse=0x2280
OP_GMApproval=0x6768
OP_GMToggle=0x4c4e
OP_GMSummon=0x17e5			# Was 0x684f
OP_GMEmoteZone=0x6c26		# Was 0x0655
OP_GMEmoteWorld=0x1ff3		# Was 0x1935
OP_GMFind=0x4a39
OP_GMKick=0x5b0f
OP_GMKill=0x6d0d
OP_GMNameChange=0x07fc		# Was 0x4434
OP_GMLastName=0x57dd		# Was 0x3077

# Misc Opcodes
OP_InspectRequest=0x4f0b
OP_InspectAnswer=0x3bf5
OP_InspectMessageUpdate=0x22ae
OP_BeginCast=0x66fd
OP_BuffFadeMsg=0x4aa9
OP_ConsentResponse=0x57a5
OP_MemorizeSpell=0x351d
OP_SwapSpell=0x3069
OP_CastSpell=0x568e
OP_Consider=0x0ea4
OP_FormattedMessage=0x7cd3
OP_SimpleMessage=0x4a83
OP_Buff=0x3c26
OP_Illusion=0x25dd
OP_MoneyOnCorpse=0x6fbd
OP_RandomReply=0x3939
OP_DenyResponse=0x7dc7
OP_SkillUpdate=0x365d
OP_GMTrainSkillConfirm=0x1a0c	# 0x3960
OP_RandomReq=0x50ce
OP_Death=0x09fc
OP_GMTraining=0x1d12
OP_GMEndTraining=0x7d15
OP_GMTrainSkill=0x1369
OP_Animation=0x47d4
OP_Begging=0x7da4
OP_Consent=0x753e
OP_ConsentDeny=0x54dd
OP_AutoFire=0x3517
OP_PetCommands=0x5c34
OP_DeleteSpell=0x60e1
OP_Surname=0x7d6b
OP_ClearSurname=0x5c93
OP_FaceChange=0x09ac
OP_SenseHeading=0x7c17
OP_Action=0x1384
OP_ConsiderCorpse=0x4715
OP_HideCorpse=0x31df
OP_CorpseDrag=0x4b1c
OP_CorpseDrop=0x36e2
OP_Bug=0x5194
OP_Feedback=0x29f6
OP_Report=0x0c72
OP_Damage=0x6004
OP_ChannelMessage=0x0ead
OP_Assist=0x7923
OP_AssistGroup=0x7737
OP_MoveCoin=0x54b4
OP_ZonePlayerToBind=0x5cb6
OP_KeyRing=0x1490
OP_WhoAllRequest=0x18e5
OP_WhoAllResponse=0x1b8c
OP_FriendsWho=0x173c
OP_ConfirmDelete=0x417b
OP_Logout=0x2436
OP_Rewind=0x25e3
OP_TargetCommand=0x63cf
OP_Hide=0x2e6f
OP_Jump=0x7629
OP_Camp=0x3297
OP_Emote=0x1ad3
OP_SetRunMode=0x3448
OP_BankerChange=0x08cc
OP_TargetMouse=0x77c6
OP_MobHealth=0x29b7
OP_InitialMobHealth=0x0000	# Unused?
OP_TargetHoTT=0x042a
OP_XTargetResponse=0x5473
OP_XTargetRequest=0x45a9
OP_XTargetAutoAddHaters=0x5af8
OP_TargetBuffs=0x156f
OP_BuffCreate=0x2013
OP_BuffRemoveRequest=0x718c
OP_DeleteSpawn=0x69b2
OP_AutoAttack=0x702f
OP_AutoAttack2=0x47b1
OP_Consume=0x3008
OP_MoveItem=0x1512
OP_DeleteItem=0x4087
OP_DeleteCharge=0x2a47
OP_ItemPacket=0x1dc1
OP_ItemLinkResponse=0x24cd
OP_ItemLinkClick=0x0a72
OP_ItemPreview=0x46e4
OP_NewSpawn=0x2302
OP_Track=0x0192
OP_TrackTarget=0x7618
OP_TrackUnknown=0x1a71
OP_ClickDoor=0x15fb
OP_MoveDoor=0x4665
OP_RemoveAllDoors=0x4cca
OP_EnvDamage=0x2ed2
OP_BoardBoat=0x4324
OP_Forage=0x39e3
OP_LeaveBoat=0x20e6
OP_ControlBoat=0x599c
OP_SafeFallSuccess=0x31ee
OP_RezzComplete=0x79b9
OP_RezzRequest=0x70e8
OP_RezzAnswer=0x7158
OP_Shielding=0x0bd4
OP_RequestDuel=0x4719
OP_MobRename=0x5b82
OP_AugmentItem=0x1d6e	 	# Was 0x37cb
OP_WeaponEquip1=0x1614
OP_WeaponEquip2=0x1660		# Was 0x6022
OP_WeaponUnequip2=0x75ea	# Was 0x0110
OP_ApplyPoison=0x197e
OP_Save=0x260c
OP_TestBuff=0x29c3			# Was 0x3772
OP_CustomTitles=0x719f
OP_Split=0x27d5
OP_YellForHelp=0x2a50
OP_LoadSpellSet=0x4d0f
OP_Bandolier=0x2c88
OP_PotionBelt=0x62e9		# Was 0x4d3b
OP_DuelResponse=0x23e8
OP_DuelResponse2=0x3828
OP_SaveOnZoneReq=0x44d3
OP_ReadBook=0x4910
OP_Dye=0x265b
OP_InterruptCast=0x2e8c
OP_AAAction=0x4f7c
OP_LeadershipExpToggle=0x0350
OP_LeadershipExpUpdate=0x4a6e
OP_PurchaseLeadershipAA=0x45a5
OP_UpdateLeadershipAA=0x2efb
OP_MarkNPC=0x43f8
OP_ClearNPCMarks=0x6c57
OP_DelegateAbility=0x2e22
OP_SetGroupTarget=0x0da5
OP_Charm=0x738b
OP_Stun=0x3333
OP_SendFindableNPCs=0x6516
OP_FindPersonRequest=0x4e65
OP_FindPersonReply=0x5e04
OP_Sound=0x6ad4
OP_PetBuffWindow=0x5be1
OP_LevelAppearance=0x7a6f
OP_Translocate=0x3a61
OP_Sacrifice=0x18a6
OP_PopupResponse=0x0f8f
OP_OnLevelMessage=0x213b
OP_AugmentInfo=0x1565
OP_Petition=0x6002
OP_SomeItemPacketMaybe=0x49ee
OP_PVPStats=0x26ea				# Unsure
OP_PVPLeaderBoardRequest=0x13fd
OP_PVPLeaderBoardReply=0x5dd0
OP_PVPLeaderBoardDetailsRequest=0x7a42
OP_PVPLeaderBoardDetailsReply=0x2b8b
OP_RestState=0x5b4b
OP_RespawnWindow=0x0920
OP_LDoNButton=0x09f2
OP_SetStartCity=0x372f			# Was 0x2d1b
OP_VoiceMacroIn=0x376d
OP_VoiceMacroOut=0x5a45
OP_ItemViewUnknown=0x7bf0
OP_VetRewardsAvaliable=0x7060
OP_VetClaimRequest=0x345c
OP_VetClaimReply=0x1705
OP_DisciplineUpdate=0x4b8f		# Was 0x2f05
OP_DisciplineTimer=0x0b96		# Was 0x5e3f
OP_BecomeCorpse=0x0000			# Unused?
OP_Action2=0x0000				# Unused?
OP_MobUpdate=0x09aa
OP_NPCMoveUpdate=0x4eca
OP_CameraEffect=0x0546
OP_SpellEffect=0x1f9d
OP_RemoveNimbusEffect=0x59dc
OP_AltCurrency=0x1da9
OP_AltCurrencyMerchantRequest=0x44f0
OP_AltCurrencyMerchantReply=0x77d4
OP_AltCurrencyPurchase=0x02ec
OP_AltCurrencySell=0x7bcf
OP_AltCurrencySellSelection=0x122a
OP_AltCurrencyReclaim=0x5b90
OP_CrystalCountUpdate=0x37da	# Was 0x3f60
OP_CrystalCreate=0x22e4			# Was 0x5a82
OP_CrystalReclaim=0x1c12		# Was 0x7616
OP_Untargetable=0x6dd5
OP_IncreaseStats=0x355f
OP_Weblink=0x3d99
#OP_OpenInventory=0x0000			# Likely does not exist in RoF -U
OP_OpenContainer=0x0000

OP_DzQuit=0x7878
OP_DzListTimers=0x6bbc
OP_DzAddPlayer=0x4185
OP_DzRemovePlayer=0x6c01
OP_DzSwapPlayer=0x5746
OP_DzMakeLeader=0x47ba
OP_DzPlayerList=0x4848
OP_DzJoinExpeditionConfirm=0x56d3
OP_DzJoinExpeditionReply=0x28bf
OP_DzExpeditionInfo=0x575f
OP_DzExpeditionList=0x6ff3
OP_DzMemberStatus=0x2456
OP_DzLeaderStatus=0x5be9
OP_DzExpeditionEndsWarning=0x3966
OP_DzMemberList=0x215d
OP_DzCompass=0x5a12		# Was 0x4f09
OP_DzChooseZone=0x0000	# Maybe 0x29d6

# New Opcodes
OP_SpawnPositionUpdate=0x0000	# Actually OP_MobUpdate ?
OP_ManaUpdate=0x52de
OP_EnduranceUpdate=0x4730
OP_MobManaUpdate=0x7f17
OP_MobEnduranceUpdate=0x0336

# Mercenary Opcodes
OP_MercenaryDataUpdateRequest=0x7452
OP_MercenaryDataUpdate=0x0b3a
OP_MercenaryDataRequest=0x28ec
OP_MercenaryDataResponse=0x0247
OP_MercenaryHire=0x4950
OP_MercenaryDismiss=0x1408
OP_MercenaryTimerRequest=0x7691
OP_MercenaryTimer=0x0459
OP_MercenaryUnknown1=0x57b4
OP_MercenaryCommand=0x3be8
OP_MercenarySuspendRequest=0x4aea
OP_MercenarySuspendResponse=0x29a8
OP_MercenaryUnsuspendResponse=0x17f8

# Looting
OP_LootRequest=0x2106
OP_EndLootRequest=0x77fc
OP_LootItem=0x69a9
OP_LootComplete=0x2c4b

# bazaar trader stuff:
OP_BazaarSearch=0x31f0
OP_TraderDelItem=0x0000
OP_BecomeTrader=0x1028
OP_TraderShop=0x0527
OP_Trader=0x608b	# Was 0x6790
OP_TraderBuy=0x0000
OP_Barter=0x0d79
OP_ShopItem=0x0000
OP_BazaarInspect=0x0000
OP_Bazaar=0x0000
OP_TraderItemUpdate=0x0000

# pc/npc trading
OP_TradeRequest=0x0910
OP_TradeAcceptClick=0x2921
OP_TradeRequestAck=0x6f1b
OP_TradeCoins=0x6aef
OP_FinishTrade=0x7b39
OP_CancelTrade=0x1486
OP_TradeMoneyUpdate=0x438a
OP_MoneyUpdate=0x5d8c
OP_TradeBusy=0x5856

# Sent after canceling trade or after closing tradeskill object
OP_FinishWindow=0x4a2a
OP_FinishWindow2=0x6b34

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

# merchant stuff
OP_ShopPlayerSell=0x064a
OP_ShopRequest=0x1f03
OP_ShopEnd=0x38b9
OP_ShopEndConfirm=0x1362
OP_ShopPlayerBuy=0x5d60
OP_ShopDelItem=0x5e29

# tradeskill stuff:
OP_ClickObject=0x4c3e
OP_ClickObjectAction=0x5e24
OP_ClearObject=0x5465
OP_RecipeDetails=0x2695
OP_RecipesFavorite=0x1e20
OP_RecipesSearch=0x1335
OP_RecipeReply=0x728c
OP_RecipeAutoCombine=0x2fba
OP_TradeSkillCombine=0x11d5

# Tribute Packets:
OP_OpenGuildTributeMaster=0x11e5
OP_OpenTributeMaster=0x7c65 # Was 0x40f5
OP_SelectTribute=0x3f29
OP_TributeItem=0x42ff
OP_TributeMoney=0x1beb # Was 0x6fed
OP_TributeToggle=0x3d5c
OP_TributePointUpdate=0x1065
OP_TributeNPC=0x0000
OP_GuildTributeInfo=0x0000
OP_OpenTributeReply=0x0000
OP_GuildTributeStatus=0x0000

# Adventure packets:
OP_LeaveAdventure=0x206b
OP_AdventureFinish=0x7f00
OP_AdventureInfoRequest=0x2fc8
OP_AdventureInfo=0x1aaf
OP_AdventureRequest=0x6553
OP_AdventureDetails=0x5892
OP_AdventureData=0x7599
OP_AdventureUpdate=0x41b6
OP_AdventureMerchantRequest=0x1e99 # Was 654d
OP_AdventureMerchantResponse=0x394e # Was 7949
OP_AdventureMerchantPurchase=0x04b1 # Was 155a
OP_AdventureMerchantSell=0x1b22 # Was 389c
OP_AdventurePointsUpdate=0x36bf # Was 7589
OP_AdventureStatsRequest=0x5754
OP_AdventureStatsReply=0x31e2
OP_AdventureLeaderboardRequest=0x5b3d
OP_AdventureLeaderboardReply=0x5001

# Group Opcodes
OP_GroupDisband=0x468d
OP_GroupInvite=0x174e
OP_GroupFollow=0x06fc
OP_GroupUpdate=0x050b
OP_GroupUpdateB=0x09e2
OP_GroupCancelInvite=0x0000
OP_GroupAcknowledge=0x6f78
OP_GroupDelete=0x0d6b
OP_CancelInvite=0x67e2
OP_GroupFollow2=0x5435
OP_GroupInvite2=0x09af
OP_GroupDisbandYou=0x56f7
OP_GroupDisbandOther=0x50e8
OP_GroupLeaderChange=0x3d88
OP_GroupRoles=0x48b2
OP_GroupMakeLeader=0x6c31
OP_DoGroupLeadershipAbility=0x4af2
OP_GroupLeadershipAAUpdate=0x6a2b

# LFG/LFP Opcodes
OP_LFGCommand=0x2c60
OP_LFGGetMatchesRequest=0x7d32
OP_LFGGetMatchesResponse=0x5fa3
OP_LFPGetMatchesRequest=0x011c
OP_LFPGetMatchesResponse=0x6336
OP_LFPCommand=0x076c
OP_LFGAppearance=0x0000
OP_LFGResponse=0x0000

# Raid Opcodes
OP_RaidInvite=0x6f6a
OP_RaidUpdate=0x37bb
OP_RaidJoin=0x0000

# Button-push commands
OP_Taunt=0x5d7f
OP_CombatAbility=0x79ca
OP_SenseTraps=0x4795			# Was 0x2ee0
OP_PickPocket=0x5376
OP_DisarmTraps=0x0000
OP_Disarm=0x5122
OP_Sneak=0x6518
OP_Fishing=0x4312
OP_InstillDoubt=0x3392
OP_FeignDeath=0x2887
OP_Mend=0x4041
OP_Bind_Wound=0x55bf
OP_LDoNOpen=0x16af

# Task packets
OP_TaskDescription=0x0190
OP_TaskActivity=0x0c6a
OP_CompletedTasks=0x304b
OP_TaskActivityComplete=0x0e9f
OP_AcceptNewTask=0x1c0f
OP_CancelTask=0xb199
OP_TaskMemberList=0x4028		# Was 0x1656
OP_OpenNewTasksWindow=0x1e5b	# Was 0x11de
OP_AvaliableTask=0x1138			# Was 0x2377
OP_TaskHistoryRequest=0x2e9b
OP_TaskHistoryReply=0x2adb
OP_DeclineAllTasks=0x0000

# Title opcodes
OP_NewTitlesAvailable=0x18c7
OP_RequestTitles=0x1118
OP_SendTitleList=0x4750
OP_SetTitle=0x2a7e
OP_SetTitleReply=0x0867

# 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