aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTrazom62 <none@none>2010-05-06 20:58:26 +0200
committerTrazom62 <none@none>2010-05-06 20:58:26 +0200
commit03159c599adc09810e382ff9e18c87e1b608a520 (patch)
treee80c323c1de389ccb153915d695c8538de5e0c18 /src
parentec324f0d5565759019056a0cf8e81e25f5890791 (diff)
Fix Script Ahnkahet/Volazj.
- fix typo for insanity spell 3. - reset phase mask of players when combat ends. - remove heroic spell definition now in spelldifficulty_dbc. --HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/scripts/northrend/azjol_nerub/ahnkahet/boss_herald_volazj.cpp19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/scripts/northrend/azjol_nerub/ahnkahet/boss_herald_volazj.cpp b/src/scripts/northrend/azjol_nerub/ahnkahet/boss_herald_volazj.cpp
index 486b8711fa4..16c291d6484 100644
--- a/src/scripts/northrend/azjol_nerub/ahnkahet/boss_herald_volazj.cpp
+++ b/src/scripts/northrend/azjol_nerub/ahnkahet/boss_herald_volazj.cpp
@@ -29,15 +29,12 @@ enum Spells
INSANITY_VISUAL = 57561,
SPELL_INSANITY_TARGET = 57508,
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,
SPELL_CLONE_PLAYER = 57507, //casted on player during insanity
SPELL_INSANITY_PHASING_1 = 57508,
SPELL_INSANITY_PHASING_2 = 57509,
- SPELL_INSANITY_PHASING_3 = 57519,
+ SPELL_INSANITY_PHASING_3 = 57510,
SPELL_INSANITY_PHASING_4 = 57511,
SPELL_INSANITY_PHASING_5 = 57512
};
@@ -79,6 +76,7 @@ struct boss_volazjAI : public ScriptedAI
uint32 insanityHandled;
SummonList Summons;
+ // returns the percentage of health after taking the given damage.
uint32 GetHealthPct(uint32 damage)
{
if (damage > me->GetHealth())
@@ -140,6 +138,16 @@ struct boss_volazjAI : public ScriptedAI
}
}
+ void ResetPlayersPhaseMask()
+ {
+ Map::PlayerList const &players = me->GetMap()->GetPlayers();
+ for (Map::PlayerList::const_iterator i = players.begin(); i != players.end(); ++i)
+ {
+ Player* pPlayer = i->getSource();
+ pPlayer->RemoveAurasDueToSpell(GetSpellForPhaseMask(pPlayer->GetPhaseMask()));
+ }
+ }
+
void Reset()
{
uiMindFlayTimer = 8*IN_MILISECONDS;
@@ -157,6 +165,8 @@ struct boss_volazjAI : public ScriptedAI
// Used for Insanity handling
insanityHandled = 0;
+ ResetPlayersPhaseMask();
+
// Cleanup
Summons.DespawnAll();
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
@@ -293,6 +303,7 @@ struct boss_volazjAI : public ScriptedAI
pInstance->SetData(DATA_HERALD_VOLAZJ, DONE);
Summons.DespawnAll();
+ ResetPlayersPhaseMask();
}
void KilledUnit(Unit * /*victim*/)