aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bindings/scripts/scripts/zone/scarlet_monastery/boss_high_inquisitor_fairbanks.cpp114
-rw-r--r--src/bindings/scripts/scripts/zone/scarlet_monastery/boss_houndmaster_loksey.cpp23
-rw-r--r--src/bindings/scripts/scripts/zone/stratholme/boss_dathrohan_balnazzar.cpp42
-rw-r--r--src/bindings/scripts/scripts/zone/zulaman/boss_janalai.cpp61
4 files changed, 117 insertions, 123 deletions
diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_high_inquisitor_fairbanks.cpp b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_high_inquisitor_fairbanks.cpp
index d477483b125..12f2a66e885 100644
--- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_high_inquisitor_fairbanks.cpp
+++ b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_high_inquisitor_fairbanks.cpp
@@ -15,44 +15,45 @@
*/
/* ScriptData
-SDName: Boss_High_Inquisitor_Faribanks
+SDName: Boss_High_Inquisitor_Fairbanks
SD%Complete: 100
-SDComment:
+SDComment: TODO: if this guy not involved in some special event, remove (and let ACID script)
SDCategory: Scarlet Monastery
EndScriptData */
#include "precompiled.h"
-#define SPELL_SLEEP2 1090
-#define SPELL_CURSEOFBLOOD 16098
-#define SPELL_SMITE 6060
-#define SPELL_SHADOWWORDPAIN 2767
-#define SPELL_FLASHHEAL4 9474
-#define SPELL_RENEW6 6078
-#define SPELL_DEVOURINGPLAGUE3 19277
-#define SPELL_MINDBLAST5 8105
+enum
+{
+ SPELL_CURSEOFBLOOD = 8282,
+ SPELL_DISPELMAGIC = 15090,
+ SPELL_FEAR = 12096,
+ SPELL_HEAL = 12039,
+ SPELL_POWERWORDSHIELD = 11647,
+ SPELL_SLEEP = 8399
+};
struct TRINITY_DLL_DECL boss_high_inquisitor_fairbanksAI : public ScriptedAI
{
boss_high_inquisitor_fairbanksAI(Creature *c) : ScriptedAI(c) {}
- uint32 Healing_Timer;
- uint32 Sleep2_Timer;
- uint32 Smite_Timer;
- uint32 ShadowWordPain_Timer;
uint32 CurseOfBlood_Timer;
- uint32 DevouringPlague3_Timer;
- uint32 MindBlast5_Timer;
+ uint32 DispelMagic_Timer;
+ uint32 Fear_Timer;
+ uint32 Heal_Timer;
+ uint32 Sleep_Timer;
+ uint32 Dispel_Timer;
+ bool PowerWordShield;
void Reset()
{
- Healing_Timer = 300;
- Sleep2_Timer = 45000;
- Smite_Timer = 30000;
- ShadowWordPain_Timer = 30000;
- CurseOfBlood_Timer = 45000;
- DevouringPlague3_Timer = 60000;
- MindBlast5_Timer = 20000;
+ CurseOfBlood_Timer = 10000;
+ DispelMagic_Timer = 30000;
+ Fear_Timer = 40000;
+ Heal_Timer = 30000;
+ Sleep_Timer = 30000;
+ Dispel_Timer = 20000;
+ PowerWordShield = false;
}
void EnterCombat(Unit *who)
@@ -64,33 +65,46 @@ struct TRINITY_DLL_DECL boss_high_inquisitor_fairbanksAI : public ScriptedAI
if (!UpdateVictim())
return;
- //If we are <45% hp cast Renew rank 6 or Flash heal rank 4
- if ( m_creature->GetHealth()*100 / m_creature->GetMaxHealth() <= 45 && !m_creature->IsNonMeleeSpellCasted(false) && Healing_Timer < diff)
+ //If we are <25% hp cast Heal
+ if (m_creature->GetHealth()*100 / m_creature->GetMaxHealth() <= 25 && !m_creature->IsNonMeleeSpellCasted(false) && Heal_Timer < diff)
+ {
+ DoCast(m_creature,SPELL_HEAL);
+ Heal_Timer = 30000;
+ }else Heal_Timer -= diff;
+
+ //Fear_Timer
+ if (Fear_Timer < diff)
{
- DoCast(m_creature->getVictim(),SPELL_RENEW6 || SPELL_FLASHHEAL4);
- Healing_Timer = 30000;
- }else Healing_Timer -= diff;
+ if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM,1))
+ DoCast(target,SPELL_FEAR);
+
+ Fear_Timer = 40000;
+ }else Fear_Timer -= diff;
- //Sleep2_Timer
- if (Sleep2_Timer < diff)
+ //Sleep_Timer
+ if (Sleep_Timer < diff)
{
- DoCast(m_creature->getVictim(),SPELL_SLEEP2);
- Sleep2_Timer = 45000;
- }else Sleep2_Timer -= diff;
+ if (Unit* target = SelectUnit(SELECT_TARGET_TOPAGGRO,0))
+ DoCast(target,SPELL_SLEEP);
+
+ Sleep_Timer = 30000;
+ }else Sleep_Timer -= diff;
- //Smite_Timer
- if (Smite_Timer < diff)
+ //PowerWordShield_Timer
+ if (!PowerWordShield && m_creature->GetHealth()*100 / m_creature->GetMaxHealth() <= 25)
{
- DoCast(m_creature->getVictim(),SPELL_SMITE);
- Smite_Timer = 20000;
- }else Smite_Timer -= diff;
+ DoCast(m_creature,SPELL_POWERWORDSHIELD);
+ PowerWordShield = true;
+ }
- //ShadowWordPain_Timer
- if (ShadowWordPain_Timer < diff)
+ //Dispel_Timer
+ if (Dispel_Timer < diff)
{
- DoCast(m_creature->getVictim(),SPELL_SHADOWWORDPAIN);
- ShadowWordPain_Timer = 30000;
- }else ShadowWordPain_Timer -= diff;
+ if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM,0))
+ DoCast(target, SPELL_DISPELMAGIC);
+
+ DispelMagic_Timer = 30000;
+ }else DispelMagic_Timer -= diff;
//CurseOfBlood_Timer
if (CurseOfBlood_Timer < diff)
@@ -99,20 +113,6 @@ struct TRINITY_DLL_DECL boss_high_inquisitor_fairbanksAI : public ScriptedAI
CurseOfBlood_Timer = 25000;
}else CurseOfBlood_Timer -= diff;
- //DevouringPlague3_Timer
- if (DevouringPlague3_Timer < diff)
- {
- DoCast(m_creature->getVictim(),SPELL_DEVOURINGPLAGUE3);
- DevouringPlague3_Timer = 35000;
- }else DevouringPlague3_Timer -= diff;
-
- //MindBlast5_Timer
- if (MindBlast5_Timer < diff)
- {
- DoCast(m_creature->getVictim(),SPELL_MINDBLAST5);
- MindBlast5_Timer = 30000;
- }else MindBlast5_Timer -= diff;
-
DoMeleeAttackIfReady();
}
};
diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_houndmaster_loksey.cpp b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_houndmaster_loksey.cpp
index 370ed9aedc8..641432604af 100644
--- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_houndmaster_loksey.cpp
+++ b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_houndmaster_loksey.cpp
@@ -23,20 +23,22 @@ EndScriptData */
#include "precompiled.h"
-#define SAY_AGGRO -1189021
-
-#define SPELL_SUMMONSCARLETHOUND 17164
-#define SPELL_ENRAGE 6742
+enum
+{
+ SAY_AGGRO = -1189021,
+ SPELL_SUMMONSCARLETHOUND = 17164,
+ SPELL_BLOODLUST = 6742
+};
struct TRINITY_DLL_DECL boss_houndmaster_lokseyAI : public ScriptedAI
{
boss_houndmaster_lokseyAI(Creature *c) : ScriptedAI(c) {}
- uint32 Enrage_Timer;
+ uint32 BloodLust_Timer;
void Reset()
{
- Enrage_Timer = 0;
+ BloodLust_Timer = 20000;
}
void EnterCombat(Unit *who)
@@ -49,12 +51,11 @@ struct TRINITY_DLL_DECL boss_houndmaster_lokseyAI : public ScriptedAI
if (!UpdateVictim())
return;
- //If we are <25% hp, bloodlust
- if (m_creature->GetHealth()*100 / m_creature->GetMaxHealth() <= 25 && Enrage_Timer < diff)
+ if (BloodLust_Timer < diff)
{
- DoCast(m_creature,SPELL_ENRAGE);
- Enrage_Timer = 60000;
- }else Enrage_Timer -= diff;
+ DoCast(m_creature,SPELL_BLOODLUST);
+ BloodLust_Timer = 20000;
+ }else BloodLust_Timer -= diff;
DoMeleeAttackIfReady();
}
diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_dathrohan_balnazzar.cpp b/src/bindings/scripts/scripts/zone/stratholme/boss_dathrohan_balnazzar.cpp
index 411df116e6c..1942b99f056 100644
--- a/src/bindings/scripts/scripts/zone/stratholme/boss_dathrohan_balnazzar.cpp
+++ b/src/bindings/scripts/scripts/zone/stratholme/boss_dathrohan_balnazzar.cpp
@@ -15,9 +15,9 @@
*/
/* ScriptData
-SDName: boss_darhrohan_balnazzar
-SD%Complete: 75
-SDComment: Fix timers, fix spells, possibly fix summons after death
+SDName: Boss_Dathrohan_Balnazzar
+SD%Complete: 95
+SDComment: Possibly need to fix/improve summons after death
SDCategory: Stratholme
EndScriptData */
@@ -28,17 +28,16 @@ enum
//Dathrohan spells
SPELL_CRUSADERSHAMMER = 17286, //AOE stun
SPELL_CRUSADERSTRIKE = 17281,
- SPELL_MINDBLAST = 17287,
SPELL_HOLYSTRIKE = 17284, //weapon dmg +3
//Transform
SPELL_BALNAZZARTRANSFORM = 17288, //restore full HP/mana, trigger spell Balnazzar Transform Stun
//Balnazzar spells
- SPELL_SHADOWSHOCK = 20603, //AOE 740-860dmg
- SPELL_PSYCHICSCREAM = 15398, //One target, might want to make a code selecting random target
+ SPELL_SHADOWSHOCK = 17399,
+ SPELL_MINDBLAST = 17287,
+ SPELL_PSYCHICSCREAM = 13704,
SPELL_SLEEP = 12098,
- SPELL_SHADOWBOLTVOLLEY = 20741, //AOE, 255-345dmg
SPELL_MINDCONTROL = 15690,
NPC_DATHROHAN = 10812,
@@ -75,20 +74,18 @@ struct TRINITY_DLL_DECL boss_dathrohan_balnazzarAI : public ScriptedAI
uint32 m_uiShadowShock_Timer;
uint32 m_uiPsychicScream_Timer;
uint32 m_uiDeepSleep_Timer;
- uint32 m_uiShadowBoltVolley_Timer;
uint32 m_uiMindControl_Timer;
bool m_bTransformed;
void Reset()
{
m_uiCrusadersHammer_Timer = 8000;
- m_uiCrusaderStrike_Timer = 14000;
- m_uiMindBlast_Timer = 17000;
+ m_uiCrusaderStrike_Timer = 12000;
+ m_uiMindBlast_Timer = 6000;
m_uiHolyStrike_Timer = 18000;
m_uiShadowShock_Timer = 4000;
m_uiPsychicScream_Timer = 16000;
m_uiDeepSleep_Timer = 20000;
- m_uiShadowBoltVolley_Timer = 9000;
m_uiMindControl_Timer = 10000;
m_bTransformed = false;
@@ -118,6 +115,13 @@ struct TRINITY_DLL_DECL boss_dathrohan_balnazzarAI : public ScriptedAI
//START NOT TRANSFORMED
if (!m_bTransformed)
{
+ //MindBlast
+ if (m_uiMindBlast_Timer < uiDiff)
+ {
+ DoCast(m_creature->getVictim(),SPELL_MINDBLAST);
+ m_uiMindBlast_Timer = 15000 + rand()%5000;
+ }else m_uiMindBlast_Timer -= uiDiff;
+
//CrusadersHammer
if (m_uiCrusadersHammer_Timer < uiDiff)
{
@@ -132,13 +136,6 @@ struct TRINITY_DLL_DECL boss_dathrohan_balnazzarAI : public ScriptedAI
m_uiCrusaderStrike_Timer = 15000;
}else m_uiCrusaderStrike_Timer -= uiDiff;
- //MindBlast
- if (m_uiMindBlast_Timer < uiDiff)
- {
- DoCast(m_creature->getVictim(),SPELL_MINDBLAST);
- m_uiMindBlast_Timer = 10000;
- }else m_uiMindBlast_Timer -= uiDiff;
-
//HolyStrike
if (m_uiHolyStrike_Timer < uiDiff)
{
@@ -164,7 +161,7 @@ struct TRINITY_DLL_DECL boss_dathrohan_balnazzarAI : public ScriptedAI
if (m_uiMindBlast_Timer < uiDiff)
{
DoCast(m_creature->getVictim(),SPELL_MINDBLAST);
- m_uiMindBlast_Timer = 10000;
+ m_uiMindBlast_Timer = 15000 + rand()%5000;
}else m_uiMindBlast_Timer -= uiDiff;
//ShadowShock
@@ -192,13 +189,6 @@ struct TRINITY_DLL_DECL boss_dathrohan_balnazzarAI : public ScriptedAI
m_uiDeepSleep_Timer = 15000;
}else m_uiDeepSleep_Timer -= uiDiff;
- //ShadowBoltVolley
- if (m_uiShadowBoltVolley_Timer < uiDiff)
- {
- DoCast(m_creature->getVictim(),SPELL_SHADOWBOLTVOLLEY);
- m_uiShadowBoltVolley_Timer = 13000;
- }else m_uiShadowBoltVolley_Timer -= uiDiff;
-
//MindControl
if (m_uiMindControl_Timer < uiDiff)
{
diff --git a/src/bindings/scripts/scripts/zone/zulaman/boss_janalai.cpp b/src/bindings/scripts/scripts/zone/zulaman/boss_janalai.cpp
index 926a751c7cd..36b915539c9 100644
--- a/src/bindings/scripts/scripts/zone/zulaman/boss_janalai.cpp
+++ b/src/bindings/scripts/scripts/zone/zulaman/boss_janalai.cpp
@@ -25,43 +25,46 @@ EndScriptData */
#include "def_zulaman.h"
#include "GridNotifiers.h"
-#define SAY_AGGRO -1568000
-#define SAY_FIRE_BOMBS -1568001
-#define SAY_SUMMON_HATCHER -1568002
-#define SAY_ALL_EGGS -1568003
-#define SAY_BERSERK -1568004
-#define SAY_SLAY_1 -1568005
-#define SAY_SLAY_2 -1568006
-#define SAY_DEATH -1568007
-#define SAY_EVENT_STRANGERS -1568008
-#define SAY_EVENT_FRIENDS -1568009
+enum
+{
+ SAY_AGGRO = -1568000,
+ SAY_FIRE_BOMBS = -1568001,
+ SAY_SUMMON_HATCHER = -1568002,
+ SAY_ALL_EGGS = -1568003,
+ SAY_BERSERK = -1568004,
+ SAY_SLAY_1 = -1568005,
+ SAY_SLAY_2 = -1568006,
+ SAY_DEATH = -1568007,
+ SAY_EVENT_STRANGERS = -1568008,
+ SAY_EVENT_FRIENDS = -1568009,
// Jan'alai
-// --Spell
-#define SPELL_FLAME_BREATH 43140
-#define SPELL_FIRE_WALL 43113
-#define SPELL_ENRAGE 44779
-#define SPELL_SUMMON_PLAYERS 43097
-#define SPELL_TELE_TO_CENTER 43098 // coord
-#define SPELL_HATCH_ALL 43144
-#define SPELL_BERSERK 45078
+ SPELL_FLAME_BREATH = 43140,
+ SPELL_FIRE_WALL = 43113,
+ SPELL_ENRAGE = 44779,
+ SPELL_SUMMON_PLAYERS = 43097,
+ SPELL_TELE_TO_CENTER = 43098, // coord
+ SPELL_HATCH_ALL = 43144,
+ SPELL_BERSERK = 45078,
+
// -- Fire Bob Spells
-#define SPELL_FIRE_BOMB_CHANNEL 42621 // last forever
-#define SPELL_FIRE_BOMB_THROW 42628 // throw visual
-#define SPELL_FIRE_BOMB_DUMMY 42629 // bomb visual
-#define SPELL_FIRE_BOMB_DAMAGE 42630
+ SPELL_FIRE_BOMB_CHANNEL = 42621, // last forever
+ SPELL_FIRE_BOMB_THROW = 42628, // throw visual
+ SPELL_FIRE_BOMB_DUMMY = 42629, // bomb visual
+ SPELL_FIRE_BOMB_DAMAGE = 42630,
// --Summons
-#define MOB_AMANI_HATCHER 23818
-#define MOB_HATCHLING 23598 // 42493
-#define MOB_EGG 23817
-#define MOB_FIRE_BOMB 23920
+ MOB_AMANI_HATCHER = 23818,
+ MOB_HATCHLING = 23598, // 42493
+ MOB_EGG = 23817,
+ MOB_FIRE_BOMB = 23920,
// -- Hatcher Spells
-#define SPELL_HATCH_EGG 43734 // 42471
+ SPELL_HATCH_EGG = 43734, // 42471
// -- Hatchling Spells
-#define SPELL_FLAMEBUFFET 43299
+ SPELL_FLAMEBUFFET = 43299
+};
const int area_dx = 44;
const int area_dy = 51;
@@ -139,7 +142,7 @@ struct TRINITY_DLL_DECL boss_janalaiAI : public ScriptedAI
BombSequenceTimer = 1000;
BombCount = 0;
HatcherTimer = 10000;
- EnrageTimer = 300000;
+ EnrageTimer = MINUTE*5*IN_MILISECONDS;
ResetTimer = 5000;
noeggs = false;