Dropping client 6.2 support

This commit is contained in:
Akkadius 2014-12-15 23:14:55 -06:00
parent 0b89c95ab2
commit ad8e834fe8
14 changed files with 2 additions and 5554 deletions

View File

@ -67,7 +67,6 @@ SET(common_sources
worldconn.cpp
xml_parser.cpp
platform.cpp
patches/client62.cpp
patches/patches.cpp
patches/sod.cpp
patches/sof.cpp
@ -193,11 +192,6 @@ SET(common_headers
worldconn.h
xml_parser.h
zone_numbers.h
patches/client62.h
patches/client62_constants.h
patches/client62_itemfields.h
patches/client62_ops.h
patches/client62_structs.h
patches/patches.h
patches/sod.h
patches/sod_constants.h
@ -251,11 +245,6 @@ SET(common_headers
)
SOURCE_GROUP(Patches FILES
patches/client62.h
patches/client62_itemfields.h
patches/client62_ops.h
patches/client62_constants.h
patches/client62_structs.h
patches/patches.h
patches/sod.h
patches/sod_itemfields.h
@ -291,7 +280,6 @@ SOURCE_GROUP(Patches FILES
patches/underfoot_ops.h
patches/underfoot_constants.h
patches/underfoot_structs.h
patches/client62.cpp
patches/patches.cpp
patches/sod.cpp
patches/sof.cpp

View File

@ -548,7 +548,6 @@ uint16 EQLimits::InventoryMapSize(int16 map, uint32 version) {
},
{ // local[MapBank]
/*Unknown*/ NOT_USED,
/*62*/ Client62::consts::MAP_BANK_SIZE,
/*Titanium*/ Titanium::consts::MAP_BANK_SIZE,
/*SoF*/ EmuConstants::MAP_BANK_SIZE,
/*SoD*/ EmuConstants::MAP_BANK_SIZE,
@ -698,7 +697,6 @@ uint16 EQLimits::InventoryMapSize(int16 map, uint32 version) {
},
{ // local[MapCorpse]
/*Unknown*/ NOT_USED,
/*62*/ Client62::consts::MAP_CORPSE_SIZE,
/*Titanium*/ Titanium::consts::MAP_CORPSE_SIZE,
/*SoF*/ SoF::consts::MAP_CORPSE_SIZE,
/*SoD*/ SoD::consts::MAP_CORPSE_SIZE,
@ -728,7 +726,6 @@ uint16 EQLimits::InventoryMapSize(int16 map, uint32 version) {
},
{ // local[MapInspect]
/*Unknown*/ NOT_USED,
/*62*/ Client62::consts::MAP_INSPECT_SIZE,
/*Titanium*/ Titanium::consts::MAP_INSPECT_SIZE,
/*SoF*/ SoF::consts::MAP_INSPECT_SIZE,
/*SoD*/ SoD::consts::MAP_INSPECT_SIZE,
@ -1006,7 +1003,6 @@ uint64 EQLimits::CursorBitmask(uint32 version) {
bool EQLimits::AllowsEmptyBagInBag(uint32 version) {
static const bool local[_EmuClientCount] = {
/*Unknown*/ false,
/*62*/ Client62::limits::ALLOWS_EMPTY_BAG_IN_BAG,
/*Titanium*/ Titanium::limits::ALLOWS_EMPTY_BAG_IN_BAG,
/*SoF*/ SoF::limits::ALLOWS_EMPTY_BAG_IN_BAG,
/*SoD*/ SoD::limits::ALLOWS_EMPTY_BAG_IN_BAG,
@ -1027,8 +1023,6 @@ bool EQLimits::AllowsEmptyBagInBag(uint32 version) {
bool EQLimits::AllowsClickCastFromBag(uint32 version) {
static const bool local[_EmuClientCount] = {
/*Unknown*/ false,
/*62*/ Client62::limits::ALLOWS_CLICK_CAST_FROM_BAG,
/*Titanium*/ Titanium::limits::ALLOWS_CLICK_CAST_FROM_BAG,
/*SoF*/ SoF::limits::ALLOWS_CLICK_CAST_FROM_BAG,
/*SoD*/ SoD::limits::ALLOWS_CLICK_CAST_FROM_BAG,
/*Underfoot*/ Underfoot::limits::ALLOWS_CLICK_CAST_FROM_BAG,
@ -1088,7 +1082,6 @@ uint16 EQLimits::ItemContainerSize(uint32 version) {
bool EQLimits::CoinHasWeight(uint32 version) {
static const bool local[_EmuClientCount] = {
/*Unknown*/ true,
/*62*/ Client62::limits::COIN_HAS_WEIGHT,
/*Titanium*/ Titanium::limits::COIN_HAS_WEIGHT,
/*SoF*/ SoF::limits::COIN_HAS_WEIGHT,
/*SoD*/ SoD::limits::COIN_HAS_WEIGHT,

View File

@ -26,7 +26,6 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#include "eq_constants.h"
#include "clientversions.h"
#include <string>
#include "../common/patches/client62_constants.h"
#include "../common/patches/titanium_constants.h"
#include "../common/patches/sof_constants.h"
#include "../common/patches/sod_constants.h"

File diff suppressed because it is too large Load Diff

View File

@ -1,37 +0,0 @@
#ifndef CLIENT62_H_
#define CLIENT62_H_
#include "../struct_strategy.h"
#include "../item.h"
class EQStreamIdentifier;
namespace Client62 {
//these are the only public member of this namespace.
extern void Register(EQStreamIdentifier &into);
extern void Reload();
//you should not directly access anything below..
//I just dont feel like making a seperate header for it.
class Strategy : public StructStrategy {
public:
Strategy();
protected:
virtual std::string Describe() const;
virtual const EQClientVersion ClientVersion() const;
//magic macro to declare our opcode processors
#include "ss_declare.h"
#include "client62_ops.h"
};
};
#endif /*CLIENT62_H_*/

View File

@ -1,212 +0,0 @@
/*
EQEMu: Everquest Server Emulator
Copyright (C) 2001-2014 EQEMu Development Team (http://eqemulator.net)
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; version 2 of the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY except by those people which sell it, which
are required to give you total support for your newly bought product;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef CLIENT62_CONSTANTS_H_
#define CLIENT62_CONSTANTS_H_
#include "../types.h"
namespace Client62 {
namespace maps {
typedef enum : int16 {
// this needs work to match actual client equivilents
MapPossessions = 0,
MapBank,
MapSharedBank,
MapTrade,
MapWorld,
MapLimbo,
MapTribute,
MapTrophyTribute,
MapGuildTribute,
MapMerchant,
MapDeleted,
MapCorpse,
MapBazaar,
MapInspect,
MapRealEstate,
MapViewMODPC,
MapViewMODBank,
MapViewMODSharedBank,
MapViewMODLimbo,
MapAltStorage,
MapArchived,
MapMail,
MapGuildTrophyTribute,
MapOther,
_MapCount
} InventoryMaps;
}
namespace slots {
typedef enum : int16 {
MainCharm = 0,
MainEar1,
MainHead,
MainFace,
MainEar2,
MainNeck,
MainShoulders,
MainArms,
MainBack,
MainWrist1,
MainWrist2,
MainRange,
MainHands,
MainPrimary,
MainSecondary,
MainFinger1,
MainFinger2,
MainChest,
MainLegs,
MainFeet,
MainWaist,
MainAmmo,
MainGeneral1,
MainGeneral2,
MainGeneral3,
MainGeneral4,
MainGeneral5,
MainGeneral6,
MainGeneral7,
MainGeneral8,
MainCursor,
_MainCount,
_MainEquipmentBegin = MainCharm,
_MainEquipmentEnd = MainAmmo,
_MainEquipmentCount = (_MainEquipmentEnd - _MainEquipmentBegin + 1),
_MainGeneralBegin = MainGeneral1,
_MainGeneralEnd = MainGeneral8,
_MainGeneralCount = (_MainGeneralEnd - _MainGeneralBegin + 1)
} EquipmentSlots;
}
namespace consts {
static const uint16 MAP_POSSESSIONS_SIZE = slots::_MainCount;
static const uint16 MAP_BANK_SIZE = 16;
static const uint16 MAP_SHARED_BANK_SIZE = 2;
static const uint16 MAP_TRADE_SIZE = 8;
static const uint16 MAP_WORLD_SIZE = 10;
static const uint16 MAP_LIMBO_SIZE = 36;
static const uint16 MAP_TRIBUTE_SIZE = 0; //?
static const uint16 MAP_TROPHY_TRIBUTE_SIZE = 0;
static const uint16 MAP_GUILD_TRIBUTE_SIZE = 0;
static const uint16 MAP_MERCHANT_SIZE = 0;
static const uint16 MAP_DELETED_SIZE = 0;
static const uint16 MAP_CORPSE_SIZE = slots::_MainCount;
static const uint16 MAP_BAZAAR_SIZE = 80;
static const uint16 MAP_INSPECT_SIZE = slots::_MainEquipmentCount;
static const uint16 MAP_REAL_ESTATE_SIZE = 0;
static const uint16 MAP_VIEW_MOD_PC_SIZE = MAP_POSSESSIONS_SIZE;
static const uint16 MAP_VIEW_MOD_BANK_SIZE = MAP_BANK_SIZE;
static const uint16 MAP_VIEW_MOD_SHARED_BANK_SIZE = MAP_SHARED_BANK_SIZE;
static const uint16 MAP_VIEW_MOD_LIMBO_SIZE = MAP_LIMBO_SIZE;
static const uint16 MAP_ALT_STORAGE_SIZE = 0;
static const uint16 MAP_ARCHIVED_SIZE = 0;
static const uint16 MAP_MAIL_SIZE = 0;
static const uint16 MAP_GUILD_TROPHY_TRIBUTE_SIZE = 0;
static const uint16 MAP_KRONO_SIZE = NOT_USED;
static const uint16 MAP_OTHER_SIZE = 0;
static const int16 EQUIPMENT_BEGIN = slots::MainCharm;
static const int16 EQUIPMENT_END = slots::MainAmmo;
static const uint16 EQUIPMENT_SIZE = slots::_MainEquipmentCount;
static const int16 GENERAL_BEGIN = slots::MainGeneral1;
static const int16 GENERAL_END = slots::MainGeneral8;
static const uint16 GENERAL_SIZE = slots::_MainGeneralCount;
static const int16 GENERAL_BAGS_BEGIN = 251;
static const int16 GENERAL_BAGS_END_OFFSET = 79;
static const int16 GENERAL_BAGS_END = GENERAL_BAGS_BEGIN + GENERAL_BAGS_END_OFFSET;
static const int16 CURSOR = slots::MainCursor;
static const int16 CURSOR_BAG_BEGIN = 331;
static const int16 CURSOR_BAG_END_OFFSET = 9;
static const int16 CURSOR_BAG_END = CURSOR_BAG_BEGIN + CURSOR_BAG_END_OFFSET;
static const int16 BANK_BEGIN = 2000;
static const int16 BANK_END = 2015;
static const int16 BANK_BAGS_BEGIN = 2031;
static const int16 BANK_BAGS_END_OFFSET = 159;
static const int16 BANK_BAGS_END = BANK_BAGS_BEGIN + BANK_BAGS_END_OFFSET;
static const int16 SHARED_BANK_BEGIN = 2500;
static const int16 SHARED_BANK_END = 2501;
static const int16 SHARED_BANK_BAGS_BEGIN = 2531;
static const int16 SHARED_BANK_BAGS_END_OFFSET = 19;
static const int16 SHARED_BANK_BAGS_END = SHARED_BANK_BAGS_BEGIN + SHARED_BANK_BAGS_END_OFFSET;
static const int16 TRADE_BEGIN = 3000;
static const int16 TRADE_END = 3007;
static const int16 TRADE_NPC_END = 3003;
static const int16 TRADE_BAGS_BEGIN = 3031;
static const int16 TRADE_BAGS_END_OFFSET = 79;
static const int16 TRADE_BAGS_END = TRADE_BAGS_BEGIN + TRADE_BAGS_END_OFFSET;
static const int16 WORLD_BEGIN = 4000;
static const int16 WORLD_END = 4009;
static const int16 TRIBUTE_BEGIN = 400;
static const int16 TRIBUTE_END = 404;
static const int16 CORPSE_BEGIN = slots::MainGeneral1;
static const int16 CORPSE_END = slots::MainGeneral1 + slots::MainCursor;
static const uint16 ITEM_COMMON_SIZE = 5;
static const uint16 ITEM_CONTAINER_SIZE = 10;
static const uint32 BANDOLIERS_COUNT = 4; // count = number of bandolier instances
static const uint32 BANDOLIER_SIZE = 4; // size = number of equipment slots in bandolier instance
static const uint32 POTION_BELT_SIZE = 4;
}
namespace limits {
static const bool ALLOWS_EMPTY_BAG_IN_BAG = false;
static const bool ALLOWS_CLICK_CAST_FROM_BAG = false;
static const bool COIN_HAS_WEIGHT = true;
}
}; //end namespace Client62
#endif /*CLIENT62_CONSTANTS_H_*/
/*
Client62 Notes:
** Integer-based inventory **
ok Possessions: 0 - 30 (Corpse: 22 - 52 [Offset 22])
ok [Equipment: 0 - 21]
ok [General: 22 - 29]
ok [Cursor: 30]
ok General Bags: 251 - 330
ok Cursor Bags: 331 - 340
ok Bank: 2000 - 2015
ok Bank Bags: 2031 - 2190
ok Shared Bank: 2500 - 2501
ok Shared Bank Bags: 2531 - 2550
Trade: 3000 - 3007
(Trade Bags: 3031 - 3110 -- server values)
World: 4000 - 4009
*/

View File

@ -1,166 +0,0 @@
/*
These fields must be in the order of how they are serialized!
*/
/* 000 */ //I(ItemClass) Leave this one off on purpose
/* 001 */ S(Name)
/* 002 */ S(Lore)
/* 003 */ S(IDFile)
/* 004 */ I(ID)
/* 005 */ I(Weight)
/* 006 */ I(NoRent)
/* 007 */ I(NoDrop)
/* 008 */ I(Size)
/* 009 */ I(Slots)
/* 010 */ I(Price)
/* 011 */ I(Icon)
/* 012 */ C("0")
/* 013 */ C("0")
/* 014 */ I(BenefitFlag)
/* 015 */ I(Tradeskills)
/* 016 */ I(CR)
/* 017 */ I(DR)
/* 018 */ I(PR)
/* 019 */ I(MR)
/* 020 */ I(FR)
/* 021 */ I(AStr)
/* 022 */ I(ASta)
/* 023 */ I(AAgi)
/* 024 */ I(ADex)
/* 025 */ I(ACha)
/* 026 */ I(AInt)
/* 027 */ I(AWis)
/* 028 */ I(HP)
/* 029 */ I(Mana)
/* 030 */ I(AC)
/* 031 */ I(Deity)
/* 032 */ C("0")
/* 033 */ I(SkillModValue)
/* 034 */ I(SkillModType)
/* 035 */ I(BaneDmgRace)
/* 036 */ I(BaneDmgAmt)
/* 037 */ I(BaneDmgBody)
/* 038 */ I(Magic)
/* 039 */ I(CastTime_)
/* 040 */ I(ReqLevel)
/* 041 */ I(BardType)
/* 042 */ I(BardValue)
/* 043 */ I(Light)
/* 044 */ I(Delay)
/* 045 */ I(RecLevel)
/* 046 */ I(RecSkill)
/* 047 */ I(ElemDmgType)
/* 048 */ I(ElemDmgAmt)
/* 049 */ I(Range)
/* 050 */ I(Damage)
/* 051 */ I(Color)
/* 052 */ I(Classes)
/* 053 */ I(Races)
/* 054 */ C("0")
/* 055 */ I(MaxCharges)
/* 056 */ I(ItemType)
/* 057 */ I(Material)
/* 058 */ F(SellRate)
/* 059 */ C("0")
/* 060 */ I(CastTime_)
/* 061 */ C("0")
/* 062 */ I(ProcRate)
/* 063 */ I(CombatEffects)
/* 064 */ I(Shielding)
/* 065 */ I(StunResist)
/* 066 */ I(StrikeThrough)
/* 067 */ I(ExtraDmgSkill)
/* 068 */ I(ExtraDmgAmt)
/* 069 */ I(SpellShield)
/* 070 */ I(Avoidance)
/* 071 */ I(Accuracy)
/* 072 */ I(CharmFileID)
/* 073 */ I(FactionMod1)
/* 074 */ I(FactionMod2)
/* 075 */ I(FactionMod3)
/* 076 */ I(FactionMod4)
/* 077 */ I(FactionAmt1)
/* 078 */ I(FactionAmt2)
/* 079 */ I(FactionAmt3)
/* 080 */ I(FactionAmt4)
/* 081 */ S(CharmFile)
/* 082 */ I(AugType)
/* 083 */ I(AugSlotType[0])
/* 084 */ I(AugSlotType[1])
/* 085 */ I(AugSlotType[2])
/* 086 */ I(AugSlotType[3])
/* 087 */ I(AugSlotType[4])
/* 088 */ I(LDoNTheme)
/* 089 */ I(LDoNPrice)
/* 090 */ I(LDoNSold)
/* 091 */ I(BagType)
/* 092 */ I(BagSlots)
/* 093 */ I(BagSize)
/* 094 */ I(BagWR)
/* 095 */ I(Book)
/* 096 */ I(BookType)
/* 097 */ S(Filename)
/* 098 */ I(BaneDmgRaceAmt)
/* 099 */ I(AugRestrict)
/* 100 */ I(LoreFlag)
/* 101 */ I(PendingLoreFlag)
/* 102 */ I(ArtifactFlag)
/* 103 */ I(SummonedFlag)
/* 104 */ I(Favor)
/* 105 */ I(FVNoDrop)
/* 106 */ I(Endur)
/* 107 */ I(DotShielding)
/* 108 */ I(Attack)
/* 109 */ I(Regen)
/* 110 */ I(ManaRegen)
/* 111 */ I(Haste)
/* 112 */ I(DamageShield)
/* 113 */ I(RecastDelay)
/* 114 */ I(RecastType)
/* 115 */ I(GuildFavor)
/* 116 */ I(AugDistiller)
/* 117 */ C("0")
/* 118 */ C("0")
/* 119 */ I(Attuneable)
/* 120 */ I(NoPet)
/* 121 */ C("0")
/* 122 */ I(PointType)
/* 123 */ I(PotionBelt)
/* 124 */ I(PotionBeltSlots)
/* 125 */ I(StackSize)
/* 126 */ I(Click.Effect)
/* 127 */ I(Click.Type)
/* 128 */ I(Click.Level2)
/* 129 */ I(Click.Level)
/* 130 */ C("0")
/* 131 */ I(Proc.Effect)
/* 132 */ I(Proc.Type)
/* 133 */ I(Proc.Level2)
/* 134 */ I(Proc.Level)
/* 135 */ C("0")
/* 136 */ I(Worn.Effect)
/* 137 */ I(Worn.Type)
/* 138 */ I(Worn.Level2)
/* 139 */ I(Worn.Level)
/* 140 */ C("0")
/* 141 */ I(Focus.Effect)
/* 142 */ I(Focus.Type)
/* 143 */ I(Focus.Level2)
/* 144 */ I(Focus.Level)
/* 145 */ C("0")
/* 146 */ I(Scroll.Effect)
/* 147 */ I(Scroll.Type)
/* 148 */ I(Scroll.Level2)
/* 149 */ I(Scroll.Level)
/* 150 */ C("0")
#undef I
#undef C
#undef S
#undef F

View File

@ -1,54 +0,0 @@
// out-going packets that require an ENCODE translation:
E(OP_Action)
E(OP_AdventureMerchantSell)
E(OP_ApplyPoison)
E(OP_BazaarSearch)
E(OP_BecomeTrader)
E(OP_CharInventory)
E(OP_DeleteCharge)
E(OP_DeleteItem)
E(OP_DeleteSpawn)
E(OP_GuildMemberLevelUpdate)
E(OP_GuildMemberList)
E(OP_Illusion)
E(OP_ItemLinkResponse)
E(OP_ItemPacket)
E(OP_LeadershipExpUpdate)
E(OP_LootItem)
E(OP_MoveItem)
E(OP_NewSpawn)
E(OP_OnLevelMessage)
E(OP_PetBuffWindow)
E(OP_PlayerProfile)
E(OP_ReadBook)
E(OP_RespondAA)
E(OP_SendAATable)
E(OP_SendCharInfo)
E(OP_ShopPlayerSell)
E(OP_Track)
E(OP_TributeItem)
E(OP_WearChange)
E(OP_ZoneEntry)
E(OP_ZoneServerReady)
E(OP_ZoneSpawns)
// incoming packets that require a DECODE translation:
D(OP_AdventureMerchantSell)
D(OP_ApplyPoison)
D(OP_AugmentItem)
D(OP_CastSpell)
D(OP_CharacterCreate)
D(OP_Consume)
D(OP_DeleteItem)
D(OP_FaceChange)
D(OP_ItemLinkClick)
D(OP_LootItem)
D(OP_MoveItem)
D(OP_ReadBook)
D(OP_SetServerFilter)
D(OP_ShopPlayerSell)
D(OP_TradeSkillCombine)
D(OP_TributeItem)
D(OP_WearChange)
D(OP_WhoAllRequest)
#undef E
#undef D

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,6 @@
#include "../debug.h"
#include "patches.h"
#include "client62.h"
#include "titanium.h"
#include "underfoot.h"
#include "sof.h"
@ -11,7 +10,6 @@
#include "rof2.h"
void RegisterAllPatches(EQStreamIdentifier &into) {
Client62::Register(into);
Titanium::Register(into);
SoF::Register(into);
SoD::Register(into);
@ -21,7 +19,6 @@ void RegisterAllPatches(EQStreamIdentifier &into) {
}
void ReloadAllPatches() {
Client62::Reload();
Titanium::Reload();
SoF::Reload();
SoD::Reload();

View File

@ -1,539 +0,0 @@
#ShowEQ Import Notes:
# ZERO THE FILE first
# sed 's/0x[0-9a-fA-F]{4}/0x0000/g'
#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_Unknown=0x0000
OP_ExploreUnknown=0x0292 #used for unknown explorer
#world packets
OP_ApproveWorld=0x41b1 # ShowEQ 06/29/05
OP_LogServer=0x4668 # EQEmu 06/29/05
OP_MOTD=0x7fea # EQEmu 06/29/05
OP_SendLoginInfo=0x2792 # EQEmu 06/29/05
OP_DeleteCharacter=0x0920 # ShowEQ 06/29/05
OP_SendCharInfo=0x732c # EQEmu 06/29/05
OP_ExpansionInfo=0x5c78 # EQEmu 06/29/05
OP_CharacterCreate=0x6160 # EQEmu 06/29/05
OP_RandomNameGenerator=0x23d4 # ShowEQ 06/29/05
OP_GuildsList=0x6957 # ShowEQ 06/29/05
OP_ApproveName=0x46b1 # EQEmu 06/29/05
OP_EnterWorld=0x7262 # EQEmu 06/29/05
OP_PostEnterWorld=0x0df0 # EQEmu 06/29/05
OP_World_Client_CRC1=0x254d # ShowEQ 06/29/05
OP_World_Client_CRC2=0x16c9 # ShowEQ 06/29/05
OP_SetChatServer=0x6238 # EQEmu 06/29/05
OP_SetChatServer2=0x6536 # EQEmu 06/29/05
OP_ZoneServerInfo=0x407c # EQEmu 06/29/05
OP_WorldComplete=0x509d # EQEmu 06/29/05
OP_WorldClientReady=0x5e99 # EQEmu 06/29/05 (Guess - Doodman)
OP_WorldUnknown001=0x7510 # EQEmu 06/29/05 (New to 6/29)
OP_SendSystemStats=0x681b # anonymous system stats reporting
OP_WorldLogout=0x7186
OP_ZoneUnavail=0x6d95
OP_WorldLevelTooHigh=0x583b # world->client. Cancels zone in.
OP_CharInacessable=0x28aa # world->client. Cancels zone in.
#OP_InvalidLoginPassword=0x52A4
#Zone in opcodes
OP_ZoneEntry=0x2ec9 # ShowEQ 06/29/05
OP_ZoneInUnknown=0x0000
OP_AckPacket=0x7752 # ShowEQ 06/29/05
OP_NewZone=0x7ac5 # ShowEQ 06/29/05
OP_ReqClientSpawn=0x0e76 # ShowEQ 06/29/05
OP_ZoneSpawns=0x5ee8 # ShowEQ 06/29/05
OP_CharInventory=0x15ff # EQEmu 06/29/05
OP_SetServerFilter=0x7709 # ShowEQ 06/29/05
OP_LockoutTimerInfo=0x7c12 # EQEmu 06/29/05
OP_SendZonepoints=0x775d # EQEmu 06/29/05
OP_SpawnDoor=0x4c24 # ShowEQ 06/29/05
OP_ReqNewZone=0x47c9 # ShowEQ 06/29/05
OP_PlayerProfile=0x75df # ShowEQ 06/29/05
OP_TimeOfDay=0x1580 # ShowEQ 06/29/05
OP_SendAATable=0x367d # ShowEQ 06/29/05
OP_ZoneServerReady=0x0000 #dosent exist in this version
OP_Logout=0x0701 # EQEmu 06/29/05
OP_LogoutReply=0x48c2 # ShowEQ 06/29/05 (OP_Logout)
OP_PreLogoutReply=0x711e #0 len packet sent during logout/zoning
OP_LevelUpdate=0x6d44 # ShowEQ 06/29/05
OP_MobUpdate=0x0000
OP_Stamina=0x74ab # ShowEQ 06/29/05
#Petition Opcodes
OP_PetitionSearch=0x2aec #search term for petition
OP_PetitionSearchResults=0x2aec #(list of?) matches from search
OP_PetitionSearchText=0x0000 #text results of search
OP_Petition=0x251f #0x73cb
OP_PetitionUpdate=0x3813 #guess
OP_PetitionCheckout=0x0000
OP_PetitionCheckIn=0x0000
OP_PetitionQue=0x0000
OP_PetitionUnCheckout=0x0000
OP_PetitionDelete=0x0000
OP_DeletePetition=0x0000
OP_PetitionResolve=0x6ea9 #0x688f # ShowEQ 5/11/05
OP_PDeletePetition=0x0000
OP_PetitionBug=0x0000
OP_PetitionRefresh=0x0000
OP_PetitionCheckout2=0x0000
OP_PetitionViewPetition=0x0000
#Guild Opcodes
OP_ZoneGuildList=0x68AC
OP_GuildMemberList=0x147d # ShowEQ 06/29/05
OP_GuildMemberUpdate=0x4cc7 # ShowEQ 06/29/05
OP_GuildMemberLevelUpdate=0x0000 #dosent exist in this version.
OP_GuildRemove=0x6cce # EQEmu - Doodman (found 8/26/05
OP_GuildPeace=0x0e37 # EQEmu - Doodman (found 8/26/05
OP_GuildWar=0x186d # EQEmu - Doodman (found 8/26/05
OP_GuildLeader=0x1ef1 # EQEmu - Doodman (found 8/26/05)
OP_GuildDemote=0x1f46 # EQEmu - Doodman (found 8/26/05)
OP_GuildMOTD=0x21ed # ShowEQ 06/29/05
OP_SetGuildMOTD=0x475a # EQEmu - Doodman (found 8/26/05)
OP_GetGuildsList=0x7fec # ShowEQ 06/29/05
OP_GuildInvite=0x61d0 # EQEmu - Doodman (found 8/26/05)
OP_GuildPublicNote=0x17a2 # EQEmu - Doodman (found 8/26/05)
OP_GuildDelete=0x5a4d # EQEmu - Doodman (found 8/26/05
OP_GuildInviteAccept=0x0179 # EQEmu - Doodman (found 8/26/05)
OP_GetGuildMOTD=0x3246
OP_GetGuildMOTDReply=0x5B14
OP_GuildManageBanker=0x3d1e
OP_GuildBank=0x0000
#guild opcodes: 549F (clear guild?), 0x0695, 0x0AC0, 0x1864, 0x32cf, 0x4cc7,
# 0x461A, 0x6966, 0x7085
#GM/guide opcodes
OP_GMServers=0x3387 #/servers
OP_GMBecomeNPC=0x7864 #/becomenpc
OP_GMZoneRequest=0x61ff #/zone
OP_GMSearchCorpse=0x7f3e #/searchcorpse
OP_GMHideMe=0x0581 #/hideme
OP_GMGoto=0x69c8 #/goto
OP_GMDelCorpse=0x727a #/delcorpse
OP_GMApproval=0x0000
OP_GMToggle=0x5ce2 #/toggle
OP_GMZoneRequest2=0x0000
OP_GMSummon=0x3383 #/summon
OP_GMEmoteZone=0x3905 #/emotezone
OP_GMFind=0x5e6a #/find
OP_GMKick=0x1cee #/kick
OP_GMNameChange=0x0000
OP_SafePoint=0x0000
OP_Bind_Wound=0x4796
OP_GMTraining=0x613d
OP_GMEndTraining=0x181c
OP_GMTrainSkill=0x3838
OP_GMEndTrainingResponse=0x0a94
OP_Animation=0x0b71 # EQEmu 06/29/05
OP_Taunt=0x5306
OP_Stun=0x7DCF
OP_MoneyUpdate=0x425c
OP_SendAAStats=0x5966 # EQEmu 06/29/05
OP_SendExpZonein=0x0587 # ShowEQ 06/29/05
OP_RespondAA=0x35e8
OP_UpdateAA=0x0000
OP_IncreaseStats=0x0000
OP_ReadBook=0x1496
OP_CombatAbility=0x5e55
OP_Dye=0x773f # ShowEQ 06/29/05
OP_Consume=0x7a83 # ShowEQ 06/29/05
OP_Begging=0x2c81 # ShowEQ 06/29/05
OP_InspectRequest=0x2403
OP_Action2=0x0000 # ShowEQ 06/29/05
OP_BeginCast=0x3990 # ShowEQ 06/29/05
OP_WhoAllRequest=0x5cdd # ShowEQ 06/29/05
OP_ColoredText=0x4bc6 # ShowEQ 06/29/05
OP_Consent=0x1081 # ShowEQ 06/29/05
OP_LFGCommand=0x022f # ShowEQ 06/29/05
OP_LFGGetMatchesRequest=0x6f82 # ShowEQ 06/29/05
OP_LFGAppearance=0x024d
OP_LFGResponse=0x1fe1 # ShowEQ 5/11/05
OP_LFGGetMatchesResponse=0x06c5 # ShowEQ 06/29/05
OP_LootItem=0x2acf # ShowEQ 06/29/05
OP_Bug=0x3eba # ShowEQ 06/29/05
OP_BoardBoat=0x67c9 # ShowEQ 06/29/05
OP_Save=0x6d9b # ShowEQ 06/29/05
OP_Camp=0x2844 # ShowEQ 06/29/05
OP_EndLootRequest=0x7fe4 # ShowEQ 06/29/05
OP_LoadSpellSet=0x403e # ShowEQ 06/29/05
OP_AutoAttack=0x6c47 # ShowEQ 06/29/05
OP_AutoFire=0x6c53
OP_Consider=0x2717 # ShowEQ 06/29/05
OP_Emote=0x55bc # ShowEQ 06/29/05
OP_PetCommands=0x58b2 # ShowEQ 06/29/05
OP_PetBuffWindow=0x4e31
OP_SpawnAppearance=0x18b7 # ShowEQ 06/29/05
OP_DeleteSpawn=0x1a64 # ShowEQ 06/29/05
OP_FormattedMessage=0x42cd # ShowEQ 06/29/05
OP_WhoAllResponse=0x6686 # ShowEQ 06/29/05
OP_AutoAttack2=0x0fa6 # ShowEQ 06/29/05
OP_SetRunMode=0x0342 # ShowEQ 06/29/05
OP_SimpleMessage=0x5a48 # ShowEQ 06/29/05
OP_SaveOnZoneReq=0x2baf # ShowEQ 06/29/05
OP_MoveDoor=0x0ef7 # ShowEQ 06/29/05
OP_SenseHeading=0x5666 # ShowEQ 06/29/05
OP_Buff=0x33dc # ShowEQ 06/29/05
OP_LootComplete=0x20b2 # ShowEQ 06/29/05
OP_EnvDamage=0x0990
OP_Split=0x6a53 # ShowEQ 06/29/05
OP_Surname=0x48fe # ShowEQ 06/29/05
OP_ClearSurname=0x0000
OP_MoveItem=0x7657 # ShowEQ 06/29/05
OP_FaceChange=0x763b # ShowEQ 06/29/05
OP_ItemPacket=0x3397 # ShowEQ 06/29/05
OP_ItemLinkResponse=0x1d43 # ShowEQ 06/29/05
OP_ClientReady=0x5e20 # ShowEQ 06/29/05
OP_ZoneChange=0x60ef # ShowEQ 06/29/05
OP_MemorizeSpell=0x05ac # ShowEQ 06/29/05
OP_ItemLinkClick=0x53e5 # ShowEQ 06/29/05
OP_SwapSpell=0x36b2 # ShowEQ 06/29/05
OP_Forage=0x7c32 # ShowEQ 06/29/05
OP_ConsentResponse=0x6380 # ShowEQ 06/29/05
OP_BazaarSearch=0x524e # ShowEQ 06/29/05
OP_NewSpawn=0x4f11 # ShowEQ 06/29/05
OP_WearChange=0x601d # ShowEQ 06/29/05
OP_Action=0x4513 # ShowEQ 06/29/05
OP_SpecialMesg=0x5ef7 # ShowEQ 06/29/05
OP_Bazaar=0x0000
OP_LeaveBoat=0x7187 # ShowEQ 06/29/05
OP_Weather=0x65ca # ShowEQ 06/29/05
OP_LFPGetMatchesRequest=0x45d0 # ShowEQ 06/29/05
OP_Illusion=0x7441 # ShowEQ 06/29/05
OP_TargetMouse=0x2274 # ShowEQ 06/29/05
OP_InspectAnswer=0x2dd6 # ShowEQ 06/29/05
OP_GMKill=0x692c # ShowEQ 06/29/05
OP_MoneyOnCorpse=0x2fca # ShowEQ 06/29/05
OP_ClickDoor=0x700d # ShowEQ 06/29/05
OP_LootRequest=0x2316 # ShowEQ 06/29/05
OP_YellForHelp=0x2e20 # ShowEQ 06/29/05
OP_ManaChange=0x0b2d # ShowEQ 06/29/05
OP_ConsentDeny=0x4e8c # ShowEQ 06/29/05
OP_LFPCommand=0x35a6 # ShowEQ 06/29/05
OP_RandomReply=0x6cd5 # ShowEQ 06/29/05
OP_DenyResponse=0x7c66 # ShowEQ 06/29/05
OP_ConsiderCorpse=0x673c # ShowEQ 06/29/05
OP_CorpseDrag=0x50c0 #
OP_CorpseDrop=0x7c7c #
OP_ConfirmDelete=0x28f2 # ShowEQ 06/29/05
OP_MobHealth=0x3d2d # ShowEQ 06/29/05
OP_SkillUpdate=0x6a93 # ShowEQ 06/29/05
OP_RandomReq=0x21e0 # ShowEQ 06/29/05
OP_CastSpell=0x4839 # ShowEQ 06/29/05
OP_ClientUpdate=0x14cb # ShowEQ 06/29/05
OP_MobUpdate=0x0000 #not used anymore, here for backwards compat
OP_Report=0x0375 # ShowEQ 06/29/05
OP_GroundSpawn=0x736b # ShowEQ 06/29/05
OP_TargetCommand=0x6563 #0x0dfe # ShowEQ 06/29/05
OP_TargetHoTT=0x3ef6
OP_LFPGetMatchesResponse=0x63fe # ShowEQ 06/29/05
OP_Jump=0x4dbc # ShowEQ 06/29/05
OP_ExpUpdate=0x5ecd # ShowEQ 06/29/05
OP_AAAction=0x3af4 # ShowEQ 06/29/05
OP_Death=0x5188 # ShowEQ 06/29/05
OP_BecomeCorpse=0x128c
OP_GMLastName=0x0c81 # ShowEQ 06/29/05
OP_InitialMobHealth=0x2ecc # ShowEQ 06/29/05
OP_Mend=0x14ef # ShowEQ 06/29/05
OP_MendHPUpdate=0x1ffa # ShowEQ 5/11/05
OP_Feedback=0x224d # ShowEQ 06/29/05
OP_TGB=0x5e51 # ShowEQ 06/29/05
OP_InterruptCast=0x0db3
OP_Damage=0x1848 # ShowEQ 06/29/05 (OP_Action2)
OP_ChannelMessage=0x1004 # ShowEQ 06/29/05 (OP_CommonMessage)
OP_LevelAppearance=0x358e
OP_MultiLineMsg=0x0000
OP_Charm=0x10a1
OP_DeleteSpell=0x3fe6
OP_ApproveZone=0x0000
OP_Assist=0x5D02
OP_AugmentItem=0x539b
OP_BazaarInspect=0x0000
OP_AAExpUpdate=0x6dd8 # ShowEQ 06/29/05
OP_ClientError=0x0000
OP_DeleteItem=0x1c4a
OP_DeleteCharge=0x0841
OP_ControlBoat=0x0000
OP_DumpName=0x0000
OP_FeignDeath=0x2ad8
OP_Fishing=0x0b36
OP_Heartbeat=0x0000
OP_InstillDoubt=0x389e
OP_ItemName=0x0000
OP_LDoNButton=0x0000
OP_LDoNOpen=0x083b
OP_MoveCoin=0x1dd9
OP_ReloadUI=0x0000
OP_ZonePlayerToBind=0x385e # FNW Discovered on Feb 9, 2007
OP_Translocate=0x78c1
OP_Sacrifice=0x5f62
OP_ApplyPoison=0x4298
#bazaar trader stuff stuff:
#become and buy from
#Server->Client: [ Opcode: OP_Unknown (0x2403) Size: 8 ]
# 0: 46 01 00 00 39 01 00 00 | F...9...
OP_TraderDelItem=0x0da9
OP_BecomeTrader=0x66f9
OP_TraderShop=0x19d8
OP_TraderItemUpdate=0x0000
OP_Trader=0x0681
OP_ShopItem=0x0000
OP_TraderBuy=0x0f8e # ShowEQ 06/29/05
OP_Barter=0x7460
#pc/npc trading
OP_TradeRequest=0x372f # ShowEQ 06/29/05
OP_TradeAcceptClick=0x0065 # ShowEQ 06/29/05
OP_TradeRequestAck=0x4048 # ShowEQ 06/29/05
OP_TradeCoins=0x34c1
OP_FinishTrade=0x6014
OP_CancelTrade=0x2dc1 # ShowEQ 06/29/05
OP_TradeMoneyUpdate=0x3e63 #not sure
#merchant crap
OP_ShopPlayerSell=0x0e13 # ShowEQ 06/29/05
OP_ShopEnd=0x7e03 # ShowEQ 06/29/05
OP_ShopEndConfirm=0x0000
OP_ShopPlayerBuy=0x221e
OP_ShopRequest=0x3c4b # ShowEQ 06/29/05
OP_ShopDelItem=0x0000 #0x0da9 maybe, 16 bytes though
#tradeskill stuff:
OP_ClickObject=0x0f47 # ShowEQ 06/29/05
OP_ClickObjectAction=0x6937 # EQEMu 06/29/05
OP_RecipeDetails=0x0353 # EQEMu 06/29/05
OP_RecipesFavorite=0x23f0
OP_RecipesSearch=0x31f8 # EQEmu 06/29/05
OP_RecipeReply=0x4ea2 # EQEmu 06/29/05
OP_RecipeAutoCombine=0x7822
OP_TradeSkillCombine=0x0b40 # ShowEQ 06/29/05
OP_RequestDuel=0x28e1
OP_DuelResponse=0x2e78
OP_DuelResponse2=0x3bad #when accepted
OP_RezzComplete=0x60fa
OP_RezzRequest=0x417a
OP_RezzAnswer=0x6219
OP_SafeFallSuccess=0x5309
OP_Shielding=0x0000
OP_TargetReject=0x0000
OP_TestBuff=0x0000
OP_Track=0x5205 # ShowEQ 06/29/05
OP_TrackTarget=0x71ae
OP_TrackUnknown=0x74e1 #size 0 right after OP_Track
#Tribute Packets:
OP_OpenGuildTributeMaster=0x60b6 #open guild tribute master window
OP_OpenTributeMaster=0x512e #open tribute master window
OP_OpenTributeReply=0x0000 #reply to open request
OP_SelectTribute=0x625d #clicking on a tribute, and text reply
OP_TributeItem=0x6f6c #donating an item
OP_TributeMoney=0x27b3 #donating money
OP_TributeNPC=0x0000 #seems to be missing now
OP_TributeToggle=0x2688 #activating/deactivating tribute
OP_TributeTimer=0x4665 #a 4 byte tier update, 10 minutes for seconds
OP_TributePointUpdate=0x6463 #16 byte point packet
OP_TributeUpdate=0x5639 # ShowEQ 06/29/05
OP_GuildTributeInfo=0x5e3d # EQEmu 06/29/05
OP_TributeInfo=0x152d # EQEmu 06/29/05
OP_SendGuildTributes=0x5e3a # request packet, 4 bytes
OP_SendTributes=0x067a # request packet, 4 bytes, migth be backwards
OP_CloseTributeMaster=0x7f25 #sent by client when they close window
#Adventure packets:
OP_LeaveAdventure=0x0c0d
OP_AdventureFinish=0x3906
OP_AdventureInfoRequest=0x2aaf #right click adventure recruiter
OP_AdventureInfo=0x1db5 #text reply to right click
OP_AdventureRequest=0x43fd
OP_AdventureDetails=0x3f26
OP_AdventureData=0x0677
OP_AdventureUpdate=0x64ac
OP_AdventureMerchantRequest=0x0950
OP_AdventureMerchantResponse=0x4416
OP_AdventureMerchantPurchase=0x413d
OP_AdventureMerchantSell=0x0097
OP_AdventurePointsUpdate=0x420a #not sure, followed purchase
OP_AdventureStatsRequest=0x5fc7
OP_AdventureStatsReply=0x56cd
OP_AdventureLeaderboardRequest=0x230a
OP_AdventureLeaderboardReply=0x0d0f
# request stats: 0x5fc7, reply 0x56cd
# request leaderboard: 0x230a, reply 0x0d0f
#Group Opcodes
OP_GroupDisband=0x4033 # ShowEQ 06/29/05
OP_GroupInvite=0x3853 # ShowEQ 06/29/05
OP_GroupFollow=0x1b48 # ShowEQ 06/29/05
OP_GroupUpdate=0x66ba # ShowEQ 06/29/05
OP_GroupAcknowledge=0x0797
OP_GroupCancelInvite=0x42c9 # ShowEQ 06/29/05
OP_GroupDelete=0x0000
OP_GroupFollow2=0x0000 #used with GroupInvite2
OP_GroupInvite2=0x1f27 #this is sometimes sent instead of OP_GroupInvite
OP_CancelInvite=0x0000
OP_RaidJoin=0x0000 # ShowEQ 06/29/05
OP_RaidInvite=0x1f21 # ShowEQ 06/29/05
OP_RaidUpdate=0x1974 # EQEmu 06/29/05
OP_ZoneComplete=0x0000
OP_ItemLinkText=0x0000
OP_ClearObject=0x8258
OP_DisciplineUpdate=0x7180
OP_DisciplineTimer=0x53df
OP_LocInfo=0x0000
OP_FindPersonRequest=0x3c41 # ShowEQ 06/29/05
OP_FindPersonReply=0x5711
OP_ForceFindPerson=0x0000
OP_LoginComplete=0x0000
OP_Sound=0x4a1d
#OP_Zone_MissingName01=0x0000 #remove on recompile
OP_MobRename=0x3230
OP_BankerChange=0x6a5b
#Rogue packets
OP_SenseTraps=0x24ab # ShowEQ 06/29/05
OP_PickPocket=0x4a2a
OP_DisarmTraps=0x0000
OP_Disarm=0x17d9
OP_Hide=0x6f64 # ShowEQ 06/29/05
OP_Sneak=0x4312 # ShowEQ 06/29/05
#Task packets
#task complete related: 0x54eb (24 bytes), 0x4c8c (8 bytes), 0x6a1d (4 bytes)
OP_TaskActivityComplete=0x54eb
OP_CompletedTasks=0x53c4 # ShowEQ 06/29/05
OP_TaskDescription=0x682d # ShowEQ 06/29/05
OP_TaskActivity=0x3ba8 # ShowEQ 06/29/05
OP_TaskMemberList=0x09b6 #not sure
OP_OpenNewTasksWindow=0x5e7c #combined with OP_AvaliableTask I think
OP_AvaliableTask=0x0000
OP_AcceptNewTask=0x207f
OP_TaskHistoryRequest=0x3274
OP_TaskHistoryReply=0x009c
OP_CancelTask=0x4c8c
OP_DeclineAllTasks=0x207f #not sure, 12 bytes
OP_RequestClientZoneChange=0x1235
OP_PurchaseLeadershipAA=0x07f1
OP_UpdateLeadershipAA=0x3eec
OP_LeadershipExpUpdate=0x7416
OP_LeadershipExpToggle=0x17bf
OP_GroupUpdateLeaderAA=0x4c3f
OP_MarkNPC=0x5b37
OP_ClearNPCMarks=0x1794
OP_DoGroupLeadershipAbility=0x4ffe
OP_DelegateAbility=0x56eb
#The following 4 Opcodes are for SoF only:
OP_FinishWindow=0x0000 #Trevius 03/15/09
OP_FinishWindow2=0x0000 #Trevius 03/15/09
OP_ItemVerifyRequest=0x0000 #Trevius 03/15/09
OP_ItemVerifyReply=0x0000 #Trevius 03/15/09
#discovered opcodes not yet used:
OP_CrashDump=0x6d5d
OP_PlayMP3=0x0000
OP_FriendsWho=0x41db
OP_MoveLogRequest=0x78e8 #gone I think
OP_MoveLogDisregard=0x0000 #gone I think
OP_ReclaimCrystals=0x12fd
OP_CrystalCountUpdate=0x0000
OP_DynamicWall=0x0000
OP_CustomTitles=0x2a28 # ShowEQ 06/29/05
OP_RequestTitles=0x5eba # EQEmu 06/29/05
OP_SendTitleList=0x3e89 # EQEmu 06/29/05
OP_SetTitle=0x1f22 # EQEmu 06/29/05
OP_SetTitleReply=0x5eab # EQEmu 06/29/05
OP_Bandolier=0x6f0c
OP_PotionBelt=0x0719
OP_OpenDiscordMerchant=0x0000 #8 bytes
OP_DiscordMerchantInventory=0x0000 #long item packet
OP_GiveMoney=0x56d4 #16 bytes, pp, gp, sp, cp.
OP_OnLevelMessage=0x1dde
OP_PopupResponse=0x3816
OP_RequestKnowledgeBase=0x7584
OP_KnowledgeBase=0x4a52
OP_PlayerUnderWorld=0x46d9
OP_PVPStats=0x5cc0
OP_PVPLeaderBoardRequest=0x61d2
OP_PVPLeaderBoardReply=0x1a59
OP_PVPLeaderBoardDetailsRequest=0x06a2
OP_PVPLeaderBoardDetailsReply=0x246a
OP_WeaponEquip1=0x6c5e
OP_WeaponEquip2=0x63da
OP_WeaponUnequip2=0x381d
OP_VoiceMacroIn=0x2866
OP_VoiceMacroOut=0x2ec6
#named unknowns, to make looking for real unknown easier
OP_AnnoyingZoneUnknown=0x0000 # EQEmu 06/29/05
OP_Some6ByteHPUpdate=0x0000 #seems to happen when you target group members
OP_SomeItemPacketMaybe=0x497c # EQEmu 06/29/05
OP_QueryResponseThing=0x6379
OP_FloatListThing=0x7510 # EQEmu 06/29/05
#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
#mail opcodes
OP_Command=0x0000
OP_MailboxHeader=0x0000
OP_MailHeader=0x0000
OP_MailBody=0x0000
OP_NewMail=0x0000
OP_SentConfirm=0x0000
#we need to document the differences between these packets to make identifying them easier
OP_MobHealth=0x3d2d # ShowEQ 06/29/05
OP_HPUpdate=0x217b # ShowEQ 06/29/05
OP_Some3ByteHPUpdate=0x0000 #initial HP update for mobs
OP_InitialHPUpdate=0x7ac2 # ShowEQ 06/29/05
#remove these
#junk
OP_0x0193=0x0000
OP_0x0347=0x0000
OP_ConsumeAmmo=0x0000
OP_EmoteAnim=0x0000
OP_Deny=0x0000
OP_SetDataRate=0x0000

View File

@ -1296,7 +1296,6 @@ void ClientList::GetClients(const char *zone_name, std::vector<ClientListEntry *
void ClientList::SendClientVersionSummary(const char *Name)
{
uint32 Client62Count = 0;
uint32 ClientTitaniumCount = 0;
uint32 ClientSoFCount = 0;
uint32 ClientSoDCount = 0;
@ -1317,7 +1316,6 @@ void ClientList::SendClientVersionSummary(const char *Name)
{
case 1:
{
++Client62Count;
break;
}
case 2:
@ -1354,7 +1352,7 @@ void ClientList::SendClientVersionSummary(const char *Name)
}
zoneserver_list.SendEmoteMessage(Name, 0, 0, 13, "There are %i 6.2, %i Titanium, %i SoF, %i SoD, %i UF, %i RoF clients currently connected.",
Client62Count, ClientTitaniumCount, ClientSoFCount, ClientSoDCount, ClientUnderfootCount, ClientRoFCount);
zoneserver_list.SendEmoteMessage(Name, 0, 0, 13, "There are %i Titanium, %i SoF, %i SoD, %i UF, %i RoF clients currently connected.",
ClientTitaniumCount, ClientSoFCount, ClientSoDCount, ClientUnderfootCount, ClientRoFCount);
}

View File

@ -1759,7 +1759,6 @@ luabind::scope lua_register_client_version() {
.enum_("constants")
[
luabind::value("Unknown", static_cast<int>(EQClientUnknown)),
luabind::value("62", static_cast<int>(EQClient62)),
luabind::value("Titanium", static_cast<int>(EQClientTitanium)),
luabind::value("SoF", static_cast<int>(EQClientSoF)),
luabind::value("SoD", static_cast<int>(EQClientSoD)),

View File

@ -2773,13 +2773,6 @@ void TaskManager::SendActiveTaskDescription(Client *c, int TaskID, int SequenceN
if(strlen(Tasks[TaskID]->Reward) != 0) {
switch(c->GetClientVersion()) {
case EQClient62:
{
MakeAnyLenString(&RewardTmp, "%c%07i-00001-00001-00001-00001-000013E0ABA6B%s%c",
0x12, ItemID, Tasks[TaskID]->Reward,0x12);
break;
}
case EQClientTitanium:
{
MakeAnyLenString(&RewardTmp, "%c%06X000000000000000000000000000000014505DC2%s%c",
@ -2807,13 +2800,6 @@ void TaskManager::SendActiveTaskDescription(Client *c, int TaskID, int SequenceN
if(Item) {
switch(c->GetClientVersion()) {
case EQClient62:
{
MakeAnyLenString(&RewardTmp, "%c%07i-00001-00001-00001-00001-000013E0ABA6B%s%c",
0x12, ItemID, Item->Name,0x12);
break;
}
case EQClientTitanium:
{
MakeAnyLenString(&RewardTmp, "%c%06X000000000000000000000000000000014505DC2%s%c",