Fixed DB2 loading and world login!!!!!
This commit is contained in:
@@ -82,13 +82,14 @@ namespace Game.Entities
|
||||
|
||||
public void EncodeDynamicFieldChangeType(DynamicFieldChangeType changeType, UpdateType updateType)
|
||||
{
|
||||
_updateType = updateType;
|
||||
DynamicFieldChangeType = (uint)(_blockCount | ((uint)(changeType & Entities.DynamicFieldChangeType.ValueAndSizeChanged) * ((3 - (int)updateType /*this part evaluates to 0 if update type is not VALUES*/) / 3)));
|
||||
}
|
||||
|
||||
public override void AppendToPacket(ByteBuffer data)
|
||||
{
|
||||
data.WriteUInt16(DynamicFieldChangeType);
|
||||
if (DynamicFieldChangeType.HasAnyFlag((uint)Entities.DynamicFieldChangeType.ValueAndSizeChanged))
|
||||
if (DynamicFieldChangeType.HasAnyFlag((uint)Entities.DynamicFieldChangeType.ValueAndSizeChanged) && _updateType == UpdateType.Values)
|
||||
data.WriteUInt32(_fieldCount);
|
||||
|
||||
var maskArray = new byte[_blockCount << 2];
|
||||
@@ -98,6 +99,7 @@ namespace Game.Entities
|
||||
}
|
||||
|
||||
public uint DynamicFieldChangeType;
|
||||
public UpdateType _updateType;
|
||||
}
|
||||
|
||||
public enum DynamicFieldChangeType
|
||||
|
||||
@@ -155,8 +155,8 @@ namespace Game.Entities
|
||||
{
|
||||
flags.ThisIsYou = true;
|
||||
flags.ActivePlayer = true;
|
||||
tempObjectType = TypeId.Player;
|
||||
tempObjectTypeMask |= TypeMask.Player;
|
||||
tempObjectType = TypeId.ActivePlayer;
|
||||
tempObjectTypeMask |= TypeMask.ActivePlayer;
|
||||
}
|
||||
|
||||
switch (GetGUID().GetHigh())
|
||||
|
||||
@@ -2424,9 +2424,9 @@ namespace Game.Entities
|
||||
SetMoney(money);
|
||||
|
||||
Array<byte> customDisplay = new Array<byte>(PlayerConst.CustomDisplaySize);
|
||||
customDisplay.Add(result.Read<byte>(14));
|
||||
customDisplay.Add(result.Read<byte>(15));
|
||||
customDisplay.Add(result.Read<byte>(16));
|
||||
customDisplay[0] = result.Read<byte>(14);
|
||||
customDisplay[1] = result.Read<byte>(15);
|
||||
customDisplay[2] = result.Read<byte>(16);
|
||||
|
||||
SetByteValue(PlayerFields.Bytes, PlayerFieldOffsets.BytesOffsetSkinId, result.Read<byte>(9));
|
||||
SetByteValue(PlayerFields.Bytes, PlayerFieldOffsets.BytesOffsetFaceId, result.Read<byte>(10));
|
||||
|
||||
@@ -320,7 +320,7 @@ namespace Game.Entities
|
||||
for (byte i = 0; i < PlayerConst.MaxSpecializations; ++i)
|
||||
{
|
||||
Talents[i] = new Dictionary<uint, PlayerSpellState>();
|
||||
PvpTalents[i] = new Array<uint>(PlayerConst.MaxPvpTalentSlots);
|
||||
PvpTalents[i] = new Array<uint>(PlayerConst.MaxPvpTalentSlots, 0);
|
||||
Glyphs[i] = new List<uint>();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ namespace Game.Entities
|
||||
|
||||
public void Initialize()
|
||||
{
|
||||
if (m_graph.NumberOfVertices > 0)
|
||||
if (m_graph != null)
|
||||
return;
|
||||
|
||||
List<Tuple<Tuple<uint, uint>, uint>> edges = new List<Tuple<Tuple<uint, uint>, uint>>();
|
||||
|
||||
@@ -1564,7 +1564,8 @@ namespace Game.Entities
|
||||
MoveTeleport moveTeleport = new MoveTeleport();
|
||||
moveTeleport.MoverGUID = GetGUID();
|
||||
moveTeleport.Pos = new Position(x, y, z, o);
|
||||
moveTeleport.TransportGUID.Set(GetTransGUID());
|
||||
if (GetTransGUID() != ObjectGuid.Empty)
|
||||
moveTeleport.TransportGUID.Set(GetTransGUID());
|
||||
moveTeleport.Facing = o;
|
||||
moveTeleport.SequenceIndex = m_movementCounter++;
|
||||
playerMover.SendPacket(moveTeleport);
|
||||
|
||||
Reference in New Issue
Block a user