Core/Items: Fixed crash in selecting azerite essences
Port From (https://github.com/TrinityCore/TrinityCore/commit/bec4ed0f16d100f74c76e4aca06ed9ea42e21ec4)
This commit is contained in:
@@ -167,14 +167,14 @@ namespace Game.Entities
|
||||
selectedEssences.ModifyValue(selectedEssences.AzeriteEssenceID, i) = selectedEssenceData.AzeriteEssenceId[i];
|
||||
}
|
||||
|
||||
if (owner.GetPrimarySpecialization() == selectedEssenceData.SpecializationId)
|
||||
if (owner != null && owner.GetPrimarySpecialization() == selectedEssenceData.SpecializationId)
|
||||
selectedEssences.ModifyValue(selectedEssences.Enabled).SetValue(1);
|
||||
|
||||
AddDynamicUpdateFieldValue(m_values.ModifyValue(m_azeriteItemData).ModifyValue(m_azeriteItemData.SelectedEssences), selectedEssences);
|
||||
}
|
||||
|
||||
// add selected essences for current spec
|
||||
if (GetSelectedAzeriteEssences() == null)
|
||||
if (owner != null && GetSelectedAzeriteEssences() == null)
|
||||
CreateSelectedAzeriteEssences(owner.GetPrimarySpecialization());
|
||||
|
||||
if (needSave)
|
||||
@@ -372,6 +372,14 @@ namespace Game.Entities
|
||||
return null;
|
||||
}
|
||||
|
||||
public void CreateSelectedAzeriteEssences(uint specializationId)
|
||||
{
|
||||
SelectedAzeriteEssences selectedEssences = new SelectedAzeriteEssences();
|
||||
selectedEssences.ModifyValue(selectedEssences.SpecializationID).SetValue(specializationId);
|
||||
selectedEssences.ModifyValue(selectedEssences.Enabled).SetValue(1);
|
||||
AddDynamicUpdateFieldValue(m_values.ModifyValue(m_azeriteItemData).ModifyValue(m_azeriteItemData.SelectedEssences), selectedEssences);
|
||||
}
|
||||
|
||||
public void SetSelectedAzeriteEssences(uint specializationId)
|
||||
{
|
||||
int index = m_azeriteItemData.SelectedEssences.FindIndexIf(essences => { return essences.Enabled == 1; });
|
||||
@@ -487,14 +495,6 @@ namespace Game.Entities
|
||||
hasPreviousMilestone = false;
|
||||
}
|
||||
}
|
||||
|
||||
void CreateSelectedAzeriteEssences(uint specializationId)
|
||||
{
|
||||
var selectedEssences = new SelectedAzeriteEssences();
|
||||
selectedEssences.ModifyValue(selectedEssences.SpecializationID).SetValue(specializationId);
|
||||
selectedEssences.ModifyValue(selectedEssences.Enabled).SetValue(1);
|
||||
AddDynamicUpdateFieldValue(m_values.ModifyValue(m_azeriteItemData).ModifyValue(m_azeriteItemData.SelectedEssences), selectedEssences);
|
||||
}
|
||||
}
|
||||
|
||||
public class AzeriteItemSelectedEssencesData
|
||||
|
||||
Reference in New Issue
Block a user