//list of packets we need to encode on the way out: E(OP_Action) E(OP_Animation) E(OP_ApplyPoison) E(OP_AugmentInfo) E(OP_BeginCast) E(OP_BlockedBuffs) E(OP_Buff) E(OP_BuffCreate) E(OP_CancelTrade) E(OP_CastSpell) E(OP_ChannelMessage) E(OP_CharInventory) E(OP_ClickObjectAction) E(OP_ClientUpdate) E(OP_Consider) E(OP_Damage) E(OP_Death) E(OP_DeleteCharge) E(OP_DeleteItem) E(OP_DeleteSpawn) E(OP_DisciplineUpdate) E(OP_ExpansionInfo) E(OP_ExpUpdate) E(OP_FormattedMessage) E(OP_GMTraining) E(OP_GMTrainSkillConfirm) E(OP_GroundSpawn) E(OP_HPUpdate) E(OP_Illusion) E(OP_ItemPacket) E(OP_LogServer) E(OP_ManaChange) E(OP_MobHealth) E(OP_MoneyOnCorpse) E(OP_MoveItem) E(OP_NewSpawn) E(OP_NewZone) E(OP_OnLevelMessage) E(OP_PlayerProfile) E(OP_RemoveBlockedBuffs) E(OP_RespondAA) E(OP_RequestClientZoneChange) E(OP_RecipeAutoCombine) E(OP_SendAATable) E(OP_SendCharInfo) E(OP_SendMaxCharacters) E(OP_SendMembership) E(OP_SendMembershipDetails) E(OP_SendZonepoints) E(OP_ShopPlayerBuy) E(OP_ShopPlayerSell) E(OP_ShopRequest) E(OP_SkillUpdate) E(OP_SpecialMesg) E(OP_SpawnAppearance) E(OP_SpawnDoor) E(OP_Stun) E(OP_WearChange) E(OP_ZoneChange) E(OP_ZoneEntry) E(OP_ZonePlayerToBind) E(OP_ZoneSpawns) //list of packets we need to decode on the way in: D(OP_Animation) D(OP_ApplyPoison) D(OP_AugmentInfo) D(OP_AugmentItem) D(OP_BlockedBuffs) D(OP_CastSpell) D(OP_ChannelMessage) D(OP_ClientUpdate) D(OP_ClickDoor) D(OP_Consider) D(OP_ConsiderCorpse) D(OP_DeleteItem) D(OP_EnterWorld) D(OP_GMTraining) D(OP_GroupDisband) D(OP_GroupInvite) D(OP_GroupInvite2) D(OP_MoveItem) D(OP_RemoveBlockedBuffs) D(OP_SetServerFilter) D(OP_ShopPlayerBuy) D(OP_ShopPlayerSell) D(OP_ShopRequest) D(OP_SpawnAppearance) D(OP_TradeSkillCombine) D(OP_WearChange) D(OP_ZoneEntry) D(OP_ZoneChange) #undef E #undef D