# 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=0x317e
OP_ApproveWorld=0x2ef2
OP_LogServer=0x5b24
OP_SendCharInfo=0x2ad9
OP_ExpansionInfo=0x1a9b
OP_GuildsList=0x6f57
OP_EnterWorld=0x6078
OP_PostEnterWorld=0x0f9f
OP_World_Client_CRC1=0x7978
OP_World_Client_CRC2=0x2b1c
OP_SendSpellChecksum=0x0000
OP_SendSkillCapsChecksum=0x0000

# Character Select Related:
OP_SendMaxCharacters=0x24db
OP_SendMembership=0x57f3
OP_SendMembershipDetails=0x4183
OP_CharacterCreateRequest=0x2cad
OP_CharacterCreate=0x15d7
OP_DeleteCharacter=0x2f9a
OP_RandomNameGenerator=0x4bf8
OP_ApproveName=0x78cc
OP_MOTD=0x282a
OP_SetChatServer=0x3f5e
OP_SetChatServer2=0x6a29
OP_ZoneServerInfo=0x00c9
OP_WorldComplete=0x48e6
OP_WorldUnknown001=0x52d2
OP_FloatListThing=0x2b9c

# Reasons for Disconnect:
OP_ZoneUnavail=0x408a
OP_WorldClientReady=0x45b4
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=0x46c2
OP_ZoneEntry=0x4a63
OP_ReqNewZone=0x3ff0
OP_NewZone=0x6727
OP_ZoneSpawns=0x1d0a
OP_PlayerProfile=0x6926
OP_TimeOfDay=0x6b7b
OP_LevelUpdate=0x1d84
OP_Stamina=0x5114
OP_RequestClientZoneChange=0x31b0
OP_ZoneChange=0x7951
OP_LockoutTimerInfo=0x0000
OP_ZoneServerReady=0x0000
OP_ZoneInUnknown=0x0000
OP_LogoutReply=0x0000
OP_PreLogoutReply=0x0000

# Required to fully log in
OP_SpawnAppearance=0x3143
OP_ChangeSize=0x70d1
OP_TributeUpdate=0x590f
OP_TributeTimer=0x4590
OP_SendTributes=0x4124
OP_SendGuildTributes=0x1df9
OP_TributeInfo=0x37b0
OP_Weather=0x63f0
OP_ReqClientSpawn=0x37f1
OP_SpawnDoor=0x7e51
OP_GroundSpawn=0x07eb
OP_SendZonepoints=0x0067
OP_BlockedBuffs=0x1375
OP_RemoveBlockedBuffs=0x7996
OP_ClearBlockedBuffs=0x7a20
OP_WorldObjectsSent=0x0ae9
OP_SendExpZonein=0x0380
OP_SendAATable=0x7a7c
OP_RespondAA=0x11a3
OP_UpdateAA=0x4559
OP_SendAAStats=0x32fd
OP_AAExpUpdate=0x24a1
OP_ExpUpdate=0x793d
OP_HPUpdate=0x6598
OP_ManaChange=0x3a19
OP_TGB=0x552e
OP_SpecialMesg=0x7545
OP_GuildMemberList=0x2ef0
OP_GuildMOTD=0x3880
OP_CharInventory=0x4df2
OP_WearChange=0x003a
OP_ClientUpdate=0x47c9
OP_ClientReady=0x7538
OP_SetServerFilter=0x178d

