aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Kalimdor
diff options
context:
space:
mode:
authorazazel <none@none>2010-08-26 01:20:57 +0600
committerazazel <none@none>2010-08-26 01:20:57 +0600
commit341e6303effccfdbfb6b67ae0d8fe6933f56ed3b (patch)
treeeff917fec707c7097a7b408ce15842ff24d8ddb4 /src/server/scripts/Kalimdor
parentbb5f7b64927713911331f81f9c0a5abc33e0c3ab (diff)
Core:
* add helping methods for manipulating unit's health and use it where applicable * fix some conversion warnings and cleanup code (formatting, CRLF, tabs to spaces) --HG-- branch : trunk
Diffstat (limited to 'src/server/scripts/Kalimdor')
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp6
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp2
-rw-r--r--src/server/scripts/Kalimdor/Maraudon/boss_landslide.cpp2
-rw-r--r--src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp4
-rw-r--r--src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp6
-rw-r--r--src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp2
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp2
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp2
-rw-r--r--src/server/scripts/Kalimdor/RuinsOfAhnQiraj/instance_ruins_of_ahnqiraj.cpp2
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp2
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp6
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp2
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp2
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp2
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp5
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp4
-rw-r--r--src/server/scripts/Kalimdor/TempleOfAhnQiraj/mob_anubisath_sentinel.cpp5
-rw-r--r--src/server/scripts/Kalimdor/azuremyst_isle.cpp4
-rw-r--r--src/server/scripts/Kalimdor/boss_azuregos.cpp2
-rw-r--r--src/server/scripts/Kalimdor/dustwallow_marsh.cpp2
-rw-r--r--src/server/scripts/Kalimdor/tanaris.cpp2
21 files changed, 31 insertions, 35 deletions
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp
index 4e2bc5ecc0b..5c4fb5264d1 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp
@@ -116,7 +116,7 @@ public:
{
if (Unit* Archimonde = Unit::GetUnit((*me), ArchimondeGUID))
{
- if ((((Archimonde->GetHealth()*100) / Archimonde->GetMaxHealth()) < 2) || !Archimonde->isAlive())
+ if (Archimonde->HealthBelowPct(2) || !Archimonde->isAlive())
DoCast(me, SPELL_DENOUEMENT_WISP);
else
DoCast(Archimonde, SPELL_ANCIENT_SPARK);
@@ -504,14 +504,14 @@ public:
if (!UpdateVictim())
return;
- if (((me->GetHealth()*100 / me->GetMaxHealth()) < 10) && !BelowTenPercent && !Enraged)
+ if (me->HealthBelowPct(10) && !BelowTenPercent && !Enraged)
BelowTenPercent = true;
if (!Enraged)
{
if (EnrageTimer <= diff)
{
- if ((me->GetHealth()*100 / me->GetMaxHealth()) > 10)
+ if (HealthAbovePct(10))
{
me->GetMotionMaster()->Clear(false);
me->GetMotionMaster()->MoveIdle();
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp
index e4d35ada722..bae2ce1e16f 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp
@@ -551,7 +551,7 @@ public:
return;
//TODO: add his abilities'n-crap here
- if (!LowHp && ((me->GetHealth()*100 / me->GetMaxHealth()) < 20))
+ if (!LowHp && HealthBelowPct(20))
{
DoScriptText(RAND(SAY_TH_RANDOM_LOW_HP1,SAY_TH_RANDOM_LOW_HP2), me);
LowHp = true;
diff --git a/src/server/scripts/Kalimdor/Maraudon/boss_landslide.cpp b/src/server/scripts/Kalimdor/Maraudon/boss_landslide.cpp
index 34acecf8d23..ae7a2048bc6 100644
--- a/src/server/scripts/Kalimdor/Maraudon/boss_landslide.cpp
+++ b/src/server/scripts/Kalimdor/Maraudon/boss_landslide.cpp
@@ -78,7 +78,7 @@ public:
} else Trample_Timer -= diff;
//Landslide
- if (me->GetHealth()*100 / me->GetMaxHealth() < 50)
+ if (HealthBelowPct(50))
{
if (Landslide_Timer <= diff)
{
diff --git a/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp b/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp
index 4c31c533ba7..a369ec98c02 100644
--- a/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp
+++ b/src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp
@@ -344,7 +344,7 @@ public:
//Specific to PHASE_START || PHASE_END
if (m_uiPhase == PHASE_START)
{
- if (me->GetHealth()*100 / me->GetMaxHealth() < 60)
+ if (HealthBelowPct(60))
{
SetCombatMovement(false);
m_uiPhase = PHASE_BREATH;
@@ -406,7 +406,7 @@ public:
}
else
{
- if (me->GetHealth()*100 / me->GetMaxHealth() < 40)
+ if (HealthBelowPct(40))
{
m_uiPhase = PHASE_END;
if (m_pInstance)
diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp b/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp
index 2c75f3a5b6e..6017aa3f91f 100644
--- a/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp
+++ b/src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp
@@ -102,20 +102,20 @@ public:
FrostNova_Timer = 15000;
} else FrostNova_Timer -= diff;
- if (!Spectrals60 && me->GetHealth()*100 / me->GetMaxHealth() < 60)
+ if (!Spectrals60 && HealthBelowPct(60))
{
DoScriptText(SAY_SUMMON60, me);
DoCast(me->getVictim(), SPELL_FROST_SPECTRES);
Spectrals60 = true;
}
- if (!Hp && me->GetHealth()*100 / me->GetMaxHealth() < 50)
+ if (!Hp && HealthBelowPct(50))
{
DoScriptText(SAY_HP, me);
Hp = true;
}
- if (!Spectrals30 && me->GetHealth()*100 / me->GetMaxHealth() < 30)
+ if (!Spectrals30 && HealthBelowPct(30))
{
DoScriptText(SAY_SUMMON30, me);
DoCast(me->getVictim(), SPELL_FROST_SPECTRES);
diff --git a/src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp b/src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp
index 8e218d882fb..6aad9c69986 100644
--- a/src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp
+++ b/src/server/scripts/Kalimdor/RazorfenDowns/instance_razorfen_downs.cpp
@@ -41,7 +41,7 @@ public:
uint32 m_auiEncounter[MAX_ENCOUNTER];
- uint8 uiGongWaves;
+ uint16 uiGongWaves;
std::string str_data;
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp
index fc87f7e9d40..68ab6a58f23 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp
@@ -92,7 +92,7 @@ public:
return;
//If he is 70% start phase 2
- if (phase == 1 && me->GetHealth()*100 / me->GetMaxHealth() <= 70 && !me->IsNonMeleeSpellCasted(false))
+ if (phase == 1 && !HealthAbovePct(70) && !me->IsNonMeleeSpellCasted(false))
{
phase=2;
}
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp
index b0215c466ae..c65d195393d 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp
@@ -93,7 +93,7 @@ public:
return;
//If we are <30% cast enrage
- if (!bIsEnraged && me->GetHealth()*100 / me->GetMaxHealth() <= 30 && !me->IsNonMeleeSpellCasted(false))
+ if (!bIsEnraged && !HealthAbovePct(30) && !me->IsNonMeleeSpellCasted(false))
{
bIsEnraged = true;
DoCast(me, SPELL_ENRAGE);
diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/instance_ruins_of_ahnqiraj.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/instance_ruins_of_ahnqiraj.cpp
index 05026aa331b..ceed7550455 100644
--- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/instance_ruins_of_ahnqiraj.cpp
+++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/instance_ruins_of_ahnqiraj.cpp
@@ -57,7 +57,7 @@ public:
uint64 uiAyamiss;
uint64 uiOssirian;
- uint8 m_auiEncounter[MAX_ENCOUNTER];
+ uint16 m_auiEncounter[MAX_ENCOUNTER];
std::string str_data;
void Initialize()
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp
index 0b17972139a..d5ce9bd5428 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp
@@ -108,7 +108,7 @@ public:
ToxicVolley_Timer = 10000 + rand()%5000;
} else ToxicVolley_Timer -= diff;
- if (me->GetHealth() <= me->GetMaxHealth() * 0.05 && !Death)
+ if (!HealthAbovePct(5) && !Death)
{
DoCast(me->getVictim(), SPELL_POISON_CLOUD);
Death = true;
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp
index 851054afc27..8dc5a08622c 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp
@@ -357,9 +357,9 @@ public:
{
//Set angle and cast
if (ClockWise)
- me->SetOrientation(DarkGlareAngle + ((float)DarkGlareTick*PI/35));
+ me->SetOrientation(DarkGlareAngle + DarkGlareTick * M_PI / 35);
else
- me->SetOrientation(DarkGlareAngle - ((float)DarkGlareTick*PI/35));
+ me->SetOrientation(DarkGlareAngle - DarkGlareTick * M_PI / 35);
me->StopMoving();
@@ -666,7 +666,7 @@ public:
//Switch to c'thun model
me->InterruptNonMeleeSpells(false);
DoCast(me, SPELL_TRANSFORM, false);
- me->SetHealth(me->GetMaxHealth());
+ me->SetFullHealth();
me->SetVisibility(VISIBILITY_ON);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE);
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp
index 63283665518..cf00031ebac 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_fankriss.cpp
@@ -132,7 +132,7 @@ public:
// Teleporting Random Target to one of the three tunnels and spawn 4 hatchlings near the gamer.
//We will only telport if fankriss has more than 3% of hp so teleported gamers can always loot.
- if (me->GetHealth()*100 / me->GetMaxHealth() > 3)
+ if (HealthAbovePct(3))
{
if (SpawnHatchlings_Timer <= diff)
{
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp
index 097f27ed8ba..7377bd5bb2a 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_huhuran.cpp
@@ -132,7 +132,7 @@ public:
FrenzyBack_Timer = 15000;
} else FrenzyBack_Timer -= diff;
- if (!Berserk && me->GetHealth()*100 / me->GetMaxHealth() < 31)
+ if (!Berserk && HealthBelowPct(31))
{
me->InterruptNonMeleeSpells(false);
DoScriptText(EMOTE_GENERIC_BERSERK, me);
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp
index cbf9ce05196..c19303fd6e3 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp
@@ -158,7 +158,7 @@ public:
//If she is 20% enrage
if (!Enraged)
{
- if (me->GetHealth()*100 / me->GetMaxHealth() <= 20 && !me->IsNonMeleeSpellCasted(false))
+ if (!HealthAbovePct(20) && !me->IsNonMeleeSpellCasted(false))
{
DoCast(me, SPELL_ENRAGE);
Enraged = true;
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp
index 40e5bb57938..80803f0ff9f 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp
@@ -174,15 +174,14 @@ public:
Blink_Timer= 20000 + rand()%20000;
} else Blink_Timer -= diff;
- int procent = (int) (me->GetHealth()*100 / me->GetMaxHealth() +0.5f);
+ int procent = (int) (me->GetHealthPct() + 0.5f);
//Summoning 2 Images and teleporting to a random position on 75% health
if ((!Images75 && !IsImage) && (procent <= 75 && procent > 70))
DoSplit(75);
//Summoning 2 Images and teleporting to a random position on 50% health
- if ((!Images50 && !IsImage) &&
- (procent <= 50 && procent > 45))
+ if ((!Images50 && !IsImage) && (procent <= 50 && procent > 45))
DoSplit(50);
//Summoning 2 Images and teleporting to a random position on 25% health
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp
index ca9d2e6fb51..018af2b22b1 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp
@@ -423,7 +423,7 @@ public:
pTarget->setFaction(14);
pTarget->AI()->AttackStart(me->getThreatManager().getHostilTarget());
pTarget->AddAura(SPELL_MUTATE_BUG, pTarget);
- pTarget->SetHealth(pTarget->GetMaxHealth());
+ pTarget->SetFullHealth();
}
void UpdateAI(const uint32 diff)
@@ -512,7 +512,7 @@ public:
{
pTarget->setFaction(14);
pTarget->AddAura(SPELL_EXPLODEBUG, pTarget);
- pTarget->SetHealth(pTarget->GetMaxHealth());
+ pTarget->SetFullHealth();
}
void UpdateAI(const uint32 diff)
diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/mob_anubisath_sentinel.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/mob_anubisath_sentinel.cpp
index 93ede297ad0..d4e7758ca3a 100644
--- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/mob_anubisath_sentinel.cpp
+++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/mob_anubisath_sentinel.cpp
@@ -251,10 +251,7 @@ public:
continue;
if (sent->isDead())
continue;
- uint32 h = sent->GetHealth() + (sent->GetMaxHealth() / 2);
- if (h > sent->GetMaxHealth())
- h = sent->GetMaxHealth();
- sent->SetHealth(h);
+ sent->ModifyHealth(int32(sent->CountPctFromMaxHealth(50)));
CAST_AI(aqsentinelAI, sent->AI())->GainSentinelAbility(ability);
}
}
diff --git a/src/server/scripts/Kalimdor/azuremyst_isle.cpp b/src/server/scripts/Kalimdor/azuremyst_isle.cpp
index bed937d5a9d..eb3d0755833 100644
--- a/src/server/scripts/Kalimdor/azuremyst_isle.cpp
+++ b/src/server/scripts/Kalimdor/azuremyst_isle.cpp
@@ -94,7 +94,7 @@ public:
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PVP_ATTACKABLE);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IN_COMBAT);
- me->SetHealth(int(me->GetMaxHealth()*.1));
+ me->SetHealth(me->CountPctFromMaxHealth(10));
me->SetStandState(UNIT_STAND_STATE_SLEEP);
}
@@ -309,7 +309,7 @@ public:
void Reset()
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IN_COMBAT);
- me->SetHealth(int(me->GetMaxHealth()*.15));
+ me->SetHealth(me->CountPctFromMaxHealth(15));
switch (rand()%2)
{
case 0: me->SetStandState(UNIT_STAND_STATE_SIT); break;
diff --git a/src/server/scripts/Kalimdor/boss_azuregos.cpp b/src/server/scripts/Kalimdor/boss_azuregos.cpp
index a1fc6638d8d..c4f508442f1 100644
--- a/src/server/scripts/Kalimdor/boss_azuregos.cpp
+++ b/src/server/scripts/Kalimdor/boss_azuregos.cpp
@@ -142,7 +142,7 @@ public:
} else Cleave_Timer -= diff;
//Enrage_Timer
- if (me->GetHealth()*100 / me->GetMaxHealth() < 26 && !Enraged)
+ if (HealthBelowPct(26) && !Enraged)
{
DoCast(me, SPELL_ENRAGE);
Enraged = true;
diff --git a/src/server/scripts/Kalimdor/dustwallow_marsh.cpp b/src/server/scripts/Kalimdor/dustwallow_marsh.cpp
index e572514f251..fd87938469d 100644
--- a/src/server/scripts/Kalimdor/dustwallow_marsh.cpp
+++ b/src/server/scripts/Kalimdor/dustwallow_marsh.cpp
@@ -344,7 +344,7 @@ public:
void DamageTaken(Unit* pDoneBy, uint32 &uiDamage)
{
- if (uiDamage > me->GetHealth() || ((me->GetHealth() - uiDamage)*100 / me->GetMaxHealth() < 20))
+ if (uiDamage > me->GetHealth() || me->HealthBelowPctDamaged(20, uiDamage))
{
uiDamage = 0;
diff --git a/src/server/scripts/Kalimdor/tanaris.cpp b/src/server/scripts/Kalimdor/tanaris.cpp
index 6f017f32493..5907d3bc149 100644
--- a/src/server/scripts/Kalimdor/tanaris.cpp
+++ b/src/server/scripts/Kalimdor/tanaris.cpp
@@ -410,7 +410,7 @@ public:
if (quest->GetQuestId() == Q_OOX17)
{
pCreature->setFaction(113);
- pCreature->SetHealth(pCreature->GetMaxHealth());
+ pCreature->SetFullHealth();
pCreature->SetUInt32Value(UNIT_FIELD_BYTES_1,0);
pCreature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
DoScriptText(SAY_OOX_START, pCreature);