Core/Items: Fixed crash when saving azerite items with REMOVED state

Port From (https://github.com/TrinityCore/TrinityCore/commit/16321877f6dfaec1d919ecd4c5bf49a1b5f6788d)
This commit is contained in:
hondacrx
2019-12-05 23:01:40 -05:00
parent 5b9ad41953
commit 8c30f80048
2 changed files with 57 additions and 44 deletions
@@ -52,18 +52,24 @@ namespace Game.Entities
public override void SaveToDB(SQLTransaction trans)
{
base.SaveToDB(trans);
PreparedStatement stmt = DB.Characters.GetPreparedStatement(CharStatements.DEL_ITEM_INSTANCE_AZERITE_EMPOWERED);
stmt.AddValue(0, GetGUID().GetCounter());
trans.Append(stmt);
stmt = DB.Characters.GetPreparedStatement(CharStatements.INS_ITEM_INSTANCE_AZERITE_EMPOWERED);
stmt.AddValue(0, GetGUID().GetCounter());
for (int i = 0; i < SharedConst.MaxAzeriteEmpoweredTier; ++i)
stmt.AddValue(1 + i, m_azeriteEmpoweredItemData.Selections[i]);
switch (GetState())
{
case ItemUpdateState.New:
case ItemUpdateState.Changed:
stmt = DB.Characters.GetPreparedStatement(CharStatements.INS_ITEM_INSTANCE_AZERITE_EMPOWERED);
stmt.AddValue(0, GetGUID().GetCounter());
for (int i = 0; i < SharedConst.MaxAzeriteEmpoweredTier; ++i)
stmt.AddValue(1 + i, m_azeriteEmpoweredItemData.Selections[i]);
trans.Append(stmt);
trans.Append(stmt);
break;
}
base.SaveToDB(trans);
}
public void LoadAzeriteEmpoweredItemData(Player owner, AzeriteEmpoweredData azeriteEmpoweredItem)