# Guild Opcodes - Disabled until crashes are resolved in RoF
OP_GetGuildMOTD=0x3dfe
OP_GetGuildMOTDReply=0x7bff
OP_GuildMemberUpdate=0x45e4
OP_GuildInvite=0x47d2
OP_GuildRemove=0x245d
OP_GuildPeace=0x71b2
OP_SetGuildMOTD=0x703b
OP_GuildList=0x0000
OP_GuildWar=0x731c
OP_GuildLeader=0x01c6
OP_GuildDelete=0x5592
OP_GuildInviteAccept=0x7fa4
OP_GuildDemote=0x144a
OP_GuildPublicNote=0x44fb
OP_GuildManageBanker=0x769e
OP_GuildBank=0x2591
OP_SetGuildRank=0x4195
OP_GuildUpdateURLAndChannel=0x2df0
OP_GuildStatus=0x6e9e
OP_GuildCreate=0x1544
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=0x2e1e
OP_GMBecomeNPC=0x1def
OP_GMZoneRequest=0x49ad
OP_GMZoneRequest2=0x54ff
OP_GMGoto=0x35a9
OP_GMSearchCorpse=0x206c
OP_GMHideMe=0x0b62
OP_GMDelCorpse=0x6344
OP_GMApproval=0x35b3
OP_GMToggle=0x3bd7
OP_GMSummon=0x0c58
OP_GMEmoteZone=0x28ab
OP_GMEmoteWorld=0x4903
OP_GMFind=0x0ea3
OP_GMKick=0x5f92
OP_GMKill=0x3b7d
OP_GMNameChange=0x1c3f
OP_GMLastName=0x4ead

