diff options
author | megamage <none@none> | 2009-05-31 16:26:39 -0500 |
---|---|---|
committer | megamage <none@none> | 2009-05-31 16:26:39 -0500 |
commit | 1a360a6a970580b368918e92f9576cfcb175e12a (patch) | |
tree | de26f6e82886411b77abcf59b4bc4c319da5b39e | |
parent | 341101c171b3902b8d18d457988ed5c841d67832 (diff) |
[7926] Implement loot roll achievement criteria types used in statistics Author: DonTomika
* ACHIEVEMENT_CRITERIA_TYPE_ROLL_NEED
* ACHIEVEMENT_CRITERIA_TYPE_ROLL_GREED:
--HG--
branch : trunk
-rw-r--r-- | src/game/AchievementMgr.cpp | 6 | ||||
-rw-r--r-- | src/game/GroupHandler.cpp | 10 |
2 files changed, 14 insertions, 2 deletions
diff --git a/src/game/AchievementMgr.cpp b/src/game/AchievementMgr.cpp index f8c0de7155b..1a0d4f8c15e 100644 --- a/src/game/AchievementMgr.cpp +++ b/src/game/AchievementMgr.cpp @@ -589,6 +589,8 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui case ACHIEVEMENT_CRITERIA_TYPE_NUMBER_OF_TALENT_RESETS: case ACHIEVEMENT_CRITERIA_TYPE_WIN_DUEL: case ACHIEVEMENT_CRITERIA_TYPE_LOSE_DUEL: + case ACHIEVEMENT_CRITERIA_TYPE_ROLL_NEED: + case ACHIEVEMENT_CRITERIA_TYPE_ROLL_GREED: case ACHIEVEMENT_CRITERIA_TYPE_QUEST_ABANDONED: case ACHIEVEMENT_CRITERIA_TYPE_FLIGHT_PATHS_TAKEN: case ACHIEVEMENT_CRITERIA_TYPE_ACCEPTED_SUMMONINGS: @@ -1202,8 +1204,6 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui case ACHIEVEMENT_CRITERIA_TYPE_WON_AUCTIONS: case ACHIEVEMENT_CRITERIA_TYPE_LOOT_EPIC_ITEM: case ACHIEVEMENT_CRITERIA_TYPE_RECEIVE_EPIC_ITEM: - case ACHIEVEMENT_CRITERIA_TYPE_ROLL_NEED: - case ACHIEVEMENT_CRITERIA_TYPE_ROLL_GREED: case ACHIEVEMENT_CRITERIA_TYPE_TOTAL: break; // Not implemented yet :( } @@ -1360,6 +1360,8 @@ bool AchievementMgr::IsCompletedCriteria(AchievementCriteriaEntry const* achieve case ACHIEVEMENT_CRITERIA_TYPE_GAIN_REVERED_REPUTATION: case ACHIEVEMENT_CRITERIA_TYPE_GAIN_HONORED_REPUTATION: case ACHIEVEMENT_CRITERIA_TYPE_KNOWN_FACTIONS: + case ACHIEVEMENT_CRITERIA_TYPE_ROLL_NEED: + case ACHIEVEMENT_CRITERIA_TYPE_ROLL_GREED: case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HEALTH: case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_SPELLPOWER: case ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_ARMOR: diff --git a/src/game/GroupHandler.cpp b/src/game/GroupHandler.cpp index bc7b8626575..1a156070815 100644 --- a/src/game/GroupHandler.cpp +++ b/src/game/GroupHandler.cpp @@ -409,6 +409,16 @@ void WorldSession::HandleLootRoll( WorldPacket &recv_data ) // everything's fine, do it group->CountRollVote(GetPlayer()->GetGUID(), Guid, NumberOfPlayers, Choise); + + switch (Choise) + { + case 1: + GetPlayer()->GetAchievementMgr().UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_ROLL_NEED, 1); + break; + case 2: + GetPlayer()->GetAchievementMgr().UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_ROLL_GREED, 1); + break; + } } void WorldSession::HandleMinimapPingOpcode(WorldPacket& recv_data) |