* Replace hardcoded UpdateFields offsets by Clientversion-depended values
This commit is contained in:
parent
74d4945a72
commit
2d7a4c4faa
@ -861,11 +861,11 @@ DefReturnResult DefScriptPackage::SCGetObjectValue(CmdSet &Set)
|
||||
else
|
||||
{
|
||||
if(DefScriptTools::stringToLower(Set.arg[1]) == "f")
|
||||
return toString((ldbl)o->GetFloatValue(v));
|
||||
return toString((ldbl)o->GetFloatValue((UpdateFieldName)v));
|
||||
else if(DefScriptTools::stringToLower(Set.arg[1]) == "i64")
|
||||
return toString(o->GetUInt64Value(v));
|
||||
return toString(o->GetUInt64Value((UpdateFieldName)v));
|
||||
else
|
||||
return toString((uint64)o->GetUInt32Value(v));
|
||||
return toString((uint64)o->GetUInt32Value((UpdateFieldName)v));
|
||||
}
|
||||
}
|
||||
return "";
|
||||
|
||||
@ -9,7 +9,7 @@ CacheHandler.h GameObject.h ObjectDefines.h Unit.cpp WorldP
|
||||
Channel.cpp Item.cpp Object.h Unit.h WorldSession.cpp\
|
||||
Channel.h Item.h ObjMgr.cpp UpdateData.cpp WorldSession.h\
|
||||
CMSGConstructor.cpp ObjMgr.h UpdateData.h WorldSocket.cpp\
|
||||
Corpse.cpp MapMgr.cpp Opcodes.cpp UpdateFields.h WorldSocket.h\
|
||||
Corpse.cpp MapMgr.cpp Opcodes.cpp UpdateFields.cpp WorldSocket.h\
|
||||
Corpse.h MapMgr.h Opcodes.h UpdateMask.h
|
||||
|
||||
libworld_a_LIBADD = ../../shared/libshared.a ../../shared/Auth/libauth.a ../../shared/Network/libnetwork.a
|
||||
|
||||
@ -7,6 +7,14 @@
|
||||
#include "HelperDefs.h"
|
||||
#include "World.h"
|
||||
|
||||
struct UpdateField
|
||||
{
|
||||
UpdateField(){};
|
||||
UpdateField(uint16 o, uint16 t):offset(o),type(t){};
|
||||
uint16 offset;
|
||||
uint16 type;
|
||||
};
|
||||
|
||||
enum TYPE
|
||||
{
|
||||
TYPE_OBJECT = 1,
|
||||
@ -40,9 +48,9 @@ class Object
|
||||
{
|
||||
public:
|
||||
virtual ~Object();
|
||||
inline const uint64 GetGUID() const { return GetUInt64Value(0); }
|
||||
inline const uint32 GetGUIDLow() const { return GetUInt32Value(0); }
|
||||
inline const uint32 GetGUIDHigh() const { return GetUInt32Value(1); }
|
||||
inline const uint64 GetGUID() const { return GetUInt64Value(OBJECT_FIELD_GUID); }
|
||||
inline const uint32 GetGUIDLow() const { return GetUInt32Value(OBJECT_FIELD_GUID_LOW); }
|
||||
inline const uint32 GetGUIDHigh() const { return GetUInt32Value(OBJECT_FIELD_GUID_HIGH); }
|
||||
inline uint32 GetEntry() const { return GetUInt32Value(OBJECT_FIELD_ENTRY); }
|
||||
inline uint16 GetValuesCount(void) { return _valuescount; }
|
||||
|
||||
@ -58,35 +66,39 @@ public:
|
||||
inline bool IsDynObject(void) { return _typeid == TYPEID_DYNAMICOBJECT; } // specific
|
||||
inline bool IsGameObject(void) { return _typeid == TYPEID_GAMEOBJECT; } // specific
|
||||
inline bool IsWorldObject(void) { return _type & (TYPE_PLAYER | TYPE_UNIT | TYPE_CORPSE | TYPE_DYNAMICOBJECT | TYPE_GAMEOBJECT); }
|
||||
inline const uint32 GetUInt32Value( uint16 index ) const
|
||||
inline const uint32 GetUInt32Value( UpdateFieldName index ) const
|
||||
{
|
||||
return _uint32values[ index ];
|
||||
return _uint32values[ Object::updatefields[index].offset ];
|
||||
}
|
||||
|
||||
inline const uint64 GetUInt64Value( uint16 index ) const
|
||||
inline const uint64 GetUInt64Value( UpdateFieldName index ) const
|
||||
{
|
||||
return *((uint64*)&(_uint32values[ index ]));
|
||||
return *((uint64*)&(_uint32values[ Object::updatefields[index].offset ]));
|
||||
}
|
||||
|
||||
inline bool HasFlag( uint16 index, uint32 flag ) const
|
||||
inline bool HasFlag( UpdateFieldName index, uint32 flag ) const
|
||||
{
|
||||
return (_uint32values[ index ] & flag) != 0;
|
||||
return (_uint32values[ Object::updatefields[index].offset ] & flag) != 0;
|
||||
}
|
||||
inline const float GetFloatValue( uint16 index ) const
|
||||
inline const float GetFloatValue( UpdateFieldName index ) const
|
||||
{
|
||||
return _floatvalues[ index ];
|
||||
return _floatvalues[ Object::updatefields[index].offset ];
|
||||
}
|
||||
inline void SetFloatValue( uint16 index, float value )
|
||||
inline void SetFloatValue( UpdateFieldName index, float value )
|
||||
{
|
||||
_floatvalues[ index ] = value;
|
||||
_floatvalues[ Object::updatefields[index].offset ] = value;
|
||||
}
|
||||
inline void SetUInt32Value( uint16 index, uint32 value )
|
||||
inline void SetUInt32Value( UpdateFieldName index, uint32 value )
|
||||
{
|
||||
_uint32values[ index ] = value;
|
||||
_uint32values[ Object::updatefields[index].offset ] = value;
|
||||
}
|
||||
inline void SetUInt64Value( uint16 index, uint64 value )
|
||||
inline void SetUInt32Value( uint16 offset, uint32 value )
|
||||
{
|
||||
*((uint64*)&(_uint32values[ index ])) = value;
|
||||
_uint32values[ offset ] = value;
|
||||
}
|
||||
inline void SetUInt64Value( UpdateFieldName index, uint64 value )
|
||||
{
|
||||
*((uint64*)&(_uint32values[ Object::updatefields[index].offset ])) = value;
|
||||
}
|
||||
|
||||
inline void SetName(std::string name) { _name = name; }
|
||||
@ -94,7 +106,7 @@ public:
|
||||
|
||||
inline float GetObjectSize() const
|
||||
{
|
||||
return ( _valuescount > UNIT_FIELD_BOUNDINGRADIUS ) ? _floatvalues[UNIT_FIELD_BOUNDINGRADIUS] : 0.39f;
|
||||
return ( _valuescount > Object::updatefields[UNIT_FIELD_BOUNDINGRADIUS].offset ) ? _floatvalues[Object::updatefields[UNIT_FIELD_BOUNDINGRADIUS].offset] : 0.39f;
|
||||
}
|
||||
|
||||
void Create(uint64 guid);
|
||||
@ -102,6 +114,7 @@ public:
|
||||
inline void _SetDepleted(void) { _depleted = true; }
|
||||
|
||||
static uint32 maxvalues[];
|
||||
static UpdateField updatefields[];
|
||||
|
||||
protected:
|
||||
Object();
|
||||
|
||||
@ -128,6 +128,7 @@ void WorldSession::_HandleUpdateObjectOpcode(WorldPacket& recvPacket)
|
||||
Unit *unit = new Unit();
|
||||
unit->Create(uguid);
|
||||
objmgr.Add(unit);
|
||||
logdebug("Created Unit with guid "I64FMT,uguid);
|
||||
break;
|
||||
}
|
||||
case TYPEID_PLAYER:
|
||||
@ -137,6 +138,7 @@ void WorldSession::_HandleUpdateObjectOpcode(WorldPacket& recvPacket)
|
||||
Player *player = new Player();
|
||||
player->Create(uguid);
|
||||
objmgr.Add(player);
|
||||
logdebug("Created Player with guid "I64FMT,uguid);
|
||||
break;
|
||||
}
|
||||
case TYPEID_GAMEOBJECT:
|
||||
@ -144,6 +146,7 @@ void WorldSession::_HandleUpdateObjectOpcode(WorldPacket& recvPacket)
|
||||
GameObject *go = new GameObject();
|
||||
go->Create(uguid);
|
||||
objmgr.Add(go);
|
||||
logdebug("Created GO with guid "I64FMT,uguid);
|
||||
break;
|
||||
}
|
||||
case TYPEID_CORPSE:
|
||||
@ -151,6 +154,7 @@ void WorldSession::_HandleUpdateObjectOpcode(WorldPacket& recvPacket)
|
||||
Corpse *corpse = new Corpse();
|
||||
corpse->Create(uguid);
|
||||
objmgr.Add(corpse);
|
||||
logdebug("Created Corpse with guid "I64FMT,uguid);
|
||||
break;
|
||||
}
|
||||
case TYPEID_DYNAMICOBJECT:
|
||||
@ -158,6 +162,7 @@ void WorldSession::_HandleUpdateObjectOpcode(WorldPacket& recvPacket)
|
||||
DynamicObject *dobj = new DynamicObject();
|
||||
dobj->Create(uguid);
|
||||
objmgr.Add(dobj);
|
||||
logdebug("Created DynObj with guid "I64FMT,uguid);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -181,6 +186,7 @@ void WorldSession::_HandleUpdateObjectOpcode(WorldPacket& recvPacket)
|
||||
Set.defaultarg = toString(uguid);
|
||||
Set.arg[0] = toString(objtypeid);
|
||||
GetInstance()->GetScripts()->RunScript("_onobjectcreate", &Set);
|
||||
|
||||
}
|
||||
|
||||
// if our own character got finally created, we have successfully entered the world,
|
||||
@ -428,8 +434,6 @@ void WorldSession::_ValuesUpdate(uint64 uguid, WorldPacket& recvPacket)
|
||||
Object *obj = objmgr.GetObj(uguid);
|
||||
uint8 blockcount,tyid;
|
||||
uint32 value, masksize, valuesCount;
|
||||
float fvalue;
|
||||
uint64 value64;
|
||||
|
||||
if(obj)
|
||||
{
|
||||
@ -454,7 +458,6 @@ void WorldSession::_ValuesUpdate(uint64 uguid, WorldPacket& recvPacket)
|
||||
umask.SetMask(updateMask);
|
||||
//delete [] updateMask; // will be deleted at ~UpdateMask() !!!!
|
||||
logdev("ValuesUpdate TypeId=%u GUID="I64FMT" pObj=%X Blocks=%u Masksize=%u",tyid,uguid,obj,blockcount,masksize);
|
||||
|
||||
// just in case the object does not exist, and we have really a container instead of an item, and a value in
|
||||
// the container fields is set, THEN we have a problem. this should never be the case; it can be fixed in a
|
||||
// more correct way if there is the need.
|
||||
@ -465,25 +468,9 @@ void WorldSession::_ValuesUpdate(uint64 uguid, WorldPacket& recvPacket)
|
||||
{
|
||||
if(obj)
|
||||
{
|
||||
if(IsFloatField(obj->GetTypeMask(),i))
|
||||
{
|
||||
recvPacket >> fvalue;
|
||||
obj->SetFloatValue(i, fvalue);
|
||||
logdev("-> Field[%u] = %f",i,fvalue);
|
||||
}
|
||||
else if(IsUInt64Field(obj->GetTypeMask(),i) && umask.GetBit(i+1))
|
||||
{
|
||||
recvPacket >> value64;
|
||||
obj->SetUInt64Value(i, value64);
|
||||
logdev("-> Field[%u] = "I64FMT,i,value64);
|
||||
i++;
|
||||
}
|
||||
else
|
||||
{
|
||||
recvPacket >> value;
|
||||
obj->SetUInt32Value(i, value);
|
||||
logdev("-> Field[%u] = %u",i,value);
|
||||
}
|
||||
recvPacket >> value;
|
||||
obj->SetUInt32Value(i, value); //It does not matter what type of value we are setting, just copy the bytes
|
||||
logdev("%u %u",i,value);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -548,222 +535,3 @@ void WorldSession::_QueryObjectInfo(uint64 guid)
|
||||
}
|
||||
}
|
||||
|
||||
// helper to determine if an updatefield should store float or int values, depending on TypeId
|
||||
bool IsFloatField(uint8 ty, uint32 f)
|
||||
{
|
||||
static uint32 floats_object[] =
|
||||
{
|
||||
(uint32)OBJECT_FIELD_SCALE_X,
|
||||
(uint32)-1
|
||||
};
|
||||
/*
|
||||
static uint32 floats_item[] =
|
||||
{
|
||||
(uint32)-1
|
||||
};
|
||||
static uint32 floats_container[] =
|
||||
{
|
||||
(uint32)-1
|
||||
};
|
||||
*/
|
||||
static uint32 floats_unit[] =
|
||||
{
|
||||
(uint32)UNIT_FIELD_BOUNDINGRADIUS,
|
||||
(uint32)UNIT_FIELD_COMBATREACH,
|
||||
(uint32)UNIT_FIELD_MINDAMAGE,
|
||||
(uint32)UNIT_FIELD_MAXDAMAGE,
|
||||
(uint32)UNIT_FIELD_MINOFFHANDDAMAGE,
|
||||
(uint32)UNIT_FIELD_MINOFFHANDDAMAGE,
|
||||
(uint32)UNIT_MOD_CAST_SPEED,
|
||||
(uint32)UNIT_FIELD_RANGED_ATTACK_POWER_MULTIPLIER,
|
||||
(uint32)UNIT_FIELD_ATTACK_POWER_MULTIPLIER,
|
||||
(uint32)UNIT_FIELD_MINRANGEDDAMAGE,
|
||||
(uint32)UNIT_FIELD_MAXRANGEDDAMAGE,
|
||||
(uint32)UNIT_FIELD_POWER_COST_MULTIPLIER,
|
||||
(uint32)UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER,
|
||||
(uint32)UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER,
|
||||
(uint32)UNIT_FIELD_MAXHEALTHMODIFIER,
|
||||
(uint32)UNIT_FIELD_HOVERHEIGHT,
|
||||
(uint32)-1
|
||||
};
|
||||
static uint32 floats_player[] =
|
||||
{
|
||||
(uint32)PLAYER_BLOCK_PERCENTAGE,
|
||||
(uint32)PLAYER_DODGE_PERCENTAGE,
|
||||
(uint32)PLAYER_PARRY_PERCENTAGE,
|
||||
(uint32)PLAYER_RANGED_CRIT_PERCENTAGE,
|
||||
(uint32)PLAYER_OFFHAND_CRIT_PERCENTAGE,
|
||||
(uint32)PLAYER_SPELL_CRIT_PERCENTAGE1,
|
||||
(uint32)PLAYER_CRIT_PERCENTAGE,
|
||||
(uint32)PLAYER_SHIELD_BLOCK_CRIT_PERCENTAGE,
|
||||
(uint32)PLAYER_FIELD_MOD_HEALING_PCT,
|
||||
(uint32)PLAYER_FIELD_MOD_HEALING_DONE_PCT,
|
||||
(uint32)PLAYER_RUNE_REGEN_1,
|
||||
(uint32)-1
|
||||
};
|
||||
static uint32 floats_gameobject[] =
|
||||
{
|
||||
(uint32)GAMEOBJECT_PARENTROTATION,
|
||||
(uint32)(GAMEOBJECT_PARENTROTATION + 1),
|
||||
(uint32)(GAMEOBJECT_PARENTROTATION + 2),
|
||||
(uint32)(GAMEOBJECT_PARENTROTATION + 3),
|
||||
(uint32)-1
|
||||
};
|
||||
static uint32 floats_dynobject[] =
|
||||
{
|
||||
(uint32)DYNAMICOBJECT_RADIUS,
|
||||
(uint32)-1
|
||||
};
|
||||
/*
|
||||
static uint32 floats_corpse[] =
|
||||
{
|
||||
(uint32)-1
|
||||
};
|
||||
*/
|
||||
|
||||
if(ty & TYPE_OBJECT)
|
||||
for(uint32 i = 0; floats_object[i] != (uint32)(-1); i++)
|
||||
if(floats_object[i] == f)
|
||||
return true;
|
||||
/*
|
||||
if(ty & TYPE_ITEM)
|
||||
for(uint32 i = 0; floats_item[i] != (-1); i++)
|
||||
if(floats_object[i] == f)
|
||||
return true;
|
||||
if(ty & TYPE_CONTAINER)
|
||||
for(uint32 i = 0; floats_container[i] != (-1); i++)
|
||||
if(floats_object[i] == f)
|
||||
return true;
|
||||
*/
|
||||
if(ty & TYPE_UNIT)
|
||||
for(uint32 i = 0; floats_unit[i] != (uint32)(-1); i++)
|
||||
if(floats_unit[i] == f)
|
||||
return true;
|
||||
if(ty & TYPE_PLAYER)
|
||||
for(uint32 i = 0; floats_player[i] != (uint32)(-1); i++)
|
||||
if(floats_player[i] == f)
|
||||
return true;
|
||||
if(ty & TYPE_GAMEOBJECT)
|
||||
for(uint32 i = 0; floats_gameobject[i] != (uint32)(-1); i++)
|
||||
if(floats_gameobject[i] == f)
|
||||
return true;
|
||||
if(ty & TYPE_DYNAMICOBJECT)
|
||||
for(uint32 i = 0; floats_dynobject[i] != (uint32)(-1); i++)
|
||||
if(floats_dynobject[i] == f)
|
||||
return true;
|
||||
/*
|
||||
if(ty & TYPE_CORPSE)
|
||||
for(uint32 i = 0; floats_corpse[i] != (uint32)(-1); i++)
|
||||
if(floats_corpse[i] == f)
|
||||
return true;
|
||||
*/
|
||||
return false;
|
||||
}
|
||||
|
||||
bool IsUInt64Field(uint8 ty, uint32 f)
|
||||
{
|
||||
static uint32 u64_object[] =
|
||||
{
|
||||
(uint32)OBJECT_FIELD_GUID,
|
||||
(uint32)-1
|
||||
};
|
||||
|
||||
static uint32 u64_item[] =
|
||||
{
|
||||
(uint32)ITEM_FIELD_OWNER,
|
||||
(uint32)ITEM_FIELD_CONTAINED,
|
||||
(uint32)ITEM_FIELD_CREATOR,
|
||||
(uint32)ITEM_FIELD_GIFTCREATOR,
|
||||
(uint32)-1
|
||||
};
|
||||
static uint32 u64_container[] =
|
||||
{
|
||||
(uint32)CONTAINER_FIELD_SLOT_1,
|
||||
(uint32)-1
|
||||
};
|
||||
|
||||
static uint32 u64_unit[] =
|
||||
{
|
||||
(uint32)UNIT_FIELD_CHARM,
|
||||
(uint32)UNIT_FIELD_SUMMON,
|
||||
(uint32)UNIT_FIELD_CRITTER,
|
||||
(uint32)UNIT_FIELD_CHARMEDBY,
|
||||
(uint32)UNIT_FIELD_SUMMONEDBY,
|
||||
(uint32)UNIT_FIELD_CREATEDBY,
|
||||
(uint32)UNIT_FIELD_TARGET,
|
||||
(uint32)UNIT_FIELD_CHANNEL_OBJECT,
|
||||
(uint32)-1
|
||||
};
|
||||
static uint32 u64_player[] =
|
||||
{
|
||||
(uint32)PLAYER_DUEL_ARBITER,
|
||||
(uint32)PLAYER_FIELD_INV_SLOT_HEAD,
|
||||
(uint32)PLAYER_FIELD_PACK_SLOT_1,
|
||||
(uint32)PLAYER_FIELD_BANK_SLOT_1,
|
||||
(uint32)PLAYER_FIELD_BANKBAG_SLOT_1,
|
||||
(uint32)PLAYER_FIELD_VENDORBUYBACK_SLOT_1,
|
||||
(uint32)PLAYER_FIELD_KEYRING_SLOT_1,
|
||||
(uint32)PLAYER_FIELD_CURRENCYTOKEN_SLOT_1,
|
||||
(uint32)PLAYER_FARSIGHT,
|
||||
(uint32)PLAYER__FIELD_KNOWN_TITLES,
|
||||
(uint32)PLAYER__FIELD_KNOWN_TITLES1,
|
||||
(uint32)PLAYER__FIELD_KNOWN_TITLES2,
|
||||
(uint32)PLAYER_FIELD_KNOWN_CURRENCIES,
|
||||
(uint32)-1
|
||||
};
|
||||
static uint32 u64_gameobject[] =
|
||||
{
|
||||
(uint32)OBJECT_FIELD_CREATED_BY,
|
||||
(uint32)-1
|
||||
};
|
||||
static uint32 u64_dynobject[] =
|
||||
{
|
||||
(uint32)DYNAMICOBJECT_CASTER,
|
||||
(uint32)-1
|
||||
};
|
||||
|
||||
static uint32 u64_corpse[] =
|
||||
{
|
||||
(uint32)CORPSE_FIELD_OWNER,
|
||||
(uint32)CORPSE_FIELD_PARTY,
|
||||
(uint32)-1
|
||||
};
|
||||
|
||||
if(ty & TYPE_OBJECT)
|
||||
for(uint32 i = 0; u64_object[i] != (uint32)(-1); i++)
|
||||
if(u64_object[i] == f)
|
||||
return true;
|
||||
|
||||
if(ty & TYPE_ITEM)
|
||||
for(uint32 i = 0; u64_item[i] != (uint32)(-1); i++)
|
||||
if(u64_item[i] == f)
|
||||
return true;
|
||||
if(ty & TYPE_CONTAINER)
|
||||
for(uint32 i = 0; u64_container[i] != (uint32)(-1); i++)
|
||||
if(u64_container[i] == f)
|
||||
return true;
|
||||
|
||||
if(ty & TYPE_UNIT)
|
||||
for(uint32 i = 0; u64_unit[i] != (uint32)(-1); i++)
|
||||
if(u64_unit[i] == f)
|
||||
return true;
|
||||
if(ty & TYPE_PLAYER)
|
||||
for(uint32 i = 0; u64_player[i] != (uint32)(-1); i++)
|
||||
if(u64_player[i] == f)
|
||||
return true;
|
||||
if(ty & TYPE_GAMEOBJECT)
|
||||
for(uint32 i = 0; u64_gameobject[i] != (uint32)(-1); i++)
|
||||
if(u64_gameobject[i] == f)
|
||||
return true;
|
||||
if(ty & TYPE_DYNAMICOBJECT)
|
||||
for(uint32 i = 0; u64_dynobject[i] != (uint32)(-1); i++)
|
||||
if(u64_dynobject[i] == f)
|
||||
return true;
|
||||
|
||||
if(ty & TYPE_CORPSE)
|
||||
for(uint32 i = 0; u64_corpse[i] != (uint32)(-1); i++)
|
||||
if(u64_corpse[i] == f)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
697
src/Client/World/UpdateFields.cpp
Normal file
697
src/Client/World/UpdateFields.cpp
Normal file
@ -0,0 +1,697 @@
|
||||
#include "PseuWoW.h"
|
||||
#include "Object.h"
|
||||
#include "WorldSession.h"
|
||||
|
||||
void WorldSession::_SetupObjectFields()
|
||||
{
|
||||
switch(_instance->GetConf()->client)//TODO: Add TBC/WOTLK cases
|
||||
{
|
||||
case CLIENT_CLASSIC_WOW:
|
||||
{
|
||||
uint32 mv[]={
|
||||
OBJECT_END,
|
||||
ITEM_END_6005,
|
||||
CONTAINER_END_6005,
|
||||
UNIT_END_6005,
|
||||
PLAYER_END_6005,
|
||||
GAMEOBJECT_END_6005,
|
||||
DYNAMICOBJECT_END,
|
||||
CORPSE_END
|
||||
};
|
||||
memcpy(Object::maxvalues,mv,sizeof(mv));
|
||||
|
||||
Object::updatefields[ OBJECT_FIELD_GUID ] = UpdateField( 0x0000 , UF_UINT64 ); // Size:2
|
||||
Object::updatefields[ OBJECT_FIELD_GUID_LOW ] = UpdateField( 0x0000 , UF_UINT32 );
|
||||
Object::updatefields[ OBJECT_FIELD_GUID_HIGH ] = UpdateField( 0x0001 , UF_UINT32 );
|
||||
Object::updatefields[ OBJECT_FIELD_TYPE ] = UpdateField( 0x0002 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ OBJECT_FIELD_ENTRY ] = UpdateField( 0x0003 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ OBJECT_FIELD_SCALE_X ] = UpdateField( 0x0004 , UF_FLOAT ); // Size:1
|
||||
Object::updatefields[ OBJECT_FIELD_PADDING ] = UpdateField( 0x0005 , UF_UINT32 ); // Size:1
|
||||
|
||||
Object::updatefields[ ITEM_FIELD_OWNER ] = UpdateField( mv[TYPEID_OBJECT] + 0x0000 , UF_UINT64 ); // Size:2
|
||||
Object::updatefields[ ITEM_FIELD_CONTAINED ] = UpdateField( mv[TYPEID_OBJECT] + 0x0002 , UF_UINT64 ); // Size:2
|
||||
Object::updatefields[ ITEM_FIELD_CREATOR ] = UpdateField( mv[TYPEID_OBJECT] + 0x0004 , UF_UINT64 ); // Size:2
|
||||
Object::updatefields[ ITEM_FIELD_GIFTCREATOR ] = UpdateField( mv[TYPEID_OBJECT] + 0x0006 , UF_UINT64 ); // Size:2
|
||||
Object::updatefields[ ITEM_FIELD_STACK_COUNT ] = UpdateField( mv[TYPEID_OBJECT] + 0x0008 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ ITEM_FIELD_DURATION ] = UpdateField( mv[TYPEID_OBJECT] + 0x0009 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ ITEM_FIELD_SPELL_CHARGES ] = UpdateField( mv[TYPEID_OBJECT] + 0x000A , UF_UINT32 ); // Size:5
|
||||
Object::updatefields[ ITEM_FIELD_SPELL_CHARGES_01 ] = UpdateField( mv[TYPEID_OBJECT] + 0x000B , UF_UINT32 );
|
||||
Object::updatefields[ ITEM_FIELD_SPELL_CHARGES_02 ] = UpdateField( mv[TYPEID_OBJECT] + 0x000C , UF_UINT32 );
|
||||
Object::updatefields[ ITEM_FIELD_SPELL_CHARGES_03 ] = UpdateField( mv[TYPEID_OBJECT] + 0x000D , UF_UINT32 );
|
||||
Object::updatefields[ ITEM_FIELD_SPELL_CHARGES_04 ] = UpdateField( mv[TYPEID_OBJECT] + 0x000E , UF_UINT32 );
|
||||
Object::updatefields[ ITEM_FIELD_FLAGS ] = UpdateField( mv[TYPEID_OBJECT] + 0x000F , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ ITEM_FIELD_ENCHANTMENT ] = UpdateField( mv[TYPEID_OBJECT] + 0x0010 , UF_UINT32 ); // Count=21
|
||||
Object::updatefields[ ITEM_FIELD_PROPERTY_SEED ] = UpdateField( mv[TYPEID_OBJECT] + 0x0025 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ ITEM_FIELD_RANDOM_PROPERTIES_ID ] = UpdateField( mv[TYPEID_OBJECT] + 0x0026 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ ITEM_FIELD_ITEM_TEXT_ID ] = UpdateField( mv[TYPEID_OBJECT] + 0x0027 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ ITEM_FIELD_DURABILITY ] = UpdateField( mv[TYPEID_OBJECT] + 0x0028 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ ITEM_FIELD_MAXDURABILITY ] = UpdateField( mv[TYPEID_OBJECT] + 0x0029 , UF_UINT32 ); // Size:1
|
||||
|
||||
Object::updatefields[ CONTAINER_FIELD_NUM_SLOTS ] = UpdateField( mv[TYPEID_UNIT] + 0x0000 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ CONTAINER_ALIGN_PAD ] = UpdateField( mv[TYPEID_UNIT] + 0x0001 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ CONTAINER_FIELD_SLOT_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x0002 , UF_UINT32 ); // Count=56
|
||||
Object::updatefields[ CONTAINER_FIELD_SLOT_LAST ] = UpdateField( mv[TYPEID_UNIT] + 0x0038 , UF_UINT32 );
|
||||
|
||||
Object::updatefields[ UNIT_FIELD_CHARM ] = UpdateField( mv[TYPEID_OBJECT] + 0x0000 , UF_UINT64 ); // Size:2
|
||||
Object::updatefields[ UNIT_FIELD_SUMMON ] = UpdateField( mv[TYPEID_OBJECT] + 0x0002 , UF_UINT64 ); // Size:2
|
||||
Object::updatefields[ UNIT_FIELD_CHARMEDBY ] = UpdateField( mv[TYPEID_OBJECT] + 0x0004 , UF_UINT64 ); // Size:2
|
||||
Object::updatefields[ UNIT_FIELD_SUMMONEDBY ] = UpdateField( mv[TYPEID_OBJECT] + 0x0006 , UF_UINT64 ); // Size:2
|
||||
Object::updatefields[ UNIT_FIELD_CREATEDBY ] = UpdateField( mv[TYPEID_OBJECT] + 0x0008 , UF_UINT64 ); // Size:2
|
||||
Object::updatefields[ UNIT_FIELD_TARGET ] = UpdateField( mv[TYPEID_OBJECT] + 0x000A , UF_UINT64 ); // Size:2
|
||||
Object::updatefields[ UNIT_FIELD_PERSUADED ] = UpdateField( mv[TYPEID_OBJECT] + 0x000C , UF_UINT64 ); // Size:2
|
||||
Object::updatefields[ UNIT_FIELD_CHANNEL_OBJECT ] = UpdateField( mv[TYPEID_OBJECT] + 0x000E , UF_UINT64 ); // Size:2
|
||||
Object::updatefields[ UNIT_FIELD_HEALTH ] = UpdateField( mv[TYPEID_OBJECT] + 0x0010 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_POWER1 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0011 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_POWER2 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0012 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_POWER3 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0013 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_POWER4 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0014 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_POWER5 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0015 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_MAXHEALTH ] = UpdateField( mv[TYPEID_OBJECT] + 0x0016 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_MAXPOWER1 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0017 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_MAXPOWER2 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0018 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_MAXPOWER3 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0019 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_MAXPOWER4 ] = UpdateField( mv[TYPEID_OBJECT] + 0x001A , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_MAXPOWER5 ] = UpdateField( mv[TYPEID_OBJECT] + 0x001B , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_LEVEL ] = UpdateField( mv[TYPEID_OBJECT] + 0x001C , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_FACTIONTEMPLATE ] = UpdateField( mv[TYPEID_OBJECT] + 0x001D , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_BYTES_0 ] = UpdateField( mv[TYPEID_OBJECT] + 0x001E , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_VIRTUAL_ITEM_SLOT_DISPLAY ] = UpdateField( mv[TYPEID_OBJECT] + 0x001F , UF_UINT32 ); // Size:3
|
||||
Object::updatefields[ UNIT_VIRTUAL_ITEM_SLOT_DISPLAY_01 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0020 , UF_UINT32 );
|
||||
Object::updatefields[ UNIT_VIRTUAL_ITEM_SLOT_DISPLAY_02 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0021 , UF_UINT32 );
|
||||
Object::updatefields[ UNIT_VIRTUAL_ITEM_INFO ] = UpdateField( mv[TYPEID_OBJECT] + 0x0022 , UF_UINT32 ); // Size:6
|
||||
Object::updatefields[ UNIT_VIRTUAL_ITEM_INFO_01 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0023 , UF_UINT32 );
|
||||
Object::updatefields[ UNIT_VIRTUAL_ITEM_INFO_02 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0024 , UF_UINT32 );
|
||||
Object::updatefields[ UNIT_VIRTUAL_ITEM_INFO_03 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0025 , UF_UINT32 );
|
||||
Object::updatefields[ UNIT_VIRTUAL_ITEM_INFO_04 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0026 , UF_UINT32 );
|
||||
Object::updatefields[ UNIT_VIRTUAL_ITEM_INFO_05 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0027 , UF_UINT32 );
|
||||
Object::updatefields[ UNIT_FIELD_FLAGS ] = UpdateField( mv[TYPEID_OBJECT] + 0x0028 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_AURA ] = UpdateField( mv[TYPEID_OBJECT] + 0x0029 , UF_UINT32 ); // Size:48
|
||||
Object::updatefields[ UNIT_FIELD_AURA_LAST ] = UpdateField( mv[TYPEID_OBJECT] + 0x0058 , UF_UINT32 );
|
||||
Object::updatefields[ UNIT_FIELD_AURAFLAGS ] = UpdateField( mv[TYPEID_OBJECT] + 0x0059 , UF_UINT32 ); // Size:6
|
||||
Object::updatefields[ UNIT_FIELD_AURAFLAGS_01 ] = UpdateField( mv[TYPEID_OBJECT] + 0x005A , UF_UINT32 );
|
||||
Object::updatefields[ UNIT_FIELD_AURAFLAGS_02 ] = UpdateField( mv[TYPEID_OBJECT] + 0x005B , UF_UINT32 );
|
||||
Object::updatefields[ UNIT_FIELD_AURAFLAGS_03 ] = UpdateField( mv[TYPEID_OBJECT] + 0x005C , UF_UINT32 );
|
||||
Object::updatefields[ UNIT_FIELD_AURAFLAGS_04 ] = UpdateField( mv[TYPEID_OBJECT] + 0x005D , UF_UINT32 );
|
||||
Object::updatefields[ UNIT_FIELD_AURAFLAGS_05 ] = UpdateField( mv[TYPEID_OBJECT] + 0x005E , UF_UINT32 );
|
||||
Object::updatefields[ UNIT_FIELD_AURALEVELS ] = UpdateField( mv[TYPEID_OBJECT] + 0x005F , UF_UINT32 ); // Size:12
|
||||
Object::updatefields[ UNIT_FIELD_AURALEVELS_LAST ] = UpdateField( mv[TYPEID_OBJECT] + 0x006A , UF_UINT32 );
|
||||
Object::updatefields[ UNIT_FIELD_AURAAPPLICATIONS ] = UpdateField( mv[TYPEID_OBJECT] + 0x006B , UF_UINT32 ); // Size:12
|
||||
Object::updatefields[ UNIT_FIELD_AURAAPPLICATIONS_LAST ] = UpdateField( mv[TYPEID_OBJECT] + 0x0076 , UF_UINT32 );
|
||||
Object::updatefields[ UNIT_FIELD_AURASTATE ] = UpdateField( mv[TYPEID_OBJECT] + 0x0077 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_BASEATTACKTIME ] = UpdateField( mv[TYPEID_OBJECT] + 0x0078 , UF_UINT64 ); // Size:2
|
||||
Object::updatefields[ UNIT_FIELD_OFFHANDATTACKTIME ] = UpdateField( mv[TYPEID_OBJECT] + 0x0079 , UF_UINT64 ); // Size:2
|
||||
Object::updatefields[ UNIT_FIELD_RANGEDATTACKTIME ] = UpdateField( mv[TYPEID_OBJECT] + 0x007A , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_BOUNDINGRADIUS ] = UpdateField( mv[TYPEID_OBJECT] + 0x007B , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_COMBATREACH ] = UpdateField( mv[TYPEID_OBJECT] + 0x007C , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_DISPLAYID ] = UpdateField( mv[TYPEID_OBJECT] + 0x007D , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_NATIVEDISPLAYID ] = UpdateField( mv[TYPEID_OBJECT] + 0x007E , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_MOUNTDISPLAYID ] = UpdateField( mv[TYPEID_OBJECT] + 0x007F , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_MINDAMAGE ] = UpdateField( mv[TYPEID_OBJECT] + 0x0080 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_MAXDAMAGE ] = UpdateField( mv[TYPEID_OBJECT] + 0x0081 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_MINOFFHANDDAMAGE ] = UpdateField( mv[TYPEID_OBJECT] + 0x0082 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_MAXOFFHANDDAMAGE ] = UpdateField( mv[TYPEID_OBJECT] + 0x0083 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_BYTES_1 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0084 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_PETNUMBER ] = UpdateField( mv[TYPEID_OBJECT] + 0x0085 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_PET_NAME_TIMESTAMP ] = UpdateField( mv[TYPEID_OBJECT] + 0x0086 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_PETEXPERIENCE ] = UpdateField( mv[TYPEID_OBJECT] + 0x0087 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_PETNEXTLEVELEXP ] = UpdateField( mv[TYPEID_OBJECT] + 0x0088 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_DYNAMIC_FLAGS ] = UpdateField( mv[TYPEID_OBJECT] + 0x0089 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_CHANNEL_SPELL ] = UpdateField( mv[TYPEID_OBJECT] + 0x008A , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_MOD_CAST_SPEED ] = UpdateField( mv[TYPEID_OBJECT] + 0x008B , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_CREATED_BY_SPELL ] = UpdateField( mv[TYPEID_OBJECT] + 0x008C , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_NPC_FLAGS ] = UpdateField( mv[TYPEID_OBJECT] + 0x008D , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_NPC_EMOTESTATE ] = UpdateField( mv[TYPEID_OBJECT] + 0x008E , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_TRAINING_POINTS ] = UpdateField( mv[TYPEID_OBJECT] + 0x008F , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_STAT0 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0090 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_STAT1 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0091 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_STAT2 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0092 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_STAT3 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0093 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_STAT4 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0094 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_RESISTANCES ] = UpdateField( mv[TYPEID_OBJECT] + 0x0095 , UF_UINT32 ); // Size:7
|
||||
Object::updatefields[ UNIT_FIELD_RESISTANCES_01 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0096 , UF_UINT32 );
|
||||
Object::updatefields[ UNIT_FIELD_RESISTANCES_02 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0097 , UF_UINT32 );
|
||||
Object::updatefields[ UNIT_FIELD_RESISTANCES_03 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0098 , UF_UINT32 );
|
||||
Object::updatefields[ UNIT_FIELD_RESISTANCES_04 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0099 , UF_UINT32 );
|
||||
Object::updatefields[ UNIT_FIELD_RESISTANCES_05 ] = UpdateField( mv[TYPEID_OBJECT] + 0x009A , UF_UINT32 );
|
||||
Object::updatefields[ UNIT_FIELD_RESISTANCES_06 ] = UpdateField( mv[TYPEID_OBJECT] + 0x009B , UF_UINT32 );
|
||||
Object::updatefields[ UNIT_FIELD_BASE_MANA ] = UpdateField( mv[TYPEID_OBJECT] + 0x009C , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_BASE_HEALTH ] = UpdateField( mv[TYPEID_OBJECT] + 0x009D , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_BYTES_2 ] = UpdateField( mv[TYPEID_OBJECT] + 0x009E , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_ATTACK_POWER ] = UpdateField( mv[TYPEID_OBJECT] + 0x009F , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_ATTACK_POWER_MODS ] = UpdateField( mv[TYPEID_OBJECT] + 0x00A0 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_ATTACK_POWER_MULTIPLIER ] = UpdateField( mv[TYPEID_OBJECT] + 0x00A1 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_RANGED_ATTACK_POWER ] = UpdateField( mv[TYPEID_OBJECT] + 0x00A2 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_RANGED_ATTACK_POWER_MODS ] = UpdateField( mv[TYPEID_OBJECT] + 0x00A3 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_RANGED_ATTACK_POWER_MULTIPLIER ] = UpdateField( mv[TYPEID_OBJECT] + 0x00A4 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_MINRANGEDDAMAGE ] = UpdateField( mv[TYPEID_OBJECT] + 0x00A5 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_MAXRANGEDDAMAGE ] = UpdateField( mv[TYPEID_OBJECT] + 0x00A6 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ UNIT_FIELD_POWER_COST_MODIFIER ] = UpdateField( mv[TYPEID_OBJECT] + 0x00A7 , UF_UINT32 ); // Size:7
|
||||
Object::updatefields[ UNIT_FIELD_POWER_COST_MODIFIER_01 ] = UpdateField( mv[TYPEID_OBJECT] + 0x00A8 , UF_UINT32 );
|
||||
Object::updatefields[ UNIT_FIELD_POWER_COST_MODIFIER_02 ] = UpdateField( mv[TYPEID_OBJECT] + 0x00A9 , UF_UINT32 );
|
||||
Object::updatefields[ UNIT_FIELD_POWER_COST_MODIFIER_03 ] = UpdateField( mv[TYPEID_OBJECT] + 0x00AA , UF_UINT32 );
|
||||
Object::updatefields[ UNIT_FIELD_POWER_COST_MODIFIER_04 ] = UpdateField( mv[TYPEID_OBJECT] + 0x00AB , UF_UINT32 );
|
||||
Object::updatefields[ UNIT_FIELD_POWER_COST_MODIFIER_05 ] = UpdateField( mv[TYPEID_OBJECT] + 0x00AC , UF_UINT32 );
|
||||
Object::updatefields[ UNIT_FIELD_POWER_COST_MODIFIER_06 ] = UpdateField( mv[TYPEID_OBJECT] + 0x00AD , UF_UINT32 );
|
||||
Object::updatefields[ UNIT_FIELD_POWER_COST_MULTIPLIER ] = UpdateField( mv[TYPEID_OBJECT] + 0x00AE , UF_UINT32 ); // Size:7
|
||||
Object::updatefields[ UNIT_FIELD_POWER_COST_MULTIPLIER_01 ] = UpdateField( mv[TYPEID_OBJECT] + 0x00AF , UF_UINT32 );
|
||||
Object::updatefields[ UNIT_FIELD_POWER_COST_MULTIPLIER_02 ] = UpdateField( mv[TYPEID_OBJECT] + 0x00B0 , UF_UINT32 );
|
||||
Object::updatefields[ UNIT_FIELD_POWER_COST_MULTIPLIER_03 ] = UpdateField( mv[TYPEID_OBJECT] + 0x00B1 , UF_UINT32 );
|
||||
Object::updatefields[ UNIT_FIELD_POWER_COST_MULTIPLIER_04 ] = UpdateField( mv[TYPEID_OBJECT] + 0x00B2 , UF_UINT32 );
|
||||
Object::updatefields[ UNIT_FIELD_POWER_COST_MULTIPLIER_05 ] = UpdateField( mv[TYPEID_OBJECT] + 0x00B3 , UF_UINT32 );
|
||||
Object::updatefields[ UNIT_FIELD_POWER_COST_MULTIPLIER_06 ] = UpdateField( mv[TYPEID_OBJECT] + 0x00B4 , UF_UINT32 );
|
||||
Object::updatefields[ UNIT_FIELD_PADDING ] = UpdateField( mv[TYPEID_OBJECT] + 0x00B5 , UF_UINT32 );
|
||||
|
||||
Object::updatefields[ PLAYER_DUEL_ARBITER ] = UpdateField( mv[TYPEID_UNIT] + 0x0000 , UF_UINT64 ); // Size:2
|
||||
Object::updatefields[ PLAYER_FLAGS ] = UpdateField( mv[TYPEID_UNIT] + 0x0002 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_GUILDID ] = UpdateField( mv[TYPEID_UNIT] + 0x0003 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_GUILDRANK ] = UpdateField( mv[TYPEID_UNIT] + 0x0004 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_BYTES ] = UpdateField( mv[TYPEID_UNIT] + 0x0005 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_BYTES_2 ] = UpdateField( mv[TYPEID_UNIT] + 0x0006 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_BYTES_3 ] = UpdateField( mv[TYPEID_UNIT] + 0x0007 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_DUEL_TEAM ] = UpdateField( mv[TYPEID_UNIT] + 0x0008 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_GUILD_TIMESTAMP ] = UpdateField( mv[TYPEID_UNIT] + 0x0009 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_1_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x000A , UF_UINT32 ); // Count = 20
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_1_2 ] = UpdateField( mv[TYPEID_UNIT] + 0x000B , UF_UINT32 );
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_1_3 ] = UpdateField( mv[TYPEID_UNIT] + 0x000C , UF_UINT32 );
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_LAST_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x0043 , UF_UINT32 );
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_LAST_2 ] = UpdateField( mv[TYPEID_UNIT] + 0x0044 , UF_UINT32 );
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_LAST_3 ] = UpdateField( mv[TYPEID_UNIT] + 0x0045 , UF_UINT32 );
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_1_CREATOR ] = UpdateField( mv[TYPEID_UNIT] + 0x0046 , UF_UINT64 ); // Size:2, Count = 19
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_1_0 ] = UpdateField( mv[TYPEID_UNIT] + 0x0048 , UF_UINT64 ); // Size:8
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_1_PROPERTIES ] = UpdateField( mv[TYPEID_UNIT] + 0x0050 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_1_PAD ] = UpdateField( mv[TYPEID_UNIT] + 0x0051 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_LAST_CREATOR ] = UpdateField( mv[TYPEID_UNIT] + 0x011E , UF_UINT32 );
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_LAST_0 ] = UpdateField( mv[TYPEID_UNIT] + 0x0120 , UF_UINT32 );
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_LAST_PROPERTIES ] = UpdateField( mv[TYPEID_UNIT] + 0x0128 , UF_UINT32 );
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_LAST_PAD ] = UpdateField( mv[TYPEID_UNIT] + 0x0129 , UF_UINT32 );
|
||||
Object::updatefields[ PLAYER_FIELD_INV_SLOT_HEAD ] = UpdateField( mv[TYPEID_UNIT] + 0x012A , UF_UINT32 ); // Size:46
|
||||
Object::updatefields[ PLAYER_FIELD_PACK_SLOT_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x0158 , UF_UINT32 ); // Size:32
|
||||
Object::updatefields[ PLAYER_FIELD_PACK_SLOT_LAST ] = UpdateField( mv[TYPEID_UNIT] + 0x0176 , UF_UINT32 );
|
||||
Object::updatefields[ PLAYER_FIELD_BANK_SLOT_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x0178 , UF_UINT32 ); // Size:48
|
||||
Object::updatefields[ PLAYER_FIELD_BANK_SLOT_LAST ] = UpdateField( mv[TYPEID_UNIT] + 0x01A6 , UF_UINT32 );
|
||||
Object::updatefields[ PLAYER_FIELD_BANKBAG_SLOT_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x01A8 , UF_UINT32 ); // Size:12
|
||||
Object::updatefields[ PLAYER_FIELD_BANKBAG_SLOT_LAST ] = UpdateField( mv[TYPEID_UNIT] + 0x0AB2 , UF_UINT32 );
|
||||
Object::updatefields[ PLAYER_FIELD_VENDORBUYBACK_SLOT_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x01B4 , UF_UINT32 ); // Size:24
|
||||
Object::updatefields[ PLAYER_FIELD_VENDORBUYBACK_SLOT_LAST ] = UpdateField( mv[TYPEID_UNIT] + 0x01CA , UF_UINT32 );
|
||||
Object::updatefields[ PLAYER_FIELD_KEYRING_SLOT_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x01CC , UF_UINT32 ); // Size:64
|
||||
Object::updatefields[ PLAYER_FIELD_KEYRING_SLOT_LAST ] = UpdateField( mv[TYPEID_UNIT] + 0x020A , UF_UINT32 );
|
||||
Object::updatefields[ PLAYER_FARSIGHT ] = UpdateField( mv[TYPEID_UNIT] + 0x020C , UF_UINT64 ); // Size:2
|
||||
Object::updatefields[ PLAYER_FIELD_COMBO_TARGET ] = UpdateField( mv[TYPEID_UNIT] + 0x020E , UF_UINT64 ); // Size:2
|
||||
Object::updatefields[ PLAYER_XP ] = UpdateField( mv[TYPEID_UNIT] + 0x0210 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_NEXT_LEVEL_XP ] = UpdateField( mv[TYPEID_UNIT] + 0x0211 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_SKILL_INFO_1_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x0212 , UF_UINT32 ); // Size:384
|
||||
Object::updatefields[ PLAYER_CHARACTER_POINTS1 ] = UpdateField( mv[TYPEID_UNIT] + 0x0392 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_CHARACTER_POINTS2 ] = UpdateField( mv[TYPEID_UNIT] + 0x0393 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_TRACK_CREATURES ] = UpdateField( mv[TYPEID_UNIT] + 0x0394 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_TRACK_RESOURCES ] = UpdateField( mv[TYPEID_UNIT] + 0x0395 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_BLOCK_PERCENTAGE ] = UpdateField( mv[TYPEID_UNIT] + 0x0396 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_DODGE_PERCENTAGE ] = UpdateField( mv[TYPEID_UNIT] + 0x0397 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_PARRY_PERCENTAGE ] = UpdateField( mv[TYPEID_UNIT] + 0x0398 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_CRIT_PERCENTAGE ] = UpdateField( mv[TYPEID_UNIT] + 0x0399 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_RANGED_CRIT_PERCENTAGE ] = UpdateField( mv[TYPEID_UNIT] + 0x039A , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_EXPLORED_ZONES_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x039B , UF_UINT32 ); // Size:64
|
||||
Object::updatefields[ PLAYER_REST_STATE_EXPERIENCE ] = UpdateField( mv[TYPEID_UNIT] + 0x03DB , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_FIELD_COINAGE ] = UpdateField( mv[TYPEID_UNIT] + 0x03DC , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_FIELD_POSSTAT0 ] = UpdateField( mv[TYPEID_UNIT] + 0x03DD , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_FIELD_POSSTAT1 ] = UpdateField( mv[TYPEID_UNIT] + 0x03DE , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_FIELD_POSSTAT2 ] = UpdateField( mv[TYPEID_UNIT] + 0x03DF , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_FIELD_POSSTAT3 ] = UpdateField( mv[TYPEID_UNIT] + 0x03E0 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_FIELD_POSSTAT4 ] = UpdateField( mv[TYPEID_UNIT] + 0x03E1 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_FIELD_NEGSTAT0 ] = UpdateField( mv[TYPEID_UNIT] + 0x03E2 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_FIELD_NEGSTAT1 ] = UpdateField( mv[TYPEID_UNIT] + 0x03E3 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_FIELD_NEGSTAT2 ] = UpdateField( mv[TYPEID_UNIT] + 0x03E4 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_FIELD_NEGSTAT3 ] = UpdateField( mv[TYPEID_UNIT] + 0x03E5 , UF_UINT32 ); // Size:1,
|
||||
Object::updatefields[ PLAYER_FIELD_NEGSTAT4 ] = UpdateField( mv[TYPEID_UNIT] + 0x03E6 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_FIELD_RESISTANCEBUFFMODSPOSITIVE ] = UpdateField( mv[TYPEID_UNIT] + 0x03E7 , UF_UINT32 ); // Size:7
|
||||
Object::updatefields[ PLAYER_FIELD_RESISTANCEBUFFMODSNEGATIVE ] = UpdateField( mv[TYPEID_UNIT] + 0x03EE , UF_UINT32 ); // Size:7
|
||||
Object::updatefields[ PLAYER_FIELD_MOD_DAMAGE_DONE_POS ] = UpdateField( mv[TYPEID_UNIT] + 0x03F5 , UF_UINT32 ); // Size:7
|
||||
Object::updatefields[ PLAYER_FIELD_MOD_DAMAGE_DONE_NEG ] = UpdateField( mv[TYPEID_UNIT] + 0x03FC , UF_UINT32 ); // Size:7
|
||||
Object::updatefields[ PLAYER_FIELD_MOD_DAMAGE_DONE_PCT ] = UpdateField( mv[TYPEID_UNIT] + 0x0403 , UF_UINT32 ); // Size:7
|
||||
Object::updatefields[ PLAYER_FIELD_BYTES ] = UpdateField( mv[TYPEID_UNIT] + 0x040A , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_AMMO_ID ] = UpdateField( mv[TYPEID_UNIT] + 0x040B , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_SELF_RES_SPELL ] = UpdateField( mv[TYPEID_UNIT] + 0x040C , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_FIELD_PVP_MEDALS ] = UpdateField( mv[TYPEID_UNIT] + 0x040D , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_FIELD_BUYBACK_PRICE_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x040E , UF_UINT32 ); // Count=12
|
||||
Object::updatefields[ PLAYER_FIELD_BUYBACK_PRICE_LAST ] = UpdateField( mv[TYPEID_UNIT] + 0x0419 , UF_UINT32 );
|
||||
Object::updatefields[ PLAYER_FIELD_BUYBACK_TIMESTAMP_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x041A , UF_UINT32 ); // Count=12
|
||||
Object::updatefields[ PLAYER_FIELD_BUYBACK_TIMESTAMP_LAST ] = UpdateField( mv[TYPEID_UNIT] + 0x0425 , UF_UINT32 );
|
||||
Object::updatefields[ PLAYER_FIELD_SESSION_KILLS ] = UpdateField( mv[TYPEID_UNIT] + 0x0426 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_FIELD_YESTERDAY_KILLS ] = UpdateField( mv[TYPEID_UNIT] + 0x0427 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_FIELD_LAST_WEEK_KILLS ] = UpdateField( mv[TYPEID_UNIT] + 0x0428 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_FIELD_THIS_WEEK_KILLS ] = UpdateField( mv[TYPEID_UNIT] + 0x0429 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_FIELD_THIS_WEEK_CONTRIBUTION ] = UpdateField( mv[TYPEID_UNIT] + 0x042A , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_FIELD_LIFETIME_HONORABLE_KILLS ] = UpdateField( mv[TYPEID_UNIT] + 0x042B , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_FIELD_LIFETIME_DISHONORABLE_KILLS ] = UpdateField( mv[TYPEID_UNIT] + 0x042C , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_FIELD_YESTERDAY_CONTRIBUTION ] = UpdateField( mv[TYPEID_UNIT] + 0x042D , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_FIELD_LAST_WEEK_CONTRIBUTION ] = UpdateField( mv[TYPEID_UNIT] + 0x042E , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_FIELD_LAST_WEEK_RANK ] = UpdateField( mv[TYPEID_UNIT] + 0x042F , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_FIELD_BYTES2 ] = UpdateField( mv[TYPEID_UNIT] + 0x0430 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_FIELD_WATCHED_FACTION_INDEX ] = UpdateField( mv[TYPEID_UNIT] + 0x0431 , UF_UINT32 ); // Size:1
|
||||
Object::updatefields[ PLAYER_FIELD_COMBAT_RATING_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x0432 , UF_UINT32 ); // Size:20
|
||||
|
||||
Object::updatefields[ OBJECT_FIELD_CREATED_BY ] = UpdateField( mv[TYPEID_OBJECT] + 0x0000 , UF_UINT64 );
|
||||
Object::updatefields[ GAMEOBJECT_DISPLAYID ] = UpdateField( mv[TYPEID_OBJECT] + 0x0002 , UF_UINT32 );
|
||||
Object::updatefields[ GAMEOBJECT_FLAGS ] = UpdateField( mv[TYPEID_OBJECT] + 0x0003 , UF_UINT32 );
|
||||
Object::updatefields[ GAMEOBJECT_ROTATION ] = UpdateField( mv[TYPEID_OBJECT] + 0x0004 , UF_UINT32 );
|
||||
Object::updatefields[ GAMEOBJECT_STATE ] = UpdateField( mv[TYPEID_OBJECT] + 0x0008 , UF_UINT32 );
|
||||
Object::updatefields[ GAMEOBJECT_POS_X ] = UpdateField( mv[TYPEID_OBJECT] + 0x0009 , UF_FLOAT );
|
||||
Object::updatefields[ GAMEOBJECT_POS_Y ] = UpdateField( mv[TYPEID_OBJECT] + 0x000A , UF_FLOAT );
|
||||
Object::updatefields[ GAMEOBJECT_POS_Z ] = UpdateField( mv[TYPEID_OBJECT] + 0x000B , UF_FLOAT );
|
||||
Object::updatefields[ GAMEOBJECT_FACING ] = UpdateField( mv[TYPEID_OBJECT] + 0x000C , UF_UINT32 );
|
||||
Object::updatefields[ GAMEOBJECT_DYN_FLAGS ] = UpdateField( mv[TYPEID_OBJECT] + 0x000D , UF_UINT32 );
|
||||
Object::updatefields[ GAMEOBJECT_FACTION ] = UpdateField( mv[TYPEID_OBJECT] + 0x000E , UF_UINT32 );
|
||||
Object::updatefields[ GAMEOBJECT_TYPE_ID ] = UpdateField( mv[TYPEID_OBJECT] + 0x000F , UF_UINT32 );
|
||||
Object::updatefields[ GAMEOBJECT_LEVEL ] = UpdateField( mv[TYPEID_OBJECT] + 0x0010 , UF_UINT32 );
|
||||
Object::updatefields[ GAMEOBJECT_ARTKIT ] = UpdateField( mv[TYPEID_OBJECT] + 0x0011 , UF_UINT32 );
|
||||
Object::updatefields[ GAMEOBJECT_ANIMPROGRESS ] = UpdateField( mv[TYPEID_OBJECT] + 0x0012 , UF_UINT32 );
|
||||
Object::updatefields[ GAMEOBJECT_PADDING ] = UpdateField( mv[TYPEID_OBJECT] + 0x0013 , UF_UINT32 );
|
||||
|
||||
Object::updatefields[ DYNAMICOBJECT_CASTER ] = UpdateField( mv[TYPEID_OBJECT] + 0x0000 , UF_UINT64 );
|
||||
Object::updatefields[ DYNAMICOBJECT_BYTES ] = UpdateField( mv[TYPEID_OBJECT] + 0x0002 , UF_UINT32 );
|
||||
Object::updatefields[ DYNAMICOBJECT_SPELLID ] = UpdateField( mv[TYPEID_OBJECT] + 0x0003 , UF_UINT32 );
|
||||
Object::updatefields[ DYNAMICOBJECT_RADIUS ] = UpdateField( mv[TYPEID_OBJECT] + 0x0004 , UF_UINT32 );
|
||||
Object::updatefields[ DYNAMICOBJECT_POS_X ] = UpdateField( mv[TYPEID_OBJECT] + 0x0005 , UF_UINT32 );
|
||||
Object::updatefields[ DYNAMICOBJECT_POS_Y ] = UpdateField( mv[TYPEID_OBJECT] + 0x0006 , UF_UINT32 );
|
||||
Object::updatefields[ DYNAMICOBJECT_POS_Z ] = UpdateField( mv[TYPEID_OBJECT] + 0x0007 , UF_UINT32 );
|
||||
Object::updatefields[ DYNAMICOBJECT_FACING ] = UpdateField( mv[TYPEID_OBJECT] + 0x0008 , UF_UINT32 );
|
||||
Object::updatefields[ DYNAMICOBJECT_PAD ] = UpdateField( mv[TYPEID_OBJECT] + 0x0009 , UF_UINT32 );
|
||||
|
||||
Object::updatefields[ CORPSE_FIELD_OWNER ] = UpdateField( mv[TYPEID_OBJECT] + 0x0000 , UF_UINT64 );
|
||||
Object::updatefields[ CORPSE_FIELD_FACING ] = UpdateField( mv[TYPEID_OBJECT] + 0x0002 , UF_UINT32 );
|
||||
Object::updatefields[ CORPSE_FIELD_POS_X ] = UpdateField( mv[TYPEID_OBJECT] + 0x0003 , UF_UINT32 );
|
||||
Object::updatefields[ CORPSE_FIELD_POS_Y ] = UpdateField( mv[TYPEID_OBJECT] + 0x0004 , UF_UINT32 );
|
||||
Object::updatefields[ CORPSE_FIELD_POS_Z ] = UpdateField( mv[TYPEID_OBJECT] + 0x0005 , UF_UINT32 );
|
||||
Object::updatefields[ CORPSE_FIELD_DISPLAY_ID ] = UpdateField( mv[TYPEID_OBJECT] + 0x0006 , UF_UINT32 );
|
||||
Object::updatefields[ CORPSE_FIELD_ITEM ] = UpdateField( mv[TYPEID_OBJECT] + 0x0007 , UF_UINT32 ); // 19
|
||||
Object::updatefields[ CORPSE_FIELD_BYTES_1 ] = UpdateField( mv[TYPEID_OBJECT] + 0x001A , UF_UINT32 );
|
||||
Object::updatefields[ CORPSE_FIELD_BYTES_2 ] = UpdateField( mv[TYPEID_OBJECT] + 0x001B , UF_UINT32 );
|
||||
Object::updatefields[ CORPSE_FIELD_GUILD ] = UpdateField( mv[TYPEID_OBJECT] + 0x001C , UF_UINT32 );
|
||||
Object::updatefields[ CORPSE_FIELD_FLAGS ] = UpdateField( mv[TYPEID_OBJECT] + 0x001D , UF_UINT32 );
|
||||
Object::updatefields[ CORPSE_FIELD_DYNAMIC_FLAGS ] = UpdateField( mv[TYPEID_OBJECT] + 0x001E , UF_UINT32 );
|
||||
Object::updatefields[ CORPSE_FIELD_PAD ] = UpdateField( mv[TYPEID_OBJECT] + 0x001F , UF_UINT32 );
|
||||
|
||||
break;
|
||||
}
|
||||
case CLIENT_TBC: //2.4.3
|
||||
{
|
||||
break; //TODO: ADD DATA
|
||||
}
|
||||
case CLIENT_WOTLK://3.3.5
|
||||
{
|
||||
uint32 mv[]={
|
||||
OBJECT_END,
|
||||
ITEM_END,
|
||||
CONTAINER_END,
|
||||
UNIT_END,
|
||||
PLAYER_END,
|
||||
GAMEOBJECT_END,
|
||||
DYNAMICOBJECT_END,
|
||||
CORPSE_END
|
||||
};
|
||||
memcpy(Object::maxvalues,mv,sizeof(mv));
|
||||
|
||||
Object::updatefields[ OBJECT_FIELD_GUID ] = UpdateField( 0x0000 , UF_UINT64);
|
||||
Object::updatefields[ OBJECT_FIELD_GUID_LOW ] = UpdateField( 0x0000 , UF_UINT32);
|
||||
Object::updatefields[ OBJECT_FIELD_GUID_HIGH ] = UpdateField( 0x0001 , UF_UINT32);
|
||||
Object::updatefields[ OBJECT_FIELD_TYPE ] = UpdateField( 0x0002 , UF_UINT32);
|
||||
Object::updatefields[ OBJECT_FIELD_ENTRY ] = UpdateField( 0x0003 , UF_UINT32);
|
||||
Object::updatefields[ OBJECT_FIELD_SCALE_X ] = UpdateField( 0x0004 , UF_FLOAT);
|
||||
Object::updatefields[ OBJECT_FIELD_PADDING ] = UpdateField( 0x0005 , UF_UINT32);
|
||||
|
||||
Object::updatefields[ ITEM_FIELD_OWNER ] = UpdateField( mv[TYPEID_OBJECT] + 0x0000 , UF_UINT64);
|
||||
Object::updatefields[ ITEM_FIELD_CONTAINED ] = UpdateField( mv[TYPEID_OBJECT] + 0x0002 , UF_UINT64);
|
||||
Object::updatefields[ ITEM_FIELD_CREATOR ] = UpdateField( mv[TYPEID_OBJECT] + 0x0004 , UF_UINT64);
|
||||
Object::updatefields[ ITEM_FIELD_GIFTCREATOR ] = UpdateField( mv[TYPEID_OBJECT] + 0x0006 , UF_UINT64);
|
||||
Object::updatefields[ ITEM_FIELD_STACK_COUNT ] = UpdateField( mv[TYPEID_OBJECT] + 0x0008 , UF_UINT32);
|
||||
Object::updatefields[ ITEM_FIELD_DURATION ] = UpdateField( mv[TYPEID_OBJECT] + 0x0009 , UF_UINT32);
|
||||
Object::updatefields[ ITEM_FIELD_SPELL_CHARGES ] = UpdateField( mv[TYPEID_OBJECT] + 0x000A , UF_UINT32);
|
||||
Object::updatefields[ ITEM_FIELD_FLAGS ] = UpdateField( mv[TYPEID_OBJECT] + 0x000F , UF_UINT32);
|
||||
Object::updatefields[ ITEM_FIELD_ENCHANTMENT_1_1 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0010 , UF_UINT32);
|
||||
Object::updatefields[ ITEM_FIELD_ENCHANTMENT_1_3 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0012 , UF_UINT32);
|
||||
Object::updatefields[ ITEM_FIELD_ENCHANTMENT_2_1 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0013 , UF_UINT32);
|
||||
Object::updatefields[ ITEM_FIELD_ENCHANTMENT_2_3 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0015 , UF_UINT32);
|
||||
Object::updatefields[ ITEM_FIELD_ENCHANTMENT_3_1 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0016 , UF_UINT32);
|
||||
Object::updatefields[ ITEM_FIELD_ENCHANTMENT_3_3 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0018 , UF_UINT32);
|
||||
Object::updatefields[ ITEM_FIELD_ENCHANTMENT_4_1 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0019 , UF_UINT32);
|
||||
Object::updatefields[ ITEM_FIELD_ENCHANTMENT_4_3 ] = UpdateField( mv[TYPEID_OBJECT] + 0x001B , UF_UINT32);
|
||||
Object::updatefields[ ITEM_FIELD_ENCHANTMENT_5_1 ] = UpdateField( mv[TYPEID_OBJECT] + 0x001C , UF_UINT32);
|
||||
Object::updatefields[ ITEM_FIELD_ENCHANTMENT_5_3 ] = UpdateField( mv[TYPEID_OBJECT] + 0x001E , UF_UINT32);
|
||||
Object::updatefields[ ITEM_FIELD_ENCHANTMENT_6_1 ] = UpdateField( mv[TYPEID_OBJECT] + 0x001F , UF_UINT32);
|
||||
Object::updatefields[ ITEM_FIELD_ENCHANTMENT_6_3 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0021 , UF_UINT32);
|
||||
Object::updatefields[ ITEM_FIELD_ENCHANTMENT_7_1 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0022 , UF_UINT32);
|
||||
Object::updatefields[ ITEM_FIELD_ENCHANTMENT_7_3 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0024 , UF_UINT32);
|
||||
Object::updatefields[ ITEM_FIELD_ENCHANTMENT_8_1 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0025 , UF_UINT32);
|
||||
Object::updatefields[ ITEM_FIELD_ENCHANTMENT_8_3 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0027 , UF_UINT32);
|
||||
Object::updatefields[ ITEM_FIELD_ENCHANTMENT_9_1 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0028 , UF_UINT32);
|
||||
Object::updatefields[ ITEM_FIELD_ENCHANTMENT_9_3 ] = UpdateField( mv[TYPEID_OBJECT] + 0x002A , UF_UINT32);
|
||||
Object::updatefields[ ITEM_FIELD_ENCHANTMENT_10_1 ] = UpdateField( mv[TYPEID_OBJECT] + 0x002B , UF_UINT32);
|
||||
Object::updatefields[ ITEM_FIELD_ENCHANTMENT_10_3 ] = UpdateField( mv[TYPEID_OBJECT] + 0x002D , UF_UINT32);
|
||||
Object::updatefields[ ITEM_FIELD_ENCHANTMENT_11_1 ] = UpdateField( mv[TYPEID_OBJECT] + 0x002E , UF_UINT32);
|
||||
Object::updatefields[ ITEM_FIELD_ENCHANTMENT_11_3 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0030 , UF_UINT32);
|
||||
Object::updatefields[ ITEM_FIELD_ENCHANTMENT_12_1 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0031 , UF_UINT32);
|
||||
Object::updatefields[ ITEM_FIELD_ENCHANTMENT_12_3 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0033 , UF_UINT32);
|
||||
Object::updatefields[ ITEM_FIELD_PROPERTY_SEED ] = UpdateField( mv[TYPEID_OBJECT] + 0x0034 , UF_UINT32);
|
||||
Object::updatefields[ ITEM_FIELD_RANDOM_PROPERTIES_ID ] = UpdateField( mv[TYPEID_OBJECT] + 0x0035 , UF_UINT32);
|
||||
Object::updatefields[ ITEM_FIELD_DURABILITY ] = UpdateField( mv[TYPEID_OBJECT] + 0x0036 , UF_UINT32);
|
||||
Object::updatefields[ ITEM_FIELD_MAXDURABILITY ] = UpdateField( mv[TYPEID_OBJECT] + 0x0037 , UF_UINT32);
|
||||
Object::updatefields[ ITEM_FIELD_CREATE_PLAYED_TIME ] = UpdateField( mv[TYPEID_OBJECT] + 0x0038 , UF_UINT32);
|
||||
Object::updatefields[ ITEM_FIELD_PAD ] = UpdateField( mv[TYPEID_OBJECT] + 0x0039 , UF_UINT32);
|
||||
|
||||
Object::updatefields[ CONTAINER_FIELD_NUM_SLOTS ] = UpdateField( mv[TYPEID_ITEM] + 0x0000 , UF_UINT32);
|
||||
Object::updatefields[ CONTAINER_ALIGN_PAD ] = UpdateField( mv[TYPEID_ITEM] + 0x0001 , UF_UINT32);
|
||||
Object::updatefields[ CONTAINER_FIELD_SLOT_1 ] = UpdateField( mv[TYPEID_ITEM] + 0x0002 , UF_UINT64);
|
||||
|
||||
Object::updatefields[ UNIT_FIELD_CHARM ] = UpdateField( mv[TYPEID_OBJECT] + 0x0000 , UF_UINT64);
|
||||
Object::updatefields[ UNIT_FIELD_SUMMON ] = UpdateField( mv[TYPEID_OBJECT] + 0x0002 , UF_UINT64);
|
||||
Object::updatefields[ UNIT_FIELD_CRITTER ] = UpdateField( mv[TYPEID_OBJECT] + 0x0004 , UF_UINT64);
|
||||
Object::updatefields[ UNIT_FIELD_CHARMEDBY ] = UpdateField( mv[TYPEID_OBJECT] + 0x0006 , UF_UINT64);
|
||||
Object::updatefields[ UNIT_FIELD_SUMMONEDBY ] = UpdateField( mv[TYPEID_OBJECT] + 0x0008 , UF_UINT64);
|
||||
Object::updatefields[ UNIT_FIELD_CREATEDBY ] = UpdateField( mv[TYPEID_OBJECT] + 0x000A , UF_UINT64);
|
||||
Object::updatefields[ UNIT_FIELD_TARGET ] = UpdateField( mv[TYPEID_OBJECT] + 0x000C , UF_UINT64);
|
||||
Object::updatefields[ UNIT_FIELD_CHANNEL_OBJECT ] = UpdateField( mv[TYPEID_OBJECT] + 0x000E , UF_UINT64);
|
||||
Object::updatefields[ UNIT_CHANNEL_SPELL ] = UpdateField( mv[TYPEID_OBJECT] + 0x0010 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_BYTES_0 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0011 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_HEALTH ] = UpdateField( mv[TYPEID_OBJECT] + 0x0012 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_POWER1 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0013 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_POWER2 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0014 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_POWER3 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0015 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_POWER4 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0016 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_POWER5 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0017 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_POWER6 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0018 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_POWER7 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0019 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_MAXHEALTH ] = UpdateField( mv[TYPEID_OBJECT] + 0x001A , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_MAXPOWER1 ] = UpdateField( mv[TYPEID_OBJECT] + 0x001B , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_MAXPOWER2 ] = UpdateField( mv[TYPEID_OBJECT] + 0x001C , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_MAXPOWER3 ] = UpdateField( mv[TYPEID_OBJECT] + 0x001D , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_MAXPOWER4 ] = UpdateField( mv[TYPEID_OBJECT] + 0x001E , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_MAXPOWER5 ] = UpdateField( mv[TYPEID_OBJECT] + 0x001F , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_MAXPOWER6 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0020 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_MAXPOWER7 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0021 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER ] = UpdateField( mv[TYPEID_OBJECT] + 0x0022 , UF_FLOAT);
|
||||
Object::updatefields[ UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER] = UpdateField( mv[TYPEID_OBJECT] + 0x0029 , UF_FLOAT);
|
||||
Object::updatefields[ UNIT_FIELD_LEVEL ] = UpdateField( mv[TYPEID_OBJECT] + 0x0030 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_FACTIONTEMPLATE ] = UpdateField( mv[TYPEID_OBJECT] + 0x0031 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_VIRTUAL_ITEM_SLOT_ID ] = UpdateField( mv[TYPEID_OBJECT] + 0x0032 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_FLAGS ] = UpdateField( mv[TYPEID_OBJECT] + 0x0035 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_FLAGS_2 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0036 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_AURASTATE ] = UpdateField( mv[TYPEID_OBJECT] + 0x0037 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_BASEATTACKTIME ] = UpdateField( mv[TYPEID_OBJECT] + 0x0038 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_RANGEDATTACKTIME ] = UpdateField( mv[TYPEID_OBJECT] + 0x003A , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_BOUNDINGRADIUS ] = UpdateField( mv[TYPEID_OBJECT] + 0x003B , UF_FLOAT);
|
||||
Object::updatefields[ UNIT_FIELD_COMBATREACH ] = UpdateField( mv[TYPEID_OBJECT] + 0x003C , UF_FLOAT);
|
||||
Object::updatefields[ UNIT_FIELD_DISPLAYID ] = UpdateField( mv[TYPEID_OBJECT] + 0x003D , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_NATIVEDISPLAYID ] = UpdateField( mv[TYPEID_OBJECT] + 0x003E , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_MOUNTDISPLAYID ] = UpdateField( mv[TYPEID_OBJECT] + 0x003F , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_MINDAMAGE ] = UpdateField( mv[TYPEID_OBJECT] + 0x0040 , UF_FLOAT);
|
||||
Object::updatefields[ UNIT_FIELD_MAXDAMAGE ] = UpdateField( mv[TYPEID_OBJECT] + 0x0041 , UF_FLOAT);
|
||||
Object::updatefields[ UNIT_FIELD_MINOFFHANDDAMAGE ] = UpdateField( mv[TYPEID_OBJECT] + 0x0042 , UF_FLOAT);
|
||||
Object::updatefields[ UNIT_FIELD_MAXOFFHANDDAMAGE ] = UpdateField( mv[TYPEID_OBJECT] + 0x0043 , UF_FLOAT);
|
||||
Object::updatefields[ UNIT_FIELD_BYTES_1 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0044 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_PETNUMBER ] = UpdateField( mv[TYPEID_OBJECT] + 0x0045 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_PET_NAME_TIMESTAMP ] = UpdateField( mv[TYPEID_OBJECT] + 0x0046 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_PETEXPERIENCE ] = UpdateField( mv[TYPEID_OBJECT] + 0x0047 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_PETNEXTLEVELEXP ] = UpdateField( mv[TYPEID_OBJECT] + 0x0048 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_DYNAMIC_FLAGS ] = UpdateField( mv[TYPEID_OBJECT] + 0x0049 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_MOD_CAST_SPEED ] = UpdateField( mv[TYPEID_OBJECT] + 0x004A , UF_FLOAT);
|
||||
Object::updatefields[ UNIT_CREATED_BY_SPELL ] = UpdateField( mv[TYPEID_OBJECT] + 0x004B , UF_UINT32);
|
||||
Object::updatefields[ UNIT_NPC_FLAGS ] = UpdateField( mv[TYPEID_OBJECT] + 0x004C , UF_UINT32);
|
||||
Object::updatefields[ UNIT_NPC_EMOTESTATE ] = UpdateField( mv[TYPEID_OBJECT] + 0x004D , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_STAT0 ] = UpdateField( mv[TYPEID_OBJECT] + 0x004E , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_STAT1 ] = UpdateField( mv[TYPEID_OBJECT] + 0x004F , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_STAT2 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0050 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_STAT3 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0051 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_STAT4 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0052 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_POSSTAT0 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0053 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_POSSTAT1 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0054 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_POSSTAT2 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0055 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_POSSTAT3 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0056 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_POSSTAT4 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0057 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_NEGSTAT0 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0058 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_NEGSTAT1 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0059 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_NEGSTAT2 ] = UpdateField( mv[TYPEID_OBJECT] + 0x005A , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_NEGSTAT3 ] = UpdateField( mv[TYPEID_OBJECT] + 0x005B , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_NEGSTAT4 ] = UpdateField( mv[TYPEID_OBJECT] + 0x005C , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_RESISTANCES ] = UpdateField( mv[TYPEID_OBJECT] + 0x005D , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE ] = UpdateField( mv[TYPEID_OBJECT] + 0x0064 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE ] = UpdateField( mv[TYPEID_OBJECT] + 0x006B , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_BASE_MANA ] = UpdateField( mv[TYPEID_OBJECT] + 0x0072 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_BASE_HEALTH ] = UpdateField( mv[TYPEID_OBJECT] + 0x0073 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_BYTES_2 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0074 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_ATTACK_POWER ] = UpdateField( mv[TYPEID_OBJECT] + 0x0075 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_ATTACK_POWER_MODS ] = UpdateField( mv[TYPEID_OBJECT] + 0x0076 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_ATTACK_POWER_MULTIPLIER ] = UpdateField( mv[TYPEID_OBJECT] + 0x0077 , UF_FLOAT);
|
||||
Object::updatefields[ UNIT_FIELD_RANGED_ATTACK_POWER ] = UpdateField( mv[TYPEID_OBJECT] + 0x0078 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_RANGED_ATTACK_POWER_MODS ] = UpdateField( mv[TYPEID_OBJECT] + 0x0079 , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_RANGED_ATTACK_POWER_MULTIPLIER] = UpdateField( mv[TYPEID_OBJECT] + 0x007A , UF_FLOAT);
|
||||
Object::updatefields[ UNIT_FIELD_MINRANGEDDAMAGE ] = UpdateField( mv[TYPEID_OBJECT] + 0x007B , UF_FLOAT);
|
||||
Object::updatefields[ UNIT_FIELD_MAXRANGEDDAMAGE ] = UpdateField( mv[TYPEID_OBJECT] + 0x007C , UF_FLOAT);
|
||||
Object::updatefields[ UNIT_FIELD_POWER_COST_MODIFIER ] = UpdateField( mv[TYPEID_OBJECT] + 0x007D , UF_UINT32);
|
||||
Object::updatefields[ UNIT_FIELD_POWER_COST_MULTIPLIER ] = UpdateField( mv[TYPEID_OBJECT] + 0x0084 , UF_FLOAT);
|
||||
Object::updatefields[ UNIT_FIELD_MAXHEALTHMODIFIER ] = UpdateField( mv[TYPEID_OBJECT] + 0x008B , UF_FLOAT);
|
||||
Object::updatefields[ UNIT_FIELD_HOVERHEIGHT ] = UpdateField( mv[TYPEID_OBJECT] + 0x008C , UF_FLOAT);
|
||||
Object::updatefields[ UNIT_FIELD_PADDING ] = UpdateField( mv[TYPEID_OBJECT] + 0x008D , UF_UINT32);
|
||||
|
||||
Object::updatefields[ PLAYER_DUEL_ARBITER ] = UpdateField( mv[TYPEID_UNIT] + 0x0000 , UF_UINT64);
|
||||
Object::updatefields[ PLAYER_FLAGS ] = UpdateField( mv[TYPEID_UNIT] + 0x0002 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_GUILDID ] = UpdateField( mv[TYPEID_UNIT] + 0x0003 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_GUILDRANK ] = UpdateField( mv[TYPEID_UNIT] + 0x0004 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_BYTES ] = UpdateField( mv[TYPEID_UNIT] + 0x0005 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_BYTES_2 ] = UpdateField( mv[TYPEID_UNIT] + 0x0006 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_BYTES_3 ] = UpdateField( mv[TYPEID_UNIT] + 0x0007 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_DUEL_TEAM ] = UpdateField( mv[TYPEID_UNIT] + 0x0008 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_GUILD_TIMESTAMP ] = UpdateField( mv[TYPEID_UNIT] + 0x0009 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_1_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x000A , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_1_2 ] = UpdateField( mv[TYPEID_UNIT] + 0x000B , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_1_3 ] = UpdateField( mv[TYPEID_UNIT] + 0x000C , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_1_4 ] = UpdateField( mv[TYPEID_UNIT] + 0x000E , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_2_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x000F , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_2_2 ] = UpdateField( mv[TYPEID_UNIT] + 0x0010 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_2_3 ] = UpdateField( mv[TYPEID_UNIT] + 0x0011 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_2_5 ] = UpdateField( mv[TYPEID_UNIT] + 0x0013 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_3_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x0014 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_3_2 ] = UpdateField( mv[TYPEID_UNIT] + 0x0015 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_3_3 ] = UpdateField( mv[TYPEID_UNIT] + 0x0016 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_3_5 ] = UpdateField( mv[TYPEID_UNIT] + 0x0018 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_4_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x0019 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_4_2 ] = UpdateField( mv[TYPEID_UNIT] + 0x001A , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_4_3 ] = UpdateField( mv[TYPEID_UNIT] + 0x001B , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_4_5 ] = UpdateField( mv[TYPEID_UNIT] + 0x001D , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_5_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x001E , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_5_2 ] = UpdateField( mv[TYPEID_UNIT] + 0x001F , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_5_3 ] = UpdateField( mv[TYPEID_UNIT] + 0x0020 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_5_5 ] = UpdateField( mv[TYPEID_UNIT] + 0x0022 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_6_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x0023 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_6_2 ] = UpdateField( mv[TYPEID_UNIT] + 0x0024 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_6_3 ] = UpdateField( mv[TYPEID_UNIT] + 0x0025 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_6_5 ] = UpdateField( mv[TYPEID_UNIT] + 0x0027 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_7_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x0028 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_7_2 ] = UpdateField( mv[TYPEID_UNIT] + 0x0029 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_7_3 ] = UpdateField( mv[TYPEID_UNIT] + 0x002A , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_7_5 ] = UpdateField( mv[TYPEID_UNIT] + 0x002C , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_8_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x002D , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_8_2 ] = UpdateField( mv[TYPEID_UNIT] + 0x002E , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_8_3 ] = UpdateField( mv[TYPEID_UNIT] + 0x002F , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_8_5 ] = UpdateField( mv[TYPEID_UNIT] + 0x0031 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_9_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x0032 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_9_2 ] = UpdateField( mv[TYPEID_UNIT] + 0x0033 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_9_3 ] = UpdateField( mv[TYPEID_UNIT] + 0x0034 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_9_5 ] = UpdateField( mv[TYPEID_UNIT] + 0x0036 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_10_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x0037 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_10_2 ] = UpdateField( mv[TYPEID_UNIT] + 0x0038 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_10_3 ] = UpdateField( mv[TYPEID_UNIT] + 0x0039 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_10_5 ] = UpdateField( mv[TYPEID_UNIT] + 0x003B , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_11_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x003C , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_11_2 ] = UpdateField( mv[TYPEID_UNIT] + 0x003D , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_11_3 ] = UpdateField( mv[TYPEID_UNIT] + 0x003E , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_11_5 ] = UpdateField( mv[TYPEID_UNIT] + 0x0040 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_12_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x0041 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_12_2 ] = UpdateField( mv[TYPEID_UNIT] + 0x0042 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_12_3 ] = UpdateField( mv[TYPEID_UNIT] + 0x0043 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_12_5 ] = UpdateField( mv[TYPEID_UNIT] + 0x0045 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_13_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x0046 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_13_2 ] = UpdateField( mv[TYPEID_UNIT] + 0x0047 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_13_3 ] = UpdateField( mv[TYPEID_UNIT] + 0x0048 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_13_5 ] = UpdateField( mv[TYPEID_UNIT] + 0x004A , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_14_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x004B , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_14_2 ] = UpdateField( mv[TYPEID_UNIT] + 0x004C , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_14_3 ] = UpdateField( mv[TYPEID_UNIT] + 0x004D , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_14_5 ] = UpdateField( mv[TYPEID_UNIT] + 0x004F , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_15_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x0050 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_15_2 ] = UpdateField( mv[TYPEID_UNIT] + 0x0051 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_15_3 ] = UpdateField( mv[TYPEID_UNIT] + 0x0052 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_15_5 ] = UpdateField( mv[TYPEID_UNIT] + 0x0054 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_16_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x0055 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_16_2 ] = UpdateField( mv[TYPEID_UNIT] + 0x0056 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_16_3 ] = UpdateField( mv[TYPEID_UNIT] + 0x0057 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_16_5 ] = UpdateField( mv[TYPEID_UNIT] + 0x0059 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_17_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x005A , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_17_2 ] = UpdateField( mv[TYPEID_UNIT] + 0x005B , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_17_3 ] = UpdateField( mv[TYPEID_UNIT] + 0x005C , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_17_5 ] = UpdateField( mv[TYPEID_UNIT] + 0x005E , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_18_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x005F , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_18_2 ] = UpdateField( mv[TYPEID_UNIT] + 0x0060 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_18_3 ] = UpdateField( mv[TYPEID_UNIT] + 0x0061 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_18_5 ] = UpdateField( mv[TYPEID_UNIT] + 0x0063 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_19_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x0064 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_19_2 ] = UpdateField( mv[TYPEID_UNIT] + 0x0065 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_19_3 ] = UpdateField( mv[TYPEID_UNIT] + 0x0066 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_19_5 ] = UpdateField( mv[TYPEID_UNIT] + 0x0068 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_20_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x0069 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_20_2 ] = UpdateField( mv[TYPEID_UNIT] + 0x006A , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_20_3 ] = UpdateField( mv[TYPEID_UNIT] + 0x006B , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_20_5 ] = UpdateField( mv[TYPEID_UNIT] + 0x006D , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_21_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x006E , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_21_2 ] = UpdateField( mv[TYPEID_UNIT] + 0x006F , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_21_3 ] = UpdateField( mv[TYPEID_UNIT] + 0x0070 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_21_5 ] = UpdateField( mv[TYPEID_UNIT] + 0x0072 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_22_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x0073 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_22_2 ] = UpdateField( mv[TYPEID_UNIT] + 0x0074 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_22_3 ] = UpdateField( mv[TYPEID_UNIT] + 0x0075 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_22_5 ] = UpdateField( mv[TYPEID_UNIT] + 0x0077 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_23_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x0078 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_23_2 ] = UpdateField( mv[TYPEID_UNIT] + 0x0079 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_23_3 ] = UpdateField( mv[TYPEID_UNIT] + 0x007A , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_23_5 ] = UpdateField( mv[TYPEID_UNIT] + 0x007C , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_24_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x007D , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_24_2 ] = UpdateField( mv[TYPEID_UNIT] + 0x007E , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_24_3 ] = UpdateField( mv[TYPEID_UNIT] + 0x007F , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_24_5 ] = UpdateField( mv[TYPEID_UNIT] + 0x0081 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_25_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x0082 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_25_2 ] = UpdateField( mv[TYPEID_UNIT] + 0x0083 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_25_3 ] = UpdateField( mv[TYPEID_UNIT] + 0x0084 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_QUEST_LOG_25_5 ] = UpdateField( mv[TYPEID_UNIT] + 0x0086 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_1_ENTRYID ] = UpdateField( mv[TYPEID_UNIT] + 0x0087 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_1_ENCHANTMENT ] = UpdateField( mv[TYPEID_UNIT] + 0x0088 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_2_ENTRYID ] = UpdateField( mv[TYPEID_UNIT] + 0x0089 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_2_ENCHANTMENT ] = UpdateField( mv[TYPEID_UNIT] + 0x008A , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_3_ENTRYID ] = UpdateField( mv[TYPEID_UNIT] + 0x008B , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_3_ENCHANTMENT ] = UpdateField( mv[TYPEID_UNIT] + 0x008C , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_4_ENTRYID ] = UpdateField( mv[TYPEID_UNIT] + 0x008D , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_4_ENCHANTMENT ] = UpdateField( mv[TYPEID_UNIT] + 0x008E , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_5_ENTRYID ] = UpdateField( mv[TYPEID_UNIT] + 0x008F , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_5_ENCHANTMENT ] = UpdateField( mv[TYPEID_UNIT] + 0x0090 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_6_ENTRYID ] = UpdateField( mv[TYPEID_UNIT] + 0x0091 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_6_ENCHANTMENT ] = UpdateField( mv[TYPEID_UNIT] + 0x0092 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_7_ENTRYID ] = UpdateField( mv[TYPEID_UNIT] + 0x0093 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_7_ENCHANTMENT ] = UpdateField( mv[TYPEID_UNIT] + 0x0094 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_8_ENTRYID ] = UpdateField( mv[TYPEID_UNIT] + 0x0095 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_8_ENCHANTMENT ] = UpdateField( mv[TYPEID_UNIT] + 0x0096 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_9_ENTRYID ] = UpdateField( mv[TYPEID_UNIT] + 0x0097 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_9_ENCHANTMENT ] = UpdateField( mv[TYPEID_UNIT] + 0x0098 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_10_ENTRYID ] = UpdateField( mv[TYPEID_UNIT] + 0x0099 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_10_ENCHANTMENT ] = UpdateField( mv[TYPEID_UNIT] + 0x009A , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_11_ENTRYID ] = UpdateField( mv[TYPEID_UNIT] + 0x009B , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_11_ENCHANTMENT ] = UpdateField( mv[TYPEID_UNIT] + 0x009C , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_12_ENTRYID ] = UpdateField( mv[TYPEID_UNIT] + 0x009D , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_12_ENCHANTMENT ] = UpdateField( mv[TYPEID_UNIT] + 0x009E , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_13_ENTRYID ] = UpdateField( mv[TYPEID_UNIT] + 0x009F , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_13_ENCHANTMENT ] = UpdateField( mv[TYPEID_UNIT] + 0x00A0 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_14_ENTRYID ] = UpdateField( mv[TYPEID_UNIT] + 0x00A1 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_14_ENCHANTMENT ] = UpdateField( mv[TYPEID_UNIT] + 0x00A2 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_15_ENTRYID ] = UpdateField( mv[TYPEID_UNIT] + 0x00A3 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_15_ENCHANTMENT ] = UpdateField( mv[TYPEID_UNIT] + 0x00A4 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_16_ENTRYID ] = UpdateField( mv[TYPEID_UNIT] + 0x00A5 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_16_ENCHANTMENT ] = UpdateField( mv[TYPEID_UNIT] + 0x00A6 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_17_ENTRYID ] = UpdateField( mv[TYPEID_UNIT] + 0x00A7 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_17_ENCHANTMENT ] = UpdateField( mv[TYPEID_UNIT] + 0x00A8 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_18_ENTRYID ] = UpdateField( mv[TYPEID_UNIT] + 0x00A9 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_18_ENCHANTMENT ] = UpdateField( mv[TYPEID_UNIT] + 0x00AA , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_19_ENTRYID ] = UpdateField( mv[TYPEID_UNIT] + 0x00AB , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_VISIBLE_ITEM_19_ENCHANTMENT ] = UpdateField( mv[TYPEID_UNIT] + 0x00AC , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_CHOSEN_TITLE ] = UpdateField( mv[TYPEID_UNIT] + 0x00AD , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_FAKE_INEBRIATION ] = UpdateField( mv[TYPEID_UNIT] + 0x00AE , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_FIELD_PAD_0 ] = UpdateField( mv[TYPEID_UNIT] + 0x00AF , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_FIELD_INV_SLOT_HEAD ] = UpdateField( mv[TYPEID_UNIT] + 0x00B0 , UF_UINT64);
|
||||
Object::updatefields[ PLAYER_FIELD_PACK_SLOT_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x00DE , UF_UINT64);
|
||||
Object::updatefields[ PLAYER_FIELD_BANK_SLOT_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x00FE , UF_UINT64);
|
||||
Object::updatefields[ PLAYER_FIELD_BANKBAG_SLOT_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x0136 , UF_UINT64);
|
||||
Object::updatefields[ PLAYER_FIELD_VENDORBUYBACK_SLOT_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x0144 , UF_UINT64);
|
||||
Object::updatefields[ PLAYER_FIELD_KEYRING_SLOT_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x015C , UF_UINT64);
|
||||
Object::updatefields[ PLAYER_FIELD_CURRENCYTOKEN_SLOT_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x019C , UF_UINT64);
|
||||
Object::updatefields[ PLAYER_FARSIGHT ] = UpdateField( mv[TYPEID_UNIT] + 0x01DC , UF_UINT64);
|
||||
Object::updatefields[ PLAYER__FIELD_KNOWN_TITLES ] = UpdateField( mv[TYPEID_UNIT] + 0x01DE , UF_UINT64);
|
||||
Object::updatefields[ PLAYER__FIELD_KNOWN_TITLES1 ] = UpdateField( mv[TYPEID_UNIT] + 0x01E0 , UF_UINT64);
|
||||
Object::updatefields[ PLAYER__FIELD_KNOWN_TITLES2 ] = UpdateField( mv[TYPEID_UNIT] + 0x01E2 , UF_UINT64);
|
||||
Object::updatefields[ PLAYER_FIELD_KNOWN_CURRENCIES ] = UpdateField( mv[TYPEID_UNIT] + 0x01E4 , UF_UINT64);
|
||||
Object::updatefields[ PLAYER_XP ] = UpdateField( mv[TYPEID_UNIT] + 0x01E6 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_NEXT_LEVEL_XP ] = UpdateField( mv[TYPEID_UNIT] + 0x01E7 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_SKILL_INFO_1_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x01E8 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_CHARACTER_POINTS1 ] = UpdateField( mv[TYPEID_UNIT] + 0x0368 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_CHARACTER_POINTS2 ] = UpdateField( mv[TYPEID_UNIT] + 0x0369 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_TRACK_CREATURES ] = UpdateField( mv[TYPEID_UNIT] + 0x036A , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_TRACK_RESOURCES ] = UpdateField( mv[TYPEID_UNIT] + 0x036B , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_BLOCK_PERCENTAGE ] = UpdateField( mv[TYPEID_UNIT] + 0x036C , UF_FLOAT);
|
||||
Object::updatefields[ PLAYER_DODGE_PERCENTAGE ] = UpdateField( mv[TYPEID_UNIT] + 0x036D , UF_FLOAT);
|
||||
Object::updatefields[ PLAYER_PARRY_PERCENTAGE ] = UpdateField( mv[TYPEID_UNIT] + 0x036E , UF_FLOAT);
|
||||
Object::updatefields[ PLAYER_EXPERTISE ] = UpdateField( mv[TYPEID_UNIT] + 0x036F , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_OFFHAND_EXPERTISE ] = UpdateField( mv[TYPEID_UNIT] + 0x0370 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_CRIT_PERCENTAGE ] = UpdateField( mv[TYPEID_UNIT] + 0x0371 , UF_FLOAT);
|
||||
Object::updatefields[ PLAYER_RANGED_CRIT_PERCENTAGE ] = UpdateField( mv[TYPEID_UNIT] + 0x0372 , UF_FLOAT);
|
||||
Object::updatefields[ PLAYER_OFFHAND_CRIT_PERCENTAGE ] = UpdateField( mv[TYPEID_UNIT] + 0x0373 , UF_FLOAT);
|
||||
Object::updatefields[ PLAYER_SPELL_CRIT_PERCENTAGE1 ] = UpdateField( mv[TYPEID_UNIT] + 0x0374 , UF_FLOAT);
|
||||
Object::updatefields[ PLAYER_SHIELD_BLOCK ] = UpdateField( mv[TYPEID_UNIT] + 0x037B , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_SHIELD_BLOCK_CRIT_PERCENTAGE ] = UpdateField( mv[TYPEID_UNIT] + 0x037C , UF_FLOAT);
|
||||
Object::updatefields[ PLAYER_EXPLORED_ZONES_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x037D , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_REST_STATE_EXPERIENCE ] = UpdateField( mv[TYPEID_UNIT] + 0x03FD , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_FIELD_COINAGE ] = UpdateField( mv[TYPEID_UNIT] + 0x03FE , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_FIELD_MOD_DAMAGE_DONE_POS ] = UpdateField( mv[TYPEID_UNIT] + 0x03FF , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_FIELD_MOD_DAMAGE_DONE_NEG ] = UpdateField( mv[TYPEID_UNIT] + 0x0406 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_FIELD_MOD_DAMAGE_DONE_PCT ] = UpdateField( mv[TYPEID_UNIT] + 0x040D , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_FIELD_MOD_HEALING_DONE_POS ] = UpdateField( mv[TYPEID_UNIT] + 0x0414 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_FIELD_MOD_HEALING_PCT ] = UpdateField( mv[TYPEID_UNIT] + 0x0415 , UF_FLOAT);
|
||||
Object::updatefields[ PLAYER_FIELD_MOD_HEALING_DONE_PCT ] = UpdateField( mv[TYPEID_UNIT] + 0x0416 , UF_FLOAT);
|
||||
Object::updatefields[ PLAYER_FIELD_MOD_TARGET_RESISTANCE ] = UpdateField( mv[TYPEID_UNIT] + 0x0417 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_FIELD_MOD_TARGET_PHYSICAL_RESISTANCE] = UpdateField(mv[TYPEID_UNIT] + 0x0418 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_FIELD_BYTES ] = UpdateField( mv[TYPEID_UNIT] + 0x0419 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_AMMO_ID ] = UpdateField( mv[TYPEID_UNIT] + 0x041A , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_SELF_RES_SPELL ] = UpdateField( mv[TYPEID_UNIT] + 0x041B , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_FIELD_PVP_MEDALS ] = UpdateField( mv[TYPEID_UNIT] + 0x041C , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_FIELD_BUYBACK_PRICE_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x041D , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_FIELD_BUYBACK_TIMESTAMP_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x0429 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_FIELD_KILLS ] = UpdateField( mv[TYPEID_UNIT] + 0x0435 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_FIELD_TODAY_CONTRIBUTION ] = UpdateField( mv[TYPEID_UNIT] + 0x0436 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_FIELD_YESTERDAY_CONTRIBUTION ] = UpdateField( mv[TYPEID_UNIT] + 0x0437 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_FIELD_LIFETIME_HONORBALE_KILLS ] = UpdateField( mv[TYPEID_UNIT] + 0x0438 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_FIELD_BYTES2 ] = UpdateField( mv[TYPEID_UNIT] + 0x0439 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_FIELD_WATCHED_FACTION_INDEX ] = UpdateField( mv[TYPEID_UNIT] + 0x043A , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_FIELD_COMBAT_RATING_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x043B , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_FIELD_ARENA_TEAM_INFO_1_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x0454 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_FIELD_HONOR_CURRENCY ] = UpdateField( mv[TYPEID_UNIT] + 0x0469 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_FIELD_ARENA_CURRENCY ] = UpdateField( mv[TYPEID_UNIT] + 0x046A , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_FIELD_MAX_LEVEL ] = UpdateField( mv[TYPEID_UNIT] + 0x046B , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_FIELD_DAILY_QUESTS_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x046C , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_RUNE_REGEN_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x0485 , UF_FLOAT);
|
||||
Object::updatefields[ PLAYER_NO_REAGENT_COST_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x0489 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_FIELD_GLYPH_SLOTS_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x048C , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_FIELD_GLYPHS_1 ] = UpdateField( mv[TYPEID_UNIT] + 0x0492 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_GLYPHS_ENABLED ] = UpdateField( mv[TYPEID_UNIT] + 0x0498 , UF_UINT32);
|
||||
Object::updatefields[ PLAYER_PET_SPELL_POWER ] = UpdateField( mv[TYPEID_UNIT] + 0x0499 , UF_UINT32);
|
||||
Object::updatefields[ OBJECT_FIELD_CREATED_BY ] = UpdateField( mv[TYPEID_OBJECT] + 0x0000 , UF_UINT64);
|
||||
Object::updatefields[ GAMEOBJECT_DISPLAYID ] = UpdateField( mv[TYPEID_OBJECT] + 0x0002 , UF_UINT32);
|
||||
Object::updatefields[ GAMEOBJECT_FLAGS ] = UpdateField( mv[TYPEID_OBJECT] + 0x0003 , UF_UINT32);
|
||||
Object::updatefields[ GAMEOBJECT_PARENTROTATION ] = UpdateField( mv[TYPEID_OBJECT] + 0x0004 , UF_FLOAT);
|
||||
Object::updatefields[ GAMEOBJECT_DYNAMIC ] = UpdateField( mv[TYPEID_OBJECT] + 0x0008 , UF_UINT32);
|
||||
Object::updatefields[ GAMEOBJECT_FACTION ] = UpdateField( mv[TYPEID_OBJECT] + 0x0009 , UF_UINT32);
|
||||
Object::updatefields[ GAMEOBJECT_LEVEL ] = UpdateField( mv[TYPEID_OBJECT] + 0x000A , UF_UINT32);
|
||||
Object::updatefields[ GAMEOBJECT_BYTES_1 ] = UpdateField( mv[TYPEID_OBJECT] + 0x000B , UF_UINT32);
|
||||
Object::updatefields[ DYNAMICOBJECT_CASTER ] = UpdateField( mv[TYPEID_OBJECT] + 0x0000 , UF_UINT64);
|
||||
Object::updatefields[ DYNAMICOBJECT_BYTES ] = UpdateField( mv[TYPEID_OBJECT] + 0x0002 , UF_UINT32);
|
||||
Object::updatefields[ DYNAMICOBJECT_SPELLID ] = UpdateField( mv[TYPEID_OBJECT] + 0x0003 , UF_UINT32);
|
||||
Object::updatefields[ DYNAMICOBJECT_RADIUS ] = UpdateField( mv[TYPEID_OBJECT] + 0x0004 , UF_FLOAT);
|
||||
Object::updatefields[ DYNAMICOBJECT_CASTTIME ] = UpdateField( mv[TYPEID_OBJECT] + 0x0005 , UF_UINT32);
|
||||
Object::updatefields[ CORPSE_FIELD_OWNER ] = UpdateField( mv[TYPEID_OBJECT] + 0x0000 , UF_UINT64);
|
||||
Object::updatefields[ CORPSE_FIELD_PARTY ] = UpdateField( mv[TYPEID_OBJECT] + 0x0002 , UF_UINT64);
|
||||
Object::updatefields[ CORPSE_FIELD_DISPLAY_ID ] = UpdateField( mv[TYPEID_OBJECT] + 0x0004 , UF_UINT32);
|
||||
Object::updatefields[ CORPSE_FIELD_ITEM ] = UpdateField( mv[TYPEID_OBJECT] + 0x0005 , UF_UINT32);
|
||||
Object::updatefields[ CORPSE_FIELD_BYTES_1 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0018 , UF_UINT32);
|
||||
Object::updatefields[ CORPSE_FIELD_BYTES_2 ] = UpdateField( mv[TYPEID_OBJECT] + 0x0019 , UF_UINT32);
|
||||
Object::updatefields[ CORPSE_FIELD_GUILD ] = UpdateField( mv[TYPEID_OBJECT] + 0x001A , UF_UINT32);
|
||||
Object::updatefields[ CORPSE_FIELD_FLAGS ] = UpdateField( mv[TYPEID_OBJECT] + 0x001B , UF_UINT32);
|
||||
Object::updatefields[ CORPSE_FIELD_DYNAMIC_FLAGS ] = UpdateField( mv[TYPEID_OBJECT] + 0x001C , UF_UINT32);
|
||||
Object::updatefields[ CORPSE_FIELD_PAD ] = UpdateField( mv[TYPEID_OBJECT] + 0x001D , UF_UINT32);
|
||||
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,439 +1,531 @@
|
||||
/*
|
||||
* Copyright (C) 2005-2010 MaNGOS <http://getmangos.com/>
|
||||
*
|
||||
* 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; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; 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 _UPDATEFIELDS_H
|
||||
#define _UPDATEFIELDS_H
|
||||
|
||||
#ifndef _UPDATEFIELDS_AUTO_H
|
||||
#define _UPDATEFIELDS_AUTO_H
|
||||
|
||||
// Auto generated for version 3, 3, 5, 12340
|
||||
|
||||
enum EObjectFields
|
||||
enum UpdateFieldTypes
|
||||
{
|
||||
OBJECT_FIELD_GUID = 0x0000, // Size: 2, Type: LONG, Flags: PUBLIC
|
||||
OBJECT_FIELD_TYPE = 0x0002, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
OBJECT_FIELD_ENTRY = 0x0003, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
OBJECT_FIELD_SCALE_X = 0x0004, // Size: 1, Type: FLOAT, Flags: PUBLIC
|
||||
OBJECT_FIELD_PADDING = 0x0005, // Size: 1, Type: INT, Flags: NONE
|
||||
OBJECT_END = 0x0006,
|
||||
UF_UNDEFINED = 0,
|
||||
UF_UINT32,
|
||||
UF_UINT64,
|
||||
UF_FLOAT
|
||||
};
|
||||
|
||||
enum EItemFields
|
||||
enum UpdateFieldLimits
|
||||
{
|
||||
ITEM_FIELD_OWNER = OBJECT_END + 0x0000, // Size: 2, Type: LONG, Flags: PUBLIC
|
||||
ITEM_FIELD_CONTAINED = OBJECT_END + 0x0002, // Size: 2, Type: LONG, Flags: PUBLIC
|
||||
ITEM_FIELD_CREATOR = OBJECT_END + 0x0004, // Size: 2, Type: LONG, Flags: PUBLIC
|
||||
ITEM_FIELD_GIFTCREATOR = OBJECT_END + 0x0006, // Size: 2, Type: LONG, Flags: PUBLIC
|
||||
ITEM_FIELD_STACK_COUNT = OBJECT_END + 0x0008, // Size: 1, Type: INT, Flags: OWNER, ITEM_OWNER
|
||||
ITEM_FIELD_DURATION = OBJECT_END + 0x0009, // Size: 1, Type: INT, Flags: OWNER, ITEM_OWNER
|
||||
ITEM_FIELD_SPELL_CHARGES = OBJECT_END + 0x000A, // Size: 5, Type: INT, Flags: OWNER, ITEM_OWNER
|
||||
ITEM_FIELD_FLAGS = OBJECT_END + 0x000F, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
ITEM_FIELD_ENCHANTMENT_1_1 = OBJECT_END + 0x0010, // Size: 2, Type: INT, Flags: PUBLIC
|
||||
ITEM_FIELD_ENCHANTMENT_1_3 = OBJECT_END + 0x0012, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC
|
||||
ITEM_FIELD_ENCHANTMENT_2_1 = OBJECT_END + 0x0013, // Size: 2, Type: INT, Flags: PUBLIC
|
||||
ITEM_FIELD_ENCHANTMENT_2_3 = OBJECT_END + 0x0015, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC
|
||||
ITEM_FIELD_ENCHANTMENT_3_1 = OBJECT_END + 0x0016, // Size: 2, Type: INT, Flags: PUBLIC
|
||||
ITEM_FIELD_ENCHANTMENT_3_3 = OBJECT_END + 0x0018, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC
|
||||
ITEM_FIELD_ENCHANTMENT_4_1 = OBJECT_END + 0x0019, // Size: 2, Type: INT, Flags: PUBLIC
|
||||
ITEM_FIELD_ENCHANTMENT_4_3 = OBJECT_END + 0x001B, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC
|
||||
ITEM_FIELD_ENCHANTMENT_5_1 = OBJECT_END + 0x001C, // Size: 2, Type: INT, Flags: PUBLIC
|
||||
ITEM_FIELD_ENCHANTMENT_5_3 = OBJECT_END + 0x001E, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC
|
||||
ITEM_FIELD_ENCHANTMENT_6_1 = OBJECT_END + 0x001F, // Size: 2, Type: INT, Flags: PUBLIC
|
||||
ITEM_FIELD_ENCHANTMENT_6_3 = OBJECT_END + 0x0021, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC
|
||||
ITEM_FIELD_ENCHANTMENT_7_1 = OBJECT_END + 0x0022, // Size: 2, Type: INT, Flags: PUBLIC
|
||||
ITEM_FIELD_ENCHANTMENT_7_3 = OBJECT_END + 0x0024, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC
|
||||
ITEM_FIELD_ENCHANTMENT_8_1 = OBJECT_END + 0x0025, // Size: 2, Type: INT, Flags: PUBLIC
|
||||
ITEM_FIELD_ENCHANTMENT_8_3 = OBJECT_END + 0x0027, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC
|
||||
ITEM_FIELD_ENCHANTMENT_9_1 = OBJECT_END + 0x0028, // Size: 2, Type: INT, Flags: PUBLIC
|
||||
ITEM_FIELD_ENCHANTMENT_9_3 = OBJECT_END + 0x002A, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC
|
||||
ITEM_FIELD_ENCHANTMENT_10_1 = OBJECT_END + 0x002B, // Size: 2, Type: INT, Flags: PUBLIC
|
||||
ITEM_FIELD_ENCHANTMENT_10_3 = OBJECT_END + 0x002D, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC
|
||||
ITEM_FIELD_ENCHANTMENT_11_1 = OBJECT_END + 0x002E, // Size: 2, Type: INT, Flags: PUBLIC
|
||||
ITEM_FIELD_ENCHANTMENT_11_3 = OBJECT_END + 0x0030, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC
|
||||
ITEM_FIELD_ENCHANTMENT_12_1 = OBJECT_END + 0x0031, // Size: 2, Type: INT, Flags: PUBLIC
|
||||
ITEM_FIELD_ENCHANTMENT_12_3 = OBJECT_END + 0x0033, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC
|
||||
ITEM_FIELD_PROPERTY_SEED = OBJECT_END + 0x0034, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
ITEM_FIELD_RANDOM_PROPERTIES_ID = OBJECT_END + 0x0035, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
ITEM_FIELD_DURABILITY = OBJECT_END + 0x0036, // Size: 1, Type: INT, Flags: OWNER, ITEM_OWNER
|
||||
ITEM_FIELD_MAXDURABILITY = OBJECT_END + 0x0037, // Size: 1, Type: INT, Flags: OWNER, ITEM_OWNER
|
||||
ITEM_FIELD_CREATE_PLAYED_TIME = OBJECT_END + 0x0038, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
ITEM_FIELD_PAD = OBJECT_END + 0x0039, // Size: 1, Type: INT, Flags: NONE
|
||||
OBJECT_END = 0x0006,
|
||||
ITEM_END = OBJECT_END + 0x003A,
|
||||
ITEM_END_6005 = OBJECT_END + 0x2A,
|
||||
};
|
||||
|
||||
enum EContainerFields
|
||||
{
|
||||
CONTAINER_FIELD_NUM_SLOTS = ITEM_END + 0x0000, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
CONTAINER_ALIGN_PAD = ITEM_END + 0x0001, // Size: 1, Type: BYTES, Flags: NONE
|
||||
CONTAINER_FIELD_SLOT_1 = ITEM_END + 0x0002, // Size: 72, Type: LONG, Flags: PUBLIC
|
||||
CONTAINER_END = ITEM_END + 0x004A,
|
||||
CONTAINER_END_6005 = ITEM_END + 0x003A,
|
||||
};
|
||||
|
||||
enum EUnitFields
|
||||
{
|
||||
UNIT_FIELD_CHARM = OBJECT_END + 0x0000, // Size: 2, Type: LONG, Flags: PUBLIC
|
||||
UNIT_FIELD_SUMMON = OBJECT_END + 0x0002, // Size: 2, Type: LONG, Flags: PUBLIC
|
||||
UNIT_FIELD_CRITTER = OBJECT_END + 0x0004, // Size: 2, Type: LONG, Flags: PRIVATE
|
||||
UNIT_FIELD_CHARMEDBY = OBJECT_END + 0x0006, // Size: 2, Type: LONG, Flags: PUBLIC
|
||||
UNIT_FIELD_SUMMONEDBY = OBJECT_END + 0x0008, // Size: 2, Type: LONG, Flags: PUBLIC
|
||||
UNIT_FIELD_CREATEDBY = OBJECT_END + 0x000A, // Size: 2, Type: LONG, Flags: PUBLIC
|
||||
UNIT_FIELD_TARGET = OBJECT_END + 0x000C, // Size: 2, Type: LONG, Flags: PUBLIC
|
||||
UNIT_FIELD_CHANNEL_OBJECT = OBJECT_END + 0x000E, // Size: 2, Type: LONG, Flags: PUBLIC
|
||||
UNIT_CHANNEL_SPELL = OBJECT_END + 0x0010, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
UNIT_FIELD_BYTES_0 = OBJECT_END + 0x0011, // Size: 1, Type: BYTES, Flags: PUBLIC
|
||||
UNIT_FIELD_HEALTH = OBJECT_END + 0x0012, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
UNIT_FIELD_POWER1 = OBJECT_END + 0x0013, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
UNIT_FIELD_POWER2 = OBJECT_END + 0x0014, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
UNIT_FIELD_POWER3 = OBJECT_END + 0x0015, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
UNIT_FIELD_POWER4 = OBJECT_END + 0x0016, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
UNIT_FIELD_POWER5 = OBJECT_END + 0x0017, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
UNIT_FIELD_POWER6 = OBJECT_END + 0x0018, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
UNIT_FIELD_POWER7 = OBJECT_END + 0x0019, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
UNIT_FIELD_MAXHEALTH = OBJECT_END + 0x001A, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
UNIT_FIELD_MAXPOWER1 = OBJECT_END + 0x001B, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
UNIT_FIELD_MAXPOWER2 = OBJECT_END + 0x001C, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
UNIT_FIELD_MAXPOWER3 = OBJECT_END + 0x001D, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
UNIT_FIELD_MAXPOWER4 = OBJECT_END + 0x001E, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
UNIT_FIELD_MAXPOWER5 = OBJECT_END + 0x001F, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
UNIT_FIELD_MAXPOWER6 = OBJECT_END + 0x0020, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
UNIT_FIELD_MAXPOWER7 = OBJECT_END + 0x0021, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER = OBJECT_END + 0x0022, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER = OBJECT_END + 0x0029, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_LEVEL = OBJECT_END + 0x0030, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
UNIT_FIELD_FACTIONTEMPLATE = OBJECT_END + 0x0031, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
UNIT_VIRTUAL_ITEM_SLOT_ID = OBJECT_END + 0x0032, // Size: 3, Type: INT, Flags: PUBLIC
|
||||
UNIT_FIELD_FLAGS = OBJECT_END + 0x0035, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
UNIT_FIELD_FLAGS_2 = OBJECT_END + 0x0036, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
UNIT_FIELD_AURASTATE = OBJECT_END + 0x0037, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
UNIT_FIELD_BASEATTACKTIME = OBJECT_END + 0x0038, // Size: 2, Type: INT, Flags: PUBLIC
|
||||
UNIT_FIELD_RANGEDATTACKTIME = OBJECT_END + 0x003A, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
UNIT_FIELD_BOUNDINGRADIUS = OBJECT_END + 0x003B, // Size: 1, Type: FLOAT, Flags: PUBLIC
|
||||
UNIT_FIELD_COMBATREACH = OBJECT_END + 0x003C, // Size: 1, Type: FLOAT, Flags: PUBLIC
|
||||
UNIT_FIELD_DISPLAYID = OBJECT_END + 0x003D, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
UNIT_FIELD_NATIVEDISPLAYID = OBJECT_END + 0x003E, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
UNIT_FIELD_MOUNTDISPLAYID = OBJECT_END + 0x003F, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
UNIT_FIELD_MINDAMAGE = OBJECT_END + 0x0040, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER, PARTY_LEADER
|
||||
UNIT_FIELD_MAXDAMAGE = OBJECT_END + 0x0041, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER, PARTY_LEADER
|
||||
UNIT_FIELD_MINOFFHANDDAMAGE = OBJECT_END + 0x0042, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER, PARTY_LEADER
|
||||
UNIT_FIELD_MAXOFFHANDDAMAGE = OBJECT_END + 0x0043, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER, PARTY_LEADER
|
||||
UNIT_FIELD_BYTES_1 = OBJECT_END + 0x0044, // Size: 1, Type: BYTES, Flags: PUBLIC
|
||||
UNIT_FIELD_PETNUMBER = OBJECT_END + 0x0045, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
UNIT_FIELD_PET_NAME_TIMESTAMP = OBJECT_END + 0x0046, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
UNIT_FIELD_PETEXPERIENCE = OBJECT_END + 0x0047, // Size: 1, Type: INT, Flags: OWNER
|
||||
UNIT_FIELD_PETNEXTLEVELEXP = OBJECT_END + 0x0048, // Size: 1, Type: INT, Flags: OWNER
|
||||
UNIT_DYNAMIC_FLAGS = OBJECT_END + 0x0049, // Size: 1, Type: INT, Flags: DYNAMIC
|
||||
UNIT_MOD_CAST_SPEED = OBJECT_END + 0x004A, // Size: 1, Type: FLOAT, Flags: PUBLIC
|
||||
UNIT_CREATED_BY_SPELL = OBJECT_END + 0x004B, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
UNIT_NPC_FLAGS = OBJECT_END + 0x004C, // Size: 1, Type: INT, Flags: DYNAMIC
|
||||
UNIT_NPC_EMOTESTATE = OBJECT_END + 0x004D, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
UNIT_FIELD_STAT0 = OBJECT_END + 0x004E, // Size: 1, Type: INT, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_STAT1 = OBJECT_END + 0x004F, // Size: 1, Type: INT, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_STAT2 = OBJECT_END + 0x0050, // Size: 1, Type: INT, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_STAT3 = OBJECT_END + 0x0051, // Size: 1, Type: INT, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_STAT4 = OBJECT_END + 0x0052, // Size: 1, Type: INT, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_POSSTAT0 = OBJECT_END + 0x0053, // Size: 1, Type: INT, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_POSSTAT1 = OBJECT_END + 0x0054, // Size: 1, Type: INT, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_POSSTAT2 = OBJECT_END + 0x0055, // Size: 1, Type: INT, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_POSSTAT3 = OBJECT_END + 0x0056, // Size: 1, Type: INT, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_POSSTAT4 = OBJECT_END + 0x0057, // Size: 1, Type: INT, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_NEGSTAT0 = OBJECT_END + 0x0058, // Size: 1, Type: INT, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_NEGSTAT1 = OBJECT_END + 0x0059, // Size: 1, Type: INT, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_NEGSTAT2 = OBJECT_END + 0x005A, // Size: 1, Type: INT, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_NEGSTAT3 = OBJECT_END + 0x005B, // Size: 1, Type: INT, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_NEGSTAT4 = OBJECT_END + 0x005C, // Size: 1, Type: INT, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_RESISTANCES = OBJECT_END + 0x005D, // Size: 7, Type: INT, Flags: PRIVATE, OWNER, PARTY_LEADER
|
||||
UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE = OBJECT_END + 0x0064, // Size: 7, Type: INT, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE = OBJECT_END + 0x006B, // Size: 7, Type: INT, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_BASE_MANA = OBJECT_END + 0x0072, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
UNIT_FIELD_BASE_HEALTH = OBJECT_END + 0x0073, // Size: 1, Type: INT, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_BYTES_2 = OBJECT_END + 0x0074, // Size: 1, Type: BYTES, Flags: PUBLIC
|
||||
UNIT_FIELD_ATTACK_POWER = OBJECT_END + 0x0075, // Size: 1, Type: INT, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_ATTACK_POWER_MODS = OBJECT_END + 0x0076, // Size: 1, Type: TWO_SHORT, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_ATTACK_POWER_MULTIPLIER = OBJECT_END + 0x0077, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_RANGED_ATTACK_POWER = OBJECT_END + 0x0078, // Size: 1, Type: INT, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_RANGED_ATTACK_POWER_MODS = OBJECT_END + 0x0079, // Size: 1, Type: TWO_SHORT, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_RANGED_ATTACK_POWER_MULTIPLIER = OBJECT_END + 0x007A, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_MINRANGEDDAMAGE = OBJECT_END + 0x007B, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_MAXRANGEDDAMAGE = OBJECT_END + 0x007C, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_POWER_COST_MODIFIER = OBJECT_END + 0x007D, // Size: 7, Type: INT, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_POWER_COST_MULTIPLIER = OBJECT_END + 0x0084, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_MAXHEALTHMODIFIER = OBJECT_END + 0x008B, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER
|
||||
UNIT_FIELD_HOVERHEIGHT = OBJECT_END + 0x008C, // Size: 1, Type: FLOAT, Flags: PUBLIC
|
||||
UNIT_FIELD_PADDING = OBJECT_END + 0x008D, // Size: 1, Type: INT, Flags: NONE
|
||||
UNIT_END = OBJECT_END + 0x008E,
|
||||
|
||||
UNIT_END_6005 = OBJECT_END + 0x00B6,
|
||||
|
||||
PLAYER_DUEL_ARBITER = UNIT_END + 0x0000, // Size: 2, Type: LONG, Flags: PUBLIC
|
||||
PLAYER_FLAGS = UNIT_END + 0x0002, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
PLAYER_GUILDID = UNIT_END + 0x0003, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
PLAYER_GUILDRANK = UNIT_END + 0x0004, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
PLAYER_BYTES = UNIT_END + 0x0005, // Size: 1, Type: BYTES, Flags: PUBLIC
|
||||
PLAYER_BYTES_2 = UNIT_END + 0x0006, // Size: 1, Type: BYTES, Flags: PUBLIC
|
||||
PLAYER_BYTES_3 = UNIT_END + 0x0007, // Size: 1, Type: BYTES, Flags: PUBLIC
|
||||
PLAYER_DUEL_TEAM = UNIT_END + 0x0008, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
PLAYER_GUILD_TIMESTAMP = UNIT_END + 0x0009, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
PLAYER_QUEST_LOG_1_1 = UNIT_END + 0x000A, // Size: 1, Type: INT, Flags: PARTY_MEMBER
|
||||
PLAYER_QUEST_LOG_1_2 = UNIT_END + 0x000B, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_1_3 = UNIT_END + 0x000C, // Size: 2, Type: TWO_SHORT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_1_4 = UNIT_END + 0x000E, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_2_1 = UNIT_END + 0x000F, // Size: 1, Type: INT, Flags: PARTY_MEMBER
|
||||
PLAYER_QUEST_LOG_2_2 = UNIT_END + 0x0010, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_2_3 = UNIT_END + 0x0011, // Size: 2, Type: TWO_SHORT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_2_5 = UNIT_END + 0x0013, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_3_1 = UNIT_END + 0x0014, // Size: 1, Type: INT, Flags: PARTY_MEMBER
|
||||
PLAYER_QUEST_LOG_3_2 = UNIT_END + 0x0015, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_3_3 = UNIT_END + 0x0016, // Size: 2, Type: TWO_SHORT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_3_5 = UNIT_END + 0x0018, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_4_1 = UNIT_END + 0x0019, // Size: 1, Type: INT, Flags: PARTY_MEMBER
|
||||
PLAYER_QUEST_LOG_4_2 = UNIT_END + 0x001A, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_4_3 = UNIT_END + 0x001B, // Size: 2, Type: TWO_SHORT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_4_5 = UNIT_END + 0x001D, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_5_1 = UNIT_END + 0x001E, // Size: 1, Type: INT, Flags: PARTY_MEMBER
|
||||
PLAYER_QUEST_LOG_5_2 = UNIT_END + 0x001F, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_5_3 = UNIT_END + 0x0020, // Size: 2, Type: TWO_SHORT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_5_5 = UNIT_END + 0x0022, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_6_1 = UNIT_END + 0x0023, // Size: 1, Type: INT, Flags: PARTY_MEMBER
|
||||
PLAYER_QUEST_LOG_6_2 = UNIT_END + 0x0024, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_6_3 = UNIT_END + 0x0025, // Size: 2, Type: TWO_SHORT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_6_5 = UNIT_END + 0x0027, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_7_1 = UNIT_END + 0x0028, // Size: 1, Type: INT, Flags: PARTY_MEMBER
|
||||
PLAYER_QUEST_LOG_7_2 = UNIT_END + 0x0029, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_7_3 = UNIT_END + 0x002A, // Size: 2, Type: TWO_SHORT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_7_5 = UNIT_END + 0x002C, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_8_1 = UNIT_END + 0x002D, // Size: 1, Type: INT, Flags: PARTY_MEMBER
|
||||
PLAYER_QUEST_LOG_8_2 = UNIT_END + 0x002E, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_8_3 = UNIT_END + 0x002F, // Size: 2, Type: TWO_SHORT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_8_5 = UNIT_END + 0x0031, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_9_1 = UNIT_END + 0x0032, // Size: 1, Type: INT, Flags: PARTY_MEMBER
|
||||
PLAYER_QUEST_LOG_9_2 = UNIT_END + 0x0033, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_9_3 = UNIT_END + 0x0034, // Size: 2, Type: TWO_SHORT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_9_5 = UNIT_END + 0x0036, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_10_1 = UNIT_END + 0x0037, // Size: 1, Type: INT, Flags: PARTY_MEMBER
|
||||
PLAYER_QUEST_LOG_10_2 = UNIT_END + 0x0038, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_10_3 = UNIT_END + 0x0039, // Size: 2, Type: TWO_SHORT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_10_5 = UNIT_END + 0x003B, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_11_1 = UNIT_END + 0x003C, // Size: 1, Type: INT, Flags: PARTY_MEMBER
|
||||
PLAYER_QUEST_LOG_11_2 = UNIT_END + 0x003D, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_11_3 = UNIT_END + 0x003E, // Size: 2, Type: TWO_SHORT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_11_5 = UNIT_END + 0x0040, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_12_1 = UNIT_END + 0x0041, // Size: 1, Type: INT, Flags: PARTY_MEMBER
|
||||
PLAYER_QUEST_LOG_12_2 = UNIT_END + 0x0042, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_12_3 = UNIT_END + 0x0043, // Size: 2, Type: TWO_SHORT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_12_5 = UNIT_END + 0x0045, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_13_1 = UNIT_END + 0x0046, // Size: 1, Type: INT, Flags: PARTY_MEMBER
|
||||
PLAYER_QUEST_LOG_13_2 = UNIT_END + 0x0047, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_13_3 = UNIT_END + 0x0048, // Size: 2, Type: TWO_SHORT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_13_5 = UNIT_END + 0x004A, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_14_1 = UNIT_END + 0x004B, // Size: 1, Type: INT, Flags: PARTY_MEMBER
|
||||
PLAYER_QUEST_LOG_14_2 = UNIT_END + 0x004C, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_14_3 = UNIT_END + 0x004D, // Size: 2, Type: TWO_SHORT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_14_5 = UNIT_END + 0x004F, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_15_1 = UNIT_END + 0x0050, // Size: 1, Type: INT, Flags: PARTY_MEMBER
|
||||
PLAYER_QUEST_LOG_15_2 = UNIT_END + 0x0051, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_15_3 = UNIT_END + 0x0052, // Size: 2, Type: TWO_SHORT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_15_5 = UNIT_END + 0x0054, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_16_1 = UNIT_END + 0x0055, // Size: 1, Type: INT, Flags: PARTY_MEMBER
|
||||
PLAYER_QUEST_LOG_16_2 = UNIT_END + 0x0056, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_16_3 = UNIT_END + 0x0057, // Size: 2, Type: TWO_SHORT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_16_5 = UNIT_END + 0x0059, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_17_1 = UNIT_END + 0x005A, // Size: 1, Type: INT, Flags: PARTY_MEMBER
|
||||
PLAYER_QUEST_LOG_17_2 = UNIT_END + 0x005B, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_17_3 = UNIT_END + 0x005C, // Size: 2, Type: TWO_SHORT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_17_5 = UNIT_END + 0x005E, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_18_1 = UNIT_END + 0x005F, // Size: 1, Type: INT, Flags: PARTY_MEMBER
|
||||
PLAYER_QUEST_LOG_18_2 = UNIT_END + 0x0060, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_18_3 = UNIT_END + 0x0061, // Size: 2, Type: TWO_SHORT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_18_5 = UNIT_END + 0x0063, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_19_1 = UNIT_END + 0x0064, // Size: 1, Type: INT, Flags: PARTY_MEMBER
|
||||
PLAYER_QUEST_LOG_19_2 = UNIT_END + 0x0065, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_19_3 = UNIT_END + 0x0066, // Size: 2, Type: TWO_SHORT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_19_5 = UNIT_END + 0x0068, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_20_1 = UNIT_END + 0x0069, // Size: 1, Type: INT, Flags: PARTY_MEMBER
|
||||
PLAYER_QUEST_LOG_20_2 = UNIT_END + 0x006A, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_20_3 = UNIT_END + 0x006B, // Size: 2, Type: TWO_SHORT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_20_5 = UNIT_END + 0x006D, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_21_1 = UNIT_END + 0x006E, // Size: 1, Type: INT, Flags: PARTY_MEMBER
|
||||
PLAYER_QUEST_LOG_21_2 = UNIT_END + 0x006F, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_21_3 = UNIT_END + 0x0070, // Size: 2, Type: TWO_SHORT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_21_5 = UNIT_END + 0x0072, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_22_1 = UNIT_END + 0x0073, // Size: 1, Type: INT, Flags: PARTY_MEMBER
|
||||
PLAYER_QUEST_LOG_22_2 = UNIT_END + 0x0074, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_22_3 = UNIT_END + 0x0075, // Size: 2, Type: TWO_SHORT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_22_5 = UNIT_END + 0x0077, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_23_1 = UNIT_END + 0x0078, // Size: 1, Type: INT, Flags: PARTY_MEMBER
|
||||
PLAYER_QUEST_LOG_23_2 = UNIT_END + 0x0079, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_23_3 = UNIT_END + 0x007A, // Size: 2, Type: TWO_SHORT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_23_5 = UNIT_END + 0x007C, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_24_1 = UNIT_END + 0x007D, // Size: 1, Type: INT, Flags: PARTY_MEMBER
|
||||
PLAYER_QUEST_LOG_24_2 = UNIT_END + 0x007E, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_24_3 = UNIT_END + 0x007F, // Size: 2, Type: TWO_SHORT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_24_5 = UNIT_END + 0x0081, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_25_1 = UNIT_END + 0x0082, // Size: 1, Type: INT, Flags: PARTY_MEMBER
|
||||
PLAYER_QUEST_LOG_25_2 = UNIT_END + 0x0083, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_25_3 = UNIT_END + 0x0084, // Size: 2, Type: TWO_SHORT, Flags: PRIVATE
|
||||
PLAYER_QUEST_LOG_25_5 = UNIT_END + 0x0086, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_VISIBLE_ITEM_1_ENTRYID = UNIT_END + 0x0087, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_1_ENCHANTMENT = UNIT_END + 0x0088, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_2_ENTRYID = UNIT_END + 0x0089, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_2_ENCHANTMENT = UNIT_END + 0x008A, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_3_ENTRYID = UNIT_END + 0x008B, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_3_ENCHANTMENT = UNIT_END + 0x008C, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_4_ENTRYID = UNIT_END + 0x008D, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_4_ENCHANTMENT = UNIT_END + 0x008E, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_5_ENTRYID = UNIT_END + 0x008F, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_5_ENCHANTMENT = UNIT_END + 0x0090, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_6_ENTRYID = UNIT_END + 0x0091, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_6_ENCHANTMENT = UNIT_END + 0x0092, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_7_ENTRYID = UNIT_END + 0x0093, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_7_ENCHANTMENT = UNIT_END + 0x0094, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_8_ENTRYID = UNIT_END + 0x0095, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_8_ENCHANTMENT = UNIT_END + 0x0096, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_9_ENTRYID = UNIT_END + 0x0097, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_9_ENCHANTMENT = UNIT_END + 0x0098, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_10_ENTRYID = UNIT_END + 0x0099, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_10_ENCHANTMENT = UNIT_END + 0x009A, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_11_ENTRYID = UNIT_END + 0x009B, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_11_ENCHANTMENT = UNIT_END + 0x009C, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_12_ENTRYID = UNIT_END + 0x009D, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_12_ENCHANTMENT = UNIT_END + 0x009E, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_13_ENTRYID = UNIT_END + 0x009F, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_13_ENCHANTMENT = UNIT_END + 0x00A0, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_14_ENTRYID = UNIT_END + 0x00A1, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_14_ENCHANTMENT = UNIT_END + 0x00A2, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_15_ENTRYID = UNIT_END + 0x00A3, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_15_ENCHANTMENT = UNIT_END + 0x00A4, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_16_ENTRYID = UNIT_END + 0x00A5, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_16_ENCHANTMENT = UNIT_END + 0x00A6, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_17_ENTRYID = UNIT_END + 0x00A7, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_17_ENCHANTMENT = UNIT_END + 0x00A8, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_18_ENTRYID = UNIT_END + 0x00A9, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_18_ENCHANTMENT = UNIT_END + 0x00AA, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_19_ENTRYID = UNIT_END + 0x00AB, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
PLAYER_VISIBLE_ITEM_19_ENCHANTMENT = UNIT_END + 0x00AC, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC
|
||||
PLAYER_CHOSEN_TITLE = UNIT_END + 0x00AD, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
PLAYER_FAKE_INEBRIATION = UNIT_END + 0x00AE, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
PLAYER_FIELD_PAD_0 = UNIT_END + 0x00AF, // Size: 1, Type: INT, Flags: NONE
|
||||
PLAYER_FIELD_INV_SLOT_HEAD = UNIT_END + 0x00B0, // Size: 46, Type: LONG, Flags: PRIVATE
|
||||
PLAYER_FIELD_PACK_SLOT_1 = UNIT_END + 0x00DE, // Size: 32, Type: LONG, Flags: PRIVATE
|
||||
PLAYER_FIELD_BANK_SLOT_1 = UNIT_END + 0x00FE, // Size: 56, Type: LONG, Flags: PRIVATE
|
||||
PLAYER_FIELD_BANKBAG_SLOT_1 = UNIT_END + 0x0136, // Size: 14, Type: LONG, Flags: PRIVATE
|
||||
PLAYER_FIELD_VENDORBUYBACK_SLOT_1 = UNIT_END + 0x0144, // Size: 24, Type: LONG, Flags: PRIVATE
|
||||
PLAYER_FIELD_KEYRING_SLOT_1 = UNIT_END + 0x015C, // Size: 64, Type: LONG, Flags: PRIVATE
|
||||
PLAYER_FIELD_CURRENCYTOKEN_SLOT_1 = UNIT_END + 0x019C, // Size: 64, Type: LONG, Flags: PRIVATE
|
||||
PLAYER_FARSIGHT = UNIT_END + 0x01DC, // Size: 2, Type: LONG, Flags: PRIVATE
|
||||
PLAYER__FIELD_KNOWN_TITLES = UNIT_END + 0x01DE, // Size: 2, Type: LONG, Flags: PRIVATE
|
||||
PLAYER__FIELD_KNOWN_TITLES1 = UNIT_END + 0x01E0, // Size: 2, Type: LONG, Flags: PRIVATE
|
||||
PLAYER__FIELD_KNOWN_TITLES2 = UNIT_END + 0x01E2, // Size: 2, Type: LONG, Flags: PRIVATE
|
||||
PLAYER_FIELD_KNOWN_CURRENCIES = UNIT_END + 0x01E4, // Size: 2, Type: LONG, Flags: PRIVATE
|
||||
PLAYER_XP = UNIT_END + 0x01E6, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_NEXT_LEVEL_XP = UNIT_END + 0x01E7, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_SKILL_INFO_1_1 = UNIT_END + 0x01E8, // Size: 384, Type: TWO_SHORT, Flags: PRIVATE
|
||||
PLAYER_CHARACTER_POINTS1 = UNIT_END + 0x0368, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_CHARACTER_POINTS2 = UNIT_END + 0x0369, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_TRACK_CREATURES = UNIT_END + 0x036A, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_TRACK_RESOURCES = UNIT_END + 0x036B, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_BLOCK_PERCENTAGE = UNIT_END + 0x036C, // Size: 1, Type: FLOAT, Flags: PRIVATE
|
||||
PLAYER_DODGE_PERCENTAGE = UNIT_END + 0x036D, // Size: 1, Type: FLOAT, Flags: PRIVATE
|
||||
PLAYER_PARRY_PERCENTAGE = UNIT_END + 0x036E, // Size: 1, Type: FLOAT, Flags: PRIVATE
|
||||
PLAYER_EXPERTISE = UNIT_END + 0x036F, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_OFFHAND_EXPERTISE = UNIT_END + 0x0370, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_CRIT_PERCENTAGE = UNIT_END + 0x0371, // Size: 1, Type: FLOAT, Flags: PRIVATE
|
||||
PLAYER_RANGED_CRIT_PERCENTAGE = UNIT_END + 0x0372, // Size: 1, Type: FLOAT, Flags: PRIVATE
|
||||
PLAYER_OFFHAND_CRIT_PERCENTAGE = UNIT_END + 0x0373, // Size: 1, Type: FLOAT, Flags: PRIVATE
|
||||
PLAYER_SPELL_CRIT_PERCENTAGE1 = UNIT_END + 0x0374, // Size: 7, Type: FLOAT, Flags: PRIVATE
|
||||
PLAYER_SHIELD_BLOCK = UNIT_END + 0x037B, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_SHIELD_BLOCK_CRIT_PERCENTAGE = UNIT_END + 0x037C, // Size: 1, Type: FLOAT, Flags: PRIVATE
|
||||
PLAYER_EXPLORED_ZONES_1 = UNIT_END + 0x037D, // Size: 128, Type: BYTES, Flags: PRIVATE
|
||||
PLAYER_REST_STATE_EXPERIENCE = UNIT_END + 0x03FD, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_FIELD_COINAGE = UNIT_END + 0x03FE, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_FIELD_MOD_DAMAGE_DONE_POS = UNIT_END + 0x03FF, // Size: 7, Type: INT, Flags: PRIVATE
|
||||
PLAYER_FIELD_MOD_DAMAGE_DONE_NEG = UNIT_END + 0x0406, // Size: 7, Type: INT, Flags: PRIVATE
|
||||
PLAYER_FIELD_MOD_DAMAGE_DONE_PCT = UNIT_END + 0x040D, // Size: 7, Type: INT, Flags: PRIVATE
|
||||
PLAYER_FIELD_MOD_HEALING_DONE_POS = UNIT_END + 0x0414, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_FIELD_MOD_HEALING_PCT = UNIT_END + 0x0415, // Size: 1, Type: FLOAT, Flags: PRIVATE
|
||||
PLAYER_FIELD_MOD_HEALING_DONE_PCT = UNIT_END + 0x0416, // Size: 1, Type: FLOAT, Flags: PRIVATE
|
||||
PLAYER_FIELD_MOD_TARGET_RESISTANCE = UNIT_END + 0x0417, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_FIELD_MOD_TARGET_PHYSICAL_RESISTANCE = UNIT_END + 0x0418, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_FIELD_BYTES = UNIT_END + 0x0419, // Size: 1, Type: BYTES, Flags: PRIVATE
|
||||
PLAYER_AMMO_ID = UNIT_END + 0x041A, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_SELF_RES_SPELL = UNIT_END + 0x041B, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_FIELD_PVP_MEDALS = UNIT_END + 0x041C, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_FIELD_BUYBACK_PRICE_1 = UNIT_END + 0x041D, // Size: 12, Type: INT, Flags: PRIVATE
|
||||
PLAYER_FIELD_BUYBACK_TIMESTAMP_1 = UNIT_END + 0x0429, // Size: 12, Type: INT, Flags: PRIVATE
|
||||
PLAYER_FIELD_KILLS = UNIT_END + 0x0435, // Size: 1, Type: TWO_SHORT, Flags: PRIVATE
|
||||
PLAYER_FIELD_TODAY_CONTRIBUTION = UNIT_END + 0x0436, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_FIELD_YESTERDAY_CONTRIBUTION = UNIT_END + 0x0437, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_FIELD_LIFETIME_HONORBALE_KILLS = UNIT_END + 0x0438, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_FIELD_BYTES2 = UNIT_END + 0x0439, // Size: 1, Type: 6, Flags: PRIVATE
|
||||
PLAYER_FIELD_WATCHED_FACTION_INDEX = UNIT_END + 0x043A, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_FIELD_COMBAT_RATING_1 = UNIT_END + 0x043B, // Size: 25, Type: INT, Flags: PRIVATE
|
||||
PLAYER_FIELD_ARENA_TEAM_INFO_1_1 = UNIT_END + 0x0454, // Size: 21, Type: INT, Flags: PRIVATE
|
||||
PLAYER_FIELD_HONOR_CURRENCY = UNIT_END + 0x0469, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_FIELD_ARENA_CURRENCY = UNIT_END + 0x046A, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_FIELD_MAX_LEVEL = UNIT_END + 0x046B, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_FIELD_DAILY_QUESTS_1 = UNIT_END + 0x046C, // Size: 25, Type: INT, Flags: PRIVATE
|
||||
PLAYER_RUNE_REGEN_1 = UNIT_END + 0x0485, // Size: 4, Type: FLOAT, Flags: PRIVATE
|
||||
PLAYER_NO_REAGENT_COST_1 = UNIT_END + 0x0489, // Size: 3, Type: INT, Flags: PRIVATE
|
||||
PLAYER_FIELD_GLYPH_SLOTS_1 = UNIT_END + 0x048C, // Size: 6, Type: INT, Flags: PRIVATE
|
||||
PLAYER_FIELD_GLYPHS_1 = UNIT_END + 0x0492, // Size: 6, Type: INT, Flags: PRIVATE
|
||||
PLAYER_GLYPHS_ENABLED = UNIT_END + 0x0498, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_PET_SPELL_POWER = UNIT_END + 0x0499, // Size: 1, Type: INT, Flags: PRIVATE
|
||||
PLAYER_END = UNIT_END + 0x049A,
|
||||
PLAYER_END_6005 = UNIT_END + 0x0446,
|
||||
};
|
||||
|
||||
enum EGameObjectFields
|
||||
{
|
||||
OBJECT_FIELD_CREATED_BY = OBJECT_END + 0x0000, // Size: 2, Type: LONG, Flags: PUBLIC
|
||||
GAMEOBJECT_DISPLAYID = OBJECT_END + 0x0002, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
GAMEOBJECT_FLAGS = OBJECT_END + 0x0003, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
GAMEOBJECT_PARENTROTATION = OBJECT_END + 0x0004, // Size: 4, Type: FLOAT, Flags: PUBLIC
|
||||
GAMEOBJECT_DYNAMIC = OBJECT_END + 0x0008, // Size: 1, Type: TWO_SHORT, Flags: DYNAMIC
|
||||
GAMEOBJECT_FACTION = OBJECT_END + 0x0009, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
GAMEOBJECT_LEVEL = OBJECT_END + 0x000A, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
GAMEOBJECT_BYTES_1 = OBJECT_END + 0x000B, // Size: 1, Type: BYTES, Flags: PUBLIC
|
||||
GAMEOBJECT_END = OBJECT_END + 0x000C,
|
||||
GAMEOBJECT_END_6005 = OBJECT_END + 0x0014,
|
||||
};
|
||||
|
||||
enum EDynamicObjectFields
|
||||
{
|
||||
DYNAMICOBJECT_CASTER = OBJECT_END + 0x0000, // Size: 2, Type: LONG, Flags: PUBLIC
|
||||
DYNAMICOBJECT_BYTES = OBJECT_END + 0x0002, // Size: 1, Type: BYTES, Flags: PUBLIC
|
||||
DYNAMICOBJECT_SPELLID = OBJECT_END + 0x0003, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
DYNAMICOBJECT_RADIUS = OBJECT_END + 0x0004, // Size: 1, Type: FLOAT, Flags: PUBLIC
|
||||
DYNAMICOBJECT_CASTTIME = OBJECT_END + 0x0005, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
DYNAMICOBJECT_END = OBJECT_END + 0x0006,
|
||||
CORPSE_END = OBJECT_END + 0x001E,
|
||||
|
||||
ITEM_END_6005 = OBJECT_END + 0x002A,
|
||||
CONTAINER_END_6005 = ITEM_END_6005 + 0x003A,
|
||||
UNIT_END_6005 = OBJECT_END + 0x00B6,
|
||||
PLAYER_END_6005 = UNIT_END_6005 + 0x0446,
|
||||
GAMEOBJECT_END_6005 = OBJECT_END + 0x0014,
|
||||
|
||||
};
|
||||
|
||||
enum ECorpseFields
|
||||
|
||||
enum UpdateFieldName
|
||||
{
|
||||
CORPSE_FIELD_OWNER = OBJECT_END + 0x0000, // Size: 2, Type: LONG, Flags: PUBLIC
|
||||
CORPSE_FIELD_PARTY = OBJECT_END + 0x0002, // Size: 2, Type: LONG, Flags: PUBLIC
|
||||
CORPSE_FIELD_DISPLAY_ID = OBJECT_END + 0x0004, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
CORPSE_FIELD_ITEM = OBJECT_END + 0x0005, // Size: 19, Type: INT, Flags: PUBLIC
|
||||
CORPSE_FIELD_BYTES_1 = OBJECT_END + 0x0018, // Size: 1, Type: BYTES, Flags: PUBLIC
|
||||
CORPSE_FIELD_BYTES_2 = OBJECT_END + 0x0019, // Size: 1, Type: BYTES, Flags: PUBLIC
|
||||
CORPSE_FIELD_GUILD = OBJECT_END + 0x001A, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
CORPSE_FIELD_FLAGS = OBJECT_END + 0x001B, // Size: 1, Type: INT, Flags: PUBLIC
|
||||
CORPSE_FIELD_DYNAMIC_FLAGS = OBJECT_END + 0x001C, // Size: 1, Type: INT, Flags: DYNAMIC
|
||||
CORPSE_FIELD_PAD = OBJECT_END + 0x001D, // Size: 1, Type: INT, Flags: NONE
|
||||
CORPSE_END = OBJECT_END + 0x001E,
|
||||
//This is just an list of updatefield names. sorted alphabetically
|
||||
//ToDo: Sort in a way that makes sense!!! (All, WoW, TBC, WoTLK)
|
||||
OBJECT_FIELD_ENTRY,
|
||||
OBJECT_FIELD_GUID,
|
||||
OBJECT_FIELD_GUID_LOW,
|
||||
OBJECT_FIELD_GUID_HIGH,
|
||||
OBJECT_FIELD_PADDING,
|
||||
OBJECT_FIELD_SCALE_X,
|
||||
OBJECT_FIELD_TYPE,
|
||||
|
||||
ITEM_FIELD_CONTAINED,
|
||||
ITEM_FIELD_CREATE_PLAYED_TIME,
|
||||
ITEM_FIELD_CREATOR,
|
||||
ITEM_FIELD_DURABILITY,
|
||||
ITEM_FIELD_DURATION,
|
||||
ITEM_FIELD_ENCHANTMENT,
|
||||
ITEM_FIELD_ENCHANTMENT_1_1,
|
||||
ITEM_FIELD_ENCHANTMENT_1_3,
|
||||
ITEM_FIELD_ENCHANTMENT_10_1,
|
||||
ITEM_FIELD_ENCHANTMENT_10_3,
|
||||
ITEM_FIELD_ENCHANTMENT_11_1,
|
||||
ITEM_FIELD_ENCHANTMENT_11_3,
|
||||
ITEM_FIELD_ENCHANTMENT_12_1,
|
||||
ITEM_FIELD_ENCHANTMENT_12_3,
|
||||
ITEM_FIELD_ENCHANTMENT_2_1,
|
||||
ITEM_FIELD_ENCHANTMENT_2_3,
|
||||
ITEM_FIELD_ENCHANTMENT_3_1,
|
||||
ITEM_FIELD_ENCHANTMENT_3_3,
|
||||
ITEM_FIELD_ENCHANTMENT_4_1,
|
||||
ITEM_FIELD_ENCHANTMENT_4_3,
|
||||
ITEM_FIELD_ENCHANTMENT_5_1,
|
||||
ITEM_FIELD_ENCHANTMENT_5_3,
|
||||
ITEM_FIELD_ENCHANTMENT_6_1,
|
||||
ITEM_FIELD_ENCHANTMENT_6_3,
|
||||
ITEM_FIELD_ENCHANTMENT_7_1,
|
||||
ITEM_FIELD_ENCHANTMENT_7_3,
|
||||
ITEM_FIELD_ENCHANTMENT_8_1,
|
||||
ITEM_FIELD_ENCHANTMENT_8_3,
|
||||
ITEM_FIELD_ENCHANTMENT_9_1,
|
||||
ITEM_FIELD_ENCHANTMENT_9_3,
|
||||
ITEM_FIELD_FLAGS,
|
||||
ITEM_FIELD_GIFTCREATOR,
|
||||
ITEM_FIELD_ITEM_TEXT_ID,
|
||||
ITEM_FIELD_MAXDURABILITY,
|
||||
ITEM_FIELD_OWNER,
|
||||
ITEM_FIELD_PAD,
|
||||
ITEM_FIELD_PROPERTY_SEED,
|
||||
ITEM_FIELD_RANDOM_PROPERTIES_ID,
|
||||
ITEM_FIELD_SPELL_CHARGES,
|
||||
ITEM_FIELD_SPELL_CHARGES_01,
|
||||
ITEM_FIELD_SPELL_CHARGES_02,
|
||||
ITEM_FIELD_SPELL_CHARGES_03,
|
||||
ITEM_FIELD_SPELL_CHARGES_04,
|
||||
ITEM_FIELD_STACK_COUNT,
|
||||
|
||||
CONTAINER_ALIGN_PAD,
|
||||
CONTAINER_FIELD_NUM_SLOTS,
|
||||
CONTAINER_FIELD_SLOT_1,
|
||||
CONTAINER_FIELD_SLOT_LAST,
|
||||
|
||||
UNIT_CHANNEL_SPELL,
|
||||
UNIT_CREATED_BY_SPELL,
|
||||
UNIT_DYNAMIC_FLAGS,
|
||||
UNIT_FIELD_ATTACK_POWER,
|
||||
UNIT_FIELD_ATTACK_POWER_MODS,
|
||||
UNIT_FIELD_ATTACK_POWER_MULTIPLIER,
|
||||
UNIT_FIELD_AURA,
|
||||
UNIT_FIELD_AURA_LAST,
|
||||
UNIT_FIELD_AURAAPPLICATIONS,
|
||||
UNIT_FIELD_AURAAPPLICATIONS_LAST,
|
||||
UNIT_FIELD_AURAFLAGS,
|
||||
UNIT_FIELD_AURAFLAGS_01,
|
||||
UNIT_FIELD_AURAFLAGS_02,
|
||||
UNIT_FIELD_AURAFLAGS_03,
|
||||
UNIT_FIELD_AURAFLAGS_04,
|
||||
UNIT_FIELD_AURAFLAGS_05,
|
||||
UNIT_FIELD_AURALEVELS,
|
||||
UNIT_FIELD_AURALEVELS_LAST,
|
||||
UNIT_FIELD_AURASTATE,
|
||||
UNIT_FIELD_BASE_HEALTH,
|
||||
UNIT_FIELD_BASE_MANA,
|
||||
UNIT_FIELD_BASEATTACKTIME,
|
||||
UNIT_FIELD_BOUNDINGRADIUS,
|
||||
UNIT_FIELD_BYTES_0,
|
||||
UNIT_FIELD_BYTES_1,
|
||||
UNIT_FIELD_BYTES_2,
|
||||
UNIT_FIELD_CHANNEL_OBJECT,
|
||||
UNIT_FIELD_CHARM,
|
||||
UNIT_FIELD_CHARMEDBY,
|
||||
UNIT_FIELD_COMBATREACH,
|
||||
UNIT_FIELD_CREATEDBY,
|
||||
UNIT_FIELD_CRITTER,
|
||||
UNIT_FIELD_DISPLAYID,
|
||||
UNIT_FIELD_FACTIONTEMPLATE,
|
||||
UNIT_FIELD_FLAGS,
|
||||
UNIT_FIELD_FLAGS_2,
|
||||
UNIT_FIELD_HEALTH,
|
||||
UNIT_FIELD_HOVERHEIGHT,
|
||||
UNIT_FIELD_LEVEL,
|
||||
UNIT_FIELD_MAXDAMAGE,
|
||||
UNIT_FIELD_MAXHEALTH,
|
||||
UNIT_FIELD_MAXHEALTHMODIFIER,
|
||||
UNIT_FIELD_MAXOFFHANDDAMAGE,
|
||||
UNIT_FIELD_MAXPOWER1,
|
||||
UNIT_FIELD_MAXPOWER2,
|
||||
UNIT_FIELD_MAXPOWER3,
|
||||
UNIT_FIELD_MAXPOWER4,
|
||||
UNIT_FIELD_MAXPOWER5,
|
||||
UNIT_FIELD_MAXPOWER6,
|
||||
UNIT_FIELD_MAXPOWER7,
|
||||
UNIT_FIELD_MAXRANGEDDAMAGE,
|
||||
UNIT_FIELD_MINDAMAGE,
|
||||
UNIT_FIELD_MINOFFHANDDAMAGE,
|
||||
UNIT_FIELD_MINRANGEDDAMAGE,
|
||||
UNIT_FIELD_MOUNTDISPLAYID,
|
||||
UNIT_FIELD_NATIVEDISPLAYID,
|
||||
UNIT_FIELD_NEGSTAT0,
|
||||
UNIT_FIELD_NEGSTAT1,
|
||||
UNIT_FIELD_NEGSTAT2,
|
||||
UNIT_FIELD_NEGSTAT3,
|
||||
UNIT_FIELD_NEGSTAT4,
|
||||
UNIT_FIELD_OFFHANDATTACKTIME,
|
||||
UNIT_FIELD_PADDING,
|
||||
UNIT_FIELD_PERSUADED,
|
||||
UNIT_FIELD_PET_NAME_TIMESTAMP,
|
||||
UNIT_FIELD_PETEXPERIENCE,
|
||||
UNIT_FIELD_PETNEXTLEVELEXP,
|
||||
UNIT_FIELD_PETNUMBER,
|
||||
UNIT_FIELD_POSSTAT0,
|
||||
UNIT_FIELD_POSSTAT1,
|
||||
UNIT_FIELD_POSSTAT2,
|
||||
UNIT_FIELD_POSSTAT3,
|
||||
UNIT_FIELD_POSSTAT4,
|
||||
UNIT_FIELD_POWER_COST_MODIFIER,
|
||||
UNIT_FIELD_POWER_COST_MODIFIER_01,
|
||||
UNIT_FIELD_POWER_COST_MODIFIER_02,
|
||||
UNIT_FIELD_POWER_COST_MODIFIER_03,
|
||||
UNIT_FIELD_POWER_COST_MODIFIER_04,
|
||||
UNIT_FIELD_POWER_COST_MODIFIER_05,
|
||||
UNIT_FIELD_POWER_COST_MODIFIER_06,
|
||||
UNIT_FIELD_POWER_COST_MULTIPLIER,
|
||||
UNIT_FIELD_POWER_COST_MULTIPLIER_01,
|
||||
UNIT_FIELD_POWER_COST_MULTIPLIER_02,
|
||||
UNIT_FIELD_POWER_COST_MULTIPLIER_03,
|
||||
UNIT_FIELD_POWER_COST_MULTIPLIER_04,
|
||||
UNIT_FIELD_POWER_COST_MULTIPLIER_05,
|
||||
UNIT_FIELD_POWER_COST_MULTIPLIER_06,
|
||||
UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER,
|
||||
UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER,
|
||||
UNIT_FIELD_POWER1,
|
||||
UNIT_FIELD_POWER2,
|
||||
UNIT_FIELD_POWER3,
|
||||
UNIT_FIELD_POWER4,
|
||||
UNIT_FIELD_POWER5,
|
||||
UNIT_FIELD_POWER6,
|
||||
UNIT_FIELD_POWER7,
|
||||
UNIT_FIELD_RANGED_ATTACK_POWER,
|
||||
UNIT_FIELD_RANGED_ATTACK_POWER_MODS,
|
||||
UNIT_FIELD_RANGED_ATTACK_POWER_MULTIPLIER,
|
||||
UNIT_FIELD_RANGEDATTACKTIME,
|
||||
UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE,
|
||||
UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE,
|
||||
UNIT_FIELD_RESISTANCES,
|
||||
UNIT_FIELD_RESISTANCES_01,
|
||||
UNIT_FIELD_RESISTANCES_02,
|
||||
UNIT_FIELD_RESISTANCES_03,
|
||||
UNIT_FIELD_RESISTANCES_04,
|
||||
UNIT_FIELD_RESISTANCES_05,
|
||||
UNIT_FIELD_RESISTANCES_06,
|
||||
UNIT_FIELD_STAT0,
|
||||
UNIT_FIELD_STAT1,
|
||||
UNIT_FIELD_STAT2,
|
||||
UNIT_FIELD_STAT3,
|
||||
UNIT_FIELD_STAT4,
|
||||
UNIT_FIELD_SUMMON,
|
||||
UNIT_FIELD_SUMMONEDBY,
|
||||
UNIT_FIELD_TARGET,
|
||||
UNIT_MOD_CAST_SPEED,
|
||||
UNIT_NPC_EMOTESTATE,
|
||||
UNIT_NPC_FLAGS,
|
||||
UNIT_TRAINING_POINTS,
|
||||
UNIT_VIRTUAL_ITEM_INFO,
|
||||
UNIT_VIRTUAL_ITEM_INFO_01,
|
||||
UNIT_VIRTUAL_ITEM_INFO_02,
|
||||
UNIT_VIRTUAL_ITEM_INFO_03,
|
||||
UNIT_VIRTUAL_ITEM_INFO_04,
|
||||
UNIT_VIRTUAL_ITEM_INFO_05,
|
||||
UNIT_VIRTUAL_ITEM_SLOT_DISPLAY,
|
||||
UNIT_VIRTUAL_ITEM_SLOT_DISPLAY_01,
|
||||
UNIT_VIRTUAL_ITEM_SLOT_DISPLAY_02,
|
||||
UNIT_VIRTUAL_ITEM_SLOT_ID,
|
||||
|
||||
PLAYER__FIELD_KNOWN_TITLES,
|
||||
PLAYER__FIELD_KNOWN_TITLES1,
|
||||
PLAYER__FIELD_KNOWN_TITLES2,
|
||||
PLAYER_AMMO_ID,
|
||||
PLAYER_BLOCK_PERCENTAGE,
|
||||
PLAYER_BYTES,
|
||||
PLAYER_BYTES_2,
|
||||
PLAYER_BYTES_3,
|
||||
PLAYER_CHARACTER_POINTS1,
|
||||
PLAYER_CHARACTER_POINTS2,
|
||||
PLAYER_CHOSEN_TITLE,
|
||||
PLAYER_CRIT_PERCENTAGE,
|
||||
PLAYER_DODGE_PERCENTAGE,
|
||||
PLAYER_DUEL_ARBITER,
|
||||
PLAYER_DUEL_TEAM,
|
||||
PLAYER_EXPERTISE,
|
||||
PLAYER_EXPLORED_ZONES_1,
|
||||
PLAYER_FAKE_INEBRIATION,
|
||||
PLAYER_FARSIGHT,
|
||||
PLAYER_FIELD_ARENA_CURRENCY,
|
||||
PLAYER_FIELD_ARENA_TEAM_INFO_1_1,
|
||||
PLAYER_FIELD_BANK_SLOT_1,
|
||||
PLAYER_FIELD_BANK_SLOT_LAST,
|
||||
PLAYER_FIELD_BANKBAG_SLOT_1,
|
||||
PLAYER_FIELD_BANKBAG_SLOT_LAST,
|
||||
PLAYER_FIELD_BUYBACK_PRICE_1,
|
||||
PLAYER_FIELD_BUYBACK_PRICE_LAST,
|
||||
PLAYER_FIELD_BUYBACK_TIMESTAMP_1,
|
||||
PLAYER_FIELD_BUYBACK_TIMESTAMP_LAST,
|
||||
PLAYER_FIELD_BYTES,
|
||||
PLAYER_FIELD_BYTES2,
|
||||
PLAYER_FIELD_COINAGE,
|
||||
PLAYER_FIELD_COMBAT_RATING_1,
|
||||
PLAYER_FIELD_COMBO_TARGET,
|
||||
PLAYER_FIELD_CURRENCYTOKEN_SLOT_1,
|
||||
PLAYER_FIELD_DAILY_QUESTS_1,
|
||||
PLAYER_FIELD_GLYPH_SLOTS_1,
|
||||
PLAYER_FIELD_GLYPHS_1,
|
||||
PLAYER_FIELD_HONOR_CURRENCY,
|
||||
PLAYER_FIELD_INV_SLOT_HEAD,
|
||||
PLAYER_FIELD_KEYRING_SLOT_1,
|
||||
PLAYER_FIELD_KEYRING_SLOT_LAST,
|
||||
PLAYER_FIELD_KILLS,
|
||||
PLAYER_FIELD_KNOWN_CURRENCIES,
|
||||
PLAYER_FIELD_LAST_WEEK_CONTRIBUTION,
|
||||
PLAYER_FIELD_LAST_WEEK_KILLS,
|
||||
PLAYER_FIELD_LAST_WEEK_RANK,
|
||||
PLAYER_FIELD_LIFETIME_DISHONORABLE_KILLS,
|
||||
PLAYER_FIELD_LIFETIME_HONORABLE_KILLS,
|
||||
PLAYER_FIELD_LIFETIME_HONORBALE_KILLS,
|
||||
PLAYER_FIELD_MAX_LEVEL,
|
||||
PLAYER_FIELD_MOD_DAMAGE_DONE_NEG,
|
||||
PLAYER_FIELD_MOD_DAMAGE_DONE_PCT,
|
||||
PLAYER_FIELD_MOD_DAMAGE_DONE_POS,
|
||||
PLAYER_FIELD_MOD_HEALING_DONE_PCT,
|
||||
PLAYER_FIELD_MOD_HEALING_DONE_POS,
|
||||
PLAYER_FIELD_MOD_HEALING_PCT,
|
||||
PLAYER_FIELD_MOD_TARGET_PHYSICAL_RESISTANCE,
|
||||
PLAYER_FIELD_MOD_TARGET_RESISTANCE,
|
||||
PLAYER_FIELD_NEGSTAT0,
|
||||
PLAYER_FIELD_NEGSTAT1,
|
||||
PLAYER_FIELD_NEGSTAT2,
|
||||
PLAYER_FIELD_NEGSTAT3,
|
||||
PLAYER_FIELD_NEGSTAT4,
|
||||
PLAYER_FIELD_PACK_SLOT_1,
|
||||
PLAYER_FIELD_PACK_SLOT_LAST,
|
||||
PLAYER_FIELD_PAD_0,
|
||||
PLAYER_FIELD_POSSTAT0,
|
||||
PLAYER_FIELD_POSSTAT1,
|
||||
PLAYER_FIELD_POSSTAT2,
|
||||
PLAYER_FIELD_POSSTAT3,
|
||||
PLAYER_FIELD_POSSTAT4,
|
||||
PLAYER_FIELD_PVP_MEDALS,
|
||||
PLAYER_FIELD_RESISTANCEBUFFMODSNEGATIVE,
|
||||
PLAYER_FIELD_RESISTANCEBUFFMODSPOSITIVE,
|
||||
PLAYER_FIELD_SESSION_KILLS,
|
||||
PLAYER_FIELD_THIS_WEEK_CONTRIBUTION,
|
||||
PLAYER_FIELD_THIS_WEEK_KILLS,
|
||||
PLAYER_FIELD_TODAY_CONTRIBUTION,
|
||||
PLAYER_FIELD_VENDORBUYBACK_SLOT_1,
|
||||
PLAYER_FIELD_VENDORBUYBACK_SLOT_LAST,
|
||||
PLAYER_FIELD_WATCHED_FACTION_INDEX,
|
||||
PLAYER_FIELD_YESTERDAY_CONTRIBUTION,
|
||||
PLAYER_FIELD_YESTERDAY_KILLS,
|
||||
PLAYER_FLAGS,
|
||||
PLAYER_GLYPHS_ENABLED,
|
||||
PLAYER_GUILD_TIMESTAMP,
|
||||
PLAYER_GUILDID,
|
||||
PLAYER_GUILDRANK,
|
||||
PLAYER_NEXT_LEVEL_XP,
|
||||
PLAYER_NO_REAGENT_COST_1,
|
||||
PLAYER_OFFHAND_CRIT_PERCENTAGE,
|
||||
PLAYER_OFFHAND_EXPERTISE,
|
||||
PLAYER_PARRY_PERCENTAGE,
|
||||
PLAYER_PET_SPELL_POWER,
|
||||
PLAYER_QUEST_LOG_1_1,
|
||||
PLAYER_QUEST_LOG_1_2,
|
||||
PLAYER_QUEST_LOG_1_3,
|
||||
PLAYER_QUEST_LOG_1_4,
|
||||
PLAYER_QUEST_LOG_10_1,
|
||||
PLAYER_QUEST_LOG_10_2,
|
||||
PLAYER_QUEST_LOG_10_3,
|
||||
PLAYER_QUEST_LOG_10_5,
|
||||
PLAYER_QUEST_LOG_11_1,
|
||||
PLAYER_QUEST_LOG_11_2,
|
||||
PLAYER_QUEST_LOG_11_3,
|
||||
PLAYER_QUEST_LOG_11_5,
|
||||
PLAYER_QUEST_LOG_12_1,
|
||||
PLAYER_QUEST_LOG_12_2,
|
||||
PLAYER_QUEST_LOG_12_3,
|
||||
PLAYER_QUEST_LOG_12_5,
|
||||
PLAYER_QUEST_LOG_13_1,
|
||||
PLAYER_QUEST_LOG_13_2,
|
||||
PLAYER_QUEST_LOG_13_3,
|
||||
PLAYER_QUEST_LOG_13_5,
|
||||
PLAYER_QUEST_LOG_14_1,
|
||||
PLAYER_QUEST_LOG_14_2,
|
||||
PLAYER_QUEST_LOG_14_3,
|
||||
PLAYER_QUEST_LOG_14_5,
|
||||
PLAYER_QUEST_LOG_15_1,
|
||||
PLAYER_QUEST_LOG_15_2,
|
||||
PLAYER_QUEST_LOG_15_3,
|
||||
PLAYER_QUEST_LOG_15_5,
|
||||
PLAYER_QUEST_LOG_16_1,
|
||||
PLAYER_QUEST_LOG_16_2,
|
||||
PLAYER_QUEST_LOG_16_3,
|
||||
PLAYER_QUEST_LOG_16_5,
|
||||
PLAYER_QUEST_LOG_17_1,
|
||||
PLAYER_QUEST_LOG_17_2,
|
||||
PLAYER_QUEST_LOG_17_3,
|
||||
PLAYER_QUEST_LOG_17_5,
|
||||
PLAYER_QUEST_LOG_18_1,
|
||||
PLAYER_QUEST_LOG_18_2,
|
||||
PLAYER_QUEST_LOG_18_3,
|
||||
PLAYER_QUEST_LOG_18_5,
|
||||
PLAYER_QUEST_LOG_19_1,
|
||||
PLAYER_QUEST_LOG_19_2,
|
||||
PLAYER_QUEST_LOG_19_3,
|
||||
PLAYER_QUEST_LOG_19_5,
|
||||
PLAYER_QUEST_LOG_2_1,
|
||||
PLAYER_QUEST_LOG_2_2,
|
||||
PLAYER_QUEST_LOG_2_3,
|
||||
PLAYER_QUEST_LOG_2_5,
|
||||
PLAYER_QUEST_LOG_20_1,
|
||||
PLAYER_QUEST_LOG_20_2,
|
||||
PLAYER_QUEST_LOG_20_3,
|
||||
PLAYER_QUEST_LOG_20_5,
|
||||
PLAYER_QUEST_LOG_21_1,
|
||||
PLAYER_QUEST_LOG_21_2,
|
||||
PLAYER_QUEST_LOG_21_3,
|
||||
PLAYER_QUEST_LOG_21_5,
|
||||
PLAYER_QUEST_LOG_22_1,
|
||||
PLAYER_QUEST_LOG_22_2,
|
||||
PLAYER_QUEST_LOG_22_3,
|
||||
PLAYER_QUEST_LOG_22_5,
|
||||
PLAYER_QUEST_LOG_23_1,
|
||||
PLAYER_QUEST_LOG_23_2,
|
||||
PLAYER_QUEST_LOG_23_3,
|
||||
PLAYER_QUEST_LOG_23_5,
|
||||
PLAYER_QUEST_LOG_24_1,
|
||||
PLAYER_QUEST_LOG_24_2,
|
||||
PLAYER_QUEST_LOG_24_3,
|
||||
PLAYER_QUEST_LOG_24_5,
|
||||
PLAYER_QUEST_LOG_25_1,
|
||||
PLAYER_QUEST_LOG_25_2,
|
||||
PLAYER_QUEST_LOG_25_3,
|
||||
PLAYER_QUEST_LOG_25_5,
|
||||
PLAYER_QUEST_LOG_3_1,
|
||||
PLAYER_QUEST_LOG_3_2,
|
||||
PLAYER_QUEST_LOG_3_3,
|
||||
PLAYER_QUEST_LOG_3_5,
|
||||
PLAYER_QUEST_LOG_4_1,
|
||||
PLAYER_QUEST_LOG_4_2,
|
||||
PLAYER_QUEST_LOG_4_3,
|
||||
PLAYER_QUEST_LOG_4_5,
|
||||
PLAYER_QUEST_LOG_5_1,
|
||||
PLAYER_QUEST_LOG_5_2,
|
||||
PLAYER_QUEST_LOG_5_3,
|
||||
PLAYER_QUEST_LOG_5_5,
|
||||
PLAYER_QUEST_LOG_6_1,
|
||||
PLAYER_QUEST_LOG_6_2,
|
||||
PLAYER_QUEST_LOG_6_3,
|
||||
PLAYER_QUEST_LOG_6_5,
|
||||
PLAYER_QUEST_LOG_7_1,
|
||||
PLAYER_QUEST_LOG_7_2,
|
||||
PLAYER_QUEST_LOG_7_3,
|
||||
PLAYER_QUEST_LOG_7_5,
|
||||
PLAYER_QUEST_LOG_8_1,
|
||||
PLAYER_QUEST_LOG_8_2,
|
||||
PLAYER_QUEST_LOG_8_3,
|
||||
PLAYER_QUEST_LOG_8_5,
|
||||
PLAYER_QUEST_LOG_9_1,
|
||||
PLAYER_QUEST_LOG_9_2,
|
||||
PLAYER_QUEST_LOG_9_3,
|
||||
PLAYER_QUEST_LOG_9_5,
|
||||
PLAYER_QUEST_LOG_LAST_1,
|
||||
PLAYER_QUEST_LOG_LAST_2,
|
||||
PLAYER_QUEST_LOG_LAST_3,
|
||||
PLAYER_RANGED_CRIT_PERCENTAGE,
|
||||
PLAYER_REST_STATE_EXPERIENCE,
|
||||
PLAYER_RUNE_REGEN_1,
|
||||
PLAYER_SELF_RES_SPELL,
|
||||
PLAYER_SHIELD_BLOCK,
|
||||
PLAYER_SHIELD_BLOCK_CRIT_PERCENTAGE,
|
||||
PLAYER_SKILL_INFO_1_1,
|
||||
PLAYER_SPELL_CRIT_PERCENTAGE1,
|
||||
PLAYER_TRACK_CREATURES,
|
||||
PLAYER_TRACK_RESOURCES,
|
||||
PLAYER_VISIBLE_ITEM_1_0,
|
||||
PLAYER_VISIBLE_ITEM_1_CREATOR,
|
||||
PLAYER_VISIBLE_ITEM_1_ENCHANTMENT,
|
||||
PLAYER_VISIBLE_ITEM_1_ENTRYID,
|
||||
PLAYER_VISIBLE_ITEM_1_PAD,
|
||||
PLAYER_VISIBLE_ITEM_1_PROPERTIES,
|
||||
PLAYER_VISIBLE_ITEM_10_ENCHANTMENT,
|
||||
PLAYER_VISIBLE_ITEM_10_ENTRYID,
|
||||
PLAYER_VISIBLE_ITEM_11_ENCHANTMENT,
|
||||
PLAYER_VISIBLE_ITEM_11_ENTRYID,
|
||||
PLAYER_VISIBLE_ITEM_12_ENCHANTMENT,
|
||||
PLAYER_VISIBLE_ITEM_12_ENTRYID,
|
||||
PLAYER_VISIBLE_ITEM_13_ENCHANTMENT,
|
||||
PLAYER_VISIBLE_ITEM_13_ENTRYID,
|
||||
PLAYER_VISIBLE_ITEM_14_ENCHANTMENT,
|
||||
PLAYER_VISIBLE_ITEM_14_ENTRYID,
|
||||
PLAYER_VISIBLE_ITEM_15_ENCHANTMENT,
|
||||
PLAYER_VISIBLE_ITEM_15_ENTRYID,
|
||||
PLAYER_VISIBLE_ITEM_16_ENCHANTMENT,
|
||||
PLAYER_VISIBLE_ITEM_16_ENTRYID,
|
||||
PLAYER_VISIBLE_ITEM_17_ENCHANTMENT,
|
||||
PLAYER_VISIBLE_ITEM_17_ENTRYID,
|
||||
PLAYER_VISIBLE_ITEM_18_ENCHANTMENT,
|
||||
PLAYER_VISIBLE_ITEM_18_ENTRYID,
|
||||
PLAYER_VISIBLE_ITEM_19_ENCHANTMENT,
|
||||
PLAYER_VISIBLE_ITEM_19_ENTRYID,
|
||||
PLAYER_VISIBLE_ITEM_2_ENCHANTMENT,
|
||||
PLAYER_VISIBLE_ITEM_2_ENTRYID,
|
||||
PLAYER_VISIBLE_ITEM_3_ENCHANTMENT,
|
||||
PLAYER_VISIBLE_ITEM_3_ENTRYID,
|
||||
PLAYER_VISIBLE_ITEM_4_ENCHANTMENT,
|
||||
PLAYER_VISIBLE_ITEM_4_ENTRYID,
|
||||
PLAYER_VISIBLE_ITEM_5_ENCHANTMENT,
|
||||
PLAYER_VISIBLE_ITEM_5_ENTRYID,
|
||||
PLAYER_VISIBLE_ITEM_6_ENCHANTMENT,
|
||||
PLAYER_VISIBLE_ITEM_6_ENTRYID,
|
||||
PLAYER_VISIBLE_ITEM_7_ENCHANTMENT,
|
||||
PLAYER_VISIBLE_ITEM_7_ENTRYID,
|
||||
PLAYER_VISIBLE_ITEM_8_ENCHANTMENT,
|
||||
PLAYER_VISIBLE_ITEM_8_ENTRYID,
|
||||
PLAYER_VISIBLE_ITEM_9_ENCHANTMENT,
|
||||
PLAYER_VISIBLE_ITEM_9_ENTRYID,
|
||||
PLAYER_VISIBLE_ITEM_LAST_0,
|
||||
PLAYER_VISIBLE_ITEM_LAST_CREATOR,
|
||||
PLAYER_VISIBLE_ITEM_LAST_PAD,
|
||||
PLAYER_VISIBLE_ITEM_LAST_PROPERTIES,
|
||||
PLAYER_XP,
|
||||
|
||||
OBJECT_FIELD_CREATED_BY,
|
||||
GAMEOBJECT_ANIMPROGRESS,
|
||||
GAMEOBJECT_ARTKIT,
|
||||
GAMEOBJECT_BYTES_1,
|
||||
GAMEOBJECT_DISPLAYID,
|
||||
GAMEOBJECT_DYN_FLAGS,
|
||||
GAMEOBJECT_DYNAMIC,
|
||||
GAMEOBJECT_FACING,
|
||||
GAMEOBJECT_FACTION,
|
||||
GAMEOBJECT_FLAGS,
|
||||
GAMEOBJECT_LEVEL,
|
||||
GAMEOBJECT_PADDING,
|
||||
GAMEOBJECT_PARENTROTATION,
|
||||
GAMEOBJECT_POS_X,
|
||||
GAMEOBJECT_POS_Y,
|
||||
GAMEOBJECT_POS_Z,
|
||||
GAMEOBJECT_ROTATION,
|
||||
GAMEOBJECT_STATE,
|
||||
GAMEOBJECT_TYPE_ID,
|
||||
|
||||
DYNAMICOBJECT_BYTES,
|
||||
DYNAMICOBJECT_CASTER,
|
||||
DYNAMICOBJECT_CASTTIME,
|
||||
DYNAMICOBJECT_FACING,
|
||||
DYNAMICOBJECT_PAD,
|
||||
DYNAMICOBJECT_POS_X,
|
||||
DYNAMICOBJECT_POS_Y,
|
||||
DYNAMICOBJECT_POS_Z,
|
||||
DYNAMICOBJECT_RADIUS,
|
||||
DYNAMICOBJECT_SPELLID,
|
||||
|
||||
CORPSE_FIELD_BYTES_1,
|
||||
CORPSE_FIELD_BYTES_2,
|
||||
CORPSE_FIELD_DISPLAY_ID,
|
||||
CORPSE_FIELD_DYNAMIC_FLAGS,
|
||||
CORPSE_FIELD_FACING,
|
||||
CORPSE_FIELD_FLAGS,
|
||||
CORPSE_FIELD_GUILD,
|
||||
CORPSE_FIELD_ITEM,
|
||||
CORPSE_FIELD_OWNER,
|
||||
CORPSE_FIELD_PAD,
|
||||
CORPSE_FIELD_PARTY,
|
||||
CORPSE_FIELD_POS_X,
|
||||
CORPSE_FIELD_POS_Y,
|
||||
CORPSE_FIELD_POS_Z,
|
||||
|
||||
UPDATEFIELDS_NAME_COUNT
|
||||
|
||||
};
|
||||
#endif
|
||||
|
||||
@ -23,6 +23,7 @@ struct OpcodeHandler
|
||||
};
|
||||
|
||||
uint32 Object::maxvalues[TYPEID_MAX];
|
||||
UpdateField Object::updatefields[UPDATEFIELDS_NAME_COUNT];
|
||||
|
||||
WorldSession::WorldSession(PseuInstance *in)
|
||||
{
|
||||
@ -38,33 +39,8 @@ WorldSession::WorldSession(PseuInstance *in)
|
||||
objmgr.SetInstance(in);
|
||||
_lag_ms = 0;
|
||||
//...
|
||||
switch(in->GetConf()->client)//TODO: Add TBC/WOTLK cases
|
||||
{
|
||||
case CLIENT_CLASSIC_WOW:
|
||||
{
|
||||
Object::maxvalues[TYPEID_OBJECT]=OBJECT_END;
|
||||
Object::maxvalues[TYPEID_ITEM]=ITEM_END_6005;
|
||||
Object::maxvalues[TYPEID_CONTAINER]=CONTAINER_END_6005;
|
||||
Object::maxvalues[TYPEID_UNIT]=UNIT_END_6005;
|
||||
Object::maxvalues[TYPEID_PLAYER]=PLAYER_END_6005;
|
||||
Object::maxvalues[TYPEID_GAMEOBJECT]=GAMEOBJECT_END_6005;
|
||||
Object::maxvalues[TYPEID_DYNAMICOBJECT]=DYNAMICOBJECT_END;
|
||||
Object::maxvalues[TYPEID_CORPSE]=CORPSE_END;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
Object::maxvalues[TYPEID_OBJECT]=OBJECT_END;
|
||||
Object::maxvalues[TYPEID_ITEM]=ITEM_END;
|
||||
Object::maxvalues[TYPEID_CONTAINER]=CONTAINER_END;
|
||||
Object::maxvalues[TYPEID_UNIT]=UNIT_END;
|
||||
Object::maxvalues[TYPEID_PLAYER]=PLAYER_END;
|
||||
Object::maxvalues[TYPEID_GAMEOBJECT]=GAMEOBJECT_END;
|
||||
Object::maxvalues[TYPEID_DYNAMICOBJECT]=DYNAMICOBJECT_END;
|
||||
Object::maxvalues[TYPEID_CORPSE]=CORPSE_END;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
_SetupObjectFields();
|
||||
|
||||
in->GetScripts()->RunScriptIfExists("_onworldsessioncreate");
|
||||
|
||||
|
||||
@ -126,6 +126,7 @@ private:
|
||||
void _DoTimedActions(void);
|
||||
void _DelayWorldPacket(WorldPacket&, uint32);
|
||||
void _HandleDelayedPackets(void);
|
||||
void _SetupObjectFields(void);
|
||||
|
||||
// Opcode Handlers
|
||||
void _HandleAuthChallengeOpcode(WorldPacket& recvPacket);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user