# Misc Opcodes
OP_InspectRequest=0x3692
OP_InspectAnswer=0x0af1
OP_InspectMessageUpdate=0x1bc6
OP_BeginCast=0x5df6
OP_BuffFadeMsg=0x569a
OP_ConsentResponse=0x68c2
OP_MemorizeSpell=0x72e2
OP_SwapSpell=0x70c4
OP_CastSpell=0x5c4b
OP_Consider=0x0e31
OP_FormattedMessage=0x3735
OP_SimpleMessage=0x4645
OP_Buff=0x7fb5
OP_Illusion=0x3772
OP_MoneyOnCorpse=0x4ab0
OP_RandomReply=0x76ea
OP_DenyResponse=0x0a88
OP_SkillUpdate=0x2e5f
OP_GMTrainSkillConfirm=0x6692
OP_RandomReq=0x16e6
OP_Death=0x25ad
OP_GMTraining=0x3dcc
OP_GMEndTraining=0x5721
OP_GMTrainSkill=0x38f0
OP_Animation=0x53f6
OP_Begging=0x4d3d
OP_Consent=0x4d7c
OP_ConsentDeny=0x3b03
OP_AutoFire=0x4697
OP_PetCommands=0x574a
OP_DeleteSpell=0x5279
OP_Surname=0x181d
OP_ClearSurname=0x1097
OP_FaceChange=0x59d8
OP_SenseHeading=0x689a
OP_Action=0x280b
OP_ConsiderCorpse=0x6c92
OP_HideCorpse=0x7dea
OP_CorpseDrag=0x338a
OP_CorpseDrop=0x409e
OP_Bug=0x7589
OP_Feedback=0x5d5f
OP_Report=0x521c
OP_Damage=0x5e8a
OP_ChannelMessage=0x1770
OP_Assist=0x7021
OP_AssistGroup=0x6668
OP_MoveCoin=0x6a56
OP_ZonePlayerToBind=0x859e
OP_KeyRing=0x7613
OP_WhoAllRequest=0x1d64
OP_WhoAllResponse=0x20aa
OP_FriendsWho=0x527c
OP_ConfirmDelete=0x3221
OP_Logout=0x4e12
OP_Rewind=0x44d0
OP_TargetCommand=0x726c
OP_Hide=0x23f2
OP_Jump=0x3dbc
OP_Camp=0x2ca2
OP_Emote=0x314d
OP_SetRunMode=0x276f
OP_BankerChange=0x21b0
OP_TargetMouse=0x3605
OP_MobHealth=0x1949
OP_InitialMobHealth=0x0000	# Unused?
OP_TargetHoTT=0x1be6
OP_XTargetResponse=0x0ad9
OP_XTargetRequest=0x3034
OP_XTargetAutoAddHaters=0x7efd
OP_TargetBuffs=0x5e3b
OP_BuffCreate=0x51da
OP_BuffRemoveRequest=0x6ce2
OP_DeleteSpawn=0x0ef8
OP_AutoAttack=0x577f
OP_AutoAttack2=0x4f56
OP_Consume=0x7cca
OP_MoveItem=0x5ba6
OP_DeleteItem=0x36dd
OP_DeleteCharge=0x6ec3
OP_ItemPacket=0x75b5
OP_ItemLinkResponse=0x5fa8
OP_ItemLinkClick=0x0b40
OP_ItemPreview=0x2688
OP_NewSpawn=0x7cde
OP_Track=0x2f78
OP_TrackTarget=0x74dc
OP_TrackUnknown=0x3127
OP_ClickDoor=0x2b55
OP_MoveDoor=0x5e21
OP_RemoveAllDoors=0x73b3
OP_EnvDamage=0x21da
OP_BoardBoat=0x1372
OP_Forage=0x0d91
OP_LeaveBoat=0x7582
OP_ControlBoat=0x5d0e
OP_SafeFallSuccess=0x317f
OP_RezzComplete=0x017b
OP_RezzRequest=0x21a1
OP_RezzAnswer=0x21ce
OP_Shielding=0x17d3
OP_RequestDuel=0x4870
OP_MobRename=0x3a4e
OP_AugmentItem=0x3d13
OP_WeaponEquip1=0x6041
OP_WeaponEquip2=0x23f7
OP_WeaponUnequip2=0x4078
OP_ApplyPoison=0x099a
OP_Save=0x1361
OP_TestBuff=0x478a
OP_CustomTitles=0x6115
OP_Split=0x617f
OP_YellForHelp=0x40d4
OP_LoadSpellSet=0x0680
OP_Bandolier=0x1627
OP_PotionBelt=0x3208
OP_DuelResponse=0x0d3b
OP_DuelResponse2=0x24e0
OP_SaveOnZoneReq=0x13af
OP_ReadBook=0x641b
OP_Dye=0x401f
OP_InterruptCast=0x27e0
OP_AAAction=0x2eae
OP_LeadershipExpToggle=0x0f66
OP_LeadershipExpUpdate=0x3791
OP_PurchaseLeadershipAA=0x2c3e
OP_UpdateLeadershipAA=0x18ef
OP_MarkNPC=0x3093
OP_ClearNPCMarks=0x1404
OP_DelegateAbility=0x29a8
OP_SetGroupTarget=0x7b9f
OP_Charm=0x1c1f
OP_Stun=0x45e0
OP_SendFindableNPCs=0x62da
OP_FindPersonRequest=0x41fb
OP_FindPersonReply=0x23e2
OP_Sound=0x622a
OP_PetBuffWindow=0x53f8
OP_LevelAppearance=0x5b03
OP_Translocate=0x5e10
OP_Sacrifice=0x2ee4
OP_PopupResponse=0x7f5e
OP_OnLevelMessage=0x1ef3
OP_AugmentInfo=0x0000
OP_Petition=0x71e3
OP_SomeItemPacketMaybe=0x1f4c
OP_PVPStats=0x1937				# Unsure
OP_PVPLeaderBoardRequest=0x739b
OP_PVPLeaderBoardReply=0x5c62
OP_PVPLeaderBoardDetailsRequest=0x4ce0
OP_PVPLeaderBoardDetailsReply=0x2a52
OP_RestState=0x2342
OP_RespawnWindow=0x3f23
OP_LDoNButton=0x3820
OP_SetStartCity=0x5d81
OP_VoiceMacroIn=0x3144
OP_VoiceMacroOut=0x75ed
OP_ItemViewUnknown=0x6cc1
OP_VetRewardsAvaliable=0x67a6
OP_VetClaimRequest=0x23e7
OP_VetClaimReply=0x23eb
OP_DisciplineUpdate=0x5010
OP_DisciplineTimer=0x0673
OP_BecomeCorpse=0x0000			# Unused?
OP_Action2=0x0000				# Unused?
OP_MobUpdate=0x710b
OP_NPCMoveUpdate=0x51e9
OP_CameraEffect=0x7a73
OP_SpellEffect=0x30b6
OP_RemoveNimbusEffect=0x1fb3
OP_AltCurrency=0x32db
OP_AltCurrencyMerchantRequest=0x6588
OP_AltCurrencyMerchantReply=0x393c
OP_AltCurrencyPurchase=0x43e8
OP_AltCurrencySell=0x2c40
OP_AltCurrencySellSelection=0x0eec
OP_AltCurrencyReclaim=0x0fbc
OP_CrystalCountUpdate=0x5cd9
OP_CrystalCreate=0x0e4b
OP_CrystalReclaim=0x6506
OP_Untargetable=0x3859
OP_IncreaseStats=0x22b9
OP_Weblink=0x2d92
#OP_OpenInventory=0x0000			# Likely does not exist in RoF -U
OP_OpenContainer=0x0000

