mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-23 10:26:28 +01:00
*Ahn'kahet: Herald Volazj "Volazj's Quick Demise" achievement, by Tartalo
--HG-- branch : trunk
This commit is contained in:
@@ -27,25 +27,34 @@ EndScriptData */
|
||||
#include "precompiled.h"
|
||||
#include "def_ahnkahet.h"
|
||||
|
||||
//Spells
|
||||
#define SPELL_INSANITY 57496 //Dummy
|
||||
#define INSANITY_VISUAL 57561
|
||||
#define SPELL_MIND_FLAY 57941
|
||||
#define H_SPELL_MIND_FLAY 59974
|
||||
#define SPELL_SHADOW_BOLT_VOLLEY 57942
|
||||
#define H_SPELL_SHADOW_BOLT_VOLLEY 59975
|
||||
#define SPELL_SHIVER 57949
|
||||
#define H_SPELL_SHIVER 59978
|
||||
enum Spells
|
||||
{
|
||||
SPELL_INSANITY = 57496, //Dummy
|
||||
INSANITY_VISUAL = 57561,
|
||||
SPELL_MIND_FLAY = 57941,
|
||||
H_SPELL_MIND_FLAY = 59974,
|
||||
SPELL_SHADOW_BOLT_VOLLEY = 57942,
|
||||
H_SPELL_SHADOW_BOLT_VOLLEY = 59975,
|
||||
SPELL_SHIVER = 57949,
|
||||
H_SPELL_SHIVER = 59978
|
||||
};
|
||||
|
||||
//not in db
|
||||
//Yell
|
||||
#define SAY_AGGRO -1619030
|
||||
#define SAY_SLAY_1 -1619031
|
||||
#define SAY_SLAY_2 -1619032
|
||||
#define SAY_SLAY_3 -1619033
|
||||
#define SAY_DEATH_1 -1619034
|
||||
#define SAY_DEATH_2 -1619035
|
||||
#define SAY_PHASE -1619036
|
||||
enum Yells
|
||||
{
|
||||
SAY_AGGRO = -1619030,
|
||||
SAY_SLAY_1 = -1619031,
|
||||
SAY_SLAY_2 = -1619032,
|
||||
SAY_SLAY_3 = -1619033,
|
||||
SAY_DEATH_1 = -1619034,
|
||||
SAY_DEATH_2 = -1619035,
|
||||
SAY_PHASE = -1619036
|
||||
};
|
||||
|
||||
enum Achievements
|
||||
{
|
||||
ACHIEVEMENT_QUICK_DEMISE = 1862
|
||||
};
|
||||
|
||||
struct TRINITY_DLL_DECL boss_volazjAI : public ScriptedAI
|
||||
{
|
||||
@@ -59,9 +68,11 @@ struct TRINITY_DLL_DECL boss_volazjAI : public ScriptedAI
|
||||
uint32 uiMindFlayTimer;
|
||||
uint32 uiShadowBoltVolleyTimer;
|
||||
uint32 uiShiverTimer;
|
||||
uint32 uiEncounterTimer;
|
||||
|
||||
void Reset()
|
||||
{
|
||||
uiEncounterTimer = 0;
|
||||
uiMindFlayTimer = 8000;
|
||||
uiShadowBoltVolleyTimer = 5000;
|
||||
uiShiverTimer = 15000;
|
||||
@@ -102,6 +113,8 @@ struct TRINITY_DLL_DECL boss_volazjAI : public ScriptedAI
|
||||
DoCast(target, HeroicMode ? H_SPELL_SHIVER : SPELL_SHIVER);
|
||||
uiShiverTimer = 15000;
|
||||
} else uiShiverTimer -= diff;
|
||||
|
||||
uiEncounterTimer += diff;
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
@@ -111,6 +124,16 @@ struct TRINITY_DLL_DECL boss_volazjAI : public ScriptedAI
|
||||
|
||||
if (pInstance)
|
||||
pInstance->SetData(DATA_HERALD_VOLAZJ, DONE);
|
||||
|
||||
AchievementEntry const *AchievQuickDemise = GetAchievementStore()->LookupEntry(ACHIEVEMENT_QUICK_DEMISE);
|
||||
Map* pMap = m_creature->GetMap();
|
||||
|
||||
if (HeroicMode && uiEncounterTimer < 120000 && pMap && pMap->IsDungeon() && AchievQuickDemise)
|
||||
{
|
||||
Map::PlayerList const &players = pMap->GetPlayers();
|
||||
for(Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
|
||||
itr->getSource()->CompletedAchievement(AchievQuickDemise);
|
||||
}
|
||||
}
|
||||
|
||||
void KilledUnit(Unit *victim)
|
||||
|
||||
Reference in New Issue
Block a user