aboutsummaryrefslogtreecommitdiff
path: root/src/game
diff options
context:
space:
mode:
authorTrazom62 <none@none>2010-03-23 19:15:17 +0100
committerTrazom62 <none@none>2010-03-23 19:15:17 +0100
commit1e9de7dbd776316a138d965dba84696e5ec354e0 (patch)
tree81aa0572d7f7dbe5248fb8e68277f5d84315da54 /src/game
parentcfc094040f7ce3924fd024c93c82eaf0b0498c8d (diff)
Implement Four-Horsemen achievements (requires DB Data).
Fixes issue #1107. --HG-- branch : trunk
Diffstat (limited to 'src/game')
-rw-r--r--src/game/InstanceData.cpp11
-rw-r--r--src/game/InstanceData.h3
2 files changed, 14 insertions, 0 deletions
diff --git a/src/game/InstanceData.cpp b/src/game/InstanceData.cpp
index cc42a453ea8..3ff804818ea 100644
--- a/src/game/InstanceData.cpp
+++ b/src/game/InstanceData.cpp
@@ -322,6 +322,17 @@ void InstanceData::DoCompleteAchievement(uint32 achievement)
pPlayer->CompletedAchievement(AE);
}
+// Update Achievement Criteria for all players in instance
+void InstanceData::DoUpdateAchievementCriteria(AchievementCriteriaTypes type, uint32 miscvalue1, uint32 miscvalue2, Unit *unit, uint32 time)
+{
+ Map::PlayerList const &PlayerList = instance->GetPlayers();
+
+ if (!PlayerList.isEmpty())
+ for (Map::PlayerList::const_iterator i = PlayerList.begin(); i != PlayerList.end(); ++i)
+ if (Player *pPlayer = i->getSource())
+ pPlayer->UpdateAchievementCriteria(type, miscvalue1, miscvalue2, unit, time);
+}
+
// Remove Auras due to Spell on all players in instance
void InstanceData::DoRemoveAurasDueToSpellOnPlayers(uint32 spell)
{
diff --git a/src/game/InstanceData.h b/src/game/InstanceData.h
index e6fcb25b355..eb4581a84b9 100644
--- a/src/game/InstanceData.h
+++ b/src/game/InstanceData.h
@@ -158,6 +158,9 @@ class InstanceData : public ZoneScript
// Complete Achievement for all players in instance
void DoCompleteAchievement(uint32 achievement);
+ // Update Achievement Criteria for all players in instance
+ void DoUpdateAchievementCriteria(AchievementCriteriaTypes type, uint32 miscvalue1=0, uint32 miscvalue2=0, Unit *unit=NULL, uint32 time=0);
+
// Remove Auras due to Spell on all players in instance
void DoRemoveAurasDueToSpellOnPlayers(uint32 spell);