OP_DzQuit=0x20fb
OP_DzListTimers=0x50c1
OP_DzAddPlayer=0x06e0
OP_DzRemovePlayer=0x90ca
OP_DzSwapPlayer=0x6461
OP_DzMakeLeader=0x599d
OP_DzPlayerList=0x6dfb
OP_DzJoinExpeditionConfirm=0x3e9d
OP_DzJoinExpeditionReply=0x25b7
OP_DzExpeditionInfo=0x56a8
OP_DzExpeditionList=0x6171
OP_DzMemberStatus=0x52d9
OP_DzLeaderStatus=0x7b38
OP_DzExpeditionEndsWarning=0x26c5
OP_DzMemberList=0x59e2
OP_DzCompass=0x3435
OP_DzChooseZone=0x0000

# New Opcodes
OP_SpawnPositionUpdate=0x0000	# Actually OP_MobUpdate ?
OP_ManaUpdate=0x06bc
OP_EnduranceUpdate=0x4e20
OP_MobManaUpdate=0x4738
OP_MobEnduranceUpdate=0x6519

# Mercenary Opcodes
OP_MercenaryDataUpdateRequest=0x3a44
OP_MercenaryDataUpdate=0x6c75
OP_MercenaryDataRequest=0x4b77
OP_MercenaryDataResponse=0x69a0
OP_MercenaryHire=0x49cd
OP_MercenaryDismiss=0x74bd
OP_MercenaryTimer=0x34df
OP_MercenaryTimerRequest=0x5f36
OP_MercenaryUnknown1=0x305c
OP_MercenaryCommand=0x2131
OP_MercenarySuspendRequest=0x53e8
OP_MercenarySuspendResponse=0x277d
OP_MercenaryUnsuspendResponse=0x6ccc

# Looting
OP_LootRequest=0x396f
OP_EndLootRequest=0x12a6
OP_LootItem=0x7e1d
OP_LootComplete=0x46e8

# bazaar trader stuff:
OP_BazaarSearch=0x0962
OP_TraderDelItem=0x0000
OP_BecomeTrader=0x3360
OP_TraderShop=0x67f9
OP_Trader=0x3f87
OP_TraderBuy=0x0000
OP_Barter=0x14b0
OP_ShopItem=0x0000
OP_BazaarInspect=0x0000
OP_Bazaar=0x0000
OP_TraderItemUpdate=0x0000

# pc/npc trading
OP_TradeRequest=0x1695
OP_TradeAcceptClick=0x0ecc
OP_TradeRequestAck=0x6489
OP_TradeCoins=0x35eb
OP_FinishTrade=0x6897
OP_CancelTrade=0x7e73
OP_TradeMoneyUpdate=0x5857
OP_MoneyUpdate=0x2044
OP_TradeBusy=0x5ee9

# Sent after canceling trade or after closing tradeskill object
OP_FinishWindow=0x00ef
OP_FinishWindow2=0x7e90

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

# merchant stuff
OP_ShopPlayerSell=0x1650
OP_ShopRequest=0x6dab
OP_ShopEnd=0x44f1
OP_ShopEndConfirm=0x07ad
OP_ShopPlayerBuy=0x7d9b
OP_ShopDelItem=0x2cec

# tradeskill stuff:
OP_ClickObject=0x4370
OP_ClickObjectAction=0x0883
OP_ClearObject=0x4dd6
OP_RecipeDetails=0x584c
OP_RecipesFavorite=0x2e74
OP_RecipesSearch=0x41ee
OP_RecipeReply=0x1d46
OP_RecipeAutoCombine=0x413d
OP_TradeSkillCombine=0x268f

