Core/PacketIO: Fix structure for SelectedAzeriteEssences and name unknown conversation fields
Port From (https://github.com/TrinityCore/TrinityCore/commit/d80593061fb19cf5b131812d9c548d911f4d630f)
This commit is contained in:
@@ -175,7 +175,7 @@ namespace Game.Entities
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (owner != null && owner.GetPrimarySpecialization() == selectedEssenceData.SpecializationId)
|
if (owner != null && owner.GetPrimarySpecialization() == selectedEssenceData.SpecializationId)
|
||||||
selectedEssences.ModifyValue(selectedEssences.Enabled).SetValue(1);
|
selectedEssences.ModifyValue(selectedEssences.Enabled).SetValue(true);
|
||||||
|
|
||||||
AddDynamicUpdateFieldValue(m_values.ModifyValue(m_azeriteItemData).ModifyValue(m_azeriteItemData.SelectedEssences), selectedEssences);
|
AddDynamicUpdateFieldValue(m_values.ModifyValue(m_azeriteItemData).ModifyValue(m_azeriteItemData.SelectedEssences), selectedEssences);
|
||||||
}
|
}
|
||||||
@@ -377,7 +377,7 @@ namespace Game.Entities
|
|||||||
public SelectedAzeriteEssences GetSelectedAzeriteEssences()
|
public SelectedAzeriteEssences GetSelectedAzeriteEssences()
|
||||||
{
|
{
|
||||||
foreach (SelectedAzeriteEssences essences in m_azeriteItemData.SelectedEssences)
|
foreach (SelectedAzeriteEssences essences in m_azeriteItemData.SelectedEssences)
|
||||||
if (essences.Enabled != 0)
|
if (essences.Enabled)
|
||||||
return essences;
|
return essences;
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
@@ -387,17 +387,17 @@ namespace Game.Entities
|
|||||||
{
|
{
|
||||||
SelectedAzeriteEssences selectedEssences = new SelectedAzeriteEssences();
|
SelectedAzeriteEssences selectedEssences = new SelectedAzeriteEssences();
|
||||||
selectedEssences.ModifyValue(selectedEssences.SpecializationID).SetValue(specializationId);
|
selectedEssences.ModifyValue(selectedEssences.SpecializationID).SetValue(specializationId);
|
||||||
selectedEssences.ModifyValue(selectedEssences.Enabled).SetValue(1);
|
selectedEssences.ModifyValue(selectedEssences.Enabled).SetValue(true);
|
||||||
AddDynamicUpdateFieldValue(m_values.ModifyValue(m_azeriteItemData).ModifyValue(m_azeriteItemData.SelectedEssences), selectedEssences);
|
AddDynamicUpdateFieldValue(m_values.ModifyValue(m_azeriteItemData).ModifyValue(m_azeriteItemData.SelectedEssences), selectedEssences);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetSelectedAzeriteEssences(uint specializationId)
|
public void SetSelectedAzeriteEssences(uint specializationId)
|
||||||
{
|
{
|
||||||
int index = m_azeriteItemData.SelectedEssences.FindIndexIf(essences => { return essences.Enabled == 1; });
|
int index = m_azeriteItemData.SelectedEssences.FindIndexIf(essences => { return essences.Enabled; });
|
||||||
if (index >= 0)
|
if (index >= 0)
|
||||||
{
|
{
|
||||||
SelectedAzeriteEssences selectedEssences = m_values.ModifyValue(m_azeriteItemData).ModifyValue(m_azeriteItemData.SelectedEssences, index);
|
SelectedAzeriteEssences selectedEssences = m_values.ModifyValue(m_azeriteItemData).ModifyValue(m_azeriteItemData.SelectedEssences, index);
|
||||||
SetUpdateFieldValue(selectedEssences.ModifyValue(selectedEssences.Enabled), 0u);
|
SetUpdateFieldValue(selectedEssences.ModifyValue(selectedEssences.Enabled), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
index = m_azeriteItemData.SelectedEssences.FindIndexIf(essences =>
|
index = m_azeriteItemData.SelectedEssences.FindIndexIf(essences =>
|
||||||
@@ -408,7 +408,7 @@ namespace Game.Entities
|
|||||||
if (index >= 0)
|
if (index >= 0)
|
||||||
{
|
{
|
||||||
SelectedAzeriteEssences selectedEssences = m_values.ModifyValue(m_azeriteItemData).ModifyValue(m_azeriteItemData.SelectedEssences, index);
|
SelectedAzeriteEssences selectedEssences = m_values.ModifyValue(m_azeriteItemData).ModifyValue(m_azeriteItemData.SelectedEssences, index);
|
||||||
SetUpdateFieldValue(selectedEssences.ModifyValue(selectedEssences.Enabled), 1u);
|
SetUpdateFieldValue(selectedEssences.ModifyValue(selectedEssences.Enabled), true);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
CreateSelectedAzeriteEssences(specializationId);
|
CreateSelectedAzeriteEssences(specializationId);
|
||||||
@@ -417,7 +417,7 @@ namespace Game.Entities
|
|||||||
public void SetSelectedAzeriteEssence(int slot, uint azeriteEssenceId)
|
public void SetSelectedAzeriteEssence(int slot, uint azeriteEssenceId)
|
||||||
{
|
{
|
||||||
//ASSERT(slot < MAX_AZERITE_ESSENCE_SLOT);
|
//ASSERT(slot < MAX_AZERITE_ESSENCE_SLOT);
|
||||||
int index = m_azeriteItemData.SelectedEssences.FindIndexIf(essences => { return essences.Enabled == 1; });
|
int index = m_azeriteItemData.SelectedEssences.FindIndexIf(essences => { return essences.Enabled; });
|
||||||
//ASSERT(index >= 0);
|
//ASSERT(index >= 0);
|
||||||
SelectedAzeriteEssences selectedEssences = m_values.ModifyValue(m_azeriteItemData).ModifyValue(m_azeriteItemData.SelectedEssences, index);
|
SelectedAzeriteEssences selectedEssences = m_values.ModifyValue(m_azeriteItemData).ModifyValue(m_azeriteItemData.SelectedEssences, index);
|
||||||
SetUpdateFieldValue(ref selectedEssences.ModifyValue(selectedEssences.AzeriteEssenceID, slot), azeriteEssenceId);
|
SetUpdateFieldValue(ref selectedEssences.ModifyValue(selectedEssences.AzeriteEssenceID, slot), azeriteEssenceId);
|
||||||
|
|||||||
@@ -755,8 +755,8 @@ namespace Game.Entities
|
|||||||
|
|
||||||
public class SelectedAzeriteEssences : BaseUpdateData<AzeriteItem>
|
public class SelectedAzeriteEssences : BaseUpdateData<AzeriteItem>
|
||||||
{
|
{
|
||||||
public UpdateField<uint> SpecializationID = new UpdateField<uint>(0, 1);
|
public UpdateField<bool> Enabled = new UpdateField<bool>(0, 1);
|
||||||
public UpdateField<uint> Enabled = new UpdateField<uint>(0, 2);
|
public UpdateField<uint> SpecializationID = new UpdateField<uint>(0, 2);
|
||||||
public UpdateFieldArray<uint> AzeriteEssenceID = new UpdateFieldArray<uint>(4, 3, 4);
|
public UpdateFieldArray<uint> AzeriteEssenceID = new UpdateFieldArray<uint>(4, 3, 4);
|
||||||
|
|
||||||
public SelectedAzeriteEssences() : base(8) { }
|
public SelectedAzeriteEssences() : base(8) { }
|
||||||
@@ -768,7 +768,7 @@ namespace Game.Entities
|
|||||||
data.WriteUInt32(AzeriteEssenceID[i]);
|
data.WriteUInt32(AzeriteEssenceID[i]);
|
||||||
}
|
}
|
||||||
data.WriteUInt32(SpecializationID);
|
data.WriteUInt32(SpecializationID);
|
||||||
data.WriteBits(Enabled, 1);
|
data.WriteBit(Enabled);
|
||||||
data.FlushBits();
|
data.FlushBits();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -782,16 +782,19 @@ namespace Game.Entities
|
|||||||
if (changesMask.GetBlock(0) != 0)
|
if (changesMask.GetBlock(0) != 0)
|
||||||
data.WriteBits(changesMask.GetBlock(0), 32);
|
data.WriteBits(changesMask.GetBlock(0), 32);
|
||||||
|
|
||||||
data.FlushBits();
|
|
||||||
if (changesMask[0])
|
if (changesMask[0])
|
||||||
{
|
{
|
||||||
if (changesMask[1])
|
if (changesMask[1])
|
||||||
{
|
{
|
||||||
data.WriteUInt32(SpecializationID);
|
data.WriteBit(Enabled);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
data.FlushBits();
|
||||||
|
if (changesMask[0])
|
||||||
|
{
|
||||||
if (changesMask[2])
|
if (changesMask[2])
|
||||||
{
|
{
|
||||||
data.WriteBits(Enabled, 1);
|
data.WriteUInt32(SpecializationID);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (changesMask[3])
|
if (changesMask[3])
|
||||||
@@ -810,8 +813,8 @@ namespace Game.Entities
|
|||||||
|
|
||||||
public override void ClearChangesMask()
|
public override void ClearChangesMask()
|
||||||
{
|
{
|
||||||
ClearChangesMask(SpecializationID);
|
|
||||||
ClearChangesMask(Enabled);
|
ClearChangesMask(Enabled);
|
||||||
|
ClearChangesMask(SpecializationID);
|
||||||
ClearChangesMask(AzeriteEssenceID);
|
ClearChangesMask(AzeriteEssenceID);
|
||||||
_changesMask.ResetAll();
|
_changesMask.ResetAll();
|
||||||
}
|
}
|
||||||
@@ -852,7 +855,6 @@ namespace Game.Entities
|
|||||||
{
|
{
|
||||||
data.WriteUInt32(UnlockedEssenceMilestones[i]);
|
data.WriteUInt32(UnlockedEssenceMilestones[i]);
|
||||||
}
|
}
|
||||||
data.FlushBits();
|
|
||||||
if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag.Owner))
|
if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag.Owner))
|
||||||
{
|
{
|
||||||
data.WriteBit(Enabled);
|
data.WriteBit(Enabled);
|
||||||
@@ -2584,7 +2586,6 @@ namespace Game.Entities
|
|||||||
{
|
{
|
||||||
ArenaCooldowns[i].WriteCreate(data, owner, receiver);
|
ArenaCooldowns[i].WriteCreate(data, owner, receiver);
|
||||||
}
|
}
|
||||||
data.FlushBits();
|
|
||||||
if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag.PartyMember))
|
if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag.PartyMember))
|
||||||
{
|
{
|
||||||
data.WriteBit((bool)HasQuestSession);
|
data.WriteBit((bool)HasQuestSession);
|
||||||
@@ -5353,7 +5354,6 @@ namespace Game.Entities
|
|||||||
data.WriteVector2(Points[i]);
|
data.WriteVector2(Points[i]);
|
||||||
}
|
}
|
||||||
data.WriteUInt32(ParameterCurve);
|
data.WriteUInt32(ParameterCurve);
|
||||||
data.FlushBits();
|
|
||||||
data.WriteBit((bool)OverrideActive);
|
data.WriteBit((bool)OverrideActive);
|
||||||
data.FlushBits();
|
data.FlushBits();
|
||||||
}
|
}
|
||||||
@@ -5625,7 +5625,7 @@ namespace Game.Entities
|
|||||||
public uint CreatureID;
|
public uint CreatureID;
|
||||||
public uint CreatureDisplayInfoID;
|
public uint CreatureDisplayInfoID;
|
||||||
public ObjectGuid ActorGUID;
|
public ObjectGuid ActorGUID;
|
||||||
public int Field_18;
|
public int Id;
|
||||||
public ConversationActorType Type;
|
public ConversationActorType Type;
|
||||||
public uint NoActorObject;
|
public uint NoActorObject;
|
||||||
|
|
||||||
@@ -5634,7 +5634,7 @@ namespace Game.Entities
|
|||||||
data.WriteUInt32(CreatureID);
|
data.WriteUInt32(CreatureID);
|
||||||
data.WriteUInt32(CreatureDisplayInfoID);
|
data.WriteUInt32(CreatureDisplayInfoID);
|
||||||
data.WritePackedGuid(ActorGUID);
|
data.WritePackedGuid(ActorGUID);
|
||||||
data.WriteInt32(Field_18);
|
data.WriteInt32(Id);
|
||||||
data.WriteBits(Type, 1);
|
data.WriteBits(Type, 1);
|
||||||
data.WriteBits(NoActorObject, 1);
|
data.WriteBits(NoActorObject, 1);
|
||||||
data.FlushBits();
|
data.FlushBits();
|
||||||
@@ -5645,7 +5645,7 @@ namespace Game.Entities
|
|||||||
data.WriteUInt32(CreatureID);
|
data.WriteUInt32(CreatureID);
|
||||||
data.WriteUInt32(CreatureDisplayInfoID);
|
data.WriteUInt32(CreatureDisplayInfoID);
|
||||||
data.WritePackedGuid(ActorGUID);
|
data.WritePackedGuid(ActorGUID);
|
||||||
data.WriteInt32(Field_18);
|
data.WriteInt32(Id);
|
||||||
data.WriteBits(Type, 1);
|
data.WriteBits(Type, 1);
|
||||||
data.WriteBits(NoActorObject, 1);
|
data.WriteBits(NoActorObject, 1);
|
||||||
data.FlushBits();
|
data.FlushBits();
|
||||||
@@ -5657,7 +5657,7 @@ namespace Game.Entities
|
|||||||
public UpdateField<List<ConversationLine>> Lines = new UpdateField<List<ConversationLine>>(0, 1);
|
public UpdateField<List<ConversationLine>> Lines = new UpdateField<List<ConversationLine>>(0, 1);
|
||||||
public DynamicUpdateField<ConversationActor> Actors = new DynamicUpdateField<ConversationActor>(0, 2);
|
public DynamicUpdateField<ConversationActor> Actors = new DynamicUpdateField<ConversationActor>(0, 2);
|
||||||
public UpdateField<uint> LastLineEndTime = new UpdateField<uint>(0, 3);
|
public UpdateField<uint> LastLineEndTime = new UpdateField<uint>(0, 3);
|
||||||
public UpdateField<uint> Field_1C = new UpdateField<uint>(0, 4);
|
public UpdateField<uint> Progress = new UpdateField<uint>(0, 4);
|
||||||
|
|
||||||
public ConversationData() : base(0, TypeId.Conversation, 5) { }
|
public ConversationData() : base(0, TypeId.Conversation, 5) { }
|
||||||
|
|
||||||
@@ -5665,7 +5665,7 @@ namespace Game.Entities
|
|||||||
{
|
{
|
||||||
data.WriteInt32(((List<ConversationLine>)Lines).Count);
|
data.WriteInt32(((List<ConversationLine>)Lines).Count);
|
||||||
data.WriteUInt32(LastLineEndTime);
|
data.WriteUInt32(LastLineEndTime);
|
||||||
data.WriteUInt32(Field_1C);
|
data.WriteUInt32(Progress);
|
||||||
for (int i = 0; i < ((List<ConversationLine>)Lines).Count; ++i)
|
for (int i = 0; i < ((List<ConversationLine>)Lines).Count; ++i)
|
||||||
{
|
{
|
||||||
((List<ConversationLine>)Lines)[i].WriteCreate(data, owner, receiver);
|
((List<ConversationLine>)Lines)[i].WriteCreate(data, owner, receiver);
|
||||||
@@ -5728,7 +5728,7 @@ namespace Game.Entities
|
|||||||
}
|
}
|
||||||
if (_changesMask[4])
|
if (_changesMask[4])
|
||||||
{
|
{
|
||||||
data.WriteUInt32(Field_1C);
|
data.WriteUInt32(Progress);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -5738,7 +5738,7 @@ namespace Game.Entities
|
|||||||
ClearChangesMask(Lines);
|
ClearChangesMask(Lines);
|
||||||
ClearChangesMask(Actors);
|
ClearChangesMask(Actors);
|
||||||
ClearChangesMask(LastLineEndTime);
|
ClearChangesMask(LastLineEndTime);
|
||||||
ClearChangesMask(Field_1C);
|
ClearChangesMask(Progress);
|
||||||
_changesMask.ResetAll();
|
_changesMask.ResetAll();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user