Core/Achievements: multiple changes

- Fix crash when updating criteria with no reference player
- Update progress counter to uint64
- Remove hack introduced for achievement 318 (conditions are already checked in additionalConditions)
- Add extra parameter miscValue3 (needed for type "LOOT_TYPE" with additionalConditions "ITEM_SUBCLASS")
- Correct definition for Additional conditions: 11 (HAS_AURA_TYPE), 17 (SOURCE_AREA_OR_ZONE), 18 (TARGET_AREA_OR_ZONE), 41 (TARGET_ZONE)
This commit is contained in:
Spp
2012-11-12 14:25:51 +01:00
parent 5c6af8d1f3
commit 16d9d1e56d
13 changed files with 146 additions and 112 deletions

View File

@@ -3450,7 +3450,7 @@ void Guild::GiveXP(uint32 xp, Player* source)
}
AddGuildNews(GUILD_NEWS_LEVEL_UP, 0, 0, _level);
UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_REACH_GUILD_LEVEL, GetLevel(), 0, NULL, source);
UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_REACH_GUILD_LEVEL, GetLevel(), 0, 0, NULL, source);
}
void Guild::SendGuildXP(WorldSession* session /* = NULL */) const
@@ -3513,9 +3513,9 @@ bool Guild::HasAchieved(uint32 achievementId) const
return m_achievementMgr.HasAchieved(achievementId);
}
void Guild::UpdateAchievementCriteria(AchievementCriteriaTypes type, uint32 miscValue1, uint32 miscValue2, Unit* unit, Player* player)
void Guild::UpdateAchievementCriteria(AchievementCriteriaTypes type, uint64 miscValue1, uint64 miscValue2, uint64 miscValue3, Unit* unit, Player* player)
{
m_achievementMgr.UpdateAchievementCriteria(type, miscValue1, miscValue2, unit, player);
m_achievementMgr.UpdateAchievementCriteria(type, miscValue1, miscValue2, miscValue3, unit, player);
}
void Guild::HandleNewsSetSticky(WorldSession* session, uint32 newsId, bool sticky)