Core/Achievements: Fixed achievement A Void Dance in Zuramat the Obliterator's encounter
This commit is contained in:
@@ -0,0 +1,5 @@
|
|||||||
|
DELETE FROM `disables` WHERE `entry`=7587;
|
||||||
|
DELETE FROM `achievement_criteria_data` WHERE `criteria_id`=7587 AND `type`=11;
|
||||||
|
INSERT INTO `achievement_criteria_data` (`criteria_id`,`type`,`value1`,`value2`,`ScriptName`)
|
||||||
|
VALUES
|
||||||
|
(7587,11,0,0,'achievement_void_dance');
|
||||||
@@ -47,6 +47,8 @@ enum Yells
|
|||||||
SAY_WHISPER = -1608044
|
SAY_WHISPER = -1608044
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define DATA_VOID_DANCE 2153
|
||||||
|
|
||||||
class boss_zuramat : public CreatureScript
|
class boss_zuramat : public CreatureScript
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -69,6 +71,7 @@ public:
|
|||||||
uint32 SpellVoidShiftTimer;
|
uint32 SpellVoidShiftTimer;
|
||||||
uint32 SpellSummonVoidTimer;
|
uint32 SpellSummonVoidTimer;
|
||||||
uint32 SpellShroudOfDarknessTimer;
|
uint32 SpellShroudOfDarknessTimer;
|
||||||
|
bool voidDance;
|
||||||
|
|
||||||
void Reset()
|
void Reset()
|
||||||
{
|
{
|
||||||
@@ -83,6 +86,7 @@ public:
|
|||||||
SpellShroudOfDarknessTimer = 22000;
|
SpellShroudOfDarknessTimer = 22000;
|
||||||
SpellVoidShiftTimer = 15000;
|
SpellVoidShiftTimer = 15000;
|
||||||
SpellSummonVoidTimer = 12000;
|
SpellSummonVoidTimer = 12000;
|
||||||
|
voidDance = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AttackStart(Unit* pWho)
|
void AttackStart(Unit* pWho)
|
||||||
@@ -147,6 +151,26 @@ public:
|
|||||||
DoMeleeAttackIfReady();
|
DoMeleeAttackIfReady();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SummonedCreatureDies(Creature* summoned, Unit* /*who*/)
|
||||||
|
{
|
||||||
|
if (summoned->GetEntry() == CREATURE_VOID_SENTRY)
|
||||||
|
SetData(DATA_VOID_DANCE, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void SetData(uint32 id, uint32 data)
|
||||||
|
{
|
||||||
|
if (id == DATA_VOID_DANCE)
|
||||||
|
voidDance = data ? true : false;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32 GetData(uint32 type)
|
||||||
|
{
|
||||||
|
if (type == DATA_VOID_DANCE)
|
||||||
|
return voidDance ? 1 : 0;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
void JustDied(Unit* /*killer*/)
|
void JustDied(Unit* /*killer*/)
|
||||||
{
|
{
|
||||||
DoScriptText(SAY_DEATH, me);
|
DoScriptText(SAY_DEATH, me);
|
||||||
@@ -184,7 +208,25 @@ public:
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class achievement_void_dance : public AchievementCriteriaScript
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
achievement_void_dance() : AchievementCriteriaScript("achievement_void_dance")
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
bool OnCheck(Player* /*player*/, Unit* target)
|
||||||
|
{
|
||||||
|
if (Creature* Zuramat = target->ToCreature())
|
||||||
|
if (Zuramat->AI()->GetData(DATA_VOID_DANCE))
|
||||||
|
return true;
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
void AddSC_boss_zuramat()
|
void AddSC_boss_zuramat()
|
||||||
{
|
{
|
||||||
new boss_zuramat();
|
new boss_zuramat();
|
||||||
|
new achievement_void_dance();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user