From b47520a500e3330fe903ecd1c2ffa25548a7327d Mon Sep 17 00:00:00 2001 From: VladimirMangos Date: Sun, 7 Mar 2010 15:30:29 +0300 Subject: [PATCH] [9543] Really call ACHIEVEMENT_CRITERIA_TYPE_WIN_BG Also make more wide set achievement type criterias expected requirement in DB table. Original patch in achievement call part provided BudIcePenguin. Prepared to mangos sources by Burned@ru-mangos.ru --- src/game/AchievementMgr.cpp | 4 ++-- src/game/BattleGround.cpp | 1 + src/shared/revision_nr.h | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/game/AchievementMgr.cpp b/src/game/AchievementMgr.cpp index 0c27304af..367d68a8d 100644 --- a/src/game/AchievementMgr.cpp +++ b/src/game/AchievementMgr.cpp @@ -784,7 +784,7 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui if (achievementCriteria->win_bg.bgMapID != GetPlayer()->GetMapId()) continue; - if (achievementCriteria->win_bg.additionalRequirement1_type) + if (achievementCriteria->win_bg.additionalRequirement1_type || achievementCriteria->win_bg.additionalRequirement2_type) { // those requirements couldn't be found in the dbc AchievementCriteriaRequirementSet const* data = sAchievementMgr.GetCriteriaRequirementSet(achievementCriteria); @@ -2021,7 +2021,7 @@ void AchievementGlobalMgr::LoadAchievementCriteriaRequirements() switch(criteria->requiredType) { case ACHIEVEMENT_CRITERIA_TYPE_WIN_BG: - if(!criteria->win_bg.additionalRequirement1_type) + if(!criteria->win_bg.additionalRequirement1_type && !criteria->win_bg.additionalRequirement2_type) continue; break; case ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE: diff --git a/src/game/BattleGround.cpp b/src/game/BattleGround.cpp index 1f271ff67..4ef7cae78 100644 --- a/src/game/BattleGround.cpp +++ b/src/game/BattleGround.cpp @@ -797,6 +797,7 @@ void BattleGround::EndBattleGround(uint32 winner) { RewardMark(plr,ITEM_WINNER_COUNT); RewardQuestComplete(plr); + plr->GetAchievementMgr().UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_WIN_BG, 1); } else RewardMark(plr,ITEM_LOSER_COUNT); diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index b6e1c19fe..27ef34d56 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "9542" + #define REVISION_NR "9543" #endif // __REVISION_NR_H__