aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/scripts/northrend/draktharon_keep/boss_dred.cpp110
-rw-r--r--src/scripts/northrend/draktharon_keep/boss_novos.cpp85
-rw-r--r--src/scripts/northrend/draktharon_keep/boss_tharon_ja.cpp114
-rw-r--r--src/scripts/northrend/draktharon_keep/boss_trollgore.cpp69
-rw-r--r--src/scripts/northrend/draktharon_keep/instance_drak_tharon_keep.cpp16
5 files changed, 173 insertions, 221 deletions
diff --git a/src/scripts/northrend/draktharon_keep/boss_dred.cpp b/src/scripts/northrend/draktharon_keep/boss_dred.cpp
index 60ab85ea1c2..dcc3f6fea81 100644
--- a/src/scripts/northrend/draktharon_keep/boss_dred.cpp
+++ b/src/scripts/northrend/draktharon_keep/boss_dred.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/>
+ * Copyright (C) 2008 - 2010 Trinity <http://www.trinitycore.org/>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -16,39 +16,35 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-/* Script Data Start
-SDName: Boss dred
-SDAuthor: Manuel
-SD%Complete: 100 %
-SDComment: MAYBE need more improve the "Raptor Call".
-SDCategory:
-Script Data End */
+/*
+ * Comment: MAYBE need more improve the "Raptor Call".
+ */
#include "ScriptedPch.h"
#include "drak_tharon_keep.h"
enum eSpells
{
- SPELL_BELLOWING_ROAR = 22686, // fears the group, can be resisted/dispelled
- SPELL_GRIEVOUS_BITE = 48920,
- SPELL_MANGLING_SLASH = 48873, //casted on the current tank, adds debuf
- SPELL_FEARSOME_ROAR = 48849,
- H_SPELL_FEARSOME_ROAR = 59422, //Not stacking, debuff
- SPELL_PIERCING_SLASH = 48878, //debuff -->Armor reduced by 75%
- SPELL_RAPTOR_CALL = 59416, //dummy
- SPELL_GUT_RIP = 49710,
- SPELL_REND = 13738
+ SPELL_BELLOWING_ROAR = 22686, // fears the group, can be resisted/dispelled
+ SPELL_GRIEVOUS_BITE = 48920,
+ SPELL_MANGLING_SLASH = 48873, //casted on the current tank, adds debuf
+ SPELL_FEARSOME_ROAR = 48849,
+ H_SPELL_FEARSOME_ROAR = 59422, //Not stacking, debuff
+ SPELL_PIERCING_SLASH = 48878, //debuff -->Armor reduced by 75%
+ SPELL_RAPTOR_CALL = 59416, //dummy
+ SPELL_GUT_RIP = 49710,
+ SPELL_REND = 13738
};
enum eArchivements
{
- ACHIEV_BETTER_OFF_DRED = 2039
+ ACHIEV_BETTER_OFF_DRED = 2039
};
enum Creatures
{
- NPC_RAPTOR_1 = 26641,
- NPC_RAPTOR_2 = 26628
+ NPC_RAPTOR_1 = 26641,
+ NPC_RAPTOR_2 = 26628
};
struct boss_dredAI : public ScriptedAI
@@ -58,12 +54,12 @@ struct boss_dredAI : public ScriptedAI
pInstance = c->GetInstanceData();
}
- uint32 BellowingRoarTimer;
- uint32 GrievousBiteTimer;
- uint32 ManglingSlashTimer;
- uint32 FearsomeRoarTimer;
- uint32 PiercingSlashTimer;
- uint32 RaptorCallTimer;
+ uint32 uiBellowingRoarTimer;
+ uint32 uiGrievousBiteTimer;
+ uint32 uiManglingSlashTimer;
+ uint32 uiFearsomeRoarTimer;
+ uint32 uiPiercingSlashTimer;
+ uint32 uiRaptorCallTimer;
ScriptedInstance* pInstance;
@@ -75,12 +71,12 @@ struct boss_dredAI : public ScriptedAI
pInstance->SetData(DATA_KING_DRED_ACHIEV, 0);
}
- BellowingRoarTimer = 33000;
- GrievousBiteTimer = 20000;
- ManglingSlashTimer = 18500;
- FearsomeRoarTimer = urand(10000,20000);
- PiercingSlashTimer = 17000;
- RaptorCallTimer = urand(20000,25000);
+ uiBellowingRoarTimer = 33*IN_MILISECONDS;
+ uiGrievousBiteTimer = 20*IN_MILISECONDS;
+ uiManglingSlashTimer = 18.5*IN_MILISECONDS;
+ uiFearsomeRoarTimer = urand(10*IN_MILISECONDS,20*IN_MILISECONDS);
+ uiPiercingSlashTimer = 17*IN_MILISECONDS;
+ uiRaptorCallTimer = urand(20*IN_MILISECONDS,25*IN_MILISECONDS);
}
void EnterCombat(Unit* who)
@@ -95,47 +91,47 @@ struct boss_dredAI : public ScriptedAI
if (!UpdateVictim())
return;
- if (BellowingRoarTimer < diff)
+ if (uiBellowingRoarTimer < diff)
{
DoCastAOE(SPELL_BELLOWING_ROAR, false);
- BellowingRoarTimer = 40000;
- } else BellowingRoarTimer -=diff;
+ uiBellowingRoarTimer = 40*IN_MILISECONDS;
+ } else uiBellowingRoarTimer -=diff;
- if (GrievousBiteTimer < diff)
+ if (uiGrievousBiteTimer < diff)
{
DoCastVictim(SPELL_GRIEVOUS_BITE ,false);
- GrievousBiteTimer = 20000;
- } else GrievousBiteTimer -=diff;
+ uiGrievousBiteTimer = 20*IN_MILISECONDS;
+ } else uiGrievousBiteTimer -=diff;
- if (ManglingSlashTimer < diff)
+ if (uiManglingSlashTimer < diff)
{
DoCastVictim(SPELL_MANGLING_SLASH,false);
- ManglingSlashTimer = 20000;
- } else ManglingSlashTimer -=diff;
-
- if (FearsomeRoarTimer < diff)
+ uiManglingSlashTimer = 20*IN_MILISECONDS;
+ } else uiManglingSlashTimer -=diff;
+
+ if (uiFearsomeRoarTimer < diff)
{
DoCastAOE(DUNGEON_MODE(SPELL_FEARSOME_ROAR, H_SPELL_FEARSOME_ROAR),false);
- FearsomeRoarTimer = urand(16,18)*1000;
- } else FearsomeRoarTimer -=diff;
+ uiFearsomeRoarTimer = urand(16*IN_MILISECONDS,18*IN_MILISECONDS);
+ } else uiFearsomeRoarTimer -=diff;
- if (PiercingSlashTimer < diff)
+ if (uiPiercingSlashTimer < diff)
{
DoCastVictim(SPELL_PIERCING_SLASH,false);
- PiercingSlashTimer = 20000;
- } else PiercingSlashTimer -=diff;
+ uiPiercingSlashTimer = 20*IN_MILISECONDS;
+ } else uiPiercingSlashTimer -=diff;
- if (RaptorCallTimer < diff)
+ if (uiRaptorCallTimer < diff)
{
DoCastVictim(SPELL_RAPTOR_CALL,false);
float x,y,z;
m_creature->GetClosePoint(x,y,z,m_creature->GetObjectSize()/3,10.0f);
- m_creature->SummonCreature(RAND(NPC_RAPTOR_1,NPC_RAPTOR_2),x,y,z,0,TEMPSUMMON_DEAD_DESPAWN,1000);
+ m_creature->SummonCreature(RAND(NPC_RAPTOR_1,NPC_RAPTOR_2),x,y,z,0,TEMPSUMMON_DEAD_DESPAWN,1*IN_MILISECONDS);
- RaptorCallTimer = urand(20000,25000);
- } else RaptorCallTimer -=diff;
+ uiRaptorCallTimer = urand(20*IN_MILISECONDS,25*IN_MILISECONDS);
+ } else uiRaptorCallTimer -=diff;
DoMeleeAttackIfReady();
}
@@ -214,11 +210,11 @@ struct npc_drakkari_scytheclawAI : public ScriptedAI
ScriptedInstance* pInstance;
- uint32 RendTimer;
+ uint32 uiRendTimer;
void Reset()
{
- RendTimer = urand(10000,15000);
+ uiRendTimer = urand(10*IN_MILISECONDS,15*IN_MILISECONDS);
}
void UpdateAI(const uint32 diff)
@@ -227,11 +223,11 @@ struct npc_drakkari_scytheclawAI : public ScriptedAI
if (!UpdateVictim())
return;
- if (RendTimer < diff)
+ if (uiRendTimer < diff)
{
DoCastVictim(SPELL_REND,false);
- RendTimer = urand(10000,15000);
- }else RendTimer -=diff;
+ uiRendTimer = urand(10*IN_MILISECONDS,15*IN_MILISECONDS);
+ }else uiRendTimer -=diff;
DoMeleeAttackIfReady();
}
diff --git a/src/scripts/northrend/draktharon_keep/boss_novos.cpp b/src/scripts/northrend/draktharon_keep/boss_novos.cpp
index 2ea61e0dc92..e5746173f21 100644
--- a/src/scripts/northrend/draktharon_keep/boss_novos.cpp
+++ b/src/scripts/northrend/draktharon_keep/boss_novos.cpp
@@ -16,49 +16,38 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-/* Script Data Start
-SDName: Boss novos
-SDAuthor: Tartalo
-SD%Complete: 100
-SDComment:
-SDCategory:
-Script Data End */
-
-/*** SQL START ***
-update creature_template set scriptname = 'boss_novos' where entry = '';
-*** SQL END ***/
#include "ScriptedPch.h"
#include "drak_tharon_keep.h"
enum Spells
{
- SPELL_ARCANE_BLAST = 49198,
- H_SPELL_ARCANE_BLAST = 59909,
- SPELL_ARCANE_FIELD = 47346,
- SPELL_BLIZZARD = 49034,
- H_SPELL_BLIZZARD = 59854,
- SPELL_FROSTBOLT = 49037,
- H_SPELL_FROSTBOLT = 59855,
- SPELL_WRATH_OF_MISERY = 50089,
- H_SPELL_WRATH_OF_MISERY = 59856,
- SPELL_SUMMON_MINIONS = 59910 //Summons an army of Fetid Troll Corpses to assist the caster.
+ SPELL_ARCANE_BLAST = 49198,
+ H_SPELL_ARCANE_BLAST = 59909,
+ SPELL_ARCANE_FIELD = 47346,
+ SPELL_BLIZZARD = 49034,
+ H_SPELL_BLIZZARD = 59854,
+ SPELL_FROSTBOLT = 49037,
+ H_SPELL_FROSTBOLT = 59855,
+ SPELL_WRATH_OF_MISERY = 50089,
+ H_SPELL_WRATH_OF_MISERY = 59856,
+ SPELL_SUMMON_MINIONS = 59910 //Summons an army of Fetid Troll Corpses to assist the caster.
};
//not in db
enum Yells
{
- SAY_AGGRO = -1600000,
- SAY_KILL = -1600001,
- SAY_DEATH = -1600002,
- SAY_NECRO_ADD = -1600003,
- SAY_REUBBLE_1 = -1600004,
- SAY_REUBBLE_2 = -1600005
+ SAY_AGGRO = -1600000,
+ SAY_KILL = -1600001,
+ SAY_DEATH = -1600002,
+ SAY_NECRO_ADD = -1600003,
+ SAY_REUBBLE_1 = -1600004,
+ SAY_REUBBLE_2 = -1600005
};
enum Creatures
{
- CREATURE_RISEN_SHADOWCASTER = 27600,
- CREATURE_FETID_TROLL_CORPSE = 27598,
- CREATURE_HULKING_CORPSE = 27597,
- CREATURE_CRYSTAL_HANDLER = 26627
+ CREATURE_RISEN_SHADOWCASTER = 27600,
+ CREATURE_FETID_TROLL_CORPSE = 27598,
+ CREATURE_HULKING_CORPSE = 27597,
+ CREATURE_CRYSTAL_HANDLER = 26627
};
enum CombatPhase
{
@@ -68,24 +57,18 @@ enum CombatPhase
};
enum Achievements
{
- ACHIEV_OH_NOVOS = 2057
-};
-
-struct Location
-{
- float x,y,z;
+ ACHIEV_OH_NOVOS = 2057
};
-static Location AddSpawnPoint = { -379.20, -816.76, 59.70};
-static Location CrystalHandlerSpawnPoint = { -326.626343, -709.956604, 27.813314 };
-static Location AddDestinyPoint = { -379.314545, -772.577637, 28.58837 };
+static Position AddSpawnPoint = { -379.20, -816.76, 59.70 };
+static Position CrystalHandlerSpawnPoint = { -326.626343, -709.956604, 27.813314 };
+static Position AddDestinyPoint = { -379.314545, -772.577637, 28.58837 };
struct boss_novosAI : public Scripted_NoMovementAI
{
boss_novosAI(Creature *c) : Scripted_NoMovementAI(c), lSummons(me)
{
pInstance = c->GetInstanceData();
- Reset();
}
uint32 uiTimer;
@@ -127,8 +110,8 @@ struct boss_novosAI : public Scripted_NoMovementAI
{
DoScriptText(SAY_AGGRO, m_creature);
Phase = PHASE_1;
- uiCrystalHandlerTimer = 30000;
- uiTimer = 1000;
+ uiCrystalHandlerTimer = 30*IN_MILISECONDS;
+ uiTimer = 1*IN_MILISECONDS;
DoCast(m_creature, SPELL_ARCANE_FIELD);
if (pInstance)
{
@@ -151,18 +134,18 @@ struct boss_novosAI : public Scripted_NoMovementAI
case PHASE_1:
if (uiTimer <= diff)
{
- Creature *pSummon = m_creature->SummonCreature(RAND(CREATURE_FETID_TROLL_CORPSE,CREATURE_HULKING_CORPSE,CREATURE_RISEN_SHADOWCASTER), AddSpawnPoint.x, AddSpawnPoint.y , AddSpawnPoint.z, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN,20000);
- pSummon->GetMotionMaster()->MovePoint(0, AddDestinyPoint.x, AddDestinyPoint.y, AddDestinyPoint.z);
+ Creature *pSummon = m_creature->SummonCreature(RAND(CREATURE_FETID_TROLL_CORPSE,CREATURE_HULKING_CORPSE,CREATURE_RISEN_SHADOWCASTER), AddSpawnPoint, TEMPSUMMON_CORPSE_TIMED_DESPAWN,20*IN_MILISECONDS);
+ pSummon->GetMotionMaster()->MovePoint(0, AddDestinyPoint);
//If spell is casted stops casting arcane field so no spell casting
//DoCast(m_creature, SPELL_SUMMON_MINIONS);
- uiTimer = 3000;
+ uiTimer = 3*IN_MILISECONDS;
} else uiTimer -= diff;
if (uiCrystalHandlerTimer <= diff)
{
DoScriptText(SAY_NECRO_ADD, m_creature);
- Creature *pCrystalHandler = m_creature->SummonCreature(CREATURE_CRYSTAL_HANDLER, CrystalHandlerSpawnPoint.x, CrystalHandlerSpawnPoint.y , CrystalHandlerSpawnPoint.z, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN,20000);
- pCrystalHandler->GetMotionMaster()->MovePoint(0, AddDestinyPoint.x, AddDestinyPoint.y, AddDestinyPoint.z);
- uiCrystalHandlerTimer = urand(20000,30000);
+ Creature *pCrystalHandler = m_creature->SummonCreature(CREATURE_CRYSTAL_HANDLER, CrystalHandlerSpawnPoint, TEMPSUMMON_CORPSE_TIMED_DESPAWN,20*IN_MILISECONDS);
+ pCrystalHandler->GetMotionMaster()->MovePoint(0, AddDestinyPoint);
+ uiCrystalHandlerTimer = urand(20*IN_MILISECONDS,30*IN_MILISECONDS);
} else uiCrystalHandlerTimer -= diff;
break;
case PHASE_2:
@@ -171,7 +154,7 @@ struct boss_novosAI : public Scripted_NoMovementAI
if (Unit *pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
DoCast(pTarget, DUNGEON_MODE(RAND(SPELL_ARCANE_BLAST,SPELL_BLIZZARD,SPELL_FROSTBOLT,SPELL_WRATH_OF_MISERY),
RAND(H_SPELL_ARCANE_BLAST,H_SPELL_BLIZZARD,H_SPELL_FROSTBOLT,H_SPELL_WRATH_OF_MISERY)));
- uiTimer = urand(1000,3000);
+ uiTimer = urand(1*IN_MILISECONDS,3*IN_MILISECONDS);
} else uiTimer -= diff;
break;
}
@@ -217,7 +200,7 @@ struct boss_novosAI : public Scripted_NoMovementAI
m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
Phase = PHASE_2;
- uiTimer = 1000;
+ uiTimer = 1*IN_MILISECONDS;
}
}
};
diff --git a/src/scripts/northrend/draktharon_keep/boss_tharon_ja.cpp b/src/scripts/northrend/draktharon_keep/boss_tharon_ja.cpp
index ed5d103e3f9..e117161dc0b 100644
--- a/src/scripts/northrend/draktharon_keep/boss_tharon_ja.cpp
+++ b/src/scripts/northrend/draktharon_keep/boss_tharon_ja.cpp
@@ -16,66 +16,46 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-/* Script Data Start
-SDName: Boss Tharon'ja
-SDAuthor: Tartalo
-SD%Complete: 100
-SDComment:
-SDCategory:
-Script Data End */
-
-/*** SQL START ***
-update creature_template set scriptname = 'boss_tharon_ja' where entry = '';
-*** SQL END ***/
#include "ScriptedPch.h"
#include "drak_tharon_keep.h"
enum Spells
{
//skeletal spells (phase 1)
- SPELL_CURSE_OF_LIFE = 49527,
- H_SPELL_CURSE_OF_LIFE = 59972,
- SPELL_RAIN_OF_FIRE = 49518,
- H_SPELL_RAIN_OF_FIRE = 59971,
- SPELL_SHADOW_VOLLEY = 49528,
- H_SPELL_SHADOW_VOLLEY = 59973,
- SPELL_DECAY_FLESH = 49356, //casted at end of phase 1, starts phase 2
+ SPELL_CURSE_OF_LIFE = 49527,
+ H_SPELL_CURSE_OF_LIFE = 59972,
+ SPELL_RAIN_OF_FIRE = 49518,
+ H_SPELL_RAIN_OF_FIRE = 59971,
+ SPELL_SHADOW_VOLLEY = 49528,
+ H_SPELL_SHADOW_VOLLEY = 59973,
+ SPELL_DECAY_FLESH = 49356, //casted at end of phase 1, starts phase 2
//flesh spells (phase 2)
- SPELL_GIFT_OF_THARON_JA = 52509,
- SPELL_EYE_BEAM = 49544,
- H_SPELL_EYE_BEAM = 59965,
- SPELL_LIGHTNING_BREATH = 49537,
- H_SPELL_LIGHTNING_BREATH = 59963,
- SPELL_POISON_CLOUD = 49548,
- H_SPELL_POISON_CLOUD = 59969,
- SPELL_RETURN_FLESH = 53463, //Channeled spell ending phase two and returning to phase 1. This ability will stun the party for 6 seconds.
- SPELL_ACHIEVEMENT_CHECK = 61863,
-};
-/* not needed
-enum PlayerSkills
-{
- //Players' skills during Phase2
- SPELL_PLAYER_PHASE2_SLAYING_STRIKE = 50799,
- SPELL_PLAYER_PHASE2_TAUNT = 49613,
- SPELL_PLAYER_PHASE2_BONE_ARMOR = 49609,
- SPELL_PLAYER_PHASE2_TOUCH_OF_LIFE = 49617
+ SPELL_GIFT_OF_THARON_JA = 52509,
+ SPELL_EYE_BEAM = 49544,
+ H_SPELL_EYE_BEAM = 59965,
+ SPELL_LIGHTNING_BREATH = 49537,
+ H_SPELL_LIGHTNING_BREATH = 59963,
+ SPELL_POISON_CLOUD = 49548,
+ H_SPELL_POISON_CLOUD = 59969,
+ SPELL_RETURN_FLESH = 53463, //Channeled spell ending phase two and returning to phase 1. This ability will stun the party for 6 seconds.
+ SPELL_ACHIEVEMENT_CHECK = 61863,
};
-*/
+
enum Yells
{
- SAY_AGGRO = -1600011,
- SAY_KILL_1 = -1600012,
- SAY_KILL_2 = -1600013,
- SAY_FLESH_1 = -1600014,
- SAY_FLESH_2 = -1600015,
- SAY_SKELETON_1 = -1600016,
- SAY_SKELETON_2 = -1600017,
- SAY_DEATH = -1600018
+ SAY_AGGRO = -1600011,
+ SAY_KILL_1 = -1600012,
+ SAY_KILL_2 = -1600013,
+ SAY_FLESH_1 = -1600014,
+ SAY_FLESH_2 = -1600015,
+ SAY_SKELETON_1 = -1600016,
+ SAY_SKELETON_2 = -1600017,
+ SAY_DEATH = -1600018
};
enum Models
{
- MODEL_FLESH = 27073,
- MODEL_SKELETON = 27511
+ MODEL_FLESH = 27073,
+ MODEL_SKELETON = 27511
};
enum CombatPhase
{
@@ -106,10 +86,10 @@ struct boss_tharon_jaAI : public ScriptedAI
void Reset()
{
- uiPhaseTimer = 20000;
- uiCurseOfLifeTimer = 1000;
- uiRainOfFireTimer = urand(14000,18000);
- uiShadowVolleyTimer = urand(8000,10000);
+ uiPhaseTimer = 20*IN_MILISECONDS;
+ uiCurseOfLifeTimer = 1*IN_MILISECONDS;
+ uiRainOfFireTimer = urand(14*IN_MILISECONDS,18*IN_MILISECONDS);
+ uiShadowVolleyTimer = urand(8*IN_MILISECONDS,10*IN_MILISECONDS);
Phase = SKELETAL;
m_creature->SetDisplayId(m_creature->GetNativeDisplayId());
if (pInstance)
@@ -137,26 +117,26 @@ struct boss_tharon_jaAI : public ScriptedAI
{
if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
DoCast(pTarget, DUNGEON_MODE(SPELL_CURSE_OF_LIFE, H_SPELL_CURSE_OF_LIFE));
- uiCurseOfLifeTimer = urand(10000,15000);
+ uiCurseOfLifeTimer = urand(10*IN_MILISECONDS,15*IN_MILISECONDS);
} else uiCurseOfLifeTimer -= diff;
if (uiShadowVolleyTimer < diff)
{
DoCastVictim(DUNGEON_MODE(SPELL_SHADOW_VOLLEY,H_SPELL_SHADOW_VOLLEY));
- uiShadowVolleyTimer = urand(8000,10000);
+ uiShadowVolleyTimer = urand(8*IN_MILISECONDS,10*IN_MILISECONDS);
} else uiShadowVolleyTimer -= diff;
if (uiRainOfFireTimer < diff)
{
DoCastAOE(DUNGEON_MODE(SPELL_RAIN_OF_FIRE,H_SPELL_RAIN_OF_FIRE));
- uiRainOfFireTimer = urand(14000,18000);
+ uiRainOfFireTimer = urand(14*IN_MILISECONDS,18*IN_MILISECONDS);
} else uiRainOfFireTimer -= diff;
if (uiPhaseTimer < diff)
{
DoCast(SPELL_DECAY_FLESH);
Phase = GOING_FLESH;
- uiPhaseTimer = 6000;
+ uiPhaseTimer = 6*IN_MILISECONDS;
} else uiPhaseTimer -= diff;
DoMeleeAttackIfReady();
@@ -176,10 +156,10 @@ struct boss_tharon_jaAI : public ScriptedAI
pTemp->SetDisplayId(MODEL_SKELETON);
}
}
- uiPhaseTimer = 20000;
- uiLightningBreathTimer = urand(3000,4000);
- uiEyeBeamTimer = urand(4000,8000);
- uiPoisonCloudTimer = urand(6000,7000);
+ uiPhaseTimer = 20*IN_MILISECONDS;
+ uiLightningBreathTimer = urand(3*IN_MILISECONDS,4*IN_MILISECONDS);
+ uiEyeBeamTimer = urand(4*IN_MILISECONDS,8*IN_MILISECONDS);
+ uiPoisonCloudTimer = urand(6*IN_MILISECONDS,7*IN_MILISECONDS);
Phase = FLESH;
} else uiPhaseTimer -= diff;
break;
@@ -188,27 +168,27 @@ struct boss_tharon_jaAI : public ScriptedAI
{
if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
DoCast(pTarget, DUNGEON_MODE(SPELL_LIGHTNING_BREATH, H_SPELL_LIGHTNING_BREATH));
- uiLightningBreathTimer = urand(6000,7000);
+ uiLightningBreathTimer = urand(6*IN_MILISECONDS,7*IN_MILISECONDS);
} else uiLightningBreathTimer -= diff;
if (uiEyeBeamTimer < diff)
{
if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
DoCast(pTarget, DUNGEON_MODE(SPELL_EYE_BEAM, H_SPELL_EYE_BEAM));
- uiEyeBeamTimer = urand(4000,6000);
+ uiEyeBeamTimer = urand(4*IN_MILISECONDS,6*IN_MILISECONDS);
} else uiEyeBeamTimer -= diff;
if (uiPoisonCloudTimer < diff)
{
DoCastAOE(DUNGEON_MODE(SPELL_POISON_CLOUD, H_SPELL_POISON_CLOUD));
- uiPoisonCloudTimer = urand(10000,12000);
+ uiPoisonCloudTimer = urand(10*IN_MILISECONDS,12*IN_MILISECONDS);
} else uiPoisonCloudTimer -= diff;
if (uiPhaseTimer < diff)
{
DoCast(SPELL_RETURN_FLESH);
Phase = GOING_SKELETAL;
- uiPhaseTimer = 6000;
+ uiPhaseTimer = 6*IN_MILISECONDS;
} else uiPhaseTimer -= diff;
DoMeleeAttackIfReady();
break;
@@ -218,10 +198,10 @@ struct boss_tharon_jaAI : public ScriptedAI
DoScriptText(RAND(SAY_SKELETON_1,SAY_SKELETON_2), m_creature);
m_creature->DeMorph();
Phase = SKELETAL;
- uiPhaseTimer = 20000;
- uiCurseOfLifeTimer = 1000;
- uiRainOfFireTimer = urand(14000,18000);
- uiShadowVolleyTimer = urand(8000,10000);
+ uiPhaseTimer = 20*IN_MILISECONDS;
+ uiCurseOfLifeTimer = 1*IN_MILISECONDS;
+ uiRainOfFireTimer = urand(14*IN_MILISECONDS,18*IN_MILISECONDS);
+ uiShadowVolleyTimer = urand(8*IN_MILISECONDS,10*IN_MILISECONDS);
std::list<HostileReference*>& threatlist = m_creature->getThreatManager().getThreatList();
for (std::list<HostileReference*>::iterator itr = threatlist.begin(); itr != threatlist.end(); ++itr)
{
diff --git a/src/scripts/northrend/draktharon_keep/boss_trollgore.cpp b/src/scripts/northrend/draktharon_keep/boss_trollgore.cpp
index f39919e52f9..e699ca084fa 100644
--- a/src/scripts/northrend/draktharon_keep/boss_trollgore.cpp
+++ b/src/scripts/northrend/draktharon_keep/boss_trollgore.cpp
@@ -16,48 +16,41 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-/* Script Data Start
-SDName: Boss trollgore
-SDAuthor: Tartalo
-SD%Complete:
-SDComment: TODO: spawn troll waves
-SDCategory:
-Script Data End */
-
-/*** SQL START ***
-update creature_template set scriptname = 'boss_trollgore' where entry = '';
-*** SQL END ***/
+/*
+ * Comment: TODO: spawn troll waves
+ */
+
#include "ScriptedPch.h"
#include "drak_tharon_keep.h"
enum Spells
{
- SPELL_INFECTED_WOUND = 49637,
- SPELL_CRUSH = 49639,
- SPELL_CORPSE_EXPLODE = 49555,
- SPELL_CONSUME = 49380,
- SPELL_CONSUME_AURA = 49381,
+ SPELL_INFECTED_WOUND = 49637,
+ SPELL_CRUSH = 49639,
+ SPELL_CORPSE_EXPLODE = 49555,
+ SPELL_CONSUME = 49380,
+ SPELL_CONSUME_AURA = 49381,
//Heroic spells
- H_SPELL_CORPSE_EXPLODE = 59807,
- H_SPELL_CONSUME = 59803,
- H_SPELL_CONSUME_AURA = 59805,
+ H_SPELL_CORPSE_EXPLODE = 59807,
+ H_SPELL_CONSUME = 59803,
+ H_SPELL_CONSUME_AURA = 59805,
};
enum Yells
{
- SAY_AGGRO = -1600006,
- SAY_KILL = -1600007,
- SAY_CONSUME = -1600008,
- SAY_EXPLODE = -1600009,
- SAY_DEATH = -1600010
+ SAY_AGGRO = -1600006,
+ SAY_KILL = -1600007,
+ SAY_CONSUME = -1600008,
+ SAY_EXPLODE = -1600009,
+ SAY_DEATH = -1600010
};
enum Achievements
{
- ACHIEV_CONSUMPTION_JUNCTION = 2151
+ ACHIEV_CONSUMPTION_JUNCTION = 2151
};
enum Creatures
{
- NPC_DRAKKARI_INVADER_1 = 27753,
- NPC_DRAKKARI_INVADER_2 = 27709
+ NPC_DRAKKARI_INVADER_1 = 27753,
+ NPC_DRAKKARI_INVADER_2 = 27709
};
Position AddSpawnPoint = { -260.493011, -622.968018, 26.605301, 3.036870 };
@@ -84,12 +77,12 @@ struct boss_trollgoreAI : public ScriptedAI
void Reset()
{
- uiConsumeTimer = 15000;
- uiAuraCountTimer = 15500;
- uiCrushTimer = urand(1000,5000);
- uiInfectedWoundTimer = urand(6000,10000);
- uiExplodeCorpseTimer = 3000;
- uiSpawnTimer = urand(30000,40000);
+ uiConsumeTimer = 15*IN_MILISECONDS;
+ uiAuraCountTimer = 15.5*IN_MILISECONDS;
+ uiCrushTimer = urand(1*IN_MILISECONDS,5*IN_MILISECONDS);
+ uiInfectedWoundTimer = urand(60*IN_MILISECONDS,10*IN_MILISECONDS);
+ uiExplodeCorpseTimer = 3*IN_MILISECONDS;
+ uiSpawnTimer = urand(30*IN_MILISECONDS,40*IN_MILISECONDS);
bAchiev = IsHeroic();
@@ -120,14 +113,14 @@ struct boss_trollgoreAI : public ScriptedAI
uint32 spawnNumber = urand(2,DUNGEON_MODE(3,5));
for (uint8 i = 0; i < spawnNumber; ++i)
DoSummon(RAND(NPC_DRAKKARI_INVADER_1,NPC_DRAKKARI_INVADER_2), AddSpawnPoint, 0, TEMPSUMMON_DEAD_DESPAWN);
- uiSpawnTimer = urand(30000,40000);
+ uiSpawnTimer = urand(30*IN_MILISECONDS,40*IN_MILISECONDS);
} else uiSpawnTimer -= diff;
if (uiConsumeTimer <= diff)
{
DoScriptText(SAY_CONSUME, m_creature);
DoCast(DUNGEON_MODE(SPELL_CONSUME, H_SPELL_CONSUME));
- uiConsumeTimer = 15000;
+ uiConsumeTimer = 15*IN_MILISECONDS;
} else uiConsumeTimer -= diff;
if (bAchiev)
@@ -140,20 +133,20 @@ struct boss_trollgoreAI : public ScriptedAI
if (uiCrushTimer <= diff)
{
DoCastVictim(SPELL_CRUSH);
- uiCrushTimer = urand(10000,15000);
+ uiCrushTimer = urand(10*IN_MILISECONDS,15*IN_MILISECONDS);
} else uiCrushTimer -= diff;
if (uiInfectedWoundTimer <= diff)
{
DoCastVictim(SPELL_INFECTED_WOUND);
- uiInfectedWoundTimer = urand(25000,35000);
+ uiInfectedWoundTimer = urand(25*IN_MILISECONDS,35*IN_MILISECONDS);
} else uiInfectedWoundTimer -= diff;
if (uiExplodeCorpseTimer <= diff)
{
DoCast(DUNGEON_MODE(SPELL_CORPSE_EXPLODE, H_SPELL_CORPSE_EXPLODE));
DoScriptText(SAY_EXPLODE, m_creature);
- uiExplodeCorpseTimer = urand(15000,19000);
+ uiExplodeCorpseTimer = urand(15*IN_MILISECONDS,19*IN_MILISECONDS);
} else uiExplodeCorpseTimer -= diff;
DoMeleeAttackIfReady();
diff --git a/src/scripts/northrend/draktharon_keep/instance_drak_tharon_keep.cpp b/src/scripts/northrend/draktharon_keep/instance_drak_tharon_keep.cpp
index 16dc14bd815..8a5f663908e 100644
--- a/src/scripts/northrend/draktharon_keep/instance_drak_tharon_keep.cpp
+++ b/src/scripts/northrend/draktharon_keep/instance_drak_tharon_keep.cpp
@@ -30,17 +30,17 @@
enum Creatures
{
- NPC_TROLLGORE = 26630,
- NPC_NOVOS = 26631,
- NPC_KING_DRED = 27483,
- NPC_THARON_JA = 26632
+ NPC_TROLLGORE = 26630,
+ NPC_NOVOS = 26631,
+ NPC_KING_DRED = 27483,
+ NPC_THARON_JA = 26632
};
enum GameObjects
{
- GO_NOVOS_CRYSTAL_1 = 189299,
- GO_NOVOS_CRYSTAL_2 = 189300,
- GO_NOVOS_CRYSTAL_3 = 189301,
- GO_NOVOS_CRYSTAL_4 = 189302
+ GO_NOVOS_CRYSTAL_1 = 189299,
+ GO_NOVOS_CRYSTAL_2 = 189300,
+ GO_NOVOS_CRYSTAL_3 = 189301,
+ GO_NOVOS_CRYSTAL_4 = 189302
};
struct instance_drak_tharon : public ScriptedInstance