aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortartalo <none@none>2009-10-20 20:42:28 +0200
committertartalo <none@none>2009-10-20 20:42:28 +0200
commitd9a4dfa6e9924cbf6e2b7b5bde05056202811df1 (patch)
tree2b6caba296dc5b16d2956af1828c8ccbf74fca19 /src
parent4654e9e446ed7e939d3ea97cc6f3d4fad17c1c25 (diff)
Ruins of Ahn'Qiraj: Kurinnax script & add forgotten instance script function
--HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/bindings/scripts/scripts/kalimdor/ruins_of_ahnqiraj/boss_kurinnaxx.cpp38
-rw-r--r--src/bindings/scripts/scripts/kalimdor/ruins_of_ahnqiraj/instance_ruins_of_ahnqiraj.cpp8
2 files changed, 41 insertions, 5 deletions
diff --git a/src/bindings/scripts/scripts/kalimdor/ruins_of_ahnqiraj/boss_kurinnaxx.cpp b/src/bindings/scripts/scripts/kalimdor/ruins_of_ahnqiraj/boss_kurinnaxx.cpp
index 834a6aeb515..722f02ec7f3 100644
--- a/src/bindings/scripts/scripts/kalimdor/ruins_of_ahnqiraj/boss_kurinnaxx.cpp
+++ b/src/bindings/scripts/scripts/kalimdor/ruins_of_ahnqiraj/boss_kurinnaxx.cpp
@@ -43,6 +43,9 @@ struct TRINITY_DLL_DECL boss_kurinnaxxAI : public ScriptedAI
uint32 uiMortalWoundTimer;
uint32 uiSandtrapTimer;
+ uint32 uiWideSlashTimer;
+ uint32 uiSummonPlayerTimer;
+ uint32 uiTrashTimer;
bool bIsEnraged;
ScriptedInstance* pInstance;
@@ -51,7 +54,10 @@ struct TRINITY_DLL_DECL boss_kurinnaxxAI : public ScriptedAI
{
bIsEnraged = false;
uiMortalWoundTimer = urand(2000,7000);
- uiSandtrapTimer = 30000;
+ uiSandtrapTimer = urand(20000,30000);
+ uiWideSlashTimer = urand(10000,15000);
+ uiTrashTimer = urand(20000,25000);
+ uiSummonPlayerTimer = urand(30000,40000);
if (pInstance)
pInstance->SetData(DATA_KURINNAXX_EVENT, NOT_STARTED);
@@ -81,20 +87,42 @@ struct TRINITY_DLL_DECL boss_kurinnaxxAI : public ScriptedAI
DoCast(m_creature,SPELL_ENRAGE);
}
- //uiMortalWoundTimer
+ //Mortal Wound spell
if (uiMortalWoundTimer < diff)
{
DoCast(m_creature->getVictim(),SPELL_MORTALWOUND);
uiMortalWoundTimer = urand(2000,7000);;
- }else uiMortalWoundTimer -= diff;
+ } else uiMortalWoundTimer -= diff;
- //uiSandtrapTimer
+ //Santrap spell
if (uiSandtrapTimer < diff)
{
if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
DoCast(pTarget,SPELL_SANDTRAP);
uiSandtrapTimer = 30000;
- }else uiSandtrapTimer -= diff;
+ } else uiSandtrapTimer -= diff;
+
+ //Wide Slash spell
+ if (uiWideSlashTimer < diff)
+ {
+ DoCast(m_creature->getVictim(),SPELL_WIDE_SLASH);
+ uiWideSlashTimer = urand(10000,15000);
+ } else uiWideSlashTimer -= diff;
+
+ //Trash spell
+ if (uiTrashTimer < diff)
+ {
+ DoCast(m_creature, SPELL_TRASH);
+ uiTrashTimer = urand(20000,25000);
+ } else uiTrashTimer -= diff;
+
+ //Summon Player spell
+ if (uiSummonPlayerTimer < diff)
+ {
+ if (Unit* pTarget = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
+ DoCast(pTarget,SPELL_SUMMON_PLAYER);
+ uiSummonPlayerTimer = urand(30000,40000);
+ } else uiSummonPlayerTimer -= diff;
DoMeleeAttackIfReady();
}
diff --git a/src/bindings/scripts/scripts/kalimdor/ruins_of_ahnqiraj/instance_ruins_of_ahnqiraj.cpp b/src/bindings/scripts/scripts/kalimdor/ruins_of_ahnqiraj/instance_ruins_of_ahnqiraj.cpp
index 3e9c0197629..68ff1ff1ee2 100644
--- a/src/bindings/scripts/scripts/kalimdor/ruins_of_ahnqiraj/instance_ruins_of_ahnqiraj.cpp
+++ b/src/bindings/scripts/scripts/kalimdor/ruins_of_ahnqiraj/instance_ruins_of_ahnqiraj.cpp
@@ -59,6 +59,14 @@ struct TRINITY_DLL_DECL instance_ruins_of_ahn_qiraj : public ScriptedInstance
uiOssirian = 0;
}
+ bool IsEncounterInProgress() const
+ {
+ for (uint8 i = 0; i < MAX_ENCOUNTER; ++i)
+ if (m_auiEncounter[i] == IN_PROGRESS) return true;
+
+ return false;
+ }
+
void OnCreatureCreate(Creature* pCreature, bool add)
{
switch (pCreature->GetEntry())