# Tribute Packets:
OP_OpenGuildTributeMaster=0x4b72
OP_OpenTributeMaster=0x58fb
OP_SelectTribute=0x3cb7
OP_TributeItem=0x796f
OP_TributeMoney=0x7bed
OP_TributeToggle=0x448c
OP_TributePointUpdate=0x0ca7
OP_TributeNPC=0x0000
OP_GuildTributeInfo=0x0000
OP_OpenTributeReply=0x0000
OP_GuildTributeStatus=0x0000

# Adventure packets:
OP_LeaveAdventure=0x37bd
OP_AdventureFinish=0x2ebd
OP_AdventureInfoRequest=0x258e
OP_AdventureInfo=0x5df3
OP_AdventureRequest=0x078c
OP_AdventureDetails=0x451d
OP_AdventureData=0x10da
OP_AdventureUpdate=0x38bc
OP_AdventureMerchantRequest=0x4958
OP_AdventureMerchantResponse=0x71ab
OP_AdventureMerchantPurchase=0x207d
OP_AdventureMerchantSell=0x3307
OP_AdventurePointsUpdate=0x0a93
OP_AdventureStatsRequest=0x1b35
OP_AdventureStatsReply=0x4cce
OP_AdventureLeaderboardRequest=0x4ac4
OP_AdventureLeaderboardReply=0x71c1

# Group Opcodes
OP_GroupDisband=0x4039
OP_GroupInvite=0x3b75
OP_GroupFollow=0x3158
OP_GroupUpdate=0x6b4e
OP_GroupUpdateB=0x39c3
OP_GroupCancelInvite=0x0000
OP_GroupAcknowledge=0x4013
OP_GroupDelete=0x2fb9
OP_CancelInvite=0x4ea4
OP_GroupFollow2=0x396c
OP_GroupInvite2=0x4cc2
OP_GroupDisbandYou=0x739a
OP_GroupDisbandOther=0x416d
OP_GroupLeaderChange=0x3153
OP_GroupRoles=0x3d35
OP_GroupMakeLeader=0x77a0
OP_DoGroupLeadershipAbility=0x0c82
OP_GroupLeadershipAAUpdate=0x4d85

# LFG/LFP Opcodes
OP_LFGCommand=0x370c
OP_LFGGetMatchesRequest=0x54e8
OP_LFGGetMatchesResponse=0x444a
OP_LFPGetMatchesRequest=0x55d6
OP_LFPGetMatchesResponse=0x0928
OP_LFPCommand=0x1df7
OP_LFGAppearance=0x0000
OP_LFGResponse=0x0000

# Raid Opcodes
OP_RaidInvite=0x7e7e
OP_RaidUpdate=0x1c5a
OP_RaidJoin=0x0000

# Button-push commands
OP_Taunt=0x4798
OP_CombatAbility=0x182d
OP_SenseTraps=0x3662
OP_PickPocket=0x23c8
OP_DisarmTraps=0x0000
OP_Disarm=0x0bc6
OP_Sneak=0x54a4
OP_Fishing=0x1e3b
OP_InstillDoubt=0x5a3f
OP_FeignDeath=0x7bb7
OP_Mend=0x56fb
OP_Bind_Wound=0x174b
OP_LDoNOpen=0x139f

# Task packets
OP_TaskDescription=0x1eac
OP_TaskActivity=0x4423
OP_CompletedTasks=0x7046
OP_TaskActivityComplete=0x7eee
OP_AcceptNewTask=0x3d60
OP_CancelTask=0x26a8
OP_TaskMemberList=0x411e
OP_OpenNewTasksWindow=0x2633
OP_AvaliableTask=0x05cc
OP_TaskHistoryRequest=0x72e1
OP_TaskHistoryReply=0x0c1e
OP_DeclineAllTasks=0x0000

# Title opcodes
OP_NewTitlesAvailable=0x201f
OP_RequestTitles=0x6034
OP_SendTitleList=0x2142
OP_SetTitle=0x740d
OP_SetTitleReply=0x3196

# 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