Improved ScriptMgr with more hooks

This commit is contained in:
Yehonal
2016-08-08 11:46:34 +02:00
parent 9d3f4767c0
commit 2636b90869
5 changed files with 118 additions and 4 deletions
@@ -554,6 +554,8 @@ void AchievementMgr::SaveToDB(SQLTransaction& trans)
trans->Append(stmt);
iter->second.changed = false;
sScriptMgr->OnAchievementSave(trans, GetPlayer(), iter->first, iter->second);
}
}
@@ -581,6 +583,8 @@ void AchievementMgr::SaveToDB(SQLTransaction& trans)
}
iter->second.changed = false;
sScriptMgr->OnCriteriaSave(trans, GetPlayer(), iter->first, iter->second);
}
}
}
@@ -2041,6 +2045,8 @@ void AchievementMgr::SetCriteriaProgress(AchievementCriteriaEntry const* entry,
}
SendCriteriaUpdate(entry, progress, timeElapsed, timedCompleted);
sScriptMgr->OnCriteriaProgress(GetPlayer(), entry);
}
void AchievementMgr::RemoveCriteriaProgress(const AchievementCriteriaEntry* entry)
@@ -2138,6 +2144,8 @@ void AchievementMgr::CompletedAchievement(AchievementEntry const* achievement)
ca.date = time(NULL);
ca.changed = true;
sScriptMgr->OnAchievementComplete(GetPlayer(), achievement);
// pussywizard: set all progress counters to 0, so progress will be deleted from db during save
{
bool allRefsCompleted = true;