aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnubisss <none@none>2009-08-09 19:10:51 +0200
committerAnubisss <none@none>2009-08-09 19:10:51 +0200
commit81337a154709a8beae2a0c6964c767a7565abf61 (patch)
tree772249ebbad560844e37fd8ad112c15907721d15
parentcd0bdade03dcfb7a8bfb37e28a3a38335aa39e68 (diff)
*Fix achievement Respect Your Elders.
--HG-- branch : trunk
-rw-r--r--src/bindings/scripts/scripts/zone/azjol_nerub/ahnkahet/boss_elder_nadox.cpp34
1 files changed, 32 insertions, 2 deletions
diff --git a/src/bindings/scripts/scripts/zone/azjol_nerub/ahnkahet/boss_elder_nadox.cpp b/src/bindings/scripts/scripts/zone/azjol_nerub/ahnkahet/boss_elder_nadox.cpp
index 38b5b55d1d7..e0bb2360ad1 100644
--- a/src/bindings/scripts/scripts/zone/azjol_nerub/ahnkahet/boss_elder_nadox.cpp
+++ b/src/bindings/scripts/scripts/zone/azjol_nerub/ahnkahet/boss_elder_nadox.cpp
@@ -26,6 +26,10 @@ EndScriptData */
#include "precompiled.h"
#include "def_ahnkahet.h"
+bool DeadAhnkaharGuardian; // needed for achievement: Respect Your Elders(2038)
+
+#define ACHIEVEMENT_RESPECT_YOUR_ELDERS 2038
+
#define SAY_AGGRO -1619014
#define SAY_SLAY_1 -1619015
#define SAY_SLAY_2 -1619016
@@ -42,7 +46,7 @@ EndScriptData */
#define MOB_AHNKAHAR_SWARMER 30178
#define SPELL_SUMMON_SWARMERS 56119//2x 30178 -- 2x every 10secs
-#define MOB_AHNKAHAR_SWARM_GUARD 30176
+#define MOB_AHNKAHAR_GUARDIAN_ENTRY 30176
#define SPELL_SUMMON_SWARM_GUARD 56120//1x 30176 -- every 25secs
#define SPELL_GUARDIAN_AURA 56151
@@ -75,6 +79,8 @@ struct TRINITY_DLL_DECL boss_elder_nadoxAI : public ScriptedAI
enrage_Timer = 5000;
+ DeadAhnkaharGuardian = false;
+
if(pInstance)
pInstance->SetData(DATA_ELDER_NADOX_EVENT, NOT_STARTED);
}
@@ -103,6 +109,21 @@ struct TRINITY_DLL_DECL boss_elder_nadoxAI : public ScriptedAI
{
DoScriptText(SAY_SLAY_3,m_creature);
+ if(HeroicMode && !DeadAhnkaharGuardian)
+ {
+ AchievementEntry const *AchievRespectYourElders = GetAchievementStore()->LookupEntry(ACHIEVEMENT_RESPECT_YOUR_ELDERS);
+ if(AchievRespectYourElders)
+ {
+ Map *map = m_creature->GetMap();
+ if(map && map->IsDungeon())
+ {
+ Map::PlayerList const &players = map->GetPlayers();
+ for(Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
+ itr->getSource()->CompletedAchievement(AchievRespectYourElders);
+ }
+ }
+ }
+
if(pInstance)
pInstance->SetData(DATA_ELDER_NADOX_EVENT, DONE);
}
@@ -177,13 +198,14 @@ CreatureAI* GetAI_boss_elder_nadox(Creature *_Creature)
{
return new boss_elder_nadoxAI(_Creature);
}
+
#define SPELL_SPRINT 56354
+
struct TRINITY_DLL_DECL mob_ahnkahar_nerubianAI : public ScriptedAI
{
mob_ahnkahar_nerubianAI(Creature *c) : ScriptedAI(c)
{
pInstance = c->GetInstanceData();
- Reset();
}
ScriptedInstance *pInstance;
@@ -195,7 +217,15 @@ struct TRINITY_DLL_DECL mob_ahnkahar_nerubianAI : public ScriptedAI
DoCast(m_creature,SPELL_GUARDIAN_AURA,true);
sprint_Timer = 10000;
}
+
+ void JustDied(Unit *killer)
+ {
+ if(m_creature->GetEntry() == MOB_AHNKAHAR_GUARDIAN_ENTRY)
+ DeadAhnkaharGuardian = true;
+ }
+
void EnterCombat(Unit *who){}
+
void UpdateAI(const uint32 diff)
{
if(m_creature->GetEntry() == 30176)