aboutsummaryrefslogtreecommitdiff
path: root/src/game/InstanceData.cpp
diff options
context:
space:
mode:
authorTrazom62 <none@none>2010-03-27 13:45:39 +0100
committerTrazom62 <none@none>2010-03-27 13:45:39 +0100
commit099ef2a9b6e2e1c4986878c15ce5758edba5a71c (patch)
tree7dedcc0e2460efc316554324ef0a1067b226361c /src/game/InstanceData.cpp
parenteedd43efa5b03eeb53f75d64edaddf7e25645998 (diff)
Fix InstanceData::DoCompleteAchievement (and crash in AchievementMgr::CompletedAchievement).
Remove support of no longer existing achievement "The Party is Over". Thanks JuliuSZS. Fixes issue #1318. --HG-- branch : trunk
Diffstat (limited to 'src/game/InstanceData.cpp')
-rw-r--r--src/game/InstanceData.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/game/InstanceData.cpp b/src/game/InstanceData.cpp
index 3ff804818ea..67dafee5a5e 100644
--- a/src/game/InstanceData.cpp
+++ b/src/game/InstanceData.cpp
@@ -313,13 +313,19 @@ void InstanceData::DoSendNotifyToInstance(const char *format, ...)
// Complete Achievement for all players in instance
void InstanceData::DoCompleteAchievement(uint32 achievement)
{
- AchievementEntry const* AE = GetAchievementStore()->LookupEntry(achievement);
+ AchievementEntry const* pAE = GetAchievementStore()->LookupEntry(achievement);
Map::PlayerList const &PlayerList = instance->GetPlayers();
+ if (!pAE)
+ {
+ error_log("TSCR: DoCompleteAchievement called for not existing achievement %u", achievement);
+ return;
+ }
+
if (!PlayerList.isEmpty())
for (Map::PlayerList::const_iterator i = PlayerList.begin(); i != PlayerList.end(); ++i)
if (Player *pPlayer = i->getSource())
- pPlayer->CompletedAchievement(AE);
+ pPlayer->CompletedAchievement(pAE);
}
// Update Achievement Criteria for all players in instance