aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTartalo <none@none>2010-04-07 00:21:31 +0200
committerTartalo <none@none>2010-04-07 00:21:31 +0200
commit668dd91368455a28e2fdfceda7681da15c0f6350 (patch)
tree3f8bd4491d26ebf29f74edd4240e193733566830 /src
parent7c389f4c393783241b7c33a509a7981da9843472 (diff)
Ulduar, Halls of Lightning: Ionar disperses only once.
3.3.2 Blizzlike change --HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/scripts/northrend/ulduar/halls_of_lightning/boss_ionar.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/scripts/northrend/ulduar/halls_of_lightning/boss_ionar.cpp b/src/scripts/northrend/ulduar/halls_of_lightning/boss_ionar.cpp
index 17c6765cddf..75395aaa751 100644
--- a/src/scripts/northrend/ulduar/halls_of_lightning/boss_ionar.cpp
+++ b/src/scripts/northrend/ulduar/halls_of_lightning/boss_ionar.cpp
@@ -77,24 +77,28 @@ struct boss_ionarAI : public ScriptedAI
SummonList lSparkList;
bool bIsSplitPhase;
+ bool bHasDispersed;
+
uint32 uiSplitTimer;
uint32 uiStaticOverloadTimer;
uint32 uiBallLightningTimer;
- uint32 uiHealthAmountModifier;
+ uint32 uiDisperseHealth;
void Reset()
{
lSparkList.DespawnAll();
bIsSplitPhase = true;
+ bHasDispersed = false;
+
uiSplitTimer = 25*IN_MILISECONDS;
uiStaticOverloadTimer = urand(5*IN_MILISECONDS, 6*IN_MILISECONDS);
uiBallLightningTimer = urand(10*IN_MILISECONDS, 11*IN_MILISECONDS);
- uiHealthAmountModifier = 1;
+ uiDisperseHealth = 45 + urand(0,10);
m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE|UNIT_FLAG_NOT_SELECTABLE|UNIT_FLAG_DISABLE_MOVE);
@@ -243,9 +247,9 @@ struct boss_ionarAI : public ScriptedAI
uiBallLightningTimer -= uiDiff;
// Health check
- if (HealthBelowPct(100-(20*uiHealthAmountModifier)))
+ if (!bHasDispersed && HealthBelowPct(uiDisperseHealth))
{
- ++uiHealthAmountModifier;
+ bHasDispersed = true;
DoScriptText(RAND(SAY_SPLIT_1,SAY_SPLIT_2), m_creature);