Core/Players: Fixed fury warriors failing to be saved to db on first save after login/respec

Port From (https://github.com/TrinityCore/TrinityCore/commit/4b29ecd749046d204fd1522b364c2ac3a9be8b64)
This commit is contained in:
hondacrx
2023-07-18 07:49:11 -04:00
parent 399ab11a10
commit e4111c7d22
+2 -3
View File
@@ -1118,7 +1118,7 @@ namespace Game.Entities
{
if (currVal == 0) // activated skill, mark as new to save into database
{
skillStatusData.State = SkillState.New;
skillStatusData.State = skillStatusData.State != SkillState.Deleted ? SkillState.New : SkillState.Changed; // skills marked as SKILL_DELETED already exist in database, mark as changed instead of new
// Set profession line
int freeProfessionSlot = FindEmptyProfessionSlotFor(id);
@@ -1175,8 +1175,7 @@ namespace Game.Entities
SetSkillPermBonus(skillStatusData.Pos, 0);
// mark as deleted so the next save will delete the data from the database
skillStatusData.State = SkillState.Deleted;
skillStatusData.State = skillStatusData.State != SkillState.New ? SkillState.Deleted : SkillState.Unchanged; // skills marked as SKILL_NEW don't exist in database (this distinction is not neccessary for deletion but for re-learning the same skill before save to db happens)
// remove all spells that related to this skill
List<SkillLineAbilityRecord> skillLineAbilities = Global.DB2Mgr.GetSkillLineAbilitiesBySkill(id);